/**
  * Метод загрузки данных
  *
  * @param Sppc_Dashboard_DateRange $range
  */
 protected function loadResults(Sppc_Dashboard_DateRange $range, $sortField = '', $sortDirection = '')
 {
     // Подключаем объект фидов
     $this->CI->load->model('feeds');
     /* @var $feeds Feeds */
     $feeds = $this->CI->feeds;
     if (empty($sortField)) {
         $sortField = $this->getSortField();
     }
     if (empty($sortDirection)) {
         $sortDirection = $this->getSortDirection();
     }
     // Формируем колонки
     $this->addColumn('name', 'Feed Name');
     $this->addColumn('impressions', 'Impressions', 'numeric', 'desc');
     $this->addColumn('clicks', 'Clicks', 'numeric', 'desc');
     $this->addColumn('ctr', '% CTR', 'numeric', 'desc');
     $this->addColumn('revenue', 'Earnings', 'numeric', 'desc');
     // Получаем данные по фидам
     $rowsData = $feeds->top($sortField, $sortDirection, array('from' => $range->getUnixStartDate(), 'to' => $range->getUnixEndDate()));
     foreach ($rowsData as $data) {
         $rowData = array(type_to_str($data['title'], 'encode'), type_to_str($data['impressions'], 'integer'), type_to_str($data['clicks'], 'integer'), type_to_str($data['ctr'], 'procent'), type_to_str($data['revenue'], 'money'));
         $this->addRow($rowData);
     }
     // Устанавливаем title
     $this->title = sprintf(__('Top Feeds (%d)'), count($rowsData));
 }
Example #2
0
 /**
  * Метод загрузки данных
  *
  * @param Sppc_Dashboard_DateRange $range
  */
 protected function loadResults(Sppc_Dashboard_DateRange $range)
 {
     // Получаем данные за период
     $this->CI->load->model('entity');
     $stat = $this->CI->entity->publisher_get_line_stat($range->getUnixStartDate(), $range->getUnixEndDate());
     // Формируем данные для графиков
     $this->addTab('revenue', __('Earnings'), $stat['revenue']);
     $this->addTab('impressions', __('Impressions'), $stat['impressions']);
     $this->addTab('clicks', __('Clicks'), $stat['clicks']);
     $this->addTab('ctr', __('% CTR'), $stat['ctr']);
     foreach ($this->_hooks as $hookObj) {
         $tabs = $hookObj->addTabs($stat);
         foreach ($tabs as $tab) {
             $this->addTab($tab['name'], $tab['title'], $tab['data']);
         }
     }
 }
