Esempio n. 1
0
 /**
  * Determines if CAPTCHA is valid (passed).
  *
  * @see XenForo_Captcha_Abstract::isValid()
  */
 public function isValid(array $input)
 {
     $cleaner = new XenForo_Input($input);
     $answer = $cleaner->filterSingle('captcha_question_answer', XenForo_Input::STRING);
     $hash = $cleaner->filterSingle('captcha_question_hash', XenForo_Input::STRING);
     return XenForo_Model_CaptchaQuestion::isCorrect($answer, $hash);
 }
 /**
  * Determines if CAPTCHA is valid (passed).
  *
  * @see XenForo_Captcha_Abstract::isValid()
  */
 public function isValid(array $input)
 {
     $cleaner = new XenForo_Input($input);
     $answer = $cleaner->filterSingle('captcha_question_answer', XenForo_Input::STRING);
     $hash = $cleaner->filterSingle('captcha_question_hash', XenForo_Input::STRING);
     /** @var XenForo_Model_CaptchaQuestion $model */
     $model = XenForo_Model::create('XenForo_Model_CaptchaQuestion');
     return $model->verifyTextCaptcha($hash, $answer);
 }
Esempio n. 3
0
 public static function getTypeConstraintsFromInput(XenForo_Input $input, array $fields, $fieldType)
 {
     $xenOptions = XenForo_Application::get('options');
     $constraints = array();
     $fieldValues = $input->filterSingle('custom_fields', XenForo_Input::ARRAY_SIMPLE);
     if ($fieldValues && $fields) {
         foreach ($fields as $fieldId => $field) {
             if (empty($fieldValues[$fieldId])) {
                 continue;
             }
             $fieldValue = $fieldValues[$fieldId];
             if (in_array($field['field_type'], array('multiselect', 'checkbox'))) {
                 if (is_array($fieldValue)) {
                     $newFieldValue = array();
                     foreach ($fieldValue as $_fieldValue) {
                         $newFieldValue[$_fieldValue] = $_fieldValue;
                     }
                     $fieldValue = array('=', serialize($newFieldValue));
                 } else {
                     $fieldValue = array('LIKE', '%' . serialize($fieldValue) . '%');
                 }
             } elseif ($xenOptions->waindigo_customFields_partialSearch) {
                 $fieldValue = array('LIKE', '%' . $fieldValue . '%');
             } else {
                 $fieldValue = array('=', $fieldValue);
             }
             $constraints[$fieldType . '_field_id_' . $fieldId] = $fieldId;
             $constraints[$fieldType . '_field_value_' . $fieldId] = $fieldValue;
         }
     }
     return $constraints;
 }
Esempio n. 4
0
 public static function validateNoForum(&$option, XenForo_DataWriter $dw, $fieldName)
 {
     $_request = new Zend_Controller_Request_Http();
     $_input = new XenForo_Input($_request);
     $optionsInput = $_input->filterSingle('options', XenForo_Input::ARRAY_SIMPLE);
     $sandbox = isset($optionsInput['th_noForo_sandbox']);
     if (!isset($option['no_forum'])) {
         $option = array();
     }
     if ($sandbox) {
         return true;
     }
     /* @var $noForoModel ThemeHouse_NoForo_Model_NoForo */
     $noForoModel = XenForo_Model::create('ThemeHouse_NoForo_Model_NoForo');
     if (isset($option['no_forum'])) {
         if (!isset($option['no_link_forums'])) {
             $option['no_link_forums'] = $noForoModel->isNoLinkForums();
         }
     }
     $option = array_filter($option);
     if ($option) {
         $noForoModel->removeForum($option);
     } else {
         $noForoModel->rebuildForum();
     }
     return true;
 }
