<?
###############################################################################
###############################################################################
################################################# Einstellungen
$db_link="rdbms.strato.de"; # SQL Server URL
$db_user="MEIN USERNAME"; # SQL Username
$db_pass="MEIN PW"; # SQL Passwort
$db_name="MEINE DB"; # SQL Datenbankname
$jetec_Prefix="pins"; # Prefix für die anzulegende SQL Tabelle (nach dem ersten starten nicht mehr ändern)
$pmanzahl=50; # Anzahl der Einträge die angezeigt werden sollen
$pmumbruch=50; # Nach wie vielen Zeichen umgebrochen werden soll (Bei überlangen Worten)
$szee="grafik/emicons"; # Pfad zu den Emicons (vom der "pinomat.php" aus gesehen)
$adminpass="MEIN ADMINPASS"; # Das Passwort zum löschen (Unbedingt ändern)
$pmsfarbe="#aaaaaa"; # Hintergrundfarbe der einzelnen Pins
$pmfarbe1="#dddddd"; # Hintergrundfarbe des drittletzten Pins
$pmfarbe2="#eeeeee"; # Hintergrundfarbe des vorletzten Pins
$pmfarbe3="#ffffff"; # Hintergrundfarbe des letzten Pins
##################################################################################################
$verbindung = mysql_connect($db_link, $db_user, $db_pass);
$datenbank = mysql_select_db($db_name);
$jetec_Zeit=time();
$jetec_Ip=$_SERVER['REMOTE_ADDR'];
$Text="";
$Fehler="";
################################################# SQL Tabelle erstellen, wenn nicht vorhanden
mysql_query("CREATE TABLE IF NOT EXISTS ".$jetec_Prefix."_Pinomat(
Id int(10) unsigned NOT NULL auto_increment,
Name varchar(25) NOT NULL default '',
Text Text NOT NULL default '',
PosX int(10) NOT NULL default '',
PosY int(10) NOT NULL default '',
Zeit int(15) NOT NULL default '0',
Ip varchar(15) NOT NULL default '0',
PRIMARY KEY (Id))");
################################################# Login / Logout
if ($pincookie==$adminpass)
setcookie("pincookie", $pincookie, time()+31536000);
if ($Logout) {
setcookie("pincookie", "", 0);
$pincookie="";
}
########################################## Löschen
if ($pincookie==$adminpass && $Pinloesch) {
$eintrag = "DELETE FROM ".$jetec_Prefix."_Pinomat WHERE Id='$Pinloesch'";
$eintragen = mysql_query($eintrag);
}
########################################## Schreiben
if ($Pinschreib) {
if ($pincookie!=$adminpass) {
$pm_name=htmlentities($pm_name,ENT_QUOTES);
$pm_text=htmlentities($pm_text,ENT_QUOTES);
}
$pm_text=addslashes($pm_text);
$pm_name=addslashes($pm_name);
$pm_name=trim($pm_name);
$pm_text=trim($pm_text);
if (!$pm_name)
$Fehler.="Bitte einen Namen angeben.<
br
>";
if (!$pm_text)
$Fehler.="Bitte einen Text angeben.<
br
>";
if (strlen($pm_text)>500)
$Fehler.="Maximal 500 Zeichen.<
br
>";
$abfrage = "SELECT Ip FROM ".$jetec_Prefix."_Pinomat ORDER BY Id DESC LIMIT 2";
$ergebnis = mysql_query($abfrage);
$jeco=0;
while($dat = mysql_fetch_array($ergebnis)) {
if ($dat['Ip']==$jetec_Ip)
$jeco++;
}
if ($jeco==2)
$Fehler.="Bitte nicht spammen.<
BR
>";
if (!$Fehler) {
$pm_text=SHORT($pm_text,50);
$eintrag = "INSERT INTO ".$jetec_Prefix."_Pinomat (Name, Text, PosX, PosY, Zeit, Ip) VALUES ('$pm_name', '$pm_text', '$pm_x', '$pm_y', '$jetec_Zeit', '$jetec_Ip')";
$eintragen = mysql_query($eintrag);
} else {
$Fehler="<
table
cellpadding
=
3
cellspacing
=
1
class=\"pmtabelle\"><
tr
class=\"pmheadfarbe\"><
th
align=\"center\">Fehler</
th
></
tr
>
<
tr
class=\"pmfarbe\"><
td
align=\"center\"><
span
style=\"COLOR: #ff3333;\"><
b
>".$Fehler."</
b
></
span
></
td
></
tr
></
table
><
br
>";
} }
################################################# Pinomat
$Text="
<
div
id=\"lay0\" style=\"position:absolute; visibility:hidden; left:0px; top:0px; z-index:100000\">
<
form
action=\"pinomat.php\" method=\"post\" name=\"haupt\">
<
table
cellpadding
=
3
cellspacing
=
1
class=\"pmtabelle\"><
tr
class=\"pmheadfarbe\"><
th
align=\"center\"
colspan
=
2
>Pin erstellen</
th
></
tr
>
<
tr
class=\"pmfarbe\">
<
td
align=\"right\">Name:</
td
><
td
><
input
type=\"text\" name=\"pm_name\" style=\"width:150;\"></
td
>
</
tr
><
tr
class=\"pmfarbe\">
<
td
align=\"right\" valign=\"top\">Spruch:</
td
><
td
><
textarea
name=\"pm_text\" style=\"width:150; height:60;\"
rows
=
4
cols
=
20
></
textarea
></
td
>
</
tr
><
tr
class=\"pmheadfarbe\">
<
td
align=\"center\"
colspan
=
2
><
input
type=\"submit\" value=\"schreiben\" name=\"Pinschreib\"> <
input
type=\"button\" value=\"schließen\" onclick=\"setTimeout('zu()', 100);\">
</
tr
></
table
>
<
input
type=\"hidden\" name=\"pm_x\" value=\"0\">
<
input
type=\"hidden\" name=\"pm_y\" value=\"0\">
</
form
>
</
div
>";
$count=1;
$erster="";
$bgcol=$pmsfarbe;
$abfrage1 = "SELECT * FROM ´".$jetec_Prefix."_Pinomat´ ORDER BY Id";
$ergebnis1 = mysql_query($abfrage1);
$anzahl=mysql_num_rows($ergebnis1);
while ($dat1=mysql_fetch_array($ergebnis1)) {
if (!$erster)
$erster=$dat1['Id'];
if ($count>$anzahl-3)
$bgcol=$pmfarbe1;
if ($count>$anzahl-2)
$bgcol=$pmfarbe2;
if ($count>$anzahl-1)
$bgcol=$pmfarbe3;
$dat1['Text']=SHORT($dat1['Text'],$pmumbruch);
$dat1['Text']=SMILIES($dat1['Text'],$szee);
$dat1['Text']=str_replace("\n","<
br
>",$dat1['Text']);
if ($adminpass==$pincookie)
$pinni="<
a
href=\"javascript:pmloesch('pinomat.php?
Pinloesch
=
".$dat1['Id']."
')\"><
img
src=\"grafik/muell.gif\" alt=\"löschen\"
border
=
0
></
a
>";
else
$pinni="";
$Text.="<
div
id=\"lay".$dat1['Id']."\" style=\"CURSOR:move; position:absolute; left:".$dat1['PosX']."px; top:".$dat1['PosY']."px; z-index:1; width:150px;\" onmousedown=\"setpress('lay".$dat1['Id']."')\" onmouseup=\"unsetpress('lay".$dat1['Id']."')\" onMousemove=\"Mauskontrolle(this)\" onDblClick=\"auf()\">
<
table
cellpadding
=
3
cellspacing
=
1
class=\"pmtabelle\" width=\"100%\"><
tr
class=\"pmheadfarbe\"><
th
style=\"white-space: nowrap;\" align=\"left\">".$pinni.$dat1['Name']."</
th
></
tr
>
<
tr
><
td
bgcolor=\"".$bgcol."\">".$dat1['Text']."</
td
></
tr
></
table
></
div
>";
$count++;
}
if ($anzahl>$pmanzahl) {
$eintrag = "DELETE FROM ".$jetec_Prefix."_Pinomat WHERE Id='$erster'";
$eintragen = mysql_query($eintrag);
}
if ($pincookie==$adminpass)
$pmtt="<
a
href=\"javascript:pmlogin(0)\">Adminlogout</
a
>";
else
$pmtt="<
a
href=\"javascript:pmlogin(1)\">Adminlogin</
a
>";
################################################# Aufbau (HTML)
?>
<!
DOCTYPE
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<
html
>
<
head
><
title
>je0.de Pin-o-Mat</
title
>
<
style
type
=
"text/css"
>
TD {FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #000000;}
TH {FONT-FAMILY: verdana; FONT-SIZE: 12px; COLOR: #000000;}
FORM {MARGIN:0;}
INPUT {FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #000000; BACKGROUND-COLOR: #aabbaa; BORDER:1px ridge #000000;}
TEXTAREA {FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #000000; BACKGROUND-COLOR: #aabbaa; BORDER:1px ridge #000000;}
A:link {FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #ffffff; TEXT-DECORATION: none; FONT-WEIGHT: bold;}
A:active {FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #ffffff; TEXT-DECORATION: none; FONT-WEIGHT: bold;}
A:visited {FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #ffffff; TEXT-DECORATION: none; FONT-WEIGHT: bold;}
A:hover {FONT-FAMILY: verdana; FONT-SIZE: 10px; COLOR: #66EE66; TEXT-DECORATION: none; FONT-WEIGHT: bold;}
.pmtabelle {BACKGROUND-COLOR:#000000;}
.pmfarbe {BACKGROUND-COLOR:#aaaaaa;}
.pmheadfarbe {BACKGROUND-COLOR:#888888;}
</
style
>
<
script
type
=
"text/javascript"
>
document.onmousemove = checkPosition;
var mypress=0, divPosX=0, divPosY=0, diffx=0, diffy=0, layer="lay1", lass=0, count=1;
function checkPosition(e) {
if(document.all) {
mausX = event.clientX + document.body.scrollLeft;
mausY = event.clientY + document.body.scrollTop;
} else {
mausX = e.pageX; mausY = e.pageY;
}}
function setpress(lay) {
layer=lay;
mypress=1;
diffx=mausX- divPosX;
diffy=mausY- divPosY;
document.getElementById(layer).style.zIndex=999;
}
function unsetpress(lay) {
count++;
layer=lay;
mypress=0;
document.getElementById(layer).style.zIndex=count;
}
function Mauskontrolle(Element) {
divPosX = Element.offsetLeft;
divPosY = Element.offsetTop;
if(mypress==1) {
document.getElementById(layer).style.left=mausX-diffx;
document.getElementById(layer).style.top=mausY-diffy;
}
return true;
}
function auf() {
if (lass==0) {
document.getElementById('lay0').style.left=mausX;
document.getElementById('lay0').style.top=mausY;
document.getElementById('lay0').style.visibility='visible';
document.haupt.pm_x.value=mausX;
document.haupt.pm_y.value=mausY;
lass=1;
} }
function zu() {
lass=0;
document.getElementById('lay0').style.visibility='hidden';
}
function pmloesch(url) {
var box=confirm("Wirklich löschen?");
if (box==true)
location.href=url;
}
function pmlogin(mto){
if (mto==1) {
pmlog=prompt("Bitte das Adminpasswort eingeben");
if (pmlog!="" && pmlog!=null)
location.href="pinomat.php?pincookie="+pmlog;
} else {
location.href="pinomat.php?Logout=1";
} }
</
script
></
head
>
<
body
bgcolor
=
"#999999"
>
<
center
>
<?
echo
$Fehler;?>
<
table
cellpadding
=
3
cellspacing
=
1
class
=
"pmtabelle"
width
=
"100%"
>
<
tr
class
=
"pmheadfarbe"
><
th
align
=
"center"
colspan
=
2
>Pin-o-Mat</
th
></
tr
>
<
tr
class
=
"pmfarbe"
><
td
onDblClick
=
"auf()"
height
=
400
>
<?
echo
$Text;?>
</
td
></
tr
>
<
tr
class
=
"pmheadfarbe"
><
td
align
=
"center"
>Doppelt auf die Tabelle klicken um einen Spruch zu schreiben.<
br
>Per 'Drag & Drop' kannst du die Zettel verschieben.<
br
>Die letzten drei Einträge sind andersfarbig.<
br
>Nach <?
echo
$pmanzahl;?> Einträgen, wird der Alteste gelöscht.<
br
><?
echo
$pmtt;?></
td
></
tr
>
</
table
>
<
br
><
table
cellpadding
=
3
cellspacing
=
1
style
=
"BORDER:1px ridge #000000;"
><
tr
><
td
><
span
style
=
"FONT-SIZE:10px"
>Pin-o-Mat v1.0 von Jan Erdmann - <
a
href
=
"http://www.je0.de"
>www.je0.de</
a
></
span
></
td
></
tr
></
table
>
</
center
></
body
></
html
>
<?
################################################# Function zum kürzen von überlangen Worten
function SHORT($Text,$Zeichen) {
$zaehl=0;
for ($cou=0; $cou<
strlen
($Text); $cou++){
if (substr($Text, $cou,1)==" ")
$
zaehl
=
0
;
else
$zaehl++;
if ($zaehl>$Zeichen){
$Text=substr($Text, 0, $cou)." ".substr($Text, $cou, strlen($Text));
$zaehl=0;
}}
return $Text;}
################################################# Function zum umsetzen von Emicons zu Grafiken
function SMILIES($Text,$szee) {
$Text=str_replace(":-D","<
img
src=\"".$szee."/1.gif\" alt=\"\">",$Text);
$Text=str_replace(":-)","<
img
src=\"".$szee."/2.gif\" alt=\"\">",$Text);
$Text=str_replace(":-/","<
img
src=\"".$szee."/3.gif\" alt=\"\">",$Text);
$Text=str_replace(":-(","<
img
src=\"".$szee."/4.gif\" alt=\"\">",$Text);
$Text=str_replace(":-#","<
img
src=\"".$szee."/5.gif\" alt=\"\">",$Text);
$Text=str_replace(":-p","<
img
src=\"".$szee."/6.gif\" alt=\"\">",$Text);
$Text=str_replace("8-)","<
img
src=\"".$szee."/7.gif\" alt=\"\">",$Text);
$Text=str_replace(":.-(","<
img
src=\"".$szee."/8.gif\" alt=\"\">",$Text);
$Text=str_replace(";-)","<
img
src=\"".$szee."/9.gif\" alt=\"\">",$Text);
$Text=str_replace(": D","<
img
src=\"".$szee."/1.gif\" alt=\"\">",$Text);
$Text=str_replace(": )","<
img
src=\"".$szee."/2.gif\" alt=\"\">",$Text);
$Text=str_replace(": /","<
img
src=\"".$szee."/3.gif\" alt=\"\">",$Text);
$Text=str_replace(": (","<
img
src=\"".$szee."/4.gif\" alt=\"\">",$Text);
$Text=str_replace(": #","<
img
src=\"".$szee."/5.gif\" alt=\"\">",$Text);
$Text=str_replace(": p","<
img
src=\"".$szee."/6.gif\" alt=\"\">",$Text);
$Text=str_replace("8 )","<
img
src=\"".$szee."/7.gif\" alt=\"\">",$Text);
$Text=str_replace(":..(","<
img
src=\"".$szee."/8.gif\" alt=\"\">",$Text);
$Text=str_replace("; )","<
img
src=\"".$szee."/9.gif\" alt=\"\">",$Text);
$Text=str_replace("http://","http:^//",$Text);
$Text=str_replace(":D","<
img
src=\"".$szee."/1.gif\" alt=\"\">",$Text);
$Text=str_replace(":)","<
img
src=\"".$szee."/2.gif\" alt=\"\">",$Text);
$Text=str_replace(":/","<
img
src=\"".$szee."/3.gif\" alt=\"\">",$Text);
$Text=str_replace(":(","<
img
src=\"".$szee."/4.gif\" alt=\"\">",$Text);
$Text=str_replace(":#","<
img
src=\"".$szee."/5.gif\" alt=\"\">",$Text);
$Text=str_replace(":p","<
img
src=\"".$szee."/6.gif\" alt=\"\">",$Text);
$Text=str_replace("8)","<
img
src=\"".$szee."/7.gif\" alt=\"\">",$Text);
$Text=str_replace(":.(","<
img
src=\"".$szee."/8.gif\" alt=\"\">",$Text);
$Text=str_replace(";)","<
img
src=\"".$szee."/9.gif\" alt=\"\">",$Text);
$Text=str_replace("http:^//","http://",$Text);
return $Text;}
?>