Пример #1
0
 public static function helperAvatarResize($avatarUrl, $size)
 {
     if (defined('BDIMAGE_IS_WORKING')) {
         // use [bd] Image to resize avatars
         // TODO: read XenForo_Model_Avatar::$_sizes for this?
         switch ($size) {
             case 's':
                 $size = 48;
                 break;
             case 'm':
                 $size = 96;
                 break;
             case 'l':
             default:
                 if (!is_int($size)) {
                     $size = 192;
                 }
         }
         $avatarUrl = bdImage_Integration::buildThumbnailLink($avatarUrl, $size);
     }
     return $avatarUrl;
 }
Пример #2
0
 protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject)
 {
     if (empty($widget['options']['url'])) {
         return '';
     }
     if (empty($widget['options']['limit'])) {
         $widget['options']['limit'] = 5;
     }
     $core = WidgetFramework_Core::getInstance();
     $feedModel = $core->getModelFromCache('XenForo_Model_Feed');
     $feedUrl = $widget['options']['url'];
     $feedData = $feedModel->getFeedData($feedUrl);
     $feedConfig = array();
     $feedConfig['baseUrl'] = $feedModel->getFeedBaseUrl($feedUrl);
     $entries = array();
     if (!empty($feedData['entries'])) {
         foreach ($feedData['entries'] as $entryRaw) {
             $entry = array();
             $entryRaw = $feedModel->prepareFeedEntry($entryRaw, $feedData, $feedConfig);
             $entry['link'] = $entryRaw['link'];
             $entry['author'] = $entryRaw['author'];
             $entry['title'] = $entryRaw['title'];
             $entry['content'] = $entryRaw['content'];
             if (class_exists('bdImage_Integration')) {
                 // out source the image processing + handling to [bd] Image
                 $entry['bdImage_image'] = bdImage_Integration::getBbCodeImage($entryRaw['content']);
             } else {
                 // TODO: support other method?
             }
             $entries[] = $entry;
             if (count($entries) >= $widget['options']['limit']) {
                 // we have got enough entries, stop here
                 break;
             }
         }
     }
     $renderTemplateObject->setParam('entries', $entries);
     return $renderTemplateObject->render();
 }