AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.111
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/modules/mod_djclassifieds_maps/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/nice2/modules/mod_djclassifieds_maps/helper.php
<?php
/**
 * @package DJ-Classifieds
 * @copyright Copyright (C) DJ-Extensions.com, All rights reserved.
 * @license http://www.gnu.org/licenses GNU/GPL
 * @author url: http://dj-extensions.com
 * @author email contact@dj-extensions.com
 */

defined ('_JEXEC') or die('Restricted access');

class modDjClassifiedsMaps
{
	static function getItems($params, $par)
	{
		$app = JFactory::getApplication();
		$db	= JFactory::getDBO();
		$user = JFactory::getUser();
		$djmodel = new DJClassifiedsModel();
		
		$ord = "i.date_start DESC";
		if($params->get('items_ord')==1){
			$ord = "i.display DESC"; 
		}else if($params->get('items_ord')==2){
			$ord = "rand()";
		}	
		
		if($params->get('follow_search',1)==1 && $app->input->getInt('se')){
			require_once JPATH_ROOT.'/components/com_djclassifieds/models/items.php';
			$items_query = explode('ORDER BY', DjclassifiedsModelItems::$_items_query)[0];
			$items_query .= "ORDER BY i.special DESC, ".$ord." LIMIT ".$params->get('items_limit');

			$db->setQuery($items_query);
			$items = $db->loadObjectList();
		}else{
			$where = '';
			$mcat_lj = '';

			$cat_ids = array();
			if($params->get('follow_category',1)){
				$cid = 0;
				if($app->input->get('se')){
					$cid = DJClassifiedsTheme::getIdFromTree($app->input->getVar('se_cats'));
				}
				if(!$cid){
					$cid = $app->input->getInt('cid');
				}
				if($cid){
					$cats = DJClassifiedsCategory::getSubCat($cid);
					$cat_ids = array_map(function($v){ 
						return $v->id;
					}, $cats);
					$cat_ids[] = $cid;
				}
			}
			if(!$cat_ids){
				$cat_ids = $params->get('cat_id', array());
			}
			if($cat_ids){
				$catlist = implode(',', $cat_ids);
				if(JPluginHelper::isEnabled('djclassifieds', 'multicategories')){
					$where = 'AND (i.cat_id IN ('.$catlist.') OR mc.mcat_c>0) ';
					$mcat_lj = "LEFT JOIN ( SELECT item_id, count(id) as  mcat_c FROM #__djcf_items_categories WHERE cat_id IN (".$catlist.") GROUP BY item_id ) mc ON i.id=mc.item_id ";
				}else{
					$where = 'AND i.cat_id IN ('.$catlist.') ';
				}
			}

			$reg_ids = array();
			if($params->get('follow_region', '0')){
				$rid = 0;
				if($app->input->get('se')){
					$rid = DJClassifiedsTheme::getIdFromTree($app->input->getVar('se_regs'));
				}
				if(!$rid){
					$rid = $app->input->getInt('rid');
				}
				if(!$rid){
					$rid = DJClassifiedsRegion::getDefaultRegion();
				}
				if($rid){
					$regs = DJClassifiedsRegion::getSubReg($rid);
					$reg_ids = array_map(function($v){ 
						return $v->id;
					}, $regs);
					$reg_ids[] = $rid;
				}
			}
			if(!$reg_ids){
				$reg_ids = $params->get('region_id', array());
			}
			if($reg_ids){
				$where .= 'AND i.region_id IN ('.implode(',', $reg_ids).') ';
			}

			$types_ids = array();
			if($params->get('follow_type','0')==1 && $app->input->get('option') == 'com_djclassifieds'){
				if($app->input->get('view') == 'items' && $app->input->get('Itemid')){
					$menus = $app->getMenu('site');
					$menu_item = $menus->getItem($app->input->get('Itemid'));
					$it_par = $menu_item->getParams();
					if($it_par->get('type_id')){
						$types_ids = $it_par->get('type_id');
					}
				}elseif($app->input->getVar('view') == 'item' && $app->input->getInt('id')){
					$item = $djmodel->getItemById($app->input->getInt('id'));
					$types_ids = array($item->type_id);
				}
			}
			if(!$types_ids){
				$types_ids = $params->get('type_id', array());
			}
			if($types_ids){
				$where .= "AND i.type_id IN (".implode(',', $types_ids).") ";
			}
				 			
			$groups_acl = '0,'.implode(',', $user->getAuthorisedViewLevels());
			$where .= "AND c.access_view IN (" . $groups_acl . ") ";
			
			if($params->get('guest_adverts',1)==0){
				$where .= "AND i.user_id!=0 ";
			}

			if($par->get('show_archived',0)==2){
				$where .= "AND ((i.published=1 AND i.date_exp > '".JFactory::getDate()->toSQL()."') OR i.published=2) ";
			}else{
				$where .= "AND i.published=1 AND i.date_exp > '".JFactory::getDate()->toSQL()."' ";
			}
			
			$select = "SELECT i.*, c.id c_id, c.name c_name, c.alias c_alias, r.id r_id, r.name r_name, r.alias r_alias, p.verified p_verified ";
			$from = "FROM #__djcf_items i "
					."INNER JOIN #__djcf_categories c ON c.id=i.cat_id "
					."LEFT JOIN #__djcf_regions r ON i.region_id=r.id "
					."LEFT JOIN #__djcf_profiles p ON i.user_id=p.user_id "
					.$mcat_lj;
			$where = "WHERE i.blocked=0 AND c.published != 0 AND i.latitude!='0.000000000000000' AND i.longitude!='0.000000000000000' ".$where." ";

			if($ord == 'rand()'){
				$query = $select.$from."JOIN (SELECT CEIL(RAND() * (SELECT MAX(id) FROM #__djcf_items)) AS num, @num:=@num+1 FROM (SELECT @num:=0) AS a, #__djcf_items LIMIT ".$params->get('items_limit').") AS tmp ON tmp.num = i.id ".$where;
			}else{
				$query = $select.$from.$where."ORDER BY ".$ord." limit ".$params->get('items_limit');
			}

			$db->setQuery($query);
			$items = $db->loadObjectList();

			if($ord == 'rand()'){
				if(count($items) != $params->get('items_limit')){
					$db->setQuery("SELECT count(*) FROM (".$select.$from.$where.") v");
					$items_c = $db->loadResult();
					if($items_c > $params->get('items_limit')){ // retry query with random sort join
						$db->setQuery($query); 
						$items = $db->loadObjectList();
					}	
				}
				if(count($items) != $params->get('items_limit')){ // standard rand() order
					$db->setQuery($select.$from.$where."ORDER BY rand() LIMIT ".$params->get('items_limit'));
					$items = $db->loadObjectList();
				}
			}
		}
		
		if($items){
			$items_img = DJClassifiedsImage::getAdsImages(implode(',', array_map(function($v){return $v->id;}, $items)), true);

			$marker_img = DJClassifiedsGeocode::getMarkerIconImg($par);
		
			for($i=0;$i<count($items);$i++){
				$items[$i]->images = !empty($items_img[$items[$i]->id]) ? $items_img[$items[$i]->id] : array();

				$cat_marker_img = DJClassifiedsGeocode::getCategoryMarkerIconImg($items[$i]->cat_id);
				$items[$i]->marker_img = $cat_marker_img ? $cat_marker_img : $marker_img;

				$items[$i]->item_uri = DJClassifiedsSEO::getItemRoute($items[$i]->id.':'.$items[$i]->alias,$items[$i]->cat_id.':'.$items[$i]->c_alias,$items[$i]->region_id.':'.$items[$i]->r_alias, true);
			}
		}
		
		return $items;
	}

