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); }
/** * 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; }