This commit is contained in:
Marcin Kurczewski
2013-10-19 13:38:20 +02:00
parent 315c5d074e
commit 91776a3e54
9 changed files with 247 additions and 7 deletions

View File

@ -8,6 +8,40 @@ class IndexController
public function indexAction()
{
$this->context->subTitle = 'home';
$this->context->stylesheets []= 'index-index.css';
$this->context->transport->postCount = R::$f->begin()->select('count(1)')->as('count')->from('post')->get('row')['count'];
$featuredPostRotationTime = $this->config->main->featuredPostMaxDays * 24 * 3600;
$featuredPostId = Model_Property::get(Model_Property::FeaturedPostId);
$featuredPostUserId = Model_Property::get(Model_Property::FeaturedPostUserId);
$featuredPostDate = Model_Property::get(Model_Property::FeaturedPostDate);
if (!$featuredPostId or $featuredPostDate + $featuredPostRotationTime < time())
{
$featuredPostId = R::$f->begin()
->select('id')
->from('post')
->where('type = ?')->put(PostType::Image)
->and('safety = ?')->put(PostSafety::Safe)
->orderBy('random()')
->desc()
->get('row')['id'];
$featuredPostUserId = null;
$featuredPostDate = time();
Model_Property::set(Model_Property::FeaturedPostId, $featuredPostId);
Model_Property::set(Model_Property::FeaturedPostUserId, $featuredPostUserId);
Model_Property::set(Model_Property::FeaturedPostDate, $featuredPostDate);
}
if ($featuredPostId !== null)
{
$featuredPost = Model_Post::locate($featuredPostId);
R::preload($featuredPost, ['user', 'comment', 'favoritee']);
$featuredPostUser = R::findOne('user', 'id = ?', [$featuredPostUserId]);
$this->context->featuredPost = $featuredPost;
$this->context->featuredPostUser = $featuredPostUser;
$this->context->featuredPostDate = $featuredPostDate;
}
}
/**