public function actionCheck()
 {
     if (Yii::app()->request->isAjaxRequest) {
         $relatedType = Yii::app()->request->getPost('related_type');
         $relatedId = Yii::app()->request->getPost('related_id');
         $lang = Yii::app()->request->getPost('lang');
         $keywords = Yii::app()->request->getPost('keywords');
         $keywordList = InternalLinkKeyword::getExistedKeywords($relatedType, $relatedId, $lang, $keywords);
         if (count($keywordList) > 0) {
             echo CJSON::encode(array('result' => false, 'message' => strtr('关键词 {keywords} 已存在', array('{keywords}' => implode(', ', $keywordList)))));
         } else {
             echo CJSON::encode(array('result' => true));
         }
         Yii::app()->end();
     }
 }
Пример #2
0
 public function validateInternalLinkKeywords()
 {
     if ($this->hasErrors('internal_link_keywords') == false) {
         if (empty($this->internal_link_keywords) == false) {
             foreach (I18nHelper::getFrontendLanguages(false) as $lang => $attr) {
                 if ($lang == I18nHelper::getFrontendSourceLanguage()) {
                     $existedKeywordList = InternalLinkKeyword::getExistedKeywords('page', $this->isNewRecord ? false : $this->page_id, $lang, $this->internal_link_keywords);
                     if (count($existedKeywordList) > 0) {
                         $this->addError('internal_link_keywords', strtr('内链关键词 {keywords} 已存在', array('{lang}' => $attr['label'], '{keywords}' => CHtml::encode(implode(',', $existedKeywordList)))));
                     }
                 } else {
                     $existedKeywordList = InternalLinkKeyword::getExistedKeywords('page', $this->isNewRecord ? false : $this->page_id, $lang, $this->i18nFormData['internal_link_keywords_' . $lang]);
                     if (count($existedKeywordList) > 0) {
                         $this->addError('internal_link_keywords', strtr('[{lang}] 内链关键词 {keywords} 已存在', array('{lang}' => $attr['label'], '{keywords}' => CHtml::encode(implode(',', $existedKeywordList)))));
                     }
                 }
             }
         }
     }
 }