Esempio n. 1
0
 /**
  * solo acepta pattern + location + stats, category
  *
  */
 public function getPremiums($max = 2)
 {
     $premium_sql = $this->_makeSQLPremium($max);
     // make premium sql
     $result = $this->dao->query($premium_sql);
     $items = $result->result();
     $mStat = ItemStats::newInstance();
     foreach ($items as $item) {
         $mStat->increase('i_num_premium_views', $item['pk_i_id']);
     }
     return Item::newInstance()->extendData($items);
 }
Esempio n. 2
0
 public function getPremiums($max = 2)
 {
     $this->order(sprintf('order_premium_views', DB_TABLE_PREFIX), 'ASC');
     $this->page(0, $max);
     $this->addField(sprintf('sum(%st_item_stats.i_num_premium_views) as total_premium_views', DB_TABLE_PREFIX));
     $this->addField(sprintf('(sum(%st_item_stats.i_num_premium_views) + sum(%st_item_stats.i_num_premium_views)*RAND()*0.7 + TIMESTAMPDIFF(DAY,%st_item.dt_pub_date,\'%s\')*0.3) as order_premium_views', DB_TABLE_PREFIX, DB_TABLE_PREFIX, DB_TABLE_PREFIX, date('Y-m-d H:i:s')));
     $this->addTable(sprintf('%st_item_stats', DB_TABLE_PREFIX));
     $this->addConditions(sprintf('%st_item_stats.fk_i_item_id = %st_item.pk_i_id', DB_TABLE_PREFIX, DB_TABLE_PREFIX));
     $this->addConditions(sprintf("%st_item.b_premium = 1", DB_TABLE_PREFIX));
     $items = $this->doSearch(false);
     $mStat = ItemStats::newInstance();
     foreach ($items as $item) {
         $mStat->increase('i_num_premium_views', $item['pk_i_id']);
     }
     return Item::newInstance()->extendData($items);
 }
Esempio n. 3
0
        /**
         * Mark an item
         * @param int $id
         * @param string $as
         */
        public function mark( $id, $as )
        {
            switch ($as) {
                case 'spam':
                    $column = 'i_num_spam';
                break;
                case 'badcat':
                    $column = 'i_num_bad_classified';
                break;
                case 'offensive':
                    $column = 'i_num_offensive';
                break;
                case 'repeated':
                    $column = 'i_num_repeated';
                break;
                case 'expired':
                    $column = 'i_num_expired';
                break;
            }

            ItemStats::newInstance()->increase( $column, $id );
        }
Esempio n. 4
0
/**
 * return number of views of current item
 *
 * @return int
 */
function osc_item_views()
{
    $item = osc_item();
    if (isset($item['i_num_views'])) {
        return (int) osc_item_field("i_num_views");
    } else {
        return ItemStats::newInstance()->getViews(osc_item_id());
    }
}