| 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 : |
<?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()
{
}
}