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

Talking place. New PHP code.

54 views
Skip to first unread message

Kristjan Robam

unread,
Dec 23, 2020, 3:01:40 PM12/23/20
to
Consists of 7 files:

==> findlastmdate.php <==
<?php

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

class Msg extends Dbobj{
var $text;
}

$myd=new Data();

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

$mdates=array();

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

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

?>

==> func.php <==
<?php


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


?>

==> ilist.php <==
<?php

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

class Msg extends Dobj{
var $text;
}

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


$myd=new Data();

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

$ilist=array();

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

$newi=array();

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

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

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

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

}

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

?>

==> index.php <==
<!DOCTYPE html>
<html>
<head>
<title>
H E L L O &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; W O R L D !!!!!!!!!!!
</title>
<link rel="icon" style="width:15px; height=15px; background-color: #76FEFF; color: #76FEFF;"/>

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

body {
background-color: lightgreen;
}

.main12 {
text-decoration:none;
color: #76FEFF;
font-weight: bold;
background-color: white;
border: 1px solid white;
border-radius: 10px 10px;
padding: 5px;
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: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">
</h1>
<h1 class="main12" style="line-height: 35px;">Meeting place</h1>
<h1 class="main1">
</h1>

<?php

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

class Password extends Dobj{
var $content;
}


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

$cannotcreate=false;


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


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

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


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


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


unlink("Password.dat");
}


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

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

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

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

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

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

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

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

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

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

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

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

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

}

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

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

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

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

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


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

<form method="POST">
<p class="w2">
Teema:
</p>
<input name="rname"/>
<p class="w21">
Parool(kui ei soovi parooli, jäta 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" style="width:15px; height=15px; background-color: #76FEFF; color: #76FEFF;"/>

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

body {
background-color: #76FEFF;
}

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

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

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

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

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

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

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

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

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

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

<?php

include("func.php");


$size = 0;

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

$files = array_reverse($files, true);

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


$size = 0;

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

$files = array_reverse($files, true);

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

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

class Password extends Dobj{
var $content;
}

class Msg extends Dobj{
var $text;
}

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

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

$myd=new Data();

$myd->loadobjecttables();


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

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

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

$files1 = scandir("uploads");

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



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

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

$addline=true;

$tabls=$myd->dtables;

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

$pwd1="";

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

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

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

} else {
$pwdactive=1;
}


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


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


$pic_uploaded=false;

$newpic1=null;

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

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

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


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

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

}

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

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

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

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

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

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

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

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

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



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

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

$itime=$_POST['itime'];

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

if($nooutput==false) {

$currenti=null;
$iexists=false;

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

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


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

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

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

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

$pic_uploaded2=false;


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

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

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

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

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

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


}

}


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

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

$t1=$myd->dtables;


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


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

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

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

}

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

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

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

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

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

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

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

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

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

}

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

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


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

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

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


setInterval(function(){

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

</script>
</body>

</html>


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

}

?>


Kristjan Robam

J.O. Aho

unread,
Dec 23, 2020, 4:03:59 PM12/23/20
to

On 23/12/2020 21.03, Kristjan Robam wrote:
> https://groups.google.com/XXXXXXXXXXXXX

Thanks for polluting newsgroups with irrelevant posts, if you want to
cross post, get a proper news groups provider and news reader instead of
using the over simplified google groups.

Kristjan Robam

unread,
Dec 28, 2020, 2:02:16 AM12/28/20
to
You joking, right ?
Who is the polluter here ?




Kristjan

Kristjan Robam

unread,
Dec 28, 2020, 11:26:12 AM12/28/20
to
Yes. It needs one fix.
In one class.
Please use this instead:
==> findlastmdate.php <==
<?php

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

class Msg extends Dobj{
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 "";
}

?>



Kristjan

Jerry Stuckle

unread,
Dec 28, 2020, 6:19:59 PM12/28/20
to
No, he's not joking. This group is to help people. It is not for the
likes of you to brag about your poor coding skills.

If you think you're doing yourself a favor, you are VERY WRONG!

--
==================
Remove the "x" from my email address
Jerry Stuckle
jstu...@attglobal.net
==================

Y A

unread,
Jan 13, 2021, 6:16:51 AM1/13/21
to
I am thinking, that this chatting portal may be useful for the youth.







Kriss

Jerry Stuckle

unread,
Jan 13, 2021, 7:25:11 PM1/13/21
to
Figuring how to do something for themselves is even more useful. This
is to help people learn - not provide answers.

ند ارائه نماييدبا تشکر ند ارائه نمايي تش

unread,
Jan 14, 2021, 11:37:53 AM1/14/21
to
You have got it all wrong then.
The thing I am providing is very useful for programming languages learners.








He

Jerry Stuckle

unread,
Jan 14, 2021, 1:27:39 PM1/14/21
to
Not from what I found in teaching programming for corporations on three
continents for thirteen years. I never just gave answers. I always
helped them learn.

When someone comes up and asks "What is 4 times 3" you can tell them 12.
Or you can teach them how to multiply.

Which will help them more when they need to know what 6 times 7 is?

H E

unread,
Jan 14, 2021, 2:08:35 PM1/14/21
to
The thing I want to pressure here is, that the more solutions we have for problems, the more useful it is. Because when You try to solve a new problem, that nobody has solved so far, then you can get some idea from some solution, that may be suit better as a help of solution. For example, when a chatroom is made with java and with php then there are differences of possibilities to extend a problem solution. Because the languages have not exactly the same possibilities for creating software. You have to choose a language, that suits the best for your needs.







IIIIIIIIIIIIIIIIIIIIIIIII
E-mail: iiiiiiiiiiiia at bestmail us
Phone: 372 6861327

Jerry Stuckle

unread,
Jan 14, 2021, 9:12:15 PM1/14/21
to
No, but this is a group to help PHP developers - it is not possible here
(or ANY newsgroup) to get into deep discussions on what can and cannot
be done in a specific language - and especially not the detailed
differences between different languages.

If you want in-depth training in PHP (or any other language), USENET (or
your even poorer interface to USENET in Google Groups) is not a good
place to learn the differences between architectures. It's just too
much to learn in a few messages.
0 new messages