public function editAction() { if (!Zend_Auth::getInstance()->hasIdentity()) { throw new Zend_Exception("You cant edit this item"); } $id = $this->getRequest()->getParam("id"); $type = $this->getRequest()->getParam("type"); $from = $this->getRequest()->getParam("from"); $this->view->type = $type; $this->view->from = $from; $categoriesModel = new Model_DbTable_PagesCategories(); $categories = $categoriesModel->getMedia(); $pagesModel = new Model_DbTable_Pages(); if ($id) { $page = $pagesModel->find($id)->current(); } elseif ($this->getRequest()->isPost() && isset($categories[$type]) || !$this->getRequest()->isPost()) { $page = $pagesModel->createRow(); $page->category_id = $categories[$type]->id; } elseif ($this->getRequest()->getParam("parent_id")) { $page = $pagesModel->createRow(); $page->category_id = $this->getRequest()->getParam("parent_id"); } else { throw new Zend_Exception("Selected type not available"); } if (!$page) { throw new Zend_Exception("Page isn't found"); } $form = Model_Static_Loader::loadForm("page"); if ($this->getRequest()->isPost() && $form->isValid($_POST)) { $values = $form->getValues(); unset($values["thumb"]); foreach ($values as $key => $val) { $page->{$key} = $val; } if ($type != "posts") { // upload files if (isset($_FILES["thumb"]) && $_FILES["thumb"]["size"]) { $filename = date("Ymd_His") . $_FILES["thumb"]["name"]; if (!$type) { $type = "common"; } move_uploaded_file($_FILES['thumb']['tmp_name'], $_SERVER["DOCUMENT_ROOT"] . "/files/" . $type . "/" . $filename); $page->thumb = "/files/" . $type . "/" . $filename; } } $page->save(); switch ($page->category_id) { case 4: $url = "/sections/post?id={$page->id}"; break; case 3: case 2: $url = "/sections/news?id={$page->id}"; break; case 7: $url = "/sections/pipeline/"; break; } $this->_redirect($url); exit; } $this->view->page = $page; }