コード例 #1
0
ファイル: Referrer.php プロジェクト: greench/prestashop
 public static function refreshCache($referrers = null, $employee = null)
 {
     if (!$referrers or !is_array($referrers)) {
         $referrers = Db::getInstance()->ExecuteS('SELECT id_referrer FROM ' . _DB_PREFIX_ . 'referrer');
     }
     foreach ($referrers as $row) {
         $referrer = new Referrer((int) $row['id_referrer']);
         $statsVisits = $referrer->getStatsVisits(null, $employee);
         $referrer->cache_visitors = $statsVisits['uniqs'];
         $referrer->cache_visits = $statsVisits['visits'];
         $referrer->cache_pages = $statsVisits['pages'];
         $registrations = $referrer->getRegistrations(null, $employee);
         $referrer->cache_registrations = (int) $registrations;
         $statsSales = $referrer->getStatsSales(null, $employee);
         $referrer->cache_orders = (int) $statsSales['orders'];
         $referrer->cache_sales = number_format($statsSales['sales'], 2, '.', '');
         $referrer->cache_reg_rate = $statsVisits['uniqs'] ? (int) $registrations / $statsVisits['uniqs'] : 0;
         $referrer->cache_order_rate = $statsVisits['uniqs'] ? (int) $statsSales['orders'] / $statsVisits['uniqs'] : 0;
         if (!$referrer->update()) {
             Tools::dieObject(mysql_error());
         }
         Configuration::updateValue('PS_REFERRERS_CACHE_LIKE', ModuleGraph::getDateBetween($employee));
         Configuration::updateValue('PS_REFERRERS_CACHE_DATE', date('Y-m-d H:i:s'));
     }
     return true;
 }