Esempio n. 5
0
 /**
  * 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));
 }
Esempio n. 6
0
 public function verifyFromInput($context, XenForo_Input $input, array $user, array &$providerData)
 {
     $code = $input->filterSingle('code', XenForo_Input::STRING);
     $code = preg_replace('/[^0-9]/', '', $code);
     if (!$code) {
         return false;
     }
     $matched = null;
     foreach ($providerData['codes'] as $i => $expectedCode) {
         if (XenForo_Application::hashEquals($expectedCode, $code)) {
             $matched = $i;
             break;
         }
     }
     if ($matched === null) {
         return false;
     }
     $providerData['used'][] = $providerData['codes'][$matched];
     unset($providerData['codes'][$matched]);
     if (!$providerData['codes']) {
         // regenerate automatically
         $regenerated = true;
         $this->generateInitialData($user, array());
     } else {
         $regenerated = false;
     }
     $ip = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
     $mail = XenForo_Mail::create('two_step_login_backup', array('user' => $user, 'ip' => $ip, 'regenerated' => $regenerated), $user['language_id']);
     $mail->send($user['email'], $user['username']);
     return true;
 }
Esempio n. 7
0
 protected function _preSave()
 {
     $_input = new XenForo_Input($_REQUEST);
     $bbm_bm_editor = $_input->filterSingle('bbm_bm_editor', XenForo_Input::STRING);
     $bbm_bm_editor = empty($bbm_bm_editor) ? 'disable' : $bbm_bm_editor;
     $this->set('bbm_bm_editor', $bbm_bm_editor);
     return parent::_preSave();
 }
Esempio n. 8
0
 public static function getJokePollInput(XenForo_Input $controllerInput)
 {
     $input['poll'] = $controllerInput->filterSingle('poll', XenForo_Input::ARRAY_SIMPLE);
     $pollInputHandler = new XenForo_Input($input['poll']);
     if (isset($input['poll']['joke'])) {
         $jokePollInputHandler = new XenForo_Input($input['poll']['joke']);
         $jokePollInput = $jokePollInputHandler->filter(array('first_choice' => XenForo_Input::UINT));
     } else {
         $jokePollInput = array();
     }
     return $jokePollInput;
 }
Esempio n. 9
0
 /**
  * Turns a serialized (by jQuery) query string from input into a XenForo_Input object.
  *
  * @param string Name of index to fetch from $this->_input
  * @param boolean On error, throw an exception or return false
  * @param string
  *
  * @return XenForo_Input|false
  */
 protected function _getInputFromSerialized($varname, $throw = true, &$errorPhraseKey = null)
 {
     if ($inputString = $this->_input->filterSingle($varname, XenForo_Input::STRING)) {
         try {
             return new XenForo_Input(XenForo_Application::parseQueryString($inputString));
         } catch (Exception $e) {
             $errorPhraseKey = 'string_could_not_be_converted_to_input';
             if ($throw) {
                 throw $this->responseException($this->responseError(new XenForo_Phrase($errorPhraseKey)));
             }
         }
     }
     return false;
 }
Esempio n. 10
0
 protected function _preSave()
 {
     $options = XenForo_Application::get('options');
     if (!$options->sedo_at_preventracing) {
         return parent::_preSave();
     }
     $_input = new XenForo_Input($_REQUEST);
     $sedo_agent = $_input->filterSingle('allow_sedo_agent', XenForo_Input::UINT);
     if ($_input->inRequest('allow_sedo_agent')) {
         //The wrapped conditionnal prevents the field 'allow_sedo_agent' to be modified outside the page 'user'
         //Fixes a problem with profile posts
         $this->set('allow_sedo_agent', $sedo_agent);
     }
     return parent::_preSave();
 }
Esempio n. 11
0
 public function verifyFromInput($context, XenForo_Input $input, array $user, array &$providerData)
 {
     if (empty($providerData['code']) || empty($providerData['codeGenerated'])) {
         return false;
     }
     if (time() - $providerData['codeGenerated'] > 900) {
         return false;
     }
     $code = $input->filterSingle('code', XenForo_Input::STRING);
     $code = preg_replace('/[^0-9]/', '', $code);
     if (!XenForo_Application::hashEquals($providerData['code'], $code)) {
         return false;
     }
     unset($providerData['code']);
     unset($providerData['codeGenerated']);
     return true;
 }
