Example #1
0
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 10) as $index) {
         Article::create([]);
     }
 }
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 10) as $index) {
         Article::create(['title' => $faker->sentence($nbWords = 6), 'body' => $faker->paragraph($nbSentences = 5), 'user_id' => 1]);
     }
 }
 /**
  * Store a newly created resource in storage.
  * POST /article
  *
  * @return Response
  */
 public function store()
 {
     $rules = ['title' => 'required|max:100', 'content' => 'required', 'tags' => array('required', 'regex:/^\\w+$|^(\\w+,)+\\w+$/')];
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->passes()) {
         $article = Article::create(Input::only('title', 'content'));
         $article->user_id = Auth::id();
         $resolved_content = Markdown::parse(Input::get('content'));
         $article->resolved_content = $resolved_content;
         $tags = array_unique(explode(',', Input::get('tags')));
         if (str_contains($resolved_content, '<p>')) {
             $start = strpos($resolved_content, '<p>');
             $length = strpos($resolved_content, '</p>') - $start - 3;
             $article->summary = substr($resolved_content, $start + 3, $length);
         } elseif (str_contains($resolved_content, '</h')) {
             $start = strpos($resolved_content, '<h');
             $length = strpos($resolved_content, '</h') - $start - 4;
             $article->summary = substr($resolved_content, $start + 4, $length);
         }
         $article->save();
         foreach ($tags as $tagName) {
             $tag = Tag::whereName($tagName)->first();
             if (!$tag) {
                 $tag = Tag::create(array('name' => $tagName));
             }
             $tag->count++;
             $article->tags()->save($tag);
         }
         return Redirect::route('article.show', $article->id);
     } else {
         return Redirect::route('article.create')->withInput()->withErrors($validator);
     }
 }
Example #4
0
 public function create_object($data)
 {
     try {
         $mc = new \Core\Backend\MemcachedContainer();
         $m = $mc->get_backend();
         $m_enable = True;
     } catch (\Core\Backend\MemcachedNotLoadedError $e) {
     }
     $data = \Core\Dict::create($data);
     if (strlen($data->custom_url) > 0) {
         $data->seo_title = $data->custom_url;
     } else {
         $data->seo_title = strtolower(str_replace(' ', '-', $data->title));
     }
     if (extension_loaded('discount')) {
         $md = \MarkdownDocument::createFromString($data['body']);
         $md->compile();
         $data['body_html'] = $md->getHtml();
     } else {
         import('3rdparty.markdown');
         $data['body_html'] = Markdown($data['body']);
     }
     $data->preview = substr(strip_tags($data['body_html']), 0, 440);
     $a = Article::create($data)->form_values();
     return $a;
 }
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 10) as $index) {
         Article::create(['title' => $faker->sentence(), 'body' => $faker->realText(1000), 'user_id' => rand(1, 5)]);
     }
 }
