diff --git a/web/root/members/editprofile.ssjs b/web/root/members/editprofile.ssjs index 7b19dd5c644da8fb6860c0d14d480d0c3d9e12d7..f021715812207bd10d27ba3ca995926225a113d8 100644 --- a/web/root/members/editprofile.ssjs +++ b/web/root/members/editprofile.ssjs @@ -4,6 +4,13 @@ load("../web/lib/template.ssjs"); var sub = ''; +var is_sysop=false; + +if(user.number==1 || user.security.level>=90) + disabled=""; +else + disabled='disabled="disabled"'; + template.title=system.name +" - Edit Your Profile"; usr = new Object; @@ -54,9 +61,9 @@ template.profile = new Array; template.profile.push({html: '<form action="/members/updateprofile.ssjs" method="post">' }); template.profile.push({html: '<table class="newuser" cellpadding="0" cellspacing="2">' }); if(system.newuser_questions & UQ_REALNAME) - template.profile.push({html: '<tr><td class="newuser" align="right">Real Name:</td><td class="newuser" align="left"><input type="text" name="name" size="25" maxlength="25" value="' + usr.name + '" /></td></tr>' }); + template.profile.push({html: '<tr><td class="newuser" align="right">Real Name:</td><td class="newuser" align="left"><input type="text" name="name" size="25" maxlength="25" value="' + usr.name + '" ' + disabled + ' /></td></tr>' }); if(system.newuser_questions & UQ_ALIASES) - template.profile.push({html: '<tr><td class="newuser" align="right">Alias:</td><td class="newuser" align="left"><input type="text" name="alias" size="25" maxlength="25" value="' + usr.alias + '" /></td></tr>' }); + template.profile.push({html: '<tr><td class="newuser" align="right">Alias:</td><td class="newuser" align="left"><input type="text" name="alias" size="25" maxlength="25" value="' + usr.alias + '" ' + disabled + ' /></td></tr>' }); if(system.newuser_questions & UQ_HANDLE) template.profile.push({html: '<tr><td class="newuser" align="right">Chat Handle:</td><td class="newuser" align="left"><input type="text" name="handle" size="8" maxlength="8" value="' + usr.handle + '" /></td></tr>' }); template.profile.push({html: '<tr><td class="newuser" align="right">E-Mail Address:</td><td class="newuser" align="left"><input type="text" name="email" size="50" maxlength="60" value="' + usr.netmail + '" /></td></tr>' }); diff --git a/web/root/members/updateprofile.ssjs b/web/root/members/updateprofile.ssjs index bb9fefb1f9838e5860b232c03fccdf3dc4a0e9d4..fabe632fcf0f3ca83c1fff0800e7eccb21f6a0e8 100644 --- a/web/root/members/updateprofile.ssjs +++ b/web/root/members/updateprofile.ssjs @@ -2,21 +2,34 @@ load("../web/lib/template.ssjs"); +var is_sysop=false; + +if(user.number==1 || user.security.level>=90) + is_sysop=true; + var sub = ''; template.title=system.name + " - Profile Updated"; -if(http_request.query["handle"]!=user.handle) - user.handle=http_request.query["handle"]; +if(is_sysop) { + +var usr = new User(http_request.query.edituser[0]); -if(http_request.query["email"]!=user.netmail) - user.netmail=http_request.query["email"]; + if(http_request.query["name"]!=usr.name) + usr.name=http_request.query["name"]; + if(http_request.query["alias"]!=usr.alias) + usr.alias=http_request.query["alias"]; + if(http_request.query["handle"]!=usr.handle) + usr.handle=http_request.query["handle"]; + +if(http_request.query["email"]!=usr.netmail) + usr.netmail=http_request.query["email"]; -if(http_request.query["location"]!=user.location) - user.location=http_request.query["location"]; +if(http_request.query["location"]!=usr.location) + usr.location=http_request.query["location"]; -if(file_exists(prefs_dir +format("%04d.html_prefs",user.number))) { - prefsfile=new File(prefs_dir + format("%04d.html_prefs",user.number)); +if(file_exists(prefs_dir +format("%04d.html_prefs",usr.number))) { + prefsfile=new File(prefs_dir + format("%04d.html_prefs",usr.number)); if(prefsfile.open("r+",false)) { if(http_request.query["icq"]!=prefsfile.iniGetValue('Profile', 'ICQ')); prefsfile.iniSetValue('Profile', 'ICQ', http_request.query["icq"]); @@ -38,9 +51,44 @@ if(file_exists(prefs_dir +format("%04d.html_prefs",user.number))) { } } -var backurl=http_request.header.referer; +} else { + + if(http_request.query["handle"]!=user.handle) + user.handle=http_request.query["handle"]; + + if(http_request.query["email"]!=user.netmail) + user.netmail=http_request.query["email"]; + + if(http_request.query["location"]!=user.location) + user.location=http_request.query["location"]; + + if(file_exists(prefs_dir +format("%04d.html_prefs",user.number))) { + prefsfile=new File(prefs_dir + format("%04d.html_prefs",user.number)); + if(prefsfile.open("r+",false)) { + if(http_request.query["icq"]!=prefsfile.iniGetValue('Profile', 'ICQ')); + prefsfile.iniSetValue('Profile', 'ICQ', http_request.query["icq"]); + if(http_request.query["msn"]!=prefsfile.iniGetValue('Profile', 'MSN')); + prefsfile.iniSetValue('Profile', 'MSN', http_request.query["msn"]); + if(http_request.query["yahoo"]!=prefsfile.iniGetValue('Profile', 'Yahoo')); + prefsfile.iniSetValue('Profile', 'Yahoo', http_request.query["yahoo"]); + if(http_request.query["aim"]!=prefsfile.iniGetValue('Profile', 'AIM')); + prefsfile.iniSetValue('Profile', 'AIM', http_request.query["aim"]); + if(http_request.query["homepage"]!=prefsfile.iniGetValue('Profile', 'Homepage')); + prefsfile.iniSetValue('Profile', 'Homepage', http_request.query["homepage"]); + if(http_request.query["hobbies"]!=prefsfile.iniGetValue('Profile', 'Hobbies')); + prefsfile.iniSetValue('Profile', 'Hobbies', http_request.query["hobbies"]); + if(http_request.query["picture"]!=prefsfile.iniGetValue('Profile', 'Picture')); + prefsfile.iniSetValue('Profile', 'Picture', http_request.query["picture"]); + if(http_request.query["avatar"]!=prefsfile.iniGetValue('Profile', 'Avatar')); + prefsfile.iniSetValue('Profile', 'Avatar', http_request.query["avatar"]); + prefsfile.close(); + } + } +} + +template.backurl='<a href="/members/userlist.ssjs">Back to Userlist</a>'; -template.update_message="Your Profile has been Updated." +template.update_message="Profile has been Updated." write_template("header.inc"); load("../web/lib/topnav_html.ssjs"); diff --git a/web/root/members/viewprofile.ssjs b/web/root/members/viewprofile.ssjs index 165b9ace21f2982eab470d9214f9a30020adfcda..46066b6cc17183bdd25883f7c1d0b218aed3a9d3 100644 --- a/web/root/members/viewprofile.ssjs +++ b/web/root/members/viewprofile.ssjs @@ -6,7 +6,7 @@ var sub = ''; var is_sysop=false; -if(user.number==1 && user.security.level>=90) +if(user.number==1 || user.security.level>=90) is_sysop=true; var u = new User(http_request.query.showuser[0]); @@ -22,7 +22,6 @@ if(system.newuser_questions & UQ_HANDLE) if(system.newuser_questions & UQ_LOCATION) usr.location=u.location.toString(); usr.netmail=u.netmail.toString(); - // usr.connection=u.connection.toString(); usr.logon=strftime("%b-%d-%y",u.stats.laston_date); usr.laston=0-u.stats.laston_date; @@ -68,7 +67,7 @@ if(file_exists(prefs_dir +format("%04d.html_prefs",u.number))) { if(is_sysop) { template.profile.push({html: '<h1>View Profile</h1>' }); template.profile.push({html: '<p>Changes here mainly affect the Telnet side of the BBS</p>' }); - template.profile.push({html: '<form action="/members/updateprofile.ssjs" method="post">' }); + template.profile.push({html: '<form action="/members/updateprofile.ssjs?edituser=' + u.number + '" method="post">' }); template.profile.push({html: '<table class="newuser" cellpadding="0" cellspacing="2">' }); if(system.newuser_questions & UQ_REALNAME) template.profile.push({html: '<tr><td class="newuser" align="right">Real Name:</td><td class="newuser" align="left"><input type="text" name="name" size="25" maxlength="25" value="' + usr.name + '" /></td></tr>' }); diff --git a/web/templates/default/updateprofile.inc b/web/templates/default/updateprofile.inc index 708cfafb39ec8b056c84ae1dfcc085215d684a7e..352b187b5d3c5bcc4c54dfb6111edf8bf615b7f7 100644 --- a/web/templates/default/updateprofile.inc +++ b/web/templates/default/updateprofile.inc @@ -5,6 +5,6 @@ <td class="main" valign="top"><br /> - <h1>@@update_message@@</h1> + <h3>@@update_message@@</h3> @@backurl@@ <br />