/** * Creates a blog post * * @parmam void * @return mixed {Zend\Http\PhpEnvironment\Response, ViewModel} * @throws AccessProhibitedException **/ public function createAction() { $this->_checkAcl('create'); $userService = new UserService($this->_em); $auth = $userService->getAuthService(); $user = $userService->findById($auth->getIdentity()->getId()); $post = new Post(); $post->setDateAdded(new DateTime()); $post->setUser($user); $form = new PostForm(); $form->bind($post); $categoryService = new CategoryService($this->_em); $form->setCategoryList($categoryService->getAll()); $service = new PostService($this->_em); $service->setForm($form); $request = $this->getRequest(); if ($request->isPost()) { if ($service->save($request->getPost())) { $params = array('controller' => 'admin', 'action' => 'index'); return $this->redirect()->toRoute('blog/default', $params); } } return new ViewModel(array('form' => $form, 'messages' => $this->_postService->getMessages(PostService::MSG_NOTICE), 'errors' => $this->_postService->getMessages(PostService::MSG_ERROR))); }
/** * @param Post $post The post object to add. */ protected function doAddPost($post) { $this->collPosts[] = $post; $post->setUser($this); }
$user = new User(); $user->setUsername($username); // save user $user->save(); writeln($user); } foreach (array('Web', 'Life', 'Open Source', 'PHP') as $value) { $category = new Category(); $category->setName($value); $user = UserQuery::create()->findPk(rand(1, 3)); $category->setUser($user); // save category $category->save(); // create action $actionManager->createAction($category->getUser(), Category::CREATE_CATEGORY, $category); writeln($category); } for ($i = 0; $i <= 20; $i++) { $post = new Post(); $post->setTitle('Post title ' . $i); $post->setBody('Post body ' . $i); $user = UserQuery::create()->findPk(rand(1, 3)); $post->setUser($user); $category = $user = CategoryQuery::create()->findPk(rand(1, 9)); $post->setCategory($category); // create post $post->save(); // create action $actionManager->createAction($post->getUser(), Post::CREATE_POST, $post, $post->getCategory()); writeln($post); }