• Chatting webpage script.

    From Kristjan Robam@21:1/5 to All on Sun Apr 11 04:01:06 2021
    findlastmdate.php ilist.php index.php
    data.php func.php index2.php renewing.php

    data.php <==
    <?php

    class Dobj {
    function getNameOfClass()
    {
    return static::class;
    }
    }

    class Data {

    var $dtables;

    function gettime() {
    return date("d.m.Y H:i:s");
    }

    function loadobjecttables() {
    $dtables = array();
    foreach (glob("*.dat") as $file) {
    $path_parts = pathinfo($file);
    if(!class_exists($path_parts['filename'])) {
    continue;
    }
    $file1 = file_get_contents($file, true);
    $dtables[] = unserialize($file1);
    }
    $this->dtables=$dtables;
    }

    function deleteotable($otabname) {
    if (file_exists($otabname.".dat")) {
    unlink($otabname.".dat");
    }
    $this->loadobjecttables();
    }

    function insertobject($obj) {
    $this->loadobjecttables();
    $oclass=$obj->getNameOfClass();
    $tabls=$this->dtables;
    $oarridx=-1;
    for($i=0; $i<count($tabls); $i++) { if($tabls[$i][0]->getNameOfClass()==$oclass) {
    $oarridx=$i;
    }
    }
    if($oarridx==-1) return false;
    $tabls[$oarridx][]=$obj;
    unlink($oclass.".dat");
    $b=serialize($tabls[$oarridx]);
    $fh = fopen($oclass.".dat", "a");
    fwrite($fh, $b);
    fclose($fh);
    chmod($oclass.".dat", 0700);
    }


    function saveobjecttables() {
    $tabls=$this->dtables;
    for($i=0; $i<count($tabls); $i++) {
    $oc=$tabls[$i][0]->getNameOfClass();
    if (file_exists($oc.".dat")) {
    unlink($oc.".dat");
    }
    $b=serialize($tabls[$i]);
    $fh = fopen($oc.".dat", "a");
    fwrite($fh, $b);
    fclose($fh);
    chmod($oc.".dat", 0700);
    }
    return true;
    }

    function saveobjecttable($objcl) {
    $tabls=$this->dtables;
    $obclindex=-1;
    for($i=0; $i<count($tabls); $i++) {
    if($tabls[$i][0]->getNameOfClass()==$objcl) {
    $obclindex=$i;
    break;
    }
    }
    if (file_exists($objcl.".dat")) {
    unlink($objcl.".dat");
    }
    $b=serialize($tabls[$obclindex]);
    $fh = fopen($objcl.".dat", "a");
    fwrite($fh, $b);
    fclose($fh);
    chmod($objcl.".dat", 0700);
    return true;
    }

    function makearrayunique($array){
    $duplicate_keys = array();
    $tmp = array();

    foreach ($array as $key => $val){
    if (is_object($val))
    $val = (array)$val;

    if (!in_array($val, $tmp))
    $tmp[] = $val;
    else $duplicate_keys[] = $key;
    }

    foreach ($duplicate_keys as $key)
    unset($array[$key]);
    return $array;
    }

    function deleteduplicates() {
    $ob=$this->dtables;
    for($i=0; $i<count($ob); $i++) {
    $o12=$this->makearrayunique($ob[$i]);
    $ob[$i]=$o12;
    }
    $this->saveobjecttables();
    }

    function deleteduplicatescl($objcl) {
    $ob=$this->dtables;
    $obclindex=-1;
    for($i=0; $i<count($ob); $i++) {
    if($ob[$i][0]->getNameOfClass()==$objcl) {
    $obclindex=$i;
    break;
    }
    }
    $o12=$this->makearrayunique($ob[$obclindex]);
    $ob[$obclindex]=$o12;
    $this->dtables=$ob;
    $this->saveobjecttable($objcl);
    }



    function objectClassestoarray($objectA,
    $objectB) {
    $new_object = array();

    foreach($objectA as $property => $value) {
    $new_object[$property]=$value;
    }

    foreach($objectB as $property => $value) {
    $new_object[$property]=$value;
    }

    return $new_object;
    }


    function query($query) {
    $this->loadobjecttables();
    $ovars=array();
    $objects=$this->dtables;
    for($i=0; $i<count($objects); $i++) { $ovars[]=array_keys(get_object_vars($objects[$i][0]));
    }
    $mches=array();
    $results=null;
    $exitf=false;

    for($i=0; $i<count($objects); $i++) {
    if($exitf) break;
    for($j=0; $j<count($ovars); $j++) {
    if($exitf) break;
    if(!class_exists($objects[$i][0]->getNameOfClass())) continue; if(preg_match("/^get \* from ".$objects[$i][0]->getNameOfClass().";$/",$query)) {
    $objectsList = [];
    foreach ($objects[$i] as $obj) {
    $objectsList[] = (array)$obj;
    }
    return $objectsList;
    $exitf=true;
    }
    }
    }

    for($i=0; $i<count($objects); $i++) {
    if($exitf) break;
    for($j=0; $j<count($ovars); $j++) {
    if($exitf) break;
    if(!class_exists($objects[$i][0]->getNameOfClass())) continue; if(preg_match("/^get ".$ovars[$i][$j]." from ".$objects[$i][0]->getNameOfClass().";$/",$query)) {
    return array_column($objects[$i], $ovars[$i][$j]);
    $exitf=true;
    }
    }
    }

    $outp=array();
    for($i=0; $i<count($objects); $i++) {
    if($exitf) break;
    for($j=0; $j<count($ovars[$i]); $j++) {
    if($exitf) break;
    for($k=0; $k<count($objects); $k++) {
    if($exitf) break;
    for($l=0; $l<count($ovars[$k]); $l++) {
    if($exitf) break;
    if(!class_exists($objects[$i][0]->getNameOfClass())) continue; if(!class_exists($objects[$k][0]->getNameOfClass())) continue;

    if(preg_match("/^get \* from ".$objects[$i][0]->getNameOfClass()." join ".$objects[$k][0]->getNameOfClass().
    " on \(".$objects[$i][0]->getNameOfClass()."\.".$ovars[$i][$j]."\=".$objects[$k][0]->getNameOfClass().
    "\.".$ovars[$k][$l]."\);$/",$query)) {
    for($ii=0; $ii<count($objects[$i]); $ii++) {
    for($ii2=0; $ii2<count($objects[$k]);$ii2++) { if($objects[$i][$ii]->{$ovars[$i][$j]}==$objects[$k][$ii2]->{$ovars[$k][$l]}) { $oobj = $this->objectClassestoarray($objects[$i][$ii], $objects[$k][$ii2]); $outp[]=$oobj;
    }
    }
    }
    $exitf=true;
    }
    }
    }
    }
    }

    for($k=0; $k<count($objects); $k++) {
    if($exitf) break;
    for($l=0; $l<count($ovars[$k]); $l++) {
    if($exitf) break;
    for($l2=0; $l2<count($ovars[$k]); $l2++) {
    if($exitf) break;
    if(!class_exists($objects[$k][0]->getNameOfClass()))
    continue;

    if(preg_match("/^get \* from ".$objects[$k][0]->getNameOfClass()." where ".$ovars[$k][$l]."\=(.*) and ".$ovars[$k][$l2]."\=(.*);$/",$query, $matches)) {
    for($ii2=0;
    $ii2<count($objects[$k]); $ii2++) {

    if($objects[$k][$ii2]->{$ovars[$k][$l]}==$matches[1]&&$objects[$k][$ii2]->{$ovars[$k][$l2]}==$matches[2]) {

    $oobj = (array)$objects[$k][$ii2];

    $outp[]=$oobj;
    }
    }
    $exitf=true;
    }
    }
    }
    }


    for($k=0; $k<count($objects); $k++) {
    if($exitf) break;
    for($l=0; $l<count($ovars[$k]); $l++) {
    if($exitf) break;
    if(!class_exists($objects[$k][0]->getNameOfClass())) continue; if(preg_match("/^get \* from ".$objects[$k][0]->getNameOfClass()." where ".$ovars[$k][$l]."\=(.*);$/",$query, $matches)) {
    for($ii2=0; $ii2<count($objects[$k]); $ii2++) { if($objects[$k][$ii2]->{$ovars[$k][$l]}==$matches[1]) {
    $oobj = (array)$objects[$k][$ii2];
    $outp[]=$oobj;
    }
    }
    $exitf=true;
    }
    }
    }

    if(count($outp)>0) {
    return $outp;
    }


    return $mches;
    }

    }


    findlastmdate.php <==
    <?php

    include("../data.php");

    class Msg extends Dbobj{
    var $text;
    }

    $myd=new Data();

    $myd->loadobjecttables();
    $texists=false;
    $t1=$myd->dtables;

    $mdates=array();

    for($i=0; $i<count($t1);$i++) {
    if($t1[$i][0]->getNameOfClass()=="Msg") {
    $texists=true;
    break;
    }
    }

    if($texists==true) {
    $t2=$mydb->query("get text from Msg;");
    for($i=0; $i<count($t2);$i++) {
    $date12=date("d.m.Y H:i:s", strtotime(substr($t2[$i], 0, 19)));
    $d_start = new DateTime($date12);
    $mdates[]=$d_start;
    }
    echo $mdates[count($mdates)-1]->format('d.m.Y H:i:s');;
    } else {
    echo "";
    }


    func.php <==
    <?php
    function rrmdir($dir) {
    $files = array_diff(scandir($dir), array('.','..'));
    foreach ($files as $file) {
    (is_dir("$dir/$file")) ? rrmdir("$dir/$file") : unlink("$dir/$file");
    }
    return rmdir($dir);
    }

    ilist.php <==
    <?php

    include("../data.php");

    class Msg extends Dobj{
    var $text;
    }

    class Inimene extends Dobj{
    var $name;
    var $time;
    var $dpic;
    }


    $myd=new Data();

    $myd->loadobjecttables();
    $texists=false;
    $t1=$myd->dtables;

    $ilist=array();

    $itidx=-1;
    for($i=0; $i<count($t1);$i++) {
    if($t1[$i][0]->getNameOfClass()=="Inimene") {
    $texists=true;
    $itidx=$i;
    break;
    }
    }

    $newi=array();

    if($itidx>-1) {
    for($i=0; $i<count($t1[$itidx]);$i++) {
    $date12=date("d.m.Y H:i:s", strtotime($t1[$itidx][$i]->time));
    $dtime = new DateTime($date12);

    $datenow=date( 'd.m.Y H:i:s', strtotime( '+3 hour' , strtotime("now") )); $dtimenow = new DateTime($datenow);

    $diff = $dtimenow->getTimestamp() - $dtime->getTimestamp();
    if($diff<60*15) {
    $newi[]=$t1[$itidx][$i];
    } else {
    }
    }
    if(count($newi)==0) {
    unset($t1[$itidx]);
    unlink("Inimene.dat");
    } else {
    $t1[$itidx]=$newi;
    $myd->dtables=$t1;
    $myd->saveobjecttable("Inimene");
    }
    }

    if($texists==true) {
    $t2=$myd->query("get name from Inimene;");
    for($i=0; $i<count($t2);$i++) {
    $ilist[]=$t2[$i];
    }
    } else {

    }

    $result = array_unique($ilist);
    $List = implode(', ', $result);
    if(substr($List,strlen($List)-2, 2)==", ") {
    $List=substr($List, 0, strlen($List)-2);
    }
    echo $List;


    index2.php <==
    <!DOCTYPE html>
    <html>
    <head>
    <link rel="icon" style="width:15px; height=15px; background-color: #76FEFF; color: #76FEFF;"/>

    <style>
    input {
    color: #76FEFF;
    }

    body {
    background-color: #76FEFF;
    }

    .file1 {
    text-decoration: none;
    color: #76FEFF;
    }

    .main1 {
    text-decoration:none;
    color: #76FEFF;
    background-color: white;
    border: 1px solid white;
    border-radius: 5px 5px;
    padding: 5px;
    font-weight:bold;
    width:100px;
    }

    .main2 {
    color: white;
    margin-top:-15px;
    }

    .main3 {
    text-decoration:none;
    color: #76FEFF;
    background-color: white;
    border: 1px solid white;
    border-radius: 5px 5px;
    padding: 5px;
    font-weight:bold;
    width:100px;
    }

    .main4 {
    color: white;
    width: 140px;
    }

    .main5 {
    color: white;
    margin-top:-15px;
    margin-bottom:1px;
    }
    .main6 {
    color: white;
    margin-top:15px;
    width:600px;
    overflow-wrap: break-word;
    }
    .main7 {
    margin-bottom:1px;
    }

    .text1 {
    color: #76FEFF;
    width: 538px;
    height: 29px;
    margin-top:-15px;
    overflow-wrap: break-word;
    }

    textarea {
    color: black;
    }
    form {
    line-height: 1.4;
    }

    .a1 {
    line-height: 1.4;
    width: 561px;
    height: 357px;
    overflow-y: auto;
    overflow-x: hidden;
    background-color: white;
    overflow-wrap: break-word;
    color: #76FEFF;
    }

    .a1 p {
    height:0.001%;
    margin-bottom:-15px;
    }
    .nameslist {
    margin-bottom:15px;
    }
    </style>
    <script>
    function imgError(image) {
    image.onerror = "";
    image.src = "../noimage.jpg";
    image.style="background-color: #848587;";
    image.width="40px";
    image.height="40px";
    return true;
    }
    </script>
    </head>
    <body onload="a00000()">

    <?php

    include("func.php");


    $size = 0;

    $files = glob('uploads/*.*');
    usort($files, function($a, $b) {
    return filemtime($a) < filemtime($b);
    });
    $idx=0;

    $files = array_reverse($files, true);

    if(is_dir("uploads")) {
    foreach($files as $file) {
    if($idx==count($files)-1) break;
    $filesize = filesize($file);
    $size+=$filesize;
    $idx++;
    }
    $idx=0;
    if($size>5000000) {
    foreach($files as $file) {
    if($idx==count($files)-1) break;
    unlink($file);
    $idx++;
    }
    }
    }


    $size = 0;

    $files = glob('dpic/*.*');
    usort($files, function($a, $b) {
    return filemtime($a) < filemtime($b);
    });
    $idx=0;

    $files = array_reverse($files, true);

    if(is_dir("dpic")) {
    foreach($files as $file) {
    if($idx==count($files)-1) break;
    $filesize = filesize($file);
    $size+=$filesize;
    $idx++;
    }
    $idx=0;
    if($size>5000000) {
    foreach($files as $file) {
    if($idx==count($files)-1) break;
    unlink($file);
    $idx++;
    }
    }
    }

    include("../data.php");

    class Password extends Dobj{
    var $content;
    }

    class Msg extends Dobj{
    var $text;
    }

    class Inimene extends Dobj{
    var $name;
    var $time;
    var $dpic;
    }

    class Picture extends Dobj{
    var $name;
    var $time;
    }

    $myd=new Data();

    $myd->loadobjecttables();


    $itime2=$myd->gettime();
    $itime2=date( 'd.m.Y H:i:s', strtotime( '+3 hour' , strtotime($itime2) ) );

    if(!is_dir("uploads")) {
    mkdir("uploads", 0777);
    }

    if(!is_dir("dpic")) {
    mkdir("dpic", 0777);
    }

    $files1 = scandir("uploads");

    if(count($files1)>270) {
    rrmdir("uploads");
    mkdir("uploads", 0777);
    }



    $msg=new Msg();
    $name1 = strip_tags($_POST['text0']);

    if($name1!="") {
    $name1=substr($name1,0, 646);
    }

    $addline=true;

    $tabls=$myd->dtables;

    $time=null;
    $tidx=-1;
    $nooutput=false;
    $oput="";

    $pwd1="";

    if($tabls!=null) {
    for($i=0; $i<count($tabls); $i++) {
    $oc=$tabls[$i][0]->getNameOfClass();
    if ($oc=="Password") {
    $pwd1=$tabls[$i][0]->content;
    }
    }
    }

    $pwdactive=0;
    if($pwd1!="") {

    if($pwd1!=$_GET['code']) exit(0);

    } else {
    $pwdactive=1;
    }


    if($tabls!=null&&(count($tabls)>1)&&$pwdactive==1||$pwdactive==0&&$tabls!=null) {


    $foundtime=false;
    for($i=0; $i<count($tabls); $i++) {
    $oc=$tabls[$i][0]->getNameOfClass();
    if ($oc=="Inimene") {
    $times1=array();
    for($ii=0; $ii<count($tabls[$i]); $ii++) {
    $times1[]=$tabls[$i][$ii]->time;
    }
    $latestt=max(array_map('strtotime', $times1));
    $time=date('d.m.Y H:i:s', $latestt);
    $foundtime=true;
    }
    }
    if($foundtime) {
    $dtimenow = new DateTime($itime2);
    $dtime = new DateTime($time);
    $diff = $dtimenow->getTimestamp() - $dtime->getTimestamp();
    if($diff<1) {
    $nooutput=true;
    }
    }
    if(!$foundtime) {
    $time=$itime2;
    }
    } else {
    $time=$itime2;
    }


    $pic_uploaded=false;

    $newpic1=null;

    if(isset($_POST["submit"])&&$_FILES["fileToUpload"]['error']==0&&$nooutput==false) {
    $target_dir = "uploads/";
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1;
    $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

    if (file_exists($target_file)) {
    $uploadOk = 0;
    }
    if ($_FILES["fileToUpload"]["size"] > 5000000) {
    $uploadOk = 0;
    }
    if($imageFileType=="php") {
    $uploadOk = 0;
    }
    $time1212=time();

    if ($uploadOk == 0) {
    } else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], str_replace('.', $time1212.'.', $target_file))) {
    $pic_uploaded=true;
    } else {
    }
    }


    $newpic=null;
    $tabls0=null;
    if($pic_uploaded==true) {
    $tabls0=$myd->dtables;
    $picstidx=-1;
    if($tabls0!=null) {
    for($i=0; $i<count($tabls0); $i++) {
    $oc0=$tabls0[$i][0]->getNameOfClass();
    if ($oc0=="Picture") {
    $picstidx=$i;
    }
    }
    if($picstidx==-1) {
    $picstidx=count($tabls0);
    $tabls0[]=array();
    }
    } else {
    $tabls0=array();
    $tabls0[]=array();
    $picstidx=0;
    }

    $newpic=new Picture();
    $newpic->name=basename(str_replace('.', $time1212.'.', $_FILES["fileToUpload"]["name"]));
    $newpic->time=$itime2;
    $newpic1=$newpic;
    $tabls0[$picstidx][]=$newpic;
    $myd->dtables=$tabls0;
    $myd->saveobjecttable("Picture");
    }

    }

    $url = isset($_SERVER['HTTPS']) ? 'https://' : 'http://';
    $url .= $_SERVER['SERVER_NAME'];
    $url .= $_SERVER['REQUEST_URI'];
    $info = parse_url($url);
    $info["path"]=dirname($info["path"]);

    $new_url = $info["scheme"]."://".$info["host"];
    //if(!empty($info["query"])) $new_url .= "?".$info["query"]; //$new_url=substr($new_url,0,-1);
    //if(!empty($_SERVER["SERVER_PORT"])) $new_url .=":".$_SERVER["SERVER_PORT"]; //if(!empty($info["fragment"])) $new_url .= "#".$info["fragment"];

    $new_url = str_replace(' ', '', $new_url);

    echo "<a class='main1' href='".$new_url."'>Avalehele</a><p></p>";

    function strip($var) {
    $allowed = '<font>';
    return strip_tags($var, $allowed);
    }

    function closetags ( $html )
    {
    preg_match_all ( "#<([a-z]+)( .*)?(?!/)>#iU", $html, $result );
    $openedtags = $result[1];

    preg_match_all ( "#</([a-z]+)>#iU", $html, $result );
    $closedtags = $result[1];
    $len_opened = count ( $openedtags );

    if( count ( $closedtags ) == $len_opened )
    {
    return $html;
    }
    $openedtags = array_reverse ( $openedtags );

    for( $i = 0; $i < $len_opened; $i++ )
    {
    if ( !in_array ( $openedtags[$i], $closedtags ) )
    {
    $html .= "</" . $openedtags[$i] . ">";
    }
    else
    {
    unset ( $closedtags[array_search ( $openedtags[$i],
    $closedtags)] );
    }
    }
    return $html;
    }



    $ind=array();
    $itidx=-1;
    if($tabls!=null) {
    for($i=0; $i<count($tabls); $i++) {
    $oc=$tabls[$i][0]->getNameOfClass();
    if ($oc=="Inimene") {
    $ind=$tabls[$i];
    $itidx=$i;
    }
    }
    }

    if($ind!=null) {
    if(count($ind)>2499) {
    echo "Topic full(2500).";
    exit(0);
    }
    }

    $itime=$_POST['itime'];

    if($itime==""||$itime==null) {
    $itime=$myd->gettime();
    $itime=date( 'd.m.Y H:i:s', strtotime( '+3 hour' , strtotime($itime) ) ); $time=$itime;
    }

    if($nooutput==false) {

    $currenti=null;
    $iexists=false;

    for($i=0; $i<count($ind); $i++) {
    if($ind[$i]->time==$itime) {
    $currenti=$ind[$i];
    }
    }

    for($i=0; $i<count($ind); $i++) {
    if($ind[$i]->name==$name1) {
    $iexists=true;
    }
    }


    if(count($ind)>0) {
    if($name1!=""&&$currenti==null&&$iexists==false) {
    $curi=new Inimene();
    $curi->name=$name1;
    $curi->time=$itime;
    $ind[]=$curi;
    $tabls[$itidx]=$ind;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Inimene");
    $currenti=$curi;
    } if($name1!=""&&$currenti==null&&$iexists==true) {
    $name1="";
    $addline=false;
    $nooutput=true;
    } else if($name1!=""&&$currenti->name!=""&&$name1!=$currenti->name&&$iexists==false)
    {
    $currenti->name=$name1;
    $currenti->time=$itime2;
    $itime=$itime2;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Inimene");

    } else if($name1!=""&&$currenti->name!=""&&$name1!=$currenti->name&&$iexists==true)
    {
    $name1=$currenti->name;
    $addline=false;
    $nooutput=true;
    } else if($name1!=""&&$currenti->name!=""&&$name1==$currenti->name)
    {
    $currenti->time=$itime2;
    $itime=$itime2;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Inimene");
    } else {
    $addline=false;
    }

    } else {
    if($name1!=""&&$iexists==false&&$currenti!=null) {
    $curi=new Inimene();
    $curi->name=$name1;
    $curi->time=$itime2;
    $itime=$itime2;
    $ind12=array();
    $ind12[]=$curi;
    $tabls[]=$ind12;
    $myd->dtables=$tabls;
    $myd->saveobjecttables();
    $currenti=$curi;

    } if($name1!=""&&$iexists==false&&$currenti==null) {
    $curi=new Inimene();
    $curi->name=$name1;
    $curi->time=$itime2;
    $itime=$curi->time;
    $ind12=array();
    $ind12[]=$curi;
    $tabls[]=$ind12;
    $myd->dtables=$tabls;
    $myd->saveobjecttables();
    $currenti=$curi;
    }
    else if($name1!=""&&$iexists==true) {
    $name1="";
    $addline=false;
    $nooutput=true;
    } else {
    $addline=false;
    $nooutput=true;
    }
    }

    $pic_uploaded2=false;


    if(isset($_POST["submit"])&&$_FILES["fileToUpload2"]['error']==0) {
    $target_dir = "dpic/";
    $target_file = $target_dir . basename($_FILES["fileToUpload2"]["name"]); $uploadOk = 1;
    $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

    if (file_exists($target_file)) {
    $uploadOk = 0;
    }
    if ($_FILES["fileToUpload2"]["size"] > 5000000) {
    $uploadOk = 0;
    } if($imageFileType=="php"||!($imageFileType=="jpg"||$imageFileType=="png"||$imageFileType=="gif"||$imageFileType=="jpeg")) {
    $uploadOk = 0;
    }
    $time1212=time();
    if ($uploadOk == 0) {
    } else {
    if (move_uploaded_file($_FILES["fileToUpload2"]["tmp_name"], str_replace('.', $time1212.'.', $target_file))) {
    chmod(str_replace('.', $time1212.'.', $target_file), 0744); $pic_uploaded2=true;
    } else {
    }
    }

    $newpic2=null;
    $tabls0=null;
    if($pic_uploaded2==true) {
    $tabls0=$myd->dtables;
    $picstidx=-1;
    if($tabls0!=null) {
    for($i=0; $i<count($tabls0); $i++) {
    $oc0=$tabls0[$i][0]->getNameOfClass();
    if ($oc0=="Picture") {
    $picstidx=$i;
    }
    }
    if($picstidx==-1) {
    $picstidx=count($tabls0);
    $tabls0[]=array();
    }
    } else {
    $tabls0=array();
    $tabls0[]=array();
    $picstidx=0;
    }

    $newpic2=new Picture();
    $newpic2->name=basename(str_replace('.', $time1212.'.', $_FILES["fileToUpload2"]["name"]));
    $newpic2->time=$itime2;
    $tabls0[$picstidx][]=$newpic2;
    $myd->dtables=$tabls0;
    $myd->saveobjecttable("Picture");
    $currenti->dpic=$newpic2->name;

    $tabls0=$myd->dtables;
    $itidx2=-1;
    if($tabls0!=null) {
    for($i=0; $i<count($tabls0); $i++) {
    $oc0=$tabls0[$i][0]->getNameOfClass();
    if ($oc0=="Inimene") {
    $itidx2=$i;
    }
    }
    }

    for($i=0; $i<count($tabls0[$itidx2]); $i++) { if($tabls0[$itidx2][$i]->name==$currenti->name&&$tabls0[$itidx2][$i]->time==$currenti->time) {
    $myd->dtables=$tabls0;
    $myd->saveobjecttable("Inimene");
    }
    }


    }

    }


    $msg1=strip($_POST['text1']);
    $msg1 = preg_replace('#<script(.*?)>(.*?)</script>#is', '', $msg1); $msg12=$msg1;

    if($currenti->dpic!=""||$currenti->dpic!=null) {
    $msg->text=$itime2." ".$name1." <img src='dpic/".$currenti->dpic."' onerror='imgError(this);' style='width: 50px;' > : ".$msg1;
    } else {
    $msg->text=$itime2." ".$name1." : ".$msg1;
    }
    $msg->text=substr($msg->text,0, 216345);
    $msg->text=closetags($msg->text);
    $texists=false;
    $msgtidx=0;

    $t1=$myd->dtables;


    for($i=0; $i<count($t1);$i++) {
    if($t1[$i][0]->getNameOfClass()=="Msg") {
    $msgtidx=$i;
    $texists=true;
    if(count($t1[$i])>165) {
    $arr12 = array_slice($t1[$i], -165);
    $t1[$i]=$arr12;
    $myd->dtables=$t1;
    $myd->saveobjecttable("Msg");
    break;
    }
    break;
    }
    }
    $tabls=$myd->dtables;


    if(!empty($_POST['text1'])&&$addline==true) {
    if (strlen(trim($msg1)) != 0&&$pic_uploaded==true) {
    if($texists==false) {
    $aone=array();
    $ftype = strtolower(pathinfo("uploads/".$newpic1->name,PATHINFO_EXTENSION)); if($ftype=="jpg"||$ftype=="png"||$ftype=="jpeg"||$ftype=="gif") {

    $imgsize = getimagesize("uploads/".$newpic1->name);
    $width=$imgsize[0];
    $height=$imgsize[1];
    if($width>450) {
    //$multip=$width/250;
    $width=450;
    //$height=$height/$multip;
    }
    $msg->text.="<p></p><img src='uploads/".$newpic1->name."' onerror='imgError(this);' style='width: ".$width."px;' >";
    } else {
    $msg->text.="<p></p><a class='file1' href='uploads/".$newpic1->name."'>File: ".$newpic1->name."</a>";
    }
    $aone[]=$msg;
    $tabls[]=$aone;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Msg");
    } else {
    $ftype = strtolower(pathinfo("uploads/".$newpic1->name,PATHINFO_EXTENSION)); if($ftype=="jpg"||$ftype=="png"||$ftype=="jpeg"||$ftype=="gif") {
    $imgsize = getimagesize("uploads/".$newpic1->name);
    $width=$imgsize[0];
    $height=$imgsize[1];
    if($width>450) {
    //$multip=$width/250;
    $width=450;
    //$height=$height/$multip;
    }
    $msg->text.="<p></p><img src='uploads/".$newpic1->name."' onerror='imgError(this);' style='width: ".$width."px;'/>";
    } else {
    $msg->text.="<p></p><a class='file1' href='uploads/".$newpic1->name."'>File: ".$newpic1->name."</a>";
    }

    $tabls[$msgtidx][]=$msg;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Msg");
    }
    } else if (strlen(trim($msg1)) != 0&&$pic_uploaded==false) { if($texists==false) {
    $aone=array();
    $aone[]=$msg;
    $tabls[]=$aone;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Msg");
    } else {
    $tabls[$msgtidx][]=$msg;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Msg");
    }
    }
    $t2=$myd->query("get text from Msg;");
    for($i=0; $i<count($t2);$i++) {
    $oput.=$t2[$i]."<p></p>";
    }
    } else {
    if($texists==true) {
    $t2=$myd->query("get text from Msg;");
    for($i=0; $i<count($t2);$i++) {
    $oput.=$t2[$i]."<p></p>";
    }
    }
    }

    }


    <div class="a1" spellcheck="false">
    <?php echo $oput;

    </div>
    <p></p>
    <form method="POST" enctype="multipart/form-data">
    <input name="itime" id="itime" type="hidden" value="<?php echo $itime; ?>"/>
    <p class="main2">Nimi: <input name="text0" id="text0" type="text"
    style="width: 114px;" value="<?php echo $name1; ?>"> </p>
    <p class="main2">Sõnum:</p>
    <textarea class="text1" name="text1" id="text1" type="text">
    <?php
    if($nooutput==true) {
    echo $msg12;
    }

    </textarea>
    <p></p>
    <p class="main5">Pilt või muud tüüpi fail (kuni 5 mb'd):</p>
    <input type="file" class="main4" name="fileToUpload" id="fileToUpload"/> <p></p>
    <p></p>
    <p></p>
    <p class="main5">Mini pilt (kuni 5 mb'd):</p>
    <input type="file" class="main4" name="fileToUpload2" id="fileToUpload2"/>

    <input type="submit" name="submit" class="main3" value="Saada"/>
    </form>

    <p></p>
    <p class="main2">Aktiivsed:</p>
    <div class="main2" id="ilist">
    </div>
    <script>

    function nl2br (str, is_xhtml) {
    if (typeof str === 'undefined' || str === null) {
    return '';
    }
    var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />'
    : '<br>';
    return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' +
    breakTag + '$2');
    }

    if (!String.prototype.unescapeHTML) {
    String.prototype.unescapeHTML = function() {
    return this.replace(/&[#\w]+;/g, function (s) {
    var entityMap = {
    "&amp;": "&",
    "&lt;": "<",
    "&gt;": ">",
    '&quot;': '"',
    '&#39;': "'",
    '&#x2F;': "/",
    '&nbsp;': " "
    };

    return entityMap[s];
    });
    };
    }

    var prevr="";
    var r0="";

    function renewing() {
    var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == XMLHttpRequest.DONE) {
    if (xmlhttp.status == 200) {
    xmlhttp.responseText=nl2br(xmlhttp.responseText);
    var a111=xmlhttp.responseText;
    r0=a111;
    a111=a111.unescapeHTML();
    document.getElementsByClassName("a1")[0].innerHTML = a111;
    }
    else if (xmlhttp.status == 400) {
    alert('Error 400');
    }
    else {
    alert('Not 200 returned');
    }
    }
    };
    var d765=new Date();
    xmlhttp.open("GET", "renewing.php?d="+d765, false); xmlhttp.setRequestHeader('Cache-Control', 'no-cache');
    xmlhttp.send();
    if(prevr!=r0) {
    a00000();
    }
    prevr=r0;

    }

    function renewingilist() {
    var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == XMLHttpRequest.DONE) {
    if (xmlhttp.status == 200) {
    document.getElementById("ilist").innerHTML = xmlhttp.responseText;
    }
    else if (xmlhttp.status == 400) {
    alert('Error 400');
    }
    else {
    alert('Not 200 returned');
    }
    }
    };
    var d765=new Date();
    xmlhttp.open("GET", "ilist.php?d="+d765, false); xmlhttp.setRequestHeader('Cache-Control', 'no-cache');
    xmlhttp.send();
    }


    function a00000() {
    var textarea = document.getElementsByClassName("a1")[0];
    textarea.scrollTop = 50000000;
    }

    setInterval(function(){
    renewing();
    }, 1578);

    setInterval(function(){
    renewingilist();
    }, 3953);


    setInterval(function(){

    var namearea = document.getElementById("text0");
    var isFocused = (document.activeElement === namearea);
    if(isFocused) {
    } else {
    document.getElementById('text1').focus();
    }
    }, 6871);

    </script>
    </body>

    </html>
    index.php <==
    <!DOCTYPE html>
    <html>
    <head>
    <title> ☻☻☻☻☻☻☻☻♣♣♣♣♣♣♣♣♣♣♣♣░▒░▒▓██ T h e &nbsp;&nbsp;&nbsp;&nbsp; b e s t &nbsp;&nbsp;&nbsp;&nbsp; c h
    a t t i n g &nbsp;&nbsp;&nbsp;&nbsp; p l a c e &nbsp;&nbsp;&nbsp;&nbsp; i n &nbsp;&nbsp;&nbsp;&nbsp; t h e &nbsp;&nbsp;&nbsp;&nbsp; w o r l d ██▓▒░░☻☻☻☻☻☻☻☻♣♣â™
    £â™£â™£â™£â™£â™£â™£â™£â™£â™£
    </title>
    <link rel="icon" style="width:15px; height=15px; background-color: #76FEFF; color: #76FEFF;"/>
    <style>
    input {
    color: #76FEFF;
    }

    body {
    background-color: lightgreen;
    }

    .main12 {
    text-decoration:none;
    color: #76FEFF;
    font-weight: bold;
    background-color: white;
    border: 1px solid white;
    border-radius: 10px 10px;
    padding: 5px;
    width: 400px;
    font-weight:bold;
    }
    .main1 {
    text-decoration:none;
    color: white;
    border-radius: 5px 5px;
    padding: 5px;
    font-weight:bold;
    width:625px;
    }

    .main12 {
    text-decoration:none;
    color: #76FEFF;
    border-radius: 5px 5px;
    padding: 5px;
    font-weight:bold;
    vertical-align: middle;
    width:825px;
    margin-top: -3px;
    }

    .main2 {
    color: white;
    margin-top: -20px;

    }

    .main3 {
    text-decoration:none;
    color: #76FEFF;
    font-weight: bold;
    background-color: white;
    border: 1px solid white;
    border-radius: 5px 5px;
    padding: 5px;
    font-weight:bold;
    width:100px;
    display:block;

    }

    .w1 {
    color: white;
    }
    .w2 {
    color: white;
    display:inline-block;
    }
    .pwd {
    color: #76FEFF;
    display:inline-block;
    }

    .w21 {
    color: white;
    display:block;
    }

    </style>
    </head>
    <body>
    <h1 class="main12" style="line-height: 35px;">☻☻☻☻☻☻☻☻ Meeting place ☻☻☻☻☻☻☻☻☻</h1>
    <h1 class="main1">
    </h1>

    <?php

    include("func.php");
    include("data.php");

    class Password extends Dobj{
    var $content;
    }


    $dirs = array_filter(glob('*'), 'is_dir');

    $cannotcreate=false;


    if(count($dirs)>60) {
    $cannotcreate=true;
    }


    if(!empty($_POST['rname'])&&($_POST['rname']!=" ")&&!empty($_POST['rname'])&$cannotcreate==false) {
    $_POST['rname'] = strip_tags($_POST['rname']);
    $_POST['rname'] = str_replace(' ', 'space21326', $_POST['rname']); $_POST['rname'] = str_replace(',', 'comma21326', $_POST['rname']); $_POST['rname'] = str_replace('?', 'q21326', $_POST['rname']);

    mkdir($_POST['rname'], 0755);


    if(!empty($_POST['password'])&&$_POST['password']!="") {
    $myd=new Data();
    $tabls=array();
    $pwd1=new Password();
    $pwd1->content=$_POST['password'];
    $pwdt=array();
    $pwdt[]=$pwd1;
    $tabls[]=$pwdt;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Password");


    $file = 'Password.dat';
    $newfile = 'Password.dat';
    if (!copy($file, $_POST['rname'].'/'.$newfile)) {
    echo "Error\n";
    }
    chmod($_POST['rname'].'/'.$newfile, 0700);


    unlink("Password.dat");
    }


    $file = 'index2.php';
    $newfile = 'index.php';
    if (!copy($file, $_POST['rname'].'/'.$newfile)) {
    echo "Error\n";
    }
    chmod($_POST['rname'].'/'.$newfile, 0744);

    $file = 'renewing.php';
    $newfile = 'renewing.php';

    if (!copy($file, $_POST['rname'].'/'.$newfile)) {
    echo "Error\n";
    }

    chmod($_POST['rname'].'/'.$newfile, 0744);

    $file = 'ilist.php';
    $newfile = 'ilist.php';

    if (!copy($file, $_POST['rname'].'/'.$newfile)) {
    echo "Error\n";
    }

    chmod($_POST['rname'].'/'.$newfile, 0744);

    $file = 'findlastmdate.php';
    $newfile = 'findlastmdate.php';

    if (!copy($file, $_POST['rname'].'/'.$newfile)) {
    echo "Error\n";
    }

    chmod($_POST['rname'].'/'.$newfile, 0744);

    $file = 'func.php';
    $newfile = 'func.php';

    if (!copy($file, $_POST['rname'].'/'.$newfile)) {
    echo "Error\n";
    }

    chmod($_POST['rname'].'/'.$newfile, 0744);

    }

    $dirs = array_filter(glob('*'), 'is_dir');

    if(count($dirs)>0) {
    echo "<h2 class='main2'>Teemad</h2>";
    }

    $dirs = array_filter(glob('*'), 'is_dir');

    foreach ($dirs as $file) {
    $file2= str_replace('space21326', '&nbsp;', $file);
    $file2= str_replace('comma21326', ',', $file2);
    $file2= str_replace('q21326', '?', $file2);
    if($file=="files") continue;

    $dir1='//'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
    $output = file_get_contents('http:'.$dir1.$file.'/findlastmdate.php'); if($output!="") {
    $date12=date("d.m.Y H:i:s", strtotime($output));
    $d_start = new DateTime($date12);
    $currentdate = date('d.m.Y H:i:s', time());
    $d_end = new DateTime($currentdate);
    $diff = $d_start->diff($d_end);
    $delete1=false; if(!($diff->format('%d')<1000||$diff->format('%d')==1000&&$diff->format('%h')<1))
    $delete1=true;
    if($delete1) {
    rrmdir('/'.$file);
    continue;
    }
    }
    echo '<a class="main12" href=\'http:'.$dir1.$file.'\'>'.$file2.'</a>';
    echo "<p></p>";
    $path_parts = pathinfo($file.'/Msg.dat'); if(!class_exists($path_parts['filename'])) {
    continue;
    }
    }



    <p style="height:50px;"> </p>

    <form method="POST">
    <p class="w2">
    Teema:

    <input name="rname"/>
    <p class="w21">
    Parool(kui ei soovi parooli, jäta tühjaks):

    <input class="pwd" name="password" type="password"/>
    <p class="w">

    <input type="submit" class="main3" value="Loo"/>
    </form>
    <p class="w1" style="color: #j3k4f8; font-weight: bold;">
    Kui on lisatud parool, siis saab sellele ruumile ligi ainult nii, et aadressi lõpp on /index.php?code=Kood</p>
    <p class="w1" style="color: #j3k4f8; font-weight: bold;">Tähelepanu: palun üritage olla viisakad..</p>
    <p></p>
    <p></p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p class="w1"></p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p class="w1" style="color: #j3k4f8; font-weight: bold;">

    </body>
    </html>
    renewing.php <==
    <?php

    include("../data.php");

    class Msg extends Dobj{
    var $text;
    }

    $myd=new Data();

    $myd->loadobjecttables();
    $texists=false;
    $t1=$myd->dtables;
    for($i=0; $i<count($t1);$i++) {
    if($t1[$i][0]->getNameOfClass()=="Msg") {
    $texists=true;
    break;
    }
    }

    if($texists==true) {
    $t2=$myd->query("get text from Msg;");
    for($i=0; $i<count($t2);$i++) {
    echo $t2[$i]."<p></p>";
    }
    } else {

    }




    Kristjan Robam

    Telephone number: 372 6861327
    E-mail: ya12983 @@@@@@ mail . com

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Angel@21:1/5 to All on Tue Jun 28 08:02:38 2022
    Newer files:

    https://groups.google.com/g/comp.lang.php/c/NsfnM3mtAyg


    *******************************
    ☏: 372 5 3 9 0 0 6 6 0
    E-mail: he1983912[@]mail.ee

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From "I don't know@21:1/5 to All on Sun Oct 16 10:36:56 2022
    a.php
    <html>
    <head>
    <link rel="icon" style="width:15px; height=15px; background-color: #76FEFF; color: #76FEFF;"/>

    <style>
    input {
    color: #76FEFF;
    }

    body {
    /*
    background-image: url("img.jpg");

    background-repeat: repeat;
    background-size: 100%;
    */

    background-color: #76FEFF;

    }

    .main12 {
    text-decoration:none;
    color: #76FEFF;
    font-weight: bold;
    background-color: white;
    border: 1px solid white;
    border-radius: 10px 10px;
    padding: 5px;
    font-weight:bold;
    }
    .main1 {
    text-decoration:none;
    color: white;
    border-radius: 5px 5px;
    padding: 5px;
    font-weight:bold;
    width:775px;
    }

    .main12 {
    text-decoration:none;
    color: #76FEFF;
    border-radius: 5px 5px;
    padding: 5px;
    font-weight:bold;
    vertical-align: middle;
    width:535px;
    }

    .main2 {
    color: white;
    }

    .main3 {
    text-decoration:none;
    color: #76FEFF;
    font-weight: bold;
    background-color: white;
    border: 1px solid white;
    border-radius: 5px 5px;
    padding: 5px;
    font-weight:bold;
    width:100px;
    display:block;

    }

    .w1 {
    color: white;
    }
    .w2 {
    color: white;
    display:inline-block;
    }
    .pwd {
    color: #76FEFF;
    display:inline-block;
    }

    .w21 {
    color: white;
    display:block;
    }

    </style>
    </head>
    <body>
    <h1 class="main1">
    </h1>
    <h1 class="main12" style="line-height: 45px;">W e l c o m e . T e r e t u l e m a s t .</h1>
    <h1 class="main1">
    </h1>

    <?php

    include("func.php");
    include("data.php");

    class Password extends Dobj{
    var $content;
    }


    $dirs = array_filter(glob('*'), 'is_dir');

    $cannotcreate=false;


    if(count($dirs)>60) {
    $cannotcreate=true;
    }


    if(!empty($_POST['rname'])&&($_POST['rname']!=" ")&&!empty($_POST['rname'])&$cannotcreate==false) {
    $_POST['rname'] = strip_tags($_POST['rname']); $_POST['rname']=substr($_POST['rname'],0, 100);
    $_POST['rname'] = str_replace(' ', 'space21326', $_POST['rname']); $_POST['rname'] = str_replace(',', 'comma21326', $_POST['rname']); $_POST['rname'] = str_replace('?', 'q21326', $_POST['rname']);
    $_POST['rname'] = str_replace('\'', 'ukom21326', $_POST['rname']); mkdir($_POST['rname'], 0755);


    if(!empty($_POST['password'])&&$_POST['password']!="") {
    $myd=new Data();
    $tabls=array();
    $pwd1=new Password();
    $pwd1->content=$_POST['password'];
    $pwdt=array();
    $pwdt[]=$pwd1;
    $tabls[]=$pwdt;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Password");


    $file = 'Password.dat';
    $newfile = 'Password.dat';
    if (!copy($file, $_POST['rname'].'/'.$newfile)) {
    echo "Error\n";
    }
    chmod($_POST['rname'].'/'.$newfile, 0700);


    unlink("Password.dat");
    }


    $file = 'a2.php';
    $newfile = 'a.php';
    if (!copy($file, $_POST['rname'].'/'.$newfile)) {
    echo "Error\n";
    }
    chmod($_POST['rname'].'/'.$newfile, 0744);

    $file = 'renewing.php';
    $newfile = 'renewing.php';

    if (!copy($file, $_POST['rname'].'/'.$newfile)) {
    echo "Error\n";
    }

    chmod($_POST['rname'].'/'.$newfile, 0744);

    $file = 'ilist.php';
    $newfile = 'ilist.php';

    if (!copy($file, $_POST['rname'].'/'.$newfile)) {
    echo "Error\n";
    }

    chmod($_POST['rname'].'/'.$newfile, 0744);

    $file = 'findlastmdate.php';
    $newfile = 'findlastmdate.php';

    if (!copy($file, $_POST['rname'].'/'.$newfile)) {
    echo "Error\n";
    }

    chmod($_POST['rname'].'/'.$newfile, 0744);

    $file = 'func.php';
    $newfile = 'func.php';

    if (!copy($file, $_POST['rname'].'/'.$newfile)) {
    echo "Error\n";
    }

    chmod($_POST['rname'].'/'.$newfile, 0744);

    }

    $dirs = array_filter(glob('*'), 'is_dir');

    if(count($dirs)>0) {
    echo "<h2 class='main2'>Topics</h2>";
    }

    $dirs = array_filter(glob('*'), 'is_dir');

    foreach ($dirs as $file) {
    $file2= str_replace('space21326', '&nbsp;', $file);
    $file2= str_replace('comma21326', ',', $file2);
    $file2= str_replace('q21326', '?', $file2);
    $file2= str_replace('ukom21326', '\'', $file2);
    if($file=="theclickgame") continue;

    $dir1='//'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
    $output = file_get_contents('http:'.$dir1.$file.'/findlastmdate.php'); if($output!="") {
    $date12=date("d.m.Y H:i:s", strtotime($output));
    $d_start = new DateTime($date12);
    $currentdate = date('d.m.Y H:i:s', time());
    $d_end = new DateTime($currentdate);
    $diff = $d_start->diff($d_end);
    $delete1=false; if(!($diff->format('%d')<1000||$diff->format('%d')==1000&&$diff->format('%h')<1))
    $delete1=true;
    if($delete1) {
    rrmdir('/'.$file);
    continue;
    }
    }
    echo '<a class="main12" href=\'http:'.$dir1.$file.'/a.php\'>'.$file2.'</a>'; echo "<p></p>";
    $path_parts = pathinfo($file.'/Msg.dat'); if(!class_exists($path_parts['filename'])) {
    continue;
    }
    }



    <p style="height:50px;"> </p>

    <form method="POST">
    <p class="w2">
    Topic:

    <input name="rname"/>
    <p class="w">

    <input type="submit" class="main3" value="Create"/>
    </form>
    <p></p>
    <p></p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>
    <p>&nbsp;</p>

    </body>
    </html>
    a2.php
    <html>
    <head>
    <link rel="icon" style="width:15px; height=15px; background-color: #76FEFF; color: #76FEFF;"/>

    <style>
    input {
    color: #76FEFF;
    }

    body {
    background-color: #76FEFF;
    }

    .file1 {
    text-decoration: none;
    color: #76FEFF;
    }

    .main1 {
    text-decoration:none;
    color: #76FEFF;
    background-color: white;
    border: 1px solid white;
    border-radius: 5px 5px;
    padding: 5px;
    font-weight:bold;
    width:100px;
    }

    .main2 {
    color: white;
    margin-top:-15px;
    }

    .main3 {
    text-decoration:none;
    color: #76FEFF;
    background-color: white;
    border: 1px solid white;
    border-radius: 5px 5px;
    padding: 5px;
    font-weight:bold;
    width:100px;
    }

    .main4 {
    color: white;
    width: 140px;
    }

    .main5 {
    color: white;
    margin-top:-15px;
    margin-bottom:1px;
    }
    .main6 {
    color: white;
    margin-top:15px;
    width:600px;
    overflow-wrap: break-word;
    }
    .main7 {
    margin-bottom:1px;
    }

    .text1 {
    color: #76FEFF;
    width: 538px;
    height: 29px;
    margin-top:-15px;
    overflow-wrap: break-word;
    }

    textarea {
    color: black;
    }
    form {
    line-height: 1.4;
    }

    .a1 {
    line-height: 1.4;
    width: 561px;
    height: 357px;
    overflow-y: auto;
    overflow-x: hidden;
    background-color: white;
    overflow-wrap: break-word;
    color: #76FEFF;
    }

    .a1 p {
    height:0.001%;
    margin-bottom:-15px;
    }
    .nameslist {
    margin-bottom:15px;
    }
    </style>
    <script>
    function imgError(image) {
    image.onerror = "";
    image.src = "../noimage.jpg";
    image.style="background-color: #848587;";
    image.width="40px";
    image.height="40px";
    return true;
    }
    </script>
    </head>
    <body onload="a00000()">

    <?php

    if(empty($_POST)) {

    $_POST['text0']="";
    $_POST['myname']="";
    $_POST['text1']="";


    }

    include("func.php");


    $size = 0;

    $files = glob('uploads/*.*');
    usort($files, function($a, $b) {
    $a=filemtime($a) < filemtime($b);
    if($a==true) $a=1; else $a=0;
    return $a;

    });
    $idx=0;

    $files = array_reverse($files, true);

    if(is_dir("uploads")) {
    foreach($files as $file) {
    if($idx==count($files)-1) break;
    $filesize = filesize($file);
    $size+=$filesize;
    $idx++;
    }
    $idx=0;
    if($size>5000000) {
    foreach($files as $file) {
    if($idx==count($files)-1) break;
    unlink($file);
    $idx++;
    }
    }
    }


    $size = 0;

    $files = glob('dpic/*.*');
    usort($files, function($a, $b) {
    $a=filemtime($a) < filemtime($b);
    if($a==true) $a=1; else $a=0;
    return $a;
    });
    $idx=0;

    $files = array_reverse($files, true);

    if(is_dir("dpic")) {
    foreach($files as $file) {
    if($idx==count($files)-1) break;
    $filesize = filesize($file);
    $size+=$filesize;
    $idx++;
    }
    $idx=0;
    if($size>5000000) {
    foreach($files as $file) {
    if($idx==count($files)-1) break;
    unlink($file);
    $idx++;
    }
    }
    }

    include("../data.php");

    class Password extends Dobj{
    var $content;
    }


    class Msg extends Dobj{
    var $text;
    var $messagenumber;
    }

    class Inimene extends Dobj{
    var $name;
    var $time;
    var $dpic;
    var $inr;
    }

    class Picture extends Dobj{
    var $name;
    var $time;
    }

    $myd=new Data();

    $myd->loadobjecttables();


    $itime2=$myd->gettime();
    $itime2=date( 'd.m.Y H:i:s', strtotime( '+3 hour' , strtotime($itime2) ) );

    if(!is_dir("uploads")) {
    mkdir("uploads", 0777);
    }

    if(!is_dir("dpic")) {
    mkdir("dpic", 0777);
    }

    $files1 = scandir("uploads");

    if(count($files1)>270) {
    rrmdir("uploads");
    mkdir("uploads", 0777);
    }



    $msg=new Msg();
    $name1 = strip_tags($_POST['text0']);

    if($name1!="") {
    $name1=substr($name1,0, 646);
    }

    $addline=true;

    $tabls=$myd->dtables;

    $time=null;
    $tidx=-1;
    $nooutput=false;
    $oput="";

    $pwd1="";


    if($tabls!=null) {
    for($i=0; $i<count($tabls); $i++) {
    $oc=$tabls[$i][0]->getNameOfClass();
    if ($oc=="Password") {
    $pwd1=$tabls[$i][0]->content;
    }
    }
    }

    $pwdactive=0;
    if($pwd1!="") {

    $pwdactive=1;

    if($pwd1!=$_GET['code']) exit(0);

    }


    $pic_uploaded=false;

    $newpic1=null;

    if(isset($_POST["submit"])&&$_FILES["fileToUpload"]['error']==0) {

    $target_dir = "uploads/";
    $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]); $uploadOk = 1;
    $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

    if (file_exists($target_file)) {
    $uploadOk = 0;
    }
    if ($_FILES["fileToUpload"]["size"] > 5000000) {
    $uploadOk = 0;
    }
    if($imageFileType=="php") {
    $uploadOk = 0;
    }
    $time1212=time();

    if ($uploadOk == 0) {
    } else {
    if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], str_replace('.', $time1212.'.', $target_file))) {
    $pic_uploaded=true;
    } else {
    }
    }


    $newpic=null;
    $tabls0=null;
    if($pic_uploaded==true) {
    $tabls0=$myd->dtables;
    $picstidx=-1;
    if($tabls0!=null) {
    for($i=0; $i<count($tabls0); $i++) {
    $oc0=$tabls0[$i][0]->getNameOfClass();
    if ($oc0=="Picture") {
    $picstidx=$i;
    }
    }
    if($picstidx==-1) {
    $picstidx=count($tabls0);
    $tabls0[]=array();
    }
    } else {
    $tabls0=array();
    $tabls0[]=array();
    $picstidx=0;
    }

    $newpic=new Picture();
    $newpic->name=basename(str_replace('.', $time1212.'.', $_FILES["fileToUpload"]["name"]));
    $newpic->time=$itime2;
    $newpic1=$newpic;
    $tabls0[$picstidx][]=$newpic;
    $myd->dtables=$tabls0;
    $myd->saveobjecttable("Picture");
    }

    }


    $url = isset($_SERVER['HTTPS']) ? 'https://' : 'http://';
    $url .= $_SERVER['SERVER_NAME'];
    $url .= $_SERVER['REQUEST_URI'];
    $info = parse_url($url);
    $info["path"]=dirname($info["path"]);

    $new_url = $info["scheme"]."://".$info["host"];

    $new_url = str_replace(' ', '', $new_url);

    echo "<a class='main1' href='".$new_url."/a.php'>Avalehele</a><p></p>";

    function strip($var) {
    $allowed = '<font>';
    return strip_tags($var, $allowed);
    }

    function closetags ( $html )
    {
    preg_match_all ( "#<([a-z]+)( .*)?(?!/)>#iU", $html, $result );
    $openedtags = $result[1];

    preg_match_all ( "#</([a-z]+)>#iU", $html, $result );
    $closedtags = $result[1];
    $len_opened = count ( $openedtags );

    if( count ( $closedtags ) == $len_opened )
    {
    return $html;
    }
    $openedtags = array_reverse ( $openedtags );

    for( $i = 0; $i < $len_opened; $i++ )
    {
    if ( !in_array ( $openedtags[$i], $closedtags ) )
    {
    $html .= "</" . $openedtags[$i] . ">";
    }
    else
    {
    unset ( $closedtags[array_search ( $openedtags[$i],
    $closedtags)] );
    }
    }
    return $html;
    }


    $ind=array();
    $itidx=-1;
    if($tabls!=null) {
    for($i=0; $i<count($tabls); $i++) {
    $oc=$tabls[$i][0]->getNameOfClass();
    if ($oc=="Inimene") {
    $ind=$tabls[$i];
    $itidx=$i;
    }
    }
    }



    if($ind!=null) {
    if(count($ind)>2499) {
    echo "Topic full(2500).";
    exit(0);
    }
    }

    $iexists=false;
    $currenti=null;
    for($i=0; $i<count($ind); $i++) {
    if($ind[$i]->name==$name1) {
    $iexists=true;
    $currenti=$ind[$i];
    }
    }


    $havewritten=false;



    $myname = strip_tags($_POST['myname']);


    if($myname!="") {
    $myname=substr($myname,0, 646);
    }

    if($myname!="") {
    $havewritten=true;
    }

    if(count($ind)>0) {

    if($name1!=""&&$havewritten==false&&$iexists==false) {
    $curi=new Inimene();
    $curi->name=$name1;
    $myname=$name1;
    $curi->time=$itime2;
    $ind[]=$curi;
    $tabls[$itidx]=$ind;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Inimene");
    $currenti=$curi;
    } else if($name1!=""&&$havewritten==true&&$iexists==false) {
    for($i=0; $i<count($ind); $i++) {
    if($ind[$i]->name==$myname) {
    $currenti=$ind[$i];
    }
    }
    $currenti->name=$name1;
    $myname=$name1;
    $currenti->time=$itime2;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Inimene");

    }
    else if($name1!=""&&$currenti->name==$name1&&$iexists==true) { $currenti->time=$itime2;
    $itime=$itime2;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Inimene");
    }

    } else {

    if($name1!=""&&$iexists==false) {
    $curi=new Inimene();
    $curi->name=$name1;
    $curi->time=$itime2;
    $myname=$name1;
    $ind12=array();
    $ind12[]=$curi;
    $tabls[]=$ind12;
    $myd->dtables=$tabls;
    $myd->saveobjecttables();
    $currenti=$curi;
    }
    else if($name1!=""&&$iexists==true) {
    echo "User exists.";
    exit(0);
    }
    }

    $pic_uploaded2=false;


    if(isset($_POST["submit"])&&$_FILES["fileToUpload2"]['error']==0) {

    $target_dir = "dpic/";
    $target_file = $target_dir . basename($_FILES["fileToUpload2"]["name"]); $uploadOk = 1;
    $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

    if (file_exists($target_file)) {
    $uploadOk = 0;
    }
    if ($_FILES["fileToUpload2"]["size"] > 5000000) {
    $uploadOk = 0;
    } if($imageFileType=="php"||!($imageFileType=="jpg"||$imageFileType=="png"||$imageFileType=="gif"||$imageFileType=="jpeg")) {
    $uploadOk = 0;
    }
    $time1212=time();
    if ($uploadOk == 0) {
    } else {
    if (move_uploaded_file($_FILES["fileToUpload2"]["tmp_name"], str_replace('.', $time1212.'.', $target_file))) {
    chmod(str_replace('.', $time1212.'.', $target_file), 0744); $pic_uploaded2=true;
    }
    }

    $newpic2=null;
    $tabls0=null;
    if($pic_uploaded2==true) {
    $tabls0=$myd->dtables;
    $picstidx=-1;
    if($tabls0!=null) {
    for($i=0; $i<count($tabls0); $i++) {
    $oc0=$tabls0[$i][0]->getNameOfClass();
    if ($oc0=="Picture") {
    $picstidx=$i;
    }
    }
    if($picstidx==-1) {
    $picstidx=count($tabls0);
    $tabls0[]=array();
    }
    } else {
    $tabls0=array();
    $tabls0[]=array();
    $picstidx=0;
    }

    $newpic2=new Picture();
    $newpic2->name=basename(str_replace('.', $time1212.'.', $_FILES["fileToUpload2"]["name"]));
    $newpic2->time=$itime2;
    $tabls0[$picstidx][]=$newpic2;
    $myd->dtables=$tabls0;
    $myd->saveobjecttable("Picture");
    $currenti->dpic=$newpic2->name;
    $myd->saveobjecttable("Inimene");

    }
    }


    $msg1=strip($_POST['text1']);
    $msg1 = preg_replace('#<script(.*?)>(.*?)</script>#is', '', $msg1); $msg12=$msg1;

    if($currenti!=null&&($currenti->dpic!=""||$currenti->dpic!=null)) { $msg->text=$itime2." ".$name1." <img src='dpic/".$currenti->dpic."' onerror='imgError(this);' style='width: 50px;' > : ".$msg1;
    } else {
    $msg->text=$itime2." ".$name1." : ".$msg1;
    }
    $msg->text=substr($msg->text,0, 216345);
    $msg->text=closetags($msg->text);

    $texists=false;
    $msgtidx=0;

    $t1=$myd->dtables;


    for($i=0; $i<count($t1);$i++) {
    if($t1[$i][0]->getNameOfClass()=="Msg") {
    $msgtidx=$i;
    $texists=true;
    if(count($t1[$i])>165) {
    $arr12 = array_slice($t1[$i], -165);
    $t1[$i]=$arr12;
    $myd->dtables=$t1;
    $myd->saveobjecttable("Msg");
    break;
    }
    break;
    }
    }
    $tabls=$myd->dtables;


    if(!empty($_POST['text1'])&&$addline==true) {
    if (strlen(trim($msg1)) != 0&&$pic_uploaded==true) {
    if($texists==false) {
    $aone=array();
    $ftype = strtolower(pathinfo("uploads/".$newpic1->name,PATHINFO_EXTENSION)); if($ftype=="jpg"||$ftype=="png"||$ftype=="jpeg"||$ftype=="gif") {

    $imgsize = getimagesize("uploads/".$newpic1->name);
    $width=$imgsize[0];
    $height=$imgsize[1];
    if($width>450) {
    $width=450;
    }
    $msg->text.="<p></p><img src='uploads/".$newpic1->name."' onerror='imgError(this);' style='width: ".$width."px;' >";
    } else {
    $msg->text.="<p></p><a class='file1' href='uploads/".$newpic1->name."'>File: ".$newpic1->name."</a>";
    }
    $aone[]=$msg;
    $tabls[]=$aone;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Msg");
    } else {
    $ftype = strtolower(pathinfo("uploads/".$newpic1->name,PATHINFO_EXTENSION)); if($ftype=="jpg"||$ftype=="png"||$ftype=="jpeg"||$ftype=="gif") {
    $imgsize = getimagesize("uploads/".$newpic1->name);
    $width=$imgsize[0];
    $height=$imgsize[1];
    if($width>450) {
    $width=450;
    }
    $msg->text.="<p></p><img src='uploads/".$newpic1->name."' onerror='imgError(this);' style='width: ".$width."px;'/>";
    } else {
    $msg->text.="<p></p><a class='file1' href='uploads/".$newpic1->name."'>File: ".$newpic1->name."</a>";
    }

    $tabls[$msgtidx][]=$msg;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Msg");
    }
    } else if (strlen(trim($msg1)) != 0&&$pic_uploaded==false) { if($texists==false) {
    $aone=array();
    $aone[]=$msg;
    $tabls[]=$aone;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Msg");
    } else {
    $tabls[$msgtidx][]=$msg;
    $myd->dtables=$tabls;
    $myd->saveobjecttable("Msg");
    }
    }

    $t2=$myd->query("get text from Msg;");
    for($i=0; $i<count($t2); $i++) {
    $oput.=$t2[$i]."<p></p>";
    }

    } else {
    if($texists==true) {
    $t2=$myd->query("get text from Msg;");
    for($i=0; $i<count($t2); $i++) {
    $oput.=$t2[$i]."<p></p>";
    }
    }
    }





    <div class="a1" spellcheck="false">
    <?php echo $oput;

    </div>
    <p></p>
    <form method="POST" enctype="multipart/form-data">
    <input name="myname" id="myname" type="hidden" value="<?php echo $myname; ?>"/> <p class="main2">Nimi: <input name="text0" id="text0" type="text"
    style="width: 114px;" value="<?php echo $name1; ?>"> </p>
    <p class="main2">Sõnum:</p>
    <textarea class="text1" name="text1" id="text1" type="text">
    </textarea>
    <p></p>
    <p class="main5">Pilt või muud tüüpi fail (kuni 5 mb'd):</p>
    <input type="file" class="main4" name="fileToUpload" id="fileToUpload"/> <p></p>
    <p></p>
    <p></p>
    <p class="main5">Mini pilt (kuni 5 mb'd):</p>
    <input type="file" class="main4" name="fileToUpload2" id="fileToUpload2"/>

    <input type="submit" name="submit" class="main3" value="Saada"/>
    </form>

    <p></p>
    <p class="main2">Aktiivsed:</p>
    <div class="main2" id="ilist">
    </div>
    <script>

    function nl2br (str, is_xhtml) {
    if (typeof str === 'undefined' || str === null) {
    return '';
    }
    var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />'
    : '<br>';
    return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' +
    breakTag + '$2');
    }

    if (!String.prototype.unescapeHTML) {
    String.prototype.unescapeHTML = function() {
    return this.replace(/&[#\w]+;/g, function (s) {
    var entityMap = {
    "&amp;": "&",
    "&lt;": "<",
    "&gt;": ">",
    '&quot;': '"',
    '&#39;': "'",
    '&#x2F;': "/",
    '&nbsp;': " "
    };

    return entityMap[s];
    });
    };
    }

    var prevr="";
    var r0="";

    function renewing() {
    var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == XMLHttpRequest.DONE) {
    if (xmlhttp.status == 200) {
    xmlhttp.responseText=nl2br(xmlhttp.responseText);
    var a111=xmlhttp.responseText;
    r0=a111;
    a111=a111.unescapeHTML();
    document.getElementsByClassName("a1")[0].innerHTML = a111;
    }
    else if (xmlhttp.status == 400) {
    alert('Error 400');
    }
    else {
    alert('Not 200 returned');
    }
    }
    };
    var d765=new Date();
    xmlhttp.open("GET", "renewing.php?d="+d765, false); xmlhttp.setRequestHeader('Cache-Control', 'no-cache');
    xmlhttp.send();
    if(prevr!=r0) {
    a00000();
    }
    prevr=r0;

    }

    function renewingilist() {
    var xmlhttp = new XMLHttpRequest();

    xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == XMLHttpRequest.DONE) {
    if (xmlhttp.status == 200) {
    document.getElementById("ilist").innerHTML = xmlhttp.responseText;
    }
    else if (xmlhttp.status == 400) {
    alert('Error 400');
    }
    else {
    alert('Not 200 returned');
    }
    }
    };
    var d765=new Date();
    xmlhttp.open("GET", "ilist.php?d="+d765, false); xmlhttp.setRequestHeader('Cache-Control', 'no-cache');
    xmlhttp.send();
    }


    function a00000() {
    var textarea = document.getElementsByClassName("a1")[0];
    textarea.scrollTop = 50000000;
    }

    setInterval(function(){
    renewing();
    }, 1578);

    setInterval(function(){
    renewingilist();
    }, 3953);


    setInterval(function(){

    var namearea = document.getElementById("text0");
    var isFocused = (document.activeElement === namearea);
    if(isFocused) {
    } else {
    document.getElementById('text1').focus();
    }
    }, 6871);

    </script>
    </body>

    </html>
    renewing.php
    <?php

    include("../data.php");

    class Msg extends Dobj{
    var $text;
    }

    $myd=new Data();

    $myd->loadobjecttables();
    $texists=false;
    $t1=$myd->dtables;
    for($i=0; $i<count($t1);$i++) {
    if($t1[$i][0]->getNameOfClass()=="Msg") {
    $texists=true;
    break;
    }
    }

    if($texists==true) {
    $t2=$myd->query("get text from Msg;");
    for($i=0; $i<count($t2);$i++) {
    echo $t2[$i]."<p></p>";
    }
    } else {

    }

    ilist.php
    <?php

    include("../data.php");

    class Msg extends Dobj{
    var $text;
    }

    class Inimene extends Dobj{
    var $name;
    var $time;
    var $dpic;
    }


    $myd=new Data();

    $myd->loadobjecttables();
    $texists=false;
    $t1=$myd->dtables;

    $ilist=array();

    $itidx=-1;
    for($i=0; $i<count($t1);$i++) {
    if($t1[$i][0]->getNameOfClass()=="Inimene") {
    $texists=true;
    $itidx=$i;
    break;
    }
    }

    $newi=array();

    if($itidx>-1) {
    for($i=0; $i<count($t1[$itidx]);$i++) {
    $date12=date("d.m.Y H:i:s", strtotime($t1[$itidx][$i]->time));
    $dtime = new DateTime($date12);

    $datenow=date( 'd.m.Y H:i:s', strtotime( '+3 hour' , strtotime("now") )); $dtimenow = new DateTime($datenow);

    $diff = $dtimenow->getTimestamp() - $dtime->getTimestamp();
    if($diff<60*15) {
    $newi[]=$t1[$itidx][$i];
    } else {
    }
    }
    if(count($newi)==0) {
    unset($t1[$itidx]);
    unlink("Inimene.dat");
    } else {
    $t1[$itidx]=$newi;
    $myd->dtables=$t1;
    $myd->saveobjecttable("Inimene");
    }
    }

    if($texists==true) {
    $t2=$myd->query("get name from Inimene;");
    for($i=0; $i<count($t2);$i++) {
    $ilist[]=$t2[$i];
    }
    } else {

    }

    $result = array_unique($ilist);
    $List = implode(', ', $result);
    if(substr($List,strlen($List)-2, 2)==", ") {
    $List=substr($List, 0, strlen($List)-2);
    }
    echo $List;


    func.php
    <?php


    function rrmdir($dir) {
    $files = array_diff(scandir($dir), array('.','..'));
    foreach ($files as $file) {
    (is_dir("$dir/$file")) ? rrmdir("$dir/$file") : unlink("$dir/$file");
    }
    return rmdir($dir);
    }


    findlastmdate.php
    <?php

    include("../data.php");

    class Msg extends Dbobj{
    var $text;
    }

    $myd=new Data();

    $myd->loadobjecttables();
    $texists=false;
    $t1=$myd->dtables;

    $mdates=array();

    for($i=0; $i<count($t1);$i++) {
    if($t1[$i][0]->getNameOfClass()=="Msg") {
    $texists=true;
    break;
    }
    }

    if($texists==true) {
    $t2=$mydb->query("get text from Msg;");
    for($i=0; $i<count($t2);$i++) {
    $date12=date("d.m.Y H:i:s", strtotime(substr($t2[$i], 0, 19)));
    $d_start = new DateTime($date12);
    $mdates[]=$d_start;
    }
    echo $mdates[count($mdates)-1]->format('d.m.Y H:i:s');;
    } else {
    echo "";
    }


    data.php
    <?php

    class Dobj {
    function getNameOfClass()
    {
    return static::class;
    }
    }

    class Data {

    var $dtables;

    function gettime() {
    return date("d.m.Y H:i:s");
    }

    function loadobjecttables() {
    $dtables = array();
    foreach (glob("*.dat") as $file) {
    $path_parts = pathinfo($file);
    if(!class_exists($path_parts['filename'])) {
    continue;
    }
    $file1 = file_get_contents($file, true);
    $dtables[] = unserialize($file1);
    }
    $this->dtables=$dtables;
    }

    function deleteotable($otabname) {
    if (file_exists($otabname.".dat")) {
    unlink($otabname.".dat");
    }
    $this->loadobjecttables();
    }

    function insertobject($obj) {
    $this->loadobjecttables();
    $oclass=$obj->getNameOfClass();
    $tabls=$this->dtables;
    $oarridx=-1;
    for($i=0; $i<count($tabls); $i++) { if($tabls[$i][0]->getNameOfClass()==$oclass) {
    $oarridx=$i;
    }
    }
    if($oarridx==-1) return false;
    $tabls[$oarridx][]=$obj;
    unlink($oclass.".dat");
    $b=serialize($tabls[$oarridx]);
    $fh = fopen($oclass.".dat", "a");
    fwrite($fh, $b);
    fclose($fh);
    chmod($oclass.".dat", 0700);
    }


    function saveobjecttables() {
    $tabls=$this->dtables;
    for($i=0; $i<count($tabls); $i++) {
    $oc=$tabls[$i][0]->getNameOfClass();
    if (file_exists($oc.".dat")) {
    unlink($oc.".dat");
    }
    $b=serialize($tabls[$i]);
    $fh = fopen($oc.".dat", "a");
    fwrite($fh, $b);
    fclose($fh);
    chmod($oc.".dat", 0700);
    }
    return true;
    }

    function saveobjecttable($objcl) {
    $tabls=$this->dtables;
    $obclindex=-1;
    for($i=0; $i<count($tabls); $i++) {
    if($tabls[$i][0]->getNameOfClass()==$objcl) {
    $obclindex=$i;
    break;
    }
    }
    if (file_exists($objcl.".dat")) {
    unlink($objcl.".dat");
    }
    $b=serialize($tabls[$obclindex]);
    $fh = fopen($objcl.".dat", "a");
    fwrite($fh, $b);
    fclose($fh);
    chmod($objcl.".dat", 0700);
    return true;
    }

    function makearrayunique($array){
    $duplicate_keys = array();
    $tmp = array();

    foreach ($array as $key => $val){
    if (is_object($val))
    $val = (array)$val;

    if (!in_array($val, $tmp))
    $tmp[] = $val;
    else $duplicate_keys[] = $key;
    }

    foreach ($duplicate_keys as $key)
    unset($array[$key]);
    return $array;
    }

    function deleteduplicates() {
    $ob=$this->dtables;
    for($i=0; $i<count($ob); $i++) {
    $o12=$this->makearrayunique($ob[$i]);
    $ob[$i]=$o12;
    }
    $this->saveobjecttables();
    }

    function deleteduplicatescl($objcl) {
    $ob=$this->dtables;
    $obclindex=-1;
    for($i=0; $i<count($ob); $i++) {
    if($ob[$i][0]->getNameOfClass()==$objcl) {
    $obclindex=$i;
    break;
    }
    }
    $o12=$this->makearrayunique($ob[$obclindex]);
    $ob[$obclindex]=$o12;
    $this->dtables=$ob;
    $this->saveobjecttable($objcl);
    }



    function objectClassestoarray($objectA,
    $objectB) {
    $new_object = array();

    foreach($objectA as $property => $value) {
    $new_object[$property]=$value;
    }

    foreach($objectB as $property => $value) {
    $new_object[$property]=$value;
    }

    return $new_object;
    }


    function query($query) {
    $this->loadobjecttables();
    $ovars=array();
    $objects=$this->dtables;
    for($i=0; $i<count($objects); $i++) { $ovars[]=array_keys(get_object_vars($objects[$i][0]));
    }
    $mches=array();
    $results=null;
    $exitf=false;

    for($i=0; $i<count($objects); $i++) {
    if($exitf) break;
    for($j=0; $j<count($ovars); $j++) {
    if($exitf) break;
    if(!class_exists($objects[$i][0]->getNameOfClass())) continue; if(preg_match("/^get \* from ".$objects[$i][0]->getNameOfClass().";$/",$query)) {
    $objectsList = [];
    foreach ($objects[$i] as $obj) {
    $objectsList[] = (array)$obj;
    }
    return $objectsList;
    $exitf=true;
    }
    }
    }

    for($i=0; $i<count($objects); $i++) {
    if($exitf) break;
    for($j=0; $j<count($ovars); $j++) {
    if($exitf) break;
    if(!class_exists($objects[$i][0]->getNameOfClass())) continue; if(preg_match("/^get ".$ovars[$i][$j]." from ".$objects[$i][0]->getNameOfClass().";$/",$query)) {
    return array_column($objects[$i], $ovars[$i][$j]);
    $exitf=true;
    }
    }
    }

    $outp=array();
    for($i=0; $i<count($objects); $i++) {
    if($exitf) break;
    for($j=0; $j<count($ovars[$i]); $j++) {
    if($exitf) break;
    for($k=0; $k<count($objects); $k++) {
    if($exitf) break;
    for($l=0; $l<count($ovars[$k]); $l++) {
    if($exitf) break;
    if(!class_exists($objects[$i][0]->getNameOfClass())) continue; if(!class_exists($objects[$k][0]->getNameOfClass())) continue;

    if(preg_match("/^get \* from ".$objects[$i][0]->getNameOfClass()." join ".$objects[$k][0]->getNameOfClass().
    " on \(".$objects[$i][0]->getNameOfClass()."\.".$ovars[$i][$j]."\=".$objects[$k][0]->getNameOfClass().
    "\.".$ovars[$k][$l]."\);$/",$query)) {
    for($ii=0; $ii<count($objects[$i]); $ii++) {
    for($ii2=0; $ii2<count($objects[$k]);$ii2++) { if($objects[$i][$ii]->{$ovars[$i][$j]}==$objects[$k][$ii2]->{$ovars[$k][$l]}) { $oobj = $this->objectClassestoarray($objects[$i][$ii], $objects[$k][$ii2]); $outp[]=$oobj;
    }
    }
    }
    $exitf=true;
    }
    }
    }
    }
    }

    for($k=0; $k<count($objects); $k++) {
    if($exitf) break;
    for($l=0; $l<count($ovars[$k]); $l++) {
    if($exitf) break;
    for($l2=0; $l2<count($ovars[$k]); $l2++) {
    if($exitf) break;
    if(!class_exists($objects[$k][0]->getNameOfClass()))
    continue;

    if(preg_match("/^get \* from ".$objects[$k][0]->getNameOfClass()." where ".$ovars[$k][$l]."\=(.*) and ".$ovars[$k][$l2]."\=(.*);$/",$query, $matches)) {
    for($ii2=0;
    $ii2<count($objects[$k]); $ii2++) {

    if($objects[$k][$ii2]->{$ovars[$k][$l]}==$matches[1]&&$objects[$k][$ii2]->{$ovars[$k][$l2]}==$matches[2]) {

    $oobj = (array)$objects[$k][$ii2];

    $outp[]=$oobj;
    }
    }
    $exitf=true;
    }
    }
    }
    }


    for($k=0; $k<count($objects); $k++) {
    if($exitf) break;
    for($l=0; $l<count($ovars[$k]); $l++) {
    if($exitf) break;
    if(!class_exists($objects[$k][0]->getNameOfClass())) continue; if(preg_match("/^get \* from ".$objects[$k][0]->getNameOfClass()." where ".$ovars[$k][$l]."\=(.*);$/",$query, $matches)) {
    for($ii2=0; $ii2<count($objects[$k]); $ii2++) { if($objects[$k][$ii2]->{$ovars[$k][$l]}==$matches[1]) {
    $oobj = (array)$objects[$k][$ii2];
    $outp[]=$oobj;
    }
    }
    $exitf=true;
    }
    }
    }

    if(count($outp)>0) {
    return $outp;
    }


    return $mches;
    }

    }



    v.html
    <html>
    <head>
    <style>
    .v {
    width: 85%;
    word-wrap:break-word;
    }
    </style>
    </head>
    <body>
    <div class="v">
    </div>
    <script>
    var u="ABCDEFGHIJKLMNOPQRSTUVWÕÄÖÜXYZabcdefghijklmnopqrstuvwõäöüxyz"; var uu="";
    for(var i=0; i<3801;i++) {
    uu=uu+Math.floor(Math.random() * 11).toString();
    }
    var uuuuu="";
    var uuuu="";
    var continuea=false;
    for(var i=0; i<uu.length;i++) {
    var uuu=uu.charAt(i);
    if(continuea==true) {
    uuuu=uuuu+uuu;
    uuuuu=uuuuu+u.charAt(parseInt(uuuu));
    uuuu="";
    continuea=false;
    continue;
    }
    if(parseInt(uuu)>0&&parseInt(uuu)<7) {
    uuuu=uuu;
    continuea=true;
    }
    if(parseInt(uuu)==0) {
    uuuuu=uuuuu+"O";
    } else {
    uuuuu=uuuuu+u.charAt(parseInt(uuu));
    }
    }
    document.getElementsByClassName('v')[0].innerHTML=uuuuu;
    </script>
    </body>
    </html>



    vv.html
    <html>
    <body style="font-size: 73px; color: silver; width: 92%; word-wrap: break-word; background-color: blue;">
    <script>
    var y=new Array();
    var yy="abcdefghijklmnopqrstuvwõäöüy";

    for(var i=0; i<493; i++) {

    y.push(yy.charAt(Math.floor(Math.random() * yy.length)));

    }
    document.body.innerHTML=y.join('');
    </script>
    </body>
    </html>

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)