コード例 #1
0
 /**
  * Update album and pictures metadatas
  *
  * @access	private
  */
 private function update()
 {
     if (VPost::apply_action(false) && in_array(VPost::action(), array('publish', 'unpublish'))) {
         switch (VPost::action()) {
             case 'publish':
                 $status = 'publish';
                 break;
             case 'unpublish':
                 $status = 'draft';
                 break;
         }
         if (VPost::album_id()) {
             try {
                 foreach (VPost::album_id() as $id) {
                     $album = new Media();
                     $album->_id = $id;
                     $album->_status = $status;
                     $album->update('_status', 'str');
                 }
                 $result = true;
             } catch (Exception $e) {
                 $result = $e->getMessage();
             }
             $this->_action_msg = ActionMessages::updated($result);
         }
     } elseif (VPost::save(false)) {
         try {
             $album = new Media();
             $album->_id = VPost::album_id();
             $album->_name = VPost::name();
             $album->_description = VPost::description();
             $album->_allow_comment = VPost::allow_comment('closed');
             $album->_category = implode(',', VPost::cat(array()));
             $album->update('_name', 'str');
             $album->update('_description', 'str');
             $album->update('_allow_comment', 'str');
             $album->update('_category', 'str');
             foreach ($_POST as $key => $value) {
                 $pic = substr($key, 0, 3);
                 if ($pic == 'pic') {
                     $id = substr($key, 3);
                     $picture = new Media();
                     $picture->_id = $id;
                     $picture->_name = VPost::$key();
                     $picture->update('_name', 'str');
                 }
             }
             $result = true;
         } catch (Exception $e) {
             $result = $e->getMessage();
         }
         $this->_action_msg = ActionMessages::updated($result);
     } elseif (VPost::publish(false)) {
         try {
             $album = new Media();
             $album->_id = VPost::album_id();
             $album->_status = 'publish';
             $album->_name = VPost::name();
             $album->_description = VPost::description();
             $album->_allow_comment = VPost::allow_comment('closed');
             $album->_category = implode(',', VPost::cat(array()));
             $album->update('_name', 'str');
             $album->update('_description', 'str');
             $album->update('_allow_comment', 'str');
             $album->update('_category', 'str');
             $album->update('_status', 'str');
             $result = true;
         } catch (Exception $e) {
             $result = $e->getMessage();
         }
         $this->_action_msg = ActionMessages::updated($result);
     } elseif (VPost::unpublish(false)) {
         try {
             $album = new Media();
             $album->_id = VPost::album_id();
             $album->_status = 'draft';
             $album->update('_status', 'str');
             $result = true;
         } catch (Exception $e) {
             $result = $e->getMessage();
         }
         $this->_action_msg = ActionMessages::updated($result);
     } elseif (VPost::update_image(false)) {
         try {
             $media = new Media();
             $media->_id = VPost::pid();
             $media->_name = VPost::name();
             $media->_description = VPost::description();
             $media->update('_name', 'str');
             $media->update('_description', 'str');
             if (VPost::rotate() != 'no') {
                 $media->read('_permalink');
                 $media->read('_type');
                 $path = $media->_permalink;
                 $fname = basename($path);
                 $dirname = dirname($path) . '/';
                 $img = new HandleMedia();
                 $img->_mime = $media->_type;
                 $img->load(PATH . $path);
                 $img->rotate(VPost::rotate());
                 $img->load(PATH . $dirname . '1000-' . $fname);
                 $img->rotate(VPost::rotate());
                 $img->load(PATH . $dirname . '300-' . $fname);
                 $img->rotate(VPost::rotate());
                 $img->load(PATH . $dirname . '150-' . $fname);
                 $img->rotate(VPost::rotate());
             }
             if (VPost::flip() != 'no') {
                 $media->read('_permalink');
                 $media->read('_type');
                 $path = $media->_permalink;
                 $fname = basename($path);
                 $dirname = dirname($path) . '/';
                 $img = new HandleMedia();
                 $img->_mime = $media->_type;
                 $img->load(PATH . $path);
                 $img->flip(VPost::flip());
                 $img->load(PATH . $dirname . '1000-' . $fname);
                 $img->flip(VPost::flip());
                 $img->load(PATH . $dirname . '300-' . $fname);
                 $img->flip(VPost::flip());
                 $img->load(PATH . $dirname . '150-' . $fname);
                 $img->flip(VPost::flip());
             }
             $result = true;
         } catch (Exception $e) {
             $result = $e->getMessage();
         }
         $this->_action_msg = ActionMessages::updated($result);
     }
 }