4images Modifications / Modifikationen > Plugins
[Plugin] Pm to Members
b.o.fan:
EDIT FROM A FORUM ADMINISTRATOR:
This plugin requires the installation of the "[MOD] Private Message System (PMS) not supported anymore!"
http://www.4homepages.de/forum/index.php?topic=5374.0
Hello,
here is my pm_to_members.php. here you can send a PM (newsletter) to all User on your Page!
save the pm_to_members.php in admin/plugin
--- Code: ---<?php // PLUGIN_TITLE: Send pm to members
/**************************************************************************
* *
* 4images - A Web Based Image Gallery Management System *
* ---------------------------------------------------------------- *
* *
* File: pm_to_members.php *
* Copyright: (C) 2002 Jan Sorgalla *
* Email: jan@4homepages.de *
* Web: http://www.4homepages.de *
* Scriptversion: 1.8 *
* *
* Never released without support from: Nicky (http://www.nicky.net) *
* *
**************************************************************************
* *
* Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz- *
* bedingungen (Lizenz.txt) für weitere Informationen. *
* --------------------------------------------------------------- *
* This script is NOT freeware! Please read the Copyright Notice *
* (Licence.txt) for further information. *
* *
*************************************************************************/
$nozip = 1;
define('IN_CP', 1);
define('ROOT_PATH', "./../../");
define('ROOT_PATH_ADMIN', "./../");
require(ROOT_PATH_ADMIN.'admin_global.php');
if ($action == "") {
$action = "pmusers";
}
show_admin_header();
if ($action == "sendpm") {
$error = array();
$stealth = ($HTTP_POST_VARS['stealth']) ? 1 : 0;
$subject = trim($HTTP_POST_VARS['subject']);
$message = trim($HTTP_POST_VARS['message']);
if ($subject == "") {
$error['subject'] = 1;
}
if ($message == "") {
$error['message'] = 1;
}
if (!isset($HTTP_POST_VARS['pm']) || empty($HTTP_POST_VARS['pm'])) {
$error['pm'] = 1;
}
if (empty($error)) {
$pm = $HTTP_POST_VARS['pm'];
include(ROOT_PATH.'includes/email.php');
$n = 0;
foreach ($pm as $key) {
if ($key) {
$user_to = get_user_info($key);
$message_save = $message;
$message = preg_replace("/".$site_template->start."user_name".$site_template->end."/siU", $user_to['user_name'], $message);
$message = preg_replace("/".$site_template->start."user_email".$site_template->end."/siU", $user_to['user_email'], $message);
$sql = "INSERT INTO ".PM_TABLE."
(pm_date, pm_to, pm_from, pm_subject, pm_type, pm_text, pm_bbcode, pm_html, pm_ip)
VALUES
(".time().", ".$key.", ".(($stealth) ? 0 : $user_info['user_id']).", '".$subject."', ".PM_UNREAD.", '".$message."', 1, 1, '0')";
$result = $site_db->query($sql);
$result_error = ($result) ? $result_error : $result_error++;
if ($user_to['user_pm_email']){
@set_time_limit(1200);
$site_email = new Email();
// $pm_url = "http://come.no-ip.com/pm.php?action=view&mode=inbox&id=".$site_db->get_insert_id();
$pm_url = $site_url."/pm.php?action=view&mode=inbox&id=".$site_db->get_insert_id();
$site_email->set_to($user_to['user_email']);
$site_email->set_subject($lang['pm_email_new']);
$site_email->register_vars(array(
"user_name" => $user_to['user_name'],
"from_name" => $user_info['user_name'],
"subject" => $subject,
"site_url" => $site_url,
// "site_url" => "http://come.no-ip.com",
"url" => $pm_url,
"site_name" => $config['site_name']
));
$site_email->set_body("pm_notify", $config['language_dir_default']);
$site_email->send_email();
}
echo ++$n." - ".$user_to['user_name'].".....DONE<br>";
$message = $message_save;
}
}
echo (!$result_error) ? "Messages sent successfully" : "Error sending messages";
echo "<p>";
show_text_link($lang['back'], "javascript:history.back(1)");
}
else {
$msg = sprintf("<span class=\"marktext\">%s</span>", $lang['lostfield_error']);
$action = "pmusers";
}
}
if ($action == "pmusers") {
if ($msg != "") {
printf("<b>%s</b>\n", $msg);
}
show_form_header("pm_to_members.php", "sendpm");
show_table_header("Send pm", 2);
show_input_row("Subject", "subject", "", 45);
show_textarea_row("Message", "message", "", 60, 20);
$select = "<select name=\"pm[]\" 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")."
FROM ".USERS_TABLE."
WHERE ".get_user_table_field("", "user_id")." <> ".GUEST." AND ".get_user_table_field("", "user_id")." <> ".$user_info['user_id']."
ORDER BY ".get_user_table_field("", "user_level")." DESC, ".get_user_table_field("", "user_name")." ASC";
$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 == ADMIN) {
$select .= "<option value=\"0\">__________________________</option>\n";
$select .= "<option value=\"0\" class=\"dropdownmarker\">".$lang['userlevel_admin']."</option>\n";
}
elseif ($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_id = $row[$user_table_fields['user_id']];
$user_name = $row[$user_table_fields['user_name']];
$selected = (isset($HTTP_POST_VARS['pm']) && !in_array($user_id, $HTTP_POST_VARS['pm'])) ? "" : " selected=\"selected\"";
$select .= "<option value=\"".$user_id."\"".$selected.">» ".$user_name."</option>\n";
$level = $user_level;
}
$select .= "</select>\n";
$title = $lang['select_email_user'];
if (isset($error['pm'])) {
$title = sprintf("<span class=\"marktext\">%s *</span>", $title);
}
$stealth = (isset($HTTP_POST_VARS['stealth'])) ? " checked" : "";
show_custom_row($title, $select);
show_custom_row("", "<input type=\"checkbox\" name=\"stealth\" value=\"1\"".$stealth."> Stealth mode. If u check this, member wont know from who the message came");
show_form_footer("Send", "", 2);
}
show_admin_footer();
?>
--- End code ---
----------------Deutsch------------
hier ist meine pm_to_member.php
diese packt ihr in den Ordner admin/plugin
--- Code: ---<?php // PLUGIN_TITLE: Send pm to members
/**************************************************************************
* *
* 4images - A Web Based Image Gallery Management System *
* ---------------------------------------------------------------- *
* *
* File: pm_to_members.php *
* Copyright: (C) 2002 Jan Sorgalla *
* Email: jan@4homepages.de *
* Web: http://www.4homepages.de *
* Scriptversion: 1.8 *
* *
* Never released without support from: Nicky (http://www.nicky.net) *
* *
**************************************************************************
* *
* Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz- *
* bedingungen (Lizenz.txt) für weitere Informationen. *
* --------------------------------------------------------------- *
* This script is NOT freeware! Please read the Copyright Notice *
* (Licence.txt) for further information. *
* *
*************************************************************************/
$nozip = 1;
define('IN_CP', 1);
define('ROOT_PATH', "./../../");
define('ROOT_PATH_ADMIN', "./../");
require(ROOT_PATH_ADMIN.'admin_global.php');
if ($action == "") {
$action = "pmusers";
}
show_admin_header();
if ($action == "sendpm") {
$error = array();
$stealth = ($HTTP_POST_VARS['stealth']) ? 1 : 0;
$subject = trim($HTTP_POST_VARS['subject']);
$message = trim($HTTP_POST_VARS['message']);
if ($subject == "") {
$error['subject'] = 1;
}
if ($message == "") {
$error['message'] = 1;
}
if (!isset($HTTP_POST_VARS['pm']) || empty($HTTP_POST_VARS['pm'])) {
$error['pm'] = 1;
}
if (empty($error)) {
$pm = $HTTP_POST_VARS['pm'];
include(ROOT_PATH.'includes/email.php');
$n = 0;
foreach ($pm as $key) {
if ($key) {
$user_to = get_user_info($key);
$message_save = $message;
$message = preg_replace("/".$site_template->start."user_name".$site_template->end."/siU", $user_to['user_name'], $message);
$message = preg_replace("/".$site_template->start."user_email".$site_template->end."/siU", $user_to['user_email'], $message);
$sql = "INSERT INTO ".PM_TABLE."
(pm_date, pm_to, pm_from, pm_subject, pm_type, pm_text, pm_bbcode, pm_html, pm_ip)
VALUES
(".time().", ".$key.", ".(($stealth) ? 0 : $user_info['user_id']).", '".$subject."', ".PM_UNREAD.", '".$message."', 1, 1, '0')";
$result = $site_db->query($sql);
$result_error = ($result) ? $result_error : $result_error++;
if ($user_to['user_pm_email']){
@set_time_limit(1200);
$site_email = new Email();
// $pm_url = "http://come.no-ip.com/pm.php?action=view&mode=inbox&id=".$site_db->get_insert_id();
$pm_url = $site_url."/pm.php?action=view&mode=inbox&id=".$site_db->get_insert_id();
$site_email->set_to($user_to['user_email']);
$site_email->set_subject($lang['pm_email_new']);
$site_email->register_vars(array(
"user_name" => $user_to['user_name'],
"from_name" => $user_info['user_name'],
"subject" => $subject,
"site_url" => $site_url,
// "site_url" => "http://come.no-ip.com",
"url" => $pm_url,
"site_name" => $config['site_name']
));
$site_email->set_body("pm_notify", $config['language_dir_default']);
$site_email->send_email();
}
echo ++$n." - ".$user_to['user_name'].".....DONE<br>";
$message = $message_save;
}
}
echo (!$result_error) ? "Messages sent successfully" : "Error sending messages";
echo "<p>";
show_text_link($lang['back'], "javascript:history.back(1)");
}
else {
$msg = sprintf("<span class=\"marktext\">%s</span>", $lang['lostfield_error']);
$action = "pmusers";
}
}
if ($action == "pmusers") {
if ($msg != "") {
printf("<b>%s</b>\n", $msg);
}
show_form_header("pm_to_members.php", "sendpm");
show_table_header("Send pm", 2);
show_input_row("Subject", "subject", "", 45);
show_textarea_row("Message", "message", "", 60, 20);
$select = "<select name=\"pm[]\" 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")."
FROM ".USERS_TABLE."
WHERE ".get_user_table_field("", "user_id")." <> ".GUEST." AND ".get_user_table_field("", "user_id")." <> ".$user_info['user_id']."
ORDER BY ".get_user_table_field("", "user_level")." DESC, ".get_user_table_field("", "user_name")." ASC";
$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 == ADMIN) {
$select .= "<option value=\"0\">__________________________</option>\n";
$select .= "<option value=\"0\" class=\"dropdownmarker\">".$lang['userlevel_admin']."</option>\n";
}
elseif ($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_id = $row[$user_table_fields['user_id']];
$user_name = $row[$user_table_fields['user_name']];
$selected = (isset($HTTP_POST_VARS['pm']) && !in_array($user_id, $HTTP_POST_VARS['pm'])) ? "" : " selected=\"selected\"";
$select .= "<option value=\"".$user_id."\"".$selected.">» ".$user_name."</option>\n";
$level = $user_level;
}
$select .= "</select>\n";
$title = $lang['select_email_user'];
if (isset($error['pm'])) {
$title = sprintf("<span class=\"marktext\">%s *</span>", $title);
}
$stealth = (isset($HTTP_POST_VARS['stealth'])) ? " checked" : "";
show_custom_row($title, $select);
show_custom_row("", "<input type=\"checkbox\" name=\"stealth\" value=\"1\"".$stealth."> Stealth mode. If u check this, member wont know from who the message came");
show_form_footer("Send", "", 2);
}
show_admin_footer();
?>
--- End code ---
tja. das wäre es....
b.o.fan
ascanio:
Any body has make a modificatios of this file for the new version of the Private Messages MOD?
martrix:
@ Chris:
I guess you're not right with that:
--- Quote ---EDIT FROM A FORUM ADMINISTRATOR:
This plugin requires the installation of the "[MOD] Private Message System (PMS) not supported anymore!"
--- End quote ---
Because the string pms is used in the old PM Mod.
But this Plugin uses only pm which is an indicator of the new PM system modification.
Or am I wrong?
hien:
i tried... it works fine with the new version
mawenzi:
hi b.o.fan,
danke für das Posting dieses sehr hilfreichen Plugins ... :D
Dieses Plugin arbeitet sehrwohl mit der neusten Version (2.5.3) vom PM (...@ Chris...) .
Doch auch für die Anwendung in deutsch muss die Datei pm_to_members.php heißen ... :wink: ... sonst läuft nichts ...
nochmals danke ... mawenzi
Navigation
[0] Message Index
[#] Next page
Go to full version