Example #1
0
/**
 * 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();
}
Example #2
0
 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');
    ?>
Example #5
0
/**
 * 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();
}