public static function createPage($data) { $db = JO_Db::getDefaultAdapter(); $db->insert('pages', array('date_added' => new JO_Db_Expr('NOW()'), 'date_modified' => new JO_Db_Expr('NOW()'), 'parent_id' => (int) (isset($data['parent_id']) ? $data['parent_id'] : 0), 'status' => (int) $data['status'], 'in_footer' => (int) $data['in_footer'], 'title' => $data['title'], 'description' => $data['description'], 'meta_title' => $data['meta_title'], 'meta_description' => $data['meta_description'], 'meta_keywords' => $data['meta_keywords'])); $page_id = $db->lastInsertId(); if (isset($data['keyword']) && $data['keyword']) { self::generatePage($page_id, $data['keyword']); } else { self::generatePage($page_id); } $temporary_images = JO_Session::get('temporary_images'); if ($temporary_images && is_array($temporary_images)) { $page_info = self::getPage($page_id); if ($page_info) { $gallery_path = '/gallery/' . date("Y/m/", strtotime($page_info['date_added'])); $upload_folder = realpath(BASE_PATH . '/uploads'); $upload_folder .= $gallery_path; foreach ($temporary_images as $image) { $image_name = basename($image['image']); if (!file_exists($upload_folder) || !is_dir($upload_folder)) { mkdir($upload_folder, 0777, true); } if (copy(BASE_PATH . '/uploads/' . $image['image'], $upload_folder . $image_name)) { $image_id = Model_Gallery::createImage(array('gallery_id' => $page_id, 'controller' => 'pages', 'image' => $gallery_path . $image_name)); if ($image_id && isset($image['title'])) { Model_Gallery::updateImageInfo($image_id, $image['title']); } } $mi = new Helper_Images(); $mi->deleteImages($image['image']); } } JO_Session::clear('temporary_images'); } return $page_id; }
public function editeImageInfoAction() { if (!WM_Users::allow('edit', $this->getRequest()->getController())) { $this->forward('error', 'noPermission'); } $this->noLayout(true); $image_id = $this->getRequest()->getQuery('id'); $model_gallery = new Model_Gallery(); if ($this->getRequest()->isPost()) { if ($this->getRequest()->getPost('session_edit')) { $temporary_images = JO_Session::get('temporary_images'); if (isset($temporary_images[$image_id])) { $temporary_images[$image_id]['title'] = $this->getRequest()->getPost('title'); $temporary_images[$image_id]['description'] = $this->getRequest()->getPost('description'); } JO_Session::set('temporary_images', $temporary_images); exit('ok'); } else { $model_gallery->updateImageInfo($image_id, $this->getRequest()->getParams()); } exit('ok'); } $this->view->image_id = $image_id; $image_info = $model_gallery->getImage($image_id); if (!$image_info) { $image_info = JO_Session::get('temporary_images[' . $image_id . ']'); $this->view->session_edit = 'true'; } if (!$image_info && !$this->view->error) { $this->view->error = $this->translate('Picture not found'); } else { $model_image = new Helper_Images(); $this->view->image = $image_info['image']; $this->view->preview = $model_image->resize($image_info['image'], 100, 100); } if ($image_info) { $this->view->title = $image_info['title']; } else { $this->view->title = ''; } if ($image_info) { $this->view->description = $image_info['description']; } else { $this->view->description = ''; } }