AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.112
Web Server : Apache
System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : coopiak ( 151928)
PHP Version : 8.3.23
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/coopiak/amisdesseniors-fr/montpellier/libraries/kunena/src/Model/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/montpellier/libraries/kunena/src/Model/KunenaModel.php
<?php

/**
 * Kunena Component
 *
 * @package        Kunena.Framework
 *
 * @copyright      Copyright (C) 2008 - @currentyear@ Kunena Team. All rights reserved.
 * @license        https://www.gnu.org/copyleft/gpl.html GNU/GPL
 * @link           https://www.kunena.org
 **/

namespace Kunena\Forum\Libraries\Model;

\defined('_JEXEC') or die();

use Joomla\CMS\Component\ComponentHelper;
use Joomla\CMS\Factory;
use Joomla\CMS\Filter\InputFilter;
use Joomla\CMS\MVC\Factory\MVCFactoryInterface;
use Joomla\CMS\MVC\Model\BaseDatabaseModel;
use Joomla\CMS\Object\CMSObject;
use Joomla\Input\Input;
use Joomla\Registry\Registry;
use Kunena\Forum\Libraries\Config\KunenaConfig;
use Kunena\Forum\Libraries\Factory\KunenaFactory;
use Kunena\Forum\Libraries\User\KunenaUser;
use Kunena\Forum\Libraries\User\KunenaUserHelper;

/**
 * Model for Kunena
 *
 * @since   Kunena 2.0
 */
class KunenaModel extends BaseDatabaseModel
{
    /**
     * @var     object JSite|JAdministrator
     * @since   Kunena 6.0
     */
    public $app = null;

    /**
     * @var     KunenaUser
     * @since   Kunena 6.0
     */
    public $me = null;

    /**
     * @var     KunenaConfig
     * @since   Kunena 6.0
     */
    public $config = null;

    /**
     * @var     object Registry
     * @since   Kunena 6.0
     */
    public $params = [];

    /**
     * @var     Input
     * @since   Kunena 6.0
     */
    protected $input = null;

    /**
     * @var     InputFilter
     * @since   Kunena 6.0
     */
    protected $filter = null;

    /**
     * @var     CMSObject
     * @since   Kunena 6.0
     */
    protected $state = null;

    /**
     * @var     boolean
     * @since   Kunena 6.0
     */
    protected $embedded = false;

    /**
     * @param   array                                             $config   config
     * @param   \Joomla\CMS\MVC\Factory\MVCFactoryInterface|null  $factory  factory
     *
     * @throws \Exception
     * @since   Kunena 6.0
     */
    public function __construct($config = [], ?MVCFactoryInterface $factory = null)
    {
        $this->option = 'com_kunena';
        parent::__construct($config, $factory);

        $this->app    = Factory::getApplication();
        $this->me     = KunenaUserHelper::getMyself();
        $this->config = KunenaFactory::getConfig();
        $this->input  = $this->app->input;
    }

    /**
     * @param   array  $params    params
     * @param   bool   $embedded  embedded
     *
     * @return  void
     *
     * @since   Kunena 6.0
     */
    public function initialize($params = [], $embedded = true): void
    {
        if ($embedded) {
            $this->embedded = true;
            $this->setState('embedded', true);
            $this->filter = InputFilter::getInstance();
        }

        if ($params instanceof Registry) {
            $this->params = $params;
        } else {
            $this->params = new Registry($params);
        }
    }

    /**
     * @return  integer
     *
     * @since   Kunena 6.0
     */
    public function getItemid(): int
    {
        $Itemid = 0;

        if (!$this->embedded) {
            $active = $this->app->getMenu()->getActive();
            $Itemid = $active ? (int) $active->id : 0;
        }

        return $Itemid;
    }

    /**
     * Escapes a value for output in a view script.
     *
     * @param   mixed  $var  The output to escape.
     *
     * @return  string The escaped value.
     *
     * @since   Kunena 6.0
     */
    public function escape($var)
    {
        return htmlspecialchars($var, ENT_COMPAT, 'UTF-8');
    }

    /**
     * @return  Registry
     *
     * @since   Kunena 6.0
     */
    protected function getParameters()
    {
        if (!$this->params) {
            $this->params = ComponentHelper::getParams('com_kunena');
        }

        return $this->params;
    }

    /**
     * @param   string  $key      key
     * @param   string  $request  request
     * @param   null    $default  default
     * @param   string  $type     type
     *
     * @return  mixed|object
     *
     * @since   Kunena 6.0
     */
    protected function getUserStateFromRequest(string $key, string $request, $default = null, $type = 'none')
    {
        // If we are not in embedded mode, get variable from application
        if (!$this->embedded) {
            return $this->app->getUserStateFromRequest($key, $request, $default, $type);
        }

        // Embedded models/views do not have user state -- all variables come from parameters
        return $this->getVar($request, $default, 'request', $type);
    }

    /**
     * @param   string  $name     name
     * @param   null    $default  default
     * @param   string  $hash     hash
     * @param   string  $type     type
     *
     * @return  mixed
     *
     * @since   Kunena 6.0
     */
    protected function getVar(string $name, $default = null, $hash = 'request', $type = 'none')
    {
        // If we are not in embedded mode, get variable from request
        if (!$this->embedded) {
            if ($hash == 'request') {
                return $this->input->get($name, $default, $type);
            }

            return $this->input->{$hash}->get($name, $default, $type);
        }

        return $this->filter->clean($this->params->get($name, $default), $type);
    }

    /**
     * @param   string  $name     name
     * @param   bool    $default  default
     * @param   string  $hash     hash
     *
     * @return  mixed
     *
     * @since   Kunena 6.0
     */
    protected function getBool(string $name, $default = false, $hash = 'request')
    {
        return $this->getVar($name, $default, $hash, 'bool');
    }

    /**
     * @param   string  $name     name
     * @param   string  $default  default
     * @param   string  $hash     hash
     *
     * @return  mixed
     *
     * @since   Kunena 6.0
     */
    protected function getCmd(string $name, $default = '', $hash = 'request')
    {
        return $this->getVar($name, $default, $hash, 'cmd');
    }

    /**
     * @param   string  $name     name
     * @param   float   $default  default
     * @param   string  $hash     hash
     *
     * @return  mixed
     *
     * @since   Kunena 6.0
     */
    protected function getFloat(string $name, $default = 0.0, $hash = 'request')
    {
        return $this->getVar($name, $default, $hash, 'float');
    }

    /**
     * @param   string  $name     name
     * @param   int     $default  default
     * @param   string  $hash     hash
     *
     * @return  mixed
     *
     * @since   Kunena 6.0
     */
    protected function getInt(string $name, $default = 0, $hash = 'request')
    {
        return $this->getVar($name, $default, $hash, 'int');
    }

    /**
     * @param   string  $name     name
     * @param   string  $default  default
     * @param   string  $hash     hash
     *
     * @return  mixed
     *
     * @since   Kunena 6.0
     */
    protected function getString(string $name, $default = '', $hash = 'request')
    {
        return $this->getVar($name, $default, $hash, 'string');
    }

    /**
     * @param   string  $name     name
     * @param   string  $default  default
     * @param   string  $hash     hash
     *
     * @return  mixed
     *
     * @since   Kunena 6.0
     */
    protected function getWord(string $name, $default = '', $hash = 'request')
    {
        return $this->getVar($name, $default, $hash, 'word');
    }
}

Anon7 - 2022
AnonSec Team