• Interacting rooms internet page............

    From We@21:1/5 to All on Wed Nov 24 01:15:41 2021
    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;


    index.php


    <!DOCTYPE html>
    <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 = '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'>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=="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">
    Topic:

    <input name="rname"/>
    <p class="w21">
    Password(optional)

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

    <input type="submit" class="main3" value="Create"/>
    </form>
    <p class="w1" style="color: #j3k4f8; font-weight: bold;">
    To access password protected topic: /index.php?code=Password</p>
    <p class="w1" style="color: #j3k4f8; font-weight: bold;">Attention: Please try to behave, while in talkrooms.....</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>

    </body>
    </html>
    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;
    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."'>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->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 {

    }


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




    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From J.O. Aho@21:1/5 to All on Wed Nov 24 10:31:14 2021
    On 24/11/2021 10.15, We wrote:
    ilist.php

    Use a git repository for your files, do not post them here, and please
    stop spamming the usergroups with your trash messages.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Angel@21:1/5 to All on Wed Jun 29 09:58:21 2022
    J.O. Aho kirjutas Kolmapäev, 24. november 2021 kl 11:31:23 UTC+2:
    On 24/11/2021 10.15, We wrote:
    ilist.php

    Use a git repository for your files, do not post them here, and please
    stop spamming the usergroups with your trash messages.

    Hey JO Aho

    Have You looked carefully the code ?
    What do You think of the small database file data.php ?
    I guess You and many others too could use it to make faster apps.

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

    }



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From J.O. Aho@21:1/5 to Angel on Thu Jun 30 12:09:30 2022
    On 29/06/2022 18.58, Angel wrote:
    J.O. Aho kirjutas Kolmapäev, 24. november 2021 kl 11:31:23 UTC+2:
    On 24/11/2021 10.15, We wrote:
    ilist.php

    Use a git repository for your files, do not post them here, and please
    stop spamming the usergroups with your trash messages.

    Have You looked carefully the code ?

    Send the git repository link and maybe can think of looking at it, until
    then Kristjan please stop behaving like Nazi-Russia.

    What do You think of the small database file data.php ?
    I guess You and many others too could use it to make faster apps.

    PHP is slow and you database will suffer with increase number of data.


    --
    //Aho

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Angel@21:1/5 to All on Thu Jun 30 03:56:14 2022
    J.O. Aho kirjutas Neljapäev, 30. juuni 2022 kl 12:09:39 UTC+2:
    On 29/06/2022 18.58, Angel wrote:
    J.O. Aho kirjutas Kolmapäev, 24. november 2021 kl 11:31:23 UTC+2:
    On 24/11/2021 10.15, We wrote:
    ilist.php

    Use a git repository for your files, do not post them here, and please
    stop spamming the usergroups with your trash messages.

    Have You looked carefully the code ?
    Send the git repository link and maybe can think of looking at it, until then Kristjan please stop behaving like Nazi-Russia.

    I have thought on putting things there, but I have found out, that it is better to put them here, because of the complexness of the procedures.

    What do You think of the small database file data.php ?
    I guess You and many others too could use it to make faster apps.
    PHP is slow and you database will suffer with increase number of data.

    No, there will be no problems with it, because the data amounts do no matter, which should be actually clear to everyone. Only my DB system has not maybe the functions, that you could need in the future, but it is easy to add them, by looking the
    premade code.



    --
    //Aho


    *****************************
    Angel

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From J.O. Aho@21:1/5 to Angel on Thu Jun 30 14:23:42 2022
    On 30/06/2022 12.56, Angel wrote:
    J.O. Aho kirjutas Neljapäev, 30. juuni 2022 kl 12:09:39 UTC+2:
    On 29/06/2022 18.58, Angel wrote:
    J.O. Aho kirjutas Kolmapäev, 24. november 2021 kl 11:31:23 UTC+2:
    On 24/11/2021 10.15, We wrote:
    ilist.php

    Use a git repository for your files, do not post them here, and please >>>> stop spamming the usergroups with your trash messages.

    Have You looked carefully the code ?
    Send the git repository link and maybe can think of looking at it, until
    then Kristjan please stop behaving like Nazi-Russia.

    I have thought on putting things there, but I have found out, that it is better to put them here, because of the complexness of the procedures.

    Both Github and GitLab provides simple examples of how to set up things,
    it's more or less copy past, kind of what you do with your code.

    after that it's just do your changes

    git commit -a -m "your comment about the changes"
    git push

    As I pointed out, this will make it a lot easier for others to see your
    code and get it with the indentations that makes to code a lot easier to
    read and you don't have figure out what file is called what. Everyone
    can track the changes and if a bad change was made it possible to revert
    that one.
    Also it will be possible to others who are interested in your project to contribute in a simple way and for you it will be easier to decide what
    changes you want to be included and which not.
    And last you would have a larger audience than these few usergroup you
    are pestering with you smiles posts.


    What do You think of the small database file data.php ?
    I guess You and many others too could use it to make faster apps.
    PHP is slow and you database will suffer with increase number of data.

    No, there will be no problems with it, because the data amounts do no matter,

    Of course it matters, the more data the longer time it takes for
    unserialize and then you have all the data in memory it will also cause
    issues with big databases as you have memory limits in php by default
    set to quite small numbers.

    Compare that with accessing a mysql/postgresql/sqlite database, you will
    only get the data that you are looking for, so the memory imprint is a
    lot smaller.

    PS. If your news client don't strip of the line 'dash dash space' and
    the following rows, then do that yourself, it's bad to keep footers of
    previous posts, as bad as replying to years old posts.

    --
    //Aho

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Whe@21:1/5 to All on Wed Oct 5 04:34:54 2022
    Newer code:

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

    }



    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From J.O. Aho@21:1/5 to Whe on Wed Oct 5 14:05:27 2022
    On 05/10/2022 13.34, Whe wrote:
    Newer code:

    https://www.youtube.com/watch?v=iv8rSLsi1xo

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