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();
 }
Example #3
0
 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();
 }
Example #5
0
 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();
 }
Example #9
0
 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();
 }