1
0
mirror of https://github.com/e107inc/e107.git synced 2025-02-13 19:15:19 +01:00
php-e107/e107_plugins/pm/pm_conf.php
2007-02-04 15:37:15 +00:00

365 lines
11 KiB
PHP
Executable File

<?php
/*
+ ----------------------------------------------------------------------------+
| e107 website system
|
| ©Steve Dunstan 2001-2002
| http://e107.org
| jalist@e107.org
|
| Released under the terms and conditions of the
| GNU General Public License (http://gnu.org).
|
| $Source: /cvs_backup/e107_0.8/e107_plugins/pm/pm_conf.php,v $
| $Revision: 1.2 $
| $Date: 2007-02-04 15:37:15 $
| $Author: mcfly_e107 $
+----------------------------------------------------------------------------+
*/
$retrieve_prefs[] = 'pm_prefs';
$eplug_admin = TRUE;
require_once("../../class2.php");
require_once(e_PLUGIN."pm/pm_class.php");
require_once(e_HANDLER."userclass_class.php");
require_once(e_HANDLER."form_handler.php");
if (!getperms("P"))
{
header("location:".e_BASE."index.php");
exit;
}
$action = e_QUERY;
require_once(e_ADMIN."auth.php");
if($action == "")
{
$action = "main";
}
$pm_prefs = $sysprefs->getArray("pm_prefs");
//pm_prefs record not found in core table, set to defaults and create record
if(!is_array($pm_prefs))
{
require_once(e_PLUGIN."pm/pm_default.php");
$pm_prefs = pm_set_default_prefs();
$sysprefs->setArray('pm_prefs');
$message = ADLAN_PM_3;
}
$lan_file = e_PLUGIN."pm/languages/admin/".e_LANGUAGE.".php";
include_once(is_readable($lan_file) ? $lan_file : e_PLUGIN."pm/languages/admin/English.php");
if (isset($_POST['update_prefs']))
{
foreach($_POST['option'] as $k => $v)
{
$pm_prefs[$k] = $v;
}
$sysprefs->setArray('pm_prefs');
$message = ADLAN_PM_4;
}
if(isset($_POST['addlimit']))
{
if($sql->db_Select('generic','gen_id',"gen_type = 'pm_limit' AND gen_datestamp = {$_POST['newlimit_class']}"))
{
$message = ADLAN_PM_5;
}
else
{
if($sql->db_Insert('generic',"0, 'pm_limit', '{$_POST['newlimit_class']}', '{$_POST['new_inbox_count']}', '{$_POST['new_outbox_count']}', '{$_POST['new_inbox_size']}', '{$_POST['new_outbox_size']}'"))
{
$message = ADLAN_PM_6;
}
else
{
$message = ADLAN_PM_7;
}
}
}
if(isset($_POST['updatelimits']))
{
if($pref['pm_limits'] != $_POST['pm_limits'])
{
$pref['pm_limits'] = $_POST['pm_limits'];
save_prefs();
$message .= ADLAN_PM_8."<br />";
}
foreach(array_keys($_POST['inbox_count']) as $id)
{
if($_POST['inbox_count'][$id] == "" && $_POST['outbox_count'][$id] == "" && $_POST['inbox_size'][$id] == "" && $_POST['outbox_size'][$id] == "")
{
//All entries empty - Remove record
if($sql->db_Delete('generic',"gen_id = {$id}"))
{
$message .= $id.ADLAN_PM_9."<br />";
}
else
{
$message .= $id.ADLAN_PM_10."<br />";
}
}
else
{
$sql->db_Update('generic',"gen_user_id = '{$_POST['inbox_count'][$id]}', gen_ip = '{$_POST['outbox_count'][$id]}', gen_intdata = '{$_POST['inbox_size'][$id]}', gen_chardata = '{$_POST['outbox_size'][$id]}' WHERE gen_id = {$id}");
$message .= $id.ADLAN_PM_11."<br />";
}
}
}
if(isset($message))
{
$ns->tablerender("", $message);
}
if($action == "main")
{
$ns->tablerender(ADLAN_PM_12, show_options());
}
if($action == "limits")
{
$ns->tablerender(ADLAN_PM_14, show_limits());
$ns->tablerender(ADLAN_PM_15, add_limit());
}
require_once(e_ADMIN."footer.php");
function yes_no($fname)
{
global $pm_prefs;
$ret =
form::form_radio("option[{$fname}]", "1", ($pm_prefs[$fname] ? "1" : "0"), "", "").LAN_YES." ".
form::form_radio("option[{$fname}]", "0", ($pm_prefs[$fname] ? "0" : "1"), "", "").LAN_NO;
return $ret;
}
function show_options()
{
global $pm_prefs;
$txt = "
<form method='post' action='".e_SELF."'>
<table class='fborder' style='width:95%'>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_16."</td>
<td class='forumheader3' style='width:25%'>".form::form_text('option[title]', 20, $pm_prefs['title'], 50)."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_17."</td>
<td class='forumheader3' style='width:25%'>".yes_no('animate')."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_18."</td>
<td class='forumheader3' style='width:25%'>".yes_no('dropdown')."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_19."</td>
<td class='forumheader3' style='width:25%'>".form::form_text('option[read_timeout]', 5, $pm_prefs['read_timeout'], 5)."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_20."</td>
<td class='forumheader3' style='width:25%'>".form::form_text('option[unread_timeout]', 5, $pm_prefs['unread_timeout'], 5)."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_21."</td>
<td class='forumheader3' style='width:25%'>".yes_no('popup')."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_22."</td>
<td class='forumheader3' style='width:25%'>".form::form_text('option[popup_delay]', 5, $pm_prefs['popup_delay'], 5)." ".ADLAN_PM_44."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_23."</td>
<td class='forumheader3' style='width:25%'>".r_userclass('option[pm_class]', $pm_prefs['pm_class'], 'off', 'members, admin, classes')."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_24."</td>
<td class='forumheader3' style='width:25%'>".form::form_text('option[perpage]', 5, $pm_prefs['perpage'], 5)."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_25."</td>
<td class='forumheader3' style='width:25%'>".r_userclass('option[notify_class]', $pm_prefs['notify_class'], 'off', 'nobody, members, admin, classes')."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_26."</td>
<td class='forumheader3' style='width:25%'>".r_userclass('option[receipt_class]', $pm_prefs['receipt_class'], 'off', 'nobody, members, admin, classes')."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_27."</td>
<td class='forumheader3' style='width:25%'>".r_userclass('option[attach_class]', $pm_prefs['attach_class'], 'off', 'nobody, members, admin, classes')."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_28."</td>
<td class='forumheader3' style='width:25%'>".form::form_text('option[attach_size]', 8, $pm_prefs['attach_size'], 8)." kB</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_29."</td>
<td class='forumheader3' style='width:25%'>".r_userclass('option[sendall_class]', $pm_prefs['sendall_class'], 'off', 'nobody, members, admin, classes')."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_30."</td>
<td class='forumheader3' style='width:25%'>".r_userclass('option[multi_class]', $pm_prefs['multi_class'], 'off', 'nobody, members, admin, classes')."</td>
</tr>
<tr>
<td class='forumheader3' style='width:75%'>".ADLAN_PM_31."</td>
<td class='forumheader3' style='width:25%'>".yes_no('allow_userclass')."</td>
</tr>
<tr>
<td class='forumheader' colspan='2' style='text-align:center'><input type='submit' class='button' name='update_prefs' value='".ADLAN_PM_32."' /></td>
</tr>
</table>
</form>
";
return $txt;
}
function show_limits()
{
global $sql, $pref;
if($sql->db_Select('userclass_classes','userclass_id, userclass_name'))
{
$classList = $sql->db_getList();
}
if($sql->db_Select("generic", "gen_id as limit_id, gen_datestamp as limit_classnum, gen_user_id as inbox_count, gen_ip as outbox_count, gen_intdata as inbox_size, gen_chardata as outbox_size", "gen_type = 'pm_limit'"))
{
while($row = $sql->db_Fetch())
{
$limitList[$row['limit_classnum']] = $row;
}
}
$txt = "
<form method='post' action='".e_SELF."?".e_QUERY."'>
<table class='fborder' style='width:95%'>
<tr>
<td colspan='3' class='forumheader3' style='text-align:left'>".ADLAN_PM_45."
<select name='pm_limits' class='tbox'>
";
$sel = ($pref['pm_limits'] == 0 ? "selected='selected'" : "");
$txt .= "<option value='0' {$sel}>".ADLAN_PM_33."</option>\n";
$sel = ($pref['pm_limits'] == 1 ? "selected='selected'" : "");
$txt .= "<option value='1' {$sel}>".ADLAN_PM_34."</option>\n";
$sel = ($pref['pm_limits'] == 2 ? "selected='selected'" : "");
$txt .= "<option value='2' {$sel}>".ADLAN_PM_35."</option>\n";
$txt .= "</select>\n";
$txt .= "
</td>
</tr>
<tr>
<td class='fcaption'>".ADLAN_PM_36."</td>
<td class='fcaption'>".ADLAN_PM_37."</td>
<td class='fcaption'>".ADLAN_PM_38."</td>
</tr>
";
if (isset($limitList)) {
foreach($limitList as $row)
{
$txt .= "
<tr>
<td class='forumheader3'>".r_userclass_name($row['limit_classnum'])."</td>
<td class='forumheader3'>
".ADLAN_PM_39."<input type='text' class='tbox' size='5' name='inbox_count[{$row['limit_id']}]' value='{$row['inbox_count']}' />
".ADLAN_PM_40."<input type='text' class='tbox' size='5' name='outbox_count[{$row['limit_id']}]' value='{$row['outbox_count']}' />
</td>
<td class='forumheader3'>
".ADLAN_PM_39."<input type='text' class='tbox' size='5' name='inbox_size[{$row['limit_id']}]' value='{$row['inbox_size']}' />
".ADLAN_PM_40."<input type='text' class='tbox' size='5' name='outbox_size[{$row['limit_id']}]' value='{$row['outbox_size']}' />
</td>
</tr>
";
}
} else {
$txt .= "
<tr>
<td class='forumheader3' colspan='3' style='text-align: center'>".ADLAN_PM_41."</td>
</tr>
";
}
$txt .= "
<tr>
<td class='forumheader' colspan='3' style='text-align:center'>
<input type='submit' class='button' name='updatelimits' value='".ADLAN_PM_42."' />
</td>
</tr>
";
$txt .= "</table></form>";
return $txt;
}
function add_limit()
{
global $sql, $pref;
if($sql->db_Select('userclass_classes','userclass_id, userclass_name'))
{
$classList = $sql->db_getList();
}
if($sql->db_Select("generic", "gen_id as limit_id, gen_datestamp as limit_classnum, gen_user_id as inbox_count, gen_ip as outbox_count, gen_intdata as inbox_size, gen_chardata as outbox_size", "gen_type = 'pm_limit'"))
{
while($row = $sql->db_Fetch())
{
$limitList[$row['limit_classnum']] = $row;
}
}
$txt = "
<form method='post' action='".e_SELF."?".e_QUERY."'>
<table class='fborder' style='width:95%'>
<tr>
<td class='fcaption'>".ADLAN_PM_36."</td>
<td class='fcaption'>".ADLAN_PM_37."</td>
<td class='fcaption'>".ADLAN_PM_38."</td>
</tr>
";
$txt .= "
<tr>
<td class='forumheader3'>".r_userclass("newlimit_class", 0, "off", "guest, member, admin, classes, language")."</td>
<td class='forumheader3'>
".ADLAN_PM_39."<input type='text' class='tbox' size='5' name='new_inbox_count' value='' />
".ADLAN_PM_40."<input type='text' class='tbox' size='5' name='new_outbox_count' value='' />
</td>
<td class='forumheader3'>
".ADLAN_PM_39."<input type='text' class='tbox' size='5' name='new_inbox_size' value='' />
".ADLAN_PM_40."<input type='text' class='tbox' size='5' name='new_outbox_size' value='' />
</td>
</tr>
<tr>
<td class='forumheader' colspan='3' style='text-align:center'>
<input type='submit' class='button' name='addlimit' value='".ADLAN_PM_43."' />
</td>
</tr>
";
$txt .= "</table></form>";
return $txt;
}
function show_menu($action)
{
global $sql;
if ($action == "") { $action = "main"; }
$var['main']['text'] = ADLAN_PM_54;
$var['main']['link'] = e_SELF;
$var['limits']['text'] = ADLAN_PM_55;
$var['limits']['link'] = e_SELF."?limits";
show_admin_menu(ADLAN_PM_12, $action, $var);
}
function pm_conf_adminmenu() {
global $action;
show_menu($action);
}
?>