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;