/** * 取得用户数据的分页器 * * @param integer $page * @param array $where * @return Zend_Paginator */ public function getPaginator($page = 1, $where = array()) { $select = $this->_userDAO->select(); if (!empty($where)) { foreach (array_filter($where) as $cond => $value) { $select->where("{$cond} = ?", $value); } } $paginator = Zend_Paginator::factory($select); $paginator->setCurrentPageNumber($page ?: 1); return $paginator; }
/** * 取得用户数据对象 * * @param string|integer $userNameOrId * @param ZtChart_Model_DbTable_User $userDAO * @return ZtChart_Model_Db_Table_Row */ public function fetchRow($userNameOrId, $userDAO = null) { if (null === $userDAO) { $userDAO = new ZtChart_Model_DbTable_User(); } if (self::ANONYMOUS_ID === $userNameOrId || self::ANONYMOUS_NAME == $userNameOrId) { $userRow = $userDAO->createRow(array('user_id' => self::ANONYMOUS_ID, 'user_name' => self::ANONYMOUS_NAME, 'user_roleid' => self::$_anonymousRole, 'user_active' => 1)); $userRow->setReadOnly(true); } else { $userRow = $userDAO->fetchRow(array(is_numeric($userNameOrId) ? 'user_id = ?' : 'user_name = ?' => $userNameOrId)); } return $userRow; }