Example #3
0
 /**
  * Метод загрузки данных
  *
  * @param Sppc_Dashboard_DateRange $range
  */
 protected function loadResults(Sppc_Dashboard_DateRange $range)
 {
     // Получаем данные за период
     $this->CI->load->model('entity');
     $stat = $this->CI->entity->publisher_range_stat(array('from' => $range->getUnixStartDate(), 'to' => $range->getUnixEndDate()));
     // Формируем строки для отображения
     $this->addRow(__('Total Earnings'), type_to_str($stat['revenue'], 'money'));
     $this->addRow(__('Total Impressions'), type_to_str($stat['impressions'], 'integer'));
     $this->addRow(__('Total Clicks'), type_to_str($stat['clicks'], 'integer'));
     $this->addRow(__('CTR'), type_to_str($stat['ctr'], 'procent'));
     // add additional summary performance fields from plugins
     foreach ($this->_hooks as $hookObj) {
         $fields = $hookObj->addSummaryPerformanceFields($stat);
         foreach ($fields as $field) {
             $this->addRow($field['title'], $field['value']);
         }
     }
 }
 /**
  * Метод загрузки данных
  *
  * @param Sppc_Dashboard_DateRange $range
  */
 protected function loadResults(Sppc_Dashboard_DateRange $range, $sortField = '', $sortDirection = '')
 {
     // Подключаем нужный объект
     $this->CI->load->model('site');
     /* @var $sites Site */
     $sites = $this->CI->site;
     if (empty($sortField)) {
         $sortField = $this->getSortField();
     }
     if (empty($sortDirection)) {
         $sortDirection = $this->getSortDirection();
     }
     // Формируем колонки
     $this->addColumn('name', 'Site Name');
     $this->addColumn('impressions', 'Impressions', 'numeric', 'desc');
     $this->addColumn('clicks', 'Clicks', 'numeric', 'desc');
     $this->addColumn('ctr', '% CTR', 'numeric', 'desc');
     $this->addColumn('revenue', 'Earnings', 'numeric', 'desc');
     // add additional columns from plugins
     foreach ($this->_hooks as $hookObj) {
         $columns = $hookObj->addColumns($this);
         foreach ($columns as $column) {
             $this->addColumn($column['name'], $column['title'], $column['type'], $column['order']);
         }
     }
     // Получаем данные по фидам
     $rowsData = $sites->top(null, $sortField, $sortDirection, array('from' => $range->getUnixStartDate(), 'to' => $range->getUnixEndDate()));
     foreach ($rowsData as $data) {
         $code = type_to_str($data['id_publisher'], 'textcode');
         $rowData = array(limit_str_and_hint($data['name'], 20) . " (<a target='_blank' href='http://{$data['url']}'>{$data['url']}</a>)", type_to_str($data['impressions'], 'integer'), type_to_str($data['clicks'], 'integer'), type_to_str($data['ctr'], 'procent'), type_to_str($data['revenue'], 'money'));
         // add data for addtional columns from plugins
         foreach ($this->_hooks as $hookObj) {
             $rowData = $hookObj->addColumnsData($data, $rowData);
         }
         $this->addRow($rowData);
     }
     // Устанавливаем title
     $this->title = sprintf(__('Top Sites (%d)'), count($rowsData));
 }
 /**
  * Метод загрузки данных
  *
  * @param Sppc_Dashboard_DateRange $range
  */
 protected function loadResults(Sppc_Dashboard_DateRange $range, $sortField = '', $sortDirection = '')
 {
     // Подключаем нужный объект
     $this->CI->load->model('entity');
     /* @var $entities Entity */
     $entities = $this->CI->entity;
     if (empty($sortField)) {
         $sortField = $this->getSortField();
     }
     if (empty($sortDirection)) {
         $sortDirection = $this->getSortDirection();
     }
     // Формируем колонки
     $this->addColumn('name', 'Advertiser');
     $this->addColumn('impressions', 'Impressions', 'numeric', 'desc');
     $this->addColumn('clicks', 'Clicks', 'numeric', 'desc');
     $this->addColumn('ctr', '% CTR', 'numeric', 'desc');
     $this->addColumn('revenue', 'Earnings', 'numeric', 'desc');
     // add additional columns from plugins
     foreach ($this->_hooks as $hookObj) {
         $columns = $hookObj->addColumns($this);
         foreach ($columns as $column) {
             $this->addColumn($column['name'], $column['title'], $column['type'], $column['order']);
         }
     }
     // Получаем данные по фидам
     $rowsData = $entities->top_advertisers($sortField, $sortDirection, array('from' => $range->getUnixStartDate(), 'to' => $range->getUnixEndDate()));
     foreach ($rowsData as $idEntity => $data) {
         $code = type_to_str($idEntity, 'textcode');
         $rowData = array(type_to_str($data['name'], 'encode') . " ({$data['email']})", type_to_str($data['impressions'], 'integer'), type_to_str($data['clicks'], 'integer'), type_to_str($data['ctr'], 'procent'), type_to_str($data['revenue'], 'money'));
         // add data for addtional columns from plugins
         foreach ($this->_hooks as $hookObj) {
             $rowData = $hookObj->addColumnsData($data, $rowData);
         }
         $this->addRow($rowData);
     }
     // Устанавливаем title
     $this->title = sprintf(__('Top Advertisers (%d)'), count($rowsData));
 }
Example #6
0
 /**
  * подготавливает данные статистики для периода времени по умолчанию,
  * callback-функция для библиотеки form
  *
  * @param integer $id не используется (обязательный параметр callback-функции)
  * @return array пустой массив (обязательное возвращаемое значение callback-функции)
  */
 public function _load()
 {
     // Загружаем данные по класса Sppc_Dashboard_DateRange
     $className = get_class($this->range);
     if (!$this->range->isSpecifiedRange()) {
         $fields = period_load($className, $this->range->getUnixStartDate(), $this->range->getUnixEndDate());
     } else {
         $fields = array('from' => $this->range->getUnixStartDate(), 'to' => $this->range->getUnixEndDate(), 'period' => '', 'mode' => 'range');
     }
     return $fields;
 }