Esempio n. 12
0
 protected static function _xenMediaPhotoIndexParams($team)
 {
     $categoryModel = self::$controller->getModelFromCache('XenGallery_Model_Category');
     $category = $categoryModel->getCategoryById(self::$setup->getOption('XenMediaCategoryId'));
     $noPermission = false;
     if (!$category) {
         $noPermission = true;
     } else {
         if (!$categoryModel->canAddMediaToCategory($category)) {
             $noPermission = true;
         }
     }
     if ($noPermission) {
         return array('templateName' => 'Team_photo', 'viewName' => '', 'provider' => 'XenGallery', 'noPermission' => true);
     }
     $mediaModel = self::$controller->getModelFromCache('XenGallery_Model_Media');
     $albumModel = self::$controller->getModelFromCache('XenGallery_Model_Album');
     $order = self::$input->filterSingle('order', XenForo_Input::STRING);
     $type = self::$input->filterSingle('type', XenForo_Input::STRING);
     $page = self::$input->filterSingle('page', XenForo_Input::UINT);
     $perPage = XenForo_Application::getOptions()->xengalleryMediaMaxPerPage;
     $visitor = XenForo_Visitor::getInstance();
     $conditions = array('deleted' => $mediaModel->canViewDeletedMedia(), 'type' => $type ? $type : 'all', 'privacyUserId' => $visitor->user_id, 'viewAlbums' => $albumModel->canViewAlbums(), 'viewCategoryIds' => $mediaModel->getViewableCategoriesForVisitor($visitor->toArray()), 'newerThan' => $mediaModel->getMediaHomeCutOff(), 'social_group_id' => $team['team_id']);
     $fetchOptions = self::_getMediaFetchOptions() + array('order' => $order ? $order : 'media_date', 'orderDirection' => 'desc', 'page' => $page, 'perPage' => $perPage);
     $fetchOptions['join'] |= XenGallery_Model_Media::FETCH_PRIVACY;
     $media = $mediaModel->getMedia($conditions, $fetchOptions);
     $media = $mediaModel->prepareMediaItems($media);
     $inlineModOptions = $mediaModel->prepareInlineModOptions($media);
     $ignoredNames = array();
     foreach ($media as $item) {
         if (!empty($item['isIgnored'])) {
             $ignoredNames[] = $item['username'];
         }
     }
     $mediaCount = $mediaModel->countMedia($conditions, $fetchOptions);
     self::$controller->canonicalizePageNumber($page, $perPage, $mediaCount, TEAM_ROUTE_PREFIX . '/photos', $team);
     self::$controller->canonicalizeRequestUrl(XenForo_Link::buildPublicLink(TEAM_ROUTE_PREFIX . '/photos', $team, array('page' => $page)));
     $pageNavParams = array('order' => $order, 'type' => $type);
     return array('templateName' => 'Team_photo', 'viewName' => '', 'provider' => 'XenGallery', 'canViewRatings' => $mediaModel->canViewRatings(), 'mediaHome' => true, 'media' => $media, 'ignoredNames' => array_unique($ignoredNames), 'mediaCount' => $mediaCount, 'page' => $page <= 1 ? '' : $page, 'perPage' => $perPage, 'pageNavParams' => $pageNavParams, 'order' => $order, 'type' => $type, 'time' => XenForo_Application::$time, 'showTypeTabs' => $albumModel->canViewAlbums(), 'inlineModOptions' => $inlineModOptions, 'userPage' => false);
 }
