[geeklog-cvs] Geeklog-1.x/public_html/admin user.php,1.195,1.196
Blaine Lang
blaine at qs1489.pair.com
Sun Nov 25 00:19:05 EST 2007
Update of /cvsroot/geeklog/Geeklog-1.x/public_html/admin
In directory qs1489.pair.com:/tmp/cvs-serv5679
Modified Files:
user.php
Log Message:
Added user 'batch admin' feature to send out account reminders to users that have not frequented the site recently
Index: user.php
===================================================================
RCS file: /cvsroot/geeklog/Geeklog-1.x/public_html/admin/user.php,v
retrieving revision 1.195
retrieving revision 1.196
diff -C2 -d -r1.195 -r1.196
*** user.php 23 Nov 2007 12:40:49 -0000 1.195
--- user.php 25 Nov 2007 05:19:03 -0000 1.196
***************
*** 697,701 ****
$user_templates = new Template($_CONF['path_layout'] . 'admin/user');
$user_templates->set_file (array ('form' => 'batchdelete.thtml',
! 'options' => 'batchdelete_options.thtml'));
$user_templates->set_var ('site_admin_url', $_CONF['site_admin_url']);
$user_templates->set_var ('usr_type', $usr_type);
--- 697,702 ----
$user_templates = new Template($_CONF['path_layout'] . 'admin/user');
$user_templates->set_file (array ('form' => 'batchdelete.thtml',
! 'options' => 'batchdelete_options.thtml',
! 'reminder' => 'reminder.thtml'));
$user_templates->set_var ('site_admin_url', $_CONF['site_admin_url']);
$user_templates->set_var ('usr_type', $usr_type);
***************
*** 762,773 ****
$header_arr[] = array('text' => $LANG28[7], 'field' => 'email', 'sort' => true);
! $text_arr = array(
! 'has_menu' => true,
! 'has_extras' => true,
! 'title' => $LANG28[54],
! 'icon' => $_CONF['layout_url'] . '/images/icons/user.' . $_IMAGE_TYPE,
! 'form_url' => $_CONF['site_admin_url'] . "/user.php?mode=batchdelete&usr_type=$usr_type&usr_time=$usr_time",
! 'help_url' => ''
);
--- 763,783 ----
$header_arr[] = array('text' => $LANG28[7], 'field' => 'email', 'sort' => true);
+ $header_arr[] = array('text' => 'Reminders', 'field' => 'num_reminders', 'sort' => true);
+ $menu_arr = array (
+ array('url' => $_CONF['site_admin_url'] . '/user.php',
+ 'text' => $LANG28[11]),
+ array('url' => $_CONF['site_admin_url'] . '/user.php?mode=importform',
+ 'text' => $LANG28[23]),
+ array('url' => $_CONF['site_admin_url'],
+ 'text' => $LANG_ADMIN['admin_home'])
+ );
! $text_arr = array('has_menu' => true,
! 'has_extras' => true,
! 'title' => $LANG28[54],
! 'instructions' => "$desc",
! 'icon' => $_CONF['layout_url'] . '/images/icons/user.' . $_IMAGE_TYPE,
! 'form_url' => $_CONF['site_admin_url'] . "/user.php?mode=batchdelete&usr_type=$usr_type&usr_time=$usr_time",
! 'help_url' => ''
);
***************
*** 778,782 ****
$select_userinfo = ", lastlogin as lastlogin_short $list_sql ";
! $sql = "SELECT {$_TABLES['users']}.uid,username,fullname,email,photo,status,regdate$select_userinfo "
. "FROM {$_TABLES['users']} $join_userinfo WHERE 1=1";
--- 788,792 ----
$select_userinfo = ", lastlogin as lastlogin_short $list_sql ";
! $sql = "SELECT {$_TABLES['users']}.uid,username,fullname,email,photo,status,regdate,num_reminders$select_userinfo "
. "FROM {$_TABLES['users']} $join_userinfo WHERE 1=1";
***************
*** 804,809 ****
);
$display .= ADMIN_list ("user", "ADMIN_getListField_users", $header_arr, $text_arr,
! $query_arr, $defsort_arr, '', '', $listoptions);
// $display .= "<input type=\"hidden\" name=\"mode\" value=\"batchdeleteexec\"></form>" . LB;
--- 814,824 ----
);
+ $user_templates->set_var('lang_reminder',$LANG28[77]);
+ $user_templates->set_var('action_reminder',$LANG28[78]);
+ $user_templates->parse('test','reminder');
+
+ $form_arr['top'] = $user_templates->get_var('test');
$display .= ADMIN_list ("user", "ADMIN_getListField_users", $header_arr, $text_arr,
! $query_arr, $defsort_arr, '', '', $listoptions,$form_arr);
// $display .= "<input type=\"hidden\" name=\"mode\" value=\"batchdeleteexec\"></form>" . LB;
***************
*** 851,854 ****
--- 866,947 ----
+
+ /**
+ * This function used to send out reminders to users to access the site or account may be deleted
+ *
+ * @return string HTML with success or error message
+ *
+ */
+ function batchreminders()
+ {
+ global $_CONF, $_TABLES, $LANG28;
+ $msg = '';
+ $user_list = array();
+ if (isset($_POST['delitem'])) {
+ $user_list = $_POST['delitem'];
+ }
+
+ if (count($user_list) == 0) {
+ $msg = $LANG28[79] . "<br>";
+ }
+ $c = 0;
+
+ if (isset($_POST['delitem']) AND is_array($_POST['delitem'])) {
+ foreach($_POST['delitem'] as $delitem) {
+ $userid = COM_applyFilter($delitem);
+ $useremail = DB_getItem ($_TABLES['users'], 'email', "uid = '$userid'");
+ $username = DB_getItem ($_TABLES['users'], 'username', "uid = '$userid'");
+ $lastlogin = DB_getItem ($_TABLES['userinfo'], 'lastlogin', "uid = '$userid'");
+ $lasttime = COM_getUserDateTimeFormat ($lastlogin);
+ if (file_exists ($_CONF['path_data'] . 'reminder_email.txt')) {
+ $template = new Template ($_CONF['path_data']);
+ $template->set_file (array ('mail' => 'reminder_email.txt'));
+ $template->set_var ('site_url', $_CONF['site_url']);
+ $template->set_var ('site_name', $_CONF['site_name']);
+ $template->set_var ('site_slogan', $_CONF['site_slogan']);
+ $template->set_var ('lang_username', $LANG04[2]);
+ $template->set_var ('username', $username);
+ $template->set_var ('name', COM_getDisplayName ($uid));
+ $template->set_var ('lastlogin',$lasttime[0]);
+
+ $template->parse ('output', 'mail');
+ $mailtext = $template->get_var ('output');
+ } else {
+ if ($lastlogin == 0) {
+ $mailtext = $LANG28[83] . "\n\n";
+ } else {
+ $mailtext = sprintf($LANG28[82],$lasttime[0]) . "\n\n";
+ }
+ $mailtext .= sprintf($LANG28[84],$username) . "\n";
+ $mailtext .= sprintf($LANG28[85],$_CONF['site_url'] . '/users.php?mode=getpassword') . "\n\n";
+
+ }
+ $subject = sprintf($LANG28[81],$_CONF['site_name']);
+ if ($_CONF['site_mail'] !== $_CONF['noreply_mail']) {
+ $mailfrom = $_CONF['noreply_mail'];
+ global $LANG_LOGIN;
+ $mailtext .= LB . LB . $LANG04[159];
+ } else {
+ $mailfrom = $_CONF['site_mail'];
+ }
+
+ if (COM_mail ($useremail, $subject, $mailtext, $mailfrom)) {
+ DB_query("UPDATE {$_TABLES['users']} SET num_reminders=num_reminders+1 WHERE uid=$userid");
+ $c++;
+ } else {
+ COM_errorLog("Error attempting to send account reminder to use:$username ($userid)");
+ }
+ }
+ }
+
+ // Since this function is used for deletion only, its necessary to say that
+ // zero where deleted instead of just leaving this message away.
+ COM_numberFormat($c); // just in case we have more than 999)..
+ $msg .= "{$LANG28[80]}: $c<br>\n";
+ return $msg;
+
+ }
+
+
/**
* This function allows the administrator to import batches of users
***************
*** 1103,1106 ****
--- 1196,1205 ----
$display .= batchdelete();
$display .= COM_siteFooter();
+ } elseif ($mode == 'Send Reminder') {
+ $msg = batchreminders();
+ $display .= COM_siteHeader ('menu', $LANG28[11])
+ . COM_showMessage($msg)
+ . batchdelete()
+ . COM_siteFooter();
} else if ($mode == 'batchdeleteexec') {
$msg = batchdeleteexec();
More information about the geeklog-cvs
mailing list