/** * Gets total number of all items today * * @return string */ function osc_total_items_today() { $search = new Search(true); $search->addConditions(sprintf('DATEDIFF(\'%s\', %st_item.dt_pub_date) < 1', date('Y-m-d H:i:s'), DB_TABLE_PREFIX)); return $search->count(); }
function __construct($params) { $this->_get = $params; $this->getDBParams(); $mSearch = new Search(true); $mSearch->limit($this->start, $this->limit); $mSearch->order($this->order_by['column_name'], $this->order_by['type'], $this->order_by['table_name']); if (Params::getParam("catId") != "") { $mSearch->addCategory(Params::getParam("catId")); } if ($this->search) { //$mSearch->addConditions(sprintf("(d.s_title LIKE '%%%s%%' OR d.s_description LIKE '%%%s%%')", $this->search, $this->search)); $mSearch->addConditions(sprintf("MATCH(d.s_title, d.s_description) AGAINST('%s' IN BOOLEAN MODE)", $this->search)); } if (@$this->stat['spam']) { $this->extraCols++; $this->sExtraCol['i_num_spam'] = true; $mSearch->addField('SUM(s.`i_num_spam`) as i_num_spam'); $mSearch->addConditions("s.`i_num_spam` > 0"); $mSearch->addConditions(sprintf("%st_item.pk_i_id = s.fk_i_item_id", DB_TABLE_PREFIX)); $mSearch->addTable(sprintf("%st_item_stats s", DB_TABLE_PREFIX)); } if (@$this->stat['duplicated']) { $this->extraCols++; $this->sExtraCol['i_num_repeated'] = true; $mSearch->addField('SUM(s.`i_num_repeated`) as i_num_repeated'); $mSearch->addConditions("s.`i_num_repeated` > 0"); $mSearch->addConditions(sprintf(" %st_item.pk_i_id = s.fk_i_item_id", DB_TABLE_PREFIX)); $mSearch->addTable(sprintf("%st_item_stats s", DB_TABLE_PREFIX)); } if (@$this->stat['bad']) { $this->extraCols++; $this->sExtraCol['i_num_bad_classified'] = true; $mSearch->addField('SUM(s.`i_num_bad_classified`) as i_num_bad_classified'); $mSearch->addConditions("s.`i_num_bad_classified` > 0"); $mSearch->addConditions(sprintf(" %st_item.pk_i_id = s.fk_i_item_id", DB_TABLE_PREFIX)); $mSearch->addTable(sprintf("%st_item_stats s", DB_TABLE_PREFIX)); } if (@$this->stat['offensive']) { $this->extraCols++; $this->sExtraCol['i_num_offensive'] = true; $mSearch->addField('SUM(s.`i_num_offensive`) as i_num_offensive'); $mSearch->addConditions("s.`i_num_offensive` > 0"); $mSearch->addConditions(sprintf(" %st_item.pk_i_id = s.fk_i_item_id", DB_TABLE_PREFIX)); $mSearch->addTable(sprintf("%st_item_stats s", DB_TABLE_PREFIX)); } if (@$this->stat['expired']) { $this->extraCols++; $this->sExtraCol['i_num_expired'] = true; $mSearch->addField('SUM(s.`i_num_expired`) as i_num_expired'); $mSearch->addConditions("s.`i_num_expired` > 0"); $mSearch->addConditions(sprintf(" %st_item.pk_i_id = s.fk_i_item_id", DB_TABLE_PREFIX)); $mSearch->addTable(sprintf("%st_item_stats s", DB_TABLE_PREFIX)); } foreach ($this->filters as $aFilter) { $sFilter = ""; if ($aFilter[1] == 'NULL') { $sFilter .= $aFilter[0] . " IS NULL"; } else { $sFilter .= $aFilter[0] . " = '" . $aFilter[1] . "'"; } $sFilter = sprintf($sFilter, DB_TABLE_PREFIX); $mSearch->addConditions($sFilter); } // do Search $list_items = $mSearch->doSearch(true); $this->result = Item::newInstance()->extendCategoryName(Item::newInstance()->extendData($list_items)); $this->filtered_total = $mSearch->count(); $this->total = count($list_items); //TEMPORARY FIX $this->toDatatablesFormat(); $this->dumpToDatatables(); }
function seo_sitemap_generator() { $start_time = microtime(true); $min = 1; $show_items = ''; if (Params::getParam('sitemap_items') != '') { $show_items = Params::getParam('sitemap_items'); } else { $show_items = osc_get_preference('allSeo_sitemap_items', 'plugin-all_in_one') != '' ? osc_get_preference('allSeo_sitemap_items', 'plugin-all_in_one') : ''; } $limit_items = ''; if (Params::getParam('sitemap_items_limit') != '') { $limit_items = Params::getParam('sitemap_items_limit'); } else { $limit_items = osc_get_preference('allSeo_sitemap_items_limit', 'plugin-all_in_one') != '' ? osc_get_preference('allSeo_sitemap_items_limit', 'plugin-all_in_one') : ''; } $limit_items = intval($limit_items); $locales = osc_get_locales(); $filename = osc_base_path() . 'sitemap.xml'; //link sitemap @unlink($filename); //remove original sitemap $start_xml = '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL . '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">' . PHP_EOL; file_put_contents($filename, $start_xml); // INDEX seo_sitemap_add_url(osc_base_url(), date('Y-m-d'), 'always'); $categories = Category::newInstance()->listAll(false); $countries = Country::newInstance()->listAll(); foreach ($categories as $c) { $search = new Search(); $search->addCategory($c['pk_i_id']); if ($search->count() >= $min) { seo_sitemap_add_url(osc_search_url(array('sCategory' => $c['s_slug'])), date('Y-m-d'), 'hourly'); foreach ($countries as $country) { if (count($countries) > 1) { $search = new Search(); $search->addCategory($c['pk_i_id']); $search->addCountry($country['pk_c_code']); if ($search->count() > $min) { seo_sitemap_add_url(osc_search_url(array('sCategory' => $c['s_slug'], 'sCountry' => $country['s_name'])), date('Y-m-d'), 'hourly'); } } $regions = Region::newInstance()->findByCountry($country['pk_c_code']); foreach ($regions as $region) { $search = new Search(); $search->addCategory($c['pk_i_id']); $search->addCountry($country['pk_c_code']); $search->addRegion($region['pk_i_id']); if ($search->count() > $min) { seo_sitemap_add_url(osc_search_url(array('sCategory' => $c['s_slug'], 'sCountry' => $country['s_name'], 'sRegion' => $region['s_name'])), date('Y-m-d'), 'hourly'); $cities = City::newInstance()->findByRegion($region['pk_i_id']); foreach ($cities as $city) { $search = new Search(); $search->addCategory($c['pk_i_id']); $search->addCountry($country['pk_c_code']); $search->addRegion($region['pk_i_id']); $search->addCity($city['pk_i_id']); if ($search->count() > $min) { seo_sitemap_add_url(osc_search_url(array('sCategory' => $c['s_slug'], 'sCountry' => $country['s_name'], 'sRegion' => $region['s_name'], 'sCity' => $city['s_name'])), date('Y-m-d'), 'hourly'); } } } } } } } foreach ($countries as $country) { $regions = Region::newInstance()->findByCountry($country['pk_c_code']); foreach ($regions as $region) { $cities = CityStats::newInstance()->listCities($region['pk_i_id']); $l = min(count($cities), 30); for ($k = 0; $k < $l; $k++) { if ($cities[$k]['items'] > $min) { seo_sitemap_add_url(osc_search_url(array('sCountry' => $country['s_name'], 'sRegion' => $region['s_name'], 'sCity' => $cities[$k]['city_name'])), date('Y-m-d'), 'hourly'); } } } } // ITEMS if ($show_items == 1) { $max_secure = 10000; $mSearch = new Search(); $mSearch->limit(0, $limit_items); // fetch number of item for sitemap $aItems = $mSearch->doSearch(); View::newInstance()->_exportVariableToView('items', $aItems); //exporting our searched item array if (osc_count_items() > 0) { $i = 0; while (osc_has_items() and $i < $limit_items and $i < $max_secure) { seo_sitemap_add_url(osc_item_url(), substr(osc_item_mod_date() != '' ? osc_item_mod_date() : osc_item_pub_date(), 0, 10), 'daily'); $i++; } } } $end_xml = '</urlset>'; file_put_contents($filename, $end_xml, FILE_APPEND); // PING SEARCH ENGINES seo_sitemap_ping_engines(); $time_elapsed = microtime(true) - $start_time; return $time_elapsed; }
<?php // meta tag robots osc_add_hook('header', 'pop_follow_construct'); pop_add_body_class('home'); $listClass = ''; osc_current_web_theme_path('header.php'); ?> <?php $mSearch = new Search(); $aItems = $mSearch->doSearch(); $iTotalItems = $mSearch->count(); $iNumPages = ceil($iTotalItems / osc_default_results_per_page_at_search()); View::newInstance()->_exportVariableToView('search_total_pages', $iNumPages); View::newInstance()->_exportVariableToView('items', $aItems); if (osc_count_items() == 0) { ?> <div class="clear"></div> <p class="empty"><?php _e("There aren't listings available at this moment", 'pop'); ?> </p> <?php } else { ?> <?php View::newInstance()->_exportVariableToView("listType", 'latestItems'); View::newInstance()->_exportVariableToView("listClass", $listClass); osc_current_web_theme_path('loop.php'); ?>
/** * Gets total number of all items today * * @return string */ function osc_total_items_today() { $search = new Search(true); $search->addConditions(sprintf('TIMESTAMPDIFF(DAY,%st_item.dt_pub_date,\'%s\') < 1', DB_TABLE_PREFIX, date('Y-m-d H:i:s'))); return $search->count(); }