• Chat place, where is possible to send text with picture or file and wit

    From Krictjan Robam@21:1/5 to All on Wed Dec 2 03:16:32 2020
    Consists of 8 files:


    ::::::::::::::
    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" href="pilt.jpg" type="image/x-icon"/>

    <link rel="icon" style="width:15px; height=15px; background-color: #76FEFF; color: #76FEFF;"/>

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

    body {
    background-color: #76FEFF;
    background-repeat: repeat;
    }

    .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 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, 39);
    }

    $addline=true;

    $tabls=$myd->dtables;

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

    if($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"].$info["path"]; 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][]=$newpic;
    $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>
    <!--
    <link rel="icon" href="pilt.jpg" type="image/x-icon"/>

    <link rel="icon" style="width:15px; height=15px; background-color: #76FEFF; color: #76FEFF;"/>

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

    body {

    background-color: #76FEFF;
    background-repeat: repeat;

    }

    .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:375px;
    }

    .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;
    }

    .w1 {
    color: white;
    }
    </style>
    </head>
    <body>
    <h1 class="main1" style="line-height: 5px;"> ░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░
    </h1>
    <h1 class="main1" style="line-height: 7px;">Kohtumispaik</h1>
    <h1 class="main1" style="line-height: 5px;"> ░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░▓░
    </h1>

    <?php

    include("func.php");

    $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);
    $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">
    <input name="rname"/>
    <input type="submit" class="main3" value="Tee teema"/>
    </form>
    <p class="w1" style="color: #j3k4f8; font-weight: bold;">Tähelepanu: palun üritage </p>
    <p class="w1" style="color: #j3k4f8; font-weight: bold;">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">Kontakt</p>
    <p class="w1">
    Telefon: 372 5786 5442


    </body>
    </html>



    ::::::::::::::
    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 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 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 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;
    }

    }





    ::::::::::::::
    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 {

    }



    Krictjan Robam

    Telephone number: 372 57865442
    E-mail: he12457 hotmail c o m

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