xpath("//item[@type='script']"); echo '

The following scripts have run:

'; echo ""; foreach($xpath as $item) { require_once(ROOT.$item['source']); eval("\$result = $item[name];"); if (is_array($result)) { foreach ($result as $res) { echo ""; } } else { echo ""; } } } if ($_POST['action'] == 'createfiles') { require_once ROOT.'config.php'; $xpath = $installxml->xpath("//item[@name!='config.php']"); echo '

The following files and directories were created:

'; echo "
$res
$result
"; foreach($xpath as $item) { if ($item['type'] == 'directory') { eval("\$itemname = \"$item[name]\";"); switch ($item['action']) { //Create directory case 'create': if (is_dir(ROOT.$itemname)) { $status = "directory already exists"; } else { if (mkdir(ROOT.$itemname,0755)) { $status = "directory created"; } else { $status = "directory not created"; } } break; //Delete directory case 'delete': if (is_dir(ROOT.$itemname)) { if (rmdir(ROOT.$itemname)) { $status = "directory deleted"; } else { $status = "directory not deleted"; } } else { $status = "directory already deleted"; } break; //Move directory case 'move': eval("\$itemtarget = \"$item[target]\";"); if (is_dir(ROOT.$itemname) && !is_dir(ROOT.$itemtarget)) { if (rename(ROOT.$itemname,ROOT.$itemtarget)) { $status = "directory moved"; } else { $status = "directory not moved"; } } elseif (is_dir(ROOT.$itemtarget)) { $status = "target directory already exists"; } elseif (is_dir(ROOT.$itemtarget) && !is_dir(ROOT.$itemname)) { $status = "directory already moved"; } elseif (!is_dir(ROOT.$itemname)) { $status = "source directory does not exist"; } break; //Rename directory case 'rename': eval("\$itemtarget = \"$item[target]\";"); if (is_dir(ROOT.$itemname) && !is_dir(ROOT.$itemtarget)) { if (rename(ROOT.$itemname,ROOT.$itemtarget)) { $status = "directory renamed"; } else { $status = "directory not renamed"; } } elseif (is_dir(ROOT.$itemtarget)) { $status = "target directory already exists"; } elseif (is_dir(ROOT.$itemtarget) && !is_dir(ROOT.$itemname)) { $status = "directory already renamed"; } elseif (!is_dir(ROOT.$itemname)) { $status = "source directory does not exist"; } break; } echo ''; } if ($item['type'] == 'file') { eval("\$itemname = \"$item[name]\";"); switch ($item['action']) { case 'copy': if (is_file(ROOT.$itemname)) { $status = "file already exists"; } else { if (copy(ROOT.$item['source'],ROOT.$itemname)) { $status = "file created"; } else { $status = "file not created"; } } break; case 'update': eval("\$itemname = \"$item[name]\";"); if (is_file(ROOT.$itemname)) { if (copy(ROOT.$item['source'],ROOT.$itemname)) { $status = "file updated"; } else { $status = "file not created"; } } else { if (copy(ROOT.$item['source'],ROOT.$itemname)) { $status = "file created"; } else { $status = "file not created"; } } break; case 'delete': if (is_file(ROOT.$itemname)) { if (unlink(ROOT.$itemname)) { $status = "file deleted"; } else { $status = "file not deleted"; } } else { $status = "file already deleted"; } break; case 'move': eval("\$itemtarget = \"$item[target]\";"); if (is_file(ROOT.$itemname) && !is_file(ROOT.$itemtarget)) { if (rename(ROOT.$itemname,ROOT.$itemtarget)) { $status = "file moved"; } else { $status = "file not moved"; } } elseif (is_file(ROOT.$itemtarget)) { $status = "target file already exists"; } elseif (is_file(ROOT.$itemtarget) && !is_file(ROOT.$itemname)) { $status = "file already moved"; } elseif (!is_file(ROOT.$itemname)) { $status = "source file does not exist"; } break; //Rename directory case 'rename': eval("\$itemtarget = \"$item[target]\";"); if (is_file(ROOT.$itemname) && !is_file(ROOT.$itemtarget)) { if (rename(ROOT.$itemname,ROOT.$itemtarget)) { $status = "file renamed"; } else { $status = "file not renamed"; } } elseif (is_file(ROOT.$itemtarget)) { $status = "target file already exists"; } elseif (is_file(ROOT.$itemtarget) && !is_file(ROOT.$itemname)) { $status = "file already renamed"; } elseif (!is_file(ROOT.$itemname)) { $status = "source file does not exist"; } break; } echo ''; } } echo "
'.$item['type'].''.$itemname.''.$status.'
'.$item['type'].''.$itemname.''.$status.'
"; $xpath = $installxml->xpath("//item[@type='script']"); echo '

The following installation scripts will now be run:

'; echo ''; foreach($xpath as $item) { echo ''; } echo '
'.$item['desc'].'
'; echo "
\n"; echo ""; echo ''; } if ($_POST['action'] == 'createconfig') { $xpath = $installxml->xpath("//item[@name='config.php']"); if(createConfigFile('config.php',$xpath[0]->line)) { require_once ROOT.'config.php'; echo '

The following files need to be installed before the IDEA:EDIT system will operate:

'; echo ""; $xpath = $installxml->xpath("//item[@name!='config.php']"); foreach($xpath as $item) { eval("\$itemname = \"$item[name]\";"); echo ''; } echo "
'.$item['type'].''.$itemname.''.$item['action'].'
"; echo "

The files will be installed in: ".ROOT."

"; if (is_writeable(ROOT)) { echo "

The web server has permissions to install

"; } else { echo "

The web server does not have permissions to install

"; } echo "\n"; echo ""; echo ''; } } if (!$_POST) { $xpath = $installxml->xpath("//item[@name='config.php']"); if (!is_file(ROOT.'config.php')) { echo "

Create configuration file

\n"; } else { echo "

Update configuration file

\n"; } echo "\n"; echo ""; if (!is_file(ROOT.'config.php')) { foreach ($xpath[0]->line as $line) { switch ($line['type']) { case "variable": echo "\n"; break; case "eval": eval("\$inputval = $line[value];"); echo "\n"; break; case "boolean": if ($line['value'] == 'TRUE') { echo "\n"; } else { echo "\n"; } break; } } } else { require_once ROOT.'config.php'; foreach ($xpath[0]->line as $line) { switch ($line['type']) { case "variable": eval("\$inputval = \$$line[variable];"); echo "\n"; break; case "eval": eval("\$inputval = \$$line[variable];"); echo "\n"; break; case "boolean": eval("\$inputval = \$$line[variable];"); if ($inputval == 'TRUE') { echo "\n"; } else { echo "\n"; } break; } } } echo ""; if (!is_file(ROOT.'config.php')) { echo ''; } else { echo ''; } echo "
$line[desc]:
$line[desc]:
$line[desc]:
$line[desc]:
$line[desc]:
$line[desc]:
$line[desc]:
$line[desc]:
"; echo '
'; } function createConfigFile($filename,$line) { global $_POST; $filestring = ""; if(file_put_contents(ROOT.$filename,$filestring)) { return true; } else { return false; } } ?>