..you how to make a multi bridge between THC_DO, THC_SS and THC_II and keep track of the output in realtime using iframes. So what exactly are we going to do? First of all if you don't..
THC Sscan is a very versatile tool for scanning (html) files
<?php
/* Set version and project code name
Author: Remco Kouw
Site: http://www.hacksuite.com
Last Edit: 07-03-2015
*/
if(!defined('IN_SCRIPT')){
exit;
}
$_CONTEXT['subtitle'] = "Set version";
// target files we need, so make sure they are present
$aFiles = array($_PATHS['functions_root']."/fwrite.php",$_PATHS['functions_root']."/get_file_data.php",$_PATHS['data_root']."/version.php");
for($x=0;$x<count($aFiles);$x++){
(!IsThere($aFiles[$x]) ? include_once($_PATHS['end']) : include_once($aFiles[$x]));
}
// correct values
$aValues = array(0,1);
$sCode = (isset($sCode) ? $sCode : "");
$sTemplate = "";
if(!isset($_POST['sent'])){
/* construct form */
$sCode .= " <form method=\"post\" class=\"install\">\n";
$sCode .= " <div class=\"emboss borderr5 border1pxtrans pad5 edgeglow overflw\">\n";
$sCode .= " <div class=\"embosshdrnocenter border1pxtrans pad10\">Set version and project</div>\n";
$sCode .= " <div class=\"cc_record\">\n";
$sCode .= " <div class=\"flt pad3 w150\">cms version</div>\n";
$sCode .= " <div class=\"flt pad3\"><input type=\"text\" name=\"sVersion\" value=\"".$_CONTEXT['version']."\" /></div>\n";
$sCode .= " </div>\n";
$sCode .= " <div class=\"clear\"></div>\n";
$sCode .= " <div class=\"cc_record\">\n";
$sCode .= " <div class=\"flt pad3 w150\">project name</div>\n";
$sCode .= " <div class=\"flt pad3\"><input type=\"text\" name=\"sCMS\" value=\"".$_CONTEXT['projcname']."\" /></div>\n";
$sCode .= " </div>\n";
$sCode .= " <div class=\"clear\"></div>\n";
$sCode .= " <div class=\"cc_record\">\n";
$sCode .= " <div class=\"flt pad3\"><input type=\"hidden\" name=\"sent\" value=\"1\"><input type=\"hidden\" name=\"iCFG\" value=\"".$_POST['iCFG']."\" /><input type=\"submit\" name=\"submit\" value=\"Set\" /></div>\n";
$sCode .= " </div>\n";
$sCode .= " <div class=\"clear\"></div>\n";
$sCode .= " </div>\n";
$sCode .= " </form>\n";
}
else{
if($_CONTEXT['version']==$_POST['sVersion']){
$sCode .= "<div class=\"spacingmsg\">".$_CONTEXT['result_headers']['error']."This version is the current version</div>\n";
}
else{
// validate input
$_POST['sVersion'] = trim($_POST['sVersion']);
$_POST['sCMS'] = trim($_POST['sCMS']);
if(!preg_match('/^([0-9]\.){2}[0-9]{1}$/',$_POST['sVersion'])){
$sCode .= "<div class=\"spacingmsg\">".$_CONTEXT['result_headers']['error']."Invalid version, expecting x.x.x format</div>\n";
}
else{
$sDest = $_PATHS['data_root']."/version.php";
$aVersionNew = explode(".",$_POST['sVersion']);
$aVersionOld = explode(".",$_CONTEXT['version']);
// eg 0.5.4 > 0.6.0
$bNewCodeName = false;
// eg 0.5.4 > 0.5.5
$bNewRelease = false;
if($aVersionNew[0]==$aVersionOld[0]){
if($aVersionNew[1]==$aVersionOld[1]){
if($aVersionNew[2]<$aVersionOld[2]){
$sCode .= "<div class=\"spacingmsg\">".$_CONTEXT['result_headers']['error']."You can't downgrade a HackSuite version</div>\n";
}
else{
$bNewRelease = true;
}
}
elseif($aVersionNew[1]>$aVersionOld[1]){
$bNewCodeName = true;
}
else{
$sCode .= "<div class=\"spacingmsg\">".$_CONTEXT['result_headers']['error']."You can't downgrade a HackSuite version</div>\n";
}
}
elseif($aVersionNew[0]>$aVersionOld[0]){
$bNewCodeName = true;
}
else{
$sCode .= "<div class=\"spacingmsg\">".$_CONTEXT['result_headers']['error']."You can't downgrade a HackSuite version</div>\n";
}
if($bNewCodeName){
if($_POST['sCMS']==$_CONTEXT['projcname']){
$sCode .= "<div class=\"spacingmsg\">".$_CONTEXT['result_headers']['error']."Expecting a new codename for the HackSuite</div>\n";
}
else{
if(!@preg_match('/^([A-Z]){3,10}$/',$_POST['sCMS'])){
$sCode .= "<div class=\"spacingmsg\">".$_CONTEXT['result_headers']['error']."Codename for the HackSuite must be in uppercase characters and between 3-10 characters long</div>\n";
}
else{
// overwrite version and codename
$sFileData = GetFileData($sDest);
$sFileData = str_replace("\$_CONTEXT['version'] = \"".$_CONTEXT['version']."\";","\$_CONTEXT['version'] = \"".$_POST['sVersion']."\";",$sFileData);
$sFileData = str_replace("\$_CONTEXT['projcname'] = \"".$_CONTEXT['projcname']."\";","\$_CONTEXT['projcname'] = \"".$_POST['sCMS']."\";",$sFileData);
$sCode .= "<div class=\"spacingmsg\">".$_CONTEXT['result_headers']['result'].(WriteF($sDest,$sFileData,"w") ? "Successfully updated release" : "Failed to update release")."</div>\n";
}
}
}
elseif($bNewRelease){
// overwrite version only
$sFileData = GetFileData($sDest);
$sFileData = str_replace("\$_CONTEXT['version'] = \"".$_CONTEXT['version']."\";","\$_CONTEXT['version'] = \"".$_POST['sVersion']."\";",$sFileData);
$sCode .= "<div class=\"spacingmsg\">".$_CONTEXT['result_headers']['result'].(WriteF($sDest,$sFileData,"w") ? "Successfully updated release" : "Failed to update release")."</div>\n";
}
}
}
}
?>