/** * 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>"; }
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); }