protected function execute($arguments = array(), $options = array()) { $databaseManager = new sfDatabaseManager($this->configuration); $this->conn = $databaseManager->getDatabase('doctrine')->getDoctrineConnection(); $sql = 'SELECT id FROM member WHERE is_active != 0'; $where = array(); if ( $options['min'] && $options['max'] && $options['min'] <= $options['max']) { $sql .= ' AND id BETWEEN ? AND ?'; $where = array(intval($options['min']),intval($options['max'])); } $memberIds = $this->conn->fetchColumn($sql, $where); $this->setContents(); foreach ($memberIds as $memberid) { $randomtime = $this->makeRandomTime($options['date'],$options['number']); for ($i=0; $i<$options['number']; ++$i) { $title=$this->makeRandomContents('title',$options['titlecount']); $body=$this->makeRandomContents('body',$options['bodycount']); $diary = new Diary(); $diary->setMemberId($memberid); $diary->setTitle($title); $diary->setBody($body); $diary->setPublicFlag(1); $diary->setCreatedAt($randomtime[$i]); $diary->setUpdatedAt($randomtime[$i]); $diary->save(); $diary->free(); $this->logSection('posted a diary', sprintf('%s %s', $memberid, $randomtime[$i])); } } }
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 actionAdd_diary() { $diary = new Diary(); $diary->title = $_POST['title']; $diary->content = $_POST['content']; $diary->boat = $_POST['boat']; $diary->save(); //$this->redirect(Yii::app()->request->urlReferrer); echo 1; // echo CJSON::encode(array('title'=>$_POST['title'], 'area'=>$_POST['area'], 'port'=>$_POST['port']));//Yii 的方法将数组处理成json数据 }
public function insert(SimpleXMLElement $xml) { $member = Doctrine::getTable('Member')->find($xml->author->id); if (!$member) { return false; } $diary = new Diary(); $diary->setTitle($xml->title); $diary->setBody($xml->content); $diary->setMember($member); $diary->save(); return $diary; }
protected function executeTransaction($conn, $arguments = array(), $options = array()) { $members = Doctrine::getTable('Member')->findAll(Doctrine::HYDRATE_ARRAY); foreach ($members as $member) { for ($i = 0; $i < $options['number']; ++$i) { $diary = new Diary(); $diary->setMemberId($member['id']); $diary->setTitle('title'); $diary->setBody('body'); $diary->setPublicFlag(1); $diary->save(); $diary->free(); $this->logSection('posted a diary', sprintf('%s', $member['id'])); } } }
$t->ok($second->isViewable(2), 'OK friend'); $t->ok(!$second->isViewable(10), 'NG others'); // PUBLIC_FLAG_PRIVATE $t->ok($last->isViewable(1), 'OK self'); $t->ok(!$last->isViewable(2), 'NG friend'); $t->ok(!$last->isViewable(10), 'NG others'); $t->diag('Diary::getDiaryImagesJoinFile()'); $t->is($first->getDiaryImagesJoinFile()->count(), 1, 'count 1'); $t->is($second->getDiaryImagesJoinFile()->count(), 0, 'count 0'); $t->diag('Diary::countDiaryComments()'); $t->is($first->countDiaryComments(), 21, 'count 21'); $t->is($second->countDiaryComments(), 0, 'count 0'); $t->diag('Diary::save()'); $conn = Doctrine::getTable('Diary')->getConnection(); $conn->beginTransaction(); $new = new Diary(); $new->member_id = 1; $new->public_flag = DiaryTable::PUBLIC_FLAG_OPEN; $new->save(); $t->is($new->public_flag, DiaryTable::PUBLIC_FLAG_SNS, 'modified public flag'); $t->ok($new->is_open, 'modified is_open flag'); $conn->rollback(); $t->diag('Diary::delete()'); $conn = Doctrine::getTable('Diary')->getConnection(); $conn->beginTransaction(); $file_id = $first->DiaryImages[0]->file_id; $first->delete(); $t->ok(!Doctrine::getTable('DiaryImage')->find(1), 'DiaryImage is deleted'); $t->ok(!Doctrine::getTable('File')->find($file_id), 'File is deleted'); $t->ok(!Doctrine::getTable('FileBin')->find($file_id), 'FileBin is deleted'); $conn->rollback();