public function actionAdd() { $this->layout = '//layouts/admin'; $this->pageTitle = 'Новая категория'; $this->breadcrumbs = array('Каталог' => array('/admin/catalog'), 'Категории' => array('/admin/catalog/categories/list'), 'Новая категория'); $success = false; if (isset($_POST['data'])) { $model = new CatalogCategories(); $tags = array(); if (isset($_POST['data']['tags'])) { $tags = $_POST['data']['tags']; unset($_POST['data']['tags']); } $dataArray = $_POST['data']; $dataArray['is_active'] = isset($_POST['data']['is_active']) && $_POST['data']['is_active'] == 1 ? 1 : 0; $dataArray['is_deleted'] = 0; $model->setAttributes($dataArray); if ($model->save()) { $success = true; if (isset($_FILES['anons_pic']) && $_FILES['anons_pic']['name'] || isset($_FILES['content_pic']) && $_FILES['content_pic']['name']) { $uploaddir = 'images/upload/' . date("d.m.Y", time()); if (!is_dir($uploaddir)) { mkdir($uploaddir); } if (isset($_FILES['anons_pic'])) { $tmp_name = $_FILES["anons_pic"]["tmp_name"]; $name = $_FILES["anons_pic"]["name"]; if ($name) { $uploadfile = $uploaddir . 'arca_' . $model->id . '_' . md5(basename($name) . time()) . "." . end(explode(".", $name)); if (move_uploaded_file($tmp_name, $uploadfile)) { $model->setAttributes(array("anons_pic" => "/" . $uploadfile)); $model->save(); } } } if (isset($_FILES['content_pic'])) { $tmp_name = $_FILES["content_pic"]["tmp_name"]; $name = $_FILES["content_pic"]["name"]; if ($name) { $uploadfile = $uploaddir . 'arcc_' . $model->id . '_' . md5(basename($name) . time()) . "." . end(explode(".", $name)); if (move_uploaded_file($tmp_name, $uploadfile)) { $model->setAttributes(array("content_pic" => "/" . $uploadfile)); $model->save(); } } } } if (is_array($tags) && count($tags)) { foreach ($tags as $tag) { $tagModel = Tags::model()->findByAttributes(array("name" => $tag)); if (!is_object($tagModel)) { $tagModel = new Tags(); $tagModel->setAttributes(array("name" => $tag, "count" => 0)); } $tagModel->count += 1; $tagModel->save(); $tagsRelations = new TagsRelations(); $tagsRelations->setAttributes(array("tag_id" => $tagModel->id, "object_id" => $model->id, "model" => "catalog_category")); $tagsRelations->save(); } } } } if ($success) { $this->redirect("/admin/catalog/categories/list"); } if (!isset($model) || !is_object($model)) { $model = new CatalogCategories(); } $this->render('add', array("errors" => $model->errors)); }