Пример #1
0
 public function updateBasicInfo($id, $data)
 {
     $mstuser = new Application_Model_DbTable_Mstuser();
     $uRowSet = $mstuser->find($id);
     $return = "";
     if ($uRowSet) {
         //Get bootstrap
         $bootstrap = Zend_Controller_Front::getInstance()->getParam("bootstrap");
         $db = $bootstrap->getPluginResource('db')->getDbAdapter();
         $db->beginTransaction();
         $mstUser = new Application_Model_DbTable_Mstuser();
         $prevUser = $mstUser->getBasicInfo($id);
         $logObj = Zend_Json::encode($prevUser);
         try {
             $uRow = $uRowSet->getRow(0);
             $uRow->login = $data['login'];
             $uRow->role_id = $data['role_id'];
             $uRow->is_temporary_pwd = $data['is_temporary_pwd'];
             $uRow->remarks = $data['remarks'];
             $uRow->is_active = $data['is_active'];
             $uRow->is_blocked = $data['is_blocked'];
             $uRow->blocked_reason = $data['blocked_reason'];
             if ($data['is_blocked'] == 'Y') {
                 $uRow->blocked_date = date('Y-m-d H:i:s');
             }
             $uRow->dolm = date('Y-m-d H:i:s');
             $auth = Zend_Auth::getInstance();
             if ($auth->hasIdentity()) {
                 $authArray = $auth->getIdentity();
                 $userid = $authArray['user_id'];
                 $uRow->modi_by_uid = $userid;
             }
             $uRow->save();
             //--------------Update The Devotee-----------------
             $d = new Application_Model_DbTable_Devotee();
             $did = $uRow->did;
             $dRowSet = $d->find($did);
             if ($dRowSet) {
                 $dRow = $dRowSet->getRow(0);
                 $dRow->email = $data['email'];
                 $dRow->mobile = $data['mobile'];
                 $dRow->country_id = $data['country_id'];
                 $dRow->dolm = date('Y-m-d H:i:s');
                 $auth = Zend_Auth::getInstance();
                 if ($auth->hasIdentity()) {
                     $authArray = $auth->getIdentity();
                     $userid = $authArray['user_id'];
                     $dRow->modibyuid = $userid;
                 }
                 $dRow->save();
             }
             //--------------------UPDATE THE RESOURCES------------------------
             //Check If the Role Has been changed and if changed reassign the resources as per role.
             if ($prevUser['role_id'] != $data['role_id']) {
                 //MstUserVsDatabase.php
                 //-Delete Database-------------
                 $uVsDb = new Application_Model_DbTable_MstUserVsDatabase();
                 $where = $uVsDb->getAdapter()->quoteInto('user_id = ?', $id);
                 $uVsDb->delete($where);
                 //---------------------------------------------------------------
                 //MstUserMethodVsUser.php
                 //-Delete prev methods
                 $uVsMethod = new Application_Model_DbTable_MstUserMethodVsUser();
                 $where = $uVsMethod->getAdapter()->quoteInto('user_id = ?', $id);
                 $uVsMethod->delete($where);
                 //insert new actions from MstUserRoleVsMethod.php
                 $rVsMethod = new Application_Model_DbTable_MstUserRoleVsMethod();
                 $select = $rVsMethod->select();
                 $select->from($rVsMethod, array('method_id'))->where('role_id = ?', $data['role_id']);
                 $rows = $rVsMethod->fetchAll($select);
                 foreach ($rows as $r) {
                     $data = array('user_id' => $id, 'method_id' => $r->method_id);
                     $uVsMethod->insert($data);
                 }
                 //------------------------------------------------------------------
                 //MstUserVsGuru.php.php
                 //-Delete prev gures
                 $uVsGuru = new Application_Model_DbTable_MstUserVsGuru();
                 $where = $uVsGuru->getAdapter()->quoteInto('user_id = ?', $id);
                 $uVsGuru->delete($where);
                 //MstUserVsDevotee.php
                 //-Delete prev devotees
                 $uVsDev = new Application_Model_DbTable_MstUserVsDevotee();
                 $where = $uVsDev->getAdapter()->quoteInto('user_id = ?', $id);
                 $uVsDev->delete($where);
                 //MstUserVsCounselor.php
                 //-Delete prev counselors
                 $uVsCon = new Application_Model_DbTable_MstUserVsCounselor();
                 $where = $uVsCon->getAdapter()->quoteInto('user_id = ?', $id);
                 $uVsCon->delete($where);
                 //MstUserVsCounselor.php
                 //-Delete prev centers
                 $uVsCen = new Application_Model_DbTable_MstUserVsCenter();
                 $where = $uVsCen->getAdapter()->quoteInto('user_id = ?', $id);
                 $uVsCen->delete($where);
                 //MstUserVsAstcounselor.php
                 //-Delete prev mentors
                 $uVsMen = new Application_Model_DbTable_MstUserVsAstcounselor();
                 $where = $uVsMen->getAdapter()->quoteInto('user_id = ?', $id);
                 $uVsMen->delete($where);
             }
             Rgm_UserServices::log($id, 'mst_user', 'Primary Info Updated', $logObj);
             $db->commit();
         } catch (Exception $e) {
             $db->rollBack();
             $return = $e->getMessages();
         }
     } else {
         $return = "User not found in the database.";
     }
     return $return;
 }