protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $visitor = XenForo_Visitor::getInstance(); if (XenForo_Permission::hasPermission($visitor['permissions'], 'moturdrn_gw2api', 'verified')) { require_once "library/Moturdrn/TS3GW2Auth/Includes/TeamSpeak3/ts3admin.class.php"; $tsAdmin = new ts3admin(XenForo_Application::getOptions()->ts3gw2auth_ts3server, XenForo_Application::getOptions()->ts3gw2auth_ts3sqport); if ($tsAdmin->getElement('success', $tsAdmin->connect())) { $tsAdmin->login(XenForo_Application::getOptions()->ts3gw2auth_ts3username, XenForo_Application::getOptions()->ts3gw2auth_ts3password); $tsAdmin->selectServer(XenForo_Application::getOptions()->ts3gw2auth_ts3port); } $ts3server = array(); $serverinfo = $tsAdmin->serverInfo(); $ts3server['server_name'] = $serverinfo['data']['virtualserver_name']; $ts3server['connected_clients'] = $serverinfo['data']['virtualserver_clientsonline']; $channellist = $tsAdmin->channelList("-topic -flags -voice -limits -icon"); $clientlist = $tsAdmin->clientList("-uid -away -voice -times -groups -info -country -icon -ip -badges"); foreach ($channellist['data'] as $channelInfo) { $ts3server['channellist'][$channelInfo['cid']] = $channelInfo; } foreach ($clientlist['data'] as $clientInfo) { if ($clientInfo['client_type'] == 1) { $this->subtractClient($ts3server['channellist'], $clientInfo['cid']); } else { $ts3server['clientlist'][] = $clientInfo; } } $ts3server['channellist'] = $this->buildTree($ts3server['channellist']); $ts3server['clientlist'] = $this->array_orderby($ts3server['clientlist'], 'client_talk_power', SORT_DESC, 'client_nickname', SORT_ASC); $output = ""; foreach ($ts3server['channellist'] as $channel) { $output .= $this->outputChannel($channel, $ts3server['clientlist']); } $tsOutput = <<<HTML <b><a href="https://www.gunnars-hold.eu/resources/gunnars-hold-ts-information.10/" class='tschannellink'>* Connection & Server Details</a></b><br /> <b><a href='ts3server://ts3.gunnars-hold.eu/?port=9987' class='tschannellink'>* Or Click Here To Connect Now!</a></b><br /><br /> {$output} HTML; } else { $tsOutput = 'You cannot view this item'; } $renderTemplateObject->setParam('tsOutput', $tsOutput); return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { if (!XenForo_Visitor::getInstance()->hasPermission('modm_ajaxchat', 'ajax_chat_view')) { return ""; } /* @var $ajaxChatModel MODM_AJAXChat_Model_Chat */ $ajaxChatModel = XenForo_Model::create("MODM_AJAXChat_Model_Chat"); // Removes inactive users $ajaxChatModel->checkAndRemoveInactive(); // Get online users for all accessible channels: $channels = $ajaxChatModel->getChannels(); // Add the own private channel if allowed: if ($ajaxChatModel->isAllowedToCreatePrivateChannel()) { array_push($channels, $ajaxChat->getPrivateChannelID()); } // Add the invitation channels: foreach ($ajaxChatModel->getInvitations() as $channelID) { if (!in_array($channelID, $channels)) { array_push($channels, $channelID); } } $userNames = $ajaxChatModel->getOnlineUsers($channels); /* @var $userModel XenForo_Model_User */ $userModel = XenForo_Model::create("XenForo_Model_User"); $guestUsers = array(); $ajaxChat['onlineUsers'] = $userModel->getUsersByNames($userNames, array(), $guestUsers); $ajaxChat['members'] = count($ajaxChat['onlineUsers']); $ajaxChat['guests'] = XenForo_Application::getOptions()->get('modm_ajaxchat_options_allowguests') != "0" ? count($guestUsers) : null; $ajaxChat['total'] = $ajaxChat['members'] + $ajaxChat['guests']; $ajaxChat['limit'] = $ajaxChat['members'] < 10 ? $ajaxChat['members'] : 10; $ajaxChat['recordsUnseen'] = $ajaxChat['members'] > $ajaxChat['limit'] ? true : false; $renderTemplateObject->setParam('AjaxChat', $ajaxChat); return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { if (empty($widget['options']['limit'])) { $widget['options']['limit'] = 5; } if (empty($widget['options']['order'])) { $widget['options']['order'] = 'register_date'; } if (empty($widget['options']['direction'])) { $widget['options']['direction'] = 'DESC'; } $users = false; // try to be smart and get the users data if they happen to be available if ($positionCode == 'member_list') { if ($widget['options']['limit'] == 12 && $widget['options']['order'] == 'message_count' and !empty($params['activeUsers'])) { $users = $params['activeUsers']; } if ($widget['options']['limit'] == 8 && $widget['options']['order'] == 'register_date' and !empty($params['latestUsers'])) { $users = $params['latestUsers']; } } if ($users === false) { /** @var XenForo_Model_User $userModel */ $userModel = WidgetFramework_Core::getInstance()->getModelFromCache('XenForo_Model_User'); $conditions = array('user_state' => 'valid', 'is_banned' => 0); $fetchOptions = array('limit' => $widget['options']['limit'], 'order' => $widget['options']['order'], 'direction' => $widget['options']['direction']); $users = $userModel->getUsers($conditions, $fetchOptions); } $renderTemplateObject->setParam('users', $users); return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $renderTemplateObject->setParams($params); if (!isset($params['url'])) { // try to detect the correct url for different templates $autoDetectedUrl = false; switch ($positionCode) { case 'forum_list': $autoDetectedUrl = XenForo_Link::buildPublicLink('canonical:forums'); break; case 'forum_view': $autoDetectedUrl = XenForo_Link::buildPublicLink('canonical:forums', $params['forum']); break; case 'member_view': // this widget on member_view, seriously? $autoDetectedUrl = XenForo_Link::buildPublicLink('canonical:members', $params['user']); break; case 'resource_author_view': $autoDetectedUrl = XenForo_Link::buildPublicLink('canonical:resources/authors', $params['user']); break; case 'resource_view': $autoDetectedUrl = XenForo_Link::buildPublicLink('canonical:resources', $params['resource']); break; case 'thread_view': $autoDetectedUrl = XenForo_Link::buildPublicLink('canonical:threads', $params['thread']); break; } if ($autoDetectedUrl !== false) { $renderTemplateObject->setParam('url', $autoDetectedUrl); } } return $renderTemplateObject->render(); }
/** * Renders the specified template and returns the output. * * @return string */ public function render() { if (!isset($this->_params['_styleId'])) { $this->_params['_styleId'] = self::$_styleId; } return parent::render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $mediaCloudModel = XenForo_Model::create('EWRmedio_Model_Keywords'); // $model = XenForo_Model::create('EWRporta_Model_Options'); // $option = $model->getOptionById('MediaCloud'); $options = XenForo_Application::get('options'); $sidebar['keywords'] = $mediaCloudModel->getKeywordCloud($options->EWRmedio_cloudcount, $options->EWRmedio_mincloud, $options->EWRmedio_maxcloud); if ($options->EWRmedio_animatedcloud && $sidebar['keywords']) { $sidebar['animated'] = $mediaCloudModel->getAnimatedCloud($sidebar['keywords']); } /* $limit = $option['limit']; $mincloud = $option['mincloud']; $maxcloud = $option['maxcloud']; $animated = $option['animated']; $cloud['keywords'] = $mediaCloudModel->getKeywordCloud($limit, $mincloud, $maxcloud); if ($animated && $cloud['keywords']) { $cloud['animated'] = $mediaCloudModel->getAnimatedCloud($cloud['keywords']); }*/ $viewParams = array('MediaCloud' => $sidebar); $renderTemplateObject->setParams($viewParams); return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $params = $renderTemplateObject->getParams(); $params['taigachat']['alt'] = true; $params['taigachat_alt'] = true; $renderTemplateObject->setParams($params); return $renderTemplateObject->render(); }
/** * Required method: prepare data or whatever to get the render template ready to * be rendered. * * @param array $widget * @param string $positionCode * @param array $params * @param XenForo_Template_Abstract $renderTemplateObject */ protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $minecraftServerModel = $this->_getMinecraftServerModel(); //Get all active minecraft servers from the database $minecraftServers = $minecraftServerModel->prepareMinecraftServers($minecraftServerModel->getAllActiveMinecraftServers()); $renderTemplateObject->setParam('minecraftServers', $minecraftServers); return $renderTemplateObject->render(); }
protected function _render(array $widget, $templateName, array $params, XenForo_Template_Abstract $renderTemplateObject) { $userModel = WidgetFramework_Core::getInstance()->getModelFromCache('XenForo_Model_User'); $fetchOptions = array(); $users = $userModel->getTopUsers($widget['options']); $renderTemplateObject->setParam('users', $users); return $renderTemplateObject->render(); }
/** * Renders the widget. * Add variables to the template obj: $renderTemplateObject->setParam('users', $users); * @param array $widget * @param string $positionCode * @param array $params * @param XenForo_Template_Abstract $renderTemplateObject * @return string */ protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $carouselModel = $this->_getCarouselModel(); // Get posts and attachments. $posts = $carouselModel->getThreadAndPostDataFromWidgetId($widget['widget_id'], 0); $renderTemplateObject->setParam('posts', $posts); $renderTemplateObject->setParam('widget_id', $widget['widget_id']); return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $limit = XenForo_Application::getOptions()->get('xengalleryShowRecentComments', 'limit'); if (!empty($widget['options']['limit'])) { $limit = $widget['options']['limit']; } $renderTemplateObject->setParam('limit', $limit); $renderTemplateObject->setParam('title', $this->extraPrepareTitle($widget)); return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $options = XenForo_Application::get('options'); if ($options->dark_taigachat_sidebar) { $taigamodel = XenForo_Model::create('Dark_TaigaChat_Model_TaigaChat'); $onlineUsersTaiga = $taigamodel->getActivityUserList(); $renderTemplateObject->setParam('taigachat', array('online' => $onlineUsersTaiga)); } return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { if (!XenForo_Visitor::getInstance()->hasPermission('modm_ajaxchat', 'ajax_chat_view')) { return ""; } /* @var $ajaxChatModel MODM_AJAXChat_Model_Chat */ $ajaxChatModel = XenForo_Model::create("MODM_AJAXChat_Model_Chat"); $ajaxChat = $ajaxChatModel->getWidgetContent(); $renderTemplateObject->setParam('AjaxChatShoutbox', $ajaxChat); return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $limit = XenForo_Application::getOptions()->get('xengalleryShowTopContributors', 'limit'); if (!empty($widget['options']['limit'])) { $limit = $widget['options']['limit']; } /** @var XenGallery_Model_Media $mediaModel */ $mediaModel = WidgetFramework_Core::getInstance()->getModelFromCache('XenGallery_Model_Media'); $users = $mediaModel->getTopContributors($limit); $renderTemplateObject->setParam('users', $users); return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { if ('forum_list' === $positionCode and !empty($params['onlineUsers'])) { $renderTemplateObject->setParam('onlineUsers', $params['onlineUsers']); } else { if (empty($GLOBALS['WidgetFramework_onlineUsers'])) { $visitor = XenForo_Visitor::getInstance(); $sessionModel = WidgetFramework_Core::getInstance()->getModelFromCache('XenForo_Model_Session'); $GLOBALS['WidgetFramework_onlineUsers'] = $sessionModel->getSessionActivityQuickList($visitor->toArray(), array('cutOff' => array('>', $sessionModel->getOnlineStatusTimeout())), $visitor['user_id'] ? $visitor->toArray() : null); } $renderTemplateObject->setParam('onlineUsers', $GLOBALS['WidgetFramework_onlineUsers']); } return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { if ('forum_list' == $positionCode) { $renderTemplateObject->setParam('boardTotals', $params['boardTotals']); } else { $core = WidgetFramework_Core::getInstance(); $boardTotals = $core->getModelFromCache('XenForo_Model_DataRegistry')->get('boardTotals'); if (!$boardTotals) { $boardTotals = $core->getModelFromCache('XenForo_Model_Counters')->rebuildBoardTotalsCounter(); } $renderTemplateObject->setParam('boardTotals', $boardTotals); } return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { if ('forum_list' === $positionCode and !empty($params['onlineUsers']) and !empty($params['visitor'])) { $renderTemplateObject->setParam('onlineUsers', $params['onlineUsers']); $renderTemplateObject->setParam('visitor', $params['visitor']); XenForo_Application::set(self::APPLICATION_KEY, $params['onlineUsers']); } else { $visitor = XenForo_Visitor::getInstance(); $onlineUsers = $this->_getOnlineUsers(); $renderTemplateObject->setParam('onlineUsers', $onlineUsers); $renderTemplateObject->setParam('visitor', $visitor); } return $renderTemplateObject->render(); }
/** * Renders the widget. * Add variables to the template obj: $renderTemplateObject->setParam('users', $users); * @param array $widget * @param string $positionCode * @param array $params * @param XenForo_Template_Abstract $renderTemplateObject * @return string */ protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { /* Widget Info */ $widgets = array(); /* Carousel Info */ if ($canEditCarousel = WidgetPortal_Helper_Permission_Carousel::canEditCarousel()) { $widgetModel = $this->_getWidgetModel(); $widgets['carousel'] = $widgetModel->getAllFrontendEditableWidgets(); } /* TODO add future editable widgets here */ /* Permissions */ $renderTemplateObject->setParam('canEditCarousel', $canEditCarousel); $renderTemplateObject->setParam('widgets', $widgets); return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $template) { $core = WidgetFramework_Core::getInstance(); /** @var Tinhte_XenTag_XenForo_Model_Tag $tagModel */ $tagModel = $core->getModelFromCache('XenForo_Model_Tag'); if (!empty($widget['options']['limit'])) { $limit = $widget['options']['limit']; } else { $limit = XenForo_Application::getOptions()->get('tagCloud', 'count'); } $tags = $tagModel->getTagsForCloud($limit); $tagsLevels = $tagModel->getTagCloudLevels($tags); $template->setParam('tags', $tags); $template->setParam('tagsLevels', $tagsLevels); return $template->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $order = 'new'; if (!empty($widget['options']['order']) && in_array($widget['options']['order'], array('new', 'rand'), true)) { $order = $widget['options']['order']; } $limit = XenForo_Application::getOptions()->get('xengalleryRecentMediaLimit'); if (!empty($widget['options']['limit'])) { $limit = $widget['options']['limit']; } $renderTemplateObject->setParam('order', $order); $renderTemplateObject->setParam('limit', $limit); $renderTemplateObject->setParam('blockPhrase', $this->extraPrepareTitle($widget)); $renderTemplateObject->setParam('isSidebarBlock', strpos($positionCode, 'hook:') !== 0); return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $template) { $threads = array(); $tags = Tinhte_XenTag_Helper::explodeTags($widget['options']['tags']); $tagsText = array(); foreach ($tags as $tag) { $tag = trim($tag); if (!empty($tag)) { $tagsText[] = $tag; } } if (!empty($tagsText)) { $core = WidgetFramework_Core::getInstance(); /* @var $threadModel XenForo_Model_Thread */ $threadModel = $core->getModelFromCache('XenForo_Model_Thread'); /* @var $tagModel Tinhte_XenTag_Model_Tag */ $tagModel = $core->getModelFromCache('Tinhte_XenTag_Model_Tag'); $tags = $tagModel->getTagsByText($tagsText); $threadIds = array(); foreach ($tags as $tag) { $latest = Tinhte_XenTag_Helper::unserialize($tag['latest_tagged_contents']); if (empty($latest)) { // for some reason, the latest_tagged_contents field is empty // this is illogical because at least there is 1 tagged content (current thread) // so we will rebuild the tag... $latest = $tagModel->updateTag($tag['tag_id']); } if (!empty($latest)) { foreach ($latest as $taggedContent) { if ($taggedContent['content_type'] == 'thread') { $threadIds[] = $taggedContent['content_id']; } } } } if (!empty($threadIds)) { $threadIds = array_unique($threadIds); $forumIds = $this->_helperGetForumIdsFromOption(array(), $params, empty($widget['options']['as_guest']) ? false : true); // quick way to get all viewable forum ids $conditions = array('node_id' => $forumIds, Tinhte_XenTag_XenForo_Model_Thread::CONDITIONS_THREAD_ID => $threadIds, 'deleted' => false, 'moderated' => false); $fetchOptions = array('limit' => $widget['options']['limit'], 'join' => XenForo_Model_Thread::FETCH_AVATAR, 'order' => 'post_date', 'orderDirection' => 'desc'); $threads = $threadModel->getThreads($conditions, $fetchOptions); } } $template->setParam('threads', $threads); return $template->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { if (!empty($widget['options']['controller_name']) and !empty($widget['options']['controller_action'])) { $controllerResponse = $this->_dispatch($widget, $widget['options']['controller_name'], $widget['options']['controller_action']); if (!empty($controllerResponse)) { if ($controllerResponse instanceof XenForo_ControllerResponse_View and !empty($widget['options']['template'])) { $controllerResponse = $this->_findViewForTemplate($widget, $controllerResponse, $widget['options']['template']); } $renderedView = $this->_renderView($widget, $controllerResponse); return $renderedView; } } elseif (!empty($widget['options']['template']) and $widget['options']['template'] == $renderTemplateObject->getTemplateName()) { return $renderTemplateObject->render(); } else { return ''; } }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { if (empty($widget['options']['limit'])) { $widget['options']['limit'] = 5; } $users = false; // try to be smart and get the users data if they happen to be available if ($positionCode == 'member_notable' and $widget['options']['limit'] == 0 and !empty($params['staff'])) { $users = $params['staff']; } if ($users === false) { $userModel = WidgetFramework_Core::getInstance()->getModelFromCache('XenForo_Model_User'); $users = $userModel->getUsers(array('is_staff' => true), array('join' => XenForo_Model_User::FETCH_USER_FULL, 'limit' => $widget['options']['limit'], 'order' => 'username')); } $renderTemplateObject->setParam('users', $users); return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $limit = XenForo_Application::getOptions()->get('xengalleryShowTopContributors', 'limit'); if (!empty($widget['options']['limit'])) { $limit = $widget['options']['limit']; } /** @var XenGallery_Model_Album $albumModel */ $albumModel = WidgetFramework_Core::getInstance()->getModelFromCache('XenGallery_Model_Album'); /** @var XenGallery_Model_Media $mediaModel */ $mediaModel = WidgetFramework_Core::getInstance()->getModelFromCache('XenGallery_Model_Media'); $visitor = XenForo_Visitor::getInstance(); $conditions = array('deleted' => false, 'privacyUserId' => $visitor->getUserId(), 'viewAlbums' => XenForo_Permission::hasPermission($visitor->getPermissions(), 'xengallery', 'viewAlbums'), 'viewCategoryIds' => $mediaModel->getViewableCategoriesForVisitor($visitor->toArray()), 'album_media_count' => '> 0', 'is_banned' => 0); $fetchOptions = array('order' => 'new', 'orderDirection' => 'desc', 'limit' => $limit, 'join' => XenGallery_Model_Album::FETCH_PRIVACY | XenGallery_Model_Album::FETCH_USER); $albums = $albumModel->getAlbums($conditions, $fetchOptions); $albums = $albumModel->prepareAlbums($albums); $renderTemplateObject->setParam('albums', $albums); return $renderTemplateObject->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $renderTemplateObject) { $core = WidgetFramework_Core::getInstance(); $threadModel = $core->getModelFromCache('XenForo_Model_Thread'); $visitor = XenForo_Visitor::getInstance(); // Get data for each param. $new = $this->_getDataForThisVar(); $recent = $this->_getDataForThisVar(); $popular = $this->_getDataForThisVar(); $mostReplied = $this->_getDataForThisVar(); $mostLiked = $this->_getDataForThisVar(); $polls = $this->_getDataForThisVar(); $renderTemplateObject->setParam('new', $new); $renderTemplateObject->setParam('recent', $recent); $renderTemplateObject->setParam('popular', $popular); $renderTemplateObject->setParam('mostReplied', $mostReplied); $renderTemplateObject->setParam('mostLiked', $mostLiked); $renderTemplateObject->setParam('polls', $polls); return $renderTemplateObject->render(); }
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(); /** @var XenForo_Model_Feed $feedModel */ $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 (defined('BDIMAGE_IS_WORKING')) { // outsource the image processing + handling to [bd] Image $entry['bdImage_image'] = call_user_func(array('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(); }
/** * @param array $widget * @param string $positionCode * @param array $params * @param XenForo_Template_Abstract $template * @return string */ protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $template) { if (!$this->_canViewGallery()) { return; } $photoModel = $this->_getPhotoModel(); $conditions = array('content_type' => sonnb_XenGallery_Model_Photo::$contentType, 'content_state' => 'visible'); $this->_prepareConditions($widget, $conditions, $fetchOptions); $photos = $photoModel->getContents($conditions, $fetchOptions); $photos = $photoModel->prepareContents($photos, $fetchOptions); $this->_prepareContents($widget, $photos, $photoModel); if (empty($photos)) { return; } $template->setParam('photos', null); $template->setParams(array('widget' => $widget, 'contents' => $photos)); if (method_exists('WidgetFramework_Template_Trojan', 'WidgetFramework_setRequiredExternals')) { $externalRequires = array('css' => array('sonnb_xengallery_widget_photo')); WidgetFramework_Template_Trojan::WidgetFramework_setRequiredExternals($externalRequires); } return $template->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $template) { $core = WidgetFramework_Core::getInstance(); /** @var Tinhte_XenTag_XenForo_Model_Tag $tagModel */ $tagModel = $core->getModelFromCache('XenForo_Model_Tag'); if (!empty($widget['options']['days'])) { $days = $widget['options']['days']; } else { $days = Tinhte_XenTag_Option::get('trendingDays'); } $cutoff = XenForo_Application::$time - $days * 86400; if (!empty($widget['options']['limit'])) { $limit = $widget['options']['limit']; } else { $limit = Tinhte_XenTag_Option::get('trendingMax'); } $tags = $tagModel->Tinhte_XenTag_getTrendingTags($cutoff, $limit); $tagsLevels = $tagModel->getTagCloudLevels($tags); $template->setParam('tags', $tags); $template->setParam('tagsLevels', $tagsLevels); return $template->render(); }
public static function renderWrapper(XenForo_Template_Abstract $template) { $sections1st = array(); $sections2nd = array(); $autoRenderData = array('template' => $template); $sections1stRaw = VietXfAdvStats_Option::get('sections1st'); foreach ($sections1stRaw as $section) { $sections1st[] = self::_prepareSectionForWrapper($section, count($sections1st) == 0 ? $autoRenderData : array()); } $sections2ndRaw = VietXfAdvStats_Option::get('sections2nd'); foreach ($sections2ndRaw as $section) { $sections2nd[] = self::_prepareSectionForWrapper($section, count($sections2nd) == 0 ? $autoRenderData : array()); } $template->setParam('sections1st', $sections1st); $template->setParam('sections2nd', $sections2nd); $template->setParam('bulkUpdateUrl', XenForo_Link::buildPublicLink(VietXfAdvStats_Option::get('routePrefix') . '/bulk-update')); $template->setParam('updateInterval', VietXfAdvStats_Option::get('updateInterval')); $template->setParam('updateIntervals', VietXfAdvStats_Option::get('updateIntervalsSorted')); $template->setParam('itemLimit', VietXfAdvStats_Option::get('itemLimit')); $template->setParam('itemLimits', VietXfAdvStats_Option::get('itemLimitsSorted')); $template->setParam('backLink', VietXfAdvStats_Option::get('backLink')); return $template->render(); }
protected function _render(array $widget, $positionCode, array $params, XenForo_Template_Abstract $template) { $threads = array(); $core = WidgetFramework_Core::getInstance(); /* @var $tagModel XenForo_Model_Tag */ $tagModel = $core->getModelFromCache('XenForo_Model_Tag'); $tagsText = $tagModel->splitTags($widget['options']['tags']); if (!empty($tagsText)) { $tags = $tagModel->getTags($tagsText); /* @var $searchModel XenForo_Model_Search */ $searchModel = $core->getModelFromCache('XenForo_Model_Search'); $tagConstraint = implode(' ', array_keys($tags)); $constraints = array(Tinhte_XenTag_Constants::SEARCH_CONSTRAINT_TAGS => $tagConstraint); $searcher = new XenForo_Search_Searcher($searchModel); $searchQuery = ''; $order = 'date'; $typeHandler = $searchModel->getSearchDataHandler('thread'); $results = $searcher->searchType($typeHandler, $searchQuery, $constraints, $order, false, $widget['options']['limit'] * 10); if (!empty($results)) { $threadIds = array(); foreach ($results as $result) { if ($result[0] === 'thread') { $threadIds[] = $result[1]; } } $threadIds = array_unique($threadIds); $forumIds = $this->_helperGetForumIdsFromOption(array(), $params, empty($widget['options']['as_guest']) ? false : true); $conditions = array('node_id' => $forumIds, Tinhte_XenTag_XenForo_Model_Thread::CONDITIONS_THREAD_ID => $threadIds, 'deleted' => false, 'moderated' => false); $fetchOptions = array('limit' => $widget['options']['limit'], 'join' => XenForo_Model_Thread::FETCH_AVATAR, 'order' => 'post_date', 'orderDirection' => 'desc'); /* @var $threadModel XenForo_Model_Thread */ $threadModel = $core->getModelFromCache('XenForo_Model_Thread'); $threads = $threadModel->getThreads($conditions, $fetchOptions); } } $template->setParam('threads', $threads); return $template->render(); }