Exemplo n.º 1
0
 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;
 }
Exemplo n.º 2
0
 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 = '';
     }
 }