Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
vau7

Standartmäßig Benachrichtigungen

Recommended Posts

Hi,

also ich habe mal irgendwo gelesen wie man per mysql-befehl bei allen Usernstandartmäßig den Haken beim Newsletter im Kontrollzentrum machen konnte.

Hat auch prima geklappt.

Nun hätte ich gerne auch eine standartmäßige PN-Benachrichtigung und eine Emailbenachrichtigung / bzw. das der User automatisch das Topic abonniert in das er postet.

Ist das möglich?

Vorab schon einmal vielen Dank für eure wirklich beachtlichen Leistungen.

Share this post


Link to post

Standart Email Benachrichtigung bei neue PM Nachricht:

ALTER TABLE `Name der Tabelle`.`ibf_members` CHANGE `email_pm` `email_pm` TINYINT(1) DEFAULT '1';

Und noch für das Automatische Abbonieren der Themen:

ALTER TABLE `Name der Tabelle`.`ibf_members` CHANGE `auto_track` `auto_track` TINYINT(1) DEFAULT '1';

Du musst nur "Name der Tabelle" gegen den Tabellen Namen deiner MySQL Tabelle austauschen, und dann die Befehle in phpMyAdmin einfügen.

Noch ne Frage: Wieso hast du das Thema schon als Erledigt Markiert? :yeahright:

Share this post


Link to post

Ubs, dachte das wäre das Topic-Abo.

:blush:

Also den Tabellenname ist doch ebenfalls ibf_members, oder?

Und noch eine Frage das ist dann auch für die zukünftigen User so eingestellt?

Edited by vau7

Share this post


Link to post

Also die Spalte email_pm in der Tabelle ist für die Option zuständig, ob der User eine E-Mail bei einer neuen PM bekommt. Die Spalte auto_track ist dafür verantwortlich, das man Themen automatisch abonniert, wo man drin gepostet hat.

Die Spalte, um Mails vom Admin zu erlauben, ist die allow_admin_mails und der entsprechende Befehl wäre:

ALTER TABLE `ibf_members` CHANGE `allow_admin_mails` `allow_admin_mails` TINYINT( 1 ) DEFAULT '1'

Zur Vollständigkeit noch der SQL Befehl, um die schon vorhandenen Mitglieder auf diesen Wert zu setzen:

UPDATE ibf_members SET allow_admin_mails = 1 WHERE allow_admin_mails <> 1

Edited by Stefan

Share this post


Link to post

ÖHm, die beiden von dir oben beschriebenen Dinge habe ich gesucht.

Was ist denn nun das mit den Admin_Mails? *wirr*

Und wie lautet der Update-Befehl für die beiden oberen Befehle?

Ich danke dir das du mir ein Mißcerständnis ersparen wolltest, aber es war ja zum Glück keins, oder!

Share this post


Link to post

Ja, war kein Mißverständnis , hab es nur falsch gelesen. ;)

Ist wohl noch viel zu früh für mich. Frag mich, wie ich auf die Arbeit gekommen bin, aber wahrscheinlich kenne ich den Weg schon auswendig. :lol:

Die von mir beschriebene Methode ist dafür, das die User standardmäßig E-Mails vom Admin erlauben, die dieser über die Funktion Bulk Email Members im ACP senden kann. :)

Share this post


Link to post

Siehe dazu auch hier..

Da es aber normalerweise schon an ist, könnten sich user wundern, warum es wieder gesetzt ist, wenn sie es doch extra ausgeschaltet haben.. ;)

Und falls (wie so oft) Pop-Up Blocker verwendet werden, geht's natürlich auch nicht..

Also ich hab das so gelöst:

in der lang/en/lang_global.php (am besten alle installierten Sprachpakete ;) ):

msg_new    	=>	"%s New Messages",
ändern in
msg_new    	=>	"<span style='color:red'><b>YOU HAVE %s NEW MESSAGES</b></span>",


msg_notnew    =>      " %s New Messages ",
(Das color:red und YOU HAVE.. kann natürlich entsprechend angepasst werden..) In der de Version sieht's in etwa so aus
$lang['msg_new']    = "%s neue Nachrichten";
umändern in
$lang['msg_new']    = "<span style='color:red'><b>Du hast %s neue Nachricht(en)</b></span>";

$lang['msg_notnew']    = "%s neue Nachrichten";
Und in der Sources/Functions.php
 $pm_js = "";


            if ( ($ibforums->member['g_max_messages'] > 0) and ($ibforums->member['msg_total'] >= $ibforums->member['g_max_messages']) )

            {

                $msg_data['TEXT'] = $ibforums->lang['msg_full'];

            }

            else

            {

                $ibforums->member['new_msg'] = $ibforums->member['new_msg'] == "" ? 0 : $ibforums->member['new_msg'];


                $msg_data['TEXT'] = sprintf( $ibforums->lang['msg_new'], $ibforums->member['new_msg']);

            }