	static function getSearchCoordinates()
	{
		$app = JFactory::getApplication();

		$coords = null;
		$postcode = $app->input->getVar('se_postcode');
		$radius = $app->input->getInt('se_radius', 0);
		$se_address = $app->input->getVar('se_address');
		$se_geoloc = $app->input->getVar('se_geoloc');
		
		if($radius){							
			if($se_geoloc){
				$user_latlog = explode('_', $_COOKIE["djcf_latlon"]);
				$coords = array();
				$coords['lat'] = $user_latlog[0];
				$coords['lng'] = $user_latlog[1];
			}else if($postcode){					
				$postcode_country = $app->input->getVar('se_postcode_c');
				$post_coord = DJClassifiedsGeocode::getLocationPostCode($postcode, $postcode_country);
				if($post_coord){
					$coords = $post_coord;
				}
			}else if($se_address){
				$se_address_coord = DJClassifiedsGeocode::getLocation($se_address);
				if($se_address_coord){
					$coords = $se_address_coord;
				}
			}
		}
		
		if(!$coords){
			$reg_id = DJClassifiedsTheme::getIdFromTree($app->input->getVar('se_regs'));										
			if($reg_id){
				$se_address_coord = DJClassifiedsGeocode::getLocation('', $reg_id);
				if($se_address_coord){
					$coords = $se_address_coord;
				}
			}		
		}

		return $coords;
	}
}

Anon7 - 2022
AnonSec Team