Example #1
0
 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;
 }
Example #2
0
 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();
 }
Example #3
0
 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;
 }
Example #4
0
 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);
     }
 }
Example #7
0
 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();
 }
Example #21
0
 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());
     }
 }
Example #23
0
 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;
 }
Example #24
0
$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();