예제 #1
0
 /**
  * Template hook for Admin User Edit page (panes).
  */
 public static function adminUserEditPanes($hookName, &$contents, array $hookParams, XenForo_Template_Abstract $template)
 {
     $user = $template->getParam("user");
     $renderHTML = "";
     /* @var $presetModel ThreePointStudio_CustomMarkupForUser_Model_Preset */
     $presetModel = XenForo_Model::create("ThreePointStudio_CustomMarkupForUser_Model_Preset");
     if ($user["user_id"] == 0) {
         return;
     }
     // New user, don't show this
     $fullUserOptions = ThreePointStudio_CustomMarkupForUser_Helpers::prepareOptionsForView($user["3ps_cmfu_options"]);
     if (!array_key_exists("presets", $fullUserOptions["username"])) {
         $fullUserOptions["username"]["presets"] = array();
     } elseif (is_int($fullUserOptions["username"]["presets"])) {
         $fullUserOptions["username"]["presets"] = array($fullUserOptions["username"]["presets"]);
     }
     if (!array_key_exists("presets", $fullUserOptions["usertitle"])) {
         $fullUserOptions["usertitle"]["presets"] = array();
     } elseif (is_int($fullUserOptions["usertitle"]["presets"])) {
         $fullUserOptions["usertitle"]["presets"] = array($fullUserOptions["usertitle"]["presets"]);
     }
     $settingsTemplate = $template->create("3ps_cmfu_cmcontrol", $template->getParams());
     $presets = array();
     foreach ($presetModel->getPresetsByGroup("username") as $presetId => $preset) {
         $presets[$presetId] = array("label" => $preset["title"], "value" => $presetId, "selected" => in_array($presetId, $fullUserOptions["username"]["presets"]));
     }
     $presetsTemplate = $template->create("3ps_cmfu_options_presets_list", $template->getParams());
     $presetsTemplate->setParams(array("title" => new XenForo_Phrase("user_name"), "titleCode" => "username", "presets" => $presets));
     $presetHTML = $presetsTemplate->render();
     $settingsTemplate->setParams(array_merge(array("title" => new XenForo_Phrase("user_name"), "titleCode" => "username", "userOptions" => $fullUserOptions["username"], "currentMarkupRender" => XenForo_Template_Helper_Core::callHelper("usernamehtml", array($user, "", true)), "presetsHTML" => $presetHTML), ThreePointStudio_CustomMarkupForUser_Helpers::getBaseViewParams()));
     $renderHTML .= $settingsTemplate->render();
     // Render user title
     if (empty($user["custom_title"])) {
         // No user title
         $user["custom_title"] = "(No Custom Title Set)";
     }
     $settingsTemplate = $template->create("3ps_cmfu_cmcontrol", $template->getParams());
     $presets = array();
     foreach ($presetModel->getPresetsByGroup("usertitle") as $presetId => $preset) {
         $presets[$presetId] = array("label" => $preset["title"], "value" => $presetId, "selected" => in_array($presetId, $fullUserOptions["usertitle"]["presets"]));
     }
     $presetsTemplate = $template->create("3ps_cmfu_options_presets_list", $template->getParams());
     $presetsTemplate->setParams(array("title" => new XenForo_Phrase("3ps_cmfu_user_title"), "titleCode" => "usertitle", "presets" => $presets));
     $presetHTML = $presetsTemplate->render();
     $settingsTemplate->setParams(array_merge(array("title" => new XenForo_Phrase("3ps_cmfu_user_title"), "titleCode" => "usertitle", "userOptions" => $fullUserOptions["usertitle"], "currentMarkupRender" => XenForo_Template_Helper_Core::callHelper("usertitle", array($user, true)), "presetsHTML" => $presetHTML), ThreePointStudio_CustomMarkupForUser_Helpers::getBaseViewParams()));
     $renderHTML .= $settingsTemplate->render();
     /* Things - AdminCP */
     $contents .= "<li>" . $renderHTML . "</li>";
 }
예제 #2
0
파일: CMFU.php 프로젝트: iversia/3ps_cmfu
 protected function _getPresetAddEditResponse(array $preset = null)
 {
     $user = XenForo_Visitor::getInstance()->toArray();
     if ($preset == null) {
         $preset = array("config" => array("preset" => array()), "enable_for" => ThreePointStudio_CustomMarkupForUser_Constants::$defaultOptionsArray, "user_groups" => array());
         $options = $preset["config"];
     } else {
         $preset["enable_for"] = unserialize($preset["enable_for"]);
         $preset["user_groups"] = unserialize($preset["user_groups"]);
         $options = unserialize($preset["config"]);
     }
     $viewOptions = ThreePointStudio_CustomMarkupForUser_Helpers::prepareOptionsForView($options);
     $html = str_replace("{inner}", $user["username"], ThreePointStudio_CustomMarkupForUser_Helpers::assembleCustomMarkup($options, "preset"));
     $userGroups = array();
     foreach ($this->_getUserGroupModel()->getAllUserGroupTitles() as $userGroupId => $title) {
         $userGroups[] = array('label' => $title, 'value' => $userGroupId, 'selected' => in_array($userGroupId, $preset["user_groups"]));
     }
     $viewParams = array_merge(array("userGroups" => $userGroups, "preset" => $preset, "title" => new XenForo_Phrase("3ps_cmfu_preset"), "titleCode" => "preset", "userOptions" => $viewOptions["preset"], "currentMarkupRender" => $html), ThreePointStudio_CustomMarkupForUser_Helpers::getBaseViewParams());
     return $this->responseView('ThreePointStudio_CustomMarkupForUser_ViewAdmin_Presets', '3ps_cmfu_presets_edit', $viewParams);
 }