anpera.net
https://anpera.homeip.net/phpbb3/

Superuser abfrage des Ye olde mail EMPFÄNGERS
https://anpera.homeip.net/phpbb3/viewtopic.php?f=34&t=3556
Seite 1 von 1

Autor:  Reyko [ Sa 07 Apr, 2007 09:10 ]
Betreff des Beitrags:  Superuser abfrage des Ye olde mail EMPFÄNGERS

Ich wollte fragen ob mir jemand helfen kann:

Ich möchte das, wenn jemand eine Ye olde Mails an einen User mit superuser stufe 2 oder höher, ein Hinweis angezigt wird das für Support Fragen also fragen zum spiel das Forum da ist etc...

$this->bbcode_second_pass_code('', 'if ($session[user][superuser]>=1)') <<< der code ist ja nur für die Abfrage des users der schreibt und nicht des empfängers ...

was muss ich wie in der Mail.php eintragen damit dieser hinweis kommt?

PS: Falls es den therad schon gibt sry aber mir fielen keine passenden suchb egriffe ein >.<

Autor:  -DoM [ Sa 07 Apr, 2007 13:13 ]
Betreff des Beitrags: 

[php]if ($session[user][superuser] > 1){
[...]
}
[/php]

Ist richtig, also ohne das "=". Aber das bringt dir nichts, da dies die Daten des ausführenden Accounts abfragt.

Also ich habe dir mal die betreffende Stelle heraus gesucht:
[php]
if($_GET[op]=="send"){
if (empty($_POST['petitionid'])) {
$sql = "SELECT acctid FROM accounts WHERE login='$_POST[to]'";
$result = db_query($sql);
if (db_num_rows($result)>0){
$row1 = db_fetch_assoc($result);
$sql = "SELECT count(messageid) AS count FROM mail WHERE msgto='".$row1[acctid]."' AND seen=0";
$result = db_query($sql);
$row = db_fetch_assoc($result);
if ($row[count]>getsetting("inboxlimit",50)) {
output("Die Mailbox dieser Person ist voll! Du kannst ihr keine Nachricht schicken.");
}else{
$_POST['subject']=closetags(str_replace("`n","",$_POST['subject']),'`c`i`b');
$_POST['body']=str_replace("`n","\n",$_POST['body']);
$_POST['body']=str_replace("\r\n","\n",$_POST['body']);
$_POST['body']=str_replace("\r","\n",$_POST['body']);
$_POST['body']=addslashes(substr(stripslashes($_POST['body']),0,(int)getsetting("mailsizelimit",1024)));
$_POST['body'] = closetags($_POST['body'],'`c`i`b');
systemmail($row1['acctid'],$_POST['subject'],$_POST['body'],$session['user']['acctid']);
output("Deine Nachricht wurde gesendet!`n");
}
}else{
output("Konnte den Empfänger nicht finden. Bitte versuche es nochmal.`n");
}
}
else {
$sql = "SELECT count(messageid) AS count FROM petitionmail WHERE petitionid='$_POST[petitionid]' AND msgto='".$session['user']['acctid']."'";
$row = db_fetch_assoc(db_query($sql));
if ($row['count']==0) {
output('Du kannst nur zu deinen eigenen Anfragen etwas schreiben!');
}
else {
$_POST['subject']=closetags(str_replace("`n","",$_POST['subject']),'`c`i`b');
$_POST['body']=str_replace("`n","\n",$_POST['body']);
$_POST['body']=str_replace("\r\n","\n",$_POST['body']);
$_POST['body']=str_replace("\r","\n",$_POST['body']);
$_POST['body']=substr($_POST['body'],0,(int)getsetting("mailsizelimit",1024));
$_POST['body'] = closetags($_POST['body'],'`c`i`b');
petitionmail($_POST['subject'],$_POST['body'],$_POST['petitionid'],$session['user']['acctid']);
output("Deine Nachricht wurde gesendet!`n");
}
}
$_GET['op']="";
}
[/php]
Ersetze das mal damit:
[php]
if($_GET[op]=="send"){
if (empty($_POST['petitionid'])) {
// Feld superuser hinzugefügt, um Daten verfügbar zu machen.:
$sql = "SELECT acctid, superuser FROM accounts WHERE login='$_POST[to]'";
$result = db_query($sql);
if (db_num_rows($result)>0){
$row1 = db_fetch_assoc($result);
$sql = "SELECT count(messageid) AS count FROM mail WHERE msgto='".$row1[acctid]."' AND seen=0";
$result = db_query($sql);
$row = db_fetch_assoc($result);
if ($row[count]>getsetting("inboxlimit",50)) {
output("Die Mailbox dieser Person ist voll! Du kannst ihr keine Nachricht schicken.");
//Zusätzliche Abfrage um herauszufinden, ob der Empfänger ein Superuser Stufe 2 und höher ist:
}elseif ($row1['superuser'] > 1){
output('Du kannst Admins nicht anschreiben. Nutze für Support bitte das Forum.');
}else{
$_POST['subject']=closetags(str_replace("`n","",$_POST['subject']),'`c`i`b');
$_POST['body']=str_replace("`n","\n",$_POST['body']);
$_POST['body']=str_replace("\r\n","\n",$_POST['body']);
$_POST['body']=str_replace("\r","\n",$_POST['body']);
$_POST['body']=addslashes(substr(stripslashes($_POST['body']),0,(int)getsetting("mailsizelimit",1024)));
$_POST['body'] = closetags($_POST['body'],'`c`i`b');
systemmail($row1['acctid'],$_POST['subject'],$_POST['body'],$session['user']['acctid']);
output("Deine Nachricht wurde gesendet!`n");
}
}else{
output("Konnte den Empfänger nicht finden. Bitte versuche es nochmal.`n");
}
}
else {
$sql = "SELECT count(messageid) AS count FROM petitionmail WHERE petitionid='$_POST[petitionid]' AND msgto='".$session['user']['acctid']."'";
$row = db_fetch_assoc(db_query($sql));
if ($row['count']==0) {
output('Du kannst nur zu deinen eigenen Anfragen etwas schreiben!');
}
else {
$_POST['subject']=closetags(str_replace("`n","",$_POST['subject']),'`c`i`b');
$_POST['body']=str_replace("`n","\n",$_POST['body']);
$_POST['body']=str_replace("\r\n","\n",$_POST['body']);
$_POST['body']=str_replace("\r","\n",$_POST['body']);
$_POST['body']=substr($_POST['body'],0,(int)getsetting("mailsizelimit",1024));
$_POST['body'] = closetags($_POST['body'],'`c`i`b');
petitionmail($_POST['subject'],$_POST['body'],$_POST['petitionid'],$session['user']['acctid']);
output("Deine Nachricht wurde gesendet!`n");
}
}
$_GET['op']="";
}
[/php]

