admannounce.php

来自「eGroupWare is a multi-user, web-based gr」· PHP 代码 · 共 195 行

PHP
195
字号
<?php/**************************************************************************** copyright            : (C) 2001-2003 Advanced Internet Designs Inc.* email                : forum@prohost.org* $Id: admannounce.php,v 1.2 2003/12/18 16:42:31 iliaa Exp $** 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.***************************************************************************/	require('./GLOBALS.php'); fud_egw();	fud_use('adm.inc', true);	fud_use('widgets.inc', true);	$tbl = $GLOBALS['DBHOST_TBL_PREFIX'];function raw_date($dt){	return array(substr($dt, 0, 4), substr($dt, 4, 2), substr($dt, -2));}function mk_date($y, $m, $d){	return str_pad((int)$y, 4, '0', STR_PAD_LEFT) . str_pad((int)$m, 2, '0', STR_PAD_LEFT) . str_pad((int)$d, 2, '0', STR_PAD_LEFT);}	if (isset($_GET['del'])) {		q('DELETE FROM '.$tbl.'announce WHERE id='.(int)$_GET['del']);		q('DELETE FROM '.$tbl.'ann_forums WHERE ann_id='.(int)$_GET['del']);	}	if (isset($_GET['edit']) && ($an_d = db_sab('SELECT * FROM '.$tbl.'announce WHERE id='.(int)$_GET['edit']))) {		list($d_year, $d_month, $d_day) = raw_date($an_d->date_started);		list($d2_year, $d2_month, $d2_day) = raw_date($an_d->date_ended);		$a_subject = $an_d->subject;		$a_text = $an_d->text;		$edit = (int)$_GET['edit'];		$c = uq('SELECT forum_id FROM '.$tbl.'ann_forums WHERE ann_id='.(int)$_GET['edit']);		while ($r = db_rowarr($c)) {			$frm_list[$r[0]] = $r[0];		}	} else if (isset($_POST['btn_none']) || isset($_POST['btn_all'])) {		$vals = array('edit', 'a_subject', 'a_text', 'd_year', 'd_month', 'd_day', 'd2_year', 'd2_month', 'd2_day');		foreach ($vals as $v) {			${$v} = $_POST[$v];		}		if (isset($_POST['btn_all'])) {			$c = uq('SELECT id FROM '.$tbl.'forum');			while ($r = db_rowarr($c)) {				$frm_list[$r[0]] = $r[0];			}		}	} else {		$edit = $a_subject = $a_text = '';		list($d_year, $d_month, $d_day) = explode(' ', gmdate('Y m d', __request_timestamp__));		list($d2_year, $d2_month, $d2_day) =  explode(' ', gmdate('Y m d', (__request_timestamp__ + 86400)));	}	if (isset($_POST['btn_submit'])) {		$id = db_qid('INSERT INTO '.$tbl.'announce (date_started, date_ended, subject, text) VALUES ('.mk_date($_POST['d_year'], $_POST['d_month'], $_POST['d_day']).', '.mk_date($_POST['d2_year'], $_POST['d2_month'], $_POST['d2_day']).', \''.addslashes($_POST['a_subject']).'\', \''.addslashes($_POST['a_text']).'\')');	} else if (isset($_POST['btn_update'], $_POST['edit'])) {		$id = (int)$_POST['edit'];		q('UPDATE '.$tbl.'announce SET			date_started='.mk_date($_POST['d_year'], $_POST['d_month'], $_POST['d_day']).',			date_ended='.mk_date($_POST['d2_year'], $_POST['d2_month'], $_POST['d2_day']).',			subject=\''.addslashes($_POST['a_subject']).'\',			text=\''.addslashes($_POST['a_text']).'\'			WHERE id='.$id);	}	if (isset($_POST['frm_list'], $id)) {		$_POST['frm_list'] = array_unique($_POST['frm_list']);		q('DELETE FROM '.$tbl.'ann_forums WHERE ann_id='.$id);		foreach ($_POST['frm_list'] as $v) {			q('INSERT INTO '.$tbl.'ann_forums (forum_id, ann_id) VALUES('.(int)$v.','.$id.')');		}		unset($frm_list);	}	require($WWW_ROOT_DISK . 'adm/admpanel.php');?><h2>Announcement System</h2><form method="post" name="a_frm" action="admannounce.php"><?php echo _hs; ?><table class="datatable">	<tr class="field">		<td valign=top>Forums</td>		<td><table border=0 cellspacing=1 cellpadding=2>			<tr><td colspan=5"><input type="submit" name="btn_none" value="None"> <input type="submit" name="btn_all" value="All"></td></tr><?php	$c = uq('SELECT f.name, f.id, c.name FROM '.$tbl.'forum f INNER JOIN '.$tbl.'cat c ON f.cat_id=c.id ORDER BY c.view_order, f.view_order');	$old_c = '';	$rows = 6;	$row = 0;	while ($r = db_rowarr($c)) {		if ($old_c != $r[2]) {			if ($row < $rows) {				echo '<td colspan="'.($rows - $row).'"> </td></tr>';			}			echo '<tr class="fieldtopic"><td colspan='.$rows.'><font size=-2>'.$r[2].'</font></td></tr><tr class="field">';			$row = 1;			$old_c = $r[2];		}		if ($row >= $rows) {			$row = 2;			echo '</tr><tr class="field">';		} else {			++$row;		}		echo '<td>'.create_checkbox('frm_list['.$r[1].']', $r[1], isset($frm_list[$r[1]])).' <font size=-2> '.$r[0].'</font></td>';	}?>		</tr></table>		</td>	</tr>	<tr class="tutor">		<td colspan="2">All dates are in GMT, current GMT date/time is: <?php echo gmdate('r', __request_timestamp__); ?></td>	</tr>	<tr class="field">		<td>Starting Date:</td>		<td>			<table border=0 cellspacing=1 cellpadding=0>				<tr><td><font size=-2>Month</font></td><td><font size=-2>Day</font></td><td><font size=-2>Year</td></tr>				<tr><td><?php draw_month_select('d_month', 0, $d_month); ?></td><td><?php draw_day_select('d_day', 0, $d_day); ?></td><td><input type="text" name="d_year" value="<?php echo $d_year; ?>" size=5></td></tr>			</table>		</td>	</tr>	<tr class="field">		<td>Ending Date:</td>		<td>			<table border=0 cellspacing=1 cellpadding=0>				<tr><td><font size=-2>Month</font></td><td><font size=-2>Day</font></td><td><font size=-2>Year</td></tr>				<tr><td><?php draw_month_select('d2_month', 0, $d2_month); ?></td><td><?php draw_day_select('d2_day', 0, $d2_day); ?></td><td><input type="text" name="d2_year" value="<?php echo $d2_year; ?>" size=5></td></tr>			</table>		</td>	</tr>	<tr class="field">		<td>Subject:</td>		<td><input type="text" name="a_subject" value="<?php echo htmlspecialchars($a_subject); ?>">	</tr>	<tr class="field">		<td valign=top>Message:</td>		<td><textarea cols=40 rows=10 name="a_text"><?php echo htmlspecialchars($a_text); ?></textarea></td>	</tr>	<tr class="field">		<td colspan=2 align=right><?php			if ($edit) {				echo '<input type="submit" name="btn_cancel" value="Cancel"> <input type="submit" name="btn_update" value="Update">';			} else {				echo '<input type="submit" name="btn_submit" value="Add">';			}?>		</td>	</tr></table><input type="hidden" name="edit" value="<?php echo $edit; ?>"></form><table class="resulttable fulltable"><tr class="resulttopic">	<td>Subject</td>	<td>Body</td>	<td>Starting Date</td>	<td>Ending Date</td>	<td>Action</td></tr><?php	$c = uq('SELECT * FROM '.$tbl.'announce ORDER BY date_started');	$i = 1;	while ($r = db_rowobj($c)) {		if ($edit == $r->id) {			$bgcolor = ' class="resultrow1"';		} else {			$bgcolor = ($i++%2) ? ' class="resultrow2"' : ' class="resultrow1"';		}		$b = htmlspecialchars((strlen($r->text) > 25) ? substr($r->text, 0, 25).'...' : $r->text);		$st_dt = raw_date($r->date_started);		$st_dt = gmdate('F j, Y', gmmktime(1, 1, 1, $st_dt[1], $st_dt[2], $st_dt[0]));		$en_dt = raw_date($r->date_ended);		$en_dt = gmdate('F j, Y', gmmktime(1, 1, 1, $en_dt[1], $en_dt[2], $en_dt[0]));		echo '<tr'.$bgcolor.'><td>'.$r->subject.'</td><td>'.$b.'</td><td>'.$st_dt.'</td><td>'.$en_dt.'</td><td>[<a href="admannounce.php?edit='.$r->id.'&'._rsidl.'">Edit</a>] [<a href="admannounce.php?del='.$r->id.'&'._rsidl.'">Delete</a>]</td></tr>';	}?></table><?php require($WWW_ROOT_DISK . 'adm/admclose.php'); ?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?