public function validate() { $user =& $this->object; $profile =& $this->processor->profile; if (!$profile->fullname) { $this->processor->addFieldError('fullname', "Пожалуйста, укажите ФИО"); } // Проверяем емейл if (!preg_match("/^[\\/_a-z0-9-]+(\\.[\\/_a-z0-9-]+)*@[\\/_a-z0-9-]+(\\.[\\/_a-z0-9-]+)*(\\.[a-z]{2,4})\$/i", $profile->email)) { $this->addFieldError('email', 'Укажите корректный email'); } // Обновление компании $company = $this->getProperty('company', null); if (isset($company)) { $extended = $this->processor->profile->get('extended'); $extended['company'] = $company; $this->processor->profile->set('extended', $extended); } return parent::validate(); }
public function validate() { $topic =& $this->object; # $attributes = & $topic->Attributes; /*foreach( $this->object->TopicBlogs as $o){ print_r($o->Blog->toArray()); } exit;*/ $topic->pagetitle = strip_tags($topic->pagetitle); $topic->longtitle = strip_tags($topic->longtitle); if (!$topic->CreatedBy) { return "Не был получен объект пользователя"; } // Проверяем блоги топика # if(!$this->object->TopicBlogs){ # return "Не был указан ни один блог"; # } // Иначе проверяем права на блог # foreach($this->object->TopicBlogs as $TopicBlog){ # # $blog = $TopicBlog->Blog; # # //print_r($TopicBlog->toArray()); # # if(!$blog instanceof SocietyBlog){ # return "Публиковать топики можно только в блоги"; # } # # $ok = $this->checkBlogAccess($blog); # # if($ok !== true){ # return $ok; # } # } // Проверяем теги // Если есть, проверяем на наличие хотя бы одного активного # $topic_tags = array(); # if($this->object->Tags){ # foreach($this->object->Tags as $tag){ # # print_r($tag->toArray()); # if($tag->active){ # $topic_tags[] = $tag->tag; # } # } # } # if(!$topic_tags){ # # $error = "Не указан ни один тег"; # # $error = $this->modx->lexicon('topic_post.error.type_topic_tags'); # # $this->addFieldError('topic_tags', $error); # # return $error; # } # else{ # // Иначе сохраняем активные теги в топик # $attributes->topic_tags = implode(",", $topic_tags); # // print $this->object->topic_tags; # } // Режем контент # $content = $topic->content; # $attributes->raw_content = $content; # $content = str_replace(array( # "<?" # ), array( # "<" # ), $content); # # $content = strip_tags($content, '<strong><composite><composite><model><object><field><code><pre><cut><p><a><h4><h5><h6><img><b><em><i><s><u><hr><blockquote><table><tr><th><td><ul><li><ol>'); # # # // Реплейсим переносы # $content = preg_replace("/[\r\n]{3,}/", "<br /><br />", $content); # $content = preg_replace("/\r/", "<br />", $content); # # $content = preg_replace('/<code>(.+?)<\/code>/sim', "<pre class=\"prettyprint\"><code>$1</code></pre>", $content); # $jevix = $this->modx->getService('modJevix','modJevix', MODX_CORE_PATH . 'components/modjevix/model/modJevix/'); # # if( # $this->modx->hasPermission('modxclub.post_indexed_links') # AND $this->getProperty('links_follow') # ){ # $rel = "follow"; # } # else{ # $rel = "nofollow"; # } # # $jevix->cfgSetTagParamDefault('a','rel',$rel,true); # # $errors = ''; # $content = $jevix->parse($content, $errors); if (!$topic->content) { return "Не заполнено содержимое публикации"; } # $content_cut = explode("<cut>", $content, 2); # $short_text = $content_cut[0]; # $attributes->short_text = $short_text; /** * Получаемый и устанавливаем разрезанный текст по тегу <cut> */ # list($sTextShort,$sTextNew,$sTextCut) = $this->Cut($content); # $oTopic->setCutText($sTextCut); # $oTopic->setText($this->Text_Parser($sTextNew)); # $oTopic->setTextShort($this->Text_Parser($sTextShort)); # exit; # $topic->content = $sTextNew; # $attributes->short_text = $sTextShort; # print $sTextNew; # # exit; return parent::validate(); }