public function resources()
 {
     //init controller data
     $this->extensions->hk_InitData($this, __FUNCTION__);
     $rm = new AResourceManager();
     $rm->setType($this->request->get['type']);
     $uri = '&type=' . $this->request->get['type'] . '&language_id=' . $this->request->get['language_id'];
     $filter_data = array('type_id' => $rm->getTypeId(), 'language_id' => $this->request->get['language_id']);
     if (!empty($this->request->get['keyword'])) {
         $filter_data['keyword'] = $this->request->get['keyword'];
         $uri .= '&keyword=' . $this->request->get['keyword'];
     }
     if (!empty($this->request->get['object_name'])) {
         $filter_data['object_name'] = $this->request->get['object_name'];
         $uri .= '&object_name=' . $this->request->get['object_name'];
     }
     if (!empty($this->request->get['object_id'])) {
         $filter_data['object_id'] = $this->request->get['object_id'];
         $uri .= '&object_id=' . $this->request->get['object_id'];
     }
     if (isset($this->request->get['page'])) {
         $page = $this->request->get['page'];
         if ((int) $page < 1) {
             $page = 1;
         }
         $filter_data['page'] = $page;
         $filter_data['limit'] = 12;
     }
     if (!empty($this->request->get['sort'])) {
         $filter_data['sort'] = $this->request->get['sort'];
     } else {
         $filter_data['sort'] = 'sort_order';
     }
     $result = array('items' => $rm->getResourcesList($filter_data), 'pagination' => '', 'object_name' => $this->request->get['object_name'], 'object_id' => $this->request->get['object_id']);
     foreach ($result['items'] as $key => $item) {
         $result['items'][$key]['thumbnail_url'] = $rm->getResourceThumb($item['resource_id'], $this->thumb_sizes['width'], $this->thumb_sizes['height'], $item['language_id']);
         $result['items'][$key]['url'] = $rm->buildResourceURL($item['resource_path'], 'full');
         $result['items'][$key]['relative_url'] = $rm->buildResourceURL($item['resource_path'], 'relative');
         $result['items'][$key]['can_delete'] = $result['items'][$key]['mapped'] == 1 ? true : false;
     }
     if (isset($this->request->get['page'])) {
         $resources_total = $rm->getResourcesList($filter_data, true);
         if ($resources_total > 12) {
             $result['pagination'] = (string) HtmlElementFactory::create(array('type' => 'Pagination', 'name' => 'pagination', 'text' => $this->language->get('text_pagination'), 'text_limit' => $this->language->get('text_per_page'), 'total' => $resources_total, 'page' => $page, 'limit' => 12, 'url' => $this->html->getSecureURL('common/resource_library/resources', $uri . '&page={page}'), 'style' => 'pagination'));
         }
     }
     //update controller data
     $this->extensions->hk_UpdateData($this, __FUNCTION__);
     $this->load->library('json');
     $this->response->addJSONHeader();
     $this->response->setOutput(AJson::encode($result));
 }
Exemplo n.º 2
0
 public function resources()
 {
     $rm = new AResourceManager();
     $rm->setType($this->request->get['type']);
     $pagination_param = '&type=' . $this->request->get['type'] . '&language_id=' . $this->request->get['language_id'];
     $search_data = array('type_id' => $rm->getTypeId(), 'language_id' => $this->request->get['language_id']);
     if (!empty($this->request->get['keyword'])) {
         $search_data['keyword'] = $this->request->get['keyword'];
         $pagination_param .= '&keyword=' . $this->request->get['keyword'];
     }
     if (!empty($this->request->get['object_name'])) {
         $search_data['object_name'] = $this->request->get['object_name'];
         $pagination_param .= '&object_name=' . $this->request->get['object_name'];
     }
     if (!empty($this->request->get['object_id'])) {
         $search_data['object_id'] = $this->request->get['object_id'];
         $pagination_param .= '&object_id=' . $this->request->get['object_id'];
     }
     if (isset($this->request->get['page'])) {
         $page = $this->request->get['page'];
         if ((int) $page < 1) {
             $page = 1;
         }
         $search_data['page'] = $page;
         $search_data['limit'] = 12;
     }
     $result = array('items' => $rm->getResourcesList($search_data), 'pagination' => '');
     foreach ($result['items'] as $key => $item) {
         $result['items'][$key]['thumbnail_url'] = $rm->getResourceThumb($item['resource_id'], $this->thumb_sizes['width'], $this->thumb_sizes['height'], $item['language_id']);
         $result['items'][$key]['url'] = $rm->buildResourceURL($item['resource_path'], 'full');
         $result['items'][$key]['relative_url'] = $rm->buildResourceURL($item['resource_path'], 'relative');
     }
     if (isset($this->request->get['page'])) {
         $resources_total = $rm->getResourcesList($search_data, true);
         if ($resources_total > 12) {
             $result['pagination'] = (string) HtmlElementFactory::create(array('type' => 'Pagination', 'name' => 'pagination', 'text' => $this->language->get('text_pagination'), 'text_limit' => $this->language->get('text_per_page'), 'total' => $resources_total, 'page' => $page, 'limit' => 12, 'url' => $this->html->getSecureURL('common/resource_library/resources', $pagination_param . '&page={page}'), 'style' => 'pagination'));
         }
     }
     $this->load->library('json');
     $this->response->addJSONHeader();
     $this->response->setOutput(AJson::encode($result));
 }