private function validateBoardData($boardTitle, $boardDescription)
 {
     $this->status = 'error';
     $this->errorfield = '';
     $this->errormsg = '';
     // Trim spaces (CONN-167)
     $boardTitle = WikiaSanitizer::unicodeTrim($boardTitle);
     $boardDescription = WikiaSanitizer::unicodeTrim($boardDescription);
     // Reject illegal characters.
     $rxTc = Title::getTitleInvalidRegex();
     if (preg_match($rxTc, $boardTitle) || is_null(Title::newFromText($boardTitle))) {
         $this->errorfield = 'boardTitle';
         $this->errormsg = wfMessage('forum-board-title-validation-invalid')->escaped();
         return false;
     }
     $forum = new Forum();
     if ($forum->validateLength($boardTitle, 'title') !== Forum::LEN_OK) {
         $this->errorfield = 'boardTitle';
         $this->errormsg = wfMessage('forum-board-title-validation-length')->escaped();
         return false;
     }
     if ($forum->validateLength($boardDescription, 'desc') !== Forum::LEN_OK) {
         $this->errorfield = 'boardDescription';
         $this->errormsg = wfMessage('forum-board-description-validation-length')->escaped();
         return false;
     }
     return true;
 }
 /**
  * @brief Adds link, link_title and photo elements to an array if all requirements are met
  *
  * @param $poiData
  */
 public function appendLinkIfValidData(&$poiData)
 {
     $linkTitle = $this->getData('articleTitleOrExternalUrl', '');
     // if article title or link was passed in form get an article URL for it
     $link = !empty($linkTitle) ? $this->getArticleUrl($linkTitle) : '';
     // if the link created was invalid it might be an external url if not empty
     $link = !empty($linkTitle) && !$this->isValidArticleTitle() ? $linkTitle : $link;
     $link = WikiaSanitizer::prepUrl($link);
     $poiData['link_title'] = $linkTitle;
     $poiData['link'] = $link;
 }
Пример #3
0
 /**
  * @dataProvider prepUrlDataProvider
  */
 public function testPrepUrl($description, $url, $expected)
 {
     $this->assertEquals($expected, WikiaSanitizer::prepUrl($url), $description);
 }