Unofficial modifications
nieoficjalne modyfikacje for?w phpBB by Przemo

Modyfikacje mniejsze - Dodatek do mas. korespondencji

azwel - Czw 06 Lip, 2006
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.

PHP Code:
<?php

##############################################################
## Author MODa: azwel <me@azwel.pl> http://azwel.pl
## 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ś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


?>

Crash_3d - Sro 12 Lip, 2006

Pewnie ?atwo by by?o odwr?cic dzialanie by wysylal maila do osob, kt?ry si? nie logowa?y przez dany okres.

Mogby? to przerobic?

PiotrLegnica - Czw 13 Lip, 2006

Spr?buj SQL zamieni? na:
PHP Code:
<?php

$sql_time = ($last_log_days > 0) ? " AND u.user_lastvisit < " . intval( time() - ($last_log_days*60) ) . " " : '';


?>

IMO powinno zadzia?a

marcinczwa - Sob 27 Sty, 2007

czy ta zmiana zadzia?a?a?
Ronaldinio - Sob 27 Sty, 2007

marcinczwa, przetestuj sam przeciez to niewiele roboty,zaloz se forum na yoyo.pl i sprawdz :)
marcinczwa - Sob 27 Sty, 2007

nie chece mi sie kombinowa? :P
jak ktos instalowa? to mo?e powiedzie? czy dzia?a poprawnie czy nie...


Powered by phpBB modified by Przemo © 2003 phpBB Group