Example #6
0
 public function run()
 {
     $faker = Faker::create();
     foreach (range(1, 10) as $index) {
         Article::create(['title' => $faker->sentence($nbWords = 6), 'slug' => 'first-post']);
     }
 }
 /**
  * Store a newly created article in storage.
  *
  * @return Response
  */
 public function store()
 {
     $validator = Validator::make($data = Input::all(), Article::$rules);
     if ($validator->fails()) {
         return Redirect::back()->withErrors($validator)->withInput();
     }
     Article::create($data);
     return Redirect::route('admin.articles.index');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  Request  $request
  * @return Response
  */
 public function store(UserRequest $request)
 {
     $input = $request->all();
     $article = Article::create(['title' => $input['titolo'], 'text' => $input['Descrizione']]);
     if ($request->ajax() || $request->wantsJson()) {
         return new JsonResponse($article);
     }
     flash()->success('salvato con successo!');
     return redirect('article');
 }
 public function store(Requests\CreateArticleRequest $request)
 {
     // $input = Request::all();
     // $input['published_at'] = Carbon::now();
     // Article::create($input);
     Article::create(Request::all());
     //This equals Request::all() but more compact because Article::create now contains Request::all()
     //The browser is now being redirected to the articles (in this case articles.index) view
     return redirect('articles');
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $data = Input::get('data');
     $article = \Article::create($data);
     if ($article->id) {
         return Redirect::route('admin.article.index');
     } else {
         return Msgbox::error($article->getLastError() ?: "创建文章失败");
     }
 }
Example #11
0
 public function run()
 {
     $i = 0;
     for ($i = 0; $i < 60; $i++) {
         Article::create(['title' => '圈子话题' . $i, 'scan_num' => 912, 'join_num' => 212, 'focus_num' => 1334, 'hot_offical' => $i > 30 ? 1 : 0]);
     }
     // Article::create([
     // 	'title' => '圈子话题2',
     // 	'scan_num' => 33,
     // 	'join_num' => 3333,
     // 	'focus_num' => 1234
     // ]);
     // Article::create([
     // 	'title' => '圈子话题3',
     // 	'scan_num' => 912,
     // 	'join_num' => 212,
     // 	'focus_num' => 1334
     // ]);
     // Article::create([
     // 	'title' => '圈子话题4',
     // 	'scan_num' => 33,
     // 	'join_num' => 3333,
     // 	'focus_num' => 1234
     // ]);
     // Article::create([
     // 	'title' => '圈子话题5',
     // 	'scan_num' => 912,
     // 	'join_num' => 212,
     // 	'focus_num' => 1334
     // ]);
     // Article::create([
     // 	'title' => '圈子话题6',
     // 	'scan_num' => 33,
     // 	'join_num' => 3333,
     // 	'focus_num' => 1234
     // ]);
     // Article::create([
     // 	'title' => '圈子话题7',
     // 	'scan_num' => 912,
     // 	'join_num' => 212,
     // 	'focus_num' => 1334
     // ]);
     // Article::create([
     // 	'title' => '圈子话题8',
     // 	'scan_num' => 33,
     // 	'join_num' => 3333,
     // 	'focus_num' => 1234
     // ]);
 }
Example #12
0
 /**
  * Publish entry
  *
  * @param Newscoop\Entity\Ingest\Feed\Entry $entry
  * @param string $status
  * @return Article
  */
 public function publish(Entry $entry, $status = 'Y')
 {
     $article = new \Article($this->getLanguage($entry->getLanguage()));
     $article->create($this->config['article_type'], $entry->getTitle(), $this->getPublication(), $this->getIssue(), $this->getSection($entry));
     $article->setWorkflowStatus(strpos($entry->getTitle(), self::PROGRAM_TITLE) === 0 ? 'N' : $status);
     $article->setKeywords($entry->getCatchWord());
     $article->setCommentsEnabled(TRUE);
     $this->setArticleData($article, $entry);
     $this->setArticleDates($article, $entry);
     $this->setArticleAuthors($article, $entry);
     $this->setArticleImages($article, $entry->getImages());
     $entry->setArticleNumber($article->getArticleNumber());
     $article->commit();
     return $article;
 }
 /**
  * 填充文章数据
  * @return void
  */
 private function seedArticle()
 {
     for ($i = 1; $i < 30; $i++) {
         Article::create(array('category_id' => 2 + $i % 4, 'user_id' => $i, 'title' => '标题' . $i, 'slug' => 'slug-biao-ti-' . $i, 'content' => $this->generateArticleContent($i)));
     }
     $this->command->info('随机文章数据填充完毕');
     sleep(1);
     Article::create(array('category_id' => 2, 'user_id' => 1, 'title' => 'PSR-0 自动加载规范', 'slug' => 'psr-0', 'content' => File::get(__DIR__ . '/PSR/PSR-0.md')));
     sleep(1);
     Article::create(array('category_id' => 2, 'user_id' => 1, 'title' => 'PSR-1 基础编码规范', 'slug' => 'psr-1-basic-coding-standard', 'content' => File::get(__DIR__ . '/PSR/PSR-1-basic-coding-standard.md')));
     sleep(1);
     Article::create(array('category_id' => 2, 'user_id' => 1, 'title' => 'PSR-2 编码风格规范', 'slug' => 'psr-2-coding-style-guide', 'content' => File::get(__DIR__ . '/PSR/PSR-2-coding-style-guide.md')));
     sleep(1);
     Article::create(array('category_id' => 2, 'user_id' => 1, 'title' => 'PSR-3 日志接口规范', 'slug' => 'psr-3-logger-interface', 'content' => File::get(__DIR__ . '/PSR/PSR-3-logger-interface.md')));
     $this->command->info('PSR 系列文章数据填充完毕');
 }
 public function run()
 {
     DB::table('articles')->delete();
     /*
        Assumes:
     
        "published" has status_id = 1
        "draft" has status_id = 2
     
        "author" has user_id = 1
     */
     Article::create(array('user_id' => 1, 'status_id' => 1, 'title' => 'My first article', 'slug' => 'my-first-article', 'excerpt' => 'This is my first article, and here is a short description of it! Tally-ho!', 'content' => "This will be parsed as markdown and so needs some line-breaks.\n\n## A h2 headline\nThe content under-which is about the H2 headline, because Google knows everything about SEO and tells you have to build your html."));
     Article::create(array('user_id' => 1, 'status_id' => 1, 'title' => 'My second article', 'slug' => 'my-second-article', 'excerpt' => 'This is my second article, and here is a short description of said second article!', 'content' => "Synth nulla Banksy, sriracha odio ennui forage artisan keytar DIY. Meggings accusamus proident, meh ugh PBR single-origin coffee 3 wolf moon cliche twee dreamcatcher.\n\n## Laborum thundercats gluten-free\nTerry Richardson ex semiotics mixtape wolf sunt proident salvia. Church-key Banksy bitters, ex mollit exercitation bicycle rights chambray gluten-free quis aute sriracha forage flexitarian vero."));
     Article::create(array('user_id' => 1, 'status_id' => 1, 'title' => 'My third article', 'slug' => 'my-third-article', 'excerpt' => 'This is my third article, and here is a short description of said third article!', 'content' => "Bacon ipsum dolor sit amet pork belly meatloaf ham hock jerky short ribs pastrami brisket ball tip swine ham fatback capicola spare ribs shank.\n\n## Pancetta short ribs\nPancetta jerky pork loin tenderloin, drumstick strip steak pork belly spare ribs fatback. Strip steak tongue sirloin pancetta tenderloin, ground round fatback sausage. Flank tenderloin beef shank jerky ham chuck jowl chicken. Kielbasa tenderloin beef ribs, capicola ham pancetta turducken shankle filet mignon pork loin."));
     Article::create(array('user_id' => 1, 'status_id' => 1, 'title' => 'My fourth article', 'slug' => 'my-fourth-article', 'excerpt' => 'This is my fourth article, and here is a short description of said fourth article!', 'content' => "Cliche quinoa swag roof party sartorial american apparel. Helvetica Brooklyn chambray PBR, intelligentsia scenester cupidatat 3 wolf moon food truck elit Pinterest ullamco master cleanse.\n\nMeh YOLO put a bird on it velit, minim banh mi non thundercats vegan enim sapiente irure assumenda photo booth. Aute Tonx flannel blog retro McSweeney's. Salvia ennui eu, fingerstache pickled blog twee minim polaroid authentic Brooklyn mixtape."));
     Article::create(array('user_id' => 1, 'status_id' => 2, 'title' => 'My greatest life achievement', 'slug' => 'my-greatest-life-achievement', 'excerpt' => "IT'S STILL A DRAFT! I HAVEN'T AHCIEVED ANYTHING!!!! I'VE FAILED AT YOLOING.", 'content' => "This is the story of a man, who is afraid. But then he just *crushes it* hardcore."));
 }
Example #15
0
 public function run()
 {
     DB::table('articles')->delete();
     Article::create(array('title' => 'Robots helped inspire deep learning might become.', 'slug' => 'Robots-helped-inspire-deep-learning-might-become', 'body' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris bibendum imperdiet nisi, feugiat facilisis ex pretium a. Nulla nec justo ipsum. In hac habitasse platea dictumst. Nunc eu tortor vitae diam sodales ultrices. Quisque sed elit et mauris vulputate rhoncus. Nam erat eros, vehicula sed nunc at, aliquet finibus magna. Duis suscipit odio vitae vulputate bibendum. Phasellus non neque quis odio congue mattis. Duis ullamcorper arcu magna, sit amet pretium urna pretium eget. Duis lectus leo, auctor id euismod commodo, ultrices vitae orci. Sed sit amet massa eget sem suscipit dictum placerat in magna. Integer ut nibh mauris. Maecenas turpis quam, vehicula sit amet sagittis eu, egestas non justo. Maecenas magna massa, tristique vel sagittis et, aliquam non nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
                    Vestibulum et nisl porttitor, auctor magna non, vestibulum ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sit amet dolor luctus, accumsan enim id, condimentum eros. Aliquam sed convallis lacus. Vestibulum in venenatis est, vitae tempor libero. In porttitor nulla nec mi sagittis fermentum. Curabitur erat lacus, aliquam at vulputate facilisis, egestas nec dui. Nullam ac lorem ipsum. Curabitur ac libero sed turpis rutrum tempus ac faucibus leo.
                    Phasellus ac aliquam turpis. Fusce vestibulum eleifend varius. Nunc pharetra posuere elit, eu convallis eros condimentum sed. Pellentesque orci sapien, semper sed dolor ac, euismod pellentesque velit. Duis blandit purus ac odio mattis sollicitudin. Suspendisse tortor nisl, euismod at nulla et, ullamcorper dignissim eros. Vivamus a vestibulum risus.', 'admin_id' => DB::table('admins')->select('id')->where('username', 'admin')->first()->id, 'category_id' => DB::table('categories')->select('id')->where('category', 'Programming')->first()->id));
     Article::create(array('title' => 'Man agrees to complete $50,000 Hereford Inlet Lighthouse paint job.', 'slug' => 'Man-agrees-to-complete-$50,000-Hereford-Inlet-Lighthouse-paint-job', 'body' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris bibendum imperdiet nisi, feugiat facilisis ex pretium a. Nulla nec justo ipsum. In hac habitasse platea dictumst. Nunc eu tortor vitae diam sodales ultrices. Quisque sed elit et mauris vulputate rhoncus. Nam erat eros, vehicula sed nunc at, aliquet finibus magna. Duis suscipit odio vitae vulputate bibendum. Phasellus non neque quis odio congue mattis. Duis ullamcorper arcu magna, sit amet pretium urna pretium eget. Duis lectus leo, auctor id euismod commodo, ultrices vitae orci. Sed sit amet massa eget sem suscipit dictum placerat in magna. Integer ut nibh mauris. Maecenas turpis quam, vehicula sit amet sagittis eu, egestas non justo. Maecenas magna massa, tristique vel sagittis et, aliquam non nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
                    Vestibulum et nisl porttitor, auctor magna non, vestibulum ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sit amet dolor luctus, accumsan enim id, condimentum eros. Aliquam sed convallis lacus. Vestibulum in venenatis est, vitae tempor libero. In porttitor nulla nec mi sagittis fermentum. Curabitur erat lacus, aliquam at vulputate facilisis, egestas nec dui. Nullam ac lorem ipsum. Curabitur ac libero sed turpis rutrum tempus ac faucibus leo.
                    Phasellus ac aliquam turpis. Fusce vestibulum eleifend varius. Nunc pharetra posuere elit, eu convallis eros condimentum sed. Pellentesque orci sapien, semper sed dolor ac, euismod pellentesque velit. Duis blandit purus ac odio mattis sollicitudin. Suspendisse tortor nisl, euismod at nulla et, ullamcorper dignissim eros. Vivamus a vestibulum risus.', 'admin_id' => DB::table('admins')->select('id')->where('username', 'admin')->first()->id, 'category_id' => DB::table('categories')->select('id')->where('category', 'Programming')->first()->id));
     Article::create(array('title' => 'Microsoft Subsumes Open Tech Unit Back Inside Mothership.', 'slug' => 'Microsoft-Subsumes-Open-Tech-Unit-Back-Inside-Mothership', 'body' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris bibendum imperdiet nisi, feugiat facilisis ex pretium a. Nulla nec justo ipsum. In hac habitasse platea dictumst. Nunc eu tortor vitae diam sodales ultrices. Quisque sed elit et mauris vulputate rhoncus. Nam erat eros, vehicula sed nunc at, aliquet finibus magna. Duis suscipit odio vitae vulputate bibendum. Phasellus non neque quis odio congue mattis. Duis ullamcorper arcu magna, sit amet pretium urna pretium eget. Duis lectus leo, auctor id euismod commodo, ultrices vitae orci. Sed sit amet massa eget sem suscipit dictum placerat in magna. Integer ut nibh mauris. Maecenas turpis quam, vehicula sit amet sagittis eu, egestas non justo. Maecenas magna massa, tristique vel sagittis et, aliquam non nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
                    Vestibulum et nisl porttitor, auctor magna non, vestibulum ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sit amet dolor luctus, accumsan enim id, condimentum eros. Aliquam sed convallis lacus. Vestibulum in venenatis est, vitae tempor libero. In porttitor nulla nec mi sagittis fermentum. Curabitur erat lacus, aliquam at vulputate facilisis, egestas nec dui. Nullam ac lorem ipsum. Curabitur ac libero sed turpis rutrum tempus ac faucibus leo.
                    Phasellus ac aliquam turpis. Fusce vestibulum eleifend varius. Nunc pharetra posuere elit, eu convallis eros condimentum sed. Pellentesque orci sapien, semper sed dolor ac, euismod pellentesque velit. Duis blandit purus ac odio mattis sollicitudin. Suspendisse tortor nisl, euismod at nulla et, ullamcorper dignissim eros. Vivamus a vestibulum risus.', 'admin_id' => DB::table('admins')->select('id')->where('username', 'admin')->first()->id, 'category_id' => DB::table('categories')->select('id')->where('category', 'Programming')->first()->id));
     Article::create(array('title' => 'Five things you may have missed over the weekend from the i dont know.', 'slug' => 'Five-things-you-may-have-missed-over-the-weekend-from-the-i-dont-know', 'body' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris bibendum imperdiet nisi, feugiat facilisis ex pretium a. Nulla nec justo ipsum. In hac habitasse platea dictumst. Nunc eu tortor vitae diam sodales ultrices. Quisque sed elit et mauris vulputate rhoncus. Nam erat eros, vehicula sed nunc at, aliquet finibus magna. Duis suscipit odio vitae vulputate bibendum. Phasellus non neque quis odio congue mattis. Duis ullamcorper arcu magna, sit amet pretium urna pretium eget. Duis lectus leo, auctor id euismod commodo, ultrices vitae orci. Sed sit amet massa eget sem suscipit dictum placerat in magna. Integer ut nibh mauris. Maecenas turpis quam, vehicula sit amet sagittis eu, egestas non justo. Maecenas magna massa, tristique vel sagittis et, aliquam non nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
                    Vestibulum et nisl porttitor, auctor magna non, vestibulum ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sit amet dolor luctus, accumsan enim id, condimentum eros. Aliquam sed convallis lacus. Vestibulum in venenatis est, vitae tempor libero. In porttitor nulla nec mi sagittis fermentum. Curabitur erat lacus, aliquam at vulputate facilisis, egestas nec dui. Nullam ac lorem ipsum. Curabitur ac libero sed turpis rutrum tempus ac faucibus leo.
                    Phasellus ac aliquam turpis. Fusce vestibulum eleifend varius. Nunc pharetra posuere elit, eu convallis eros condimentum sed. Pellentesque orci sapien, semper sed dolor ac, euismod pellentesque velit. Duis blandit purus ac odio mattis sollicitudin. Suspendisse tortor nisl, euismod at nulla et, ullamcorper dignissim eros. Vivamus a vestibulum risus.', 'admin_id' => DB::table('admins')->select('id')->where('username', 'admin')->first()->id, 'category_id' => DB::table('categories')->select('id')->where('category', 'Operating Systems')->first()->id));
     Article::create(array('title' => 'Announcing a specification for PHP.', 'slug' => 'Announcing-a-specification-for-PHP', 'body' => 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris bibendum imperdiet nisi, feugiat facilisis ex pretium a. Nulla nec justo ipsum. In hac habitasse platea dictumst. Nunc eu tortor vitae diam sodales ultrices. Quisque sed elit et mauris vulputate rhoncus. Nam erat eros, vehicula sed nunc at, aliquet finibus magna. Duis suscipit odio vitae vulputate bibendum. Phasellus non neque quis odio congue mattis. Duis ullamcorper arcu magna, sit amet pretium urna pretium eget. Duis lectus leo, auctor id euismod commodo, ultrices vitae orci. Sed sit amet massa eget sem suscipit dictum placerat in magna. Integer ut nibh mauris. Maecenas turpis quam, vehicula sit amet sagittis eu, egestas non justo. Maecenas magna massa, tristique vel sagittis et, aliquam non nulla. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
                    Vestibulum et nisl porttitor, auctor magna non, vestibulum ligula. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum sit amet dolor luctus, accumsan enim id, condimentum eros. Aliquam sed convallis lacus. Vestibulum in venenatis est, vitae tempor libero. In porttitor nulla nec mi sagittis fermentum. Curabitur erat lacus, aliquam at vulputate facilisis, egestas nec dui. Nullam ac lorem ipsum. Curabitur ac libero sed turpis rutrum tempus ac faucibus leo.
                    Phasellus ac aliquam turpis. Fusce vestibulum eleifend varius. Nunc pharetra posuere elit, eu convallis eros condimentum sed. Pellentesque orci sapien, semper sed dolor ac, euismod pellentesque velit. Duis blandit purus ac odio mattis sollicitudin. Suspendisse tortor nisl, euismod at nulla et, ullamcorper dignissim eros. Vivamus a vestibulum risus.', 'admin_id' => DB::table('admins')->select('id')->where('username', 'admin')->first()->id, 'category_id' => DB::table('categories')->select('id')->where('category', 'Programming')->first()->id));
 }
Example #16
0
 public function create()
 {
     if (!$this->has_post()) {
         return redirect_message(array('admin', $this->get_class(), 'add'), array('_flash_message' => '非 POST 方法,錯誤的頁面請求。'));
     }
     $posts = OAInput::post();
     $posts['content'] = OAInput::post('content', false);
     $cover = OAInput::file('cover');
     if (!$cover) {
         return redirect_message(array('admin', $this->get_class(), 'add'), array('_flash_message' => '請選擇照片(gif、jpg、png)檔案,或提供照片網址!', 'posts' => $posts));
     }
     if ($msg = $this->_validation_posts($posts)) {
         return redirect_message(array('admin', $this->get_class(), 'add'), array('_flash_message' => $msg, 'posts' => $posts));
     }
     $article = null;
     $create = Article::transaction(function () use($posts, $cover, &$article) {
         if (!verifyCreateOrm($article = Article::create(array_intersect_key($posts, Article::table()->columns)))) {
             return false;
         }
         if (!$article->cover->put($cover)) {
             return false;
         }
         return true;
     });
     if (!($create && $article)) {
         return redirect_message(array('admin', $this->get_class(), 'add'), array('_flash_message' => '新增失敗!', 'posts' => $posts));
     }
     if ($posts['tag_ids'] && ($tag_ids = column_array(ArticleTag::find('all', array('select' => 'id', 'conditions' => array('id IN (?)', $posts['tag_ids']))), 'id'))) {
         foreach ($tag_ids as $tag_id) {
             ArticleTagMapping::transaction(function () use($tag_id, $article) {
                 return verifyCreateOrm(ArticleTagMapping::create(array_intersect_key(array('article_tag_id' => $tag_id, 'article_id' => $article->id), ArticleTagMapping::table()->columns)));
             });
         }
     }
     if ($posts['sources']) {
         foreach ($posts['sources'] as $i => $source) {
             ArticleSource::transaction(function () use($i, $source, $article) {
                 return verifyCreateOrm(ArticleSource::create(array_intersect_key(array_merge($source, array('article_id' => $article->id, 'sort' => $i)), ArticleSource::table()->columns)));
             });
         }
     }
     return redirect_message(($url = Session::getData('admin_articles_index_url')) ? $url : array('admin', $this->get_class()), array('_flash_message' => '新增成功!'));
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     $data = \Input::all();
     $data['active'] = \Input::has('active') ? true : false;
     $data['premium'] = \Input::has('premium') ? true : false;
     $data['featured'] = \Input::has('featured') ? true : false;
     $rules = $this->rules;
     $rules['permalink'] = 'required|unique:blog_categories,permalink,NULL,id,blog_category_id,' . $data['blog_category_id'] . '|unique:blog_articles,permalink,NULL,id,blog_category_id, ' . $data['blog_category_id'] . ',deleted_at,NULL';
     $validator = \Validator::make($data, $rules);
     if ($validator->fails()) {
         return \Redirect::route('article.create')->withErrors($validator)->withInput();
     }
     if ($article = Article::create($data)) {
         if ($data['featured']) {
             \DB::table('blog_articles')->where('featured', '=', 1)->where('id', '!=', $article->id)->update(['featured' => 0]);
         }
         \Session::flash('message', 'Article successfully created!');
         return \Redirect::to('articles');
     }
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     // $test = base_path();
     // dd($test);
     $input = Input::only('title', 'tagline', 'summary', 'photo', 'content', 'published_at');
     //form exceptions handled in start/global.php
     $this->articleForm->validate($input);
     // add user_id to the article create array
     $article = array_add($input, 'user_id', Auth::id());
     $article = Article::create($article);
     if (Input::has('photo')) {
         // upload photo to storage and set $article['photo'] to storage url
         $filename = 'articles/photo-' . str_random(12);
         Storage::upload(Input::file('photo'), $filename);
         $article->photo = Storage::url($filename);
         $article->save();
     }
     Session::flash('successMessage', "Added To Your Wolfpack: {$article->title}");
     Log::info("New Article created at id: {$article->id}");
     return Redirect::action('ArticlesController@index');
 }
 /**
  * This test ensures that multiple requests, which are sent with multiple requests are executed in the correct order.
  * Thus it ensures that a request with a higher transaction ID is not executed before a request with a lower TID.
  *
  */
 public function testEditEditMultipleRequests()
 {
     $this->markTestSkipped("Consistancy is not yet implemented.");
     // Preparation: create article
     $article = new Article();
     $article->create();
     $article->save(array('title' => 'foo'));
     // Execute two requests in parallel.
     $clientId = uniqid();
     // The syntax of the fake_request script is
     // php _fake_request.php client_id article_id tid new_title sleep_time
     // These processes are executed in the background and we do not need the output.
     exec('php ' . dirname(__FILE__) . '/_fake_request.php ' . $clientId . ' ' . $article->id . ' 1 foobar 5 ' . '>/dev/null &');
     sleep(3);
     exec('php ' . dirname(__FILE__) . '/_fake_request.php ' . $clientId . ' ' . $article->id . ' 2 barfoo 0 ' . ' >/dev/null &');
     // Wait some seconds until the backround process are executed.
     sleep(8);
     // Read article from database and check if the value is correct.
     $data = $article->read(null, $article->id);
     $this->assertEquals('foobar', $data['Article']['title']);
     // Clean up operations: delete article
     $article->delete();
 }
Example #20
0
	function test_article() {
		$article = new Article(9000001,9000002,9000003,9000004);

		// Test create
		$article->create("Unit Test Long Name",
						 "Unit Test Short Name",
						 "fastnews");
		$this->assertTrue($article->exists());

		// Test SET functions
		$article->setTitle("Unit Test New Title");
		$article->setCreatorId(9000005);
		$article->setOnFrontPage(true);
		$article->setOnSection(true);
		$article->setWorkflowStatus('Y');
		$article->setKeywords("Unit, Test");
		$article->setIsIndexed(true);

		// Test GET functions
		$articleCopy = new Article(9000001, 9000002, 9000003, 9000004, $article->getArticleId());
		$this->assertEquals(9000001, $articleCopy->getPublicationId());
		$this->assertEquals(9000002, $articleCopy->getIssueNumber());
		$this->assertEquals(9000003, $articleCopy->getSectionNumber());
		$this->assertEquals(9000004, $articleCopy->getLanguageId());
		$this->assertEquals(9000005, $articleCopy->getCreatorId());
		$this->assertEquals("Unit Test New Title", $articleCopy->getTitle());
		$this->assertEquals(true, $articleCopy->onFrontPage());
		$this->assertEquals(true, $articleCopy->onSection());
		$this->assertEquals('Y', $articleCopy->getWorkflowStatus());
		$this->assertEquals("Unit, Test", $articleCopy->getKeywords());
		$this->assertEquals(true, $articleCopy->isIndexed());

		// Test DELETE functions
		$article->delete();
		$this->assertFalse($article->exists());
	}
 /**
  * test updating records and saving blank values.
  *
  * @return void
  */
 public function testUpdateSavingBlankValues()
 {
     $this->loadFixtures('Article');
     $Article = new Article();
     $Article->validate = array();
     $Article->create();
     $result = $Article->save(array('id' => 1, 'title' => '', 'body' => ''));
     $this->assertTrue((bool) $result);
     $result = $Article->find('first', array('conditions' => array('Article.id' => 1)));
     $this->assertEquals('', $result['Article']['title'], 'Title is not blank');
     $this->assertEquals('', $result['Article']['body'], 'Body is not blank');
 }
Example #22
0
echo "Deleting the events.<br>";
$articlePublishObj->delete();
$articlePublishObj2->delete();
$articlePublishObj3->delete();

echo "<h2>ISSUE AUTOPUBLISH TESTS</h2>";
echo "Creating an issue...<br>";
$issueId = rand();
$issue = new Issue(1, 1, $issueId);
$issue->create($issueId);
$issue->fetch();
$issue->dumpToHtml();
$article1 = new Article(1, 1, $issueId, 1);
$article1->create('fastnews', 'issue schueduled publish test '.rand());
$article2 = new Article(1, 1, $issueId, 1);
$article2->create('fastnews', 'issue schueduled publish test '.rand());

// Create issue publish event
echo "Creating issue publish event...<br>";
$datetime = strftime("%Y-%m-%d %H:%M:00");
$issuePublishEvent = new IssuePublish(1, $issueId, 1, $datetime);
$issuePublishEvent->create();
$issuePublishEvent->setPublishAction('P');
$issuePublishEvent->setPublishArticlesAction('Y');
$issuePublishEvent->fetch();
$issuePublishEvent->dumpToHtml();

echo "Executing pending events:<br>";
$events = IssuePublish::GetPendingActions();
foreach ($events as $event) {
    $event->doAction();
 /**
  * testCreation method
  *
  * @return void
  */
 public function testCreation()
 {
     $this->loadFixtures('Article', 'ArticleFeaturedsTags', 'User', 'Featured');
     $TestModel = new Test();
     $result = $TestModel->create();
     $expected = array('Test' => array('notes' => 'write some notes here'));
     $this->assertEquals($expected, $result);
     $TestModel = new User();
     $result = $TestModel->schema();
     if (isset($this->db->columns['primary_key']['length'])) {
         $intLength = $this->db->columns['primary_key']['length'];
     } elseif (isset($this->db->columns['integer']['length'])) {
         $intLength = $this->db->columns['integer']['length'];
     } else {
         $intLength = 11;
     }
     foreach (array('collate', 'charset', 'comment', 'unsigned') as $type) {
         foreach ($result as $i => $r) {
             unset($result[$i][$type]);
         }
     }
     $expected = array('id' => array('type' => 'integer', 'null' => false, 'default' => null, 'length' => $intLength, 'key' => 'primary'), 'user' => array('type' => 'string', 'null' => true, 'default' => '', 'length' => 255), 'password' => array('type' => 'string', 'null' => true, 'default' => '', 'length' => 255), 'created' => array('type' => 'datetime', 'null' => true, 'default' => null, 'length' => null), 'updated' => array('type' => 'datetime', 'null' => true, 'default' => null, 'length' => null));
     $this->assertEquals($expected, $result);
     $TestModel = new Article();
     $result = $TestModel->create();
     $expected = array('Article' => array('published' => 'N'));
     $this->assertEquals($expected, $result);
     $FeaturedModel = new Featured();
     $data = array('article_featured_id' => 1, 'category_id' => 1, 'published_date' => array('year' => 2008, 'month' => 06, 'day' => 11), 'end_date' => array('year' => 2008, 'month' => 06, 'day' => 20));
     $expected = array('Featured' => array('article_featured_id' => 1, 'category_id' => 1, 'published_date' => '2008-06-11 00:00:00', 'end_date' => '2008-06-20 00:00:00'));
     $this->assertEquals($expected, $FeaturedModel->create($data));
     $data = array('published_date' => array('year' => 2008, 'month' => 06, 'day' => 11), 'end_date' => array('year' => 2008, 'month' => 06, 'day' => 20), 'article_featured_id' => 1, 'category_id' => 1);
     $expected = array('Featured' => array('published_date' => '2008-06-11 00:00:00', 'end_date' => '2008-06-20 00:00:00', 'article_featured_id' => 1, 'category_id' => 1));
     $this->assertEquals($expected, $FeaturedModel->create($data));
 }
 /**
  * Test that 'required' and 'on' are not conflicting
  *
  * @return void
  */
 public function testOnRequiredConflictValidation()
 {
     $this->loadFixtures('Article');
     $Article = new Article();
     // no title field present
     $data = array('Article' => array('body' => 'Extra Fields Body', 'published' => '1'));
     $Article->validate = array('title' => array('notempty' => array('rule' => 'notEmpty', 'required' => 'create', 'on' => 'create')));
     $Article->create($data);
     $this->assertFalse($Article->validates());
     $Article->validate = array('title' => array('notempty' => array('rule' => 'notEmpty', 'required' => 'update', 'on' => 'create')));
     $Article->create($data);
     $this->assertTrue($Article->validates());
     $Article->validate = array('title' => array('notempty' => array('rule' => 'notEmpty', 'required' => 'create', 'on' => 'update')));
     $Article->create($data);
     $this->assertTrue($Article->validates());
     $Article->validate = array('title' => array('notempty' => array('rule' => 'notEmpty', 'required' => 'update', 'on' => 'update')));
     $Article->create($data);
     $this->assertTrue($Article->validates());
     $Article->validate = array('title' => array('notempty' => array('rule' => 'notEmpty', 'required' => 'create', 'on' => 'create')));
     $Article->save(null, array('validate' => false));
     $data['Article']['id'] = $Article->id;
     $Article->set($data);
     $this->assertTrue($Article->validates());
     $Article->validate = array('title' => array('notempty' => array('rule' => 'notEmpty', 'required' => 'update', 'on' => 'create')));
     $Article->set($data);
     $this->assertTrue($Article->validates());
     $Article->validate = array('title' => array('notempty' => array('rule' => 'notEmpty', 'required' => 'create', 'on' => 'update')));
     $Article->set($data);
     $this->assertTrue($Article->validates());
     $Article->validate = array('title' => array('notempty' => array('rule' => 'notEmpty', 'required' => 'update', 'on' => 'update')));
     $Article->set($data);
     $this->assertFalse($Article->validates());
 }
Example #25
0
 /**
  * Create blog article
  *
  * @param string $title
  * @param Section $section
  * @return Article
  */
 public function createBlog($title, \Section $section)
 {
     $article = new \Article($section->getLanguageId());
     $article->create($this->config['article_type'], $title, $section->getPublicationId(), $section->getIssueNumber(), $section->getSectionNumber());
     return $article;
 }
Example #26
0
$articlegroup = implode($_GET);
//new wird abgeschnitten -> article / urgentwarticle
$articlegroup = preg_replace("[new]", "", $articlegroup);
//wandelt usergroup in int wert um
if ($articlegroup == 'article') {
    $articlegroup = '1';
} else {
    $articlegroup = '2';
}
//Abfrage ob bereits abgesendet
if (isset($_POST['submit'])) {
    //Hier das zu erstellende Datenbank query
    $title = htmlspecialchars($_POST['title']);
    $articletext = htmlspecialchars($_POST['articletext']);
    $userid = $_SESSION['userid'];
    $q_result = $create->create($userid, $articlegroup, $title, $articletext);
} else {
    //echo $_SESSION['userid']; geht!
    //echo vom Formular um Artikel zu erstellen
    echo '<div class="new">';
    echo '<form action="' . $_SERVER['REQUEST_URI'] . '" method="post">';
    echo 'Art des Artikels<br >';
    echo '<input type="text" name="articlegroup" size="15" value="';
    if ($articlegroup == '1') {
        echo "Normaler Artikel";
    } else {
        echo "Wichtiger Artikel!";
    }
    echo '" readonly><br ><br >';
    echo '&Uuml;berschrift<br >';
    echo '<input type="text" name="title" size="35" maxlength="64"><br><br >';
Example #27
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     //
     $article = Article::create(array('title' => Input::get('title'), 'text' => Input::get('text')));
     return Redirect::route('articles.index');
 }
 /**
  * Creates an legacy Article based on a feed entry
  *
  * @param \NewscoopIngestPluginBundle\Entity\Feed\Entry $entry
  *
  * @return \Article Returns legacy article opbject
  */
 protected function createLegacy(\Newscoop\IngestPluginBundle\Entity\Feed\Entry $entry)
 {
     $feed = $entry->getFeed();
     $publication = $feed->getPublication();
     // Determine issue
     if ($feed->getIssue() === null) {
         $issue = $this->em->getRepository('\\Newscoop\\Entity\\Issue')->findOneBy(array('publication' => $publication, 'language' => $entry->getLanguage(), 'workflowStatus' => 'Y'), array('number' => 'DESC'));
     } else {
         $issue = $feed->getIssue();
     }
     $articleType = $this->em->getRepository('\\Newscoop\\Entity\\ArticleType')->findOneByName('Newswire');
     $article = new \Article($entry->getLanguage()->getId());
     $createSuccess = $article->create($articleType->getName(), $entry->getTitle(), $publication->getId(), $issue->getNumber(), $entry->getSection()->getNumber());
     $article->setWorkflowStatus('N');
     $article->setKeywords(implode(',', $entry->getKeywords()));
     $article->setCommentsEnabled(1);
     // ArticleType data
     $this->setArticleDataLegacy($article, $entry);
     // Dates
     $article->setCreationDate($entry->getCreated()->format('Y-m-d H:i:s'));
     $article->setProperty('time_updated', $entry->getUpdated()->format('Y-m-d H:i:s'));
     // Author
     $this->setArticleAuthorsLegacy($article, $entry);
     $this->setArticleImagesLegacy($article, $entry);
     try {
         $entry->setArticleId($article->getArticleNumber());
         $articleAdded = $article->commit();
         $this->em->persist($entry);
         $this->em->flush();
     } catch (\Exception $e) {
         throw new Exception('Could not publish article.');
     }
     // Topics
     $this->setArticleTopics($article->getArticleNumber(), $entry->getFeed()->getTopics());
     return $article;
 }
Example #29
0
 /**
  * Create blog article
  *
  * @param  string  $title
  * @param  Section $section
  * @return Article
  */
 public function createBlog($title, \Section $section)
 {
     $article = new \Article($section->getLanguageId());
     $article->create($this->config['article_type'], $title, $section->getPublicationId(), $section->getIssueNumber(), $section->getSectionNumber());
     $qb = $this->em->createQueryBuilder();
     $qb->select('atf')->from('\\Newscoop\\Entity\\ArticleTypeField', 'atf')->where("atf.typeHack = ?1 AND atf.name IS NOT NULL AND atf.name = 'NULL'")->setParameter(1, $this->config['article_type']);
     $articleTypeField = $qb->getQuery()->getOneOrNullResult();
     $article->setCommentsEnabled($articleTypeField->getCommentsEnabled());
     return $article;
 }
 /**
  * Test for 'on' => [create|update] in validation rules.
  *
  * @return void
  */
 function testStateValidation()
 {
     $this->loadFixtures('Article');
     $Article = new Article();
     $data = array('Article' => array('title' => '', 'body' => 'Extra Fields Body', 'published' => '1'));
     $Article->validate = array('title' => array('notempty' => array('rule' => 'notEmpty', 'on' => 'create')));
     $Article->create($data);
     $this->assertFalse($Article->validates());
     $Article->save(null, array('validate' => false));
     $data['Article']['id'] = $Article->id;
     $Article->set($data);
     $this->assertTrue($Article->validates());
     unset($data['Article']['id']);
     $Article->validate = array('title' => array('notempty' => array('rule' => 'notEmpty', 'on' => 'update')));
     $Article->create($data);
     $this->assertTrue($Article->validates());
     $Article->save(null, array('validate' => false));
     $data['Article']['id'] = $Article->id;
     $Article->set($data);
     $this->assertFalse($Article->validates());
 }