function createUser($userID, $privilegeID, $accessID, $pwd, $attrs = array(), $site = SITENAME) { if (!isset($_SESSION['SESS_PRIVILEGE_ID']) || $_SESSION['SESS_PRIVILEGE_ID'] > ROLE_PRIME) { $site = SITENAME; } if (checkUserID($userID, $site)) { return array("error" => "UserID Exists"); } //Check PrivilegeID $sql = _db(true)->_selectQ(_dbTable("privileges", true), "count(*) as cnt")->_where(array("id" => $privilegeID))->_raw(" AND (site='" . SITENAME . "' OR site='*')"); $res = _dbQuery($sql, true); if (!$res) { return array("error" => "PrivilegeID Query Error"); } $data = _dbData($res, true); _dbFree($res, true); if ($data[0]['cnt'] <= 0) { return array("error" => "PrivilegeID Not Found This Site {$site}"); } //Check AccessID $sql = _db(true)->_selectQ(_dbTable("access", true), "count(*) as cnt")->_where(array("blocked" => 'false', "id" => $accessID))->_raw(" AND (FIND_IN_SET('" . SITENAME . "',sites) OR sites='*')"); $res = _dbQuery($sql, true); if (!$res) { return array("error" => "AccessID Query Error"); } $data = _dbData($res, true); _dbFree($res, true); if ($data[0]['cnt'] <= 0) { return array("error" => "AccessID Not Found For This Site {$site}"); } $params = getDefaultParams($userID, $pwd, $privilegeID, $accessID); $data = array_merge($params, $attrs); $reqParams = explode(",", getConfig("USER_CREATE_REQUIRED_FIELDS")); foreach ($reqParams as $vx) { if (!isset($data[$vx]) || $data[$vx] == null || strlen($data[$vx]) <= 0) { return array("error" => "Missing Field", "field" => $vx); } } $sql = _db(true)->_insertQ1(_dbtable("users", true), $data); $res = _dbQuery($sql, true); if ($res) { return true; } return array("error" => "Error In User Creation", "details" => _db(true)->get_error()); }
function createUser($userID, $privilegeID, $accessID, $pwd, $attrs = array(), $site = SITENAME) { if (!isset($_SESSION['SESS_PRIVILEGE_ID']) || $_SESSION['SESS_PRIVILEGE_ID'] > ROLE_PRIME) { $site = SITENAME; } if (checkUserID($userID, $site)) { return array("error" => "UserID Exists"); } //Check PrivilegeID $sql = _db(true)->_selectQ(_dbTable("privileges", true), "count(*) as cnt")->_where(array("id" => $privilegeID))->_whereOR("site", [SITENAME, '*']); $resData = $sql->_GET(); if (!$resData) { return array("error" => "PrivilegeID Query Error"); } elseif ($resData[0]['cnt'] <= 0) { return array("error" => "PrivilegeID Not Found For Site"); } $sql = _db(true)->_selectQ(_dbTable("access", true), "count(*) as cnt")->_where(array("blocked" => 'false', "id" => $accessID))->_whereMulti([["sites", [SITENAME, "FIND"]], ["sites", '*']], "AND", "OR"); $resData = $sql->_GET(); if (!$resData) { return array("error" => "AccessID Query Error"); } elseif ($resData[0]['cnt'] <= 0) { return array("error" => "AccessID Not Found For Site"); } $params = getDefaultParams($userID, $pwd, $privilegeID, $accessID); //code added by Mita if (isset($attrs['pwd'])) { unset($attrs['pwd']); } if (isset($attrs['pwd_salt'])) { unset($attrs['pwd_salt']); } //End of Mita's Code $data = array_merge($params, $attrs); //If custom guid is there, then no default guid if (isset($data['guid'])) { $data['guid'] = generateGUID($data['guid']); } else { $data['guid'] = generateGUID($params['guid']); } $reqParams = explode(",", getConfig("USER_CREATE_REQUIRED_FIELDS")); foreach ($reqParams as $vx) { if (!isset($data[$vx]) || $data[$vx] == null || strlen($data[$vx]) <= 0) { return array("error" => "Missing Field", "field" => $vx); } } $sql = _db(true)->_insertQ1(_dbTable("users", true), $data); $res = _dbQuery($sql, true); if ($res) { return array("guid" => $data['guid'], "userid" => $data['userid'], "name" => $data['name'], "email" => $data['email'], "status" => "success"); } $errMsg = _db(true)->get_error(); if (strpos(strtolower("###" . $errMsg), "duplicate") > 2) { return array("error" => "UserID Duplicate Across Sites"); } else { return array("error" => "Error In User Creation", "details" => $errMsg); } }