예제 #1
0
파일: User.php 프로젝트: vgrish/dvelum
 /**
  * Find user avatar
  * Will be used for sharding
  * @param integer $userId
  * @param string $userName
  * @param string $avatarPath
  * @param string $size - optional size tag
  */
 public static function findAvatar($userId, $userName, $avatarPath, $size = 'thumb')
 {
     if (!strlen($avatarPath)) {
         return '/media/user/avatar/unknown_user.png';
     }
     return Model_Medialib::getImgPath($avatarPath, '.jpg', $size);
 }
예제 #2
0
파일: Menu.php 프로젝트: vgrish/dvelum
 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);
 }
예제 #3
0
파일: Medialib.php 프로젝트: vgrish/dvelum
 /**
  * Include required sources
  */
 public function includeScripts()
 {
     $version = Config::factory(Config::File_Array, Registry::get('main', 'config')->get('configs') . 'versions.php')->get('medialib');
     if (self::$_scriptsIncluded) {
         return;
     }
     $conf = $this->getConfig()->__toArray();
     $resource = Resource::getInstance();
     $resource->addCss('/js/lib/jquery.Jcrop.css');
     $editor = Registry::get('main', 'config')->get('html_editor');
     if ($editor === 'tinymce') {
         $resource->addJs('/js/lib/tiny_mce/tiny_mce.js', 0, true);
         $resource->addJs('/js/lib/ext_ux/Ext.ux.TinyMCE.js', 1, true);
         $resource->addJs('/js/app/system/medialib/HtmlPanel_tinymce.js', 3);
     } elseif ($editor === 'ckeditor') {
         $resource->addJs('/js/lib/ckeditor/ckeditor.js', 0, true);
         $resource->addJs('/js/lib/ext_ux/ckplugin.js', 1, true);
         $resource->addJs('/js/app/system/medialib/HtmlPanel_ckeditor.js', 3);
     }
     $resource->addJs('/js/lib/ext_ux/AjaxFileUpload.js', 1, false);
     $resource->addJs('/js/app/system/SearchPanel.js', 1);
     $resource->addJs('/js/app/system/ImageField.js', 1);
     $resource->addJs('/js/app/system/MedialinkField.js', 1);
     $resource->addJs('/js/app/system/Medialib.js?v=' . $version, 2);
     $resource->addJs('/js/lib/jquery.Jcrop.min.js', 2, true);
     $resource->addInlineJs('
   	app.maxFileSize = "' . ini_get('upload_max_filesize') . '";
   	app.mediaConfig = ' . json_encode($conf) . ';
   	app.imageSize = ' . json_encode($conf['image']['sizes']) . ';
   	app.medialibControllerName = "medialib";
 ');
     self::$_scriptsIncluded = true;
 }
예제 #4
0
 /**
  * Get item info for mediaitem field
  */
 public function infoAction()
 {
     $id = Request::post('id', 'integer', false);
     if (!$id) {
         Response::jsonSuccess(array('exists' => false));
     }
     $item = Model::factory('Medialib')->getItem($id);
     if (empty($item)) {
         Response::jsonSuccess(array('exists' => false));
     }
     if ($item['type'] == 'image') {
         $icon = Model_Medialib::getImgPath($item['path'], $item['ext'], 'thumbnail', true) . '?m=' . date('ymdhis', strtotime($item['modified']));
     } else {
         $icon = $this->_configMain->get('wwwroot') . 'i/unknown.png';
     }
     Response::jsonSuccess(array('exists' => true, 'type' => $item['type'], 'icon' => $icon, 'title' => $item['title'], 'size' => Utils::formatFileSize($item['size'])));
 }