= "5.1") : date_default_timezone_set('Europe/Berlin'); endif; // ini_set('memory_limit','256M'); // ***************************************************************************** // Decryption // Takes the parameter "$value" and returns the decrypted, original value // See also corresponding function "ec" for encryption of the original value function dc($value) { global $eca, $randomCryptionNumber; $len = strlen(HTTP_VARS_SEC_SEQ); if ((HTTP_VARS_SEC_STATE == "1") && (substr($value, 0, $len) == HTTP_VARS_SEC_SEQ) && (substr($value, -$len) == HTTP_VARS_SEC_SEQ)) : // Extract value from identificator-box $value = substr($value, strlen(HTTP_VARS_SEC_SEQ), -strlen(HTTP_VARS_SEC_SEQ)); // Decrypt the encrypted value if (is_numeric($value)) : $value = (((((((($value - $eca[4]) / 2) - $eca[3]) / 2) - $eca[2]) / 2) - $eca[1]) / 2) - $eca[0] - $randomCryptionNumber; else : $value = urldecode($value); endif; endif; return $value; } function getHttpVars($httpVars) { global $HTTP_GET_VARS, $HTTP_POST_VARS; $retArr = array(); foreach($httpVars as $hVar) $retArr[] = (isset($HTTP_GET_VARS[$hVar])) ? $HTTP_GET_VARS[$hVar] : ((isset($HTTP_POST_VARS[$hVar])) ? $HTTP_POST_VARS[$hVar] : ""); return $retArr; } // Gets all script-parameters (HTTP_GET_VARS and HTTP_POST_VARS). // If "$mode == 1" then all id-parameters (only these!) will be decoded function getSecHttpVars($getSecHttpVarsMode = "0", $httpVars) { global $HTTP_GET_VARS, $HTTP_POST_VARS; $retArr = getHttpVars($httpVars); $i = 0; foreach ($httpVars as $par) { global $$par; $$par = $retArr[$i]; $i++; } // Decryption of the fields if encrypted if ($getSecHttpVarsMode == "1") : foreach ($httpVars as $par) { $$par = dc($$par); } endif; return $retArr; } // Writes a string to a file optional with or without linefeed function writeToFile($fileName, $stringToOperate, $mode = 'a', $noLf = "") { $fileHandle = fopen($fileName, $mode); if ($noLf == "") : $stringToOperate .= "\n"; endif; $opCode = fwrite($fileHandle, $stringToOperate); fclose($fileHandle); return $opCode; } function getFieldValueFromId($table,$pKeyName,$pKeyVal,$field,$dbConnection = "") { global $db, $PHP_SELF; if (!is_object($dbConnection) || $dbConnection == "") : $dbConnection = $db; endif; $retValue = ""; $sqlStmt = "SELECT $field FROM $table WHERE $pKeyName = '$pKeyVal'"; $result = $dbConnection->query($sqlStmt); if (DB::isError($result)) die ("$PHP_SELF:
$sqlStmt
" . $result->getMessage()); while ($row = $result->fetch_assoc()): $retValue = $row[$field]; endwhile; $result->free(); return $retValue; } function getFieldValueFromClause($table,$field,$whereClause = "",$dbConnection = "") { global $db, $PHP_SELF; if (!is_object($dbConnection) || $dbConnection == "") : $dbConnection = $db; endif; $retValue = ""; $sqlStmt = "SELECT $field FROM $table WHERE $whereClause"; // writeToFile("xxxxxxxx.log", $sqlStmt); $result = $dbConnection->query($sqlStmt); if (DB::isError($result)) die ("$PHP_SELF:
$sqlStmt
" . $result->getMessage()); while ($row = $result->fetch_assoc()): $retValue = $row[$field]; endwhile; $result->free(); return $retValue; } function getColVectorFromDB2ArrayByClause($table, $pValName, $pWhereClause, $pKeyName = "", $pSortName = "", $pDistinct = "", $dbConnection = "") { global $db, $PHP_SELF; if (!is_object($dbConnection) || $dbConnection == "") : $dbConnection = $db; endif; $retArray = array(); $sqlStmt = "SELECT " . ($pDistinct != "" ? "DISTINCT " : "") . ($pKeyName != "" ? $pKeyName . ", " : "") . "$pValName FROM $table " . ($pWhereClause != "" ? "WHERE " . $pWhereClause : ""); if ($pSortName != "") : $sqlStmt .= " ORDER BY $pSortName"; endif; $result = $dbConnection->query($sqlStmt); if (DB::isError($result)) die ("$PHP_SELF:
$sqlStmt
" . $result->getMessage()); $pValName = (strpos($pValName, " AS ")) ? (substr(stristr($pValName, " AS "), 4)) : $pValName; $pValName = (strpos($pValName, ".")) ? (substr(stristr($pValName, "."), 1)) : $pValName; $pKeyName = (strpos($pKeyName, ".")) ? (substr(stristr($pKeyName, "."), 1)) : $pKeyName; while ($row = $result->fetch_assoc()): if ($pKeyName != "") : $retArray[$row[$pKeyName]]= $row[$pValName]; else : array_push($retArray, $row[$pValName]); endif; endwhile; $result->free(); return $retArray; } function getDbConnectionSpecial ($dbhost, $dbname, $dblogin, $dbpassword) { global $PHP_SELF; $db_conn = ""; $dsn = "mysql://$dblogin:$dbpassword@$dbhost/$dbname"; $db_conn = DB::connect($dsn, false); if (DB::isError($db_conn)) return "ERR_DB"; $db_conn->setFetchMode(DB_FETCHMODE_ASSOC); return $db_conn; } function existsEntry ($table,$fields,$dbConnection = "") { global $db, $PHP_SELF; if (!is_object($dbConnection) || $dbConnection == "") : $dbConnection = $db; endif; $fs = ""; $whereClause = ""; $fieldsLength = count($fields); for ($i = 0; $i < $fieldsLength; $i += 2) : $fs .= $fields[$i]; $whereClause .= $fields[$i] . " = '" . $fields[$i + 1] . "'"; if ($i < $fieldsLength - 2) : $fs .= ","; $whereClause .= " AND "; endif; endfor; if ($whereClause != "") : $whereClause = " WHERE " . $whereClause; endif; $retValue = FALSE; $sqlStmt = "SELECT $fs FROM $table $whereClause"; $result = $dbConnection->query($sqlStmt); if (DB::isError($result)) die ("$PHP_SELF:
$sqlStmt
" . $result->getMessage()); while ($row = $result->fetch_assoc()): $retValue = TRUE; endwhile; $result->free(); return $retValue; } function insertStmt($table,$fields,$dbConnection = "") { global $db, $PHP_SELF; if (!is_object($dbConnection) || $dbConnection == "") : $dbConnection = $db; endif; $fs = ""; $vs = ""; $fieldsLength = count($fields); for ($i = 0; $i < $fieldsLength; $i += 2) : $fs .= $fields[$i]; $vs .= "'" . $fields[$i + 1] . "'"; if ($i < $fieldsLength - 2) : $fs .= ","; $vs .= ","; endif; endfor; $sqlStmt = "INSERT INTO $table ($fs) VALUES ($vs)"; $res = $dbConnection->query($sqlStmt); if (DB::isError($res)) die ("$PHP_SELF:
$sqlStmt
" . $res->getMessage()); return $res; } function dbInsert($table, $keyValueArray, $dbConnection = "") { global $db, $PHP_SELF; if (!is_object($dbConnection) || $dbConnection == "") : $dbConnection = $db; endif; $retVal = ""; if ($table != "" && is_array($keyValueArray) && count($keyValueArray) > 0) : insertStmt($table, $keyValueArray,$dbConnection); $retVal = getLastInsertId(); endif; return $retVal; } function updateStmt($table,$pKeyName,$pKeyVal,$fields,$whereClause = "",$dbConnection = "") { global $db, $PHP_SELF; if (!is_object($dbConnection) || $dbConnection == "") : $dbConnection = $db; endif; $fs = ""; $fieldsLength = count($fields); for ($i = 0; $i < $fieldsLength; $i += 2) : $fs .= $fields[$i] . "='" . $fields[$i + 1] . "'"; if ($i < $fieldsLength - 2) : $fs .= ", "; endif; endfor; if ($pKeyName != ""): $sqlStmt = "UPDATE $table SET $fs WHERE $pKeyName = '$pKeyVal'"; if ($whereClause != "") : $sqlStmt .= " AND " . $whereClause ; endif; else: $sqlStmt = "UPDATE $table SET $fs WHERE " . $whereClause; endif; $res = $dbConnection->query($sqlStmt); if (DB::isError($res)) die ("$PHP_SELF:
$sqlStmt
" . $res->getMessage()); return $res; } function deleteStmt($table,$whereClause, $dbConnection = "") { global $db; if (!is_object($dbConnection) || $dbConnection == "") : $dbConnection = $db; endif; if ($whereClause != "") : $sqlStmt = "DELETE FROM $table WHERE $whereClause"; $res = $db->query($sqlStmt); return $res; endif; return FALSE; } // Returns last autoincrement-value of previous INSERT/UPDATE function getLastInsertID($dbConnection = "") { global $db; if (!is_object($dbConnection) || $dbConnection == "") : $dbConnection = $db; endif; $lastInsertId = $dbConnection->getOne("SELECT LAST_INSERT_ID()"); return $lastInsertId; } // Gets the connection to the central meta objects table function getConnectionToMetaDB ($dbName = "meta_object", $tableName = "metaobject") { global $dbhost, $dblogin, $dbpassword; // $constExtDbInst = getParameterValue("0", "EXTERNAL_DB_METAOBJECT", "0", "0"); $constExtDbInst = $dbhost; $db_conn = getDbConnectionSpecial($constExtDbInst, $dbName, $dblogin, $dbpassword); if ($db_conn == "ERR_DB") : // Check cascade of replicants $constExtDbInst = "172.16.0.111:3711"; $db_conn = getDbConnectionSpecial($constExtDbInst, $dbName, $dblogin, $dbpassword); if ($db_conn == "ERR_DB") : $constExtDbInst = "172.16.0.109:3711"; $db_conn = getDbConnectionSpecial($constExtDbInst, $dbName, $dblogin, $dbpassword); if ($db_conn == "ERR_DB") : $constExtDbInst = "172.16.0.103:3711"; $db_conn = getDbConnectionSpecial($constExtDbInst, $dbName, $dblogin, $dbpassword); endif; endif; // Send info mail // sendInternalMail("metaobject_db_fail"); endif; return $db_conn; } // Gets all databases and its IPs and ports listed in the central meta objects table function getGlobalDbEnvironments ($dbName = "meta_object", $tableName = "metaobject") { $dbhostArray = array(); $db_conn = getConnectionToMetaDB($dbName, $tableName); if ($db_conn != "ERR_DB") : $sqlquery = "SELECT mo_mnemonic, mo_value FROM " . $dbName . "." . $tableName . " AS mo WHERE mo_obj_type = 'db' AND mo_mnemonic != ''"; $result = $db_conn->query($sqlquery); if (DB::isError($result)) die ("$PHP_SELF: " . $result->getMessage()); while ($row = $result->fetch_assoc()): $dbhostArray[$row["mo_mnemonic"]] = $row["mo_value"]; endwhile; $result->free(); endif; return $dbhostArray; } // Gets the operational database via connection data of metaobject function getOperationalDatabase ($moId) { global $db, $PHP_SELF; global $dbhost, $dbname, $dblogin, $dbpassword; $retVal = ""; if ($moId != "" && is_numeric($moId)) : // $constExtDbInst = getExternalMetaDbInst(); $constExtDbInst = $dbhost; if ($constExtDbInst != "") : $db_conn = getDbConnectionSpecial($constExtDbInst, $dbname, $dblogin, $dbpassword); $tmpSqlQuery = "SELECT mo_value FROM meta_object.metaobject WHERE mo_id = '" . $moId . "' AND mo_obj_type = 'db'"; $result = $db_conn->query($tmpSqlQuery); while ($row = $result->fetch_assoc()): $retVal = $row["mo_value"]; endwhile; $result->free(); endif; endif; return $retVal; } // Gets XML tag function getSingleTagContent ($strToParse, $tagBegin, $tagEnd) { $tagContent = ""; $repeat = TRUE; while ($repeat && !(strpos($strToParse, $tagBegin) === FALSE) && !(strpos($strToParse, $tagEnd) === FALSE)) : $pos0 = strpos($strToParse, $tagBegin); // begin of tagBegin (first occurrence) $pos1 = strpos($strToParse, $tagBegin) + strlen($tagBegin); // end of tagBegin (first occurrence) $pos2 = strpos($strToParse, $tagEnd); // begin of tagEnd (first occurrence) $pos3 = strpos($strToParse, $tagEnd) + strlen($tagEnd); // end of tagEnd (first occurrence) $repeat = FALSE; if ($pos2 - $pos1 > 0) : // Get the content of the tag $tagContent = substr($strToParse, $pos1, $pos2 - $pos1); endif; endwhile; return $tagContent; }; // Get the actual DATETIME (e.g. according to the scheme needed in MySql) function getDateTime($mode = "0", $dateTimeArray = "", $formatStr = "") { $retVal = ""; if ($mode == "0") : $retVal = date("Y-m-d H:i:s"); endif; // 2003-03-10 17:16:17 if ($mode == "1") : $retVal = date("Ymd"); endif; // 20030310 if ($mode == "2") : $retVal = date("m.d.y"); endif; // 03.10.01 if ($mode == "3") : $retVal = date("Y-m-d"); endif; // 2003-03-10 if ($mode == "4") : $retVal = date("H:i:s"); endif; // 17:16:17 if ($mode == "5") : $retVal = date("d.m.Y"); endif; // 10.03.2003 if ($mode == "6") : $retVal = date("YmdHis"); endif; // 20030310171617 if ($mode == "7") : $retVal = date("dmY"); endif; // 31122003 if ($mode == "day") : $retVal = date("d"); endif; // 01 .. 31 if ($mode == "month") : $retVal = date("m"); endif; // 01 .. 12 if ($mode == "year") : $retVal = date("Y"); endif; // 2003, ... if ($mode == "hour") : $retVal = date("H"); endif; // 00 .. 11 if ($mode == "minute") : $retVal = date("i"); endif; // 00 .. 59 if ($mode == "second") : $retVal = date("s"); endif; // 00 .. 59 if ($mode == "now") : $retVal = date("YmdHis", mktime(date("H"),date("i"),date("s"),date("m"),date("d"),date("y"))); endif; // 20090807105959 if ($mode == "day_tomorrow") : $retVal = date("d",mktime(0,0,0,date("m"),date("d")+1,date("Y"))); endif; // 01 .. 31 if ($mode == "month_tomorrow") : $retVal = date("m",mktime(0,0,0,date("m"),date("d")+1,date("Y"))); endif; // 01 .. 12 if ($mode == "year_tomorrow") : $retVal = date("Y",mktime(0,0,0,date("m"),date("d")+1,date("Y"))); endif; // 2003, ... if ($mode == "day_yesterday") : $retVal = date("d",mktime(0,0,0,date("m"),date("d")-1,date("Y"))); endif; // 01 .. 31 if ($mode == "month_yesterday") : $retVal = date("m",mktime(0,0,0,date("m"),date("d")-1,date("Y"))); endif; // 01 .. 12 if ($mode == "year_yesterday") : $retVal = date("Y",mktime(0,0,0,date("m"),date("d")-1,date("Y"))); endif; // 2003, ... if ($mode == "date_plus_offset") : $retVal = date($formatStr, mktime(0,0,0,date("m")+$dateTimeArray[0],date("d")+$dateTimeArray[1],date("Y")+$dateTimeArray[2])); endif; if ($mode == "datetime_plus_offset") : $retVal = date($formatStr, mktime(date("H")+$dateTimeArray[0],date("i")+$dateTimeArray[1],date("s")+$dateTimeArray[2],date("m")+$dateTimeArray[3],date("d")+$dateTimeArray[4],date("Y")+$dateTimeArray[5])); endif; if ($mode == "format" && $dateTimeArray != "" && $formatStr != "") : // int mktime ( [int Stunde [, int Minute [, int Sekunde [, int Monat [, int Tag [, int Jahr [, int is_dst]]]]]]]) $retVal = date($formatStr, mktime($dateTimeArray[0],$dateTimeArray[1],$dateTimeArray[2],$dateTimeArray[3],$dateTimeArray[4],$dateTimeArray[5])); endif; return $retVal; } ?>