Esempio n. 13
0
 public function verifyFromInput($context, XenForo_Input $input, array $user, array &$providerData)
 {
     if (empty($providerData['secret'])) {
         return false;
     }
     $code = $input->filterSingle('code', XenForo_Input::STRING);
     $code = preg_replace('/[^0-9]/', '', $code);
     if (!$code) {
         return false;
     }
     if (!empty($providerData['lastCode']) && $providerData['lastCode'] === $code) {
         // prevent a replay attack: once the code has been used, don't allow it to be used in the slice again
         if (!empty($providerData['lastCodeTime']) && time() - $providerData['lastCodeTime'] < 30) {
             return false;
         }
     }
     $auth = $this->_getAuthHandler();
     if (!$auth->verifyCode($providerData['secret'], $code)) {
         return false;
     }
     $providerData['lastCode'] = $code;
     $providerData['lastCodeTime'] = time();
     return true;
 }
<?php

$startTime = microtime(true);
$fileDir = dirname(__FILE__);
require $fileDir . '/library/XenForo/Autoloader.php';
XenForo_Autoloader::getInstance()->setupAutoloader($fileDir . '/library');
XenForo_Application::initialize($fileDir . '/library', $fileDir);
XenForo_Application::set('page_start_time', $startTime);
$deps = new XenForo_Dependencies_Public();
$deps->preLoadData();
$input = new XenForo_Input(new Zend_Controller_Request_Http());
$contactId = $input->filterSingle('Id', XenForo_Input::UINT);
if ($contactId) {
    /* $contactDataModel ThemeHouse_Infusionsoft_Model_InfusionsoftApi_DataService_Contact */
    $contactDataModel = XenForo_Model::create('ThemeHouse_Infusionsoft_Model_InfusionsoftApi_DataService_Contact');
    $contactDataModel->processContact($contactId);
}
Esempio n. 15
0
 /**
  * Gets the search form controller response for this type.
  *
  * @see XenForo_Search_DataHandler_Abstract::getSearchFormControllerResponse()
  */
 public function getSearchFormControllerResponse(XenForo_ControllerPublic_Abstract $controller, XenForo_Input $input, array $viewParams)
 {
     $params = $input->filterSingle('c', XenForo_Input::ARRAY_SIMPLE);
     return $controller->responseView('sonnb_XenGallery_ViewPublic_Search_Form_Video', 'sonnb_xengallery_search_form_video', $viewParams);
 }
 /**
  * Get type-specific constrints from input.
  *
  * @param XenForo_Input $input
  *
  * @return array
  */
 public function getTypeConstraintsFromInput(XenForo_Input $input)
 {
     $constraints = array();
     if ($profileUsersInput = $input->filterSingle('profile_users', XenForo_Input::STRING)) {
         $userModel = $this->_getUserModel();
         $profileUsers = $userModel->getUsersByNames(explode(',', $profileUsersInput));
         if ($profileUsers) {
             $constraints['profile_user'] = array_keys($profileUsers);
         }
     }
     return $constraints;
 }
Esempio n. 17
0
 /**
  * Gets the search form controller response for this type.
  *
  * @see XenForo_Search_DataHandler_Abstract::getSearchFormControllerResponse()
  */
 public function getSearchFormControllerResponse(XenForo_ControllerPublic_Abstract $controller, XenForo_Input $input, array $viewParams)
 {
     $params = $input->filterSingle('c', XenForo_Input::ARRAY_SIMPLE);
     if (!empty($params['profile_user'])) {
         $profileUsers = $this->_getUserModel()->getUsersByIds($params['profile_user']);
         foreach ($profileUsers as &$profileUser) {
             $profileUser = $profileUser['username'];
         }
     }
     $viewParams['search'] = array_merge($viewParams['search'], array('profile_users' => empty($profileUsers) ? '' : implode(', ', $profileUsers)));
     return $controller->responseView('XenForo_ViewPublic_Search_Form_ProfilePost', 'search_form_profile_post', $viewParams);
 }
