Exemple #1
0
?>
" />
					</td>
				</tr>				
				<tr>
					<td width="150" align="right" class="key">
						<?php 
echo JText::_('COM_DJCLASSIFIEDS_SELECT_PARENT_REGION');
?>
					</td>
					<td>					
						<?php 
$optionss = array();
$optionss = DJClassifiedsRegion::getRegSelect();
if ($this->region->id > 0) {
    $reg_list = DJClassifiedsRegion::getSubReg($this->region->id);
    $reg_list_assoc = array();
    $reg_list_assoc[$this->region->id] = 1;
    foreach ($reg_list as $cl) {
        $reg_list_assoc[$cl->id] = 1;
    }
    foreach ($optionss as $op) {
        if (isset($reg_list_assoc[$op->value])) {
            $op->disable = 1;
        }
    }
}
$main_tab = array();
$main_tab[0] = JHTML::_('select.option', '0', JText::_('COM_DJCLASSIFIEDS_MAIN_REGION'));
$options = array();
$options = array_merge_recursive($main_tab, $optionss);
Exemple #2
0
 static function getItems($params)
 {
     $app = JFactory::getApplication();
     $db = JFactory::getDBO();
     $date_time = JFactory::getDate();
     $date_exp = $date_time->toSQL();
     $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 && JRequest::getInt('se', 0) != 0) {
         $where = '';
         $search = '';
         $search_fields = '';
         $cat_id = 0;
         $reg_id = 0;
         $search_radius_v = '';
         $search_radius_h = '';
         if (JRequest::getVar('search', JText::_('COM_DJCLASSIFIEDS_SEARCH'), '', 'string') != JText::_('COM_DJCLASSIFIEDS_SEARCH')) {
             $search_word = $db->Quote('%' . $db->escape(JRequest::getVar('search', '', '', 'string'), true) . '%');
             $search = " AND (CONCAT(i.name,i.intro_desc,i.description) LIKE " . $search_word . " OR c.name LIKE " . $search_word . " OR r.name LIKE " . $search_word . " ) ";
         }
         if (isset($_GET['se_cats'])) {
             $cat_id = end($_GET['se_cats']);
             if ($cat_id == '' && count($_GET['se_cats']) > 2) {
                 $cat_id = $_GET['se_cats'][count($_GET['se_cats']) - 2];
             }
         }
         $cat_id = str_ireplace('p', '', $cat_id);
         if ($cat_id > 0) {
             $cats = DJClassifiedsCategory::getSubCat($cat_id, 1);
             $catlist = $cat_id;
             foreach ($cats as $c) {
                 $catlist .= ',' . $c->id;
             }
             $search .= ' AND i.cat_id IN (' . $catlist . ') ';
             $search_fields = self::getSearchFields();
         }
         if (isset($_GET['se_regs'])) {
             $reg_id = end($_GET['se_regs']);
             if ($reg_id == '' && count($_GET['se_regs']) > 2) {
                 $reg_id = $_GET['se_regs'][count($_GET['se_regs']) - 2];
             }
             $reg_id = (int) $reg_id;
         }
         if ($reg_id > 0) {
             $regs = DJClassifiedsRegion::getSubReg($reg_id, 1);
             $reglist = $reg_id;
             foreach ($regs as $r) {
                 $reglist .= ',' . $r->id;
             }
             $search .= ' AND i.region_id IN (' . $reglist . ') ';
         }
         $se_price_from = JRequest::getInt('se_price_f', '');
         $se_price_to = JRequest::getInt('se_price_t', '');
         if ($se_price_from) {
             $search .= " AND ABS(i.price) >= " . $se_price_from . " ";
         }
         if ($se_price_to && $se_price_to > $se_price_from) {
             $search .= " AND ABS(i.price) <= " . $se_price_to . " ";
         }
         $type_id = JRequest::getInt('se_type_id', '0');
         if ($type_id > 0) {
             $where .= " AND i.type_id=" . $type_id . " ";
         }
         $days_l = JRequest::getInt('days_l', '0');
         if ($days_l > 0) {
             $date_limit = date("Y-m-d H:i:s", mktime(date("H"), date("i"), date("s"), date("m"), date("d") - $days_l, date("Y")));
             $where .= " AND i.date_start >= '" . $date_limit . "' ";
         }
         $only_img = JRequest::getInt('se_only_img', 0);
         if ($only_img == 1) {
             $search .= " AND i.image_url!='' ";
         }
         $only_video = JRequest::getInt('se_only_video', 0);
         if ($only_video == 1) {
             $search .= " AND i.video!='' ";
         }
         $postcode = JRequest::getVar('se_postcode', '');
         $radius = JRequest::getInt('se_radius', 0);
         if ($postcode != '' && $postcode != JText::_('COM_DJCLASSIFIEDS_SEARCH_MODULE_POSTCODE') && $radius) {
             $postcode_country = JRequest::getVar('se_postcode_c', '');
             $post_coord = DJClassifiedsGeocode::getLocationPostCode($postcode, $postcode_country);
             $radius_unit = JRequest::getCmd('se_radius_unit', 'km');
             if ($radius_unit == 'mile') {
                 $radius_unit_v = 6371;
             } else {
                 $radius_unit_v = 3959;
             }
             if ($post_coord) {
                 $search_radius_v = ', ( ' . $radius_unit_v . ' * acos( cos( radians(' . $post_coord['lat'] . ') ) * cos( radians( i.latitude ) ) * cos( radians( i.longitude ) - radians(' . $post_coord['lng'] . ') ) + sin( radians(' . $post_coord['lat'] . ') ) * sin( radians( i.latitude ) ) ) ) AS distance ';
                 $search_radius_h = 'HAVING distance < ' . $radius . ' ';
             } else {
                 $app->enqueueMessage(JText::_('COM_DJCLASSIFIEDS_SORRY_WE_CANT_FIND_COORDINATES_FROM_POSTCODE_WE_OMIITED_RANGE_RESTRICTION'), 'notice');
             }
         }
         $query = "SELECT i.*, c.name AS c_name,c.alias AS c_alias, c.id as c_id, r.name as r_name, r.id as r_id " . $search_radius_v . ", img.path as img_path, img.name as img_name, img.ext as img_ext,img.caption as img_caption FROM " . $search_fields . " #__djcf_items i " . "LEFT JOIN #__djcf_categories c ON i.cat_id = c.id " . "LEFT JOIN #__djcf_regions r ON i.region_id = r.id " . "LEFT JOIN ( SELECT img.id, img.item_id, img.name, img.path, img.ext, img.ordering, img.caption \n\t\t \t\t\t\t\t  FROM (SELECT * FROM #__djcf_images WHERE type='item' ORDER BY ordering) img GROUP BY img.item_id ) AS img ON img.item_id=i.id " . "WHERE i.date_exp > NOW() AND i.published=1 " . $where;
         if ($search_fields) {
             $query .= " AND sf.item_id=i.id ";
         }
         $query .= $search_radius_h . $search . " ORDER BY i.special DESC, " . $ord . "";
         $db->setQuery($query);
         $items = $db->loadObjectList();
         //echo '<pre>'; print_r($items);die();
     } else {
         $where = '';
         $cid = JRequest::getInt('cid', '0');
         if ($params->get('follow_category', 1) == 1 && $cid > 0) {
             $djcfcatlib = new DJClassifiedsCategory();
             $cats = $djcfcatlib->getSubCat($cid, 1);
             $catlist = $cid;
             foreach ($cats as $c) {
                 $catlist .= ',' . $c->id;
             }
             $where .= ' AND i.cat_id IN (' . $catlist . ') ';
         }
         $query = "SELECT i.*, c.name as c_name, c.alias as c_alias, img.path as img_path, img.name as img_name, img.ext as img_ext,img.caption as img_caption " . "FROM #__djcf_categories c, #__djcf_items i  " . "LEFT JOIN ( SELECT img.id, img.item_id, img.name, img.path, img.ext, img.ordering, img.caption \n\t\t \t\t\t\t\t  FROM (SELECT * FROM #__djcf_images WHERE type='item' ORDER BY ordering) img GROUP BY img.item_id ) AS img ON img.item_id=i.id " . "WHERE i.date_exp > '" . $date_exp . "' AND i.published = 1 AND i.cat_id=c.id AND i.latitude!='0.000000000000000' AND i.longitude!='0.000000000000000' " . $where . " " . "ORDER BY " . $ord . " limit " . $params->get('items_limit');
         $db->setQuery($query);
         $items = $db->loadObjectList();
     }
     return $items;
 }
