Seite 1 von 2

Birthday MOD Mail Extension

Verfasst: 22.04.2005 18:00
von tost
Hallo,

es geht um diesen Mod:

Birthday MOD Mail Extension

in der Beschreibung steht:
Beschreibung: Eine kleine Erweiterung für den Birthday MOD, die statt dem Popup-Fenster eine Mail zur Gratulation verschickt.
Gibt es jemanden der diesen Mod auch zusätzlich zum Pop-Up installiert hat ?

Da viele einen Pop-Up Blocker haben möchte ich gerne beides nutzen, sowohl Mail als auch Pop-Up

Gruß
tost

Verfasst: 24.04.2005 11:03
von tost
Auch wenn ich es so angebe wie es in der Beschreibung steht:
#
#-----[ OPEN ]------------------------------------------------
#

includes/page_header.php

#
#-----[ FIND ]------------------------------------------------
#

$template->assign_var("GREETING_POPUP",
"<script language=\"Javascript\" type=\"text/javascript\"><!--
window.open('".append_sid('birthday_popup.'.$phpEx)."', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');
//-->
</script>");

#
#-----[ REPLACE BY ]------------------------------------------
#

// START Birthday Mail Extension
$sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = " . $userdata['user_id'];
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, $lang['bd_sqlerror']);
}

while( $row = $db->sql_fetchrow($result) )
{
$bd_mail = intval($row['user_email']);
}

$sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = $user_id";
if ( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, $lang['bd_sqlerror']);
}
while ($row = $db->sql_fetchrow($result))
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);

$emailer->email_address(trim($row['user_email']));
$emailer->use_template("birthday", $row['user_lang']);
$emailer->set_subject($lang['bd_subject']);

$emailer->assign_vars(array(
'USERNAME' => preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, substr(str_replace("\'", "'", $row['username']), 0, 25)),
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']),
'BOARDNAME' => str_replace('<br />', "\n", "-- \n" . $board_config['sitename'])
);
$emailer->send();
$emailer->reset();
}
// END Birthday Mail Extension
kommt dieser Fehler:

Code: Alles auswählen

Parse error: parse error, unexpected ';' in /usr/export/www/hosting/tosti/board/includes/page_header.php on line 303
hat jemand eine Idee ?

hier ist die page_header.php

edit: eigentlich dasselbe wie hier nur ich weiß nicht wo das ; zu viel ist

Gruß
tost

Verfasst: 24.04.2005 13:53
von BraveEagle
hatte ich auch probiert. Das Teil funzt so nicht. Gibts auch bisher anscheinend keine Extension dazu :cry:

Verfasst: 24.04.2005 16:52
von tost
schade :cry:

will sich niemand der "Entwickler" da ransetzen ?
Ich finde den Mod nämlich gelungener als das Pop-Up was bei den meisten Browsern unterdrückt wird...

tost

Verfasst: 18.05.2005 00:39
von DJBase
Das Problem habe ich heute festgestellt. Zum Glück war der Einbau nicht so zeitintensiv.

Verfasst: 18.05.2005 00:47
von andreasOymann
welches ist denn die fehlerhafte Zeile 303? Der Link zur page_header.txt funzt nicht!

A.

Verfasst: 18.05.2005 00:50
von DJBase
Problem gefunden. Korrekt müsste es heißen:

Finde in page_header.php

Code: Alles auswählen

  $template->assign_var("GREETING_POPUP",
   "<script language=\"Javascript\" type=\"text/javascript\"><!--
   window.open('".append_sid('birthday_popup.'.$phpEx)."', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400');
   //-->
   </script>");
Ersetze mit:

Code: Alles auswählen

// START Birthday Mail Extension
 $sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = " . $userdata['user_id'];
 if ( !($result = $db->sql_query($sql)) )
 {
  message_die(GENERAL_ERROR, $lang['bd_sqlerror']);
 }

 while( $row = $db->sql_fetchrow($result) )
 {
  $bd_mail = intval($row['user_email']);
 }

 $sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = $user_id";
 if ( !($result = $db->sql_query($sql)) )
 {
  message_die(GENERAL_ERROR, $lang['bd_sqlerror']);
 }
 while ($row = $db->sql_fetchrow($result))
  $emailer->from($board_config['board_email']);
  $emailer->replyto($board_config['board_email']);

  $emailer->email_address(trim($row['user_email']));
  $emailer->use_template("birthday", $row['user_lang']);
  $emailer->set_subject($lang['bd_subject']);

  $emailer->assign_vars(array(
   'USERNAME' => preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, substr(str_replace("\'", "'", $row['username']), 0, 25)),
   'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']),
   'BOARDNAME' => str_replace('<br />', "\n", "-- \n" . $board_config['sitename']))
  );
  $emailer->send();
  $emailer->reset();
// END Birthday Mail Extension

Verfasst: 18.05.2005 01:04
von andreasOymann
so ist es besser:

Code: Alles auswählen

// START Birthday Mail Extension 
 $sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = " . $userdata['user_id']; 
 if ( !($result = $db->sql_query($sql)) ) 
 { 
  message_die(GENERAL_ERROR, $lang['bd_sqlerror']); 
 } 

 while( $row = $db->sql_fetchrow($result) ) 
 { 
  $bd_mail = intval($row['user_email']); 
 } 

 $sql = "SELECT * FROM " . USERS_TABLE . " WHERE user_id = $user_id"; 
 if ( !($result = $db->sql_query($sql)) ) 
 { 
  message_die(GENERAL_ERROR, $lang['bd_sqlerror']); 
 } 
 while ($row = $db->sql_fetchrow($result))
{ 
  $emailer->from($board_config['board_email']); 
  $emailer->replyto($board_config['board_email']); 

  $emailer->email_address(trim($row['user_email'])); 
  $emailer->use_template("birthday", $row['user_lang']); 
  $emailer->set_subject($lang['bd_subject']); 

  $emailer->assign_vars(array( 
   'USERNAME' => preg_replace($unhtml_specialchars_match, $unhtml_specialchars_replace, substr(str_replace("\'", "'", $row['username']), 0, 25)), 
   'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']), 
   'BOARDNAME' => str_replace('<br />', "\n", "-- \n" . $board_config['sitename'])) 
  ); 
  $emailer->send(); 
  $emailer->reset();
}
// END Birthday Mail Extension 
und wenn du diesen Block jetzt unterhalb von

Code: Alles auswählen

  $template->assign_var("GREETING_POPUP", 
   "<script language=\"Javascript\" type=\"text/javascript\"><!-- 
   window.open('".append_sid('birthday_popup.'.$phpEx)."', '_phpbbprivmsg', 'HEIGHT=225,resizable=yes,WIDTH=400'); 
   //--> 
   </script>"); 
einfügst, müsste sowohl Mail als auch Popup klappen :wink:

A.

Verfasst: 18.05.2005 01:08
von DJBase
Dein Code bringt mir hier einen Parse error.

Verfasst: 18.05.2005 01:14
von andreasOymann
Genaue Fehlermeldung?