Transform -> Guillotine"
if (!isset($_GET['donothing']) || isset($_POST['filespec'])) {
$img_filelist="";
$gimp_place="";
$secondbit="
";
$commis="";
$commresult="";
$results="";
$fspec="";
if (isset($_GET['command']) && isset($_GET['temp_file_list'])) {
while ($commresult == "") {
exec(str_replace("+"," ",urldecode($_GET['command'])));
$commresult=file_get_contents(str_replace("+"," ",urldecode($_GET['temp_file_list'])));
if ($commresult == "") {
sleep(5);
} else {
if (strpos($commresult, "-0-0.") !== false) {
$prefix=explode("-0-0.", $commresult)[0];
$cr="";
$crd="";
foreach (glob($prefix . "-*-*.*g*") as $filename) {
$cr.=$crd . $filename;
$crd="\n";
}
echo "
";
exit;
}
}
}
} else if (isset($_POST['filespec'])) {
$dcr="";
$cr="";
$crd="";
$fspec=str_replace("+"," ",urldecode($_POST['filespec']));
foreach (glob($fspec) as $filename) {
$cr.=$crd . $filename;
$dcr.=$crd . "" . $filename . "";
$crd="\n";
}
if ($cr == "") {
//echo "";
//exit;
$results=" ";
$secondbit="
";
} else {
//echo "";
//exit;
$results=$cr;
$secondbit="
| " . str_replace("\n"," ",$dcr) . " | |
";
}
}
if (file_exists("../../GIMP.app/Contents/MacOS/Gimp")) {
$gimp_place="../../GIMP.app/Contents/MacOS/Gimp";
} else if (file_exists("/Applications/GIMP.app/Contents/MacOS/Gimp")) {
$gimp_place="/Applications/GIMP.app/Contents/MacOS/Gimp";
}
if ($gimp_place == "") {
echo "
var results=''
function looknow() {
results=document.getElementById('results').innerHTML;
if (results == '' || (results.indexOf('.') == -1 && results.indexOf(' ') == -1)) {
setTimeout(looknow,5000);
} else if ((results + ',').substring(0,1) == ' ') {
alert('No files found in ' + document.getElementById('filespec').value + ' ... Please try again');
document.getElementById('filespec').value='';
} else {
document.getElementById('tresults').innerHTML=results;
document.getElementById('tresults').style.display='block';
}
}
" . $results . "
GIMP Guillotine Follow Up
RJM Programming - August, 2018
Input Images
HTML Use of Input Image List Below
" . $secondbit . "";
} else if (isset($_GET['gimp'])) {
exec($gimp_place);
exit;
} else {
$temp_file_list = tempnam(sys_get_temp_dir(), 'myfile.list');
exec("echo '' > " . $temp_file_list);
$temp_file = tempnam(sys_get_temp_dir(), 'myfile.name');
exec("echo '' > " . $temp_file);
//echo $temp_file;
$commis="find / -name '*-0-0.*g*' -type f -newer " . $temp_file . " -print 2> /dev/null > " . $temp_file_list;
echo "
var results=''
function looknow() {
results=document.getElementById('results').innerHTML;
if (results == '' || (results.indexOf('.') == -1 && results.indexOf(' ') == -1)) {
setTimeout(looknow,5000);
} else if ((results + ',').substring(0,1) == ' ') {
alert('No files found in ' + document.getElementById('filespec').value + ' ... Please try again');
document.getElementById('filespec').value='';
} else {
document.getElementById('tresults').innerHTML=results;
document.getElementById('tresults').style.display='block';
}
}
" . $results . "
GIMP Guillotine Follow Up
RJM Programming - August, 2018
Input Images
HTML Use of Input Image List Below
" . $secondbit . "";
}
}
?>