1
Mods & Plugins (Requests & Discussions) / [MOD]Remind your user (ACP Plugin)
« on: January 27, 2008, 04:46:51 PM »
I made i little php and modified /admin/email.php as reminder.php (plugin) . its only a beta. i test it ONLY 1.74.
I want to remind my users they don't visit the gallery since XX days.
SAVE YOUR FILES, AND MAKE A BACKUP!
New files:
/admin/plugins/reminder.php
Changed files:
/lang/<your_language>/admin.php
Install:
1. Download attached file reminder.zip and extract
1.1 Upload to /admin/plugins/reminder.php
or
1. Create a new file called: reminder.php
2. Open /lang/<your_language>/admin.php
(I'm using english here!!!)
Find:
Add after:
That' all...
How it works:
The plugin selects all user from your 4images_users table they don't visit your gallery since 60 days. You can send them a reminder email with your own subject and message.
Change the interval of there last visit:
Open /admin/plugin/reminder.php
Find:
Change the number...
Enjoy and good luck...
CanonInk
I want to remind my users they don't visit the gallery since XX days.
SAVE YOUR FILES, AND MAKE A BACKUP!
New files:
/admin/plugins/reminder.php
Changed files:
/lang/<your_language>/admin.php
Install:
1. Download attached file reminder.zip and extract
1.1 Upload to /admin/plugins/reminder.php
or
1. Create a new file called: reminder.php
Code: [Select]
<?php // PLUGIN_TITLE: Reminder
/**************************************************************************
* *
* 4images - A Web Based Image Gallery Management System *
* ---------------------------------------------------------------- *
* *
* File: reminder.php *
* Copyright: (C) 2008 Thomas Lunitz *
* Email: ./. *
* Web: ./. *
* Scriptversion: 1.7.4 *
* *
* *
**************************************************************************/
$interval = 60;
$nozip = 1;
define('IN_CP', 1);
$root_path = (!eregi("\/plugins\/", $HTTP_SERVER_VARS['PHP_SELF'])) ? "./../" : "./../../";
define('ROOT_PATH', $root_path);
require(ROOT_PATH.'admin/admin_global.php');
show_admin_header();
if ($action == "") {
$action = "show_user_inactive";
}
if ($action == "sendemails") {
$error = array();
$subject = (isset($HTTP_POST_VARS['subject'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['subject'])) : "";
$message = (isset($HTTP_POST_VARS['message'])) ? un_htmlspecialchars(trim($HTTP_POST_VARS['message'])) : "";
if ($subject == "") {
$error['subject'] = 1;
}
if ($message == "") {
$error['message'] = 1;
}
if (!isset($HTTP_POST_VARS['emails']) || empty($HTTP_POST_VARS['emails']) || !check_email($HTTP_POST_VARS['emails'])) {
$error['emails'] = 1;
}
if (empty($error)) {
@set_time_limit(1200);
include(ROOT_PATH.'includes/email.php');
$site_email = new Email();
$site_email->set_from(stripslashes(trim($config['site_email'])));
$site_email->set_to(stripslashes(trim($config['site_email'])));
$site_email->set_subject($subject);
$site_email->register_vars(array(
"message" => $message,
"site_email" => (stripslashes(trim($config['site_email']))),
"site_name" => format_text(trim($config['site_name']), 2)
));
$site_email->set_body("admin_email", $config['language_dir_default']);
$emails = (isset($HTTP_POST_VARS['emails'])) ? implode(", ", $HTTP_POST_VARS['emails']) : "";
$site_email->set_bcc($emails);
echo ($site_email->send_email()) ? $lang['send_emails_success'] : $lang['send_emails_error'];
echo "<p>";
show_text_link($lang['back'], "javascript:history.back(1)");
}
else {
$msg = sprintf("<span class=\"marktext\">%s</span>", $lang['lostfield_error']);
$action = "emailusers";
}
}
if ($action == "show_user_inactive") {
if ($msg != "") {
printf("<b>%s</b>\n", $msg);
}
show_form_header("reminder.php", "sendemails");
show_table_header($lang['send_reminder_emails'], 2);
show_input_row($lang['send_emails_subject'], "subject", "", 45);
show_textarea_row($lang['send_emails_message'], "message", "", 60, 20);
$select = "<select name=\"emails[]\" size=\"15\" multiple=\"multiple\">\n";
$sql ="SELECT ".get_user_table_field("", "user_id").get_user_table_field(", ", "user_level").get_user_table_field(", ", "user_name").get_user_table_field(", ", "user_email").get_user_table_field(", ", "user_lastvisit")."
FROM ".USERS_TABLE."
WHERE ".get_user_table_field("", "user_id")." <> ".GUEST."
AND ".get_user_table_field("", "user_allowemails")." = 1
AND FROM_UNIXTIME(user_lastvisit) < DATE_SUB(now(), INTERVAL ".$interval." DAY)
ORDER BY ".get_user_table_field("", "user_level")." DESC";
$result = $site_db->query($sql);
$level = 1000;
while ($row = $site_db->fetch_array($result)) {
$user_level = $row[$user_table_fields['user_level']];
if ($level != $user_level && $user_level == USER) {
$select .= "<option value=\"0\">__________________________</option>\n";
$select .= "<option value=\"0\" class=\"dropdownmarker\">".$lang['userlevel_registered']."</option>\n";
}
elseif ($level != $user_level && $user_level == USER_AWAITING) {
$select .= "<option value=\"0\">__________________________</option>\n";
$select .= "<option value=\"0\" class=\"dropdownmarker\">".$lang['userlevel_registered_awaiting']."</option>\n";
}
$user_email = (stripslashes(trim($row[$user_table_fields['user_email']])));
$user_name = format_text(trim($row[$user_table_fields['user_name']]), 2);
$selected = (isset($HTTP_POST_VARS['emails']) && !in_array($user_email, $HTTP_POST_VARS['emails'])) ? "" : " selected=\"selected\"";
$select .= "<option value=\"".$user_email."\"".$selected.">» ".format_text($user_name, 2)." (".$user_email.")</option>\n";
$level = $user_level;
}
$select .= "</select>\n";
$title = $lang['select_email_user'];
if (isset($error['emails'])) {
$title = sprintf("<span class=\"marktext\">%s *</span>", $title);
}
show_custom_row($title, $select);
show_form_footer($lang['send_emails'], "", 2);
}
show_admin_footer();
?>
2. Open /lang/<your_language>/admin.php
(I'm using english here!!!)
Find:
Code: [Select]
$lang['send_emails_error'] = "Error sending email!";
Add after:
Code: [Select]
$lang['send_reminder_emails'] = "Send reminder email to users";
That' all...
How it works:
The plugin selects all user from your 4images_users table they don't visit your gallery since 60 days. You can send them a reminder email with your own subject and message.
Change the interval of there last visit:
Open /admin/plugin/reminder.php
Find:
Code: [Select]
$interval = 60;
Change the number...
Code: [Select]
$interval = 30; //--> 30 days
$interval = 90; //--> 90 days
Enjoy and good luck...
CanonInk