Ejemplo n.º 1
0
 protected function _addUrls(&$menuItems)
 {
     $codes = Model::factory('Page')->getCachedCodes();
     $resourceIds = array();
     $resourcesData = array();
     foreach ($menuItems as $k => &$v) {
         if (isset($codes[$v['page_id']])) {
             $v['page_code'] = $codes[$v['page_id']];
         } else {
             $v['page_code'] = '';
         }
         if ($v['link_type'] === 'resource') {
             $resourceIds[] = $v['resource_id'];
         }
     }
     unset($v);
     if (!empty($resourceIds)) {
         $resourceIds = array_unique($resourceIds);
         $data = Model::factory('Medialib')->getItems($resourceIds, array('id', 'path'));
         if (!empty($data)) {
             $resourcesData = Utils::rekey('id', $data);
         }
     }
     foreach ($menuItems as $k => &$v) {
         $v['link_url'] = '';
         switch ($v['link_type']) {
             case 'page':
                 $v['link_url'] = Request::url(array($v['page_code']));
                 break;
             case 'url':
                 $v['link_url'] = $v['url'];
                 break;
             case 'resource':
                 if (isset($resourcesData[$v['resource_id']])) {
                     $v['link_url'] = Model_Medialib::addWebRoot($resourcesData[$v['resource_id']]['path']);
                 }
                 break;
         }
     }
     unset($v);
 }
Ejemplo n.º 2
0
 /**
  * Get item data
  */
 public function getitemAction()
 {
     $id = Request::post('id', 'integer', false);
     if (!$id) {
         Response::jsonError();
     }
     $item = Model::factory('Medialib')->getItem($id);
     if ($item['type'] == 'image') {
         $item['srcpath'] = Model_Medialib::addWebRoot(str_replace($item['ext'], '', $item['path']));
     } else {
         $item['srcPath'] = '';
     }
     $item['thumbnail'] = Model_Medialib::getImgPath($item['path'], $item['ext'], 'thumbnail', true);
     $item['icon'] = Model_Medialib::getImgPath($item['path'], $item['ext'], 'icon', true);
     $item['path'] = Model_Medialib::addWebRoot($item['path']);
     Response::jsonSuccess($item);
 }