/** * Returns the conversation label management. * * @return array */ public function getLabelManagement() { WCF::getTPL()->assign(array('cssClassNames' => ConversationLabel::getLabelCssClassNames(), 'labelList' => ConversationLabel::getLabelsByUser())); return array('actionName' => 'getLabelManagement', 'template' => WCF::getTPL()->fetch('conversationLabelManagement'), 'maxLabels' => WCF::getSession()->getPermission('user.conversation.maxLabels'), 'labelCount' => count(ConversationLabel::getLabelsByUser())); }
/** * Validates parameters to add a new label. */ public function validateAdd() { if (!WCF::getSession()->getPermission('user.conversation.canUseConversation')) { throw new PermissionDeniedException(); } // check if user has already created maximum number of labels if (count(ConversationLabel::getLabelsByUser()) >= WCF::getSession()->getPermission('user.conversation.maxLabels')) { throw new PermissionDeniedException(); } $this->readString('labelName', false, 'data'); $this->readString('cssClassName', false, 'data'); if (!in_array($this->parameters['data']['cssClassName'], ConversationLabel::getLabelCssClassNames())) { throw new UserInputException('cssClassName'); } // 'none' is a pseudo value if ($this->parameters['data']['cssClassName'] == 'none') { $this->parameters['data']['cssClassName'] = ''; } }