| 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 JLexReviewModelBlackList extends JModelLegacy
{
public $limitstart = 0;
public $limit = 20;
public $total = 0;
public $q = "";
public $mt = "";
public $sort = "b.created DESC";
public function getBlacklist()
{
$app = JFactory::getApplication ();
$query = $this->_db->getQuery(true);
$query->select("SQL_CALC_FOUND_ROWS b.*,u.username")
->from("#__jlexreview_blacklist AS b")
->leftJoin("#__users AS u ON b.userid=u.id")
->order($this->sort);
// filter
$wClauses = array();
if($this->q!="")
{
$s = $this->_db->quote("%".$this->q."%");
$wClauses[] = "(u.username LIKE {$s} OR b.ip_address LIKE {$s})";
}
if($this->mt=="user"){
$wClauses[] = "b.userid>0";
} elseif($this->mt=="ip_address") {
$wClauses[] = "b.userid=0";
}
if(count($wClauses)) $query->where($wClauses);
$items = $this->_db->setQuery($query, $this->limitstart, $this->limit)->loadObjectList();
$this->total = (int) $this->_db->setQuery( "SELECT FOUND_ROWS()")->loadResult();
if(!$items) return null;
foreach($items as $k=>$item)
{
$items[$k]->jprofile = JUri::base(true) . "/index.php?option=com_users&task=user.edit&id=" . $item->userid;
$items[$k]->url2edit = JUri::base(true) . "/index.php?option=com_jlexreview&view=blacklist&layout=form&id=" . $item->id;
$items[$k]->created = JHtml::date($item->created, $this->_db->getDateFormat());
}
return $items;
}
public function getPagaNav()
{
jimport("joomla.html.pagination");
return new JPagination($this->total, $this->limitstart, $this->limit);
}
public function getForm()
{
$path = dirname (__FILE__)."/forms/blacklist.xml";
$form = JForm::getInstance("jreview_blacklist", $path, array('control' => 'jform'));
$form->addFieldPath(dirname(__FILE__) . "/fields");
$form->addRulePath(dirname(__FILE__) . "/rules");
return $form;
}
public function getItem($id)
{
$query = $this->_db->getQuery(true);
$query->select("*, method AS mt")
->from("#__jlexreview_blacklist")
->where("id=" . $id);
$item = $this->_db->setQuery($query)->loadObject();
return $item;
}
public function save()
{
$app = JFactory::getApplication();
$data = $app->input->get("jform", null, "array");
$form = $this->getForm();
// adjust form
if(@$data["mt"]==1)
{
$form->setFieldAttribute("user", "required", "true");
} else {
$form->setFieldAttribute("ip_address", "required", "true");
}
$form->bind($data);
$data = $form->filter($data);
$return = $form->validate($data);
if($return===false)
{
// Get the validation messages.
$errors = $form->getErrors();
foreach ($errors as $error)
{
if($error instanceof Exception)
{
$this->setError($error->getMessage());
} else {
$this->setError($error);
}
}
return false;
}
$data["method"] = @$data["mt"];
$row = $this->getTable("blacklist", "TableJR");
if(preg_match("/^[1-9][0-9]*$/", @$data["id"])) $row->load($data["id"]);
// check if this value is exist
$query = $this->_db->getQuery(true);
$query->select("COUNT(*)")
->from("#__jlexreview_blacklist");
if($data["method"]==1){
$query->where(array(
"method=1",
"userid=".$this->_db->quote($data["userid"])
));
} else {
$query->where(array(
"method=0",
"ip_address=".$this->_db->quote($data["ip_address"])
));
}
if($row->id>0) $query->where("id!=".$this->_db->quote($row->id));
$found = $this->_db->setQuery($query)->loadResult();
if($found>0)
{
$this->setError("This value already exists. Try again with another parameter.");
return false;
}
$row->bind($data);
if(!$row->store())
{
$this->setError("An error appear while saving data.");
return false;
}
return true;
}
public function remove()
{
$app = JFactory::getApplication();
$cid = $app->input->get("cid", null, "array");
if(is_null($cid) || !count($cid))
{
$this->setError(JText::_('JR_SELECT_ROW_TO_TASK' ));
return false;
}
$query = $this->_db->getQuery(true);
$query->delete("#__jlexreview_blacklist")
->where("id IN(".implode(",", $cid).")");
$this->_db->setQuery($query)->execute();
return true;
}
}