Exemplo n.º 1
0
 public function disacceptAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender(true);
     //        require_once APPLICATION_PATH . '/modules/asset/models/DbTable/Request.php';
     if ($this->getRequest()->isPost()) {
         $RequestID = $this->getRequest()->getPost('RequestID', -1);
         if ($RequestID > 0) {
             $re = new Asset_Model_DbTable_Request();
             $reInfor = $re->getRequestFromID($RequestID);
             $uInfo = (array) Zend_Auth::getInstance()->getIdentity();
             if ($reInfor != NULL) {
                 if ($uInfo['UserID'] == $reInfor['UserID']) {
                     $status = 'Error';
                     $msg = 'You cannot denied your request.';
                     echo Zend_Json::encode(array('status' => $status, 'msg' => $msg));
                     exit;
                 }
                 if ($reInfor['Type'] == 0) {
                     $re->deleteRequest($RequestID);
                     $me = new Asset_Model_DbTable_Message();
                     $mTitle = 'Thông báo: Yêu cầu mượn bị từ chối';
                     $mDetail = 'Yêu cầu mượn tài sản ' . $reInfor['Ma_tai_san'] . ' bị từ chối. Bạn có thể mượn tà sản khác hoặc mượn vào lúc khác';
                     $me->addMessage($uInfo['UserID'], $reInfor['UserID'], $mTitle, $mDetail);
                 } else {
                     $re->deleteRequest($RequestID);
                     $me = new Asset_Model_DbTable_Message();
                     $mTitle = 'Thông báo: Yêu cầu nâng cấp bị từ chối';
                     $mDetail = 'Yêu cầu nâng cấp tài sản ' . $reInfor['Ma_tai_san'] . ' bị từ chối. Bạn có thể mượn tà sản khác hoặc yêu cầu nâng cấp lúc khác';
                     $me->addMessage($uInfo['UserID'], $reInfor['UserID'], $mTitle, $mDetail);
                 }
                 $status = 'Success';
                 $msg = 'Updata database success';
             } else {
                 // ko tim thay request
                 $status = 'Error';
                 $msg = 'Not found this request';
             }
         } else {
             // ko ton tai $RequestID
             $status = 'Error';
             $msg = 'POST value format invaild';
         }
     } else {
         // ko co POST
         $status = 'Error';
         $msg = 'Not found POST value';
     }
     echo Zend_Json::encode(array('status' => $status, 'msg' => $msg));
 }
Exemplo n.º 2
0
 public function recordsAction()
 {
     $this->_helper->layout->disableLayout();
     $this->_helper->viewRenderer->setNoRender(true);
     //        $this->getResponse()
     //                ->setHeader('Content-Type', 'application/json');
     $message = new Asset_Model_DbTable_Message();
     $userInfo = (array) Zend_Auth::getInstance()->getIdentity();
     $uid = $userInfo['UserID'];
     $sort_column = $this->_getParam('sortname', 'MessageID');
     # this will default to undefined
     $sort_order = $this->_getParam('sortorder', 'desc');
     # this will default to undefined
     $page = $this->_getParam('page', 1);
     $limit = $this->_getParam('rp', 10);
     $offset = ($page - 1) * $limit;
     $search_column = $this->_getParam('qtype', 'Title');
     $search_for = $this->_getParam('query', '');
     $mode = (int) $this->_getParam('mode', 1);
     switch ($mode) {
         case 1:
             // all message to me
             $select = $message->select(Zend_Db_Table::SELECT_WITH_FROM_PART)->setIntegrityCheck(false)->join(array('su' => 'memberinfor'), "su.UserID=SendID", array('SUsername' => 'su.Username'))->join(array('ru' => 'memberinfor'), "ru.UserID=ReceiveID", array('RUsername' => 'ru.Username'))->where("ReceiveID = '{$uid}'")->order("{$sort_column} {$sort_order}")->limit($limit, $offset);
             break;
         case 2:
             // all message from me
             $select = $message->select(Zend_Db_Table::SELECT_WITH_FROM_PART)->setIntegrityCheck(false)->join(array('su' => 'memberinfor'), "su.UserID=SendID", array('SUsername' => 'su.Username'))->join(array('ru' => 'memberinfor'), "ru.UserID=ReceiveID", array('RUsername' => 'ru.Username'))->where("SendID = '{$uid}'")->order("{$sort_column} {$sort_order}")->limit($limit, $offset);
             break;
         case 3:
             // all message to or from me
             $select = $message->select(Zend_Db_Table::SELECT_WITH_FROM_PART)->setIntegrityCheck(false)->join(array('su' => 'memberinfor'), "su.UserID=SendID", array('SUsername' => 'su.Username'))->join(array('ru' => 'memberinfor'), "ru.UserID=ReceiveID", array('RUsername' => 'ru.Username'))->where("SendID = '{$uid}' OR ReceiveID = '{$uid}'")->order("{$sort_column} {$sort_order}")->limit($limit, $offset);
             break;
         case 4:
             // all message (Role: admin)
             if ($userInfo['Role'] != 0) {
                 echo Zend_Json::encode(array('page' => $page, 'total' => 0, 'rows' => NULL));
                 exit;
             }
             $select = $message->select(Zend_Db_Table::SELECT_WITH_FROM_PART)->setIntegrityCheck(false)->join(array('su' => 'memberinfor'), "su.UserID=SendID", array('SUsername' => 'su.Username'))->join(array('ru' => 'memberinfor'), "ru.UserID=ReceiveID", array('ReceiveUsername' => 'ru.Username'))->order("{$sort_column} {$sort_order}")->limit($limit, $offset);
             break;
         case 5:
             $select = $message->select(Zend_Db_Table::SELECT_WITH_FROM_PART)->setIntegrityCheck(false)->join(array('su' => 'memberinfor'), "su.UserID=SendID", array('SUsername' => 'su.Username'))->join(array('ru' => 'memberinfor'), "ru.UserID=ReceiveID", array('RUsername' => 'ru.Username'))->where("ReceiveID = '{$uid}'")->order("{$sort_column} {$sort_order}")->limit($limit, $offset);
             break;
         default:
             $select = $message->select(Zend_Db_Table::SELECT_WITH_FROM_PART)->setIntegrityCheck(false)->join(array('su' => 'memberinfor'), "su.UserID=SendID", array('SUsername' => 'su.Username'))->join(array('ru' => 'memberinfor'), "ru.UserID=ReceiveID", array('RUsername' => 'ru.Username'))->where("ReceiveID = '{$uid}'")->order("{$sort_column} {$sort_order}")->limit($limit, $offset);
             break;
     }
     if (!empty($search_column) && !empty($search_for)) {
         $select->where($search_column . ' LIKE ?', '%' . $search_for . '%');
     }
     $pager = Zend_Paginator::factory($select);
     $pager->setCurrentPageNumber($page);
     $pager->setItemCountPerPage($limit);
     $records = $pager->getIterator();
     $total = $pager->getTotalItemCount();
     if ($total == 0) {
         echo Zend_Json::encode(array('page' => $page, 'total' => $total, 'rows' => NULL));
         exit;
     }
     foreach ($records as $record) {
         //If cell's elements have named keys, they must match column names
         //Only cell's with named keys and matching columns are order independent.
         $rows[] = array('id' => $record['MessageID'], 'cell' => $record->toArray());
     }
     $jsonData = array('page' => $page, 'total' => $total, 'rows' => $rows);
     echo Zend_Json::encode($jsonData);
 }