root / branches / 1.1 / u2u.php

View | Annotate | Download (7.8 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 69 eofredj
$TPL_LOAD = 'u2u_header, u2u_footer, u2u_row, u2u, u2u_send, u2u_ignore, u2u_view_refwdlinks, u2u_view, u2u_message';
33 338 eofredj
require('./header.php');
34 2 eofredj
35 27 eofredj
function u2umsg($message, $redirect = "") {
36 68 eofredj
        global $themedata, $settings, $lang, $u2uheader, $u2ufooter;
37 2 eofredj
38 92 eofredj
        if('' != $redirect ) {
39 92 eofredj
                $redirectjs = redirect($redirect, true);
40 18 eofredj
        }
41 18 eofredj
        eval("\$msg = \"".template("u2u_message")."\";");
42 18 eofredj
        echo $msg;
43 18 eofredj
        exit;
44 18 eofredj
}
45 18 eofredj
46 27 eofredj
if($status == "Administrator" && $user != "") {
47 12 eofredj
        $u2uuser = $user;
48 12 eofredj
        $userlink = "user=$user";
49 27 eofredj
} else {
50 12 eofredj
        $u2uuser = $o2user;
51 24 eofredj
        $userlink = "";
52 12 eofredj
}
53 12 eofredj
54 24 eofredj
$query = $db->query("SELECT COUNT(*) FROM $table[u2u] WHERE (msgto='$u2uuser' AND folder LIKE '%inbox%') OR (msgfrom='$u2uuser' AND folder LIKE '%outbox%')");
55 14 eofredj
$u2unb = $db->result($query, 0);
56 14 eofredj
57 18 eofredj
$precis = number_format((( $u2unb * 100) / $settings['u2uquota']), 2, ",", " ");
58 18 eofredj
$barre = floor($precis) * 4.2;
59 14 eofredj
60 2 eofredj
eval("\$u2uheader = \"".template("u2u_header")."\";");
61 2 eofredj
eval("\$u2ufooter = \"".template("u2u_footer")."\";");
62 2 eofredj
63 27 eofredj
if(!$o2sid) {
64 24 eofredj
        u2umsg($lang['u2unotloggedin']);
65 24 eofredj
        exit;
66 24 eofredj
}
67 24 eofredj
68 27 eofredj
if($action == "send") {
69 27 eofredj
        if($u2unb >= $settings['u2uquota']) {
70 2 eofredj
                u2umsg($lang['u2ureachedquota']);
71 27 eofredj
        } else {
72 27 eofredj
                if(!isset($submit)) {
73 644 eofredj
                        $touser = htmlspecialchars($username);
74 27 eofredj
                        if($u2uid) {
75 12 eofredj
                                $query = $db->query("SELECT * FROM $table[u2u] WHERE u2uid='$u2uid' AND msgto='$u2uuser'");
76 27 eofredj
                                $u2u = $db->fetch_assoc($query);
77 12 eofredj
78 27 eofredj
                                if($do == "reply") {
79 27 eofredj
                                        if($u2u['isnew'] != 'no') {
80 18 eofredj
                                                $db->query("UPDATE $table[u2u] SET isnew='no' WHERE u2uid='$u2u[u2uid]'");
81 18 eofredj
                                        }
82 166 eofredj
                                        $subject = $lang['textre'] . ' : ' . $u2u['subject'];
83 166 eofredj
                                        $message = '[quote]' . $u2u['message'] . '[/quote]';
84 24 eofredj
                                        $touser = $u2u['msgfrom'];
85 2 eofredj
                                }
86 12 eofredj
87 27 eofredj
                                if($do == "forward") {
88 166 eofredj
                                        $subject = $lang['textfwd'] . ' : ' . $u2u['subject'];
89 565 eofredj
                                        $message = '[quote]' . $u2u['message'] . '[/quote]';
90 24 eofredj
                                        $touser = $u2u['msgfrom'];
91 2 eofredj
                                }
92 2 eofredj
                        }
93 2 eofredj
94 629 eofredj
                        $members = array();
95 629 eofredj
                        $query = $db->query("SELECT uid, username FROM $table[members] ORDER BY username");
96 629 eofredj
                        while($member = $db->fetch_assoc($query)) {
97 629 eofredj
                                $members[] = $member;
98 2 eofredj
                        }
99 629 eofredj
100 629 eofredj
                        $pop = new wdgPopup('msgto');
101 629 eofredj
                        $pop->setKeyName('uid');
102 629 eofredj
                        $pop->setValueName('username');
103 629 eofredj
                        $pop->setValues($members);
104 629 eofredj
                        $pop->selected = $touser;
105 629 eofredj
                        $cbouser = $pop->render();
106 629 eofredj
107 2 eofredj
                        eval("\$u2usend = \"".template("u2u_send")."\";");
108 2 eofredj
                        echo $u2usend;
109 27 eofredj
                } else {
110 18 eofredj
                        $query = $db->query("SELECT username, ignoreu2u FROM $table[members] WHERE username='$msgto'");
111 18 eofredj
                        $member = $db->fetch_assoc($query);
112 18 eofredj
                        $ignoreu2uarray = exploder($member['ignoreu2u'], ",");
113 18 eofredj
114 27 eofredj
                        if(empty($member['username'])) {
115 2 eofredj
                                u2umsg($lang['badrcpt'], "javascript:history.go(-1)");
116 27 eofredj
                        } elseif(in_array($u2uuser, $ignoreu2uarray)) {
117 2 eofredj
                                u2umsg($lang['u2ublocked']);
118 2 eofredj
                                exit;
119 2 eofredj
                        }
120 2 eofredj
121 559 eofredj
                        if($settings['max_post_length']) {
122 18 eofredj
                                $message = substr($message, 0, $settings['max_post_length']);
123 18 eofredj
                        }
124 92 eofredj
                        $message = addslashes($message);
125 92 eofredj
                        $subject = addslashes($subject);
126 2 eofredj
127 18 eofredj
                        $uniqueid = substr(md5("$username|$now"), 0, 10);
128 27 eofredj
                        if($saveoutbox == "yes") {
129 18 eofredj
                                $db->query("INSERT INTO $table[u2u] VALUES('', '$member[username]', '$u2uuser', '$now', '$subject', '$message', '$uniqueid|inbox|outbox', 'yes')");
130 27 eofredj
                        } else {
131 18 eofredj
                                $db->query("INSERT INTO $table[u2u] VALUES('', '$member[username]', '$u2uuser', '$now', '$subject', '$message', '$uniqueid|inbox', 'yes')");
132 18 eofredj
                        }
133 12 eofredj
                        u2umsg($lang['imsentmsg'], "u2u.php?$userlink");
134 2 eofredj
                }
135 2 eofredj
        }
136 27 eofredj
} elseif($action == "delete") {
137 27 eofredj
        if($folder == "outbox") {
138 12 eofredj
                $msg_field = "msgfrom";
139 27 eofredj
        } else {
140 12 eofredj
                $msg_field = "msgto";
141 20 eofredj
                $clause = "isnew='no',";
142 2 eofredj
        }
143 2 eofredj
144 27 eofredj
        if($u2uid) {
145 12 eofredj
                $delete[] = $u2uid;
146 12 eofredj
        }
147 12 eofredj
148 27 eofredj
        if(is_array($delete)) {
149 27 eofredj
                foreach($delete as $val) {
150 12 eofredj
                        $query = $db->query("SELECT * FROM $table[u2u] WHERE u2uid='$val'");
151 12 eofredj
                        $u2umsg = $db->fetch_assoc($query);
152 565 eofredj
                        $dfolder = explode('|', $u2umsg['folder']);
153 565 eofredj
                        $dfolder = array_diff($dfolder, array($folder));
154 12 eofredj
155 27 eofredj
                        if(count($dfolder) <= 1) {
156 12 eofredj
                                $db->query("DELETE FROM $table[u2u] WHERE u2uid='$val'");
157 27 eofredj
                        } else {
158 12 eofredj
                                $dfolder = implode("|", $dfolder);
159 20 eofredj
                                $db->query("UPDATE $table[u2u] SET $clause folder='$dfolder' WHERE u2uid='$val'");
160 12 eofredj
                        }
161 2 eofredj
                }
162 2 eofredj
        }
163 2 eofredj
164 27 eofredj
        if($folder == "outbox") {
165 12 eofredj
                u2umsg($lang['imdeletedmsg'], "u2u.php?folder=outbox&$userlink");
166 27 eofredj
        } else {
167 12 eofredj
                u2umsg($lang['imdeletedmsg'], "u2u.php?$userlink");
168 2 eofredj
        }
169 27 eofredj
} elseif($action == "ignore") {
170 27 eofredj
        if(!isset($submit)) {
171 18 eofredj
                $query = $db->query("SELECT ignoreu2u FROM $table[members] WHERE username='$u2uuser'");
172 18 eofredj
                $mem = $db->fetch_assoc($query);
173 18 eofredj
                eval("\$u2uignore = \"".template("u2u_ignore")."\";");
174 18 eofredj
                echo $u2uignore;
175 27 eofredj
        } else {
176 18 eofredj
                $db->query("UPDATE $table[members] SET ignoreu2u='$ignorelist' WHERE username='$u2uuser'");
177 18 eofredj
                u2umsg($lang['ignoreupdate'], "u2u.php?$userlink");
178 18 eofredj
        }
179 27 eofredj
} elseif($action == "view") {
180 2 eofredj
        $query = $db->query("SELECT * FROM $table[u2u] WHERE u2uid='$u2uid'");
181 27 eofredj
        $u2u = $db->fetch_assoc($query);
182 12 eofredj
183 27 eofredj
        if($u2u['msgfrom'] == $u2uuser || $u2u['msgto'] == $u2uuser || $status == "Administrator") {
184 27 eofredj
                if($u2u['msgto'] == $u2uuser) {
185 18 eofredj
                        $db->query("UPDATE $table[u2u] SET isnew='no' WHERE u2uid='$u2u[u2uid]'");
186 12 eofredj
                }
187 565 eofredj
                $dateline = datecvt($u2u['dateline']);
188 221 eofredj
                $u2u['subject'] = html($u2u['subject']);
189 27 eofredj
                if($u2u['msgfrom'] != $u2uuser) {
190 2 eofredj
                        eval("\$refwdlinks = \"".template("u2u_view_refwdlinks")."\";");
191 2 eofredj
                }
192 312 eofredj
                $bbT->init();
193 27 eofredj
                $tags = array(
194 27 eofredj
                        'quote',
195 27 eofredj
                        'color',
196 27 eofredj
                        'align',
197 27 eofredj
                        'center',
198 27 eofredj
                        'url',
199 27 eofredj
                        'bg',
200 27 eofredj
                        'sql',
201 27 eofredj
                        'blink',
202 27 eofredj
                        'php',
203 27 eofredj
                        'email',
204 27 eofredj
                        'font',
205 27 eofredj
                        'flash',
206 27 eofredj
                        'marquee',
207 27 eofredj
                        'img',
208 27 eofredj
                        'member',
209 27 eofredj
                        'code',
210 27 eofredj
                        'list',
211 27 eofredj
                        'li',
212 27 eofredj
                        'table',
213 27 eofredj
                        'row',
214 27 eofredj
                        'col',
215 27 eofredj
                        'strike',
216 27 eofredj
                        'size',
217 166 eofredj
                        'title',
218 27 eofredj
                        'b',
219 27 eofredj
                        'i',
220 27 eofredj
                        'u',
221 27 eofredj
                        'sup',
222 27 eofredj
                        'sub');
223 27 eofredj
224 27 eofredj
                $bbT->handleTags($tags);
225 27 eofredj
226 27 eofredj
                // Cache Smilies
227 27 eofredj
                smcwcache(true, false);
228 27 eofredj
                $smilies = $o2cache['smilies'];
229 27 eofredj
                if($smilies[0] > 0) {
230 27 eofredj
                        $bbT->addSmilies($smilies[1]);
231 27 eofredj
                }
232 27 eofredj
                $u2u['message'] = $bbT->processHtml($u2u['message']);
233 27 eofredj
                $u2u['message'] = $bbT->processWrap($u2u['message']);
234 27 eofredj
                $u2u['message'] = $bbT->processTags($u2u['message'], true);
235 27 eofredj
                $u2u['message'] = $bbT->processContent($u2u['message']);
236 24 eofredj
                eval("\$u2u_view = \"".template("u2u_view")."\";");
237 24 eofredj
                echo $u2u_view;
238 2 eofredj
        }
239 27 eofredj
} else {
240 27 eofredj
        if(!$folder) {
241 18 eofredj
                $folder = "inbox";
242 18 eofredj
                $clause = "msgto='$u2uuser'";
243 27 eofredj
        } else {
244 18 eofredj
                $folder = "outbox";
245 18 eofredj
                $clause = "msgfrom='$u2uuser'";
246 18 eofredj
                $lang['textu2uinbox'] = $lang['textu2uoutbox'];
247 18 eofredj
                $lang['textfrom'] = $lang['textto'];
248 18 eofredj
        }
249 2 eofredj
250 18 eofredj
        $query = $db->query("SELECT * FROM $table[u2u] WHERE $clause AND folder LIKE '%$folder%' ORDER BY dateline DESC");
251 27 eofredj
        while($message = $db->fetch_assoc($query)) {
252 565 eofredj
                $senton = datecvt($message['dateline']);
253 221 eofredj
                $thisbg = 'altbg' . (($j++ % 2) + 1);
254 18 eofredj
255 221 eofredj
                if('' === $message['subject']) {
256 221 eofredj
                        $message['subject'] = '<i>&lt;' . $lang['textnosub'] . '&gt;</i>';
257 166 eofredj
                } else {
258 166 eofredj
                        $message['subject'] = html($message['subject']);
259 18 eofredj
                }
260 559 eofredj
261 221 eofredj
                if('outbox' === $folder) {
262 166 eofredj
                        $message['msgfrom'] = $message['msgto'];
263 18 eofredj
                }
264 18 eofredj
265 221 eofredj
                if('no' === $message['isnew']) {
266 18 eofredj
                        $u2ustatus = $lang['textu2unonew'];
267 27 eofredj
                } else {
268 18 eofredj
                        $u2ustatus = $lang['textu2unew'];
269 18 eofredj
                }
270 18 eofredj
271 221 eofredj
                eval("\$u2u_row .= \"".template("u2u_row")."\";");
272 2 eofredj
        }
273 18 eofredj
        eval("\$u2u = \"".template("u2u")."\";");
274 18 eofredj
        echo $u2u;
275 2 eofredj
}