コード例 #1
0
ファイル: Pager.php プロジェクト: pansot2/PadCMS-backend
 /**
  * Prepeare paginator data for view
  */
 public function show()
 {
     $iTotalRows = $this->_oComponentGrid->getTotalRows();
     $iTotalPages = $this->_oComponentGrid->getTotalPages();
     $iCurrentPage = $this->_oComponentGrid->getPage();
     $iStart = $iCurrentPage - round($iTotalRows / 2) + 1;
     $iEnd = $iCurrentPage + round($iTotalRows / 2) - 1;
     if ($iStart < 1) {
         $iStart = 1;
         $iEnd = $iTotalRows;
         if ($iEnd > $iTotalPages) {
             $iEnd = $iTotalPages;
         }
     } else {
         if ($iEnd > $iTotalPages) {
             $iEnd = $iTotalPages;
             $iStart = $iTotalPages - $iTotalRows;
             if ($iStart < 1) {
                 $iStart = 1;
             }
         }
     }
     if ($iCurrentPage > 1) {
         $iPrevPage = $iCurrentPage - 1;
     } else {
         $iPrevPage = $iCurrentPage;
     }
     if ($iCurrentPage < $iTotalPages) {
         $iNextPage = $iCurrentPage + 1;
     } else {
         $iNextPage = $iCurrentPage;
     }
     $aNearestPages = array();
     for ($i = $iStart; $i <= $iEnd; $i++) {
         if ($i >= 1) {
             if ($i == $iCurrentPage) {
                 $aNearestPages[] = array('page' => $i, 'isCurrentPage' => true);
             } else {
                 $aNearestPages[] = array('page' => $i, 'isCurrentPage' => false);
             }
         }
     }
     $aData["gridName"] = $this->_oComponentGrid->getName();
     $aData['pagerURI'] = $this->_oComponentGrid->getPagerURI();
     $aData['pageSizeURI'] = $this->_oComponentGrid->getPageSizeURI();
     $aData['perPage'] = $this->_oComponentGrid->getPageSize();
     $aData['nearestPages'] = $aNearestPages;
     $aData['prevPage'] = $iPrevPage;
     $aData['currentPage'] = $iCurrentPage;
     $aData['nextPage'] = $iNextPage;
     $aData['totalPages'] = $iTotalPages;
     $this->view->{$this->getName()} = $aData;
 }
コード例 #2
0
 public function __construct(AM_Controller_Action $oActionController, $iClientId)
 {
     $iClientId = intval($iClientId);
     $aUser = $oActionController->getUser();
     $oQuery = $oActionController->oDb->select()->from('application')->joinLeft(array('issue2' => 'issue'), 'issue2.application = application.id AND issue2.deleted = "no" ', null)->joinLeft(array('issue_user' => 'user'), 'issue2.user = issue_user.id ' . $oActionController->oDb->quoteInto('AND issue_user.client = ?', $aUser['client']), null)->joinLeft(array('issue1' => 'issue'), 'application.id = issue1.application AND issue1.deleted = "no" ' . $oActionController->oDb->quoteInto('AND issue1.state = ?', AM_Model_Db_State::STATE_PUBLISHED), null)->joinLeft('revision', 'revision.issue = issue1.id AND revision.deleted = "no" ' . $oActionController->oDb->quoteInto('AND revision.state = ?', AM_Model_Db_State::STATE_PUBLISHED), null)->where('application.deleted = ?', 'no')->where('application.client = ?', $iClientId)->group('application.id')->columns(array('published_revision' => 'revision.id', 'issue_count' => new Zend_Db_Expr('COUNT(DISTINCT(issue2.id))')));
     parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'application.title', array(), 4, 'subselect');
 }
コード例 #3
0
ファイル: User.php プロジェクト: pansot2/PadCMS-backend
 /**
  * @param AM_Controller_Action $oActionController
  * @param int $iClientId
  */
 public function __construct(AM_Controller_Action $oActionController, $iClientId)
 {
     $oQuery = $oActionController->oDb->select()->from('user')->where('deleted = ?', 'no')->columns(array('creator_full_name' => 'CONCAT(first_name, " ", last_name)'));
     if (!is_null($iClientId)) {
         $oQuery->where('client = ?', $iClientId);
     }
     parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'user.last_name, user.first_name', null, 4, 'subselect');
 }
コード例 #4
0
ファイル: Devices.php プロジェクト: pansot2/PadCMS-backend
 /**
  * Component post initialization
  */
 protected function postInitialize()
 {
     parent::postInitialize();
     if ($sValue = $this->_oFilterComponent->getControl('identifer')->getValue()) {
         $this->selectSQL->where('device.identifer LIKE CONCAT("%", ?, "%")', $sValue);
     }
     if ($sValue = $this->_oFilterComponent->getControl('linked')->getValue()) {
         $this->selectSQL->where('device.user IS NOT NULL');
     }
 }
