To jest tylko wersja do druku, aby zobaczyć pełn± wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

1.12.7 i starsze - Dodatek do mas. korespondencji

azwel - 06-07-2006, 15:10
Temat postu: Dodatek do mas. korespondencji
Jak w opisie tematu. W masowej korespondencji dodaje jumpbox z którego możemy wybrać dodatkowe kryterium dotycz±ce czasu ostatniego logowania.

Opis instalacji poniżej lub w zał±czniku gotowe pliki do nadpisania.

Kod:
##############################################################
## Author MODa: azwel <me@azwel.be> http://azwel.be
## Opis MODa: Mod pozwala wysylac maile do uzytkownikow ktorzy
##            logowali sie w ostatnim czasie
##
## Poziom instalacji: łatwy
## Czas instalacji: ~5 minut
## Edytowane pliki: admin/admin_mass_email.php
##                  language/lang_polish/lang_mass_email.php
##                  templates/TwojStyl/admin/user_email_body.tpl
##
##############################################################
## Przed instalacj± MODa zalecane jest wykonanie kopii zapasowej plików z nim zwi±zanych.
##############################################################

#
#-----[ OTWÓRZ ]------------------------------------------
#

admin/admin_mass_email.php

#
#-----[ ZNAJD¬ ]------------------------------------------
#

    $group_id = intval($HTTP_POST_VARS[POST_GROUPS_URL]);

#
#-----[ PRZED, DODAJ ]------------------------------------------
#

    $last_log_days = intval($HTTP_POST_VARS['logdays']);

#
#-----[ ZNAJD¬ ]------------------------------------------
#

    $sql = ( $group_id != -1 ) ? "SELECT u.user_id FROM (" . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug) WHERE ug.group_id = $group_id AND ug.user_pending <> " . TRUE . " AND u.user_id = ug.user_id $sql_language" : "SELECT u.user_id FROM " . USERS_TABLE . " u WHERE u.user_id <> " . ANONYMOUS . " $sql_language";

#
#-----[ ZASTAP ]------------------------------------------
#

        $sql_time = ($last_log_days > 0) ? " AND u.user_lastvisit >= " . intval( time() - ($last_log_days*60) ) . " " : '';
    $sql = ( $group_id != -1 ) ? "SELECT u.user_id,u.user_lastvisit FROM (" . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug) WHERE ug.group_id = $group_id AND ug.user_pending <> " . TRUE . " AND u.user_id = ug.user_id $sql_language $sql_time" : "SELECT u.user_id,u.user_lastvisit FROM " . USERS_TABLE . " u WHERE u.user_id <> " . ANONYMOUS . " $sql_language $sql_time";


#
#-----[ ZNAJD¬ ]------------------------------------------
#

            'S_PREVIEW_FIELDS' => '<input type="hidden" name="message" value="' . htmlspecialchars(stripslashes($message)) . '" /><input type="hidden" name="subject" value="' . htmlspecialchars(stripslashes($subject)) . '" /><input type="hidden" name="html" value="' . $use_html . '" /><input type="hidden" name="language" value="' . $email_language . '" /><input type="hidden" name="' . POST_GROUPS_URL . '" value="' . $group_id . '" />')


#
#-----[ ZASTAP ]------------------------------------------
#

            'S_PREVIEW_FIELDS' => '<input type="hidden" name="message" value="' . htmlspecialchars(stripslashes($message)) . '" /><input type="hidden" name="subject" value="' . htmlspecialchars(stripslashes($subject)) . '" /><input type="hidden" name="html" value="' . $use_html . '" /><input type="hidden" name="language" value="' . $email_language . '" /><input type="hidden" name="' . POST_GROUPS_URL . '" value="' . $group_id . '" /><input type="hidden" name="logdays" value="' . $last_log_days . '" />')

#
#-----[ ZNAJD¬ ]------------------------------------------
#

$select_list .= '</select>';


#
#-----[ PO, DODAJ ]------------------------------------------
#

