case SQ_TYPE_INT: $value = (int) $value; break;
case SQ_TYPE_STRING: $value = (string) $value; break;
case SQ_TYPE_BOOL: $value = (bool) $value; break;
+ case SQ_TYPE_BIGINT:
+ $value = (preg_match('/^[0-9]+$/', $value) ? $value : '0');
+ break;
default: break;
}
} else if (!$result && !is_null($default)) {
* @since 1.2.3
*/
function php_self () {
- if ( sqgetGlobalVar('REQUEST_URI', $req_uri, SQ_SERVER) && !empty($req_uri) ) {
- return $req_uri;
- }
+ // PHP 4.4.4 apparently gives the wrong value here - missing the query string
+ // this code is commented out in the 1.4.x code, so we'll do the same here
+ //if ( sqgetGlobalVar('REQUEST_URI', $req_uri, SQ_SERVER) && !empty($req_uri) ) {
+ // return $req_uri;
+ //}
if ( sqgetGlobalVar('PHP_SELF', $php_self, SQ_SERVER) && !empty($php_self) ) {
}
+/**
+ * Endeavor to detect what user and group PHP is currently
+ * running as. Probably only works in non-Windows environments.
+ *
+ * @return mixed Boolean FALSE is returned if something went wrong,
+ * otherwise an array is returned with the following
+ * elements:
+ * uid The current process' UID (integer)
+ * euid The current process' effective UID (integer)
+ * gid The current process' GID (integer)
+ * egid The current process' effective GID (integer)
+ * name The current process' name/handle (string)
+ * ename The current process' effective name/handle (string)
+ * group The current process' group name (string)
+ * egroup The current process' effective group name (string)
+ * Note that some of these elements may have empty
+ * values, especially if they could not be determined.
+ *
+ * @since 1.5.2
+ *
+ */
+function get_process_owner_info()
+{
+ if (!function_exists('posix_getuid'))
+ return FALSE;
+
+ $process_info['uid'] = posix_getuid();
+ $process_info['euid'] = posix_geteuid();
+ $process_info['gid'] = posix_getgid();
+ $process_info['egid'] = posix_getegid();
+
+ $user_info = posix_getpwuid($process_info['uid']);
+ $euser_info = posix_getpwuid($process_info['euid']);
+ $group_info = posix_getgrgid($process_info['gid']);
+ $egroup_info = posix_getgrgid($process_info['egid']);
+
+ $process_info['name'] = $user_info['name'];
+ $process_info['ename'] = $euser_info['name'];
+ $process_info['group'] = $user_info['name'];
+ $process_info['egroup'] = $euser_info['name'];
+
+ return $process_info;
+}
+
+