Esempio n. 18
0
 /**
  * Gets the search form controller response for this type.
  *
  * @see XenForo_Search_DataHandler_Abstract::getSearchFormControllerResponse()
  *
  * @param XenForo_ControllerPublic_Abstract $controller
  * @param XenForo_Input $input
  * @param array $viewParams
  * @return false|XenForo_ControllerResponse_Abstract|XenForo_ControllerResponse_View
  */
 public function getSearchFormControllerResponse(XenForo_ControllerPublic_Abstract $controller, XenForo_Input $input, array $viewParams)
 {
     $params = $input->filterSingle('c', XenForo_Input::ARRAY_SIMPLE);
     if (!empty($params['category'])) {
         $viewParams['search']['categories'] = array_fill_keys(explode(' ', $params['category']), true);
     } else {
         $viewParams['search']['categories'] = array();
     }
     $viewParams['search']['child_categories'] = true;
     $viewParams['categories'] = XenForo_Model::create('sonnb_XenGallery_Model_Category')->getAllCachedCategories();
     return $controller->responseView('sonnb_XenGallery_ViewPublic_Search_Form_Album', 'sonnb_xengallery_search_form_album', $viewParams);
 }
Esempio n. 19
0
 /**
  * Gets the search form controller response for this type.
  *
  * @see XenForo_Search_DataHandler_Abstract::getSearchFormControllerResponse()
  */
 public function getSearchFormControllerResponse(XenForo_ControllerPublic_Abstract $controller, XenForo_Input $input, array $viewParams)
 {
     $controller->getRouteMatch()->setSections('xengallery');
     $options = XenForo_Application::getOptions();
     if ($options->xengalleryOverrideStyle) {
         $controller->setViewStateChange('styleId', $options->xengalleryOverrideStyle);
     }
     $params = $input->filterSingle('c', XenForo_Input::ARRAY_SIMPLE);
     if (!empty($params['mediacat'])) {
         $viewParams['search']['categories'] = array_fill_keys(explode(' ', $params['mediacat']), true);
     } else {
         $viewParams['search']['categories'] = array();
     }
     $viewParams['categories'] = XenForo_Model::create('XenGallery_Model_Category')->getCategoryStructure();
     return $controller->responseView('XenGallery_ViewPublic_Search_Form_Media', 'xengallery_search_form_media', $viewParams);
 }
Esempio n. 20
0
 /**
  * Gets the search form controller response for this type.
  *
  * @see XenForo_Search_DataHandler_Abstract::getSearchFormControllerResponse()
  */
 public function getSearchFormControllerResponse(XenForo_ControllerPublic_Abstract $controller, XenForo_Input $input, array $viewParams)
 {
     $params = $input->filterSingle('c', XenForo_Input::ARRAY_SIMPLE);
     $viewParams['search'] = array_merge($viewParams['search'], array('reply_count' => empty($params['reply_count']) ? '' : $params['reply_count']));
     return $controller->responseView('XenForo_ViewPublic_Search_Form_Post', 'search_form_post', $viewParams);
 }
Esempio n. 21
0
 /**
  * Gets the search form controller response for this type.
  *
  * @see XenForo_Search_DataHandler_Abstract::getSearchFormControllerResponse()
  */
 public function getSearchFormControllerResponse(XenForo_ControllerPublic_Abstract $controller, XenForo_Input $input, array $viewParams)
 {
     $teamModel = $this->_getTeamModel();
     if (!$teamModel->canViewTeams($error)) {
         return $controller->responseNoPermission();
     }
     $params = $input->filterSingle('c', XenForo_Input::ARRAY_SIMPLE);
     if (!empty($params['category'])) {
         $viewParams['search']['categories'] = array_fill_keys(explode(' ', $params['category']), true);
     } else {
         $viewParams['search']['categories'] = array();
     }
     $viewParams['search']['child_categories'] = true;
     $viewParams['categories'] = XenForo_Model::create('Nobita_Teams_Model_Category')->getViewableCategories();
     return $controller->responseView('Nobita_Teams_ViewPublic_Search_Form_Team', 'Team_search_form_team', $viewParams);
 }
