Remote Files
RJM Programming - March, 2023
";
$uval="";
$tval="";
$cval="";
$sval="";
$oval="1";
$blurb="";
$pblurb="";
$cfor="For ";
$title="";
$pregt="@\(.*)\@i";
$matcho=1;
$curo=0;
if (isset($_POST['url']) && $_POST['url'] != '') {
$file = fopen ("http:" . str_replace("http:","",str_replace("https:","",str_replace("+"," ",urldecode($_POST['url'])))), "r");
$pblurb="Looking in " . str_replace("+"," ",urldecode($_POST['url'])) . " ";
$uval=str_replace("+"," ",urldecode($_POST['url']));
$cfor="for ";
} else if (isset($_GET['url']) && $_GET['url'] != '') {
$file = fopen ("http:" . str_replace("http:","",str_replace("https:","",str_replace("+"," ",urldecode($_GET['url'])))), "r");
$pblurb="Looking in " . str_replace("+"," ",urldecode($_GET['url'])) . " ";
$uval=str_replace("+"," ",urldecode($_GET['url']));
$cfor="for ";
} else {
$file = fopen ("http://www.rjmprogramming.com.au/index.php", "r");
$cfor="Looking in " . "http://www.rjmprogramming.com.au/index.php" . " for ";
}
if (isset($_POST['type']) && $_POST['type'] != '') {
$pregt="@\\<" . str_replace("+"," ",urldecode($_POST['type'])) . "\\>(.*)\\" . str_replace("+"," ",urldecode($_POST['type'])) . "\\>@i";
$pregt="@\\>(.*)\\" . str_replace("+"," ",urldecode($_POST['type'])) . "\\>@i";
$tval=str_replace("+"," ",urldecode($_POST['type']));
$pblurb.=$cfor . str_replace("+"," ",urldecode($_GET['type'])) . " element ";
$cfor=" ";
} else if (isset($_GET['type']) && $_GET['type'] != '') {
$pregt="@\\<" . str_replace("+"," ",urldecode($_GET['type'])) . "\\>(.*)\\" . str_replace("+"," ",urldecode($_GET['type'])) . "\\>@i";
$pregt="@\\>(.*)\\" . str_replace("+"," ",urldecode($_GET['type'])) . "\\>@i";
$tval=str_replace("+"," ",urldecode($_GET['type']));
$pblurb.=$cfor . str_replace("+"," ",urldecode($_GET['type'])) . " element ";
$cfor=" ";
} else {
$pregt="@\(.*)\@i";
$cfor.="title " . "element ";
}
if (isset($_POST['ord']) && $_POST['ord'] != '') {
$matcho=intval(str_replace("+"," ",urldecode($_POST['ord'])));
$oval="$matcho";
$pblurb.=$cfor . "number " . $matcho . " ...
";
} else if (isset($_GET['ord']) && $_GET['ord'] != '') {
$matcho=intval(str_replace("+"," ",urldecode($_GET['ord'])));
$oval="$matcho";
$pblurb.=$cfor . "number " . $matcho . " ...
";
} else {
$matcho=1;
$cfor.="number " . $matcho . " ...
";
}
if (isset($_POST['containing']) && $_POST['containing'] != '') {
if ($pregt == "@\(.*)\@i") {
$pregt="@\\>(.*)" . str_replace("+"," ",urldecode($_POST['containing'])) . "\\@i";
} else {
$pregt=str_replace("(.*)", "(.*)" . str_replace("+"," ",urldecode($_POST['containing'])), $pregt);
}
$cval=str_replace("+"," ",urldecode($_POST['containing']));
$pblurb=str_replace(" ...
","",$pblurb);
if ($tval == "") {
$pblurb=str_replace(" numbering up to 1 "," in unlimited search ",str_replace(" number "," numbering up to ",$pblurb));
}
$pblurb=str_replace(" numbering up to 1 "," in unlimited search ",$pblurb) . " containing " . str_replace("+"," ",urldecode($_POST['containing'])). " ...
";
$cfor=" ";
} else if (isset($_GET['containing']) && $_GET['containing'] != '') {
if ($pregt == "@\(.*)\@i") {
$pregt="@\\>(.*)" . str_replace("+"," ",urldecode($_GET['containing'])) . "\\@i";
} else {
$pregt=str_replace("(.*)", "(.*)" . str_replace("+"," ",urldecode($_GET['containing'])), $pregt);
}
$cval=str_replace("+"," ",urldecode($_GET['containing']));
$pblurb=str_replace(" ...
","",$pblurb);
if ($tval == "") {
$pblurb=str_replace(" numbering up to 1 "," in unlimited search ",str_replace(" number "," numbering up to ",$pblurb));
}
$pblurb=str_replace(" numbering up to 1 "," in unlimited search ",$pblurb) . " containing " . str_replace("+"," ",urldecode($_GET['containing'])). " ...
";
$cfor=" ";
}
if (isset($_GET['starting']) && $_GET['starting'] != '') {
if ($pregt == "@\(.*)\@i") {
if ($cval != '') {
$pregt="@[^\>]+\\>" . str_replace("+"," ",urldecode($_GET['starting'])) . "[^" . $cval . "]+[" . $cval . "]\\@i";
} else {
$pregt="@[^\>]+\\>" . str_replace("+"," ",urldecode($_GET['starting'])) . "[^<]+\\@i";
//echo str_replace('<','<',str_replace('>','>',$pregt));
//exit;
}
} else {
if ($cval != '') {
$pregt="@[^>]+" . str_replace("(.*)[^<]+", "" . str_replace("+"," ",urldecode($_GET['starting'])) . "[^" . $cval . "]+[" . $cval . "]", substr($pregt,1));
} else {
$pregt="@[^>]+" . str_replace("(.*)", "" . str_replace("+"," ",urldecode($_GET['starting'])) . "[^<]+", substr($pregt,1));
}
}
$sval=str_replace("+"," ",urldecode($_GET['starting']));
$pblurb=str_replace(" ...
","",$pblurb);
if ($tval == "") {
$pblurb=str_replace(" numbering up to 1 "," in unlimited search ",str_replace(" number "," numbering up to ",$pblurb));
}
$pblurb=str_replace(" numbering up to 1 "," in unlimited search ",$pblurb) . " starting " . str_replace("+"," ",urldecode($_GET['starting'])). " ...
";
$cfor=" ";
} else if (isset($_POST['starting']) && $_POST['starting'] != '') {
if ($pregt == "@\(.*)\@i") {
if ($cval != '') {
$pregt="@[^\>]+\\>" . str_replace("+"," ",urldecode($_POST['starting'])) . "[^" . $cval . "]+[" . $cval . "]\\@i";
} else {
$pregt="@[^\>]+\\>" . str_replace("+"," ",urldecode($_POST['starting'])) . "[^<]+\\@i";
//echo str_replace('<','<',str_replace('>','>',$pregt));
//exit;
}
} else {
if ($cval != '') {
$pregt="@[^>]+\\>" . str_replace("+"," ",urldecode($_POST['starting'])) . "[^" . $cval . "]+[" . $cval . "]\\@i";
// echo str_replace('<','<',str_replace('>','>',$pregt));
// exit;
} else {
if ($cval != '') {
$pregt="@[^>]+" . str_replace("(.*)[^<]+", "" . str_replace("+"," ",urldecode($_POST['starting'])) . "[^" . $cval . "]+[" . $cval . "]", substr($pregt,1));
} else {
$pregt="@[^>]+" . str_replace("(.*)", "" . str_replace("+"," ",urldecode($_POST['starting'])) . "[^<]+", substr($pregt,1));
}
// $pregt="@[^>]+" . str_replace("(.*)", "" . str_replace("+"," ",urldecode($_POST['starting'])) . "[^<]+", substr($pregt,1));
}
}
$sval=str_replace("+"," ",urldecode($_POST['starting']));
$pblurb=str_replace(" ...
","",$pblurb);
if ($tval == "") {
$pblurb=str_replace(" numbering up to 1 "," in unlimited search ",str_replace(" number "," numbering up to ",$pblurb));
}
$pblurb=str_replace(" numbering up to 1 "," in unlimited search ",$pblurb) . " starting " . str_replace("+"," ",urldecode($_POST['starting'])). " ...
";
$cfor=" ";
}
if (isset($_POST['middling']) && $_POST['middling'] != '') {
$mval=str_replace("+"," ",urldecode($_POST['middling']));
$cfor=" ";
// @[^>]+\>(.*)!\@i
// @\>(.*)!\@i
$pregt=str_replace("@\>(.*)", "@[^>]+\>(.*)", $pregt);
$pregt=str_replace("@\(.*)\@i", "@[^>]+\>(.*)\@i", $pregt);
if ($cval != '') {
$pregt=str_replace("@[^>]+\>(.*)", "@[^>]+\>(.*)[^" . substr($mval,0,1) . "]+" . $mval . "[^" . $cval . "]+", $pregt);
if (strpos($pblurb, " containing ") === false) {
$pblurb=str_replace(" element "," element containing " . $mval . " ",$pblurb);
} else {
$pblurb=str_replace(" containing "," containing " . $mval . " ending with ",$pblurb);
}
} else {
if (strpos($pblurb, " containing ") === false) {
$pblurb=str_replace(" element "," element containing " . $mval . " ",$pblurb);
} else {
$pblurb=str_replace(" containing "," containing " . $mval . " ending with ",$pblurb);
}
$pregt=str_replace("@[^>]+\>(.*)", "@[^>]+\>(.*)[^" . substr($mval,0,1) . "]+" . $mval, $pregt);
}
$pblurb=str_replace(" number 1 "," in unlimited search ",$pblurb);
} else if (isset($_GET['middling']) && $_GET['middling'] != '') {
$mval=str_replace("+"," ",urldecode($_GET['middling']));
$cfor=" ";
// @[^>]+\>(.*)!\@i
// @\>(.*)!\@i
$pregt=str_replace("@\>(.*)", "@[^>]+\>(.*)", $pregt);
$pregt=str_replace("@\(.*)\@i", "@[^>]+\>(.*)\@i", $pregt);
if ($cval != '') {
$pregt=str_replace("@[^>]+\>(.*)", "@[^>]+\>(.*)[^" . substr($mval,0,1) . "]+" . $mval . "[^" . $cval . "]+", $pregt);
if (strpos($pblurb, " containing ") === false) {
$pblurb=str_replace(" element "," element containing " . $mval . " ",$pblurb);
} else {
$pblurb=str_replace(" containing "," containing " . $mval . " ending with ",$pblurb);
}
} else {
if (strpos($pblurb, " containing ") === false) {
$pblurb=str_replace(" element "," element containing " . $mval . " ",$pblurb);
} else {
$pblurb=str_replace(" containing "," containing " . $mval . " ending with ",$pblurb);
}
$pregt=str_replace("@[^>]+\>(.*)", "@[^>]+\>(.*)[^" . substr($mval,0,1) . "]+" . $mval . "[^>]+", $pregt);
}
$pblurb=str_replace(" number 1 "," in unlimited search ",$pblurb);
}
if ($tval == "") {
$pblurb=str_replace("for title element", "for any element", $pblurb);
}
// echo str_replace('<','<',str_replace('>','>',$pregt));
// exit;
if (isset($_GET['pregt'])) {
$pregt=urldecode($_GET['pregt']);
}
//echo str_replace('<','<',str_replace('>','>',$pregt));
//exit;
if (!$file) {
echo "Unable to open remote file.\n";
exit;
}
while (!feof ($file)) {
$line = fgets ($file, 1024);
/* This only works if the title and its tags are on one line */
if (preg_match ($pregt, $line, $out)) {
if ($cval == "" && $sval == "" && $mval == "") {
$title = $out[1];
} else {
if ($sval != "" && $cval != "") {
if ($mval != '') {
if (($out[1] . $mval . $out[2] . $cval) != ($mval . $cval) && strpos($out[1] . substr(explode($mval,$line)[0],-1,1) . $mval . explode('<', explode($mval,$line)[1])[0], $sval) !== false) { $curo++; $title .= "
" . $out[1] . substr(explode($mval,$line)[0],-1,1) . $mval . explode('<', explode($mval,$line)[1])[0]; }
} else {
if (explode(">" . $sval,$out[0])[1] != "") { $curo++; $title .= "
" . $sval . explode(">" . $sval,$out[0])[1] . $cval; }
}
} else if ($sval != "") {
if ($mval != '') {
$title .= "
" . $out[1] . substr(explode($mval,$line)[0],-1,1) . $mval . explode('<', explode($mval,$line)[1])[0];
} else {
$title .= "
" . $sval . explode("<", explode(">" . $sval,$out[0])[1])[0];
}
$curo++;
} else if ($cval != "") {
if ($mval != '') {
$title .= "
" . $out[1] . substr(explode($mval,$line)[0],-1,1) . $mval . explode('<', explode($mval,$line)[1])[0];
} else {
$title .= "
" . $out[1] . $cval;
}
$curo++;
} else if (strpos($line, $mval) !== false) {
$title .= "
" . $out[1] . substr(explode($mval,$line)[0],-1,1) . $mval . explode('<', explode($mval,$line)[1])[0];
$curo++;
}
}
if ($curo >= $matcho) { $blurb=str_replace(" numbering up to 1 starting "," in unlimited search starting ",str_replace(" numbering up to 1 containing "," in unlimited search containing ",$pblurb)); if ("$cval$sval$mval" != "" && $tval == "" && $matcho == 1) { $curo=$curo; } else { break; } }
}
}
fclose($file);
$postblurb="
";
echo "Remote Files - RJM Programming - March, 2023${preblurb}${blurb}" . str_replace('','
',str_replace('!','',$title)) . "
${postblurb}";
exit;
?>