3 function CheckPerm($pLink, $pUserName, $pScriptName, $pIPAddr) {
8 $sql =
"SELECT allowed_scripts, ip_range, altipaddress 10 WHERE user_name = '" . prep_save($pUserName, 12) .
"' ";
12 $perm_rs = db_query($sql, $pLink);
13 $allowed_scripts = array();
15 if ($perm_row = db_fetch_array($perm_rs)) {
17 $allowed_scripts = explode(
"\n", $perm_row[
'allowed_scripts']);
18 if (is_array($allowed_scripts)) {
19 foreach($allowed_scripts as $value) {
20 if (
"$value" ==
"*") {
24 } elseif (trim($value) == trim($pScriptName) || trim($value) == str_replace(
".prg",
"", trim($pScriptName))) {
34 $perm_row[
'ip_range'] = str_replace(chr(13),
"", $perm_row[
'ip_range']);
35 $ip_range = explode(
"\n", $perm_row[
'ip_range']);
37 if (trim($perm_row[
'altipaddress']) !=
"") {
39 array_push($ip_range, trim($perm_row[
'altipaddress']));
41 if (is_array($ip_range)) {
42 foreach ($ip_range as $value) {
43 if (substr($pIPAddr, 0, strlen(trim($value))) == trim($value)) {
51 db_free_result($perm_rs);
54 if (!($PermPass && $IPPass)) {
55 $sysenv = $GLOBALS[
'SYSENV'];
57 if (HCU_array_key_exists(
"logger", $sysenv)) {
58 $logger = $sysenv[
'logger'];
60 $ERR_MSG =
"\n-------------------------\n";
61 $ERR_MSG .=
"Date: " . date(
'm/d/Y H:i:s') .
"\n";
62 $ERR_MSG .=
"Cookie: " . implode(
",", $_COOKIE) .
"\n";
63 $ERR_MSG .=
"User: $pUserName\n";
64 $ERR_MSG .=
"Access Script: $pScriptName\n";
65 $ERR_MSG .=
"Access IP: $pIPAddr\n";
66 $ERR_MSG .=
"Perm File: " . ($PermPass ?
"True" :
"False") .
"\n";
67 $ERR_MSG .=
"Perm IP: " . ($IPPass ?
"True" :
"False") .
"\n";
68 $ERR_MSG .=
"HAYSTACK\n";
70 $ERR_MSG .=
"-------------------------\n";
72 $logger->debug($ERR_MSG);
78 return ($PermPass && $IPPass);
84 for ($i=0; $i < strlen($val); $i++) {
85 $piece = substr($val,$i,1);
86 if ($piece >=0 && $piece <=9) {
94 if (strlen($new_val) == 0) $new_val =
"0";
95 return (
int) $new_val;
98 function set_string($val) {
99 $val = htmlspecialchars(trim($val));
104 function save_date($date) {
105 if (strlen(trim($date)) == 0)
108 return "'" . dateformat(
"Y-m-d", $date) .
"'";
112 function strip_money($money) {
116 $ret_money = preg_replace(
"/$pat/", $repl, $money);
121 function printError($errormsg) {
122 printf(
"<br> %s <br>\n", $errormsg);
125 function isMammothServer($wwwServer) {
126 $wwwList = array(
"www3",
"www4",
"www5",
"www6");
127 return in_array($wwwServer, $wwwList);