AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.117
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/administrator/components/com_jlexreview/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/administrator/components/com_jlexreview/models/reviewsadmin.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 JLexReviewModelReviewsAdmin extends JModelLegacy
{
	public $limitstart = 0;

	public $limit = 20;

	public $total = 0;

	public $filters = [];

	public $sort = "r.created DESC";

	public function getReviews()
	{
		$config = JLexReviewHelperAdmin::getConfig();

		$query = $this->_db->getQuery(true);
		$query->select("SQL_CALC_FOUND_ROWS r.*")
			  ->select("IF(r.created_by,u.name,r.author_name) author,u.username")
			  ->from("#__jlexreview r")
			  ->select("entry.object_name, entry.url entry_url, entry.object, entry.object_id")
			  ->leftJoin("#__jlexreview_entry AS entry ON entry.id=r.entry_id")
			  ->leftJoin("#__users u ON u.id=r.created_by");

		
		// where clauses
		$wClauses = array("entry.id IS NOT NULL");

		if(array_key_exists("uid", $this->filters))
		{
			$wClauses[]="r.created_by=".$this->_db->quote($this->filters["uid"]);
		} elseif(array_key_exists("author", $this->filters)) {
			$wClauses[]=$this->filters["author"]==1?"r.created_by>0":"r.created_by=0";
		}

		if(array_key_exists("state", $this->filters))
		{
			$wClauses[]="r.published=".$this->_db->quote($this->filters["state"]);
		}

		if(array_key_exists("q", $this->filters))
		{
			$wClauses="r.title LIKE ".$this->_db->quote( "%".$this->filters["q"]."%" );
		}

		if(array_key_exists("entry_id", $this->filters))
		{
			$wClauses[]="r.entry_id=".$this->_db->quote($this->filters["entry_id"]);
		}

		$query->where($wClauses)
			  ->order($this->sort);
		
		$reviews = $this->_db->setQuery($query, $this->limitstart, $this->limit)->loadObjectList();

		$this->total = (int) $this->_db->setQuery("SELECT FOUND_ROWS()")->loadResult();

		if(!$reviews) return null;
		
		foreach($reviews as $k=>&$review)
		{
			$reviews[$k]->url2edit = JUri::base(true)."/index.php?option=com_jlexreview&view=rating&id=" . $review->id;
			
			$reviews[$k]->url2entry = JUri::base(true)."/index.php?option=com_jlexreview&view=items&hl=".$review->entry_id;
			
			if($config->get("link_type",0)=="1")
            {
                $up = JLexReviewHelperAdmin::getItemDetail($review->object, $review->object_id, $review->object_name, $review->entry_url);
            	$entry_url = $up->url;
            	$reviews[$k]->object_name = $up->title;
            } else {
                $entry_url = trim(urldecode($review->entry_url), "/");
            	$entry_url = preg_match("/^https?:\/\//", $entry_url) ? $entry_url : JUri::root(true) . "/" . $entry_url;
            }

			$reviews[$k]->url2item = $entry_url . (preg_match("/\?/", $entry_url)?"&":"?") . "review_id=" . $review->id;
		
			$reviews[$k]->created = JHtml::date($review->created, $this->_db->getDateFormat());
		
			$reviews[$k]->seeComment = JUri::base(true) . "/index.php?option=com_jlexreview&view=cm&review_id=" . $review->id;
		
			$reviews[$k]->jprofile = JUri::base(true) . "/index.php?option=com_users&task=user.edit&id=" . $review->created_by;

			$reviews[$k]->quick_edit = ($review->voting && $this->nofield($review->id));
		}
		
		return $reviews;
	}

	protected function nofield($reviewId)
	{
		$query = $this->_db->getQuery(true);
		$query->select('COUNT(*)')
			  ->from('#__jlexreview_fields')
			  ->where('review_id='.$this->_db->quote($reviewId));

		return empty($this->_db->setQuery($query)->loadResult())?true:false;
	}

	public function getPagination()
	{
		jimport("joomla.html.pagination");
		return new JPagination($this->total, $this->limitstart, $this->limit);
	}

	public function reviewCmd($cmd)
	{
		$app = JFactory::getApplication ();
		$now = JFactory::getDate ()->toSql ();
		$cid = $app->getInput()->get("cid", null, "array");

		if ( is_null($cid) || !count($cid))
		{
			$this->setError( JText::_("JR_SELECT_ROW_TO_TASK") );
			return false;
		}

		$query = null;

		switch ($cmd)
		{
			case "publish" :
			case "unpublish" :
			case "delete" :
				$row = $this->getTable("review", "TableJR");
				foreach ($cid as $id)
				{
					$row->load($id);
					if ($cmd=="delete")
					{
						$row->do_remove();
					} else {
						$row->do_publish($cmd=="publish"?1:0);
					}
				}

				if ($cmd=='publish')
				{
					$resetTime = $app->getInput()->getBool("resettime",false);
					if ($resetTime)
					{
						$query = "UPDATE #__jlexreview SET created_time=" .$this->_db->quote($now). " WHERE id IN(" . implode ( ',', $cid ) . ")";
						$this->_db->setQuery( $query )->execute();
					}
				}

				return true;

			case "feature":
			case "unfeature":
				$query = "UPDATE #__jlexreview SET featured=".($cmd=="feature"?1:0)." WHERE id IN(" . implode ( ',', $cid ) . ")";

				break;

			case "resetHelpfulCount":
				$query = $this->_db->getQuery(true);
				$query->update('#__jlexreview')
					  ->set(['count_help=0', 'count_unhelp=0'])
					  ->where('id IN('.implode( ',', $cid).')');
				$this->_db->setQuery($query)->execute();

				$query->clear()
					  ->delete('#__jlexreview_helpful')
					  ->where([
					  		'type_ob=1',
					  		'type_id IN('.implode( ',', $cid).')'
					  ]);
				$this->_db->setQuery($query)->execute();

				return true;
			break;
		}
		
		$this->_db->setQuery($query)->execute();
		$affect = $this->_db->getAffectedRows();
		return $affect == 0 ? false : true;
	}
}

Anon7 - 2022
AnonSec Team