root / branches / 1.1 / news.php
View | Annotate | Download (6.9 KB)
| 1 | 24 | eofredj | <?php
|
|---|---|---|---|
| 2 | 322 | eofredj | /**
|
| 3 | 559 | eofredj | * Project: Oxygen Bulletin Board |
| 4 | 559 | eofredj | * File : $HeadURL$ |
| 5 | 559 | eofredj | * Revision : $Revision$ |
| 6 | 559 | eofredj | * Author : $Author$ |
| 7 | 559 | eofredj | * Date : $Date$ |
| 8 | 559 | eofredj | * Id : $Id$ |
| 9 | 559 | eofredj | * |
| 10 | 559 | eofredj | * Oxygen is free software; you can redistribute it and/or modify it |
| 11 | 559 | eofredj | * under the terms of the GNU General Public License as published |
| 12 | 559 | eofredj | * by the Free Software Foundation; either version 2 of the License, |
| 13 | 559 | eofredj | * or (at your option) any later version. |
| 14 | 559 | eofredj | * |
| 15 | 559 | eofredj | * Oxygen is distributed in the hope that it will be useful, but |
| 16 | 559 | eofredj | * WITHOUT ANY WARRANTY; without even the implied warranty of |
| 17 | 559 | eofredj | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 18 | 559 | eofredj | * GNU General Public License for more details. |
| 19 | 559 | eofredj | * |
| 20 | 559 | eofredj | * You should have received a copy of the GNU General Public License |
| 21 | 559 | eofredj | * along with this program; if not, write to the Free Software |
| 22 | 559 | eofredj | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, |
| 23 | 559 | eofredj | * MA 02111-1307 USA |
| 24 | 559 | eofredj | * |
| 25 | 559 | eofredj | * @link http://www.o2php.com/ |
| 26 | 559 | eofredj | * @copyright 2002-2006 Oxygen Team. |
| 27 | 559 | eofredj | * @author Eric Fredj <heltem at o2php dot com> |
| 28 | 559 | eofredj | * @package o2php |
| 29 | 559 | eofredj | * @version [VERSION] |
| 30 | 323 | eofredj | */ |
| 31 | 24 | eofredj | define("O2_NOQUICKJUMP", true); |
| 32 | 565 | eofredj | $TPL_LOAD = 'news, news_footer_admin, news_post, news_view_admin, news_list, news_list_row';
|
| 33 | 338 | eofredj | require('./header.php'); |
| 34 | 2 | eofredj | |
| 35 | 565 | eofredj | setCSS('CalendarPopup.css', 'calendar'); |
| 36 | 2 | eofredj | |
| 37 | 565 | eofredj | $nid = isset($_REQUEST['nid']) ? (int) $_REQUEST['nid'] : 0; |
| 38 | 565 | eofredj | |
| 39 | 565 | eofredj | if(('view' == $action || 'Administrator' != $status) && 0 != $nid) { |
| 40 | 565 | eofredj | $query= $db->query("SELECT * FROM $table[news] WHERE nid=" . $nid);
|
| 41 | 27 | eofredj | $news = $db->fetch_assoc($query); |
| 42 | 565 | eofredj | $bbT->handleTags('html');
|
| 43 | 27 | eofredj | |
| 44 | 27 | eofredj | // Cache Smilies
|
| 45 | 27 | eofredj | smcwcache(true, false); |
| 46 | 27 | eofredj | $smilies = $o2cache['smilies'];
|
| 47 | 27 | eofredj | if($smilies[0] > 0) { |
| 48 | 27 | eofredj | $bbT->addSmilies($smilies[1]);
|
| 49 | 27 | eofredj | } |
| 50 | 27 | eofredj | $news['msg'] = $bbT->processHtml($news['msg']); |
| 51 | 27 | eofredj | $news['msg'] = $bbT->processWrap($news['msg']); |
| 52 | 27 | eofredj | $news['msg'] = $bbT->processTags($news['msg'], true); |
| 53 | 565 | eofredj | $news['subject'] = $bbTinline->processHtml($news['subject']); |
| 54 | 565 | eofredj | $news['subject'] = $bbTinline->processTags($news['subject']); |
| 55 | 565 | eofredj | $bbT->removeTags('html');
|
| 56 | 27 | eofredj | |
| 57 | 565 | eofredj | $date = datecvt($news['dateline']);
|
| 58 | 565 | eofredj | $startdate = gmdate($huser['datecode'], $news['timestart'] + $time3600); |
| 59 | 565 | eofredj | $enddate = gmdate($huser['datecode'], $news['timeend'] + $time3600); |
| 60 | 2 | eofredj | |
| 61 | 565 | eofredj | if('Administrator' == $status) { |
| 62 | 18 | eofredj | eval("\$news_view_admin = \"" . template("news_view_admin") . "\";"); |
| 63 | 2 | eofredj | } |
| 64 | 565 | eofredj | eval("\$news_content = \"" . template("news_view") . "\";"); |
| 65 | 565 | eofredj | eval("\$news = \"" . template("news") . "\";"); |
| 66 | 565 | eofredj | echo $news;
|
| 67 | 24 | eofredj | exit;
|
| 68 | 565 | eofredj | } |
| 69 | 565 | eofredj | |
| 70 | 565 | eofredj | if('Administrator' != $status) { |
| 71 | 24 | eofredj | redirect("javascript:window.close()");
|
| 72 | 24 | eofredj | message($lang['notadmin'], false, false); |
| 73 | 24 | eofredj | exit;
|
| 74 | 24 | eofredj | } |
| 75 | 2 | eofredj | |
| 76 | 38 | eofredj | if($action == "post") { |
| 77 | 38 | eofredj | if(!isset($submit)) { |
| 78 | 24 | eofredj | $news['nid'] = 0; |
| 79 | 565 | eofredj | |
| 80 | 565 | eofredj | $listmonth = implode('", "', $month_names);
|
| 81 | 565 | eofredj | $listday = implode('", "', array($lang['timesunprfx'], $lang['timemonprfx'], $lang['timetueprfx'], $lang['timewedprfx'], $lang['timethuprfx'], $lang['timefriprfx'], $lang['timesatprfx'])); |
| 82 | 565 | eofredj | $day_names = array();
|
| 83 | 565 | eofredj | for($i = 1; $i < 32; $i++) { |
| 84 | 565 | eofredj | $day_names[] = $i; |
| 85 | 565 | eofredj | } |
| 86 | 565 | eofredj | |
| 87 | 565 | eofredj | $year_start = gmdate('Y', $timestamp);
|
| 88 | 565 | eofredj | $month_start = gmdate('n', $timestamp);
|
| 89 | 565 | eofredj | $day_start = gmdate('j', $timestamp);
|
| 90 | 565 | eofredj | |
| 91 | 565 | eofredj | $year_end = gmdate('Y', $timestamp + 15 * 86400); |
| 92 | 565 | eofredj | $month_end = gmdate('n', $timestamp + 15 * 86400); |
| 93 | 565 | eofredj | $day_end = gmdate('j', $timestamp + 15 * 86400); |
| 94 | 565 | eofredj | |
| 95 | 565 | eofredj | $start_month = newpopup('start_month', $month_names, array('blank' => true, 'attr' => 'class="smalltxt"', 'usekey' => true), $month_start); |
| 96 | 565 | eofredj | $end_month = newpopup('end_month', $month_names, array('blank' => true, 'attr' => 'class="smalltxt"', 'usekey' => true), $month_end); |
| 97 | 565 | eofredj | |
| 98 | 565 | eofredj | eval("\$news_content = \"".template("news_post")."\";"); |
| 99 | 38 | eofredj | } else {
|
| 100 | 38 | eofredj | $news = $_POST['news'];
|
| 101 | 565 | eofredj | $news['timestart'] = mktime(0, 0, 0, $start_month, $start_day, $start_year); |
| 102 | 565 | eofredj | $news['timeend'] = mktime(23, 59, 59, $end_month, $end_day, $end_year); |
| 103 | 38 | eofredj | if($news['timeend'] < $news['timestart']) { |
| 104 | 565 | eofredj | $news['timeend'] = mktime(23, 59, 59, $start_month, $start_day, $start_year); |
| 105 | 18 | eofredj | } |
| 106 | 2 | eofredj | |
| 107 | 565 | eofredj | $news['subject'] = $db->textFormat($news['subject']); |
| 108 | 565 | eofredj | $news['message'] = $db->textFormat($news['message']); |
| 109 | 18 | eofredj | |
| 110 | 565 | eofredj | if('' == $news['subject']) { |
| 111 | 18 | eofredj | $newsmsg = $lang['textnosubject'];
|
| 112 | 565 | eofredj | $redirecturl = 'javascript:history.go(-1)';
|
| 113 | 565 | eofredj | } elseif('' == $news['message']) { |
| 114 | 18 | eofredj | $newsmsg = $lang['textemptypost'];
|
| 115 | 565 | eofredj | $redirecturl = 'javascript:history.go(-1)';
|
| 116 | 38 | eofredj | } else {
|
| 117 | 38 | eofredj | if($nid) {
|
| 118 | 565 | eofredj | $db->query("UPDATE $table[news] SET author='{$huser['username']}', dateline=$now, subject=$news[subject], msg=$news[message], timestart=$news[timestart], timeend=$news[timeend] WHERE nid=$nid");
|
| 119 | 38 | eofredj | } else {
|
| 120 | 565 | eofredj | $db->query("INSERT INTO $table[news] VALUES('', '{$huser['username']}', $now, $news[subject], $news[message], $news[timestart], $news[timeend])");
|
| 121 | 24 | eofredj | } |
| 122 | 18 | eofredj | $newsmsg = $lang['postmsg'];
|
| 123 | 565 | eofredj | $redirecturl = 'news.php';
|
| 124 | 18 | eofredj | } |
| 125 | 18 | eofredj | |
| 126 | 18 | eofredj | redirect($redirecturl); |
| 127 | 18 | eofredj | message($newsmsg, false, false); |
| 128 | 18 | eofredj | } |
| 129 | 565 | eofredj | } elseif('edit' == $action && 0 != $nid) { |
| 130 | 565 | eofredj | $query= $db->query("SELECT * FROM $table[news] WHERE nid=$nid");
|
| 131 | 27 | eofredj | $news = $db->fetch_assoc($query); |
| 132 | 565 | eofredj | |
| 133 | 565 | eofredj | $listmonth = implode('", "', $month_names);
|
| 134 | 565 | eofredj | $listday = implode('", "', array($lang['timesunprfx'], $lang['timemonprfx'], $lang['timetueprfx'], $lang['timewedprfx'], $lang['timethuprfx'], $lang['timefriprfx'], $lang['timesatprfx'])); |
| 135 | 565 | eofredj | $day_names = array();
|
| 136 | 565 | eofredj | for($i = 1; $i < 32; $i++) { |
| 137 | 565 | eofredj | $day_names[] = $i; |
| 138 | 565 | eofredj | } |
| 139 | 565 | eofredj | |
| 140 | 565 | eofredj | $year_start = gmdate('Y', $news['timestart'] + $time3600); |
| 141 | 565 | eofredj | $month_start = gmdate('n', $news['timestart'] + $time3600); |
| 142 | 565 | eofredj | $day_start = gmdate('j', $news['timestart'] + $time3600); |
| 143 | 565 | eofredj | |
| 144 | 565 | eofredj | $year_end = gmdate('Y', $news['timeend'] + $time3600); |
| 145 | 565 | eofredj | $month_end = gmdate('n', $news['timeend'] + $time3600); |
| 146 | 565 | eofredj | $day_end = gmdate('j', $news['timeend'] + $time3600); |
| 147 | 565 | eofredj | |
| 148 | 565 | eofredj | $start_month = newpopup('start_month', $month_names, array('blank' => true, 'attr' => 'class="smalltxt"', 'usekey' => true), $month_start); |
| 149 | 565 | eofredj | $end_month = newpopup('end_month', $month_names, array('blank' => true, 'attr' => 'class="smalltxt"', 'usekey' => true), $month_end); |
| 150 | 565 | eofredj | |
| 151 | 565 | eofredj | eval("\$news_content = \"" . template("news_post") . "\";"); |
| 152 | 27 | eofredj | } elseif($action == "delete") { |
| 153 | 27 | eofredj | if(is_array($delete) && !empty($delete)) { |
| 154 | 27 | eofredj | $nidlist = implode(', ', $delete);
|
| 155 | 27 | eofredj | $query = $db->query("DELETE FROM $table[news] WHERE nid IN ($nidlist)");
|
| 156 | 18 | eofredj | } |
| 157 | 565 | eofredj | header('Location: ' . O2_URL . '/news.php'); |
| 158 | 27 | eofredj | } else {
|
| 159 | 24 | eofredj | $query = $db->query("SELECT * FROM $table[news] ORDER BY timestart DESC, timeend DESC, dateline DESC");
|
| 160 | 27 | eofredj | while($news = $db->fetch_assoc($query)) {
|
| 161 | 220 | eofredj | $thisbg = 'altbg' . (($j++ % 2) + 1); |
| 162 | 565 | eofredj | $date = gmdate($huser['datecode'], $news['dateline'] + $time3600); |
| 163 | 565 | eofredj | $startdate = gmdate($huser['datecode'], $news['timestart'] + $time3600); |
| 164 | 565 | eofredj | $enddate = gmdate($huser['datecode'], $news['timeend'] + $time3600); |
| 165 | 565 | eofredj | $news['subject'] = $bbTinline->processHtml($news['subject']); |
| 166 | 565 | eofredj | $news['subject'] = $bbTinline->processTags($news['subject']); |
| 167 | 565 | eofredj | $news['ssubject'] = strip_tags($news['subject']); |
| 168 | 27 | eofredj | if($now > $news['timestart'] && $now < $news['timeend']) { |
| 169 | 24 | eofredj | $news['subject'] .= " *"; |
| 170 | 2 | eofredj | } |
| 171 | 18 | eofredj | eval("\$news_list_row .= \"" . template("news_list_row")."\";"); |
| 172 | 2 | eofredj | } |
| 173 | 565 | eofredj | eval("\$news_content .= \"" . template("news_list")."\";"); |
| 174 | 2 | eofredj | } |
| 175 | 2 | eofredj | |
| 176 | 565 | eofredj | eval("\$news_footer_admin = \"" . template("news_footer_admin") . "\";"); |
| 177 | 565 | eofredj | eval("\$news = \"" . template("news") . "\";"); |
| 178 | 565 | eofredj | echo $news; |