function update_cat_stats() { //$manager = CategoryStats::newInstance(); $conn = getConnection(); $sql_cats = "SELECT pk_i_id FROM " . DB_TABLE_PREFIX . "t_category"; $cats = $conn->osc_dbFetchResults($sql_cats); foreach ($cats as $c) { $date = date('Y-m-d H:i:s', mktime(0, 0, 0, date("m") - 1, date("d"), date("Y"))); $sql = sprintf("SELECT COUNT(pk_i_id) as total, fk_i_category_id as category FROM `%st_item` WHERE `dt_pub_date` > '%s' AND fk_i_category_id = %d GROUP BY fk_i_category_id", DB_TABLE_PREFIX, $date, $c['pk_i_id']); $total = $conn->osc_dbFetchResult($sql); $total = $total['total']; /*$manager->update( array( 'i_num_items' => $total ), array('fk_i_category_id' => $c['pk_i_id']) );*/ $conn->osc_dbExec("INSERT INTO %st_category_stats (fk_i_category_id, i_num_items) VALUES (%d, %d) ON DUPLICATE KEY UPDATE i_num_items = %d", DB_TABLE_PREFIX, $c['pk_i_id'], $total, $total); } $categories = Category::newInstance()->findRootCategories(); foreach ($categories as $c) { /*$manager->update( array( 'i_num_items' => count_items_subcategories($c) ), array('fk_i_category_id' => $c['pk_i_id']) );*/ $total = count_items_subcategories($c); //$conn->osc_dbExec("INSERT INTO %st_category_stats (fk_i_category_id, i_num_items) VALUES (%d, %d) ON DUPLICATE KEY UPDATE i_num_items = %d", DB_TABLE_PREFIX, $c['pk_i_id'], $total, $total); } }
function update_cat_stats() { $conn = getConnection(); $sql_cats = "SELECT pk_i_id, i_expiration_days FROM " . DB_TABLE_PREFIX . "t_category"; $cats = $conn->osc_dbFetchResults($sql_cats); foreach ($cats as $c) { if ($c['i_expiration_days'] == 0) { $sql = sprintf("SELECT COUNT(pk_i_id) as total, fk_i_category_id as category FROM `%st_item` WHERE fk_i_category_id = %d AND b_enabled = 1 AND b_active = 1 GROUP BY fk_i_category_id", DB_TABLE_PREFIX, $c['pk_i_id']); } else { $sql = sprintf("SELECT COUNT(pk_i_id) as total, fk_i_category_id as category FROM `%st_item` WHERE fk_i_category_id = %d AND b_enabled = 1 AND b_active = 1 AND (b_premium = 1 || TIMESTAMPDIFF(DAY,dt_pub_date,'%s') < %d) GROUP BY fk_i_category_id", DB_TABLE_PREFIX, $c['pk_i_id'], date('Y-m-d H:i:s'), $c['i_expiration_days']); } $total = $conn->osc_dbFetchResult($sql); $total = $total['total']; $conn->osc_dbExec("INSERT INTO %st_category_stats (fk_i_category_id, i_num_items) VALUES (%d, %d) ON DUPLICATE KEY UPDATE i_num_items = %d", DB_TABLE_PREFIX, $c['pk_i_id'], $total, $total); } $categories = Category::newInstance()->findRootCategories(); foreach ($categories as $c) { $total = count_items_subcategories($c); } }