<?php

include("include/winbinder.php");
$mainwin = wb_create_window(NULL, AppWindow, "QuickPHP", 600, 493);

wb_create_control($mainwin, EditBox, "",                  10, 35, 480, 425,     101, WBC_MULTILINE);
wb_create_control($mainwin, PushButton, "Execute",        500,35, 80, 22,     102);
wb_create_control($mainwin, PushButton, "Help/About",     500,60, 80, 22,     103);
wb_create_control($mainwin, ComboBox, "",                 500,85, 80, 90,  105);

$a_combo = array("Plain", "HTML");
wb_set_text(wb_get_control($mainwin, 105), $a_combo);

wb_create_control($mainwin, EditBox, "",                  10, 8, 480, 22,     150);
wb_create_control($mainwin, PushButton, "Choose",        500,8, 80, 22,     151);
wb_create_control($mainwin, PushButton, "Save",     500,110, 80, 22,     152);

wb_set_handler($mainwin, "process_main");
wb_main_loop();

function
process_main($window, $id)
{
    switch(
$id) {



    case
102:
        
            
$getboxvalue = wb_get_text( wb_get_control( $window, 101 ) );

            if(
wb_get_text( wb_get_control( $window, 150 ) ) ) {
        
$includepath = explode("\\", wb_get_text(wb_get_control($window, 150)));
        
$includepath = str_replace("\\", "/", str_replace("\\".$includepath[count($includepath)-1], "", wb_get_text(wb_get_control($window, 150))));
        
$getboxvalue = '<?php ini_set("include_path", "'.$includepath.'");  ?>'.$getboxvalue;
      }
      
      if(
substr($getboxvalue, 0, 2) == "<"."?") {
        
$getboxvalue = str_replace(array("####<?"."php", "?".">####"), "", "####".trim($getboxvalue)."####");
            }
      
ob_start();
            eval(
$getboxvalue);
            
$result = ob_get_contents();
            
ob_clean();
            
            if(
wb_get_text( wb_get_control( $window, 105 ) ) == "Plain") {
        
$reswin = wb_create_window(NULL, AppWindow, "Output", 600, 493);
        
wb_create_control($reswin, EditBox, $result,   10, 10, 570, 450,     104, WBC_MULTILINE);
        
wb_set_handler($reswin, "process_results");
        
wb_main_loop();
      } elseif(
wb_get_text( wb_get_control( $window, 105 ) ) == "HTML") {
        
$handle = fopen("out.html", 'w+');
        
fwrite($handle, $result);
        
fclose($handle);
        
wb_exec("out.html");
      }
         break;
         case
103:
            
wb_message_box($window, "Simply enter the code you want to test quickly and click \"Execute\". \nPlease note this will execute on your actual system so if you use commands like exec(), unlink(), and others it WILL have effect.\n\nThis isn't meant for executing full scripts, just small ones to see if they work or to quickly generate lists etc.\n\nTo view the output as HTML, choose \"HTML\" from the drop-down.", "About QuickPHP");
         break;

    case
151:
      
$filter = array(array('PHP Files','*.php'), array('PHPS Files', '*.phps'), array('HTML Files', '*.html'), array('All Files', '*.*'));
      
$filename = wb_sys_dlg_open(NULL, 'Open file', $filter,$path);
      if(
$filename) {
        
wb_set_text(wb_get_control($window, 150), $filename);
        
wb_set_text(wb_get_control($window, 101), file_get_contents($filename));
        
$includepath = explode("\\", $filename);
        
$includepath = str_replace($includepath[count($includepath)-1], "", $filename);
      }
    break;
    
    case
152:
        if(
wb_get_text(wb_get_control($window, 150)) == "") {
          
$filter = array(array('PHP Files','*.php'), array('PHPS Files', '*.phps'), array('HTML Files', '*.html'), array('TXT Files', '*.txt'), array('All Files', '*.*'));
          
$filename = wb_sys_dlg_save(NULL, 'Save file', $filter);
          
wb_set_text(wb_get_control($window, 150), $filename);
        }
        if(
wb_get_text(wb_get_control($window, 150)) !== "") {
        
$handle = fopen(wb_get_text(wb_get_control($window, 150)), 'w+');
        
fwrite($handle, wb_get_text(wb_get_control($window, 101)));
        
fclose($handle);
        }
    break;
        
        case
IDCLOSE:
            
wb_destroy_window($window);
            break;


            
     }     
}

function
process_results($window, $id)
{
       switch(
$id) {
        case
IDCLOSE:
            
wb_destroy_window($window);
            break;
       }
}

?>