MyBB.de Forum

Normale Version: Thema einem Freund senden - auch als PN möglich?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo
leider habe ich im Forum nichts dazu gefunden, deshalb meine Frage in die Runde. Gibt es auch eine Möglichkeit ein Thema via Private Nachricht zu empfehlen?

Wäre es dann auch möglich es so einzustellen, dass der User der den Link erhält und anklickt das Thema dann automatisch abonnieren kann, bzw. gleich gefragt wird ob er das Thema abonnieren möchte?

Ich danke vorab für eine Antwort.
Beide Optionen nur mit Plugin machbar. Momentan ist ersteres nur als E-Mail in MyBB integriert.
Im Grunde müsste nur in der sendthread.php die Zeile
PHP-Code:
my_mail($mybb->input['email'], $mybb->input['subject'], $message$from""""false"text"""$mybb->user['email']); 
durch die PM-Funktion ersetzt werden (siehe z.B. Punkt 2 dieses Beitrages).

Du könntest in der Nachricht der PM auch den Link erzeugen, damit der User das Thema abonnieren kann.


Edit: statt in der sendthread.php Code zu ersetzen, wäre es vermutlich besser, eine pmthread.php zu erstellen und dafür einen Link ins showthread-Template zu setzen. Der Inhalt der pmthread.php könnte mit dem der sendthread.php identisch sein, bis auf dem PM Code eben.
So, habe mal ein wenig herum gespielt. Probier mal aus, ob das was für Dich ist.

Lade die angehängte Datei pmthread.php in das root-Verzeichnis Deines Forums.

Dann gehe in das Template showthread und suche die Zeile
Code:
<li class="sendthread"><a href="sendthread.php?tid={$tid}">{$lang->send_thread}</a></li>
füge danach diese Zeile ein
Code:
<li class="sendthread"><a href="pmthread.php?tid={$tid}">Thema an Freund per PM senden</a></li>

Dann erstelle ein neues Template mit dem Namen sendpm mit folgendem Inhalt
Code:
<html>
<head>
<title>{$threadprefix['prefix']} {$thread['subject']} - {$lang->send_thread}</title>
{$headerinclude}
</head>
<body>
{$header}
{$errors}
<form action="pmthread.php" method="post">
<input type="hidden" name="my_post_key" value="{$mybb->post_code}" />
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td colspan="2" width="100%" class="thead"><strong>{$lang->send_thread}</strong></td>
</tr>
<tr>
<td width="40%" class="trow1"><strong>{$lang->recipient}</strong><br /><span class="smalltext">Username Empfänger</span></td>
<td width="60%" class="trow1"><input type="text" class="textbox" size="50" id="username" name="username" value="" /></td>
</tr>
{$guestfields}
<tr>
<td width="40%" class="trow2"><strong>{$lang->subject}</strong></td>
<td width="60%" class="trow2"><input type="text" class="textbox" size="50" name="subject" value="{$subject}" /></td>
</tr>
<tr>
<td valign="top" width="40%" class="trow1"><strong>{$lang->message}</strong></td>
<td width="60%" class="trow1"><textarea cols="50" rows="10" name="message">{$message}</textarea></td>
</tr>
</table>
<br />
<input type="hidden" name="action" value="do_sendtofriend" />
<input type="hidden" name="tid" value="{$tid}" />
<div align="center"><input type="submit" class="button" value="{$lang->send_thread}" /></div>
</form>
{$footer}
<script type="text/javascript" src="jscripts/autocomplete.js?ver=1400"></script>
<script type="text/javascript">
<!--
    if(use_xmlhttprequest == "1")
    {
        new autoComplete("username", "xmlhttp.php?action=get_users", {valueSpan: "username"});
    }
// -->
</script>
</body>
</html>

Da lässt sich bestimmt das ein oder andere noch verbessern, aber mir ging es hier nur mal ums Prinzip.


Edit:
Anhang aktualisiert, damit das mit dem Autorisierungscode klappt.
Hallo Jockl,

gibt es auch eine Möglichkeit, den Link zu einem Beitrag und nicht zum ganzen Thema zu senden? Also, wenn ich bei einem Beitrag auf PN drücke, soll dort auch der entsprechende Link rein. Im Moment kann ich nur den Link von der Beitragsnummer kopieren und in die PN einfügen.

Danke und
dies reicht doch, da er dann genau bei dem post ankommt, wo er halt ankommen soll oder? grübel...
(18.05.2014, 20:39)schauan schrieb: [ -> ]gibt es auch eine Möglichkeit, den Link zu einem Beitrag und nicht zum ganzen Thema zu senden? Also, wenn ich bei einem Beitrag auf PN drücke, soll dort auch der entsprechende Link rein. Im Moment kann ich nur den Link von der Beitragsnummer kopieren und in die PN einfügen.

Ich muss mir das erst nochmal genau ansehen, was ich damals gemacht habe und ob das irgendwie umgesetzt werden kann. Aber über den vorhanden PN-Button wird das nicht gehen. Ggf. muss man einen weiteren Button dafür einbauen.
Hallo Jockl,

hast Du eventuell schon was gefunden ? Ein extra-Button wäre nicht so optimal, höchstens, wenn man den originalen ausblenden kann oder wenn der erst im Editor für die PN erscheint.
Ich habe leider keine Möglichkeit gefunden, so etwas zu integrieren....
(21.06.2014, 10:03)schauan schrieb: [ -> ]Ein extra-Button wäre nicht so optimal, höchstens, wenn man den originalen ausblenden kann oder wenn der erst im Editor für die PN erscheint.

Wenn ich das richtig verstehe, möchtest du, wenn du auf den PN Button in einem Beitrag klickst, dass der Link zu diesem Beitrag dann in der PN bereits eingetragen ist?
Falls ja, könntest du das mit einem kleinen Plugin erreichen, zB in dieser Art:

PHP-Code:
<?php

if(!defined("IN_MYBB"))
{
    die(
"Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}

$plugins->add_hook("postbit""pmpost_pmbutton");
$plugins->add_hook("private_send_start""pmpost_postpm");

function 
pmpost_info()
{
    
$pmpost_info = array(
        
"name"            => "Beitrag empfehlen PN",
        
"description"    => "Setzt den Link zum empfohlenen Beitrag in die PN",
        
"website"        => "",
        
"author"        => "",
        
"authorsite"    => "",
        
"version"        => "1.0",
        
"guid"             => "",
        
"compatibility" => "16*"
    
);

    return 
$pmpost_info;
}

function 
pmpost_activate()
{
}

function 
pmpost_deactivate()
{
}

function 
pmpost_pmbutton(&$post)
{
    
$post['button_pm'] = str_replace('uid='.$post['uid'].'' 'uid='.$post['uid'].'&amp;pmposttid='.$post['tid'].'&amp;pmpostpid='.$post['pid'].''$post['button_pm']);
}

function 
pmpost_postpm()
{
    global 
$mybb;

    if(
$mybb->input['action'] == "send" && !empty($mybb->input['pmposttid']) && !empty($mybb->input['pmpostpid']))
    {
        
$tid = (int)$mybb->input['pmposttid'];
        
$pid = (int)$mybb->input['pmpostpid'];
        
$mybb->input['subject'] = "Beitragsempfehlung";
        
$mybb->input['message'] = "Empfohlener Beitrag: [url]".$mybb->settings['bburl']."/".get_thread_link($tid)."?pid=".$pid."#pid".$pid."[/url]";
    }
}

?>
Seiten: 1 2 3