import v1.1.0_beta1 | 2009-08-21
This commit is contained in:
@ -10,17 +10,37 @@
|
||||
*/
|
||||
|
||||
|
||||
class Histories extends Monkeys_Db_Table_Gateway
|
||||
class Model_Histories extends Monkeys_Db_Table_Gateway
|
||||
{
|
||||
const DIR_ASC = 0;
|
||||
const DIR_DESC = 1;
|
||||
|
||||
private $_sortFields = array(
|
||||
'date' => array('date', 'site', 'ip', 'result'),
|
||||
'site' => array('site', 'date', 'ip', 'result'),
|
||||
'ip' => array('ip', 'date', 'site', 'result'),
|
||||
'result' => array('result', 'date', 'site', 'ip'),
|
||||
);
|
||||
|
||||
protected $_name = 'history';
|
||||
protected $_primary = 'id';
|
||||
protected $_rowClass = 'History';
|
||||
protected $_rowClass = 'Model_History';
|
||||
|
||||
public function get(User $user, $startIndex, $results)
|
||||
public function get(Users_Model_User $user, $startIndex = false, $results = false, $sort = false, $dir = false)
|
||||
{
|
||||
$select = $this->select()
|
||||
->where('user_id=?', $user->id);
|
||||
|
||||
if ($sort && isset($this->_sortFields[$sort])) {
|
||||
$dir = ($dir == self::DIR_ASC? 'ASC' : 'DESC');
|
||||
$sortSql = array();
|
||||
foreach ($this->_sortFields[$sort] as $field) {
|
||||
$sortSql[] = "$field $dir";
|
||||
}
|
||||
|
||||
$select = $select->order($sortSql);
|
||||
}
|
||||
|
||||
if ($startIndex !== false && $results !== false) {
|
||||
$select = $select->limit($results, $startIndex);
|
||||
}
|
||||
@ -28,14 +48,14 @@ class Histories extends Monkeys_Db_Table_Gateway
|
||||
return $this->fetchAll($select);
|
||||
}
|
||||
|
||||
public function getNumHistories(User $user)
|
||||
public function getNumHistories(Users_Model_User $user)
|
||||
{
|
||||
$sites = $this->get($user, false, false);
|
||||
$sites = $this->get($user);
|
||||
|
||||
return count($sites);
|
||||
}
|
||||
|
||||
public function clear(User $user)
|
||||
public function clear(Users_Model_User $user)
|
||||
{
|
||||
$where = $this->getAdapter()->quoteInto('user_id=?', $user->id);
|
||||
$this->delete($where);
|
||||
|
Reference in New Issue
Block a user