Files
languages
libs
modules
default
install
news
controllers
forms
models
News.php
NewsArticle.php
views
stats
users
resources
scripts
setup
tests
utilities
views
webdir
Acl.php
Application.php
BUGS
CHANGELOG
CONTRIBUTORS
INSTALL
README
Setup.php
bootstrap.php
config.default.php
config.template.php
index.html
CommunityID/modules/news/models/News.php
2019-07-17 22:16:19 +02:00

59 lines
1.6 KiB
PHP

<?php
/*
* @copyright Copyright (C) 2005-2009 Keyboard Monkeys Ltd. http://www.kb-m.com
* @license http://creativecommons.org/licenses/BSD/ BSD License
* @author Keyboard Monkeys Ltd.
* @since CommunityID 0.9
* @package CommunityID
* @packager Keyboard Monkeys
*/
class News_Model_News extends Monkeys_Db_Table_Gateway
{
const RECORDS_PER_PAGE = 5;
protected $_name = 'news';
protected $_primary = 'id';
protected $_rowClass = 'News_Model_NewsArticle';
private $_sortFields = array(
'date' => array('date', 'title'),
'title' => array('title', 'date')
);
public function getArticlesPaginator($limit = self::RECORDS_PER_PAGE, $page = 0, Users_Model_User $user)
{
$select = $this->select()->order('date DESC');
if ($user->role != Users_Model_User::ROLE_ADMIN) {
$select = $select->where('date <= ?', date('Y-m-d H:i:s'));
}
$paginator = new Zend_Paginator(new Zend_Paginator_Adapter_DbTableSelect($select));
$paginator->setItemCountPerPage($limit);
$paginator->setCurrentPageNumber($page);
return $paginator;
}
public function getLatest($numItems, Users_Model_User $user)
{
$select = $this->select()
->order('date DESC')
->limit($numItems);
if ($user->role != Users_Model_User::ROLE_ADMIN) {
$select = $select->where('date <= ?', date('Y-m-d H:i:s'));
}
return $this->fetchAll($select);
}
public function deleteTestEntries()
{
$this->delete('test=1');
}
}