ändern in
$pm_js = "";

  	

  	if ( ($ibforums->member['g_max_messages'] > 0) and ($ibforums->member['msg_total'] >= $ibforums->member['g_max_messages']) )

  	{

    $msg_data['TEXT'] = $ibforums->lang['msg_full'];

  	}

  	else if($ibforums->member['new_msg'] == 0)  	

    	$msg_data['TEXT'] = sprintf( $ibforums->lang['msg_notnew'], $ibforums->member['new_msg']);

  	else

  	{

    $ibforums->member['new_msg'] = $ibforums->member['new_msg'] == "" ? 0 : $ibforums->member['new_msg'];

  	

    $msg_data['TEXT'] = sprintf( $ibforums->lang['msg_new'], $ibforums->member['new_msg']);

  	}

Quelle: Bigrob14

So erkennt man's auch, wenn Post da ist.. :)

mfg,

Tom

Edited by TomCrow

Share this post


Link to post

Hätte da noch eine Frage/Bitte.. ;)

Könnte man den von mir oben geposteten code auch an das IPDL anpassen, also so, dass auch im Portal neue Nachrichten (wenn > 0 ) farblich gekennzeichnet werden..?

Sollte dafür auch die Functions.php verantwortlich sein, könnte man das ja ev. so ändern, dass das mit dabei ist und nur die lang_csite.php entsprechend anpassen..

mfg,

Tom

Share this post


Link to post

Datei csite.php

Suche:

      $pm_string  = sprintf( $ibforums->lang['wbox_pm_string'] , "<a href='{$ibforums->base_url}act=Msg'>".intval($ibforums->member['new_msg'])."</a>" );
Ändern in:
 	 $pm_count = intval($ibforums->member['new_msg']);
 
 $pm_text = ($pm_count > 0 ) ? "<span style='color:red'><a href='{$ibforums->base_url}act=Msg'>".$pm_count."</a></span>"
         : "<a href='{$ibforums->base_url}act=Msg'>".$pm_count."</a>";

     $pm_string  = sprintf( $ibforums->lang['wbox_pm_string'] , $pm_text);

Sollte funktionieren. :)

Share this post


Link to post

Danke, Stefan, dass Du Dich der Sache annimmst! :)

Also, prinzipiell funktioniert es, aber:

<span style='color:red'>
zeigt keine Wirkung; es wird <i>nicht</i> rot angezeigt (ev. weil der angezeigte Wert ja ein link ist ??) Wenn ich
<span style='color:red; font-weight:bold'>

einsetze, wird der Wert > 0 fett dargestellt, also funktioniert die Abfrage prinzipiell schon, nur das rot wird halt ignoriert.. :unsure:

mfg,

Tom

Share this post


Link to post

Ändere mal

"<span style='color:red'><a href='{$ibforums->base_url}act=Msg'>".$pm_count."</a></span>"
in
"<a href='{$ibforums->base_url}act=Msg'><span style='color:red'>".$pm_count."</span></a>"

und dann sollte es aber funktionieren. :)

Share this post


Link to post

Also die Spalte email_pm in der Tabelle ist für die Option zuständig, ob der User eine E-Mail bei einer neuen PM bekommt. Die Spalte auto_track ist dafür verantwortlich, das man Themen automatisch abonniert, wo man drin gepostet hat.

Die Spalte, um Mails vom Admin zu erlauben, ist die allow_admin_mails und der entsprechende Befehl wäre:

ALTER TABLE `ibf_members` CHANGE `allow_admin_mails` `allow_admin_mails` TINYINT( 1 ) DEFAULT '1'

Zur Vollständigkeit noch der SQL Befehl, um die schon vorhandenen Mitglieder auf diesen Wert zu setzen:

UPDATE ibf_members SET allow_admin_mails = 1 WHERE allow_admin_mails <> 1

das hab ich jetzt mal gemacht aber das häkchen ist trotzdem nicht gesetzt in den pers. einstellungen :blink:

whats wrong?

also nicht das ich was falsch verstanden habe, aber diese befehle sind dafür da um den newsletter automatisch auf "1" zu setzen... oder? *verwirrt ist*

Edited by zer0

Share this post


Link to post

Datei csite.php

Suche:

      $pm_string  = sprintf( $ibforums->lang['wbox_pm_string'] , "<a href='{$ibforums->base_url}act=Msg'>".intval($ibforums->member['new_msg'])."</a>" );
...]
Hm, irgendwie sieht das bei mir bissel anders aus in der Datei:
$pm_string  = sprintf( "Du hast %s neue PMs" , "<a href='{$ibforums->base_url}act=Msg'>".intval($ibforums->member['new_msg'])."</a>" );

Hat sicher der Erbauer modifiziert. Kann ich das auch insofern abändern, dass die Zeile bzw. die Anzahl der Nachrichten bei > 0 rot erscheint?

Gruß Schnabbi

Share this post


Link to post

Müßte bei dir dann wie folgt aussehen:

 $pm_count = intval($ibforums->member['new_msg']);

 $pm_text = ($pm_count > 0 ) ? "<a href='{$ibforums->base_url}act=Msg'><span style='color:red'>".$pm_count."</span></a>"
        : "<a href='{$ibforums->base_url}act=Msg'>".$pm_count."</a>";

    $pm_string  = sprintf( "Du hast %s neue PMs", $pm_text);

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×