Dies müsste so eingentlich gehen. So aus dem Stehgreif...

Autor:  Reyko [ Sa 07 Apr, 2007 19:04 ]
Betreff des Beitrags: 

nachdem was ich im code gesehen habe ok fast :) sie sollen schon schreiben können aber es soll ein hinweis erscheinen :O

PS: Hab ma meine mail php angehangen vllt könnt ihr ja ma guggn

Autor:  -DoM [ Sa 07 Apr, 2007 21:26 ]
Betreff des Beitrags: 

Dann mache es so:
[php]
if($_GET[op]=="send"){
if (empty($_POST['petitionid'])) {
// Feld superuser hinzugefügt, um Daten verfügbar zu machen.:
$sql = "SELECT acctid, superuser FROM accounts WHERE login='$_POST[to]'";
$result = db_query($sql);
if (db_num_rows($result)>0){
$row1 = db_fetch_assoc($result);
$sql = "SELECT count(messageid) AS count FROM mail WHERE msgto='".$row1[acctid]."' AND seen=0";
$result = db_query($sql);
$row = db_fetch_assoc($result);
if ($row[count]>getsetting("inboxlimit",50)) {
output("Die Mailbox dieser Person ist voll! Du kannst ihr keine Nachricht schicken.");
}else{
$_POST['subject']=closetags(str_replace("`n","",$_POST['subject']),'`c`i`b');
$_POST['body']=str_replace("`n","\n",$_POST['body']);
$_POST['body']=str_replace("\r\n","\n",$_POST['body']);
$_POST['body']=str_replace("\r","\n",$_POST['body']);
$_POST['body']=addslashes(substr(stripslashes($_POST['body']),0,(int)getsetting("mailsizelimit",1024)));
$_POST['body'] = closetags($_POST['body'],'`c`i`b');
systemmail($row1['acctid'],$_POST['subject'],$_POST['body'],$session['user']['acctid']);
output("Deine Nachricht wurde gesendet!`n");
//Hier die Änderung für den Hinweis:
if ($row1['superuser'] > 1) output('Um Support zu erhalten, nutze bitte unser Forum!!!`n');
}
}else{
output("Konnte den Empfänger nicht finden. Bitte versuche es nochmal.`n");
}
}
else {
$sql = "SELECT count(messageid) AS count FROM petitionmail WHERE petitionid='$_POST[petitionid]' AND msgto='".$session['user']['acctid']."'";
$row = db_fetch_assoc(db_query($sql));
if ($row['count']==0) {
output('Du kannst nur zu deinen eigenen Anfragen etwas schreiben!');
}
else {
$_POST['subject']=closetags(str_replace("`n","",$_POST['subject']),'`c`i`b');
$_POST['body']=str_replace("`n","\n",$_POST['body']);
$_POST['body']=str_replace("\r\n","\n",$_POST['body']);
$_POST['body']=str_replace("\r","\n",$_POST['body']);
$_POST['body']=substr($_POST['body'],0,(int)getsetting("mailsizelimit",1024));
$_POST['body'] = closetags($_POST['body'],'`c`i`b');
petitionmail($_POST['subject'],$_POST['body'],$_POST['petitionid'],$session['user']['acctid']);
output("Deine Nachricht wurde gesendet!`n");
}
}
$_GET['op']="";
}
[/php]

Autor:  Reyko [ Sa 07 Apr, 2007 21:33 ]
Betreff des Beitrags: 

Meine Mail PHP sieht etwas aus kannst ma guggn pls??

Autor:  -DoM [ Sa 07 Apr, 2007 21:35 ]
Betreff des Beitrags: 

Du schaue es dir an, und überlege was dort geschieht. Ich baue dir doch nichts ein....:P

Das musst du schon selbst. Du siehst ja wie es Anhand der originalen Aussieht und Funktioniert....;-)

EDIT:
Habe geschaut. Kannst du Problemlos portieren. Aber die mail.php stammt nicht von dir, denn sonst würdest du es dir selbst schrieben...*fg*

Autor:  Reyko [ So 08 Apr, 2007 08:48 ]
Betreff des Beitrags: 

sie stammt von meinem ordner ;O ich hab die nicht selber geschrieben das stimmt :) ok danke ich mach das alles ma heute abend :) vielen dank -DoM

Autor:  Janny [ Fr 28 Nov, 2008 23:58 ]
Betreff des Beitrags:  Re: Superuser abfrage des Ye olde mail EMPFÄNGERS

...

Seite 1 von 1 Alle Zeiten sind UTC + 1 Stunde
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/