예제 #1
0
파일: User.php 프로젝트: jayrulez/yiisns
 public function addPhotoAlbum($type = PhotoAlbum::TYPE_USER, $name, $caption = null, $validate = false)
 {
     $photoAlbum = new PhotoAlbum();
     $photoAlbum->user_id = $this->id;
     $photoAlbum->type = $type;
     $photoAlbum->name = $name;
     $photoAlbum->caption = $caption;
     return $photoAlbum->save($validate);
 }
예제 #2
0
파일: util.php 프로젝트: nass600/homeCENTER
 /**
  * Creates a new picture in database.
  * Used in /photoalbum/actions/executeRefreshPhotoAlbum
  *
  * @param PhotoAlbum $photoalbum_object ex: PhotoAlbum(Alemania)
  * @param Array $picture_info[] ex: [IMG_32, 2010x4000, jpg, 4,32 MB]
  * @return Picture
  */
 public static function createPicture($photoalbum_object, $picture_info, $photoalbum_folder, $picture_filename, $user)
 {
     //looking for this episode in db
     $picture_object = NULL;
     $settings = Doctrine_Core::getTable('Settings')->findOneByUserId($user);
     foreach ($photoalbum_object['Pictures'] as $picture) {
         if ($picture->title == $picture_info['title']) {
             $picture_object = $picture;
         }
     }
     //if there is no picture
     if ($picture_object == NULL) {
         $picture_object = new Picture();
         $picture_object->title = $picture_info['title'];
     }
     $picture_object->filesize = $picture_info['filesize'];
     $picture_object->fileformat = $picture_info['fileformat'];
     $picture_object->dimensions = $picture_info['dimensions'];
     $picture_object->file_abs = utf8_encode($picture_info['file_abs']);
     $picture_object->file_rel = utf8_encode($picture_info['file_rel']);
     $picture_object->thumbnail_abs = Util::makePath(array($settings['photoalbums_root'], utf8_encode($photoalbum_folder), 'thumbs', $picture_filename));
     $picture_object->thumbnail_rel = Util::changePathSeparators(Util::makePath(array($settings['photoalbums_root_rel'], utf8_encode($photoalbum_folder), 'thumbs', $picture_filename)));
     //create thumbnail
     if (!file_exists($picture_object['thumbnail_abs'])) {
         if (!file_exists(Util::makePath(array($settings['photoalbums_root'], $photoalbum_folder, 'thumbs')))) {
             mkdir(Util::makePath(array($settings['photoalbums_root'], $photoalbum_folder, 'thumbs')));
         }
         $dimensions = array();
         $dimensions = explode('x', $picture_info['dimensions']);
         if ($dimensions[0] > $dimensions[1]) {
             $thumbnail = new sfThumbnail(155, 120, false, false, 100);
         } else {
             $thumbnail = new sfThumbnail(120, 155, false, false, 100);
         }
         if (file_exists($picture_info['file_abs'])) {
             $thumbnail->loadFile($picture_info['file_abs']);
             //Creating thumbnail image
             $thumbnail->save($picture_object['thumbnail_abs'], 'image/jpeg');
             chmod($picture_object['thumbnail_abs'], 0777);
         }
     }
     $picture_object->save();
     $photoalbum_object->Pictures[] = $picture_object;
     $photoalbum_object->save();
     return $picture_object;
 }