<?php

class BlogRecentPostsWidget extends Widget {
	
	private static $title = "Recent Posts";

	private static $cmsTitle = "Recent Posts";

	private static $description = "Displays a list of recent blog posts.";

	private static $db = array(
		"NumberOfPosts" => "Int",
	);

	private static $has_one = array(
		"Blog" => "Blog",
	);

	public function getCMSFields() {
		$fields = parent::getCMSFields();
		$fields->push(DropdownField::create("BlogID", _t("BlogRecentPostsWidget.Blog", "Blog"), Blog::get()->map()));
		$fields->push(NumericField::create("NumberOfPosts", _t("BlogRecentPostsWidget.NumberOfPosts", "Number of Posts")));
		return $fields;
	}

	public function getPosts() {
		$blog = $this->Blog();
		if($blog) {
			return $blog->getBlogPosts()
				->sort("PublishDate DESC")
				->limit($this->NumberOfPosts);
		}
		return array();
	}

}

class BlogRecentPostsWidget_Controller extends Widget_Controller {
	
}