Exemple #3
0
 function getCountItems($catlist = '')
 {
     $par = JComponentHelper::getParams('com_djclassifieds');
     $user = JFactory::getUser();
     $db = JFactory::getDBO();
     $cid = JRequest::getInt('cid', 0);
     $app = JFactory::getApplication();
     $where = '';
     if ($catlist) {
         $where = ' AND i.cat_id IN (' . $catlist . ') ';
     }
     $uid = JRequest::getVar('uid', '0', '', 'int');
     if ($uid > 0) {
         $where .= " AND i.user_id=" . $uid . " ";
     }
     $fav_lj = '';
     if ($par->get('favourite', '1') && $user->id > 0) {
         $fav_lj = "LEFT JOIN ( SELECT * FROM #__djcf_favourites WHERE user_id=" . $user->id . ") f ON i.id=f.item_id ";
         $fav = JRequest::getVar('fav', '0', '', 'int');
         if ($fav > 0) {
             $where .= " AND f.id IS NOT NULL ";
         }
     }
     $search = '';
     $search_fields = '';
     $cat_id = 0;
     $reg_id = 0;
     $search_radius_v = '';
     $search_radius_h = '';
     $search_img_count_lj = '';
     if (JRequest::getVar('se', '0', '', 'string') != '0') {
         if (JRequest::getVar('search', JText::_('COM_DJCLASSIFIEDS_SEARCH'), '', 'string') != JText::_('COM_DJCLASSIFIEDS_SEARCH')) {
             if ($par->get('search_type_phrase', 0) == 1) {
                 $se_words = explode(' ', $db->escape(JRequest::getVar('search', '', '', 'string'), true));
                 foreach ($se_words as $se_w) {
                     if (strlen($se_w) > 2) {
                         $search .= " AND (CONCAT_WS(i.name,i.intro_desc,i.description) LIKE " . $db->Quote('%' . $se_w . '%') . " OR c.name LIKE " . $db->Quote('%' . $se_w . '%') . " OR r.name LIKE " . $db->Quote('%' . $se_w . '%') . " OR i.id=" . $db->Quote($se_w) . " ) ";
                     }
                 }
             } else {
                 $search_word = $db->Quote('%' . $db->escape(JRequest::getVar('search', '', '', 'string'), true) . '%');
                 $search_word2 = $db->Quote($db->escape(JRequest::getVar('search', '', '', 'string'), true));
                 $search = " AND (CONCAT_WS(i.name,i.intro_desc,i.description) LIKE " . $search_word . " OR c.name LIKE " . $search_word . " OR r.name LIKE " . $search_word . "  OR i.id=" . $search_word2 . "  ) ";
             }
         }
         if (isset($_GET['se_cats'])) {
             if (is_array($_GET['se_cats'])) {
                 $cat_id = end($_GET['se_cats']);
                 if ($cat_id == '' && count($_GET['se_cats']) > 2) {
                     $cat_id = $_GET['se_cats'][count($_GET['se_cats']) - 2];
                 }
             } else {
                 $cat_ids = explode(',', JRequest::getVar('se_cats'));
                 $cat_id = end($cat_ids);
             }
             $cat_id = (int) $cat_id;
         }
         $cat_id = str_ireplace('p', '', $cat_id);
         if ($cat_id > 0) {
             $cats = DJClassifiedsCategory::getSubCat($cat_id, 1);
             $catlist = $cat_id;
             foreach ($cats as $c) {
                 $catlist .= ',' . $c->id;
             }
             $search .= ' AND i.cat_id IN (' . $catlist . ') ';
         }
         $se_ef = JRequest::getInt('ef', 0);
         if ($cat_id > 0 || $se_ef) {
             $search_fields = $this->getSearchFields($cat_id, $se_ef);
         }
         if (isset($_GET['se_regs'])) {
             if (is_array($_GET['se_regs'])) {
                 $reg_id = end($_GET['se_regs']);
                 if ($reg_id == '' && count($_GET['se_regs']) > 2) {
                     $reg_id = $_GET['se_regs'][count($_GET['se_regs']) - 2];
                 }
             } else {
                 $reg_ids = explode(',', JRequest::getVar('se_regs'));
                 $reg_id = end($reg_ids);
             }
             $reg_id = (int) $reg_id;
         }
         if ($reg_id > 0) {
             $regs = DJClassifiedsRegion::getSubReg($reg_id, 1);
             $reglist = $reg_id;
             foreach ($regs as $r) {
                 $reglist .= ',' . $r->id;
             }
             $search .= ' AND i.region_id IN (' . $reglist . ') ';
         }
         $se_price_from = JRequest::getInt('se_price_f', '');
         $se_price_to = JRequest::getInt('se_price_t', '');
         if ($se_price_from) {
             $search .= " AND ABS(i.price) >= '" . $se_price_from . "' ";
         }
         if ($se_price_to && $se_price_to > $se_price_from) {
             $search .= " AND ABS(i.price) <= '" . $se_price_to . "' ";
         }
         $type_id = JRequest::getInt('se_type_id', '0');
         if ($type_id > 0) {
             $where .= " AND i.type_id=" . $type_id . " ";
         }
         $days_l = JRequest::getInt('days_l', '0');
         if ($days_l > 0) {
             $date_limit = date("Y-m-d H:i:s", mktime(date("H"), date("i"), date("s"), date("m"), date("d") - $days_l, date("Y")));
             $where .= " AND i.date_start >= '" . $date_limit . "' ";
         }
         $only_img = JRequest::getInt('se_only_img', 0);
         if ($only_img == 1) {
             $search .= " AND img.img_c>0 ";
             $search_img_count_lj = "LEFT JOIN ( SELECT COUNT(img.id) as img_c, img.item_id FROM #__djcf_images img\r\n\t\t\t\t\t\t\t\t\t\t\t\tWHERE img.type='item' GROUP BY item_id ) img ON i.id=img.item_id ";
         }
         $only_video = JRequest::getInt('se_only_video', 0);
         if ($only_video == 1) {
             $search .= " AND i.video!='' ";
         }
         $only_auctions = JRequest::getInt('se_only_auctions', 0);
         if ($only_auctions == 1) {
             $search .= " AND i.auction = 1 ";
         }
         $postcode = JRequest::getVar('se_postcode', '');
         $radius = JRequest::getFloat('se_radius', 0);
         $se_address = JRequest::getVar('se_address', '');
         $se_geoloc = JRequest::getVar('se_geoloc', '');
         if ($radius) {
             $radius_unit = JRequest::getCmd('se_radius_unit', 'km');
             if ($radius_unit == 'mile') {
                 $radius_unit_v = 3959;
             } else {
                 $radius_unit_v = 6371;
             }
             if ($se_geoloc) {
                 $user_latlog = explode('_', $_COOKIE["djcf_latlon"]);
                 $search_radius_v = ', ( ' . $radius_unit_v . ' * acos( cos( radians(' . $user_latlog[0] . ') ) * cos( radians( i.latitude ) ) * cos( radians( i.longitude ) - radians(' . $user_latlog[1] . ') ) + sin( radians(' . $user_latlog[0] . ') ) * sin( radians( i.latitude ) ) ) ) AS distance ';
                 $search_radius_h = 'HAVING distance < ' . $radius . ' ';
             } else {
                 if ($postcode != '' && $postcode != JText::_('COM_DJCLASSIFIEDS_SEARCH_MODULE_POSTCODE')) {
                     $postcode_country = JRequest::getVar('se_postcode_c', '');
                     $post_coord = DJClassifiedsGeocode::getLocationPostCode($postcode, $postcode_country);
                     if ($post_coord) {
                         $search_radius_v = ', ( ' . $radius_unit_v . ' * acos( cos( radians(' . $post_coord['lat'] . ') ) * cos( radians( i.latitude ) ) * cos( radians( i.longitude ) - radians(' . $post_coord['lng'] . ') ) + sin( radians(' . $post_coord['lat'] . ') ) * sin( radians( i.latitude ) ) ) ) AS distance ';
                         $search_radius_h = 'HAVING distance < ' . $radius . ' ';
                     } else {
                         //$app->enqueueMessage(JText::_('COM_DJCLASSIFIEDS_SORRY_WE_CANT_FIND_COORDINATES_FROM_POSTCODE_WE_OMIITED_RANGE_RESTRICTION'),'notice');
                     }
                 } else {
                     if ($se_address != '' && $se_address != JText::_('COM_DJCLASSIFIEDS_SEARCH_MODULE_ADDRESS')) {
                         $se_address_coord = DJClassifiedsGeocode::getLocation($se_address);
                         if ($se_address_coord) {
                             $search_radius_v = ', ( ' . $radius_unit_v . ' * acos( cos( radians(' . $se_address_coord['lat'] . ') ) * cos( radians( i.latitude ) ) * cos( radians( i.longitude ) - radians(' . $se_address_coord['lng'] . ') ) + sin( radians(' . $se_address_coord['lat'] . ') ) * sin( radians( i.latitude ) ) ) ) AS distance ';
                             $search_radius_h = 'HAVING distance < ' . $radius . ' ';
                         } else {
                             //$app->enqueueMessage(JText::_('COM_DJCLASSIFIEDS_SORRY_WE_CANT_FIND_COORDINATES_FROM_ADDRESS_WE_OMIITED_RANGE_RESTRICTION'),'notice');
                         }
                     }
                 }
             }
         }
         if (JRequest::getInt('se_also_18', 0) == 0) {
             $search .= " AND c.restriction_18=0 ";
         }
     } else {
         if ($par->get('restriction_18_allads', 0) == 1 && !isset($_COOKIE["djcf_warning18"])) {
             $where .= " AND c.restriction_18=0 ";
         }
     }
     $groups_acl = '0,' . implode(',', $user->getAuthorisedViewLevels());
     $where .= " AND c.access_view IN (" . $groups_acl . ") ";
     $date_time = JFactory::getDate();
     $date_exp = $date_time->toSQL();
     $date_now = date("Y-m-d H:i:s");
     $query = "SELECT count(i.id) FROM (SELECT i.id " . $search_radius_v . " FROM " . $search_fields . " #__djcf_items i " . "LEFT JOIN #__djcf_categories c ON i.cat_id = c.id " . "LEFT JOIN #__djcf_regions r ON i.region_id = r.id " . $search_img_count_lj . $fav_lj . "WHERE i.date_exp > '" . $date_now . "' AND i.published=1 AND c.published=1 " . $where . $search;
     if ($search_fields) {
         $query .= " AND sf.item_id=i.id ";
     }
     $query .= $search_radius_h;
     $query .= " ) as i ";
     $db->setQuery($query);
     $items_count = $db->loadResult();
     //	echo '<pre>';print_r($db);print_r($items_count);echo '<pre>';die();
     return $items_count;
 }
 function getCountItems($catlist = '')
 {
     $par = JComponentHelper::getParams('com_djclassifieds');
     $user = JFactory::getUser();
     $db = JFactory::getDBO();
     $where = '';
     if ($catlist) {
         $where = ' AND i.cat_id IN (' . $catlist . ') ';
     }
     $uid = JRequest::getVar('uid', '0', '', 'int');
     if ($uid > 0) {
         $where .= " AND i.user_id=" . $uid . " ";
     }
     $fav_lj = '';
     if ($par->get('favourite', '1') && $user->id > 0) {
         $fav_lj = "LEFT JOIN ( SELECT * FROM #__djcf_favourites WHERE user_id=" . $user->id . ") f ON i.id=f.item_id ";
         $fav = JRequest::getVar('fav', '0', '', 'int');
         if ($fav > 0) {
             $where .= " AND f.id IS NOT NULL ";
         }
     }
     $search = '';
     $search_fields = '';
     $cat_id = 0;
     $reg_id = 0;
     $search_radius_v = '';
     $search_radius_h = '';
     if (JRequest::getVar('se', '0', '', 'string') != '0') {
         if (JRequest::getVar('search', JText::_('COM_DJCLASSIFIEDS_SEARCH'), '', 'string') != JText::_('COM_DJCLASSIFIEDS_SEARCH')) {
             $search_word = $db->Quote('%' . $db->escape(JRequest::getVar('search', '', '', 'string'), true) . '%');
             $search = " AND (CONCAT_WS(i.name,i.intro_desc,i.description) LIKE " . $search_word . " OR c.name LIKE " . $search_word . " OR r.name LIKE " . $search_word . " ) ";
         }
         if (isset($_GET['se_cats'])) {
             $cat_id = end($_GET['se_cats']);
             if ($cat_id == '' && count($_GET['se_cats']) > 2) {
                 $cat_id = $_GET['se_cats'][count($_GET['se_cats']) - 2];
             }
         }
         $cat_id = str_ireplace('p', '', $cat_id);
         if ($cat_id > 0) {
             $cats = DJClassifiedsCategory::getSubCat($cat_id, 1);
             $catlist = $cat_id;
             foreach ($cats as $c) {
                 $catlist .= ',' . $c->id;
             }
             $search .= ' AND i.cat_id IN (' . $catlist . ') ';
             $search_fields = $this->getSearchFields();
         }
         if (isset($_GET['se_regs'])) {
             $reg_id = end($_GET['se_regs']);
             if ($reg_id == '' && count($_GET['se_regs']) > 2) {
                 $reg_id = $_GET['se_regs'][count($_GET['se_regs']) - 2];
             }
             $reg_id = (int) $reg_id;
         }
         if ($reg_id > 0) {
             $regs = DJClassifiedsRegion::getSubReg($reg_id, 1);
             $reglist = $reg_id;
             foreach ($regs as $r) {
                 $reglist .= ',' . $r->id;
             }
             $search .= ' AND i.region_id IN (' . $reglist . ') ';
         }
         $se_price_from = JRequest::getInt('se_price_f', '');
         $se_price_to = JRequest::getInt('se_price_t', '');
         if ($se_price_from) {
             $search .= " AND ABS(i.price) >= '" . $se_price_from . "' ";
         }
         if ($se_price_to && $se_price_to > $se_price_from) {
             $search .= " AND ABS(i.price) <= '" . $se_price_to . "' ";
         }
         $type_id = JRequest::getInt('se_type_id', '0');
         if ($type_id > 0) {
             $where .= " AND i.type_id=" . $type_id . " ";
         }
         $days_l = JRequest::getInt('days_l', '0');
         if ($days_l > 0) {
             $date_limit = date("Y-m-d H:i:s", mktime(date("H"), date("i"), date("s"), date("m"), date("d") - $days_l, date("Y")));
             $where .= " AND i.date_start >= '" . $date_limit . "' ";
         }
         $only_img = JRequest::getInt('se_only_img', 0);
         if ($only_img == 1) {
             $search .= " AND img.img_c>0 ";
         }
         $only_video = JRequest::getInt('se_only_video', 0);
         if ($only_video == 1) {
             $search .= " AND i.video!='' ";
         }
         $postcode = JRequest::getVar('se_postcode', '');
         $radius = JRequest::getInt('se_radius', 0);
         if ($postcode && $radius) {
             $postcode_country = JRequest::getVar('se_postcode_c', '');
             $post_coord = DJClassifiedsGeocode::getLocationPostCode($postcode, $postcode_country);
             $radius_unit = JRequest::getCmd('se_radius_unit', 'km');
             if ($radius_unit == 'mile') {
                 $radius_unit_v = 6371;
             } else {
                 $radius_unit_v = 3959;
             }
             if ($post_coord) {
                 $search_radius_v = ', ( ' . $radius_unit_v . ' * acos( cos( radians(' . $post_coord['lat'] . ') ) * cos( radians( i.latitude ) ) * cos( radians( i.longitude ) - radians(' . $post_coord['lng'] . ') ) + sin( radians(' . $post_coord['lat'] . ') ) * sin( radians( i.latitude ) ) ) ) AS distance ';
                 $search_radius_h = 'HAVING distance < ' . $radius . ' ';
             }
         }
     }
     $date_time = JFactory::getDate();
     $date_exp = $date_time->toSQL();
     $query = "SELECT count(i.id) FROM (SELECT i.id " . $search_radius_v . " FROM " . $search_fields . " #__djcf_items i " . "LEFT JOIN #__djcf_categories c ON i.cat_id = c.id " . "LEFT JOIN #__djcf_regions r ON i.region_id = r.id " . "LEFT JOIN ( SELECT COUNT(img.id) as img_c, img.item_id FROM #__djcf_images img\r\n\t\t\t\t\t\t\t\tWHERE img.type='item' GROUP BY item_id ) img ON i.id=img.item_id " . $fav_lj . "WHERE i.date_exp > NOW() AND i.published=1 " . $where . $search;
     if ($search_fields) {
         $query .= " AND sf.item_id=i.id ";
     }
     $query .= $search_radius_h;
     $query .= " ) as i ";
     $db->setQuery($query);
     $items_count = $db->loadResult();
     //echo '<pre>';print_r($db);print_r($items_count);echo '<pre>';die();
     return $items_count;
 }
        if ($reg_id == '' && count($_GET['se_regs']) > 2) {
            $reg_id = $_GET['se_regs'][count($_GET['se_regs']) - 2];
        }
    } else {
        $reg_ids = explode(',', JRequest::getVar('se_regs'));
        $reg_id = end($reg_ids);
    }
    $reg_id = (int) $reg_id;
}
$djcfreglib = new DJClassifiedsRegion();
$show_items_c = $params->get('items_count', 0);
$ret = $djcfreglib->getMenuRegions($reg_id, $show_items_c);
//echo '<pre>';print_r($ret);die();
if ($params->get('expand_type', '0') == 1) {
    if ($params->get('region_id', '0')) {
        $regs = $djcfreglib->getSubReg($params->get('region_id', '0'), $show_items_c);
        //echo '<pre>';print_r($regs);die();
    } else {
        $regs = $ret[2];
    }
} else {
    $regs = $ret[0];
}
$reg_path = $ret[1];
$menus = $app->getMenu('site');
$menu_item = $menus->getItems('link', 'index.php?option=com_djclassifieds&view=items&cid=0', 1);
$menu_item_blog = $menus->getItems('link', 'index.php?option=com_djclassifieds&view=items&layout=blog&cid=0', 1);
$itemid = '';
if ($menu_item) {
    $itemid = '&Itemid=' . $menu_item->id;
} else {
Exemple #6
0
 public static function getItems($params)
 {
     $date_time = JFactory::getDate();
     $date_exp = $date_time->toSQL();
     $db = JFactory::getDBO();
     $user = JFactory::getUser();
     $ord = "i.date_start DESC";
     if ($params->get('items_ord') == 1) {
         $ord = "i.display DESC";
     } else {
         if ($params->get('items_ord') == 2) {
             $ord = "rand()";
         } else {
             if ($params->get('items_ord') == 3) {
                 $ord = "i.name";
             }
         }
     }
     $promoted = '';
     $prom_list = array();
     if ($params->get('only_p_special', '0') == 1) {
         $prom_list[] = " i.promotions LIKE '%p_special%' ";
     }
     if ($params->get('only_p_first', '0') == 1) {
         $prom_list[] = " i.promotions LIKE '%p_first%' ";
     }
     if ($params->get('only_p_bold', '0') == 1) {
         $prom_list[] = " i.promotions LIKE '%p_bold%' ";
     }
     if ($params->get('only_p_border', '0') == 1) {
         $prom_list[] = " i.promotions LIKE '%p_border%' ";
     }
     if ($params->get('only_p_bg', '0') == 1) {
         $prom_list[] = " i.promotions LIKE '%p_bg%' ";
     }
     if (count($prom_list) == 1) {
         $promoted = ' AND ' . $prom_list[0] . ' ';
     } else {
         if (count($prom_list) > 1) {
             $promoted = ' AND (' . implode(' OR ', $prom_list) . ') ';
         }
     }
     $item_ids = $params->get('items_ids', '');
     if ($item_ids) {
         $item_ids = ' AND i.id IN (' . $item_ids . ')';
     } else {
         $item_ids = '';
     }
     $users_ids = $params->get('users_ids', '');
     if ($users_ids) {
         $users_ids = ' AND i.user_id IN (' . $users_ids . ')';
     } else {
         $users_ids = '';
     }
     $types_ids = $params->get('type_id', '');
     if (is_array($types_ids)) {
         $types_ids = ' AND i.type_id IN (' . implode(',', $types_ids) . ')';
     } else {
         $types_ids = '';
     }
     $cat_ids = $params->get('cat_id', '0');
     $cid = JRequest::getInt('cid', '0');
     $fallow_cat = '';
     $cat_list = '';
     if ($params->get('fallow_category') == 1 && JRequest::getVar('option', '') == 'com_djclassifieds' && $cid > 0) {
         $djcfcatlib = new DJClassifiedsCategory();
         $cats = $djcfcatlib->getSubCat($cid, 1);
         $catlist = $cid;
         foreach ($cats as $c) {
             $catlist .= ',' . $c->id;
         }
         $fallow_cat = ' AND i.cat_id IN (' . $catlist . ') ';
     } else {
         if (is_array($cat_ids)) {
             if (count($cat_ids) > 1) {
                 $cat_list = ' AND i.cat_id IN (' . implode(',', $cat_ids) . ') ';
             } else {
                 if ($cat_ids[0] > 0) {
                     $cat_list = ' AND i.cat_id = ' . $cat_ids[0] . ' ';
                 }
             }
         }
     }
     $reg_ids = $params->get('region_id', '0');
     $fallow_region = '';
     $region_list = '';
     if ($params->get('fallow_region', '0') == 1 && JRequest::getVar('option', '') == 'com_djclassifieds' && JRequest::getVar('view', '') == 'item') {
         $djcfreglib = new DJClassifiedsRegion();
         $id = JRequest::getInt('id', '0');
         $query = "SELECT i.region_id FROM #__djcf_items i " . "WHERE i.id=" . $id . " LIMIT 1";
         $db->setQuery($query);
         $region_id = $db->loadResult();
         if ($region_id) {
             $regs = $djcfreglib->getSubReg($region_id);
             $reglist = $region_id;
             foreach ($regs as $r) {
                 $reglist .= ',' . $r->id;
             }
             $fallow_region = ' AND i.region_id IN (' . $reglist . ') ';
         }
     }
     if (is_array($reg_ids) && $fallow_region == '') {
         if (count($reg_ids) > 1) {
             $region_list = ' AND i.region_id IN (' . implode(',', $reg_ids) . ') ';
         } else {
             if ($reg_ids[0] > 0) {
                 $region_list = ' AND i.region_id = ' . $reg_ids[0] . ' ';
             }
         }
     }
     $only_img = '';
     if ($params->get('only_with_img', '0') == 1) {
         $only_img = " AND img.name !='' ";
     }
     $source = '';
     $fav_lj = '';
     $fav_s = '';
     if ($user->id) {
         if ($params->get('items_source', '0') == 1) {
             $source = ' AND i.user_id=' . $user->id . ' ';
         } else {
             if ($params->get('items_source', '0') == 2) {
                 $fav_lj = "LEFT JOIN ( SELECT * FROM #__djcf_favourites WHERE user_id=" . $user->id . ") f ON i.id=f.item_id ";
                 $fav_s = ',f.id as f_id ';
                 $source = " AND f.id IS NOT NULL ";
             }
         }
     }
     $query = "SELECT i.*,c.id as c_id, c.name as c_name,c.alias as c_alias,c.icon_url as c_icon_url, r.name as r_name, " . " img.path as img_path, img.name as img_name, img.ext as img_ext,img.caption as img_caption " . $fav_s . "FROM #__djcf_categories c, #__djcf_items i " . "LEFT JOIN #__djcf_regions r ON r.id=i.region_id " . $fav_lj . "LEFT JOIN ( SELECT img.id, img.item_id, img.name, img.path, img.ext, img.ordering, img.caption \n\t\t \t\t\t\t\t  FROM (SELECT * FROM #__djcf_images WHERE type='item' ORDER BY ordering) img GROUP BY img.item_id ) AS img ON img.item_id=i.id " . "WHERE i.date_exp > '" . $date_exp . "' AND i.published = 1 AND c.published = 1 AND i.cat_id=c.id " . $promoted . $item_ids . $users_ids . $fallow_cat . $cat_list . $fallow_region . $region_list . $types_ids . $only_img . $source . "ORDER BY " . $ord . " limit " . $params->get('items_nr');
     $db->setQuery($query);
     $items = $db->loadObjectList();
     //echo '<pre>';print_r($db);die();
     return $items;
 }
Exemple #7
0
 public static function getItems($params)
 {
     $date_time = JFactory::getDate();
     $date_exp = $date_time->toSQL();
     $db = JFactory::getDBO();
     $user = JFactory::getUser();
     $ord = "i.date_start DESC";
     if ($params->get('items_ord') == 1) {
         $ord = "i.display DESC";
     } else {
         if ($params->get('items_ord') == 2) {
             $ord = "rand()";
         } else {
             if ($params->get('items_ord') == 3) {
                 $ord = "i.name";
             }
         }
     }
     $promoted = '';
     $prom_list = array();
     if ($params->get('only_p_special', '0') == 1) {
         $prom_list[] = " i.promotions LIKE '%p_special%' ";
     }
     if ($params->get('only_p_first', '0') == 1) {
         $prom_list[] = " i.promotions LIKE '%p_first%' ";
     }
     if ($params->get('only_p_bold', '0') == 1) {
         $prom_list[] = " i.promotions LIKE '%p_bold%' ";
     }
     if ($params->get('only_p_border', '0') == 1) {
         $prom_list[] = " i.promotions LIKE '%p_border%' ";
     }
     if ($params->get('only_p_bg', '0') == 1) {
         $prom_list[] = " i.promotions LIKE '%p_bg%' ";
     }
     if (count($prom_list) == 1) {
         $promoted = ' AND ' . $prom_list[0] . ' ';
     } else {
         if (count($prom_list) > 1) {
             $promoted = ' AND (' . implode(' OR ', $prom_list) . ') ';
         }
     }
     $item_ids = $params->get('items_ids', '');
     if ($item_ids) {
         $item_ids = ' AND i.id IN (' . $item_ids . ')';
     } else {
         $item_ids = '';
     }
     $users_ids = $params->get('users_ids', '');
     if ($users_ids) {
         $users_ids = ' AND i.user_id IN (' . $users_ids . ')';
     } else {
         $users_ids = '';
     }
     $types_ids_v = $params->get('type_id', '');
     $types_ids = '';
     if (is_array($types_ids_v)) {
         if (count($types_ids_v)) {
             $types_ids = ' AND i.type_id IN (' . implode(',', $types_ids_v) . ')';
         }
     }
     $cat_ids = $params->get('cat_id', '0');
     $cid = JRequest::getInt('cid', '0');
     $fallow_cat = '';
     $cat_list = '';
     if ($params->get('fallow_category') == 1 && JRequest::getVar('option', '') == 'com_djclassifieds' && $cid > 0) {
         $djcfcatlib = new DJClassifiedsCategory();
         $cats = $djcfcatlib->getSubCat($cid, 1);
         $catlist = $cid;
         foreach ($cats as $c) {
             $catlist .= ',' . $c->id;
         }
         $fallow_cat = ' AND i.cat_id IN (' . $catlist . ') ';
     } else {
         if (is_array($cat_ids)) {
             if (count($cat_ids) > 1) {
                 $cat_list = ' AND i.cat_id IN (' . implode(',', $cat_ids) . ') ';
             } else {
                 if (isset($cat_ids[0])) {
                     if ($cat_ids[0] > 0) {
                         $cat_list = ' AND i.cat_id = ' . $cat_ids[0] . ' ';
                     }
                 }
             }
         }
     }
     $reg_ids = $params->get('region_id', '0');
     $fallow_region = '';
     $region_list = '';
     if ($params->get('fallow_region', '0') == 1 && JRequest::getVar('option', '') == 'com_djclassifieds') {
         $djcfreglib = new DJClassifiedsRegion();
         if (JRequest::getVar('view', '') == 'item') {
             $id = JRequest::getInt('id', '0');
             $query = "SELECT i.region_id FROM #__djcf_items i " . "WHERE i.id=" . $id . " LIMIT 1";
             $db->setQuery($query);
             $region_id = $db->loadResult();
             if ($region_id) {
                 $regs = $djcfreglib->getSubReg($region_id);
                 $reglist = $region_id;
                 foreach ($regs as $r) {
                     $reglist .= ',' . $r->id;
                 }
                 $fallow_region = ' AND i.region_id IN (' . $reglist . ') ';
             }
         } else {
             if (JRequest::getVar('view', '') == 'items' && JRequest::getInt('se', '') == 1 && isset($_GET['se_regs'])) {
                 if (is_array($_GET['se_regs'])) {
                     $reg_id_se = end($_GET['se_regs']);
                     if ($reg_id_se == '' && count($_GET['se_regs']) > 2) {
                         $reg_id_se = $_GET['se_regs'][count($_GET['se_regs']) - 2];
                     }
                 } else {
                     $reg_ids_se = explode(',', JRequest::getVar('se_regs'));
                     $reg_id_se = end($reg_ids_se);
                 }
                 $reg_id_se = (int) $reg_id_se;
                 if ($reg_id_se) {
                     $regs = $djcfreglib->getSubReg($reg_id_se);
                     $reglist = $reg_id_se;
                     foreach ($regs as $r) {
                         $reglist .= ',' . $r->id;
                     }
                     $fallow_region = ' AND i.region_id IN (' . $reglist . ') ';
                 }
             }
         }
     }
     if (is_array($reg_ids) && $fallow_region == '') {
         if (count($reg_ids) > 1) {
             $region_list = ' AND i.region_id IN (' . implode(',', $reg_ids) . ') ';
         } else {
             if (isset($reg_ids[0])) {
                 if ($reg_ids[0] > 0) {
                     $region_list = ' AND i.region_id = ' . $reg_ids[0] . ' ';
                 }
             }
         }
     }
     $only_img = '';
     $search_img_count_lj = '';
     if ($params->get('only_with_img', '0') == 1) {
         //$only_img = " AND img.name !='' ";
         $only_img .= " AND img.img_c>0 ";
         $search_img_count_lj = "LEFT JOIN ( SELECT COUNT(img.id) as img_c, img.item_id FROM #__djcf_images img\r\n\t\t\t\t\t\t\t\t\tWHERE img.type='item' GROUP BY item_id ) img ON i.id=img.item_id ";
     }
     $source = '';
     $fav_lj = '';
     $fav_s = '';
     if ($user->id) {
         if ($params->get('items_source', '0') == 1) {
             $source = ' AND i.user_id=' . $user->id . ' ';
         } else {
             if ($params->get('items_source', '0') == 2) {
                 $fav_lj = "LEFT JOIN ( SELECT * FROM #__djcf_favourites WHERE user_id=" . $user->id . ") f ON i.id=f.item_id ";
                 $fav_s = ',f.id as f_id ';
                 $source = " AND f.id IS NOT NULL ";
             }
         }
     }
     $groups_acl = '0,' . implode(',', $user->getAuthorisedViewLevels());
     $access_view = " AND c.access_view IN (" . $groups_acl . ") ";
     $current_ad = '';
     if (JRequest::getVar('option', '') == 'com_djclassifieds' && JRequest::getVar('view', '') == 'item' && JRequest::getInt('id', 0) > 0) {
         $current_ad = ' AND i.id!=' . JRequest::getInt('id', 0) . ' ';
     }
     $adult_restriction = '';
     if (!isset($_COOKIE["djcf_warning18"])) {
         $adult_restriction .= " AND c.restriction_18=0 ";
     }
     $query = "SELECT i.*,c.id as c_id, c.name as c_name,c.alias as c_alias,c.icon_url as c_icon_url, r.name as r_name " . $fav_s . "FROM #__djcf_categories c, #__djcf_items i " . $search_img_count_lj . "LEFT JOIN #__djcf_regions r ON r.id=i.region_id " . $fav_lj . "WHERE i.date_exp > '" . $date_exp . "' AND i.published = 1 AND c.published = 1 AND i.cat_id=c.id " . $promoted . $item_ids . $users_ids . $fallow_cat . $cat_list . $fallow_region . $region_list . $types_ids . $only_img . $source . $access_view . $current_ad . $adult_restriction . "ORDER BY " . $ord . " limit " . $params->get('items_nr');
     $db->setQuery($query);
     $items = $db->loadObjectList();
     //echo '<pre>';print_r($db);die();
     if (count($items)) {
         $id_list = '';
         foreach ($items as $item) {
             if ($id_list) {
                 $id_list .= ',' . $item->id;
             } else {
                 $id_list .= $item->id;
             }
         }
         $items_img = DJClassifiedsImage::getAdsImages($id_list);
         for ($i = 0; $i < count($items); $i++) {
             $img_found = 0;
             $items[$i]->images = array();
             foreach ($items_img as $img) {
                 if ($items[$i]->id == $img->item_id) {
                     $img_found = 1;
                     $items[$i]->images[] = $img;
                 } else {
                     if ($img_found) {
                         break;
                     }
                 }
             }
         }
     }
     return $items;
 }