public static function getXfOptions() { if (is_null(self::$xfOptions)) { self::$xfOptions = XenForo_Application::get('options'); } return self::$xfOptions; }
public function getActiveRoutes() { if ($this->routes != null) { return $this->routes; } $routes = trim(XenForo_Application::get('options')->dark_azucloud_routes); $routes = explode("\n", str_replace("\r", "", $routes)); $routes_extra = array(); foreach ($routes as $key => &$route) { $route = trim($route); if ($route == '') { unset($routes[$key]); continue; } // stick in a slash if there isn't already, otherwise remove it and keep existing either way if (substr($route, -1) == '/') { $routes_extra[] = substr($route, 0, strlen($route) - 1); } else { $routes_extra[] = $route . '/'; } } $routes = array_merge($routes, $routes_extra); $this->routes = $routes; return $routes; }
public static function runSyncGroups() { $QCDB = WebSync_Database_Core::getQuartzcoreDatabase(); $options = XenForo_Application::get('options'); $userModel = XenForo_Model::create('XenForo_Model_User'); $userFieldModel = XenForo_Model::create('XenForo_Model_UserField'); if ($options->syncGroups) { $fetchOptions = array('validOnly' => true); $users = $userModel->getAllUsers($fetchOptions); foreach ($users as $user) { $hasUpdated = false; $coreId = $userFieldModel->getUserFieldValues($user['user_id'])['CoreID']; $secondaryGroups = $user['secondary_group_ids']; $groups_raw = file_get_contents($options->restApiUrl . 'group.php?action=getAllGroups'); $groups = json_decode($groups_raw, true); while ($groupId = mysqli_fetch_array($groups)) { $group_raw = file_get_contents($options->restApiUrl . 'group.php?action=getGroup&id=' . $groupId); $group = json_decode($group_raw); foreach ($userGroups as $userGroup) { if ($userGroup == $group['site_group_id']) { $player_raw = file_get_contents($options->restApiUrl . 'player.php?action=updatePlayer&id=' . $coreId . '&primaryGroupID=' . $group['id'] . '&apikey=07af7e75676eab410d1f83937d7afb62'); $player = json_decode($player_raw, true); $hasUpdated = $player['hasUpdated']; } } } if ($hasUpdated == false) { $player_raw = file_get_contents($options->restApiUrl . 'player.php?action=updatePlayer&id=' . $coreId . '&primaryGroupID=2&apikey=07af7e75676eab410d1f83937d7afb62'); $player = json_decode($player_raw, true); $hasUpdated = $player['hasUpdated']; } } } }
public function actionFeatured() { $parent = parent::actionFeatured(); $options = XenForo_Application::get('options'); $rmEnabled = $options->dailystats_rm_enable; $scEnabled = $options->dailystats_sc_enable; $xfmgEnabled = $options->dailystats_xfmg_enable; $DailyStatsModel = $this->_getDailyStatsModel(); $DS_totalUsers = XenForo_Model::create('XenForo_Model_DataRegistry')->get('DS_totalUsers'); $DS_totalPosts = XenForo_Model::create('XenForo_Model_DataRegistry')->get('DS_totalPosts'); $DS_totalThreads = XenForo_Model::create('XenForo_Model_DataRegistry')->get('DS_totalThreads'); $parent->params['DS_totalUsers'] = $DS_totalUsers; $parent->params['DS_totalPosts'] = $DS_totalPosts; $parent->params['DS_totalThreads'] = $DS_totalThreads; //Check if RM option is enabled switch ($rmEnabled) { case '1': $DS_totalResource = XenForo_Model::create('XenForo_Model_DataRegistry')->get('DS_totalResource'); $parent->params['DS_totalResource'] = $DS_totalResource; break; } //Check if Showcase option is enabled switch ($scEnabled) { case '1': $DS_totalShowcase = XenForo_Model::create('XenForo_Model_DataRegistry')->get('DS_totalShowcase'); $parent->params['DS_totalShowcase'] = $DS_totalShowcase; break; } return $parent; }
/** * * @see XenForo_Route_Prefix_Forums::buildLink() */ public function buildLink($originalPrefix, $outputPrefix, $action, $extension, $data, array &$extraParams) { if (isset($data['social_forum_id'])) { if (ThemeHouse_SocialGroups_SocialForum::hasInstance()) { $socialForum = ThemeHouse_SocialGroups_SocialForum::getInstance()->toArray(); } else { $socialForum = $data; } $class = XenForo_Application::resolveDynamicClass('ThemeHouse_SocialGroups_Route_Prefix_SocialForums', 'route_prefix'); $router = new $class(); $link = $router->buildLink('social-forums', 'social-forums', $action, $extension, $socialForum, $extraParams); if (XenForo_Application::isRegistered('routeFiltersOut')) { $routeFilters = XenForo_Application::get('routeFiltersOut'); if (isset($routeFilters['social-forums'])) { foreach ($routeFilters['social-forums'] as $filter) { if (array_key_exists('find_route', $filter) && array_key_exists('replace_route', $filter)) { list($from, $to) = XenForo_Link::translateRouteFilterToRegex($filter['find_route'], $filter['replace_route']); $newLink = preg_replace($from, $to, $link); } else { $newLink = $link; } if ($newLink != $link) { $link = $newLink; break; } } } } return $link; } return parent::buildLink($originalPrefix, $outputPrefix, $action, $extension, $data, $extraParams); }
public static function navigationTabs(&$extraTabs, $selectedTabId) { $options = XenForo_Application::get('options'); if (XenForo_Visitor::getInstance()->hasPermission('players', 'view') && $options->displayPlayersTab && $options->displayPlayers) { $extraTabs['players'] = array('title' => new XenForo_Phrase('players'), 'href' => XenForo_Link::buildPublicLink('full:players'), 'position' => 'home', 'linksTemplate' => 'player_tab_links'); } }
public function actionGetIndex() { $messageId = $this->_input->filterSingle('message_id', XenForo_Input::UINT); if (!empty($messageId)) { return $this->responseReroute(__CLASS__, 'single'); } $conversationId = $this->_input->filterSingle('conversation_id', XenForo_Input::UINT); if (empty($conversationId)) { return $this->responseError(new XenForo_Phrase('bdapi_slash_conversation_messages_requires_conversation_id'), 400); } $conversation = $this->_getConversationOrError($conversationId); $pageNavParams = array('conversation_id' => $conversation['conversation_id']); $page = $this->_input->filterSingle('page', XenForo_Input::UINT); $limit = XenForo_Application::get('options')->messagesPerPage; $inputLimit = $this->_input->filterSingle('limit', XenForo_Input::UINT); if (!empty($inputLimit)) { $limit = $inputLimit; $pageNavParams['limit'] = $inputLimit; } $fetchOptions = array('limit' => $limit, 'page' => $page); $messages = $this->_getConversationModel()->getConversationMessages($conversation['conversation_id'], $this->_getConversationModel()->getFetchOptionsToPrepareApiDataForMessages($fetchOptions)); if (!$this->_isFieldExcluded('attachments')) { $messages = $this->_getConversationModel()->getAndMergeAttachmentsIntoConversationMessages($messages); } $total = $conversation['reply_count'] + 1; $data = array('messages' => $this->_filterDataMany($this->_getConversationModel()->prepareApiDataForMessages($messages, $conversation)), 'messages_total' => $total); bdApi_Data_Helper_Core::addPageLinks($this->getInput(), $data, $limit, $total, $page, 'conversation-messages', array(), $pageNavParams); return $this->responseData('bdApi_ViewApi_ConversationMessage_List', $data); }
/** * Get the threads watched by a specific user. * * @param integer $userId * @param boolean $newOnly If true, only gets unread threads. * @param array $fetchOptions Thread fetch options (uses all valid for * XenForo_Model_Thread). * * @return array Format: [thread_id] => info */ public function getThreadsWatchedByUser($userId, $newOnly, array $fetchOptions = array()) { $fetchOptions['readUserId'] = $userId; $fetchOptions['includeForumReadDate'] = true; $joinOptions = $this->_getThreadModel()->prepareThreadFetchOptions($fetchOptions); $limitOptions = $this->prepareLimitFetchOptions($fetchOptions); if ($newOnly) { $cutoff = XenForo_Application::$time - XenForo_Application::get('options')->readMarkingDataLifetime * 86400; $newOnlyClause = ' AND thread.last_post_date > ' . $cutoff . ' AND thread.last_post_date > COALESCE(thread_read.thread_read_date, 0) AND thread.last_post_date > COALESCE(forum_read.forum_read_date, 0) '; } else { $newOnlyClause = ''; } return $this->fetchAllKeyed($this->limitQueryResults(' SELECT thread.* ' . $joinOptions['selectFields'] . ' FROM xf_forum_watch AS forum_watch INNER JOIN xf_thread AS thread ON (thread.node_id = forum_watch.node_id) ' . $joinOptions['joinTables'] . ' WHERE forum_watch.user_id = ? AND thread.discussion_state = \'visible\' ' . $newOnlyClause . ' ORDER BY thread.last_post_date DESC ', $limitOptions['limit'], $limitOptions['offset']), 'thread_id', $userId); }
public function renderCss() { // re-implement XenForo_CssOutput::renderCss() so we can change how caching works $cacheId = $this->getCacheId(); if ($cacheObject = XenForo_Application::getCache()) { if ($cacheCss = $cacheObject->load($cacheId, true)) { return $cacheCss . "\n/* CSS returned from cache. */"; } } $this->_prepareForOutput(); if (XenForo_Application::isRegistered('bbCode')) { $bbCodeCache = XenForo_Application::get('bbCode'); } else { $bbCodeCache = XenForo_Model::create('XenForo_Model_BbCode')->getBbCodeCache(); } $params = array('displayStyles' => $this->_displayStyles, 'smilieSprites' => $this->_smilieSprites, 'customBbCodes' => !empty($bbCodeCache['bbCodes']) ? $bbCodeCache['bbCodes'] : array(), 'xenOptions' => XenForo_Application::get('options')->getOptions(), 'dir' => $this->_textDirection, 'pageIsRtl' => $this->_textDirection == 'RTL'); $templates = array(); foreach ($this->_cssRequested as $cssName) { $cssName = trim($cssName); if (!$cssName) { continue; } $templateName = $cssName . '.css'; if (!isset($templates[$templateName])) { $templates[$templateName] = new XenForo_Template_Public($templateName, $params); } } $css = self::renderCssFromObjects($templates, XenForo_Application::debugMode()); $css = self::prepareCssForOutput($css, $this->_textDirection, XenForo_Application::get('options')->minifyCss && $cacheObject); if ($cacheObject) { $cacheObject->save($css, $cacheId, array(), 86400); } return $css; }
/** * Converts WYSIWYG editor HTML back to BB code * * @param string $messageTextHtml HTML to convert * @param XenForo_Input $input * @param integer $htmlCharacterLimit Max length of HTML before processing; defaults to 4 * message length option * * @return string BB code input */ public function convertEditorHtmlToBbCode($messageTextHtml, XenForo_Input $input, $htmlCharacterLimit = -1) { if ($htmlCharacterLimit < 0) { $htmlCharacterLimit = 4 * XenForo_Application::get('options')->messageMaxLength; // quadruple the limit as HTML can be a lot more verbose } if ($htmlCharacterLimit && utf8_strlen($messageTextHtml) > $htmlCharacterLimit) { throw new XenForo_Exception(new XenForo_Phrase('submitted_message_is_too_long_to_be_processed'), true); } $options = array(); $requestPaths = XenForo_Application::get('requestPaths'); $options['baseUrl'] = $requestPaths['fullBasePath']; $relativeResolver = $input->filterSingle('_xfRelativeResolver', XenForo_Input::STRING); if ($relativeResolver && isset($_SERVER['HTTP_USER_AGENT'])) { if (preg_match('#Firefox/([0-9]+)\\.([0-9]+)\\.([0-9]+)#i', $_SERVER['HTTP_USER_AGENT'], $match)) { // FF versions sometime before 3.6.12 have an issue with respecting the base tag of the editor, // 3.6.8 is a known version that has problems $useResolver = $match[1] <= 3 && $match[2] <= 6 && $match[3] <= 8; } else { $useResolver = false; } if ($useResolver) { // take off query string and then up to the last directory $relativeResolver = preg_replace('/\\?.*$/', '', $relativeResolver); $relativeResolver = preg_replace('#/[^/]+$#', '', $relativeResolver); $options['baseUrl'] = $relativeResolver; } } $rendered = XenForo_Html_Renderer_BbCode::renderFromHtml($messageTextHtml, $options); return trim(XenForo_Input::cleanString($rendered)); }
public static function route($class, array &$extend) { if (XenForo_Application::get('options')->EWRutiles_Sitemap_memberlist) { switch ($class) { case 'XenForo_Route_Prefix_Members': $extend[] = 'EWRutiles_Sitemap_Route_Members'; break; case 'XenForo_Route_Prefix_Online': $extend[] = 'EWRutiles_Sitemap_Route_Online'; break; case 'XenForo_Route_Prefix_ProfilePosts': $extend[] = 'EWRutiles_Sitemap_Route_ProfilePosts'; break; case 'XenForo_Route_Prefix_RecentActivity': $extend[] = 'EWRutiles_Sitemap_Route_RecentActivity'; break; case 'XenForo_Route_Prefix_SpamCleaner': $extend[] = 'EWRutiles_Sitemap_Route_SpamCleaner'; break; case 'XenForo_Route_Prefix_Warnings': $extend[] = 'EWRutiles_Sitemap_Route_Warning'; break; } } }
public function bakeBbmTags() { $bbmTags = BBM_Helper_Bbm::getBbmBbCodes(); $activeAddons = XenForo_Application::isRegistered('addOns') ? XenForo_Application::get('addOns') : array(); $visitor = XenForo_Visitor::getInstance(); if (!is_array($bbmTags)) { return false; } $allBbmTags = array(); foreach ($bbmTags as $bbm) { if (!$bbm['active']) { continue; } if (!empty($activeAddons) && !empty($bbm['bbcode_addon'])) { if (!isset($activeAddons[$bbm['bbcode_addon']])) { //Skip Bb Codes linked to an addon when this addon is disabled continue; } } $tagName = $bbm['tag']; if (!empty($bbm['preParser'])) { $this->addPreParserBbCode($tagName); } } $this->_bbmTags = $allBbmTags; /**** * XenForo Options - only need to call once the options ***/ $options = XenForo_Application::get('options'); if (!empty($options->Bbm_PreCache_XenTags)) { foreach ($options->Bbm_PreCache_XenTags as $tagName) { $this->addPreParserBbCode($tagName); } } }
public function __construct() { $this->_db = XenForo_Application::get('db'); $this->_importModel = XenForo_Model::create('XenForo_Model_Import'); $this->_db->setProfiler(false); // this causes lots of memory usage in debug mode, so stop that }
public function actionIndex() { if (!XenForo_Visitor::getInstance()->hasPermission('form', 'viewFormsList')) { throw $this->getErrorOrNoPermissionResponseException('do_not_have_permission'); } $formModel = $this->_getFormModel(); $page = $this->_input->filterSingle('page', XenForo_Input::UINT); $formsPerPage = XenForo_Application::get('options')->formsPerPage; $visitor = XenForo_Visitor::getInstance(); $criteria = array('num_fields' => array(1, '>='), 'active' => 1, 'hide_from_list' => 0); $fetchOptions = array('perPage' => $formsPerPage, 'page' => $page, 'numResponses' => true, 'numUserResponses' => true, 'permissionCombinationId' => $visitor['permission_combination_id']); // sort by display order if custom if (XenForo_Application::getOptions()->lpsfSortOrder == 'custom') { $fetchOptions['order'] = 'display_order'; } $forms = $formModel->getForms($criteria, $fetchOptions); foreach ($forms as $formId => &$form) { $form = $formModel->prepareForm($form); if (!$formModel->canRespondToForm($form, $errorPhraseKey)) { unset($forms[$formId]); } } $viewParams = array('forms' => $forms, 'visibleForms' => count($forms), 'formsPerPage' => $formsPerPage, 'page' => $page, 'totalForms' => $formModel->countForms($criteria)); return $this->responseView('LiquidPro_SimpleForms_ViewPublic_Form_List', 'form_list', $viewParams); }
public function logModeratorActionLocal($contentType, array $content, $action, array $actionParams = array(), $parentContent = null, array $logUser = null) { $xenOptions = XenForo_Application::get('options'); if ($xenOptions->th_moderatorLog_splitMoveCopyPosts) { $existingActions = array('post_copy_target_existing', 'post_move_target_existing'); $actions = array_merge($existingActions, array('post_copy_target', 'post_move_target')); if (in_array($action, $actions)) { $newAction = substr($action, strlen('post_')); /* @var $postModel XenForo_Model_Post */ $postModel = $this->getModelFromCache('XenForo_Model_Post'); $posts = $postModel->getPostsByIds(explode(', ', $actionParams['ids'])); unset($actionParams['ids']); $logId = false; $i = 0; foreach ($posts as $postId => $post) { if ($i > 0 && !in_array($action, $existingActions)) { $newAction = substr($newAction, 0, strlen('move_target')); } $actionParams['id'] = $postId; $logId = $this->logModeratorActionLocal('post', $post, $newAction, $actionParams, $content, $logUser); $i++; } return $logId; } } return parent::logModeratorActionLocal($contentType, $content, $action, $actionParams, $parentContent, $logUser); }
public function actionReportSubmit() { $options = XenForo_Application::get('options'); $username = $this->_input->filterSingle('username', XenForo_Input::STRING); if ($username !== '') { $player_raw = file_get_contents($options->restApiUrl . 'player.php?action=getPlayerByName&username='******'report_content' => XenForo_Input::STRING, 'reporting_id' => XenForo_Input::INT)); if ($input['report_content'] != null || $input['report_content'] != '') { if (isset($player['error'])) { return $this->responseRedirect(4, XenForo_Link::buildPublicLink('full:players')); } //when reporting use url_encode on content $report_raw = file_get_contents($options->restApiUrl . 'player.php?action=reportPlayer&id=' . $player['id'] . '&reporting_id=' . $input['reporting_id'] . '&report=' . urlencode($input['report_content']) . '&apikey=07af7e75676eab410d1f83937d7afb62'); $report = json_decode($report_raw, true); if ($report['reported']) { return $this->responseRedirect(XenForo_ControllerResponse_Redirect::SUCCESS, XenForo_Link::buildPublicLink('player', $username), new XenForo_Phrase('thank_you_for_reporting_this_player')); } $viewParams = array('player' => $player); return $this->responseView('QCPlayers_ViewPublic_Player_Report', 'player_report', $viewParams); } $viewParams = array('player' => $player, 'error' => new XenForo_Phrase('please_enter_a_reason_for_reporting_this_player')); return $this->responseView('QCPlayers_ViewPublic_Player_Report', 'player_report', $viewParams); } //return $this->responseReroutePath('players'); return $this->responseRedirect(4, XenForo_Link::buildPublicLink('full:players')); }
public static function templatePostRender($templateName, &$content, array &$containerData, XenForo_Template_Abstract $template) { $param = array(); switch ($templateName) { case 'node_list.css': $cacheDataForum = XenForo_Application::isRegistered('brcnsCacheDataForum') ? XenForo_Application::get('brcnsCacheDataForum') : XenForo_Model::create('XenForo_Model_DataRegistry')->get('brcnsCacheDataForum'); $cacheDataPage = XenForo_Application::isRegistered('brcnsCacheDataPage') ? XenForo_Application::get('brcnsCacheDataPage') : XenForo_Model::create('XenForo_Model_DataRegistry')->get('brcnsCacheDataPage'); $cacheDataLink = XenForo_Application::isRegistered('brcnsCacheDataLink') ? XenForo_Application::get('brcnsCacheDataLink') : XenForo_Model::create('XenForo_Model_DataRegistry')->get('brcnsCacheDataLink'); $cacheDataCategory = XenForo_Application::isRegistered('brcnsCacheDataCategory') ? XenForo_Application::get('brcnsCacheDataCategory') : XenForo_Model::create('XenForo_Model_DataRegistry')->get('brcnsCacheDataCategory'); $cacheDataCategoryRoot = XenForo_Application::isRegistered('brcnsCacheDataCateRoot') ? XenForo_Application::get('brcnsCacheDataCateRoot') : XenForo_Model::create('XenForo_Model_DataRegistry')->get('brcnsCacheDataCateRoot'); XenForo_Application::set('brcnsCustomNodeStylesForum', $cacheDataForum); XenForo_Application::set('brcnsCustomNodeStylesPage', $cacheDataPage); XenForo_Application::set('brcnsCustomNodeStylesLink', $cacheDataLink); XenForo_Application::set('brcnsCustomNodeStylesCategory', $cacheDataCategory); XenForo_Application::set('brcnsCustomNodeStylesCategoryRoot', $cacheDataCategoryRoot); $param['CustomNodeStylesForums'] = XenForo_Application::get('brcnsCustomNodeStylesForum'); $param['CustomNodeStylesPages'] = XenForo_Application::get('brcnsCustomNodeStylesPage'); $param['CustomNodeStylesLinks'] = XenForo_Application::get('brcnsCustomNodeStylesLink'); $param['CustomNodeStylescategories'] = XenForo_Application::get('brcnsCustomNodeStylesCategory'); $param['CustomNodeStylesCategoriesRoot'] = XenForo_Application::get('brcnsCustomNodeStylesCategoryRoot'); $options = XenForo_Application::get('options'); $param['size'] = $options->BRCNS_size_icon; $newTemplate = $template->create('BRCNS_custom_node_style.css', $template->getParams()); $newTemplate->setParams($param); $content = $content . $newTemplate->render(); break; } }
public static function runDailyCleanUp() { $options = XenForo_Application::get('options'); $model = XenForo_Model::create('Dark_TaigaChat_Model_TaigaChat'); if ($options->dark_taigachat_archivethread > 0) { $messages = array_reverse($model->getMessagesToday()); if (count($messages) > 0) { $userModel = XenForo_Model::create('XenForo_Model_User'); $post = ""; foreach ($messages as $message) { $date = XenForo_Locale::dateTime($message['date'], 'absolute'); if ($message['user_id'] > 0) { $url = XenForo_Link::convertUriToAbsoluteUri(XenForo_Link::buildPublicLink("members/" . $message['user_id']), true); $user = "******"; } else { $user = "******"; } $post .= "{$date} - {$user}: {$message['message']}\r\n"; } $username = "******"; if ($options->dark_taigachat_archiveuser > 0) { $user = $userModel->getUserById($options->dark_taigachat_archiveuser); $username = $user['username']; } $writer = XenForo_DataWriter::create('XenForo_DataWriter_DiscussionMessage_Post'); $writer->setOption(XenForo_DataWriter_DiscussionMessage::OPTION_IS_AUTOMATED, true); $writer->set('user_id', $options->dark_taigachat_archiveuser); $writer->set('username', $username); $writer->set('message', $post); $writer->set('thread_id', $options->dark_taigachat_archivethread); $writer->save(); } } $model->deleteOldMessages(); }
/** * Single-stage logout procedure */ public function actionIndex() { $csrfToken = $this->_input->filterSingle('_xfToken', XenForo_Input::STRING); $redirectResponse = $this->responseRedirect(XenForo_ControllerResponse_Redirect::SUCCESS, $this->getDynamicRedirect(false, false)); $userId = XenForo_Visitor::getUserId(); if (!$userId) { return $redirectResponse; } if ($this->_noRedirect() || !$csrfToken) { // request is likely from JSON, probably XenForo.OverlayTrigger, so show a confirmation dialog return $this->responseView('XenForo_ViewPublic_LogOut', 'log_out'); } else { $this->_checkCsrfFromToken($csrfToken); // remove an admin session if we're logged in as the same person if (XenForo_Visitor::getInstance()->get('is_admin')) { $class = XenForo_Application::resolveDynamicClass('XenForo_Session'); $adminSession = new $class(array('admin' => true)); $adminSession->start(); if ($adminSession->get('user_id') == $userId) { $adminSession->delete(); } } $this->getModelFromCache('XenForo_Model_Session')->processLastActivityUpdateForLogOut(XenForo_Visitor::getUserId()); XenForo_Application::get('session')->delete(); XenForo_Helper_Cookie::deleteAllCookies($this->_getRetainedCookies(), array('user' => array('httpOnly' => false))); XenForo_Visitor::setup(0); return $redirectResponse; } }
protected static function _getDb() { if (self::$_db === null) { self::$_db = XenForo_Application::get('db'); } return self::$_db; }
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(); }
public static function uninstall() { $db = XenForo_Application::get('db'); $db->query("\n DELETE FROM xf_permission_entry\n WHERE permission_id in ('attach_count', 'attach_size')\n "); $db->query("\n DELETE FROM xf_permission_entry_content\n WHERE permission_id in ('attach_count', 'attach_size')\n "); return true; }
/** * * @see XenForo_DataWriter_DiscussionMessage_Post::_messagePreSave() */ protected function _messagePreSave() { if ($this->isDiscussionFirstMessage() && isset($GLOBALS['XenForo_ControllerPublic_Forum'])) { $visitor = XenForo_Visitor::getInstance(); $this->set('original_poster_th', array('user_id' => $visitor->user_id, 'username' => $visitor->username)); } if (!empty($GLOBALS['XenForo_ControllerPublic_Thread'])) { /* @var $controller XenForo_ControllerPublic_Thread */ $controller = $GLOBALS['XenForo_ControllerPublic_Thread']; $this->set('original_poster_th', array('user_id' => $this->get('user_id'), 'username' => $this->get('username'))); /* @var $userModel XenForo_Model_User */ $userModel = XenForo_Model::create('XenForo_Model_User'); $input = $controller->getInput()->filter(array('post_as_user_id' => XenForo_Input::UINT, 'post_as_username' => XenForo_Input::STRING)); if ($input['post_as_username']) { $user = $userModel->getUserByName($input['post_as_username']); $input['post_as_user_id'] = $user['user_id']; } if (!isset($user) && $input['post_as_user_id']) { $user = $userModel->getUserById($input['post_as_user_id']); } if (isset($user) && $userModel->canPostAsDifferentUser($user)) { $this->set('user_id', $user['user_id']); $this->set('username', $user['username']); if (XenForo_Application::get('options')->th_postAsUser_updateLastActivity) { /* @var $userModel XenForo_Model_User */ $userModel = $this->getModelFromCache('XenForo_Model_User'); $request = $controller->getRequest(); $routeMatch = $controller->getRouteMatch(); $userModel->updateSessionActivity($user['user_id'], $request->getClientIp(false), $routeMatch->getControllerName(), $routeMatch->getAction(), 'valid', $request->getUserParams()); } } } parent::_messagePreSave(); }
public function findNewThreads() { $threadModel = $this->_getThreadModel(); $searchModel = $this->_getSearchModel(); $userId = XenForo_Visitor::getUserId(); $limitOptions = array('limit' => XenForo_Application::get('options')->maximumSearchResults); $days = $this->_input->filterSingle('days', XenForo_Input::UINT); $recent = $this->_input->filterSingle('recent', XenForo_Input::UINT); if ($userId && !$days && !$recent) { $threadIds = $threadModel->getUnreadThreadIds($userId, $limitOptions); $searchType = 'new-threads'; } else { if ($days < 1) { $days = 3; } $fetchOptions = $limitOptions + array('order' => 'last_post_date', 'orderDirection' => 'desc'); $threadIds = array_keys($threadModel->getThreads(array('last_post_date' => array('>', XenForo_Application::$time - 86400 * $days), 'deleted' => false, 'moderated' => false), $fetchOptions)); $searchType = 'recent-threads'; } $results = array(); foreach ($threadIds as $threadId) { $results[] = array(XenForo_Model_Search::CONTENT_TYPE => 'thread', XenForo_Model_Search::CONTENT_ID => $threadId); } $results = $searchModel->getViewableSearchResults($results); if (!$results) { return $this->getNoResultsResponse(); } $search = $searchModel->insertSearch($results, $searchType, '', array(), 'date', false); return $this->responseRedirect(XenForo_ControllerResponse_Redirect::SUCCESS, XenForo_Link::buildPublicLink('find-new/threads', $search)); }
public function renderRss() { $forum = $this->_params['forum']; $buggyXmlNamespace = defined('LIBXML_DOTTED_VERSION') && LIBXML_DOTTED_VERSION == '2.6.24'; $feed = new Zend_Feed_Writer_Feed(); $feed->setEncoding('utf-8'); $feed->setTitle($forum['title']); $feed->setDescription($forum['description'] ? $forum['description'] : $forum['title']); $feed->setLink(XenForo_Link::buildPublicLink('canonical:forums', $forum)); if (!$buggyXmlNamespace) { $feed->setFeedLink(XenForo_Link::buildPublicLink('canonical:forums.rss', $forum), 'rss'); } $feed->setDateModified(XenForo_Application::$time); $feed->setLastBuildDate(XenForo_Application::$time); if (XenForo_Application::get('options')->boardTitle) { $feed->setGenerator(XenForo_Application::get('options')->boardTitle); } foreach ($this->_params['threads'] as $thread) { // TODO: add contents of first post in future // TODO: wrap in exception handling down the line $entry = $feed->createEntry(); $entry->setTitle($thread['title']); $entry->setLink(XenForo_Link::buildPublicLink('canonical:threads', $thread)); $entry->setDateCreated(new Zend_Date($thread['post_date'], Zend_Date::TIMESTAMP)); $entry->setDateModified(new Zend_Date($thread['last_post_date'], Zend_Date::TIMESTAMP)); if (!$buggyXmlNamespace) { $entry->addAuthor(array('name' => $thread['username'], 'uri' => XenForo_Link::buildPublicLink('canonical:members', $thread))); if ($thread['reply_count']) { $entry->setCommentCount($thread['reply_count']); } } $feed->addEntry($entry); } return $feed->export('rss'); }
public function actionAdd() { $response = parent::actionAdd(); if ($response instanceof XenForo_ControllerResponse_View) { $threadNodeId = $this->_input->filterSingle('thread_node_id', XenForo_Input::UINT); if ($threadNodeId && !empty($response->params['categories'])) { foreach ($response->params['categories'] as $resourceCategoryId => $category) { if ($category['thread_node_id'] != $threadNodeId) { unset($response->params['categories'][$resourceCategoryId]); } } $response->params['redirectToThread'] = true; } else { $redirectToThread = $this->_input->filterSingle('redirect_to_thread', XenForo_Input::UINT); if ($redirectToThread) { $response->params['redirectToThread'] = true; } } $addOns = XenForo_Application::get('addOns'); if (!empty($addOns['ThemeHouse_SocialGroups'])) { $socialForumId = $this->_input->filterSingle('social_forum_id', XenForo_Input::UINT); if ($socialForumId) { $response->params['socialForumId'] = $socialForumId; } } } return $response; }
/** * Helper method to get the database object. * * @return Zend_Db_Adapter_Abstract */ protected function _getDb() { if ($this->_db === null) { $this->_db = XenForo_Application::get('db'); } return $this->_db; }
public function actionIndex() { $codes = $this->_getBbmBBCodeModel()->getAllBbCodes(); $bbcodesWithCallbackErrors = $this->_classAndMethodIntegrityCheck($codes); //Add class foreach ($codes as &$code) { if ($code['tag'][0] == '@') { $code['class'] = 'orphanButton'; $code['orphanButton'] = true; } else { $code['class'] = 'normalButton'; $code['orphanButton'] = false; } $code['disableAddon'] = false; if (XenForo_Application::isRegistered('addOns')) { $enableAddons = XenForo_Application::get('addOns'); if (!empty($code['bbcode_addon']) && !isset($enableAddons[$code['bbcode_addon']])) { $code['class'] .= ' disableAddon'; $code['disableAddon'] = true; } } } $viewParams = array('codes' => $codes, 'callbackErrors' => $bbcodesWithCallbackErrors, 'permsBbm' => XenForo_Visitor::getInstance()->hasAdminPermission('bbm_BbCodesAndButtons')); return $this->responseView('Bbm_ViewAdmin_Bbm_BbCodes_List', 'bbm_bb_codes_list', $viewParams); }
public function login($username, $password) { /** * @var $loginModel XenForo_Model_Login * @var $userModel XenForo_Model_User * @var $session XenForo_Session */ $loginModel = XenForo_Model::create('XenForo_Model_Login'); $userModel = XenForo_Model::create('XenForo_Model_User'); $userId = $userModel->validateAuthentication($username, $password, $this->error); //var_dump($userId); //die; if (!$userId) { $loginModel->logLoginAttempt($username); return false; } $loginModel->clearLoginAttempts($username); /* if ($data['remember']) { $userModel->setUserRememberCookie($userId); } */ XenForo_Model_Ip::log($userId, 'user', $userId, 'login'); $userModel->deleteSessionActivity(0, $this->getClientIp(false)); $session = XenForo_Application::get('session'); //die('aaabb'); /*if(!$this->session){ $this->session = XenForo_Application::get('session'); }*/ $session->changeUserId($userId); XenForo_Visitor::setup($userId); $this->visitor = XenForo_Visitor::getInstance(); $userInfo = $userModel->getFullUserById($this->visitor->getUserId()); return $userInfo; }
/** * Attempts to match the routing path. See {@link XenForo_Route_Interface} for further details. * * @param string $routePath Routing path * @param Zend_Controller_Request_Http $request Request object * @param XenForo_Router $router Routing object * * @return XenForo_RouteMatch|bool */ public function match($routePath, Zend_Controller_Request_Http $request, XenForo_Router $router) { if (!XenForo_Application::isRegistered('routeFiltersIn')) { return false; } $filters = XenForo_Application::get('routeFiltersIn'); if (!$filters) { return false; } foreach ($filters as $filter) { if (isset($filter['match_regex'])) { $from = $filter['match_regex']; $to = $filter['match_replace']; } else { list($from, $to) = XenForo_Link::translateRouteFilterToRegex(urldecode($filter['replace_route']), urldecode($filter['find_route'])); } $newRoutePath = preg_replace($from, $to, $routePath); if ($newRoutePath != $routePath) { $match = $router->getRouteMatch(); $match->setModifiedRoutePath($newRoutePath); return $match; } } return false; }