Esempio n. 22
0
 /**
  * Gets the search form controller response for this type.
  *
  * @see XenForo_Search_DataHandler_Abstract::getSearchFormControllerResponse()
  */
 public function getSearchFormControllerResponse(XenForo_ControllerPublic_Abstract $controller, XenForo_Input $input, array $viewParams)
 {
     $params = $input->filterSingle('c', XenForo_Input::ARRAY_SIMPLE);
     $viewParams['search']['reply_count'] = empty($params['reply_count']) ? '' : $params['reply_count'];
     if (!empty($params['prefix'])) {
         $viewParams['search']['prefixes'] = array_fill_keys(explode(' ', $params['prefix']), true);
     } else {
         $viewParams['search']['prefixes'] = array();
     }
     /** @var $threadPrefixModel XenForo_Model_ThreadPrefix */
     $threadPrefixModel = XenForo_Model::create('XenForo_Model_ThreadPrefix');
     $viewParams['prefixes'] = $threadPrefixModel->getPrefixesByGroups();
     if ($viewParams['prefixes']) {
         $visiblePrefixes = $threadPrefixModel->getVisiblePrefixIds();
         foreach ($viewParams['prefixes'] as $key => &$prefixes) {
             foreach ($prefixes as $prefixId => $prefix) {
                 if (!isset($visiblePrefixes[$prefixId])) {
                     unset($prefixes[$prefixId]);
                 }
             }
             if (!count($prefixes)) {
                 unset($viewParams['prefixes'][$key]);
             }
         }
     }
     $viewParams['search']['thread'] = array();
     if (!empty($params['thread'])) {
         $threadModel = $this->_getThreadModel();
         $thread = $threadModel->getThreadById($params['thread'], array('join' => XenForo_Model_Thread::FETCH_FORUM, 'permissionCombinationId' => XenForo_Visitor::getPermissionCombinationId()));
         if ($thread) {
             $permissions = XenForo_Permission::unserializePermissions($thread['node_permission_cache']);
             if ($threadModel->canViewThreadAndContainer($thread, $thread, $null, $permissions)) {
                 $viewParams['search']['thread'] = $this->_getThreadModel()->getThreadById($params['thread']);
             }
         }
     }
     return $controller->responseView('XenForo_ViewPublic_Search_Form_Post', 'search_form_post', $viewParams);
 }
Esempio n. 23
0
 /**
  * Gets the search form controller response for this type.
  *
  * @see XenForo_Search_DataHandler_Abstract::getSearchFormControllerResponse()
  */
 public function getSearchFormControllerResponse(XenForo_ControllerPublic_Abstract $controller, XenForo_Input $input, array $viewParams)
 {
     /** @var $resourceModel XenResource_Model_Resource */
     $resourceModel = XenForo_Model::create('XenResource_Model_Resource');
     if (!$resourceModel->canViewResources($error)) {
         return $controller->responseNoPermission();
     }
     $params = $input->filterSingle('c', XenForo_Input::ARRAY_SIMPLE);
     if (!empty($params['rescat'])) {
         $viewParams['search']['categories'] = array_fill_keys(explode(' ', $params['rescat']), true);
     } else {
         $viewParams['search']['categories'] = array();
     }
     $viewParams['search']['child_categories'] = true;
     $viewParams['categories'] = XenForo_Model::create('XenResource_Model_Category')->getViewableCategories();
     if (!empty($params['prefix'])) {
         $viewParams['search']['prefixes'] = array_fill_keys(explode(' ', $params['prefix']), true);
     } else {
         $viewParams['search']['prefixes'] = array();
     }
     /** @var $prefixModel XenResource_Model_Prefix */
     $prefixModel = XenForo_Model::create('XenResource_Model_Prefix');
     $viewParams['prefixes'] = $prefixModel->getPrefixesByGroups();
     if ($viewParams['prefixes']) {
         $visiblePrefixes = $prefixModel->getVisiblePrefixIds();
         foreach ($viewParams['prefixes'] as $key => $prefixes) {
             foreach ($prefixes as $prefixId => $prefix) {
                 if (!isset($visiblePrefixes[$prefixId])) {
                     unset($prefixes[$prefixId]);
                 }
             }
             if (!count($prefixes)) {
                 unset($viewParams['prefixes'][$key]);
             }
         }
     }
     $viewParams['search']['is_resource'] = !empty($params['is_resource']);
     return $controller->responseView('XenResource_ViewPublic_Search_Form_ResourceUpdate', 'search_form_resource_update', $viewParams);
 }
