public function executeImage(sfWebRequest $request) { $member = $this->getRoute()->getMember(); if (!$member) { return sfView::NONE; } $message = $request->getMailMessage(); $images = $message->getImages(); foreach ($images as $image) { $count = $member->getMemberImage()->count(); if ($count >= 3) { return sfView::ERROR; } $validator = new opValidatorImageFile(); $validFile = $validator->clean($image); $file = new File(); $file->setFromValidatedFile($validFile); $file->setName('m_' . $member->getId() . '_' . $file->getName()); $memberImage = new MemberImage(); $memberImage->setMember($member); $memberImage->setFile($file); if (!$count) { $memberImage->setIsPrimary(true); } $memberImage->save(); } return sfView::NONE; }
public function executePost(sfWebRequest $request) { $this->forward400If('' === (string) $request['body'], 'body parameter is not specified.'); $this->forward400If('' === (string) $request['toMember'], 'toMember parameter is not specified.'); $body = $request['body']; $this->myMember = $this->member; $toMember = Doctrine::getTable('Member')->find($request['toMember']); $this->forward400Unless($toMember, 'invalid member'); $relation = Doctrine_Core::getTable('MemberRelationship')->retrieveByFromAndTo($toMember->getId(), $this->member->getId()); $this->forward400If($relation && $relation->getIsAccessBlock(), 'Cannot send the message.'); $message = Doctrine::getTable('SendMessageData')->sendMessage($toMember, SendMessageData::SMARTPHONE_SUBJECT, $body, array()); $file = $request->getFiles('message_image'); try { $validator = new opValidatorImageFile(array('required' => false)); $clean = $validator->clean($file); if (is_null($clean)) { // if empty. return sfView::SUCCESS; } } catch (Exception $e) { $this->logMessage($e->getMessage()); $this->forward400('This image file is invalid.'); } $file = new File(); $file->setFromValidatedFile($clean); $file->save(); $messageFile = new MessageFile(); $messageFile->setMessageId($message->getId()); $messageFile->setFile($file); $messageFile->save(); }
public function executeImage(sfWebRequest $request) { $member = $this->getRoute()->getMember(); if (!$member) { return sfView::NONE; } $community = Doctrine::getTable('Community')->find($request->getParameter('id')); if (!$community) { return sfView::ERROR; } $isAdmin = Doctrine::getTable('CommunityMember')->isAdmin($member->getId(), $community->getId()); if (!$isAdmin || $community->getImageFileName()) { return sfView::ERROR; } $message = $request->getMailMessage(); if ($images = $message->getImages()) { $image = array_shift($images); $validator = new opValidatorImageFile(); $validFile = $validator->clean($image); $file = new File(); $file->setFromValidatedFile($validFile); $file->setName('c_' . $community->getId() . '_' . $file->getName()); $community->setFile($file); $community->save(); } return sfView::NONE; }
public function save() { $file = new File(); $file->setFromValidatedFile($this->getValue('file')); $file->setName(sprintf('admin_%s_%d', $this->getValue('imageName'), time())); return $file->save(); }
protected function doSave($conn = null) { $file = new File(); $file->setFromValidatedFile($this->getValue('file_id')); $file->name = 'op_mtviewer_' . $this->getObject()->id . '_' . $file->name; $this->getObject()->File = $file; parent::doSave($conn); }
public function updateObject($values = null) { if ($values['photo'] instanceof sfValidatedFile) { $file = new File(); $file->setFromValidatedFile($values['photo']); $this->getObject()->setFile($file); } else { $this->getObject()->setFile(null); } }
public function executePost(sfWebRequest $request) { $this->forward400If('' === (string) $request['title'], 'title parameter is not specified.'); $this->forward400If('' === (string) $request['body'], 'body parameter is not specified.'); $this->forward400If(!isset($request['public_flag']) || '' === (string) $request['public_flag'], 'public flag is not specified'); if (isset($request['id']) && '' !== $request['id']) { $diary = Doctrine::getTable('Diary')->findOneById($request['id']); $this->forward400If(false === $diary, 'the specified diary does not exit.'); $this->forward400If(false === $diary->isAuthor($this->member->getId()), 'this diary is not yours.'); } else { $diary = new Diary(); $diary->setMemberId($this->member->getId()); } $diary->setTitle($request['title']); $diary->setBody($request['body']); $diary->setPublicFlag($request['public_flag']); $diary->save(); $this->diary = $diary; for ($i = 1; $i <= 3; $i++) { $diaryImage = Doctrine::getTable('DiaryImage')->retrieveByDiaryIdAndNumber($diary->getId(), $i); $filename = basename($_FILES['diary_photo_' . $i]['name']); if (!is_null($filename) && '' !== $filename) { try { $validator = new opValidatorImageFile(array('required' => false)); $validFile = $validator->clean($_FILES['diary_photo_' . $i]); } catch (Exception $e) { $this->forward400($e->getMessage()); } $f = new File(); $f->setFromValidatedFile($validFile); $f->setName(hash('md5', uniqid((string) $i) . $filename)); if ($stream = fopen($_FILES['diary_photo_' . $i]['tmp_name'], 'r')) { if (!is_null($diaryImage)) { $diaryImage->delete(); } $bin = new FileBin(); $bin->setBin(stream_get_contents($stream)); $f->setFileBin($bin); $f->save(); $di = new DiaryImage(); $di->setDiaryId($diary->getId()); $di->setFileId($f->getId()); $di->setNumber($i); $di->save(); $diary->updateHasImages(); } else { $this->forward400(__('Failed to write file to disk.')); } } $deleteCheck = $request['diary_photo_' . $i . '_photo_delete']; if ('on' === $deleteCheck && !is_null($diaryImage)) { $diaryImage->delete(); } } }
public function save() { $file = new File(); $file->setFromValidatedFile($this->getValue('file')); $file->setName('b_' . $file->getName()); if ($this->isNew()) { $bannerImage = new BannerImage(); } else { $bannerImage = $this->getObject(); } $bannerImage->setFile($file); $bannerImage->setUrl($this->getValue('url')); $bannerImage->setName($this->getValue('name')); return $bannerImage->save(); }
public function updateObject($values = null) { if ($values['photo'] instanceof sfValidatedFile) { if (!$this->isNew()) { unset($this->getObject()->File); } $file = new File(); $file->setFromValidatedFile($values['photo']); $this->getObject()->setFile($file); } else { if (!$this->isNew() && !empty($values['photo_delete'])) { $this->getObject()->getFile()->delete(); } } }
public function updateObject($values = null) { if ($values['image'] instanceof sfValidatedFile) { if (!$this->isNew()) { unset($this->getObject()->File); } $file = new File(); $file->setFromValidatedFile($values['image']); $this->getObject()->setFile($file); return; } if (!empty($values['image_delete']) && !$this->isNew()) { $this->getObject()->getFile()->delete(); } $this->object = null; }
public function save() { $target = $this->getOption('target'); $rawConfig = Doctrine::getTable('SkinConfig')->retrieveByPluginAndName('opSkinClassicPlugin', $target . '_image'); if ($rawConfig) { $file = Doctrine::getTable('File')->findOneByName($rawConfig->value); if ($file) { $file->delete(); } } $file = new File(); $file->setFromValidatedFile($this->getValue('image')); $file->save(); opSkinClassicConfig::set($target . '_image', $file->name); opToolkit::clearCache(); }
public function save() { $count = $this->member->getMemberImage()->count(); if ($count >= 3) { throw new opRuntimeException('Cannot add an image any more.'); } $file = new File(); $file->setFromValidatedFile($this->getValue('file')); $file->setName('m_' . $this->member->getId() . '_' . $file->getName()); $memberImage = new MemberImage(); $memberImage->setMember($this->member); $memberImage->setFile($file); if (!$count) { $memberImage->setIsPrimary(true); } return $memberImage->save(); }
protected function getImageFiles(opMailMessage $message, $num = null) { $files = array(); $images = $message->getImages(); $i = 1; foreach ($images as $image) { if (null !== $num && $i > $num) { break; } $validator = new opValidatorImageFile(); $validFile = $validator->clean($image); $file = new File(); $file->setFromValidatedFile($validFile); $files[] = $file; $i++; } return $files; }
public function save() { if ($this->getValue('file')) { if ($this->community->getFile()) { $this->community->getFile()->delete(); } $file = new File(); $file->setFromValidatedFile($this->getValue('file')); $file->setName('c_' . $this->community->getId() . '_' . $file->getName()); $this->community->setFile($file); } elseif ($this->getValue('file_delete')) { $this->community->getFile()->delete(); $this->community->setFile(null); } else { return; } $this->community->save(); }
public function updateObject($values = null) { if (is_null($values)) { $values = $this->values; } $photo = $values['photo']; unset($values['photo']); $object = parent::updateObject($values); if ($photo) { $file = new File(); $file->setFromValidatedFile($photo); $old = $this->getObject()->getFile(); $this->getObject()->setFile($file); $this->getObject()->save(); $old->delete(); } return $object; }
public function updateObject($values = null) { if (is_null($values)) { $values = $this->getValues(); } $image = null; if (array_key_exists('image', $values)) { $image = $values['image']; unset($values['image']); } $obj = parent::updateObject($values); if ($image instanceof sfValidatedFile) { unset($obj->Image); $file = new File(); $file->setFromValidatedFile($image); $file->setName('oauth_' . $obj->getId() . '_' . $file->getName()); $obj->setImage($file); } }
public function setImage($data) { $form = new MemberImageForm(array(), array('member' => $this->member)); $imageUri = ''; $pathList = array('media/image/default', 'media/image/aspect11', 'media/image/aspect43', 'media/image/aspect34'); foreach ($pathList as $v) { $img = $this->getValue($data, $v); if ($img) { $imageUri = $img; break; } } if ($imageUri) { $client = new Zend_Http_Client(array_shift($imageUri)); $response = $client->request(); if (!$response->isError()) { $type = $response->getHeader('Content-type'); if (is_array($type)) { $type = array_shift($type); } $tmppath = tempnam(sys_get_temp_dir(), 'IMG'); $fh = fopen($tmppath, 'w'); fwrite($fh, $response->getBody()); fclose($fh); $image = array('tmp_name' => $tmppath, 'type' => $type); $validator = new opValidatorImageFile(); $validFile = $validator->clean($image); $file = new File(); $file->setFromValidatedFile($validFile); $file->setName('m_' . $this->member->getId() . '_' . $file->getName()); $memberImage = new MemberImage(); $memberImage->setMember($this->member); $memberImage->setFile($file); $memberImage->setIsPrimary(true); $memberImage->save(); } } }
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(); } }
public function uploadPackage() { $tgz = $this->getValue('tgz_file'); $svn = $this->getValue('svn_url'); $gitUrl = $this->getValue('git_url'); $gitCommit = $this->getValue('git_commit'); $memberId = sfContext::getInstance()->getUser()->getMemberId(); $pear = opPluginChannelServerToolkit::registerPearChannel($this->getChannel()); if ($tgz) { require_once 'Archive/Tar.php'; $info = $pear->infoFromTgzFile($tgz->getTempName()); if ($info instanceof PEAR_Error) { throw new RuntimeException($info->getMessage()); } $tar = new Archive_Tar($tgz->getTempName()); $xml = ''; foreach ($tar->listContent() as $file) { if ('package.xml' === $file['filename']) { $xml = $tar->extractInString($file['filename']); } } $file = new File(); $file->setFromValidatedFile($tgz); $file->save(); $this->uploadToS3($file); $release = Doctrine::getTable('PluginRelease')->createByPackageInfo($info, $file, $memberId, $xml); $this->package->PluginRelease[] = $release; $this->package->save(); } elseif ($svn) { $dir = $this->importFromSvn($svn); $this->importSCMFile($pear, $memberId, $dir); } elseif ($gitUrl && $gitCommit) { $dir = $this->importFromGit($gitUrl, $gitCommit); $this->importSCMFile($pear, $memberId, $dir); } }
public function updateObject($values = null) { parent::updateObject($values); if (is_null($values)) { $values = $this->values; } $values = $this->processValues($values); if ($values['file_id'] instanceof sfValidatedFile) { if (!$this->isNew()) { unset($this->getObject()->File); } $file = new File(); $file->setFromValidatedFile($values['file_id']); $this->getObject()->setFile($file); } else { if (!$this->isNew() && !empty($values['file_id_delete'])) { $old = $this->getObject()->getCoverImage(); $this->getObject()->setFile(null); $this->getObject()->save(); $old->delete(); } } return $this->getObject(); }
public function executePost(sfWebRequest $request) { $body = (string) $request['body']; $this->forward400If('' === $body, 'body parameter not specified.'); $this->forward400If(mb_strlen($body) > 140, 'The body text is too long.'); $memberId = $this->getUser()->getMemberId(); $options = array(); if (isset($request['public_flag'])) { $options['public_flag'] = $request['public_flag']; } if (isset($request['in_reply_to_activity_id'])) { $options['in_reply_to_activity_id'] = $request['in_reply_to_activity_id']; } if (isset($request['uri'])) { $options['uri'] = $request['uri']; } elseif (isset($request['url'])) { $options['uri'] = $request['url']; } if (isset($request['target']) && 'community' === $request['target']) { if (!isset($request['target_id'])) { $this->forward400('target_id parameter not specified.'); } $options['foreign_table'] = 'community'; $options['foreign_id'] = $request['target_id']; } $options['source'] = 'API'; $imageFiles = $request->getFiles('images'); if (!empty($imageFiles)) { foreach ((array) $imageFiles as $imageFile) { $validator = new opValidatorImageFile(array('required' => false)); try { $obj = $validator->clean($imageFile); } catch (sfValidatorError $e) { $this->forward400('This image file is invalid.'); } if (is_null($obj)) { continue; // empty value } $file = new File(); $file->setFromValidatedFile($obj); $file->setName('ac_' . $this->getUser()->getMemberId() . '_' . $file->getName()); $file->save(); $options['images'][]['file_id'] = $file->getId(); } } $this->activity = Doctrine::getTable('ActivityData')->updateActivity($memberId, $body, $options); if ('1' === $request['forceHtml']) { // workaround for some browsers (see #3201) $this->getRequest()->setRequestFormat('html'); $this->getResponse()->setContentType('text/html'); } $this->setTemplate('object'); }
protected function getImageFiles($files) { $images = array(); $validImages = array(); foreach ($files as $key => $file) { $file['name'] ? $images[$key] = $file : null; } if (!$images) { return $images; } try { $validator = new opValidatorImageFile(array('required' => false)); foreach ($images as $key => $image) { $validImage = $validator->clean($image); $f = new File(); $f->setFromValidatedFile($validImage); $validImages[$key] = $f; } return $validImages; } catch (sfValidatorError $e) { throw new opDiaryPluginAPIException($e->getMessage()); } }
public function createActivityImageByFileInfoAndActivity(sfValidatedFile $fileInfo, ActivityData $activity) { $file = new File(); $file->setFromValidatedFile($fileInfo); $file->name = 'ac_' . $activity->member_id . '_' . $file->name; $file->save(); $activityImage = new ActivityImage(); $activityImage->setActivityData($activity); $activityImage->setFileId($file->getId()); $activityImage->setMimeType($file->type); $activityImage->save(); return $activityImage; }
$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();