コード例 #5
0
ファイル: Issue.php プロジェクト: pansot2/PadCMS-backend
 /**
  * @param AM_Controller_Action $oActionController
  * @param int $iApplicationId
  */
 public function __construct(AM_Controller_Action $oActionController, $iApplicationId)
 {
     $iApplicationId = intval($iApplicationId);
     $aUser = $oActionController->getUser();
     $sUserRole = $aUser['role'];
     $oQuery = $oActionController->oDb->select()->from('issue', null)->join('application', 'application.id = issue.application', null)->join('state', 'issue.state = state.id', null)->join('user', 'user.id = issue.user', null)->joinLeft('revision', $oActionController->oDb->quoteInto('revision.issue = issue.id AND revision.deleted = ?', 'no'), null)->joinLeft(array('revision1' => 'revision'), 'revision1.issue = issue.id' . $oActionController->oDb->quoteInto(' AND revision1.state = ?', AM_Model_Db_State::STATE_PUBLISHED) . $oActionController->oDb->quoteInto(' AND revision1.deleted = ?', 'no'), null)->where('application.id = ?', $iApplicationId)->where('application.deleted = ?', 'no')->where('issue.deleted = ?', 'no')->where('user.deleted = ?', 'no')->group(array('issue.id'))->columns(array('id' => 'issue.id', 'title' => 'issue.title', 'number' => 'issue.number', 'client' => 'application.client', 'state' => 'state.title', 'last_revision' => 'MAX(revision.id)', 'published_revision' => 'revision1.id', 'created' => 'DATE_FORMAT(issue.created, "%e/%c/%Y")', 'updated_date' => 'DATE_FORMAT(issue.updated, "%e/%c/%Y")', 'updated_time' => 'DATE_FORMAT(issue.updated, "%Hh%i")', 'release_date' => 'DATE_FORMAT(issue.release_date, "%e/%c/%Y at %Hh%i")', 'release_date_ts' => 'UNIX_TIMESTAMP(issue.release_date)', 'creator_full_name' => 'CONCAT(user.first_name, " ", user.last_name)', 'creator_login' => 'user.login', 'creator_uid' => 'user.id', 'creator_role' => 'IF(user.is_admin, "admin", "user")', 'application_id' => 'application.id'));
     if ("admin" != $sUserRole) {
         $oQuery->where('user.client = application.client');
     }
     parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'issue.updated DESC', null, 4, 'subselect');
 }
コード例 #6
0
ファイル: Revision.php プロジェクト: pansot2/PadCMS-backend
 /**
  * @param AM_Controller_Action $oActionController
  * @param int $iIssueId
  */
 public function __construct(AM_Controller_Action $oActionController, $iIssueId)
 {
     $oQuery = $oActionController->oDb->select()->from('revision', null)->join('issue', 'issue.id = revision.issue', null)->join('state', 'state.id = revision.state', null)->join('user', 'user.id = revision.user', null)->columns(array('id' => 'revision.id', 'title' => 'revision.title', 'state' => 'state.title', 'issue' => 'issue.id', 'created' => 'DATE_FORMAT(revision.created, "%e/%c/%Y %Hh%i")', 'updated' => 'DATE_FORMAT(revision.updated, "%e/%c/%Y %Hh%i")', 'creator_full_name' => 'CONCAT(user.first_name, " ", user.last_name)', 'creator_login' => 'user.login', 'creator_uid' => 'user.id', 'creator_role' => 'IF(user.is_admin, "admin", "user")', 'revision_id' => 'revision.id'))->where('revision.deleted = ?', 'no')->where('issue.deleted = ?', 'no')->where('user.deleted = ?', 'no')->where('issue.id = ?', $iIssueId);
     parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'revision.updated DESC', null, 4, 'subselect');
 }
コード例 #7
0
ファイル: Settings.php プロジェクト: pansot2/PadCMS-backend
 /**
  * @param AM_Controller_Action $oActionController
  */
 public function __construct(AM_Controller_Action $oActionController)
 {
     $oQuery = $oActionController->oDb->select()->from('settings');
     parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'name', null, 4, 'subselect');
 }
コード例 #8
0
 /**
  * @param AM_Controller_Action $oActionController
  * @param int $iApplicationId
  */
 public function __construct(AM_Controller_Action $oActionController, $iApplicationId)
 {
     $iApplicationId = intval($iApplicationId);
     $oQuery = $oActionController->oDb->select()->from('subscription', null)->join('application', 'application.id = subscription.application', null)->where('application.id = ?', $iApplicationId)->where('application.deleted = ?', 'no')->columns(array('id' => 'subscription.id', 'itunes_id' => 'subscription.itunes_id', 'google_id' => 'subscription.google_id', 'button_title' => 'subscription.button_title', 'application_id' => 'application.id'));
     parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'subscription.id', null, null, 'subselect');
 }
コード例 #9
0
ファイル: Client.php プロジェクト: pansot2/PadCMS-backend
 public function __construct(AM_Controller_Action $oActionController)
 {
     $oQuery = $oActionController->oDb->select()->from('client')->joinLeft('user', 'user.client = client.id AND user.deleted = "no"', array('user_count' => new Zend_Db_Expr('COUNT(DISTINCT(user.id))')))->joinLeft('application', 'application.client = client.id AND application.deleted = "no"', array('application_count' => new Zend_Db_Expr('COUNT(DISTINCT(application.id))')))->where('client.deleted = ?', 'no')->group(array('client.id'));
     parent::__construct($oActionController, 'grid', $oActionController->oDb, $oQuery, 'client.title', array(), 4, 'subselect');
 }