'); function check_safe_mode() { $sm = ini_get('safe_mode'); return ($sm=='1'); } function getCSS() { $css = " body, td { font-size:70%; font-family:verdana, helvetica, arial; line-height:200%; } div.main { width:80%; text-align:left; top:20px; position:relative; border:2px solid #F0F0F0; padding:20px; } code { font-family:courier, helvetica, arial; } table.ini_line { border:2px solid #c8e8c8; background-color:white; } table.ini_line tr td { background-color:#c8e8c8; } table.analysis { border:2px solid #e0e0ff; background-color:white; } table.analysis tr td { background-color: #e0e0ff; } "; return $css; } function displayLogo() { $img_encoded="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"; header("Content-type: image/gif"); header("Cache-control: public"); echo base64_decode($img_encoded); } function weblink($url, $display, $new_window=false) { if (use_html()) { $extra = ""; if ($new_window) $extra = 'target="_blank"'; return "$display"; } else { return $url; } } // // Where are we? // $here = dirname(__FILE__); //rtl tester specific functions function echo_working($msg) { global $working; $working.=$msg; } function echo_status($msg) { global $status; $status.=$msg; } function echo_instructions($msg) { global $instructions; $instructions.=$msg; } // // Detect some system parameters // function ic_system_info() { $thread_safe = false; $debug_build = false; $cgi_cli = false; $php_ini_path = ''; ob_start(); phpinfo(INFO_GENERAL); $php_info = ob_get_contents(); ob_end_clean(); foreach (split("\n",$php_info) as $line) { if (eregi('command',$line)) { continue; } if (preg_match('/thread safety.*(enabled|yes)/Ui',$line)) { $thread_safe = true; } if (preg_match('/debug.*(enabled|yes)/Ui',$line)) { $debug_build = true; } if (eregi("configuration file.*(
' : "\n\n"));
}
function code($text)
{
return (use_html() ? "$text" : $text);
}
function table($contents)
{
if (use_html()) {
$res = '
| $cell | \n"; } $res .= "
$ini |
"; } else { $res .= para(" $ini"); } if ($os_code == 'win') { $res .= para('where '.code($path).' is where you\'ve installed the loader.'); } else { $res .= para('where '.code($path).' is where you\'ve installed the loader, e.g. '.code('/usr/local/ioncube/')); } $res .= para("If there are no zend_extension lines already, you can put the line at any point in the file."); $res .= para("Finally, stop and restart your web server software for the changes to\n" . "take effect."); if (!check_safe_mode() && ($os_code != 'win')) { $res .= heading('Installing the Loader for run-time loading'); $res .= para( "To install for runtime loading, create a directory called ".code('ioncube') . "\n" . "at or above the top level of your encoded files, and ensure that the directory\n" . "contains the ".code($required_loader) . " loader. If run-time install of\n" . "the Loader is possible on your system then encoded files should automatically\n" . "install the loader when needed."); } return $res; } function ilia_debug_builds_unsupported() { return para( "IMPORTANT NOTE: Your PHP installation may be incorrect\n" . "------------------------------------------------------\n" . "\n" . "Your PHP installation appears to be built with debugging\n" . "support enabled, and extensions cannot be installed in this case.") .para( "Debugging support in PHP produces slower execution, is not recommended for\n" . "production builds, and was probably a mistake.") .para( "Debugging support may sometimes be incorrectly detected, and so please\n" . "continue to follow the installation instructions and try the Loader.\n" . "However do contact the ionCube helpdesk if the Loader fails to\n" . "install, and include a web link to either this script or a page that\n" . "calls phpinfo() so that we can help."); } function install_assistant() { global $php_version, $php_flavour, $os_name, $thread_safe, $php_ini_path, $required_loader,$os_code, $php_info,$dll_sfix,$HTTP_GET_VARS; if ($q = @$HTTP_GET_VARS['q']) { if ($q == 'phpinfo') { phpinfo(INFO_GENERAL); } exit(0); } foreach (split("\n",$php_info) as $line) { if (eregi('command',$line)) { continue; } if (preg_match('/thread safety.*(enabled|yes)/Ui',$line)) { $thread_safe = true; } if (preg_match('/debug.*(enabled|yes)/Ui',$line)) { $debug_build = true; } if (eregi("configuration file.*(