public function actionKeywords() { $keyword = new Keyword(); $keywordForm = new KeywordForm(); if ($postKeywordForm = Yii::app()->request->getParam('KeywordForm')) { $keywords = array(); if (count($keywords = explode(PHP_EOL, $postKeywordForm['keywords'])) <= 1) { $keywords = array($postKeywordForm['keywords']); } foreach ($keywords as $k) { $k = trim($k); if (strlen($k) <= 0) { continue; } if ($existingKeyword = Keyword::model()->findByAttributes(array('name' => $k, 'search_engine' => $postKeywordForm['searchEngine']))) { $existingKeyword->deleted_at = null; $existingKeyword->period = $postKeywordForm['period']; $existingKeyword->update(); continue; } $newKeyword = new Keyword(); $newKeyword->name = $k; $newKeyword->search_engine = $postKeywordForm['searchEngine']; $newKeyword->period = $postKeywordForm['period']; if (!$newKeyword->save()) { throw new Exception(print_r($newKeyword->getErrors(), true)); } } $this->refresh(); } $this->render('keywords', array('keyword' => $keyword, 'keywordForm' => $keywordForm)); }