Esempio n. 24
0
 /**
  * Gets the search form controller response for this type.
  *
  * @see XenForo_Search_DataHandler_Abstract::getSearchFormControllerResponse()
  */
 public function getSearchFormControllerResponse(XenForo_ControllerPublic_Abstract $controller, XenForo_Input $input, array $viewParams)
 {
     $params = $input->filterSingle('c', XenForo_Input::ARRAY_SIMPLE);
     if (!empty($params['camera'])) {
         $viewParams['search']['camera'] = $params['camera'];
     }
     if (!empty($params['exposure'])) {
         $viewParams['search']['exposure'] = $params['exposure'];
     }
     if (!empty($params['focal'])) {
         $viewParams['search']['focal'] = $params['focal'];
     }
     if (!empty($params['iso'])) {
         $viewParams['search']['iso'] = $params['iso'];
     }
     if (!empty($params['aperture'])) {
         $viewParams['search']['aperture'] = $params['aperture'];
     }
     return $controller->responseView('sonnb_XenGallery_ViewPublic_Search_Form_Photo', 'sonnb_xengallery_search_form_photo', $viewParams);
 }
 public function parseOptionsInput(XenForo_Input $input, array $widget)
 {
     $configuration = $this->getConfiguration();
     $options = empty($widget['options']) ? array() : $widget['options'];
     foreach ($configuration['options'] as $optionKey => $optionType) {
         $optionValue = $input->filterSingle(self::getNamePrefix() . $optionKey, $optionType);
         if ($this->_validateOptionValue($optionKey, $optionValue) !== false) {
             $options[$optionKey] = $optionValue;
         }
     }
     if (!empty($widget['widget_page_id'])) {
         if (empty($options['layout_sizeRow'])) {
             $options['layout_sizeRow'] = 1;
         }
         if (empty($options['layout_sizeCol'])) {
             $options['layout_sizeCol'] = 1;
         }
     }
     if (!empty($options['conditional']) and !empty($options['expression'])) {
         unset($options['expression']);
     }
     return $options;
 }
 /**
  * Gets the search form controller response for this type.
  *
  * @see XenForo_Search_DataHandler_Abstract::getSearchFormControllerResponse()
  */
 public function getSearchFormControllerResponse(XenForo_ControllerPublic_Abstract $controller, XenForo_Input $input, array $viewParams)
 {
     $params = $input->filterSingle('c', XenForo_Input::ARRAY_SIMPLE);
     $viewParams['search']['reply_count'] = empty($params['reply_count']) ? '' : $params['reply_count'];
     $viewParams['search']['conversation'] = array();
     if (!empty($params['conversation'])) {
         $conversationModel = $this->_getConversationModel();
         $conversation = $conversationModel->getConversationById($params['conversation'], array('join' => XenForo_Model_Conversation::FETCH_FORUM, 'permissionCombinationId' => XenForo_Visitor::getPermissionCombinationId()));
         if ($conversation) {
             $permissions = XenForo_Permission::unserializePermissions($conversation['node_permission_cache']);
             if ($conversationModel->canViewConversationAndContainer($conversation, $conversation, $null, $permissions)) {
                 $viewParams['search']['conversation'] = $this->_getConversationModel()->getConversationById($params['conversation']);
             }
         }
     }
     return $controller->responseView('ThemeHouse_ConvSearch_ViewPublic_Search_Form_ConversationMessage', 'search_form_conversation_message', $viewParams);
 }