Jump to content
Sign in to follow this  
nico

PM geschrieben, Titel vergessen, zurück, Text weg

Recommended Posts

HAllo,

mir berichtet ein Forum-User folgendes:


Ich weiss nicht wie oft es mir nun schon passiert ist, das ich einen langen Text als PM versenden wollte, auf absenden drücke und dann der Hinweis erscheint: Mindestens Betreff oder Text müssten enthalten sein.


Bei jedem anderen Forum erscheint dann wieder der eingegebene Text und man kann lediglich den Betreff notieren. Nicht aber hier.



Was muss ich in welcher Datei des Forum-Scripts abändern, um das PRoblem zu lösen?


Gruß,

Share this post


Link to post
Share on other sites

Text in Session speichern, und wenn in session existiert ins textfeld laden. Wenn erfolgreich verschickt aus der session wieder löschen. Du kannst auch in der writepm.php von pSys abschauen, da ist das so gemacht.


[:o]

Share this post


Link to post
Share on other sites

OK, danke für den Tipp. Ich sehe mir die neue write.pm heute Abend an. Kann von hier aus keine *.tar.gz Files herunterladen.

Share this post


Link to post
Share on other sites

So, jetzt habe ich psys (das is ja ein Wahnsinnsbrocken ;-) )heruntergeladen und mir die writepm.php angesehen.

Gehe ich richtig in der Annahme, dass ich folgendes in meine "alte" writepm von pforum einfügen muss:


$_SESSION['cache_titel'] = $titel;

$_SESSION['cache_post'] = $newpost;

.......

unset($_SESSION['cache_titel']);

unset($_SESSION['cache_post']);



Und nu sage mir bitte noch jemand, wo genau ich diese Sequenz einfpgen muss, damit ich ja nichts falsch mache; will kein Risiko eingehen :gaga:


Gruß und schönen Abend,

Share this post


Link to post
Share on other sites

Ich habe jetzt folgende Änderungen an meiner writepm.php angebracht (Zeilen 157,158, 173, 174). Allerdings behebt es das Problem nicht. Was mache ich da falsch?

 time()) {
   header ("Location: $forumurl/index.php");
   exit();
}
// input
$to = $_REQUEST['to']; //UserID an die gesendet wird
$reply = $_REQUEST['reply'];
$icon = $_POST['icon'];
$threadid = $_POST['threadid'];
// Prüfen ob Empfänger PM erlaubt
$sqlbefehl = "Select nickname,usepm FROM $tab_user where id='$to'";
$getuser = mysql_query($sqlbefehl, $serverid);
$touser = mysql_fetch_array($getuser);
if ($touser['usepm'] == 0) {
   require("kopf.php");
   msgBox("Der gewählte Empfänger, $touser[nickname], hat Private Nachrichten deaktiviert!");
   require("fuss.php");
   exit();
}

if ($reply != "") {
   $sqlbefehl = "Select * FROM $tab_pm where id = '$reply'";
   $ergebnis = mysql_query($sqlbefehl, $serverid);
   $post = mysql_fetch_array ($ergebnis);
   // Wenn nicht die eigenen PM ist, nicht antworten
   if ($post['touser'] != $user_id) {
       require("kopf.php");
       msgBox("Auf diese PM kannst du nicht antworten da der Empfänger ein anderer User ist !");
       require("fuss.php");
       exit();
   }
   // Antwort vorbereiten
   $post['titel'] = "Re: " . htmlspecialchars($post['titel']);
   $post['post'] = "[quote]" . htmlspecialchars($post['post']) . "[/quote]\n";
}
// legt das standard Icon fest
if ($post['icon'] == '') {
   $post['icon'] = "icon/icon01.gif";
}

if (!isset($_REQUEST['filled']) or $_REQUEST['action'] == "Nicht löschen") { // 1
   require("kopf.php");

   ?>


">
">
">
">
">



       	Nachricht schreiben



   	An:
       $touser[nickname]";
   ?>





   	Thema Icon:

       ";
       }
   }

   ?>



   	Titel:

       	" border=0>
           ">



   	Text:














Soll der Post wirklich gelöscht werden ?


        ";

       ?>
        ">
        ">
        ">
        ">

               Zurück im Browser drücken!");
           require("fuss.php");
           exit();
       }
       $zeit = time();
       $titel = pfaddslashes($titel);
       $newpost = pfaddslashes($newpost);
       $sqlbefehl = "insert into $tab_pm
               (fromuser,touser,icon,titel,post,timesend,name,folderfrom,folderto,lastmod)
               values('$user_id','$to','$icon','$titel','$newpost','$zeit','$user_nickname','gesendet','Posteingang','$zeit')";
       $ergebnis = mysql_query($sqlbefehl, $serverid);
       unset($_SESSION['cache_titel']);
       unset($_SESSION['cache_post']);        // ------- Replyed markieren -----/
       if ($_POST['reply'] != "") {
           $sqlbefehl = "Update $tab_pm Set replyed=1 Where id=$_POST[reply]";
           $ergebnis = mysql_query($sqlbefehl, $serverid);
       }
       $sqlbefehl = "Select nickname,email,pmnotify
              FROM $tab_user
              where id= '$to'";
       $getuser = mysql_query($sqlbefehl, $serverid);
       $user = mysql_fetch_array($getuser);
       // ####### Email Notification an Empfänger absetzen #############################
       // Zusatz: Message in der Benachrichtigungsmail und Reply-To.
       $sqlbefehl = "Select email, showemail
              FROM $tab_user
              where id= '$user_id'";
       $getuser = mysql_query($sqlbefehl, $serverid);
       $fromuser = mysql_fetch_array($getuser);
       $fromemail = $fromuser["email"];
       $showemail = $fromuser["showemail"];

       if ($showemail == 1) {
           $replyto = "INFO: An den User $user_nickname kann direkt per eMail geantwortet werden!";
           $mailfrom = $fromemail;
       } else {
           $replyto = "INFO: Auf keinen Fall auf diese eMail antworten, sondern nur ueber PM im Forum!";
           $mailfrom = $pf_adminemail;
       }

       if ($user['pmnotify'] == 1) {
           $TPMNotifyMail = new Template("./tpl/pm_notify.mail");
           eval($TPMNotifyMail->TemplateVar("tpl_pm_notify"));
           mail($user['email'], "Neue PM im $boardname", "$replyto\n$tpl_pm_notify",
               "From: $boardname \nContent-Type:text/plain");
       }
   }

   header ("Location: $forumurl/pm.php");
}

?>

Share this post


Link to post
Share on other sites

Wäre wirklich dankbar, wenn jemand Zeit fände, einmal einen Blick auf meine Änderungen im obigen Script zu werfen.

Irgendwas scheine ich da falsch zu machen !?

Share this post


Link to post
Share on other sites

Wenns noch ein paar Tage Zeit hat, ich habe am Wochenende genug und würde es dir dann einfach direkt in die aktuelle OS Version einbauen!

Share this post


Link to post
Share on other sites

Hallo Thomas und herzlichen Dank für Deine Mühe.

Die neue writepm.php löst das Problem. :H:

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×