<? 
include('sftemplate.php'); 
include('phpmaze.php'); 
 
//=========================================================================== 
function make_select_options_from_array ($a, $selectvalue='') { 
    $s = ''; 
    foreach ($a as $ovalue => $oname) { 
        $s .= "<option value=\"$ovalue\""; 
        if (($selectvalue<>'') and ($ovalue == $selectvalue)) $s .= ' selected'; 
        $s .= ">$oname</option>"; 
    } 
    return $s; 
} 
 
 
    header('Expires: 0'); 
    header('Pragma: no-cache'); 
    header('Cache-Control: no-cache, must-revalidate'); 
    $phpname = basename(__FILE__); 
    $tpl = new FastTemplate; 
    $tpl->no_strict(); 
 
    $maze = new phpmaze; 
    $maze->file_src = ''; 
    $maze->file_dst = ''; 
 
 
if (isset($_REQUEST['maze'])) { 
    $maze->maze_level = $_REQUEST['maze_level']; 
    $maze->morph_level = $_REQUEST['morph_level']; 
    if ($_FILES['script_file']['name']) { 
        $mazed_fn = $_FILES['script_file']['name']; 
        $maze->content_src = @file_get_contents($_FILES['script_file']['tmp_name']); 
    } else { 
        $mazed_fn = 'mazed.php'; 
        $script = $_REQUEST['script']; 
        if (get_magic_quotes_gpc()) $script = stripslashes($script); 
        $maze->content_src = $script; 
    } 
 
    $o = &$maze->options; 
    $o['log'] = 0; 
    $o['compress']['enable'] = isset($_REQUEST['enable_compress'])?1:0; 
    $o['compress']['level'] = $_REQUEST['compress_level']; 
    if ($_REQUEST['password'] == $_REQUEST['password2']) { 
        $password = urldecode($_REQUEST['password']); 
        $o['password'] = $password; 
    } 
    $o['expire']['enable'] = isset($_REQUEST['enable_expiration'])?1:0; 
    $o['expire']['year'] = $_REQUEST['e_year']; 
    $o['expire']['month'] = $_REQUEST['e_month']; 
    $o['expire']['day'] = $_REQUEST['e_day']; 
    $o['expire']['hour'] = $_REQUEST['e_hour']; 
    $o['expire']['minute'] = $_REQUEST['e_minute']; 
    if ($_REQUEST['client_ip'] <> '') 
        $o['allowed']['client_ip'] = implode(';', preg_split("/[\r\n]+/", urldecode(trim($_REQUEST['client_ip'])))); 
    if ($_REQUEST['host_ip'] <> '') 
        $o['allowed']['host_ip'] = implode(';', preg_split("/[\r\n]+/", urldecode(trim($_REQUEST['host_ip'])))); 
 
    $o['self_crc'] = isset($_REQUEST['self_check'])?1:0; 
    $o['turck'] = isset($_REQUEST['turck'])?1:0; 
 
    if ($maze->run()) { 
        header('Content-type: application/force-download'); 
        header("Content-disposition: filename=$mazed_fn"); 
        echo $maze->content; 
    } else { 
        echo '<pre>'; 
        echo "Error occured:\n"; 
        echo $maze->log; 
        echo "<a href=$phpname>Back</a>"; 
    } 
    exit; 
 
} else 
 
 
{ 
    ob_start(); 
    phpinfo(); 
    $i = ob_get_clean(); 
    preg_match("/<style.+?>.+?<\/style>/s", $i, $regs); 
    $tpl->assign('PHP_STYLE', $regs[0]); 
    $tpl->assign('PHP_LOGO_GUID', php_logo_guid()); 
    $tpl->assign('DEMO_SCRIPT', "<?\n  echo 'Hello, world!';\n?>"); 
    for ($i=0;$i<=9;$i++) $compression[$i] = $i; 
    $tpl->assign('SELECT_COMPRESS', make_select_options_from_array($compression, 9)); 
 
    $date2 = time(); 
    for ($i=1;$i<=31;$i++) $days[$i] = sprintf("%2d", $i); 
    for ($i=0;$i<=23;$i++) $hours[$i] = sprintf("%2d %s", $i==12?$i:$i%12, $i>12?'pm':'am'); 
    for ($i=0;$i<=59;$i++) $mins[$i] = sprintf("%02d", $i); 
    for ($i=1;$i<=12;$i++) $months[$i] = date('F', mktime(0, 0, 0, $i)); 
    for ($i=date('Y');$i<=date('Y')+10;$i++) $years[$i] = $i; 
    $tpl->assign('SELECT_DAY',    make_select_options_from_array($days,   date('d', $date2))); 
    $tpl->assign('SELECT_HOUR',   make_select_options_from_array($hours,  date('H', $date2))); 
    $tpl->assign('SELECT_MINUTE', make_select_options_from_array($mins,   date('i', $date2))); 
    $tpl->assign('SELECT_MONTH',  make_select_options_from_array($months, date('m', $date2))); 
    $tpl->assign('SELECT_YEAR',   make_select_options_from_array($years,  date('Y', $date2))); 
    if (!is_callable('mmcache_load') and !@dl('TurckLoader.'.PHP_SHLIB_SUFFIX)) { 
        // no turck. Hmm, well, nothing to do... 
    } else { 
        $tpl->enable_block('with_turck'); 
        $tpl->disable_block('no_turck'); 
    } 
} 
  
    $tpl->assign('PHPNAME', $phpname); 
    $tpl->assign('MAZE_TITLE', 'Solace Script Maze'); 
    $tpl->assign('MAZE_VERSION', $maze->version); 
    $tpl->assign('PHP_VERSION', phpversion()); 
    $tpl->parse('data', 'index'); 
    echo $tpl->FastPrint(); 
 
?>
 
 |