+++ /dev/null
-<?php
-/************************************************************************
- * MXChange v0.2.1 Start: 08/14/2004 *
- * ================ Last change: 10/22/2004 *
- * *
- * -------------------------------------------------------------------- *
- * File : what-admins_mails.php *
- * -------------------------------------------------------------------- *
- * Short description : Control which admin shall receive which mail *
- * -------------------------------------------------------------------- *
- * Kurzbeschreibung : Stellen Sie ein, welcher Admin welche Mail erh. *
- * -------------------------------------------------------------------- *
- * *
- * -------------------------------------------------------------------- *
- * Copyright (c) 2003 - 2008 by Roland Haeder *
- * For more information visit: http://www.mxchange.org *
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- * This program is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
- * GNU General Public License for more details. *
- * *
- * You should have received a copy of the GNU General Public License *
- * along with this program; if not, write to the Free Software *
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, *
- * MA 02110-1301 USA *
- ************************************************************************/
-
-// Some security stuff...
-if ((ereg(basename(__FILE__), $_SERVER['PHP_SELF'])) || (!IS_ADMIN()))
-{
- $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
- require($INC);
-}
-// Add description as navigation point
-ADD_DESCR("admin", basename(__FILE__));
-
-if (isset($_POST['edit']))
-{
- // Check if entires are checked
- $SEL = SELECTION_COUNT($_POST['sel']);
- if ($SEL > 0)
- {
- // Add option for userlog
- $ADMINS = ADD_OPTION_LINES("admins", "id", "login", "", "email");
- $SW = 2; $ROWS = "";
- foreach ($_POST['sel'] as $template=>$sel)
- {
- // First of all load data from DB
- $result = SQL_QUERY_ESC("SELECT admin_id, id FROM "._MYSQL_PREFIX."_admins_mails WHERE mail_template='%s' ORDER BY id",
- array($template), __FILE__, __LINE__);
- $OUT = ""; $aid = "0"; $aid2 = "0";
- while (list($aid, $id) = SQL_FETCHROW($result))
- {
- $OUT .= "<SELECT name=\"admin_id[".$id."]\" size=\"1\" class=\"admin_select\">
-<OPTION value=\"0\"";
- if ($aid == "0") $OUT .= " selected default";
- $OUT .=">".ADMINS_ALL_ADMINS."</OPTION>\n";
- if (EXT_IS_ACTIVE("userlog"))
- {
- $OUT .= "<OPTION value=\"-1\"";
- if ($aid == "-1") $OUT .= " selected default";
- $OUT .= ">".ADMINS_TO_USERLOG."</OPTION>\n";
- }
- $OUT .= ADD_OPTION_LINES("admins", "id", "login", $aid, "email");
- $OUT .= "</SELECT><BR>\n";
- $aid2 = $aid; $id2 = $id;
- }
-
- // Free memory
- SQL_FREERESULT($result);
-
- $content = array(
- 'sw' => $SW,
- 'id' => $id,
- 'id2' => $id2,
- 'tpl' => $template,
- 'admins' => $ADMINS
- );
-
- if ($aid2 > 0)
- {
- // Add form for an additional admin
- $OUT .= LOAD_TEMPLATE("admin_admins_mails_edit_form", true, $content);
- }
- // Save full rendered content
- $content['content'] = $OUT;
-
- // Start outputing line
- $ROWS .= LOAD_TEMPLATE("admin_admins_mails_edit_row", true, $content);
- $SW = 3 - $SW;
- }
- define('__ADMINS_ROWS', $ROWS);
-
- // Edit checked entries
- LOAD_TEMPLATE("admin_admins_mails_edit");
- }
- else
- {
- // Nothing selected
- LOAD_TEMPLATE("admin_settings_saved", false, ADMINS_NO_MAIL_CHECKED);
- }
-}
- else
-{
- // Load all assigned mails
- $result = SQL_QUERY("SELECT DISTINCT m.id, m.admin_id, a.login, m.mail_template
-FROM "._MYSQL_PREFIX."_admins_mails AS m
-LEFT JOIN "._MYSQL_PREFIX."_admins AS a
-ON m.admin_id=a.id
-WHERE (m.admin_id=a.id OR m.admin_id < 1) AND m.mail_template != ''
-ORDER BY m.admin_id, m.mail_template", __FILE__, __LINE__);
-
- if (SQL_NUMROWS($result) > 0)
- {
- // Shall I change entries?
- if (isset($_POST['change']))
- {
- // Ok, update database
- foreach ($_POST['admin_id'] as $id=>$aid)
- {
- // Secure IDs
- $id = bigintval($id);
- $aid = bigintval($aid);
-
- // Update entry
- $result = SQL_QUERY_ESC("UPDATE "._MYSQL_PREFIX."_admins_mails SET admin_id=%d WHERE id=%d ORDER BY id LIMIT 1",
- array($aid, $id), __FILE__, __LINE__);
-
- if (($aid < 1) && (!empty($_POST['template'][$id])))
- {
- // Remove any other admin entries
- $result = SQL_QUERY_ESC("DELETE LOW_PRIORITY FROM "._MYSQL_PREFIX."_admins_mails WHERE mail_template='%s' AND id != '%s'",
- array($_POST['template'][$id], $id), __FILE__, __LINE__);
- }
- if ($_POST['admin_new'][$_POST['template'][$id]] > 0)
- {
- // Add new admin
- $result = SQL_QUERY_ESC("INSERT INTO "._MYSQL_PREFIX."_admins_mails (admin_id, mail_template) VALUES ('%s', '%s')",
- array($aid, $_POST['template'][$id]), __FILE__, __LINE__);
- }
- }
-
- // Query again...
- $result = SQL_QUERY("SELECT DISTINCT m.id, m.admin_id, a.login, m.mail_template FROM "._MYSQL_PREFIX."_admins_mails AS m, "._MYSQL_PREFIX."_admins AS a WHERE m.admin_id=a.id OR m.admin_id < 1 ORDER BY m.admin_id", __FILE__, __LINE__);
- }
-
- // List found entries
- $SW = 2; $OUT = "";
- while(list($id, $aid, $admin, $templ) = SQL_FETCHROW($result))
- {
- if ($aid > 0)
- {
- // Admin assigned
- $admin_link = "<A href=\"".URL."/modules.php?module=admin&what=admins_contct&admin=".$aid."\">".$admin."</A>";
- }
- elseif ($aid == 0)
- {
- // All admins
- $admin_link = "<I>".ADMINS_ALL_ADMINS."</I>";
- }
- elseif (($aid == -1) && (EXT_IS_ACTIVE("usrlog")))
- {
- // To userlog
- $admin_link = "<I>".ADMINS_TO_USERLOG."</I>";
- }
- $content = array(
- 'sw' => $SW,
- 'tpl' => $templ,
- 'alnk' => $admin_link
- );
-
- // Load row template
- $OUT .= LOAD_TEMPLATE("admin_admins_mails_list_row", true, $content);
- $SW = 3 - $SW;
- }
-
- // Free result
- SQL_FREERESULT($result);
- define('__MAILS_ROWS', $OUT);
-
- // Load template
- LOAD_TEMPLATE("admin_admins_mails_list");
- }
- else
- {
- // No entries found
- LOAD_TEMPLATE("admin_settings_saved", false, ADMINS_MAILS_NO_ENTRIES);
- }
-}
-//
-?>