/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate($id) { $album = Album::model()->findByPk($id); if ($album === null) { throw new CHttpException(404, 'The requested album does not exists.'); } $model = new AlbumImage(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['AlbumImage'])) { $model->attributes = $_POST['AlbumImage']; $model->album_id = $album->id; if ($model->save()) { PublicFile::attachPrecreated($model, $model->_image); $this->redirect(['/album/details', 'id' => $album->id]); } } $this->render('create', ['model' => $model, 'album' => $album]); }
public function executeUpload(opMailRequest $request) { $member = $this->getRoute()->getMember(); if (!$member) { return sfView::NONE; } $mailMessage = $request->getMailMessage(); $album = Doctrine::getTable('Album')->find($request['id']); if (!$album || !$album->isAuthor($member->id)) { return sfView::NONE; } $files = $this->getImageFiles($mailMessage, 5); foreach ($files as $file) { $albumImage = new AlbumImage(); $albumImage->setAlbum($album); $albumImage->setMember($member); $albumImage->setFile($file); $albumImage->save(); } return sfView::NONE; }
public function save() { foreach ($this->getValues() as $k => $v) { if (0 !== strpos($k, 'photo_')) { continue; } if (empty($v['file'])) { continue; } $file = new File(); $file->setFromValidatedFile($v['file']); if (empty($v['description'])) { $description = $file->getName(); } else { $description = $v['description']; } $albumImage = new AlbumImage(); $albumImage->setAlbum($this->albumInstance); $albumImage->setFile($file); $albumImage->setDescription($description); $albumImage->save(); } }
$albumImage2 = Doctrine::getTable('AlbumImage')->find(2); $albumImage3 = Doctrine::getTable('AlbumImage')->find(3); $conn = Doctrine::getTable('AlbumImage')->getConnection(); // isAuthor() $t->cmp_ok($albumImage1->isAuthor(1), '===', true, '->isAuthor() returns true.'); $t->cmp_ok($albumImage1->isAuthor(2), '===', false, '->isAuthor() returns false.'); // getPrevious() $t->cmp_ok($albumImage1->getPrevious(), '===', false, '->getPrevious() returns false.'); $result = $albumImage2->getPrevious(); $t->isa_ok($result, 'AlbumImage', "->getPrevious() returns AlbumImage's instance."); $t->is($result->id, $albumImage1->id, '->getPrevious() returns previous AlbumImage corectlly.'); // getNext() $result = $albumImage1->getNext(); $t->isa_ok($result, 'AlbumImage', "->getNext() returns AlbumImage's instance."); $t->is($result->id, $albumImage2->id, '->getNext() returns next AlbumImage corectlly.'); $t->cmp_ok($albumImage2->getNext(), '===', false, '->getNext() returns false.'); // save() $conn->beginTransaction(); $file_new = new File(); $data = array('tmp_name' => dirname(__FILE__) . '/../../../images/OpenPNE.jpg', 'type' => 'image/jpeg', 'size' => 8327, 'name' => 'OpenPNE.jpg'); $validatorFile = new opValidatorImageFile(); $validatedFile = $validatorFile->clean($data); $file_new->setFromValidatedFile($validatedFile); $albumImage_new = new AlbumImage(); $albumImage_new->setMember($member1); $albumImage_new->setAlbum($album1); $albumImage_new->setFile($file_new); $albumImage_new->save(); $t->is($albumImage1->getFile()->getName(), 'a_1055_a_2_a_1_a_1_dummy_file', 'filename is setted by ->save()'); $t->is($albumImage_new->getFilesize(), 8327, 'filesize is setted by ->preSave().'); $conn->rollback();