root / branches / 1.1 / editprofile.php
View | Annotate | Download (9.6 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 | 568 | eofredj | $TPL_LOAD = 'header, footer, memcp_profile_avatarurl, memcp_profile_avatarlist, tzoneselect, cp_profile, memcp_profile_notify';
|
| 32 | 338 | eofredj | require('./header.php'); |
| 33 | 2 | eofredj | |
| 34 | 27 | eofredj | if($status != "Administrator") { |
| 35 | 18 | eofredj | redirect("javascript:history.go(-1)");
|
| 36 | 2 | eofredj | message($lang['notadmin']);
|
| 37 | 2 | eofredj | exit;
|
| 38 | 2 | eofredj | } |
| 39 | 2 | eofredj | |
| 40 | 27 | eofredj | if($action == "profile") { |
| 41 | 27 | eofredj | if(!isset($submit)) { |
| 42 | 323 | eofredj | $query = $db->query(sprintf('SELECT * FROM %s WHERE uid=%d', $table['members'], $user)); |
| 43 | 27 | eofredj | $member = $db->fetch_assoc($query); |
| 44 | 2 | eofredj | |
| 45 | 27 | eofredj | if($member['showemail'] == "yes") { |
| 46 | 27 | eofredj | $checked['showemail'] = 'checked="checked"'; |
| 47 | 2 | eofredj | } |
| 48 | 2 | eofredj | |
| 49 | 27 | eofredj | if($allownotify == "yes") { |
| 50 | 27 | eofredj | if($member['emailnotify'] == "yes") { |
| 51 | 27 | eofredj | $checked['notify'] = 'checked="checked"'; |
| 52 | 14 | eofredj | } |
| 53 | 18 | eofredj | eval("\$memcp_profile_notify = \"" . template("memcp_profile_notify")."\";"); |
| 54 | 2 | eofredj | } |
| 55 | 2 | eofredj | |
| 56 | 27 | eofredj | if($member['newsletter'] == "yes") { |
| 57 | 27 | eofredj | $checked['news'] = 'checked="checked"'; |
| 58 | 2 | eofredj | } |
| 59 | 2 | eofredj | |
| 60 | 27 | eofredj | if($member['u2upopup'] == "yes") { |
| 61 | 27 | eofredj | $checked['u2upopup'] = 'checked="checked"'; |
| 62 | 2 | eofredj | } |
| 63 | 2 | eofredj | |
| 64 | 27 | eofredj | if($member['hidden'] == "yes") { |
| 65 | 27 | eofredj | $checked['hidden'] = 'checked="checked"'; |
| 66 | 18 | eofredj | } |
| 67 | 18 | eofredj | |
| 68 | 27 | eofredj | if($member['hidesig'] == "yes") { |
| 69 | 27 | eofredj | $checked['hidesig'] = 'checked="checked"'; |
| 70 | 18 | eofredj | } |
| 71 | 18 | eofredj | |
| 72 | 27 | eofredj | if($member['hideavatar'] == "yes") { |
| 73 | 27 | eofredj | $checked['hideavatar'] = 'checked="checked"'; |
| 74 | 18 | eofredj | } |
| 75 | 18 | eofredj | |
| 76 | 18 | eofredj | $coochk[$member['logintime']] = "selected=\"selected\""; |
| 77 | 18 | eofredj | |
| 78 | 565 | eofredj | $currdate = gmdate($huser['timecode']);
|
| 79 | 2 | eofredj | eval($lang['evaloffset']); |
| 80 | 2 | eofredj | |
| 81 | 323 | eofredj | $timeseloffset = array('-12', '-11', '-10', '-9', '-8', '-7', '-6', '-5', '-4', '-3.5', '-3', '-2', '-1', '0', '1', '2', '3', '3.5', '4', '4.5', '5', '5.5', '6', '7', '8', '9', '9.5', '10', '11', '12'); |
| 82 | 2 | eofredj | |
| 83 | 14 | eofredj | $tzindex = array_search($member['timeoffset'], $timeseloffset) + 1; |
| 84 | 14 | eofredj | |
| 85 | 565 | eofredj | $timesel[$tzindex] = 'selected="selected"';
|
| 86 | 14 | eofredj | |
| 87 | 605 | eofredj | $pop = new wdgPopup('thememem'); |
| 88 | 605 | eofredj | $pop->setKeyName('id');
|
| 89 | 605 | eofredj | $pop->setValueName('name');
|
| 90 | 605 | eofredj | $pop->setValues(getThemes()); |
| 91 | 605 | eofredj | $pop->selected = $member['theme_id'];
|
| 92 | 605 | eofredj | $pop->setBlank($lang['textusedefault'], 0); |
| 93 | 605 | eofredj | $themelist = $pop->render(); |
| 94 | 2 | eofredj | |
| 95 | 45 | eofredj | if($dir = @opendir("lang")) { |
| 96 | 45 | eofredj | while ($thafile = readdir($dir)) {
|
| 97 | 45 | eofredj | if(is_file("lang/$thafile") && preg_match('/\.lang\.php$/', $thafile)) { |
| 98 | 45 | eofredj | $temparray[] = str_replace(".lang.php", "", $thafile); |
| 99 | 2 | eofredj | } |
| 100 | 2 | eofredj | } |
| 101 | 45 | eofredj | closedir($dir); |
| 102 | 2 | eofredj | } |
| 103 | 45 | eofredj | $langfileselect = popup("langfilenew", $temparray, false, "", $member['langfile']); |
| 104 | 2 | eofredj | |
| 105 | 565 | eofredj | $listday = implode('", "', array($lang['timesunprfx'], $lang['timemonprfx'], $lang['timetueprfx'], $lang['timewedprfx'], $lang['timethuprfx'], $lang['timefriprfx'], $lang['timesatprfx'])); |
| 106 | 565 | eofredj | $listmonth = implode('", "', $month_names);
|
| 107 | 565 | eofredj | |
| 108 | 27 | eofredj | if(isset($member['bmonth'])) { |
| 109 | 27 | eofredj | $member['bmonth'] = (int) $member['bmonth']; |
| 110 | 27 | eofredj | } |
| 111 | 2 | eofredj | |
| 112 | 27 | eofredj | if(isset($member['bday'])) { |
| 113 | 27 | eofredj | $member['bday'] = (int) $member['bday']; |
| 114 | 27 | eofredj | } |
| 115 | 565 | eofredj | |
| 116 | 565 | eofredj | $day_names = array();
|
| 117 | 565 | eofredj | for($i = 1; $i < 32; $i++) { |
| 118 | 565 | eofredj | $day_names[] = $i; |
| 119 | 2 | eofredj | } |
| 120 | 565 | eofredj | $dayselect = newpopup('day', $day_names, array('blank' => true, 'attr' => '', 'usekey' => false), $member['bday']); |
| 121 | 565 | eofredj | $monthselect = newpopup('month', $month_names, array('blank' => true, 'attr' => '', 'usekey' => true), $member['bmonth']); |
| 122 | 2 | eofredj | |
| 123 | 565 | eofredj | |
| 124 | 565 | eofredj | if('24' == $member['timeformat']) { |
| 125 | 27 | eofredj | $check24 = 'checked="checked"';
|
| 126 | 27 | eofredj | } else {
|
| 127 | 27 | eofredj | $check12 = 'checked="checked"';
|
| 128 | 2 | eofredj | } |
| 129 | 2 | eofredj | |
| 130 | 565 | eofredj | if('yes' == $settings['sigbbcode']) { |
| 131 | 10 | eofredj | $bbcodeis = $lang['textyes'];
|
| 132 | 27 | eofredj | } else {
|
| 133 | 10 | eofredj | $bbcodeis = $lang['textno'];
|
| 134 | 2 | eofredj | } |
| 135 | 2 | eofredj | |
| 136 | 565 | eofredj | if('yes' == $settings['sightml']) { |
| 137 | 10 | eofredj | $htmlis = $lang['textyes'];
|
| 138 | 27 | eofredj | } else {
|
| 139 | 10 | eofredj | $htmlis = $lang['textno'];
|
| 140 | 2 | eofredj | } |
| 141 | 2 | eofredj | |
| 142 | 18 | eofredj | // Change username code
|
| 143 | 111 | eofredj | $newname = '<input type="text" name="newusername" size="25" value="' . $member['username'] . '" />'; |
| 144 | 2 | eofredj | |
| 145 | 18 | eofredj | // Custom status code
|
| 146 | 111 | eofredj | $custom = '<input type="text" name="newcstatus" size="40" value="' . $member['customstatus'] . '" />'; |
| 147 | 2 | eofredj | |
| 148 | 18 | eofredj | $avatars = " <option value=\"\" />$lang[textnone]</option> ";
|
| 149 | 111 | eofredj | if(false !== ($dir = @opendir("images/avatars"))) { |
| 150 | 111 | eofredj | while($avatar1 = readdir($dir)) {
|
| 151 | 111 | eofredj | if(is_file("images/avatars/$avatar1")) { |
| 152 | 111 | eofredj | $avatars .= " <option value=\"images/avatars/$avatar1\" />$avatar1</option> ";
|
| 153 | 111 | eofredj | } |
| 154 | 2 | eofredj | } |
| 155 | 111 | eofredj | closedir($dir); |
| 156 | 2 | eofredj | } |
| 157 | 24 | eofredj | |
| 158 | 18 | eofredj | $avatars = str_replace("value=\"$member[avatar]\"", "value=\"$member[avatar]\" selected=\"selected\"", $avatars); |
| 159 | 2 | eofredj | |
| 160 | 18 | eofredj | $avatarbox = "<select name=\"avatarlist\" onchange='setimage(this);'>$avatars</select>";
|
| 161 | 2 | eofredj | |
| 162 | 18 | eofredj | eval("\$cp_avatar = \"".template("memcp_profile_avatarlist")."\";"); |
| 163 | 18 | eofredj | eval("\$cp_avatar .= \"".template("memcp_profile_avatarurl")."\";"); |
| 164 | 2 | eofredj | |
| 165 | 18 | eofredj | $navigation = "» <a href=\"cp.php\">$lang[textcp]</a> » $lang[textprofor] $member[username]";
|
| 166 | 18 | eofredj | |
| 167 | 565 | eofredj | setCSS('CalendarPopup.css', 'calendar'); |
| 168 | 18 | eofredj | eval("\$header = \"".template("header")."\";"); |
| 169 | 18 | eofredj | echo $header;
|
| 170 | 18 | eofredj | |
| 171 | 2 | eofredj | eval("\$offset = \"".template("tzoneselect")."\";"); |
| 172 | 2 | eofredj | |
| 173 | 2 | eofredj | eval("\$profile = \"".template("cp_profile")."\";"); |
| 174 | 2 | eofredj | echo $profile;
|
| 175 | 27 | eofredj | } else {
|
| 176 | 111 | eofredj | $query = $db->query("SELECT * FROM $table[members] WHERE uid=" . (int) $user);
|
| 177 | 18 | eofredj | $member = $db->fetch_assoc($query); |
| 178 | 2 | eofredj | |
| 179 | 27 | eofredj | if(!$member['username']) { |
| 180 | 2 | eofredj | message($lang['badname']);
|
| 181 | 2 | eofredj | exit;
|
| 182 | 2 | eofredj | } |
| 183 | 2 | eofredj | |
| 184 | 111 | eofredj | $clause = array();
|
| 185 | 111 | eofredj | |
| 186 | 111 | eofredj | $newusername = addslashes(trim($newusername)); |
| 187 | 111 | eofredj | if('' != $newusername && $newusername != $member['username'] && !preg_match('`("|%|<|,|\||\'|' . chr(160) . ')`', $newusername)) { |
| 188 | 111 | eofredj | $query = $db->query("SELECT uid FROM $table[members] WHERE username='$newusername'");
|
| 189 | 111 | eofredj | if(!$db->fetch_assoc($query)) {
|
| 190 | 111 | eofredj | $clause['username'] = "username='" . $newusername . "',"; |
| 191 | 111 | eofredj | } else {
|
| 192 | 111 | eofredj | redirect("javascript:history.go(-1)");
|
| 193 | 111 | eofredj | message($lang['alreadyreg']);
|
| 194 | 111 | eofredj | exit;
|
| 195 | 111 | eofredj | } |
| 196 | 111 | eofredj | } |
| 197 | 111 | eofredj | |
| 198 | 27 | eofredj | if($showemail != "yes") { |
| 199 | 2 | eofredj | $showemail = "no";
|
| 200 | 2 | eofredj | } |
| 201 | 2 | eofredj | |
| 202 | 27 | eofredj | if($hidden != "yes") { |
| 203 | 18 | eofredj | $hidden = "no";
|
| 204 | 18 | eofredj | } |
| 205 | 18 | eofredj | |
| 206 | 27 | eofredj | if($hidesig != "yes") { |
| 207 | 18 | eofredj | $hidesig = "no";
|
| 208 | 18 | eofredj | } |
| 209 | 18 | eofredj | |
| 210 | 27 | eofredj | if($hideavatar != "yes") { |
| 211 | 18 | eofredj | $hideavatar = "no";
|
| 212 | 18 | eofredj | } |
| 213 | 18 | eofredj | |
| 214 | 27 | eofredj | if($newemailnotifydef != "yes" || $allownotify == "no") { |
| 215 | 2 | eofredj | $newemailnotifydef = "no";
|
| 216 | 2 | eofredj | } |
| 217 | 2 | eofredj | |
| 218 | 27 | eofredj | if($newsletter != "yes") { |
| 219 | 2 | eofredj | $newsletter = "no";
|
| 220 | 2 | eofredj | } |
| 221 | 2 | eofredj | |
| 222 | 27 | eofredj | $bday = (int) $day; |
| 223 | 27 | eofredj | $bmonth = (int) $month; |
| 224 | 27 | eofredj | $byear = (int) $year; |
| 225 | 45 | eofredj | if(0 === $bday || 0 === $bmonth || !checkdate($bmonth, $bday, $byear)) { |
| 226 | 27 | eofredj | $bday = 'NULL';
|
| 227 | 27 | eofredj | $bmonth = 'NULL';
|
| 228 | 27 | eofredj | $byear = 'NULL';
|
| 229 | 45 | eofredj | } else if(0 === $byear) { |
| 230 | 27 | eofredj | $byear = 'NULL';
|
| 231 | 103 | eofredj | } else {
|
| 232 | 103 | eofredj | $db->query("UPDATE $table[settings] SET value= '0' WHERE variable='birthdate'");
|
| 233 | 27 | eofredj | } |
| 234 | 2 | eofredj | |
| 235 | 27 | eofredj | if($avatarurl != "") { |
| 236 | 18 | eofredj | $avatar = getavatarsetting($avatarurl); |
| 237 | 27 | eofredj | } else {
|
| 238 | 2 | eofredj | $avatar = $avatarlist; |
| 239 | 2 | eofredj | } |
| 240 | 2 | eofredj | |
| 241 | 92 | eofredj | $avatar = addslashes($avatar); |
| 242 | 92 | eofredj | $memlocation = addslashes($memlocation); |
| 243 | 565 | eofredj | $icq = addslashes($_POST['icq']);
|
| 244 | 565 | eofredj | $yahoo = addslashes($_POST['yahoo']);
|
| 245 | 565 | eofredj | $aim = addslashes($_POST['aim']);
|
| 246 | 565 | eofredj | $msn = addslashes($_POST['msn']);
|
| 247 | 92 | eofredj | $email = addslashes($email); |
| 248 | 92 | eofredj | $site = addslashes($site); |
| 249 | 565 | eofredj | $bio = addslashes($_POST['bio']);
|
| 250 | 111 | eofredj | $newcstatus = addslashes($newcstatus); |
| 251 | 92 | eofredj | $langilenew = addslashes($langilenew); |
| 252 | 565 | eofredj | $firstname = addslashes($_POST['firstname']);
|
| 253 | 565 | eofredj | $realname = addslashes($_POST['realname']);
|
| 254 | 565 | eofredj | $timeformatnew = addslashes($_POST['timeformatnew']);
|
| 255 | 565 | eofredj | $dateformatnew = addslashes($_POST['dateformatnew']);
|
| 256 | 24 | eofredj | $pppnew = (int) $pppnew; |
| 257 | 24 | eofredj | $tppnew = (int) $tppnew; |
| 258 | 565 | eofredj | $timeoffset = (int) $_POST['timeoffset'];
|
| 259 | 565 | eofredj | $cookielife = (int) $_POST['cookielife'];
|
| 260 | 2 | eofredj | |
| 261 | 568 | eofredj | if('yes' == $settings['sightml']) { |
| 262 | 568 | eofredj | $bbT->handleTags('html');
|
| 263 | 2 | eofredj | } |
| 264 | 2 | eofredj | |
| 265 | 27 | eofredj | // Cache Smilies
|
| 266 | 27 | eofredj | smcwcache(true, false); |
| 267 | 27 | eofredj | $smilies = $o2cache['smilies'];
|
| 268 | 27 | eofredj | if($smilies[0] > 0) { |
| 269 | 27 | eofredj | $bbT->addSmilies($smilies[1]);
|
| 270 | 27 | eofredj | } |
| 271 | 27 | eofredj | $signaturehtml = $bbT->processHtml($signature); |
| 272 | 27 | eofredj | $signaturehtml = $bbT->processWrap($signaturehtml); |
| 273 | 27 | eofredj | $signaturehtml = $bbT->processTags($signaturehtml, true);
|
| 274 | 565 | eofredj | if('yes' == $settings['sightml']) { |
| 275 | 565 | eofredj | $bbT->removeTags('html');
|
| 276 | 565 | eofredj | } |
| 277 | 27 | eofredj | |
| 278 | 565 | eofredj | $signature = $db->textFormat($signature); |
| 279 | 565 | eofredj | $signaturehtml = $db->textFormat($signaturehtml); |
| 280 | 27 | eofredj | |
| 281 | 111 | eofredj | if(!empty($newpassword)) { |
| 282 | 111 | eofredj | $clause['password'] = "password='" . md5($newpassword) . "',"; |
| 283 | 111 | eofredj | } |
| 284 | 27 | eofredj | |
| 285 | 565 | eofredj | $db->query("UPDATE $table[members] SET $clause[username] $clause[password] customstatus='$newcstatus', email='$email', site='$site', aim='$aim', location='$memlocation', bio='$bio', sig=$signature, sightml=$signaturehtml, showemail='$showemail', timeoffset=$timeoffset, icq='$icq', avatar='$avatar', yahoo='$yahoo', theme='$thememem', bday=$bday, bmonth=$bmonth, byear=$byear, langfile='$langfilenew', tpp=$tppnew, ppp=$pppnew, newsletter='$newsletter', timeformat='$timeformatnew', msn='$msn', dateformat='$dateformatnew', realname='$realname', firstname='$firstname', emailnotify='$newemailnotifydef', u2upopup='$newu2upopup', hidden='$hidden', hidesig='$hidesig', hideavatar='$hideavatar', logintime=$cookielife WHERE uid=$user");
|
| 286 | 100 | eofredj | |
| 287 | 629 | eofredj | redirect('member.php?action=viewpro&uid=' . urlencode($member['uid'])); |
| 288 | 2 | eofredj | message($lang['editedpro']);
|
| 289 | 2 | eofredj | exit;
|
| 290 | 2 | eofredj | } |
| 291 | 2 | eofredj | } |
| 292 | 2 | eofredj | |
| 293 | 27 | eofredj | if($action == "avatargal") { |
| 294 | 2 | eofredj | $navigation = "» <a href=\"cp.php\">$lang[textcp]</a> » $lang[avatartitle]";
|
| 295 | 2 | eofredj | |
| 296 | 2 | eofredj | eval("\$header = \"".template("header")."\";"); |
| 297 | 2 | eofredj | echo $header;
|
| 298 | 2 | eofredj | include("include/avatargal.inc.php"); |
| 299 | 2 | eofredj | } |
| 300 | 2 | eofredj | |
| 301 | 24 | eofredj | $timing->chrono($now); |
| 302 | 24 | eofredj | $endtime = $timing->getchrono($now); |
| 303 | 2 | eofredj | $totaltime = $endtime[2];
|
| 304 | 2 | eofredj | |
| 305 | 2 | eofredj | eval("\$footer = \"".template("footer")."\";"); |
| 306 | 2 | eofredj | echo $footer; |