Пример #1
0
 public function manageRestaurantOwners(User_Model_RestOwnSearch $obj, $offset)
 {
     try {
         $limit = 20;
         $table = $this->getDbTable();
         $select = $table->select();
         $select->setIntegrityCheck(false);
         $stateTableMapper = new Application_Model_StatebdMapper();
         $stateTable = $stateTableMapper->getDbTable();
         $stateTableSelect = $stateTable->select();
         $stateTableSelect->from($stateTable, array('id', 'code', 'description'))->where('status = ?', true);
         $cityTableMapper = new Application_Model_CitybdMapper();
         $cityTable = $cityTableMapper->getDbTable();
         $cityTableSelect = $cityTable->select();
         $cityTableSelect->from($cityTable, array('id', 'code', 'description'))->where('status = ?', true);
         $storage = new Zend_Auth_Storage_Session();
         $userdata = $storage->read();
         $select->from(array('usr' => 'rd.user'), array('usrid', 'usremail', 'usrregistered_date', 'usruser_status_id', 'usrusertype_id', 'usripaddress'))->joinLeft(array('res' => 'rd.restaurant_details'), 'usr.usrid = res.resfk_user', array(''))->distinct()->join(array('own' => 'rd.restaurant_owner'), 'own.rsofk_user = usr.usrid', array('rsofirst_name', 'rsolast_name', 'rsorestaurant_name', 'rsophone', 'rsostateid', 'rsocityid', 'rsodescription', 'rsoregionid', 'rsocantfind', 'rsoyourstate', 'rsoyourregion', 'rsoyourcity', 'rso_companyid'))->join(array('usrsts' => 'rd.userstatus_bd'), 'usrsts.id = usr.usruser_status_id', array('code as statuscode', 'description as statusdesc'))->where('usr.usrusertype_id = ?', 3);
         if ($obj->getCompany()) {
             $select->where('own.rso_companyid = ?', $obj->getCompany());
         } else {
             if ($userdata['Usertype'] == "ADU" && $userdata['companyid'] != 1) {
                 $select->where('own.rso_companyid = ?', $userdata['companyid']);
             }
         }
         if ($obj->getResName()) {
             $select->where('res.resname Ilike ?', '%' . trim($obj->getResName()) . '%');
         }
         if ($obj->getEmail()) {
             $select->where('usr.usremail Ilike ?', '%' . trim($obj->getEmail()) . '%');
         }
         if ($obj->getId()) {
             $select->where('usr.usrid = ?', $obj->getId());
         }
         if ($obj->getStatusId()) {
             $select->where('usr.usruser_status_id = ?', $obj->getStatusId());
         }
         if ($obj->getFirstname()) {
             $select->where('own.rsofirst_name Ilike ?', '%' . trim($obj->getFirstname()) . '%');
         }
         if ($obj->getLastname()) {
             $select->where('own.rsolast_name Ilike ?', '%' . trim($obj->getLastname()) . '%');
         }
         if ($obj->getStateid()) {
             $select->where('own.rsostateid = ?', $obj->getStateid());
         }
         if ($obj->getRegionid()) {
             $select->where('own.rsoregionid = ?', $obj->getRegionid());
         }
         if ($obj->getCityid()) {
             $select->where('own.rsocityid = ?', $obj->getCityid());
         }
         $select->order('usr.usrregistered_date DESC');
         $result = $table->fetchAll($select);
         //print_r($result);die();
         $rowset = new Zend_Paginator(new Zend_Paginator_Adapter_DbTableSelect($select));
         $rowset->setItemCountPerPage($limit);
         $rowset->setCurrentPageNumber($offset);
         return $rowset;
     } catch (Exception $ex) {
         throw new Exception($ex->getMessage());
     }
 }