/** * Clean out the data received from the screen by: * - remove empty/blank groupid - the groupid is not required and therefore is an empty value is maintained will cause an out of range exception * * @param Array $post_array */ function processPost($post_array) { $session = SessionWrapper::getInstance(); // check if the groupid is blank then remove it $permissions = $this->getPermissions(); $permissions_array = $permissions->toArray(); if (array_key_exists('permissions', $post_array)) { if (is_array($post_array['permissions'])) { $data = array(); foreach ($post_array['permissions'] as $key => $value) { $data[$key] = $value; if (array_key_exists('groupid', $value)) { if (isEmptyString($value['groupid'])) { unset($post_array['permissions'][$key]['groupid']); } } if (isArrayKeyAnEmptyString('create', $value)) { $post_array['permissions'][$key]['create'] = 0; } else { $post_array['permissions'][$key]['create'] = trim(intval($value['create'])); } if (isArrayKeyAnEmptyString('edit', $value)) { $post_array['permissions'][$key]['edit'] = 0; } else { $post_array['permissions'][$key]['edit'] = trim(intval($value['edit'])); } if (isArrayKeyAnEmptyString('view', $value)) { $post_array['permissions'][$key]['view'] = 0; } else { $post_array['permissions'][$key]['view'] = trim(intval($value['view'])); } if (isArrayKeyAnEmptyString('list', $value)) { $post_array['permissions'][$key]['list'] = 0; } else { $post_array['permissions'][$key]['list'] = trim(intval($value['list'])); } if (isArrayKeyAnEmptyString('delete', $value)) { $post_array['permissions'][$key]['delete'] = 0; } else { $post_array['permissions'][$key]['delete'] = trim(intval($value['delete'])); } if (isArrayKeyAnEmptyString('approve', $value)) { $post_array['permissions'][$key]['approve'] = 0; } else { $post_array['permissions'][$key]['approve'] = trim(intval($value['approve'])); } if (isArrayKeyAnEmptyString('export', $value)) { $post_array['permissions'][$key]['export'] = 0; } else { $post_array['permissions'][$key]['export'] = trim(intval($value['export'])); } if (isArrayKeyAnEmptyString('id', $value)) { unset($post_array['permissions'][$key]['id']); $post_array['permissions'][$key]['createdby'] = $session->getVar('userid'); $post_array['permissions'][$key]['datecreated'] = getCurrentMysqlTimestamp(); } if (!isArrayKeyAnEmptyString('id', $value)) { $post_array['permissions'][$key]['lastupdatedby'] = $session->getVar('userid'); $post_array['permissions'][$key]['lastupdatedate'] = getCurrentMysqlTimestamp(); $data = $post_array['permissions'][$key]; unset($post_array['permissions'][$key]); $newkey = array_search_key_by_id($permissions_array, $value['id']); // debugMessage($data); $post_array['permissions'][$newkey] = $data; } } // end loop through permissions to unset empty groupids } } // now process the data // debugMessage($post_array['permissions']); // exit(); parent::processPost($post_array); }
function sendSMSMessage($to, $txt, $source = '', $msgid = '') { $session = SessionWrapper::getInstance(); $phone = $to; $message = $txt; $sendsms = true; if (isEmptyString($source)) { $source = getSmsSenderName(); } $server = getSmsServer(); $username = getSmsUsername(); $password = getSmsPassword(); $parameters = array('username' => $username, 'password' => $password, 'type' => 'TEXT', 'sender' => $source, 'mobile' => $phone, 'message' => $message); // debugMessage($parameters); $client = new Zend_Http_Client($server, array('adapter' => 'Zend_Http_Client_Adapter_Curl', 'timeout' => 30)); $client->setParameterGet($parameters); // debugMessage($client); // debugMessage(getClientUrl($client)); exit; $smsresult = array(1 => '', 2 => ''); if ($sendsms) { try { //$response = $client->request(); //$body = $response->getBody(); // debugMessage($body); $body = 'SUBMIT_SUCCESS | 53d5cc68-6522-4562-1db4-bee4ae855484'; $msgarray = explode('|', trim($body)); if (!isArrayKeyAnEmptyString('0', $msgarray)) { $smsresult[1] = trim($msgarray[0]); } else { $smsresult[1] = ''; } if (!isArrayKeyAnEmptyString('1', $msgarray)) { $smsresult[2] = trim($msgarray[1]); } else { $smsresult[2] = ''; } // check no of receipients $countphones = count(explode(',', trim($phone))); // save to outbox too $query = "INSERT INTO outbox (phone, msg, source, resultcode, smsid, datecreated, createdby, messageid, msgcount) values ('" . $phone . "', '" . $message . "', '" . $parameters['sender'] . "', '" . $smsresult[1] . "', '" . $smsresult[2] . "', '" . getCurrentMysqlTimestamp() . "', '" . $session->getVar('userid') . "', '" . $msgid . "', '" . $countphones . "') "; // debugMessage($query); $conn = Doctrine_Manager::connection(); $conn->execute($query); return $smsresult; } catch (Zend_Http_Client_Adapter_Exception $e) { # error handling $message = "Error in sending Message: " . $e->getMessage(); debugMessage($message); return array(1 => '', 2 => ''); } } // debugMessage($smsresult); exit; return array(1 => '', 2 => ''); }
public function processrolesAction() { $session = SessionWrapper::getInstance(); $this->_helper->layout->disableLayout(); $this->_helper->viewRenderer->setNoRender(TRUE); $this->_translate = Zend_Registry::get("translate"); $post_array = $this->_getAllParams(); // debugMessage($this->_getAllParams()); exit; $id = $post_array['id']; $post_array['id'] = decode($id); $perms = $post_array['permissions']; unset($post_array['permissions']); if (isEmptyString($id)) { // add new role first $newrole = new AclGroup(); $post_array['createdby'] = $session->getVar('userid'); $newrole->processPost($post_array); // debugMessage($newrole->toArray()); debugMessage('error is '.$newrole->getErrorStackAsString()); $newrole->save(); $post_array['id'] = $newrole->getID(); } else { // update role first $newrole = new AclGroup(); $newrole->populate(decode($id)); $newrole->processPost($post_array); // debugMessage($newrole->toArray()); debugMessage('error is '.$newrole->getErrorStackAsString()); // exit(); $newrole->save(); } // exit; $role = new AclGroup(); $role->populate($post_array['id']); $permissions = $role->getPermissions(); $permissions_array = $permissions->toArray(); $post_array['permissions'] = $perms; // set audit entry before save if (!isArrayKeyAnEmptyString('permissions', $post_array)) { $data = array(); foreach ($post_array['permissions'] as $key => $value) { $data[$key] = $value; $post_array['permissions'][$key]['groupid'] = $post_array['id']; if (isArrayKeyAnEmptyString('flag', $value)) { $post_array['permissions'][$key]['flag'] = 0; } else { $post_array['permissions'][$key]['flag'] = trim(intval($value['flag'])); } if (isArrayKeyAnEmptyString('create', $value)) { $post_array['permissions'][$key]['create'] = 0; } else { $post_array['permissions'][$key]['create'] = trim(intval($value['create'])); } if (isArrayKeyAnEmptyString('edit', $value)) { $post_array['permissions'][$key]['edit'] = 0; } else { $post_array['permissions'][$key]['edit'] = trim(intval($value['edit'])); } if (isArrayKeyAnEmptyString('view', $value)) { $post_array['permissions'][$key]['view'] = 0; } else { $post_array['permissions'][$key]['view'] = trim(intval($value['view'])); } if (isArrayKeyAnEmptyString('list', $value)) { $post_array['permissions'][$key]['list'] = 0; } else { $post_array['permissions'][$key]['list'] = trim(intval($value['list'])); } if (isArrayKeyAnEmptyString('delete', $value)) { $post_array['permissions'][$key]['delete'] = 0; } else { $post_array['permissions'][$key]['delete'] = trim(intval($value['delete'])); } if (isArrayKeyAnEmptyString('approve', $value)) { $post_array['permissions'][$key]['approve'] = 0; } else { $post_array['permissions'][$key]['approve'] = trim(intval($value['approve'])); } if (isArrayKeyAnEmptyString('export', $value)) { $post_array['permissions'][$key]['export'] = 0; } else { $post_array['permissions'][$key]['export'] = trim(intval($value['export'])); } if (isArrayKeyAnEmptyString('id', $value)) { $post_array['permissions'][$key]['id'] = NULL; } $post_array['permissions'][$key]['createdby'] = $session->getVar('userid'); $post_array['permissions'][$key]['datecreated'] = getCurrentMysqlTimestamp(); if (!isArrayKeyAnEmptyString('id', $value)) { $post_array['permissions'][$key]['lastupdatedby'] = $session->getVar('userid'); $post_array['permissions'][$key]['lastupdatedate'] = getCurrentMysqlTimestamp(); } else { $post_array['createdby'] = $session->getVar('userid'); } } // end loop through permissions to unset empty groupids } // debugMessage($post_array); exit(); if (!isEmptyString($id)) { $beforesave = $post_array['permissions']; // debugMessage($beforesave); } $perm_collection = new Doctrine_Collection(Doctrine_Core::getTable("AclPermission")); foreach ($post_array['permissions'] as $key => $value) { $perm = new AclPermission(); if (!isArrayKeyAnEmptyString('id', $value)) { $perm->populate($value['id']); } $perm->processPost($value); if ($perm->isValid()) { $perm_collection->add($perm); } else { debugMessage('Error: ' . $perm->getErrorStackAsString()); exit; } } try { $perm_collection->save(); if (isEmptyString($id)) { # add log to audit trail $url = $this->view->serverUrl($this->view->baseUrl('role/view/id/' . encode($newrole->getID()))); $usecase = '0.4'; $module = '0'; $type = SYSTEM_CREATEROLE; $details = "Role <a href='" . $url . "' class='blockanchor'>" . $newrole->getName() . "</a> created"; } else { $url = $this->view->serverUrl($this->view->baseUrl('role/view/id/' . encode($newrole->getID()))); $usecase = '0.5'; $module = '0'; $type = SYSTEM_UPDATEROLE; $details = "Role <a href='" . $url . "' class='blockanchor'>" . $newrole->getName() . "</a> updated"; $prejson = json_encode($beforesave); $after = $perm_collection->toArray(); debugMessage($after); $postjson = json_encode($post_array); // debugMessage($postjson); // $diff = array_diff($beforesave, $after); // debugMessage($diff); $jsondiff = ''; // debugMessage($jsondiff); } $browser = new Browser(); $audit_values = $session->getVar('browseraudit'); $audit_values['module'] = $module; $audit_values['usecase'] = $usecase; $audit_values['transactiontype'] = $type; $audit_values['status'] = "Y"; $audit_values['userid'] = $session->getVar('userid'); $audit_values['transactiondetails'] = $details; $audit_values['url'] = $url; if (!isEmptyString($id)) { $audit_values['isupdate'] = 1; $audit_values['prejson'] = $prejson; $audit_values['postjson'] = $postjson; $audit_values['jsondiff'] = $jsondiff; } // debugMessage($audit_values); $this->notify(new sfEvent($this, $type, $audit_values)); if (!isEmptyString($this->_getParam(SUCCESS_MESSAGE))) { $session->setVar(SUCCESS_MESSAGE, $this->_translate->translate($this->_getParam(SUCCESS_MESSAGE))); } $this->_helper->redirector->gotoUrl($this->view->baseUrl("role/view/id/" . encode($role->getID()))); } catch (Exception $e) { // debugMessage($perm_collection->toArray()); // debugMessage('error in save. '.$e->getMessage()); $session->setVar(ERROR_MESSAGE, $e->getMessage()); $this->_helper->redirector->gotoUrl(decode($this->_getParam(URL_FAILURE))); } }