public function renderKpis() { $time = time(); $kpis = array(); /* The data generation is located in AdminStatsControllerCore */ $helper = new HelperKpi(); $helper->id = 'box-pending-messages'; $helper->icon = 'icon-envelope'; $helper->color = 'color1'; $helper->href = $this->context->link->getAdminLink('AdminCustomerThreads'); $helper->title = $this->l('Pending Discussion Threads', null, null, false); if (ConfigurationKPI::get('PENDING_MESSAGES') !== false) { $helper->value = ConfigurationKPI::get('PENDING_MESSAGES'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=pending_messages'; $helper->refresh = (bool) (ConfigurationKPI::get('PENDING_MESSAGES_EXPIRE') < $time); $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-age'; $helper->icon = 'icon-time'; $helper->color = 'color2'; $helper->title = $this->l('Average Response Time', null, null, false); $helper->subtitle = $this->l('30 days', null, null, false); if (ConfigurationKPI::get('AVG_MSG_RESPONSE_TIME') !== false) { $helper->value = ConfigurationKPI::get('AVG_MSG_RESPONSE_TIME'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=avg_msg_response_time'; $helper->refresh = (bool) (ConfigurationKPI::get('AVG_MSG_RESPONSE_TIME_EXPIRE') < $time); $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-messages-per-thread'; $helper->icon = 'icon-copy'; $helper->color = 'color3'; $helper->title = $this->l('Messages per Thread', null, null, false); $helper->subtitle = $this->l('30 day', null, null, false); if (ConfigurationKPI::get('MESSAGES_PER_THREAD') !== false) { $helper->value = ConfigurationKPI::get('MESSAGES_PER_THREAD'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=messages_per_thread'; $helper->refresh = (bool) (ConfigurationKPI::get('MESSAGES_PER_THREAD_EXPIRE') < $time); $kpis[] = $helper->generate(); $helper = new HelperKpiRow(); $helper->kpis = $kpis; return $helper->generate(); }
public function renderKpis() { $time = time(); $kpis = array(); /* The data generation is located in AdminStatsControllerCore */ $helper = new HelperKpi(); $helper->id = 'box-installed-modules'; $helper->icon = 'icon-puzzle-piece'; $helper->color = 'color1'; $helper->title = $this->l('Installed Modules', null, null, false); if (ConfigurationKPI::get('INSTALLED_MODULES') !== false && ConfigurationKPI::get('INSTALLED_MODULES') != '') { $helper->value = ConfigurationKPI::get('INSTALLED_MODULES'); } if (ConfigurationKPI::get('INSTALLED_MODULES_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=installed_modules'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-disabled-modules'; $helper->icon = 'icon-off'; $helper->color = 'color2'; $helper->title = $this->l('Disabled Modules', null, null, false); if (ConfigurationKPI::get('DISABLED_MODULES') !== false && ConfigurationKPI::get('DISABLED_MODULES') != '') { $helper->value = ConfigurationKPI::get('DISABLED_MODULES'); } if (ConfigurationKPI::get('DISABLED_MODULES_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=disabled_modules'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-update-modules'; $helper->icon = 'icon-refresh'; $helper->color = 'color3'; $helper->title = $this->l('Modules to update', null, null, false); if (ConfigurationKPI::get('UPDATE_MODULES') !== false && ConfigurationKPI::get('UPDATE_MODULES') != '') { $helper->value = ConfigurationKPI::get('UPDATE_MODULES'); } if (ConfigurationKPI::get('UPDATE_MODULES_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=update_modules'; } $kpis[] = $helper->generate(); $helper = new HelperKpiRow(); $helper->kpis = $kpis; return $helper->generate(); }
public function renderKpis() { $time = time(); $kpis = array(); /* The data generation is located in AdminStatsControllerCore */ $helper = new HelperKpi(); $helper->id = 'box-conversion-rate'; $helper->icon = 'icon-sort-by-attributes-alt'; //$helper->chart = true; $helper->color = 'color1'; $helper->title = $this->l('Conversion Rate', null, null, false); $helper->subtitle = $this->l('30 days', null, null, false); if (ConfigurationKPI::get('CONVERSION_RATE') !== false) { $helper->value = ConfigurationKPI::get('CONVERSION_RATE'); } if (ConfigurationKPI::get('CONVERSION_RATE_CHART') !== false) { $helper->data = ConfigurationKPI::get('CONVERSION_RATE_CHART'); } if (ConfigurationKPI::get('CONVERSION_RATE_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=conversion_rate'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-carts'; $helper->icon = 'icon-shopping-cart'; $helper->color = 'color2'; $helper->title = $this->l('Abandoned Carts', null, null, false); $helper->subtitle = $this->l('Today', null, null, false); $helper->href = $this->context->link->getAdminLink('AdminCarts'); if (ConfigurationKPI::get('ABANDONED_CARTS') !== false) { $helper->value = ConfigurationKPI::get('ABANDONED_CARTS'); } if (ConfigurationKPI::get('ABANDONED_CARTS_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=abandoned_cart'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-average-order'; $helper->icon = 'icon-money'; $helper->color = 'color3'; $helper->title = $this->l('Average Order Value', null, null, false); $helper->subtitle = $this->l('30 days', null, null, false); if (ConfigurationKPI::get('AVG_ORDER_VALUE') !== false) { $helper->value = ConfigurationKPI::get('AVG_ORDER_VALUE'); } if (ConfigurationKPI::get('AVG_ORDER_VALUE_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=average_order_value'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-net-profit-visitor'; $helper->icon = 'icon-user'; $helper->color = 'color4'; $helper->title = $this->l('Net Profit per Visitor', null, null, false); $helper->subtitle = $this->l('30 days', null, null, false); if (ConfigurationKPI::get('NETPROFIT_VISITOR') !== false) { $helper->value = ConfigurationKPI::get('NETPROFIT_VISITOR'); } if (ConfigurationKPI::get('NETPROFIT_VISITOR_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=netprofit_visitor'; } $kpis[] = $helper->generate(); $helper = new HelperKpiRow(); $helper->kpis = $kpis; return $helper->generate(); }
public function renderKpis() { $time = time(); $kpis = array(); /* The data generation is located in AdminStatsControllerCore */ $helper = new HelperKpi(); $helper->id = 'box-gender'; $helper->icon = 'icon-male'; $helper->color = 'color1'; $helper->title = $this->l('Customers', null, null, false); $helper->subtitle = $this->l('All Time', null, null, false); if (ConfigurationKPI::get('CUSTOMER_MAIN_GENDER', $this->context->language->id) !== false) { $helper->value = ConfigurationKPI::get('CUSTOMER_MAIN_GENDER', $this->context->language->id); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=customer_main_gender'; $helper->refresh = (bool) (ConfigurationKPI::get('CUSTOMER_MAIN_GENDER_EXPIRE', $this->context->language->id) < $time); $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-age'; $helper->icon = 'icon-calendar'; $helper->color = 'color2'; $helper->title = $this->l('Average Age', 'AdminTab', null, false); $helper->subtitle = $this->l('All Time', null, null, false); if (ConfigurationKPI::get('AVG_CUSTOMER_AGE', $this->context->language->id) !== false) { $helper->value = ConfigurationKPI::get('AVG_CUSTOMER_AGE', $this->context->language->id); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=avg_customer_age'; $helper->refresh = (bool) (ConfigurationKPI::get('AVG_CUSTOMER_AGE_EXPIRE', $this->context->language->id) < $time); $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-orders'; $helper->icon = 'icon-retweet'; $helper->color = 'color3'; $helper->title = $this->l('Orders per Customer', null, null, false); $helper->subtitle = $this->l('All Time', null, null, false); if (ConfigurationKPI::get('ORDERS_PER_CUSTOMER') !== false) { $helper->value = ConfigurationKPI::get('ORDERS_PER_CUSTOMER'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=orders_per_customer'; $helper->refresh = (bool) (ConfigurationKPI::get('ORDERS_PER_CUSTOMER_EXPIRE') < $time); $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-newsletter'; $helper->icon = 'icon-envelope'; $helper->color = 'color4'; $helper->title = $this->l('Newsletter Registrations', null, null, false); $helper->subtitle = $this->l('All Time', null, null, false); if (ConfigurationKPI::get('NEWSLETTER_REGISTRATIONS') !== false) { $helper->value = ConfigurationKPI::get('NEWSLETTER_REGISTRATIONS'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=newsletter_registrations'; $helper->refresh = (bool) (ConfigurationKPI::get('NEWSLETTER_REGISTRATIONS_EXPIRE') < $time); $kpis[] = $helper->generate(); $helper = new HelperKpiRow(); $helper->kpis = $kpis; return $helper->generate(); }
public function renderKpis() { $time = time(); $kpis = array(); /* The data generation is located in AdminStatsControllerCore */ if (Configuration::get('PS_STOCK_MANAGEMENT')) { $helper = new HelperKpi(); $helper->id = 'box-products-stock'; $helper->icon = 'icon-archive'; $helper->color = 'color1'; $helper->title = $this->l('Items in Stock', null, null, false); if (ConfigurationKPI::get('PERCENT_PRODUCT_STOCK') !== false) { $helper->value = ConfigurationKPI::get('PERCENT_PRODUCT_STOCK'); } if (ConfigurationKPI::get('PERCENT_PRODUCT_STOCK_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=percent_product_stock'; } $kpis[] = $helper->generate(); } $helper = new HelperKpi(); $helper->id = 'box-avg-gross-margin'; $helper->icon = 'icon-tags'; $helper->color = 'color2'; $helper->title = $this->l('Average Gross Margin', null, null, false); if (ConfigurationKPI::get('PRODUCT_AVG_GROSS_MARGIN') !== false) { $helper->value = ConfigurationKPI::get('PRODUCT_AVG_GROSS_MARGIN'); } if (ConfigurationKPI::get('PRODUCT_AVG_GROSS_MARGIN_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=product_avg_gross_margin'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-8020-sales-catalog'; $helper->icon = 'icon-beaker'; $helper->color = 'color3'; $helper->title = $this->l('80% of your sales', null, null, false); $helper->subtitle = $this->l('30 days', null, null, false); if (ConfigurationKPI::get('8020_SALES_CATALOG') !== false) { $helper->value = ConfigurationKPI::get('8020_SALES_CATALOG'); } if (ConfigurationKPI::get('8020_SALES_CATALOG_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=8020_sales_catalog'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-disabled-products'; $helper->icon = 'icon-off'; $helper->color = 'color4'; $helper->href = $this->context->link->getAdminLink('AdminProducts'); $helper->title = $this->l('Disabled Products', null, null, false); if (ConfigurationKPI::get('DISABLED_PRODUCTS') !== false) { $helper->value = ConfigurationKPI::get('DISABLED_PRODUCTS'); } if (ConfigurationKPI::get('DISABLED_PRODUCTS_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=disabled_products'; } $kpis[] = $helper->generate(); $helper = new HelperKpiRow(); $helper->kpis = $kpis; return $helper->generate(); }
public function renderKpis() { $time = time(); $kpis = array(); /* The data generation is located in AdminStatsControllerCore */ if (Configuration::get('PS_STOCK_MANAGEMENT')) { $helper = new HelperKpi(); $helper->id = 'box-products-stock'; $helper->icon = 'icon-archive'; $helper->color = 'color1'; $helper->title = $this->l('Out of stock items', null, null, false); if (ConfigurationKPI::get('PERCENT_PRODUCT_OUT_OF_STOCK') !== false) { $helper->value = ConfigurationKPI::get('PERCENT_PRODUCT_OUT_OF_STOCK'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=percent_product_out_of_stock'; $helper->tooltip = $this->l('X% of your products for sale are out of stock.', null, null, false); $helper->refresh = (bool) (ConfigurationKPI::get('PERCENT_PRODUCT_OUT_OF_STOCK_EXPIRE') < $time); $helper->href = Context::getContext()->link->getAdminLink('AdminProducts') . '&productFilter_sav!quantity=0&productFilter_active=1&submitFilterproduct=1'; $kpis[] = $helper->generate(); } $helper = new HelperKpi(); $helper->id = 'box-avg-gross-margin'; $helper->icon = 'icon-tags'; $helper->color = 'color2'; $helper->title = $this->l('Average Gross Margin', null, null, false); if (ConfigurationKPI::get('PRODUCT_AVG_GROSS_MARGIN') !== false) { $helper->value = ConfigurationKPI::get('PRODUCT_AVG_GROSS_MARGIN'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=product_avg_gross_margin'; $helper->tooltip = $this->l('The gross margin is the difference between the retail price and the wholesale price, on all your products for sale.', null, null, false); $helper->refresh = (bool) (ConfigurationKPI::get('PRODUCT_AVG_GROSS_MARGIN_EXPIRE') < $time); $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-8020-sales-catalog'; $helper->icon = 'icon-beaker'; $helper->color = 'color3'; $helper->title = $this->l('Purchased references', null, null, false); $helper->subtitle = $this->l('30 days', null, null, false); if (ConfigurationKPI::get('8020_SALES_CATALOG') !== false) { $helper->value = ConfigurationKPI::get('8020_SALES_CATALOG'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=8020_sales_catalog'; $helper->tooltip = $this->l('X% of your references have been purchased for the past 30 days', null, null, false); $helper->refresh = (bool) (ConfigurationKPI::get('8020_SALES_CATALOG_EXPIRE') < $time); if (Module::isInstalled('statsbestproducts')) { $helper->href = Context::getContext()->link->getAdminLink('AdminStats') . '&module=statsbestproducts&datepickerFrom=' . date('Y-m-d', strtotime('-30 days')) . '&datepickerTo=' . date('Y-m-d'); } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-disabled-products'; $helper->icon = 'icon-off'; $helper->color = 'color4'; $helper->href = $this->context->link->getAdminLink('AdminProducts'); $helper->title = $this->l('Disabled Products', null, null, false); if (ConfigurationKPI::get('DISABLED_PRODUCTS') !== false) { $helper->value = ConfigurationKPI::get('DISABLED_PRODUCTS'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=disabled_products'; $helper->refresh = (bool) (ConfigurationKPI::get('DISABLED_PRODUCTS_EXPIRE') < $time); $helper->tooltip = $this->l('X% of your products are disabled and not visible to your customers', null, null, false); $helper->href = Context::getContext()->link->getAdminLink('AdminProducts') . '&productFilter_active=0&submitFilterproduct=1'; $kpis[] = $helper->generate(); $helper = new HelperKpiRow(); $helper->kpis = $kpis; return $helper->generate(); }
public function renderKpis() { $time = time(); $kpis = array(); /* The data generation is located in AdminStatsControllerCore */ $helper = new HelperKpi(); $helper->id = 'box-disabled-categories'; $helper->icon = 'icon-off'; $helper->color = 'color1'; $helper->title = $this->l('Disabled Categories', null, null, false); if (ConfigurationKPI::get('DISABLED_CATEGORIES') !== false) { $helper->value = ConfigurationKPI::get('DISABLED_CATEGORIES'); } if (ConfigurationKPI::get('DISABLED_CATEGORIES_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=disabled_categories'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-empty-categories'; $helper->icon = 'icon-bookmark-empty'; $helper->color = 'color2'; $helper->href = $this->context->link->getAdminLink('AdminTracking'); $helper->title = $this->l('Empty Categories', null, null, false); if (ConfigurationKPI::get('EMPTY_CATEGORIES') !== false) { $helper->value = ConfigurationKPI::get('EMPTY_CATEGORIES'); } if (ConfigurationKPI::get('EMPTY_CATEGORIES_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=empty_categories'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-top-category'; $helper->icon = 'icon-money'; $helper->color = 'color3'; $helper->title = $this->l('Top Category', null, null, false); $helper->subtitle = $this->l('30 days', null, null, false); if (ConfigurationKPI::get('TOP_CATEGORY', $this->context->employee->id_lang) !== false) { $helper->value = ConfigurationKPI::get('TOP_CATEGORY', $this->context->employee->id_lang); } if (ConfigurationKPI::get('TOP_CATEGORY_EXPIRE', $this->context->employee->id_lang) < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=top_category'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-products-per-category'; $helper->icon = 'icon-search'; $helper->color = 'color4'; $helper->title = $this->l('Average number of products per category', null, null, false); if (ConfigurationKPI::get('PRODUCTS_PER_CATEGORY') !== false) { $helper->value = ConfigurationKPI::get('PRODUCTS_PER_CATEGORY'); } if (ConfigurationKPI::get('PRODUCTS_PER_CATEGORY_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=products_per_category'; } $kpis[] = $helper->generate(); $helper = new HelperKpiRow(); $helper->kpis = $kpis; return $helper->generate(); }
public function renderKpis() { $time = time(); $kpis = array(); /* The data generation is located in AdminStatsControllerCore */ $helper = new HelperKpi(); $helper->id = 'box-languages'; $helper->icon = 'icon-microphone'; $helper->color = 'color1'; $helper->title = $this->l('Enabled Languages', null, null, false); if (ConfigurationKPI::get('ENABLED_LANGUAGES') !== false) { $helper->value = ConfigurationKPI::get('ENABLED_LANGUAGES'); } if (ConfigurationKPI::get('ENABLED_LANGUAGES_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=enabled_languages'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-country'; $helper->icon = 'icon-home'; $helper->color = 'color2'; $helper->title = $this->l('Main Country', null, null, false); $helper->subtitle = $this->l('30 Days', null, null, false); if (ConfigurationKPI::get('MAIN_COUNTRY', $this->context->language->id) !== false) { $helper->value = ConfigurationKPI::get('MAIN_COUNTRY', $this->context->language->id); } if (ConfigurationKPI::get('MAIN_COUNTRY_EXPIRE', $this->context->language->id) < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=main_country'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-translations'; $helper->icon = 'icon-list'; $helper->color = 'color3'; $helper->title = $this->l('Front Office Translations', null, null, false); if (ConfigurationKPI::get('FRONTOFFICE_TRANSLATIONS') !== false) { $helper->value = ConfigurationKPI::get('FRONTOFFICE_TRANSLATIONS'); } if (ConfigurationKPI::get('FRONTOFFICE_TRANSLATIONS_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=frontoffice_translations'; } $kpis[] = $helper->generate(); $helper = new HelperKpiRow(); $helper->kpis = $kpis; return $helper->generate(); }
public function renderKpis() { $time = time(); $kpis = array(); /* The data generation is located in AdminStatsControllerCore */ $helper = new HelperKpi(); $helper->id = 'box-conversion-rate'; $helper->icon = 'icon-sort-by-attributes-alt'; //$helper->chart = true; $helper->color = 'color1'; $helper->title = $this->trans('Conversion Rate', array(), 'Admin.Global'); $helper->subtitle = $this->trans('30 days', array(), 'Admin.Global'); if (ConfigurationKPI::get('CONVERSION_RATE') !== false) { $helper->value = ConfigurationKPI::get('CONVERSION_RATE'); } if (ConfigurationKPI::get('CONVERSION_RATE_CHART') !== false) { $helper->data = ConfigurationKPI::get('CONVERSION_RATE_CHART'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=conversion_rate'; $helper->refresh = (bool) (ConfigurationKPI::get('CONVERSION_RATE_EXPIRE') < $time); $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-carts'; $helper->icon = 'icon-shopping-cart'; $helper->color = 'color2'; $helper->title = $this->trans('Abandoned Carts', array(), 'Admin.OrdersCustomers.Feature'); $date_from = date(Context::getContext()->language->date_format_lite, strtotime('-2 day')); $date_to = date(Context::getContext()->language->date_format_lite, strtotime('-1 day')); $helper->subtitle = $this->trans('From %date1% to %date2%', array('%date1%' => $date_from, '%date2%' => $date_to), 'Admin.OrdersCustomers.Feature'); $helper->href = $this->context->link->getAdminLink('AdminCarts') . '&action=filterOnlyAbandonedCarts'; if (ConfigurationKPI::get('ABANDONED_CARTS') !== false) { $helper->value = ConfigurationKPI::get('ABANDONED_CARTS'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=abandoned_cart'; $helper->refresh = (bool) (ConfigurationKPI::get('ABANDONED_CARTS_EXPIRE') < $time); $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-average-order'; $helper->icon = 'icon-money'; $helper->color = 'color3'; $helper->title = $this->trans('Average Order Value', array(), 'Admin.OrdersCustomers.Feature'); $helper->subtitle = $this->trans('30 days', array(), 'Admin.Global'); if (ConfigurationKPI::get('AVG_ORDER_VALUE') !== false) { $helper->value = $this->trans('%amount% tax excl.', array('%amount%' => ConfigurationKPI::get('AVG_ORDER_VALUE')), 'Admin.OrdersCustomers.Feature'); } if (ConfigurationKPI::get('AVG_ORDER_VALUE_EXPIRE') < $time) { $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=average_order_value'; } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-net-profit-visitor'; $helper->icon = 'icon-user'; $helper->color = 'color4'; $helper->title = $this->trans('Net Profit per Visitor', array(), 'Admin.OrdersCustomers.Feature'); $helper->subtitle = $this->trans('30 days', array(), 'Admin.Global'); if (ConfigurationKPI::get('NETPROFIT_VISITOR') !== false) { $helper->value = ConfigurationKPI::get('NETPROFIT_VISITOR'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=netprofit_visitor'; $helper->refresh = (bool) (ConfigurationKPI::get('NETPROFIT_VISITOR_EXPIRE') < $time); $kpis[] = $helper->generate(); $helper = new HelperKpiRow(); $helper->kpis = $kpis; return $helper->generate(); }
public function renderKpis() { $time = time(); $kpis = array(); /* The data generation is located in AdminStatsControllerCore */ if (Configuration::get('PS_STOCK_MANAGEMENT')) { $helper = new HelperKpi(); $helper->id = 'box-products-stock'; $helper->icon = 'local_shipping'; $helper->color = 'color1'; $helper->title = $this->l('Out of stock items', null, null, false); if (ConfigurationKPI::get('PERCENT_PRODUCT_OUT_OF_STOCK') !== false) { $helper->value = ConfigurationKPI::get('PERCENT_PRODUCT_OUT_OF_STOCK'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=percent_product_out_of_stock'; $helper->tooltip = sprintf($this->l('%s of your products for sale are out of stock.', null, null, false), $helper->value); $helper->refresh = (bool) (ConfigurationKPI::get('PERCENT_PRODUCT_OUT_OF_STOCK_EXPIRE') < $time); $product_token = Tools::getAdminToken('AdminProducts' . (int) Tab::getIdFromClassName('AdminProducts') . (int) Context::getContext()->employee->id); $urlParams = ['filter_column_sav_quantity' => '<=0', 'filter_column_active' => '1', 'token' => $product_token, 'submitFilterproduct' => 1]; $helper->href = preg_replace("/\\?.*\$/", '?tab=AdminProducts&productFilter_sav!quantity=0&productFilter_active=1&submitFilterproduct=1&token=' . $product_token, Context::getContext()->link->getAdminLink('AdminProducts', true, $urlParams)); $kpis[] = $helper->generate(); } $helper = new HelperKpi(); $helper->id = 'box-avg-gross-margin'; $helper->icon = 'label'; $helper->color = 'color2'; $helper->title = $this->l('Average Gross Margin %', null, null, false); if (ConfigurationKPI::get('PRODUCT_AVG_GROSS_MARGIN') !== false) { $helper->value = ConfigurationKPI::get('PRODUCT_AVG_GROSS_MARGIN'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=product_avg_gross_margin'; $helper->tooltip = sprintf($this->l('Gross margin expressed in percentage assesses how cost-effectively you sell your goods. Out of $100, you will retain $%s to cover profit and expenses.', null, null, false), str_replace('%', '', $helper->value)); $helper->refresh = (bool) (ConfigurationKPI::get('PRODUCT_AVG_GROSS_MARGIN_EXPIRE') < $time); $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-8020-sales-catalog'; $helper->icon = 'whatshot'; $helper->color = 'color3'; $helper->title = $this->l('Catalog popularity', null, null, false); $helper->subtitle = $this->l('30 days', null, null, false); if (ConfigurationKPI::get('8020_SALES_CATALOG') !== false) { $helper->value = ConfigurationKPI::get('8020_SALES_CATALOG'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=8020_sales_catalog'; $helper->tooltip = sprintf($this->l('Within your catalog, %s of your products have had sales in the last 30 days', null, null, false), $helper->value); $helper->refresh = (bool) (ConfigurationKPI::get('8020_SALES_CATALOG_EXPIRE') < $time); $moduleManagerBuilder = ModuleManagerBuilder::getInstance(); $moduleManager = $moduleManagerBuilder->build(); if ($moduleManager->isInstalled('statsbestproducts')) { $helper->href = Context::getContext()->link->getAdminLink('AdminStats') . '&module=statsbestproducts&datepickerFrom=' . date('Y-m-d', strtotime('-30 days')) . '&datepickerTo=' . date('Y-m-d'); } $kpis[] = $helper->generate(); $helper = new HelperKpi(); $helper->id = 'box-disabled-products'; $helper->icon = 'visibility_off'; $helper->color = 'color4'; $helper->title = $this->l('Disabled Products', null, null, false); if (ConfigurationKPI::get('DISABLED_PRODUCTS') !== false) { $helper->value = ConfigurationKPI::get('DISABLED_PRODUCTS'); } $helper->source = $this->context->link->getAdminLink('AdminStats') . '&ajax=1&action=getKpi&kpi=disabled_products'; $helper->refresh = (bool) (ConfigurationKPI::get('DISABLED_PRODUCTS_EXPIRE') < $time); $helper->tooltip = sprintf($this->l('%s of your products are disabled and not visible to your customers', null, null, false), $helper->value); $product_token = Tools::getAdminToken('AdminProducts' . (int) Tab::getIdFromClassName('AdminProducts') . (int) Context::getContext()->employee->id); $urlParams = ['filter_column_active' => '0', 'token' => $product_token, 'submitFilterproduct' => 1]; $helper->href = preg_replace("/\\?.*\$/", '?tab=AdminProducts&productFilter_active=0&submitFilterproduct=1&token=' . $product_token, Context::getContext()->link->getAdminLink('AdminProducts', true, $urlParams)); $kpis[] = $helper->generate(); $helper = new HelperKpiRow(); $helper->kpis = $kpis; return $helper->generate(); }