import v1.1.0_beta1 | 2009-08-21
This commit is contained in:
58
modules/news/models/News.php
Normal file
58
modules/news/models/News.php
Normal file
@ -0,0 +1,58 @@
|
||||
<?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');
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user