public function actionDeleteAll($id) { $arrIdNew = explode(",", $id); for ($i = 0; $i < count($arrIdNew); $i++) { // Delete all news of category new $model = CategoriesNews::model()->findByPk($arrIdNew[$i]); if (!empty($model)) { // delete news $criteria = new CDBCriteria(); if ($model->parent_id == 0) { $criCate = new CDBCriteria(); $criCate->addCondition("parent_id = " . $model->id); $arrCate = CategoriesNews::model()->findAll($criCate); foreach ($arrCate as $cate) { $criteria->addCondition("category_news_id = {$cate->id}"); $criteria->select = "id"; $arrNewID = News::model()->findAll($criteria); if (!empty($arrNewID)) { foreach ($arrNewID as $newId) { $modelNew = News::model()->find($newId->id); $path = "/../upload/images/"; $name = $modelNew->image; $this->unlink($path, $name); $modelNew->delete(); } } } } else { $criteria->addCondition("category_news_id = {$model->id}"); $criteria->select = "id"; $arrNewID = News::model()->findAll($criteria); if (!empty($arrNewID)) { foreach ($arrNewID as $newId) { $modelNew = News::model()->find($newId->id); $path = "/../upload/images/"; $name = $modelNew->image; $this->unlink($path, $name); $modelNew->delete(); } } } // delete sub category $criteria = new CDBCriteria(); $criteria->addCondition("parent_id = " . $arrIdNew[$i]); $cate = new CategoriesNews(); $cate->deleteAll($criteria); $model->delete(); } // Delete category new } if (!isset($_GET['ajax'])) { $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('index')); } }