Example #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;
 }
Example #2
0
 public function uploadImagesAction()
 {
     if (!WM_Users::allow('create', $this->getRequest()->getController())) {
         $this->forward('error', 'noPermission');
     }
     $gallery_id = (int) $this->getRequest()->getRequest('id');
     $page_info = Model_Pages::getPage($gallery_id);
     $image = $this->getRequest()->getFile('Filedata');
     if (!$image && $this->view->error) {
         $this->view->error = $this->translate('Invalid file');
     }
     if ($page_info) {
         $gallery_path = '/gallery/' . date("Y/m/", strtotime($page_info['date_added']));
     } else {
         $gallery_path = '/temp/gallery/';
     }
     $upload_folder = realpath(BASE_PATH . '/uploads');
     $upload_folder .= $gallery_path;
     $upload = new JO_Upload();
     $upload->setFile($image)->setExtension(array('.jpg', '.jpeg', '.png', '.gif'))->setUploadDir($upload_folder);
     $new_name = md5(time() . serialize($image));
     if ($upload->upload($new_name)) {
         $info = $upload->getFileInfo();
         if ($info) {
             $file_path = $gallery_path . $info['name'];
             $data = array('gallery_id' => $gallery_id, 'image' => $file_path, 'controller' => 'pages');
             if ($page_info) {
                 $insert_id = Model_Gallery::createImage($data);
                 if ($insert_id) {
                     $model_images = new Helper_Images();
                     $this->view->id = $insert_id;
                     $this->view->thumb = $model_images->resize($file_path, 100, 100);
                     $this->view->image = $this->getRequest()->getBaseUrl() . 'uploads' . $file_path;
                 } else {
                     $this->view->error = $this->translate('There was an error record. Try Again ');
                     @unlink($upload_folder . $info['name']);
                 }
             } else {
                 $temporary_images = JO_Session::get('temporary_images');
                 if (!is_array($temporary_images)) {
                     $temporary_images = array();
                 }
                 $temporary_images[] = $data;
                 JO_Session::set('temporary_images', $temporary_images);
                 $model_images = new Helper_Images();
                 $this->view->id = count($temporary_images) - 1;
                 $model_images = new Helper_Images();
                 $this->view->thumb = $model_images->resize($file_path, 100, 100);
                 $this->view->image = $this->getRequest()->getBaseUrl() . 'uploads' . $file_path;
             }
         } else {
             $this->view->error = $this->translate('An unknown error');
         }
     } else {
         $this->view->error = $upload->getError();
     }
     $response = $this->getResponse();
     $response->addHeader('Cache-Control: no-cache, must-revalidate');
     $response->addHeader('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
     $response->addHeader('Content-type: application/json');
     echo $this->renderScript('json');
 }