global $addaxconfig; if (!isset($addaxconfig['cgi_environment']) || !$addaxconfig['cgi_environment']) { return ''; } // $return = ""; //echo("SERVER! ".$_SERVER['SCRIPT_NAME']); if(isset($_SERVER) && is_array($_SERVER)) { if(isset($_SERVER['SCRIPT_NAME'])) { $path_parts = explode( '/', $_SERVER['SCRIPT_NAME']); $real_path_parts = array(); foreach($path_parts as $chunk) { if(!empty($chunk)) { $real_path_parts[] = $chunk; } } $part_number = count($real_path_parts); $i = 0; $chunks_to_use = array(); foreach( $real_path_parts as $chunk ) { $i++; if($i < $part_number)//usamos todas las partes excepto la ultima: ej /GIS/gebi.exe , tiene 3 partes y solo usamos /GIS/ { $chunks_to_use[] = $chunk; } } $return = implode( '/', $chunks_to_use); } } return $return; } function pnGetAppUri() { $apppath = pnGetAppPath(); if(empty($apppath)) { return ""; } else { return "/$apppath/"; } } function pnGetRealAppPath() { //PATH_TRANSLATED = C:\Inetpub\BusinessIntelligence Got SCRIPT_NAME $return = ""; if(isset($_SERVER) && is_array($_SERVER)) { if(isset($_SERVER['PATH_TRANSLATED'])) { $app_path = pnGetAppPath(); $app_path = str_replace("/", DIRECTORY_SEPARATOR, $app_path); $return = $_SERVER['PATH_TRANSLATED'] . DIRECTORY_SEPARATOR . $app_path; } } //echo "pnGetRealAppPath, returning " . $return ."\r\n"; return $return; } function pnFileExists($filename) { if(pnIsRunningInAddaxServer() && strpos($filename,'res:///PHP/') === false)//Que no contenga res:/// pues hay scripts que se van a cargar del exe y otros no { $realpath = pnGetRealAppPath(); if(strpos($filename, $realpath) === false) { $filename = $realpath . _PN_RESOURCE_SEP . _SOURCECODE_DIR . _PN_RESOURCE_SEP . $filename; } else { //Nada que hacer } return file_exists($filename); } else { if(strpos($filename,'res:///PHP/') === false) { $filename = pnCreateResourceName($filename); } else { //Nada que hacer } $str = file_get_contents($filename); if(empty($str))//Try *_INDEX which denotes a PLUGIN directory { $str = file_get_contents($filename."_INDEX"); return (!empty($str)); } else { return true; } } } function pnHeaderFunc($header) { if(strstr($header, "HTTP") != false)//Si el header contiene con HTTP { if(isset($GLOBALS['httpheaders']) && is_array($GLOBALS['httpheaders'])) { $GLOBALS['httpheaders'][]= "$header"; } else { $GLOBALS['httpheaders'] = array("$header"); } } else { if(isset($GLOBALS['cgiheaders']) && is_array($GLOBALS['cgiheaders'])) { $GLOBALS['cgiheaders'][]= "$header"; } else { $GLOBALS['cgiheaders'] = array("$header"); } } } function pnSendHeaders() { $one_or_more_httpheaders = false; $one_or_more_cgiheaders = false; if(isset($GLOBALS['httpheaders']) && is_array($GLOBALS['httpheaders'])) { $one_or_more_httpheaders = count($GLOBALS['httpheaders']); foreach($GLOBALS['httpheaders'] as $header) { echo "$header\r\n"; } } if(isset($GLOBALS['cgiheaders']) && is_array($GLOBALS['cgiheaders'])) { $one_or_more_cgiheaders = count($GLOBALS['cgiheaders']); foreach($GLOBALS['cgiheaders'] as $header) { echo "$header\r\n"; } } //echo "Content-Type: text/html"; if($one_or_more_cgiheaders || $one_or_more_httpheaders) { echo "\r\n\r\n"; } } function pnResourceBasename($ResourceName) { //pnErrorLog(__METHOD__ . "::ResourceName = $ResourceName"); $realpath = pnGetRealAppPath(); // global $addaxconfig; if (!isset($addaxconfig['cgi_environment']) || !$addaxconfig['cgi_environment']) { $basename = dirname($ResourceName); //pnErrorLog(__METHOD__ . "::returning basename $basename"); return $basename; } // //echo __METHOD__ . "::ResourceName = $ResourceName"; $ResourceName = str_replace("res:///PHP/", "", $ResourceName); $ResourceName = str_replace("\\", _PN_RESOURCE_SEP, $ResourceName); $resource_parts = explode(_PN_RESOURCE_SEP, $ResourceName); $basename = ""; $resource_part_number = count($resource_parts); //pnErrorLog(__METHOD__ . "::PartNumber = $resource_part_number"); if($resource_part_number > 0) { $basename = $resource_parts[0]; $resource_part_number -= 1; for($i=1;$i<$resource_part_number;$i++) { if(pnIsRunningInAddaxServer()) { $basename .= DIRECTORY_SEPARATOR . $resource_parts[$i]; } else { $basename .= _PN_RESOURCE_SEP . $resource_parts[$i]; } } } if(pnIsRunningInAddaxServer()) { $basename = str_replace("$realpath/", "", $basename); if(strpos($basename, _SOURCECODE_DIR) === false) { $filename = $realpath . _PN_RESOURCE_SEP . _SOURCECODE_DIR . _PN_RESOURCE_SEP . $basename; } else { $filename = $realpath . _PN_RESOURCE_SEP . $basename; } } else { $basename = "res:///PHP/" . $basename; } //echo __METHOD__ . "::basename = $basename"; //pnErrorLog(__METHOD__ . "::basename = $basename"); return $basename; } function pnCreateNameForResource($file, $ForceUseExeResource=false) { //pnErrorLog(__METHOD__ . "::addaxconfig ANTES = ".var_export($addaxconfig,true)); // global $addaxconfig; //pnErrorLog(__METHOD__ . "::addaxconfig DESPUES = ".var_export($addaxconfig,true)); if (!isset($addaxconfig['cgi_environment']) || !$addaxconfig['cgi_environment']) { return $file; } // //pnErrorLog(__METHOD__ . "::UCalled with file= $file"); $b_using_res_protocol = false; if(!(strpos($file, "RES:///PHP/") === false)) { $b_using_res_protocol = true; $file = str_replace("RES:///PHP/", "", $file); } if(!(strpos($file, "res:///PHP/") === false)) { $b_using_res_protocol = true; $file = str_replace("res:///PHP/", "", $file); } $upper_file = strtoupper($file); $filename = str_replace(".php", "", $upper_file); $filename = str_replace(".PHP", "", $filename); $filename = str_replace(".inc", "INC", $filename); $filename = str_replace(".", "", $filename); $filename = str_replace("-", "", $filename); if(!$ForceUseExeResource && pnIsRunningInAddaxServer()) { $filename .= ".php"; $filename = str_replace("_", "", $filename); } else { if(!$b_using_res_protocol) { $filename = str_replace(_PN_RESOURCE_SEP, "", $filename); } $filename = str_replace("/", _PN_RESOURCE_SEP, $filename); } if($b_using_res_protocol) { $filename = "res:///PHP/" . $filename; } //pnErrorLog(__METHOD__ . "::Using resource: $filename"); return $filename; } function pnCreateResourceDirName($file) { $filename = pnCreateResourceName($file); if(pnIsRunningInAddaxServer()) { $filename = str_replace(".php", "", $filename); } else { $filename = $filename . "_INDEX"; } //pnErrorLog("pnCreateResourceDirName resource dir name: $filename"); return $filename; } function pnCreateResourceName($file) { // global $addaxconfig; if (!isset($addaxconfig['cgi_environment']) || !$addaxconfig['cgi_environment']) { return $file; } // $filename = pnCreateNameForResource($file); //pnErrorLog(__METHOD__."1. filename $filename"); if(pnIsRunningInAddaxServer()) { $realpath = pnGetRealAppPath(); $filename = $realpath . _PN_RESOURCE_SEP . _SOURCECODE_DIR . _PN_RESOURCE_SEP . $filename; } else { if(strpos($filename, "res:///PHP/") === false) { $filename = "res:///PHP/$filename"; } } //pnErrorLog("pnCreateResourceNameUsing resource: $filename"); return $filename; } function pnIncludeResource($file, $bCreateResourceName = true) { if($bCreateResourceName) { $filename = pnCreateResourceName($file); } else { $filename = $file; } if(pnFileExists($filename)) { //pnErrorLog(__METHOD__ .":: AQUI1 before including $filename"); include $filename; //pnErrorLog(__METHOD__ .":: AQUI2 after including $filename"); } else//Si no existe es un resource fuera del .EXE { //pnErrorLog(__METHOD__ .":: AQUI3 before including $file"); include $file; //pnErrorLog(__METHOD__ .":: AQUI4 after including $file"); } } function pnIncludeResourceOnce($file, $bCreateResourceName = true) { //pnErrorLog(__METHOD__ .":: AQUI0 $file"); if($bCreateResourceName) { $filename = pnCreateResourceName($file); } else { $filename = $file; } //pnErrorLog(__METHOD__ .":: AQUI1 $filename"); if(pnFileExists($filename)) { //pnErrorLog(__METHOD__ .":: AQUI2 before including $filename"); include_once $filename; //pnErrorLog(__METHOD__ .":: AQUI2.1 after including $filename"); } else//Si no existe es un resource fuera del .EXE { //pnErrorLog(__METHOD__ .":: AQUI3"); //pnErrorLog(__METHOD__ .":: AQUI3 before including $file"); include_once $file; //pnErrorLog(__METHOD__ .":: AQUI3 after including $file"); } //pnErrorLog(__METHOD__ .":: AQUI4"); } function pnRequireResourceOnce($file, $bCreateResourceName = true) { //pnErrorLog(__METHOD__ . ":: AQUI1 file = $file"); if($bCreateResourceName) { //pnErrorLog(__METHOD__ . ":: AQUI2 file = $file"); $filename = pnCreateResourceName($file); } else { //pnErrorLog(__METHOD__ . ":: AQUI3 file = $file"); $filename = $file; } //pnErrorLog(__METHOD__ . ":: AQUI4 filename = $filename"); if(pnFileExists($filename)) { //pnErrorLog(__METHOD__ . ":: AQUI5 filename = $filename"); require_once $filename; //pnErrorLog(__METHOD__ . ":: AQUI5.1 after filename = $filename"); } else//Si no existe es un resource fuera del .EXE { //pnErrorLog(__METHOD__ . ":: AQUI6 filename = $file"); require_once $file; //pnErrorLog(__METHOD__ . ":: AQUI6.1 filename = $file"); } //pnErrorLog(__METHOD__ . ":: AQUI7 filename = $filename"); } function pnRequireResource($file, $bCreateResourceName = true) { //pnErrorLog(__METHOD__ . ":: AQUI1 file = $file"); if($bCreateResourceName) { $filename = pnCreateResourceName($file); } else { $filename = $file; } //pnErrorLog(__METHOD__ . ":: AQUI2 filename = $filename"); if(pnFileExists($filename)) { //pnErrorLog(__METHOD__ . ":: AQUI3 filename = $filename"); require $filename; //pnErrorLog(__METHOD__ . ":: AQUI4 after filename = $filename"); } else//Si no existe es un resource fuera del .EXE { //pnErrorLog(__METHOD__ . ":: AQUI5 file = $file"); require $file; //pnErrorLog(__METHOD__ . ":: AQUI6 after file = $file"); } } function pnErrorLog($errmsg) { //Si ya se cargo el config.php $use_traditional_errorlog = true; if(isset($GLOBALS['pnconfig']) && is_array($GLOBALS['pnconfig'])) { if(isset($GLOBALS['pnconfig']['logfile'])) { $use_traditional_errorlog = false; $logfile = pnGetRealAppPath() . "\\" . $GLOBALS['pnconfig']['logfile']; $encrypted = pnEncrypt($errmsg); //error_log("Encrypted: " . $encrypted . "\n", 3, $logfile); //error_log("Decrypted: " . pnEncrypt($encrypted) . "\n", 3, $logfile); //error_log($encrypted . "\n", 3, $logfile); } } if($use_traditional_errorlog) { error_log($errmsg. "\n");//Sale a consola } } function pnEncrypt($text) //aes_128 { if(pnIsRunningInAddaxServer()) { return $text; } else { return base64_encode($text); } /* $key = "top secret key"; $text = $value; error_log("Orig1: " . "\n"); $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); error_log("Orig2: " . "\n"); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); error_log("Orig3: " . "\n"); $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $text, MCRYPT_MODE_ECB, $iv); error_log("Orig4: " . "\n"); return $crypttext; */ } function pnDecrypt($encrypted_text)//aes_128 { /* $key = "top secret key"; $crypttext = $value; $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB); $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND); $decrypttext = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $crypttext, MCRYPT_MODE_ECB, $iv); return trim($decrypttext); */ return base64_decode($encrypted_text); } function pnIsReadable($filename) { //$str = file_get_contents($filename); //return (!empty($str)); return pnFileExists($filename); } function pnJsonEncode($Object) { // global $addaxconfig; if (!isset($addaxconfig['cgi_environment']) || !$addaxconfig['cgi_environment']) { return json_encode($Object); } // if(!isset($GLOBALS['json'])) { $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); $GLOBALS['json'] =& $json; } else { $json =& $GLOBALS['json']; } return $json->encode($Object); } //Retorna un array function pnJsonDecode($StrJson) { // global $addaxconfig; if (!isset($addaxconfig['cgi_environment']) || !$addaxconfig['cgi_environment']) { return json_decode($StrJson,true); } // if(!isset($GLOBALS['json'])) { $json = new Services_JSON(SERVICES_JSON_LOOSE_TYPE); $GLOBALS['json'] =& $json; } else { $json =& $GLOBALS['json']; } //pnErrorLog(__METHOD__ . ":: Decoding $StrJson"); $result = $json->decode($StrJson); $str_result = var_export($result,true); //pnErrorLog(__METHOD__ . ":: Decoded $str_result"); return $result; } function &pnGetSqliteDBConn($db_name) { //pnErrorLog(__METHOD__ . ":: AQUI1"); // Get database parameters $dbtype = $GLOBALS['pnconfig']['dbtype']; //pnErrorLog(__METHOD__ . ":: AQUI2"); $dbhost = "sqlite:".$db_name; $dbname = ""; $dbuname = ""; $dbpass = ""; //pnErrorLog(__METHOD__ . ":: AQUI3"); $pconnect = $GLOBALS['pnconfig']['pconnect']; //pnErrorLog(__METHOD__ . ":: AQUI4"); // Start connection $dbconn =& ADONewConnection($dbtype); //pnErrorLog(__METHOD__ . ":: AQUI5"); //$GLOBALS['pndbconn'] =& $dbconn; if ($pconnect) { //pnErrorLog(__METHOD__ . ":: AQUI6"); $dbh = $dbconn->PConnect($dbhost, $dbuname, $dbpass, $dbname); //pnErrorLog(__METHOD__ . ":: AQUI7"); } else { //pnErrorLog(__METHOD__ . ":: AQUI8"); // itevo: /Go; it's more safe to use NConnect instead of Connect because of the following: // If you create two connections, but both use the same userid and password, PHP will share the same connection. // This can cause problems if the connections are meant to different databases. // The solution is to always use different userid's for different databases, or use NConnect(). // NConnect: Always force a new connection. In contrast, PHP sometimes reuses connections when you use Connect() or PConnect(). // Currently works only on mysql (PHP 4.3.0 or later), postgresql and oci8-derived drivers. // For other drivers, NConnect() works like Connect(). $dbh = $dbconn->NConnect($dbhost, $dbuname, $dbpass, $dbname); //pnErrorLog(__METHOD__ . ":: AQUI9"); // /itevo } //pnErrorLog(__METHOD__ . ":: AQUI10"); if (!$dbh) { //pnErrorLog(__METHOD__ . ":: AQUI11"); pnHeaderFunc("Content-Type: text/html");//@ADDAX@ pnSendHeaders();//@ADDAX@ include('includes/templates/dbconnectionerror.htm'); //pnErrorLog(__METHOD__ . ":: AQUI12"); //die; } //pnErrorLog(__METHOD__ . ":: AQUI13"); /* $GLOBALS['pndbconn']->debug = (($GLOBALS['pndebug']['debug_sql'] == 1) ? true:false);// sql debugging global $ADODB_FETCH_MODE; $ADODB_FETCH_MODE = ADODB_FETCH_NUM; // force oracle to a consistent date format for comparison methods later on if (strcmp($dbtype, 'oci8') == 0) { $GLOBALS['pndbconn']->Execute("alter session set NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'"); }*/ return $dbconn; } /** missing */ function pnGetScriptName($Type) { $str_result = "index.php"; switch($Type) { case "popup": $str_result = "gapb.exe"; break; case "index": $str_result = "gap.exe"; break; case "popupnocss": $str_result = "gapa.exe"; break; case "raw": $str_result = "gapc.exe"; break; default: //pnErrorLog(__METHOD__ . ":: Unknown ScriptType Type=$Type"); break; } return $str_result; } function pnIsUtf8($str) { $c=0; $b=0; $bits=0; $len=strlen($str); for($i=0; $i<$len; $i++){ $c=ord($str[$i]); if($c > 128){ if(($c >= 254)) return false; elseif($c >= 252) $bits=6; elseif($c >= 248) $bits=5; elseif($c >= 240) $bits=4; elseif($c >= 224) $bits=3; elseif($c >= 192) $bits=2; else return false; if(($i+$bits) > $len) return false; while($bits > 1){ $i++; $b=ord($str[$i]); if($b < 128 || $b > 191) return false; $bits--; } } } return true; } ?> Website Temporarily Unavailable

Problem in Database Connection

This website is experiencing temporary technical difficulties, possibly due to high traffic. If you can, please inform the website administrator of this problem, stating the time you saw this page.

This website is powered by the Zikula Content Management System, although run independantly by the website administrator. Please do not contact the Zikula team about this error, as it is specfic to this website.

If you are the website administrator...
Zikula is unable to connect to your database. Please ensure your database access details are correct. Also, check to make sure your database is running correctly.

Zikula is free software released under the GNU/GPL. For more information, please visit http://zikula.org.

Proudly powered by Zikula ADODB database library PHP Language