public function saverequesttypes()
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
         $loginuserRole = $auth->getStorage()->read()->emprole;
         $loginuserGroup = $auth->getStorage()->read()->group_id;
     }
     $servicedeskrequestmodel = new Default_Model_Servicedeskrequest();
     $msgarray = array();
     $errorflag = 'true';
     $service_desk_id = $this->_request->getParam('category_id');
     $requesttype_arr = $this->_request->getParam('requesttype');
     $description_arr = $this->_request->getParam('description');
     if (!empty($requesttype_arr)) {
         $requestArr = array_count_values($requesttype_arr);
         for ($i = 0; $i < sizeof($requesttype_arr); $i++) {
             if ($requesttype_arr[$i] == '') {
                 $msgarray['request_name'][$i] = 'Please enter request type.';
                 $errorflag = 'false';
             } else {
                 if (!preg_match('/^[a-zA-Z0-9.\\- ?]+$/', $requesttype_arr[$i])) {
                     $msgarray['request_name'][$i] = 'Please enter valid request type.';
                     $errorflag = 'false';
                 } else {
                     if ($i > 0 && $requestArr[$requesttype_arr[$i]] > 1) {
                         $msgarray['request_name'][$i] = 'Please enter different request type.';
                         $errorflag = 'false';
                     } else {
                         if ($service_desk_id) {
                             $isduplicaterequest = $servicedeskrequestmodel->checkduplicaterequestname($service_desk_id, $requesttype_arr[$i]);
                             if (!empty($isduplicaterequest)) {
                                 if ($isduplicaterequest[0]['count'] > 0) {
                                     $msgarray['request_name'][$i] = 'request type already exist.';
                                     $errorflag = 'false';
                                 }
                             }
                         }
                     }
                 }
             }
         }
         $msgarray['categorysize'] = sizeof($requesttype_arr);
     }
     if ($errorflag == 'true') {
         try {
             $menumodel = new Default_Model_Menu();
             $actionflag = 1;
             $tableid = '';
             $where = '';
             $date = new Zend_Date();
             for ($i = 0; $i < sizeof($requesttype_arr); $i++) {
                 $data = array('service_desk_id' => $service_desk_id, 'service_request_name' => $requesttype_arr[$i], 'description' => $description_arr[$i] != '' ? $description_arr[$i] : NULL, 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'isactive' => 1);
                 $Id = $servicedeskrequestmodel->SaveorUpdateServiceDeskRequestData($data, $where);
                 $tableid = $Id;
                 $menuID = SERVICEDESKREQUEST;
                 $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
             }
             $wizard_model = new Default_Model_Wizard();
             $wizardData = $wizard_model->getWizardData();
             $wizardarray = array('servicerequest' => 2, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"));
             if ($wizardData['site_config'] == 2 && $wizardData['org_details'] == 2 && $wizardData['departments'] == 2) {
                 $wizardarray['iscomplete'] = 2;
             }
             $wizard_model->SaveorUpdateWizardData($wizardarray, '');
             $this->_helper->getHelper("FlashMessenger")->addMessage("Categories added successfully.");
             $this->_redirect('wizard/configureservicerequest');
         } catch (Exception $e) {
             $msgarray['category_id'] = "Something went wrong, please try again.";
             return $msgarray;
         }
     } else {
         return $msgarray;
     }
 }
 public function add($servicedeskrequestsform)
 {
     $auth = Zend_Auth::getInstance();
     if ($auth->hasIdentity()) {
         $loginUserId = $auth->getStorage()->read()->id;
     }
     $servicedeskrequestmodel = new Default_Model_Servicedeskrequest();
     $msgarray = array();
     $errorflag = 'true';
     $service_desk_id = $this->_request->getParam('service_desk_id');
     $service_request_name_arr = $this->_request->getParam('service_request_name');
     $servArr = array_count_values($service_request_name_arr);
     $description_arr = $this->_request->getParam('description');
     if (!empty($service_request_name_arr)) {
         $servArr = array_count_values($service_request_name_arr);
         for ($i = 0; $i < sizeof($service_request_name_arr); $i++) {
             if ($service_request_name_arr[$i] == '') {
                 $msgarray['request_name'][$i] = 'Please enter request type.';
                 $errorflag = 'false';
             } else {
                 if (!preg_match('/^[a-zA-Z0-9.\\- ?]+$/', $service_request_name_arr[$i])) {
                     $msgarray['request_name'][$i] = 'Please enter valid request type.';
                     $errorflag = 'false';
                 } else {
                     if ($i > 0 && $servArr[$service_request_name_arr[$i]] > 1) {
                         $msgarray['request_name'][$i] = 'Please enter different request type.';
                         $errorflag = 'false';
                     } else {
                         if ($service_desk_id != '') {
                             $duplicaterequestname = $servicedeskrequestmodel->checkduplicaterequestname($service_desk_id, $service_request_name_arr[$i]);
                             if (!empty($duplicaterequestname)) {
                                 if ($duplicaterequestname[0]['count'] > 0) {
                                     $msgarray['request_name'][$i] = 'Request type already exists for the category.';
                                     $errorflag = 'false';
                                 }
                             }
                         }
                     }
                 }
             }
         }
         $msgarray['requestsize'] = sizeof($service_request_name_arr);
     }
     if ($servicedeskrequestsform->isValid($this->_request->getPost()) && $errorflag == 'true') {
         try {
             $id = $this->_request->getParam('id');
             $service_desk_id = $this->_request->getParam('service_desk_id');
             $menumodel = new Default_Model_Menu();
             $actionflag = 1;
             $tableid = '';
             $where = '';
             for ($i = 0; $i < sizeof($service_request_name_arr); $i++) {
                 $data = array('service_desk_id' => $service_desk_id, 'service_request_name' => trim($service_request_name_arr[$i]), 'description' => $description_arr[$i] != '' ? trim($description_arr[$i]) : NULL, 'modifiedby' => $loginUserId, 'modifieddate' => gmdate("Y-m-d H:i:s"), 'createdby' => $loginUserId, 'createddate' => gmdate("Y-m-d H:i:s"), 'isactive' => 1);
                 $Id = $servicedeskrequestmodel->SaveorUpdateServiceDeskRequestData($data, $where);
                 $tableid = $Id;
                 $menuidArr = $menumodel->getMenuObjID('/servicedeskrequest');
                 $menuID = $menuidArr[0]['id'];
                 $result = sapp_Global::logManager($menuID, $actionflag, $loginUserId, $tableid);
             }
             $this->_helper->getHelper("FlashMessenger")->addMessage(array("success" => "Request type added successfully."));
             $this->_redirect('servicedeskrequest');
         } catch (Exception $e) {
             $msgarray['service_desk_id'] = "Something went wrong, please try again.";
             return $msgarray;
         }
     } else {
         $messages = $servicedeskrequestsform->getMessages();
         foreach ($messages as $key => $val) {
             foreach ($val as $key2 => $val2) {
                 $msgarray[$key] = $val2;
                 break;
             }
         }
         return $msgarray;
     }
 }