Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

My new chatting portal code.

42 views
Skip to first unread message

Robam Khrictjan

unread,
Dec 19, 2020, 2:37:25 AM12/19/20
to
https://github.com/robamkhrictjan/talkingplace

All files without pilt.jpg :

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

}

?>

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

?>

==> 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-image: url('pilt.jpg');
background-size: 333%;
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;
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" 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");
include("data.php");

class Password extends Dobj{
var $content;
}


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

$cannotcreate=false;


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


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

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


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


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


unlink("Password.dat");
}


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

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

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

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

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

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

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

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

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

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

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

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

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

}

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

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

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

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

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


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

<form method="POST">
<p class="w2">
Teema:
</p>
<input name="rname"/>
<p class="w21">
Parool(kui ei soovi parooli, jätta tühjaks):
</p>
<input class="pwd" name="password" type="password"/>
<p class="w">
</p>
<input type="submit" class="main3" value="Loo"/>
</form>
<p class="w1" style="color: #j3k4f8; font-weight: bold;">
Kui on lisatud parool, siis saab sellele ruumile ligi ainult nii, et aadressi lõpp on /index.php?code=Kood</p>
<p class="w1" style="color: #j3k4f8; font-weight: bold;">Tähelepanu: palun üritage olla viisakad..</p>
<p></p>
<p></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p class="w1"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p class="w1">Kontakt</p>
<p class="w1">
Telefon: 372 57865442
</p>
<p class="w1">
E-mail: robamkhrictjan at yahoo. c om
</p>

</body>
</html>

==> 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-image: url('../pilt.jpg');
background-size: 333%;
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 Password extends Dobj{
var $content;
}

class Msg extends Dobj{
var $text;
}

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

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

$myd=new Data();

$myd->loadobjecttables();


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

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

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

$files1 = scandir("uploads");

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



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

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

$addline=true;

$tabls=$myd->dtables;

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

$pwd1="";

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

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

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

} else {
$pwdactive=1;
}


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


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


$pic_uploaded=false;

$newpic1=null;

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

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

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


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

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

}

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

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

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

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

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

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

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

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

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



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

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

$itime=$_POST['itime'];

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

if($nooutput==false) {

$currenti=null;
$iexists=false;

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

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


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

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

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

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

$pic_uploaded2=false;


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

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

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

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

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

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


}

}


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

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

$t1=$myd->dtables;


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


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

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

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

}

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

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

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

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

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

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

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

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

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

}

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

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


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

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

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


setInterval(function(){

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

</script>
</body>

</html>

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

}
?>

Khrictjan Robam

Telephone number: 372 57865442
E-mail: robamkhrictjan @ yahoo. c o m

Richard Heathfield

unread,
Dec 19, 2020, 4:49:51 AM12/19/20
to
On 19/12/2020 07:37, Robam Khrictjan wrote:
> https://github.com/robamkhrictjan/talkingplace
>
> All files without pilt.jpg :
>
> ==> data.php <==
> <?php
>
> class Dobj {
> function getNameOfClass()

<vast swathes of Web code snipped>

You appear to have overlooked Point 4 in David Brown's recent reply to you:

"4. Don't post swaths of incomprehensible html or other web code. If
you have a programming question about javascript, write the question and
use small snippets of code as necessary."

--
Richard Heathfield
Email: rjh at cpax dot org dot uk
"Usenet is a strange place" - dmr 29 July 1999
Sig line 4 vacant - apply within

Robam Khrictjan

unread,
Dec 19, 2020, 3:09:10 PM12/19/20
to
Alright, man.

Kristjan Robam
0 new messages