/** * save group record * @param f array group record * @return objResponse object xajax response object */ function save($f) { global $locate, $db, $config; $objResponse = new xajaxResponse(); if (trim($f['groupname']) == '' || trim($f['resellerid']) == 0) { $objResponse->addAlert('*' . $locate->Translate("obligatory fields")); return $objResponse; } if ($config['synchronize']['id_autocrement_byset']) { $local_lastid = astercrm::getLocalLastId('accountgroup'); $f['id'] = intval($local_lastid + 1); } $f['creditlimit'] = trim($f['creditlimit']); if ($f['creditlimit'] == '' or !is_numeric($f['creditlimit'])) { $f['creditlimit'] = 0; } $id = astercrm::checkValues("accountgroup", "groupname", $f['groupname']); if ($id != '') { $objResponse->addAlert($locate->Translate("Groupname Duplicate")); return $objResponse->getXML(); } $respOk = Customer::insertNewAccountgroup($f); // add a new group if ($respOk) { $html = createGrid(0, ROWSXPAGE); $objResponse->addAssign("grid", "innerHTML", $html); $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("add_group")); $objResponse->addAssign("formDiv", "style.visibility", "hidden"); $objResponse->addClear("formDiv", "innerHTML"); } else { $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("rec_cannot_insert")); } return $objResponse->getXML(); }
/** * update account record * @param f array account record * @return objResponse object xajax response object */ function update($f) { global $locate, $db; $objResponse = new xajaxResponse(); $f['extension'] = strtolower($f['extension']); $f['agent'] = strtolower($f['agent']); $f['channel'] = strtolower($f['channel']); if (trim($f['username']) == '' || trim($f['password']) == '' || trim($f['extension']) == '' || trim($f['usertype']) == '' || trim($f['firstname']) == '' || trim($f['lastname']) == '') { $objResponse->addAlert($locate->Translate("obligatory_fields")); return $objResponse->getXML(); } if (trim($f['usertype']) != 'admin' && trim($f['groupid']) == '') { $objResponse->addAlert($locate->Translate("please add group first")); return $objResponse->getXML(); } $username = $f['username']; $userid = astercrm::checkValues("astercrm_account", "username", $username); if ($userid != '' && $userid != $f['id']) { $objResponse->addAlert($locate->Translate("username_repeat")); return $objResponse->getXML(); } if ($f['extensions'] == $locate->translate('extensions_input_tip')) { $f['extensions'] = ''; } if ($f['extensions'] != "") { $f['extensions'] = astercrm::dbcToSbc($f['extensions']); $myExtensions = split(",", $f['extensions']); if ($f['extensType'] != "username") { foreach ($myExtensions as $exten) { $sqlStr .= "OR extension = '{$exten}'"; } $sqlStr = ltrim($sqlStr, "OR"); $query = "SELECT username From astercrm_account WHERE {$sqlStr}"; astercrm::events($query); $res =& $db->query($query); $myExtensions = array(); while ($res->fetchInto($row)) { $myExtensions[] = $row['username']; $newextensions .= "," . $row['username']; } $f['extensions'] = ltrim($newextensions, ','); } // check the assign username if belong to this group if ($_SESSION['curuser']['usertype'] != 'admin') { $myusernames = $myExtensions; $newextensions = ""; $groupList = astercrm::getGroupMemberListByID($_SESSION['curuser']['groupid']); while ($groupList->fetchInto($groupRow)) { $memberNames[] = $groupRow['username']; } foreach ($myusernames as $myusername) { if (in_array($myusername, $memberNames)) { $newextensions .= ",{$myusername}"; } } $f['extensions'] = ltrim($newextensions, ','); } } if ($f['usertype'] == 'admin') { $f['groupid'] = 0; } // check over $respOk = Customer::updateAccountRecord($f); if ($respOk) { $html = createGrid(0, ROWSXPAGE); $objResponse->addAssign("grid", "innerHTML", $html); $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("update_rec")); $objResponse->addAssign("formDiv", "style.visibility", "hidden"); } else { $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("rec_cannot_update")); } return $objResponse->getXML(); }
/** * save account record * @param f array account record * @return objResponse object xajax response object */ function save($f) { global $locate, $db, $config; $objResponse = new xajaxResponse(); //check clid could only be numuric if (!is_numeric($f['clid'])) { $objResponse->addAlert("clid must be numeric"); return $objResponse; } if (trim($f['pin']) == '') { $objResponse->addAlert("pin field cant be null"); return $objResponse; } if ($f['groupid'] == 0 || $f['resellerid'] == 0) { $objResponse->addAlert($locate->Translate("Please choose reseller and group")); return $objResponse->getXML(); } if ($config['synchronize']['id_autocrement_byset']) { $local_lastid = astercrm::getLocalLastId('clid'); $f['id'] = intval($local_lastid + 1); } // check if clid duplicate $res = astercrm::checkValues("clid", "clid", $f['clid']); if ($res != '') { $objResponse->addAlert($locate->Translate("clid duplicate")); return $objResponse->getXML(); } if ($f['display'] == '') { $f['display'] = $f['clid']; } // check if pin duplicate $res = astercrm::checkValues("clid", "pin", $f['pin']); if ($res != '') { $objResponse->addAlert($locate->Translate("pin duplicate")); return $objResponse->getXML(); } $respOk = Customer::insertNewClid($f); // add a new account if ($respOk) { $html = createGrid(0, ROWSXPAGE); $objResponse->addAssign("grid", "innerHTML", $html); $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("add_clid")); $objResponse->addAssign("formDiv", "style.visibility", "hidden"); $objResponse->addClear("formDiv", "innerHTML"); } else { $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("rec_cannot_insert")); } return $objResponse->getXML(); }
/** * save account record * @param f array account record * @return objResponse object xajax response object */ function save($f) { global $locate, $db, $config; $objResponse = new xajaxResponse(); if ($config['synchronize']['id_autocrement_byset']) { $local_lastid = astercrm::getLocalLastId('account'); $f['id'] = intval($local_lastid + 1); } $f['username'] = trim($f['username']); $f['password'] = trim($f['password']); if ($f['username'] == '' || $f['password'] == '') { $objResponse->addAlert($locate->Translate("Please enter the username and password")); return $objResponse->getXML(); } if ($f['usertype'] == '') { $objResponse->addAlert($locate->Translate("Please select usertype")); return $objResponse->getXML(); } if ($f['resellerid'] == 0 && $f['usertype'] == 'reseller') { $objResponse->addAlert($locate->Translate("Please choose a reseller")); return $objResponse->getXML(); } if (($f['groupid'] == 0 || $f['resellerid'] == 0) && ($f['usertype'] == 'groupadmin' || $f['usertype'] == 'operator')) { $objResponse->addAlert($locate->Translate("Please choose reseller and group")); return $objResponse->getXML(); } $id = astercrm::checkValues("account", "username", $f['username']); if ($id != '') { $objResponse->addAlert($locate->Translate("Username Duplicate")); return $objResponse->getXML(); } $respOk = Customer::insertNewAccount($f); // add a new account if ($respOk) { $html = createGrid(0, ROWSXPAGE); $objResponse->addAssign("grid", "innerHTML", $html); $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("add_account")); $objResponse->addAssign("formDiv", "style.visibility", "hidden"); $objResponse->addClear("formDiv", "innerHTML"); } else { $objResponse->addAssign("msgZone", "innerHTML", $locate->Translate("rec_cannot_insert")); } return $objResponse->getXML(); }