本文整理匯總了PHP中Thelia\Model\ConfigQuery::getAdminCacheHomeStatsTTL方法的典型用法代碼示例。如果您正苦於以下問題:PHP ConfigQuery::getAdminCacheHomeStatsTTL方法的具體用法?PHP ConfigQuery::getAdminCacheHomeStatsTTL怎麽用?PHP ConfigQuery::getAdminCacheHomeStatsTTL使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Thelia\Model\ConfigQuery
的用法示例。
在下文中一共展示了ConfigQuery::getAdminCacheHomeStatsTTL方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: loadStatsAjaxAction
public function loadStatsAjaxAction()
{
if (null !== ($response = $this->checkAuth(self::RESOURCE_CODE, array(), AccessManager::VIEW))) {
return $response;
}
$cacheExpire = ConfigQuery::getAdminCacheHomeStatsTTL();
/** @var AdapterInterface $cacheAdapter */
$cacheAdapter = $this->container->get('thelia.cache');
$month = (int) $this->getRequest()->query->get('month', date('m'));
$year = (int) $this->getRequest()->query->get('year', date('Y'));
$cacheKey = self::STATS_CACHE_KEY . "_" . $month . "_" . $year;
$cacheItem = $cacheAdapter->getItem($cacheKey);
// force flush
if ($this->getRequest()->query->get('flush', "0")) {
$cacheAdapter->deleteItem($cacheItem);
}
if (!$cacheItem->isHit()) {
$data = $this->getStatus($month, $year);
$cacheItem->set(json_encode($data));
$cacheItem->expiresAfter($cacheExpire);
if ($cacheExpire) {
$cacheAdapter->save($cacheItem);
}
}
return $this->jsonResponse($cacheItem->get());
}
示例2: loadStatsAjaxAction
public function loadStatsAjaxAction()
{
if (null !== ($response = $this->checkAuth(self::RESOURCE_CODE, array(), AccessManager::VIEW))) {
return $response;
}
$cacheExpire = ConfigQuery::getAdminCacheHomeStatsTTL();
$cacheContent = false;
$month = (int) $this->getRequest()->query->get('month', date('m'));
$year = (int) $this->getRequest()->query->get('year', date('Y'));
if ($cacheExpire) {
$context = "_" . $month . "_" . $year;
$cacheKey = self::STATS_CACHE_KEY . $context;
$cacheDriver = new FilesystemCache($this->getCacheDir());
if (!$this->getRequest()->query->get('flush', "0")) {
$cacheContent = $cacheDriver->fetch($cacheKey);
} else {
$cacheDriver->delete($cacheKey);
}
}
if ($cacheContent === false) {
$data = new \stdClass();
$data->title = $this->getTranslator()->trans("Stats on %month/%year", ['%month' => $month, '%year' => $year]);
/* sales */
$saleSeries = new \stdClass();
$saleSeries->color = self::testHexColor('sales_color', '#adadad');
$saleSeries->data = OrderQuery::getMonthlySaleStats($month, $year);
/* new customers */
$newCustomerSeries = new \stdClass();
$newCustomerSeries->color = self::testHexColor('customers_color', '#f39922');
$newCustomerSeries->data = CustomerQuery::getMonthlyNewCustomersStats($month, $year);
/* orders */
$orderSeries = new \stdClass();
$orderSeries->color = self::testHexColor('orders_color', '#5cb85c');
$orderSeries->data = OrderQuery::getMonthlyOrdersStats($month, $year);
/* first order */
$firstOrderSeries = new \stdClass();
$firstOrderSeries->color = self::testHexColor('first_orders_color', '#5bc0de');
$firstOrderSeries->data = OrderQuery::getFirstOrdersStats($month, $year);
/* cancelled orders */
$cancelledOrderSeries = new \stdClass();
$cancelledOrderSeries->color = self::testHexColor('cancelled_orders_color', '#d9534f');
$cancelledOrderSeries->data = OrderQuery::getMonthlyOrdersStats($month, $year, array(5));
$data->series = array($saleSeries, $newCustomerSeries, $orderSeries, $firstOrderSeries, $cancelledOrderSeries);
$cacheContent = json_encode($data);
if ($cacheExpire) {
$cacheDriver->save($cacheKey, $cacheContent, $cacheExpire);
}
}
return $this->jsonResponse($cacheContent);
}