$previous_days = array(0, 15, 30, 60, 120, 360, 720, 1440, 2880, 4320, 5760, 7200, 8640, 10080, 20160, 43200, 129600, 259200, 524160);
$previous_days_text = array($lang['Any_time'], $lang['15_min'], $lang['30_min'], $lang['1_Hour'], $lang['2_Hour'], $lang['6_Hour'], $lang['12_Hour'], $lang['1_Day'], $lang['2_Days'], $lang['3_Days'], $lang['4_Days'], $lang['5_Days'], $lang['6_Days'], $lang['7_Days'], $lang['2_Weeks'], $lang['1_Month'], $lang['3_Months'], $lang['6_Months'], $lang['1_Year']);

$select_log_days = '<select name="logdays">';
for($i = 0; $i < count($previous_days); $i++)
{
    $select_log_days .= '<option value="' . $previous_days[$i] . '" ' . (($last_log_days == $previous_days[$i]) ? ' selected="selected"' : '') . '>' . $previous_days_text[$i] . '</option>';
}
$select_log_days .= '</select>';


#
#-----[ ZNAJD¬ ]------------------------------------------
#

    'L_EMAIL_TO' => $lang['Mass_email_to'],



#
#-----[ PO, DODAJ ]------------------------------------------
#

    'LAST_LOG_TIME' => $select_log_days,
    'L_LAST_LOG_TIME' => $lang['Last_log'],
    'L_LAST_LOG_TIME_E' => $lang['Last_log_explain'],


#
#-----[ OTWÓRZ ]------------------------------------------
#

language/lang_polish/lang_mass_email.php

#
#-----[ ZNAJD¬ ]------------------------------------------
#

?>

#
#-----[ PRZED, DODAJ ]------------------------------------------
#

$lang['Last_log'] = 'Czas ost. logowania';
$lang['Last_log_explain'] = 'Wysyła email\'e tylko do użytkowników, którzy logowali się w okre&#182;lonym czasie';
$lang['Any_time'] = 'Dowolny';


#
#-----[ OTWÓRZ ]------------------------------------------
#

templates/TwojStyl/admin/user_email_body.tpl

#
#-----[ ZNAJD¬ ]------------------------------------------
#

    <tr>
      <td class="row1" align="right"><b>{L_USERS_LANGUAGE}</b></td>
      <td class="row2" align="left">{LANGUAGE_SELECT} <span class="gensmall">{L_USERS_LANGUAGE_E}</span></td>
    </tr>

#
#-----[ PO, DODAJ ]------------------------------------------
#

    <tr>
      <td class="row1" align="right"><b>{L_LAST_LOG_TIME}</b></td>
      <td class="row2" align="left">{LAST_LOG_TIME} <span class="gensmall">{L_LAST_LOG_TIME_E}</span></td>
    </tr>   

#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
#
# EoM

rahim - 19-07-2006, 15:34

A istnieje co¶ takiego, że użytkownicy deklaruj± się czy chc± otrzymywać masow± (mailow±) korespondencję?
marcinczwa - 03-11-2006, 19:23

albo mi sie wydaje albo ta modyfikacja nie działa prowidłowo
uzytownicy pisza do mnie ze sie loguja na konta(a wysyłałem maile do osob ktore sie nie logowały od 3 miesiecy...)

emzet - 14-11-2006, 18:23

marcinczwa napisał/a:

uzytownicy pisza do mnie ze sie loguja na konta(a wysyłałem maile do osob ktore sie nie logowały od 3 miesiecy...)

o ile rozumiem to ta modyfikacja daje możliwo¶ć wysyłania maili do osób które się logowały w przeci±gu trzech miesięcy.
Przydałaby się też modyfikacja odwrotna - wysyłanie maili do ludzi którzy nie logowali się w ostatnim czasie.

mreaktor - 03-03-2008, 17:49

Dokładnie
Popieram kolegę.

wysyłanie maili do ludzi którzy nie logowali się w ostatnim czasie.

gaga - 17-04-2008, 21:12

dokladnie :)

swoja droga juz mialam wyslac MK, bo myslalam ze zaznaczajac rok wybieram tych ktorzy logowali sie dawniej niz 1 rok, a tu odwrotnie.
A moze wystarczy jakas mala zmiana, aby mod zadzialal odwrtonie..??

tosiek - 03-10-2008, 17:33

gaga napisał/a:
A moze wystarczy jakas mala zmiana, aby mod zadzialal odwrtonie

Czytaj i ogl±daj :)
http://www.przemo.org/php...pic.php?t=61161



Powered by phpBB modified by Przemo © 2003 phpBB Group