Parašė laimmx· 2011 Rugs. 17 01:09:06
#1
Ka cia as blogai padariau su medaleis nes vistiek profilije ju nerodo versija
php v7.2.03
Profile
php:
<?php
/*-------------------------------------------------------+
|
PHP-Fusion Content Management System
| Copyright (C) 2002 - 2008 Nick Jones
|
http://www.php-fu...
+--------------------------------------------------------+
| Filename: profile.php
| Author: Nick Jones (Digitanium)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at
www.gnu.org/licen... Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
//Ispejimu nustatymai
$i_tema = 2;//Forumo temos ID, kurioje bus praneama apie duotus ispejimus
$i_forumas = 4;//Forumo ID, kuriame yra ispejimu tema
//Nustatymai baigti
require_once "maincore.php";
require_once THEMES."templates/header.php";
include LOCALE.LOCALESET."view_profile.php";
include LOCALE.LOCALESET."user_fields.php";
if (file_exists(LOCALE.LOCALESET."warnings.php"))
include LOCALE.LOCALESET."warnings.php";
else
include LOCALE."English/warnings.php";
if (!isset($_GET['group_id']) || !isnum($_GET['group_id'])) {
add_to_head("<script type='text/javascript'>function award_info(txt,el){
var el2 = $('#award_info');
if (txt == '') { el2.css('display', 'none'); return; }
el = $(el);
if (!el2.length) {
$('body').append(\"<div id='award_info' class='tbl2 tbl-border' style='position:absolute;z-index:9999;border-radius:3px;max-width:300px;box-shadow:rgba(0,0,0,0.75) 0 0 5px'></div>\");
el2 = $('#award_info');
}
var offset = el.offset();
el2.css({'display': 'block', 'top': (offset.top + el.outerHeight() + 5)+'px', 'left': offset.left+'px'}).html(txt);
}</script>");
if (!isset($_GET['lookup']) || !isnum($_GET['lookup'])) { redirect("index.php"); }
$result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_id='".$_GET['lookup']."'");
if (dbrows($result)) { $user_data = dbarray($result); } else { redirect("index.php"); }
// if ($user_data['user_status'] > "0") { redirect("index.php"); } //disabled, because when he will be banned for the warnings, we wont see this user
$warnings_count = dbcount("(*)", $db_prefix."warnings", "warning_user=".$_GET['lookup']);//counting user warnings
if (iADMIN && checkrights("UG") && $user_data['user_id'] != $userdata['user_id']) {
if ((isset($_POST['add_to_group'])) && (isset($_POST['user_group']) && isnum($_POST['user_group']))) {
if (!preg_match("(^\.{$_POST['user_group']}$|\.{$_POST['user_group']}\.|\.{$_POST['user_group']}$)", $user_data['user_groups'])) {
$result = dbquery("UPDATE ".DB_USERS." SET user_groups='".$user_data['user_groups'].".".$_POST['user_group']."' WHERE user_id='".$user_data['user_id']."'");
}
redirect(FUSION_SELF."?lookup=".$user_data['user_id']);
}
}
add_to_title($locale['global_200'].$locale['400'].$locale['global_201'].$user_data['user_name']);
opentable($locale['400']);
echo "<table cellpadding='0' cellspacing='1' width='400' class='tbl-border center'>\n<tr>\n";
if ($user_data['user_avatar'] && file_exists(IMAGES."avatars/".$user_data['user_avatar'])) {
echo "<td rowspan='5' width='1%' class='tbl profile_user_avatar'><!--profile_user_avatar--><img src='".IMAGES."avatars/".$user_data['user_avatar']."' alt='' /></td>\n";
}
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['u001']."</td>\n";
echo "<td align='right' class='tbl1 profile_user_name'><!--profile_user_name-->".$user_data['user_name']."</td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'></td>\n";
echo "<td align='right' class='tbl1 profile_user_level'><!--profile_user_level-->".getuserlevel($user_data['user_level'])."</td>\n";
echo "</tr>\n";
if ($user_data['user_hide_email'] != "1" || iADMIN) {
echo "<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['u005']."</td>\n";
echo "<td align='right' class='tbl1'>".hide_email($user_data['user_email'])."</td>\n";
echo "</tr>\n";
}
echo "<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['u040']."</td>\n";
echo "<td align='right' class='tbl1'>".showdate("longdate", $user_data['user_joined'])."</td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['u041']."</td>\n";
echo "<td align='right' class='tbl1'>".($user_data['user_lastvisit'] ? showdate("longdate", $user_data['user_lastvisit']) : $locale['u042'])."</td>\n";
echo "</tr>\n";
if (iMEMBER && $userdata['user_id'] != $user_data['user_id']) {
echo "<td colspan='".($user_data['user_avatar'] && file_exists(IMAGES."avatars/".$user_data['user_avatar']) ? "3" : "2")."' class='tbl2' style='text-align:center;white-space:nowrap'><a href='messages.php?msg_send=".$user_data['user_id']."' title='".$locale['u043']."'>".$locale['u043']."</a></td>\n";
echo "</tr>\n";
}
echo "</table>\n";
echo "<div style='margin:5px'></div>\n";
$profile_method = "display"; $i = 0; $user_fields_output = array("", "", "", ""); $ob_active = false;
$result2 = dbquery("SELECT * FROM ".DB_USER_FIELDS." ORDER BY field_cat, field_order");
if (dbrows($result2)) {
while($data2 = dbarray($result2)) {
if ($i != $data2['field_cat']) {
if ($ob_active) {
$user_fields_output[$i] = ob_get_contents();
ob_end_clean();
$ob_active = false;
}
$i = $data2['field_cat'];
}
if (!$ob_active) {
ob_start();
$ob_active = true;
}
if (file_exists(LOCALE.LOCALESET."user_fields/".$data2['field_name'].".php")) {
include LOCALE.LOCALESET."user_fields/".$data2['field_name'].".php";
}
if (file_exists(INCLUDES."user_fields/".$data2['field_name']."_include.php")) {
include INCLUDES."user_fields/".$data2['field_name']."_include.php";
}
}
}
if ($ob_active) {
$user_fields_output[$i] = ob_get_contents();
ob_end_clean();
}
if (array_key_exists(1, $user_fields_output) && $user_fields_output[1]) {
echo "<div style='margin:5px'></div>\n";
echo "<table cellpadding='0' cellspacing='1' width='400' class='tbl-border center'>\n<tr>\n";
echo "<td colspan='2' class='tbl2'><strong>".$locale['u044']."</strong></td>\n";
echo "</tr>\n".$user_fields_output[1];
echo "</table>\n";
}
if (array_key_exists(2, $user_fields_output) && $user_fields_output[2]) {
echo "<div style='margin:5px'></div>\n";
echo "<table cellpadding='0' cellspacing='1' width='400' class='tbl-border center'>\n<tr>\n";
echo "<td colspan='2' class='tbl2'><strong>".$locale['u045']."</strong></td>\n";
echo "</tr>\n".$user_fields_output[2];
echo "</table>\n";
}
if (array_key_exists(4, $user_fields_output) && $user_fields_output[4]) {
echo "<div style='margin:5px'></div>\n";
echo "<table cellpadding='0' cellspacing='1' width='400' class='tbl-border center'>\n<tr>\n";
echo "<td colspan='2' class='tbl2'><strong>".$locale['u047']."</strong></td>\n";
echo "</tr>\n".$user_fields_output[4];
echo "</table>\n";
}
if (iADMIN && checkrights("M")) {
echo "<div style='margin:5px'></div>\n";
echo "<table cellpadding='0' cellspacing='1' width='400' class='tbl-border center'>\n<tr>\n";
echo "<td colspan='2' class='tbl2'><strong>".$locale['u048']."</strong></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['u049']."</td>\n";
echo "<td align='right' class='tbl1'>".$user_data['user_ip']."</td>\n";
echo "</tr>\n</table>\n";
//delete warn
if (isset($_GET['action']) && $_GET['action'] == "delete_warn" && isset($_GET['warning_id']) && isnum($_GET['warning_id'])) {
$result = dbquery("DELETE FROM ".$db_prefix."warnings WHERE warning_user=".$_GET['lookup']." AND warning_id=".$_GET['warning_id']);
$isp = $warnings_count-1;
if ($isp == 0) {
$txt = "ispejimu";
} elseif ($isp == 1) {
$txt = "ispejima";
} else {
$txt = "ispejimus";
}
$zin = stripinput("".$userdata['user_name']." nueme ispejima nariui ".$user_data['user_id']."
".$user_data['user_name']." dabar turi ".$isp." $txt");//Forumo zinute
$result = dbquery("INSERT INTO ".DB_POSTS." (forum_id, thread_id, post_message, post_showsig, post_smileys, post_author, post_datestamp, post_ip, post_edituser, post_edittime) VALUES
($i_forumas, $i_tema, '$zin', 0, 1, ".$userdata['user_id'].", ".time().", '".USER_IP."', 0, 0)");
$result = dbquery("SELECT post_id FROM ".DB_POSTS." WHERE post_author = ".$userdata['user_id']." && thread_id = $i_tema ORDER BY post_datestamp DESC LIMIT 1");
$data = dbarray($result);
$result = dbquery("UPDATE ".DB_THREADS." SET thread_lastpost='".time()."', thread_lastpostid='".$data['post_id']."', thread_postcount=thread_postcount+1, thread_lastuser='".$userdata['user_id']."' WHERE thread_id='".$i_tema."'");
if ($warnings_count >= 5) $result = dbquery("UPDATE ".DB_USERS." SET user_status=0 WHERE user_id=".$_GET['lookup']);
redirect(FUSION_SELF."?lookup=".$_GET['lookup']);
}
//warnings query
if ($user_data['user_level'] == 101 && isset($_POST['give_warning']) && !empty($_POST['warning_couse']) && (isset($_POST['warning_forever']) || isnum($_POST['warning_time']))) {
$couse = stripinput($_POST['warning_couse']);
if (!isset($_POST['warning_forever'])) {
$end = time()+($_POST['warning_time']*86400);
} else {
$end = "forever";
}
if ($warnings_count == 4) {
$result = dbquery("UPDATE ".DB_USERS." SET user_status=1 WHERE user_id=".$_GET['lookup']);
}
if ($warnings_count < 5)
$result = dbquery("INSERT INTO ".$db_prefix."warnings (warning_user, warning_admin, warning_end, warning_couse) VALUES ('".$_GET['lookup']."', '".$userdata['user_id']."', '".$end."', '".$couse."')");
$isp = $warnings_count+1;
$zin = stripinput("".$userdata['user_name']." ispejo nari ".$user_data['user_name'].", nurodes priezasti: ".$couse."
".$user_data['user_name']." dabar turi ".$isp." ".($isp != 1 ? "ispejimus" : "ispejima"));//Forumo zinute
$result = dbquery("INSERT INTO ".DB_POSTS." (forum_id, thread_id, post_message, post_showsig, post_smileys, post_author, post_datestamp, post_ip, post_edituser, post_edittime) VALUES
($i_forumas, $i_tema, '$zin', 0, 1, ".$userdata['user_id'].", ".time().", '".USER_IP."', 0, 0)");
$result = dbquery("SELECT post_id FROM ".DB_POSTS." WHERE post_author = ".$userdata['user_id']." && thread_id = $i_tema ORDER BY post_datestamp DESC LIMIT 1");
$data = dbarray($result);
$result = dbquery("UPDATE ".DB_THREADS." SET thread_lastpost='".time()."', thread_lastpostid='".$data['post_id']."', thread_postcount=thread_postcount+1, thread_lastuser='".$userdata['user_id']."' WHERE thread_id='".$i_tema."'");
redirect(FUSION_SELF."?lookup=".$_GET['lookup']);
}
//warnings form
if ($user_data['user_level'] == 101 && isset($_GET['action']) && $_GET['action'] == "give_warn" && $warnings_count < 5) {
echo "<div style='margin:5px'></div>\n";
echo "<form name='submitform' method='post' action='".FUSION_SELF."?lookup=".$_GET['lookup']."'>
<table cellpadding='0' cellspacing='1' width='400' class='tbl-border center'>\n<tr>\n";
echo "<td colspan='2' class='tbl2'><strong>".$locale['war_00']."</strong></td>\n";
echo "</tr>\n<tr>\n";
echo "<td class='tbl1' width='1%' style='white-space:nowrap'><strong>".$locale['war_01']."</strong></td>
<td class='tbl1'>
<input type='text' class='textbox' name='warning_couse' style='width:200px'>
</td>
</tr>
<tr>
<td class='tbl2' width='1%' style='white-space:nowrap'><strong>".$locale['war_02']."</strong></td>
<td class='tbl2'>
<input type='text' class='textbox' name='warning_time' style='width:80px'> ".$locale['war_03']." :: <input type='checkbox' name='warning_forever' value='forever' style='vertical-align:middle'>".$locale['war_04']."
</td>
</tr>
<tr>
<td colspan='2' class='tbl1' align='center'><input type='submit' name='give_warning' class='button' value='".$locale['war_05']."'></td>";
echo "</tr>\n</table>\n</form>";
}
}
//display warnings
if ($user_data['user_level'] == 101) {
$result = dbquery("SELECT tw.*, tu.user_id AS warning_admin_id, tu.user_name AS warning_admin_name FROM ".$db_prefix."warnings tw
LEFT JOIN ".DB_USERS." tu ON tw.warning_admin=tu.user_id WHERE warning_user=".$_GET['lookup']." ORDER BY warning_id ASC LIMIT 5");
if (dbrows($result) > 0) {
echo "<div style='margin:5px'></div>\n";
echo "<table cellpadding='0' cellspacing='1' width='400' class='tbl-border center'>\n<tr>\n";
echo "<td class='tbl2' width='1%'><strong>".$locale['war_06']."</strong></td>\n";
echo "<td class='tbl2'><strong>".$locale['war_01']."</strong></td>\n";
echo "<td class='tbl2' width='1%' style='white-space:nowrap'><strong>".$locale['war_07']."</strong></td>\n";
echo "</tr>\n";
$w=1;
while ($data = dbarray($result)) {
$warning_end = $data['warning_end'] == "forever" ? "<strong>".$locale['war_04']."</strong>" : date("Y-m-d", $data['warning_end']);
echo "<tr>
<td width='1%' class='tbl1' style='white-space:nowrap'><img src='".IMAGES."warns/$w.gif' alt='' border='0' /></td>\n";
echo "<td class='tbl1'><span class='small'><strong>(<a href='".BASEDIR."profile.php?lookup=".$data['warning_admin_id']."'>".$data['warning_admin_name']."</a>)</strong></span> ".$data['warning_couse']."</td>\n
<td class='tbl1'>".(iADMIN && checkrights("M") ? "<a title='".$locale['war_08']."' href='".FUSION_SELF."?lookup=".$_GET['lookup']."&action=delete_warn&warning_id=".$data['warning_id']."'>".$warning_end."</a>" : $warning_end)."</td>\n
</tr>";
$w++;
}
echo "</table>\n";
}
}
if ($user_data['user_groups']) {
echo "<div style='margin:5px'></div>\n";
echo "<table cellpadding='0' cellspacing='1' width='400' class='center tbl-border'>\n<tr>\n";
echo "<td class='tbl2'><strong>".$locale['401']."</strong></td>\n";
echo "</tr>\n<tr>\n";
echo "<td class='tbl1'>\n";
$user_groups = (strpos($user_data['user_groups'], ".") == 0 ? explode(".", substr($user_data['user_groups'], 1)) : explode(".", $user_data['user_groups']));
for ($i = 0; $i < count($user_groups); $i++) {
echo "<div style='float:left'><a href='".FUSION_SELF."?group_id=".$user_groups[$i]."'>".getgroupname($user_groups[$i])."</a></div><div style='float:right'>".getgroupname($user_groups[$i], true)."</div><div style='float:none;clear:both'></div>\n";
}
echo "</td>\n</tr>\n</table>\n";
}
if (iADMIN && checkrights("M") && $user_data['user_id'] != $userdata['user_id']) {
$user_groups_opts = "";
if ($user_data['user_level'] < 102) {
echo "<div style='margin:5px'></div>\n";
echo "<form name='admin_form' method='post' action='".FUSION_SELF."?lookup=".$user_data['user_id']."'>\n";
echo "<table cellpadding='0' cellspacing='0' width='400' class='center tbl-border'>\n<tr>\n";
echo "<td class='tbl2' colspan='2'><strong>".$locale['402']."</strong></td>\n";
echo "</tr>\n<tr>\n";
echo "<td class='tbl1'><!--profile_admin_options-->\n";
//admin links for warnings
if ($warnings_count < 5) echo "<a href='".FUSION_SELF."?lookup=".$_GET['lookup']."&action=give_warn'>".$locale['war_09']."</a> ::\n";
//
echo "<a href='".ADMIN."members.php".$aidlink."&step=edit&user_id=".$user_data['user_id']."'>".$locale['410']."</a> ::\n";
if ($user_data['user_status'] == 0)
echo "<a href='".ADMIN."members.php".$aidlink."&step=ban&act=on&user_id=".$user_data['user_id']."&status=1' onclick=\"return confirm('".$locale['413']."');\">".$locale['411']."</a> ::\n";
else
echo "<a href='".ADMIN."members.php".$aidlink."&step=unban&act=on&user_id=".$user_data['user_id']."&status=1' onclick=\"return confirm('".$locale['war_10']."');\">".$locale['war_11']."</a> ::\n";
echo "<a href='".ADMIN."members.php".$aidlink."&step=delete&status=0&user_id=".$user_data['user_id']."' onclick=\"return confirm('".$locale['414']."');\">".$locale['412']."</a></td>\n";
$result = dbquery("SELECT * FROM ".DB_USER_GROUPS." ORDER BY group_id ASC");
if (dbrows($result)) {
while ($data2 = dbarray($result)) {
if (!preg_match("(^\.{$data2['group_id']}|\.{$data2['group_id']}\.|\.{$data2['group_id']}$)", $user_data['user_groups'])) {
$user_groups_opts .= "<option value='".$data2['group_id']."'>".$data2['group_name']."</option>\n";
}
}
if (iADMIN && checkrights("UG") && $user_groups_opts) {
echo "<td align='right' class='tbl1'>".$locale['415']."\n";
echo "<select name='user_group' class='textbox' style='width:100px'>\n".$user_groups_opts."</select>\n";
echo "<input type='submit' name='add_to_group' value='".$locale['416']."' class='button' onclick=\"return confirm('".$locale['417']."');\" /></td>\n";
}
}
echo "</tr>\n</table>\n</form>\n";
}
}
} else {
$result = dbquery("SELECT * FROM ".DB_USER_GROUPS." WHERE group_id='".$_GET['group_id']."'");
if (dbrows($result)) {
$data = dbarray($result);
$result = dbquery("SELECT * FROM ".DB_USERS." WHERE user_groups REGEXP('^\\\.{$_GET['group_id']}$|\\\.{$_GET['group_id']}\\\.|\\\.{$_GET['group_id']}$') ORDER BY user_level DESC, user_name");
opentable($locale['420']);
echo "<table cellpadding='0' cellspacing='0' width='100%'>\n<tr>\n";
echo "<td align='center' colspan='2' class='tbl1'><strong>".$data['group_name']."</strong> (".sprintf((dbrows($result) == 1 ? $locale['421'] : $locale['422']), dbrows($result)).")</td>\n";
echo "</tr>\n<tr>\n";
echo "<td class='tbl2'><strong>".$locale['423']."</strong></td>\n";
echo "<td align='center' width='1%' class='tbl2' style='white-space:nowrap'><strong>".$locale['424']."</strong></td>\n";
echo "</tr>\n";
while ($data = dbarray($result)) {
$cell_color = ($i % 2 == 0 ? "tbl1" : "tbl2"); $i++;
echo "<tr>\n<td class='$cell_color'>\n<a href='profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a></td>\n";
echo "<td align='center' width='1%' class='$cell_color' style='white-space:nowrap'>".getuserlevel($data['user_level'])."</td>\n</tr>";
}
echo "</table>\n";
} else {
redirect("index.php");
}
}
closetable();
include INCLUDES."comments_include.php";
showcomments("U", DB_USERS, "user_id", $_GET['lookup'], FUSION_SELF."?lookup=".$user_data['user_id']);
require_once THEMES."templates/footer.php";
if (!defined("IN_FUSION")) { die("Access Denied"); }
include INFUSIONS."awards/infusion_db.php";
if ($profile_method == "input") {
} elseif ($profile_method == "display") {
$result = dbquery("SELECT * FROM ".DB_AWARD." WHERE award_user='".$user_data['user_id']."'");
echo "<tr>\n";
echo "<td width='1%' class='tbl1' style='white-space:nowrap'>".$locale['uf_award']."</td>\n";
echo "</tr>\n";
while ($award = dbarray($result)) {
echo "<tr>\n";
echo "<td align='left' class='tbl1'><img src='".INFUSIONS."awards/images/awards/".$award['award_img']."'> ".$award['award_info']."</td>\n";
echo "<tr>\n";
}
} elseif ($profile_method == "validate_insert") {
} elseif ($profile_method == "validate_update") {
}
?>
UserFields.class.php:
<?php
/*-------------------------------------------------------+
|
PHP-Fusion Content Management System
| Copyright (C) 2002 - 2011 Nick Jones
|
http://www.php-fusion.co.uk/
+--------------------------------------------------------+
| Filename: UserFields.class.php
| Author: Hans Kristian Flaatten (Starefossen)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at
www.gnu.org/licenses/agpl.html. Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
if (!defined("IN_FUSION")) { die("Access Denied"); }
class UserFields {
public $displayTerms = 0;
public $displayValidation = 0;
public $errorsArray = array();
public $formaction = FUSION_SELF;
public $formname = "inputform";
public $isAdminPanel = false;
public $postName;
public $postValue;
public $showAdminOptions = false;
public $showAdminPass = true;
public $showAvatarInput = true;
public $skipCurrentPass = false;
public $registration = false;
public $userData = array("user_name", "user_password", "user_admin_password", "user_email");
private $html = "";
private $js = "";
private $javaScriptOther;
private $javaScriptRequired;
private $method;
private $_userNameChange = true;
public function displayInput() {
global $locale;
$this->method = "input";
$enctype = $this->showAvatarInput ? " enctype='multipart/form-data'" : "";
$this->html .= "<form name='".$this->formname."' method='post' action='".$this->formaction."'".$enctype." onsubmit='return ValidateForm(this)'>\n";
$this->html .= "<table cellpadding='0' cellspacing='0' class='center edit-profile'>\n";
$this->renderBasicInputFields();
$this->renderFields();
if ($this->displayValidation == 1) { $this->renderValidation(); }
if ($this->displayTerms == 1) { $this->renderTerms(); }
$this->renderButton();
$this->html .= "</table>\n</form>\n";
$this->js .= "<script type='text/javascript'>\n";
$this->js .= "/*<![CDATA[*/\n";
$this->js .= " function ValidateForm(frm) {\n";
$this->js .= " if ($(frm.user_new_password).val() != \"\") {\n";
$this->js .= " if ($(frm.user_new_password2).val() != $(frm.user_new_password).val()) {\n";
$this->js .= " $(frm.user_new_password2).addClass(\"tbl-error\");\n";
$this->js .= " alert(\"".$locale['u132'].$locale['u143']."\");\n";
$this->js .= " return false;\n";
$this->js .= " }\n";
$this->js .= " $(frm.user_new_password2).removeClass(\"tbl-error\");\n";
$this->js .= " if ($(frm.user_password).val() == \"\") {\n";
$this->js .= " $(frm.user_password).addClass(\"tbl-error\");\n";
$this->js .= " alert(\"".$locale['u138']."\");\n";
$this->js .= " return false;\n";
$this->js .= " }\n";
$this->js .= " $(frm.user_password).removeClass(\"tbl-error\");\n";
$this->js .= " if ($(frm.user_new_password).val() == $(frm.user_password).val()) {\n";
$this->js .= " $(frm.user_new_password).addClass(\"tbl-error\");\n";
$this->js .= " $(frm.user_new_password2).addClass(\"tbl-error\");\n";
$this->js .= " alert(\"".$locale['u134'].$locale['u146'].$locale['u133']."\");\n";
$this->js .= " return false;\n";
$this->js .= " }\n";
$this->js .= " $(frm.user_new_password).removeClass(\"tbl-error\");\n";
$this->js .= " $(frm.user_new_password2).removeClass(\"tbl-error\");\n";
$this->js .= " }\n";
$this->js .= $this->javaScriptRequired;
$this->js .= " }\n";
$this->js .= $this->javaScriptOther;
$this->js .= "/*]]>*/\n";
$this->js .= "</script>\n";
add_to_footer($this->js);
echo $this->html;
}
public function displayOutput() {
global $locale, $userdata;
$this->method = "display";
$this->renderBasicOutputFields();
$this->renderFields();
if (iADMIN && checkrights("M")) { $this->renderIPOutput(); }
if ($this->userData['user_groups']) { $this->renderUserGroups(); }
if ($this->showAdminOptions && iADMIN && checkrights("M") && $this->userData['user_id'] != $userdata['user_id'] && $this->userData['user_level'] < 102) {
$this->renderAdminOptions();
}
echo $this->html;
}
public function setUserNameChange($value) {
$this->_userNameChange = $value;
}
private function renderValidation() {
global $settings, $locale;
$_CAPTCHA_HIDE_INPUT = false;
$this->html .= "<tr>\n<td valign='top' class='tbl'><label for='captcha_code'>".$locale['u190'];
$this->html .= "<span style='color:#ff0000'>*</span></label></td>\n<td class='tbl'>";
ob_start();
include INCLUDES."captchas/".$settings['captcha']."/captcha_display.php";
$this->html .= ob_get_contents();
ob_end_clean();
if (!$_CAPTCHA_HIDE_INPUT) {
$this->html .= "</td>\n</tr>\n<tr>";
$this->html .= "<td class='tbl".$this->getErrorClass("user_captcha")."'><label for='captcha_code'>".$locale['u191']."</label></td>\n";
$this->html .= "<td class='tbl".$this->getErrorClass("user_captcha")."'>";
$this->html .= "<input type='text' id='captcha_code' name='captcha_code' class='textbox' autocomplete='off' style='width:100px' />";
}
$this->html .= "</td>\n</tr>\n";
}
private function renderTerms() {
global $locale;
$this->html .= "<tr>\n<td class='tbl'>".$locale['u192'] ."<span style='color:#ff0000'>*</span></td>\n";
$this->html .= "<td class='tbl'><input type='checkbox' id='agreement' name='agreement' value='1' onclick='checkagreement()' />\n";
$this->html .= "<span class='small'><label for='agreement'>".$locale['u193'] ."</label></span>\n";
$this->html .= "</td>\n</tr>\n";
$this->javaScriptOther .= " function checkagreement() {\n";
$this->javaScriptOther .= " if(document.inputform.agreement.checked) {\n";
$this->javaScriptOther .= " document.inputform.register.disabled=false;\n";
$this->javaScriptOther .= " } else {\n";
$this->javaScriptOther .= " document.inputform.register.disabled=true;\n";
$this->javaScriptOther .= " }\n";
$this->javaScriptOther .= " }\n";
}
private function basicInputField($name, $text, $length, $isRequired = "", $type = "text", $haveValue = true, $error_class = "") {
$errorClass = $error_class != "" ? $error_class : $name;
$class = $errorClass." tbl".$this->getErrorClass($errorClass);
if ($haveValue) {
$value = isset($this->userData[$name]) ? $this->userData[$name] : "";
$value = isset($_POST[$name]) ? stripinput($_POST[$name]) : $value;
} else {
$value = "";
}
if ($isRequired != "") {
$required = "<span style='color:#ff0000'>*</span>";
$this->setRequiredJavaScript($name, $isRequired);
} else {
$required = "";
}
$returnHTML = "<tr>\n";
$returnHTML .= "<td class='".$class."' width='150'><label for='".$name."'>".$text.$required."</label></td>\n";
$returnHTML .= "<td class='".$class."'>";
$returnHTML .= "<input type='".$type."' id='".$name."' name='".$name."' maxlength='".$length."' class='textbox' value='".$value."' style='width:200px;'".($type == "password" ? " autocomplete='off'" : "")." />";
$returnHTML .= "</td>\n</tr>\n";
return $returnHTML;
}
private function renderBasicInputFields() {
global $locale;
// Login Password
$passRequired = $this->skipCurrentPass ? $locale['u136'] : "";
$passRequired = $this->isAdminPanel ? "" : $passRequired;
$this->html .= "<tr>\n<td colspan='2' class='profile_category_name tbl2'><strong>".$locale['u133']."</strong></td>\n</tr>\n";
if (!$this->skipCurrentPass) {
$this->html .= $this->basicInputField("user_password", $locale['u133'], "64", "", "password", false, "user_password");
}
$this->html .= $this->basicInputField("user_new_password", $locale['u134'], "64", $passRequired, "password", false, "user_password");
$this->html .= "<tr>\n<td class='tbl'></td>\n<td class='tbl'><span class='small2'>".$locale['u147']."</span></td>\n</tr>\n";
$this->html .= $this->basicInputField("user_new_password2", $locale['u135'], "64", $passRequired, "password", false, "user_password");
// Admin Password
if ($this->showAdminPass && iADMIN) {
$this->html .= "<tr>\n<td colspan='2' class='profile_category_name tbl2'><strong>".$locale['u131']."</strong></td></tr>\n";
if ($this->userData['user_admin_password']) {
$this->html .= $this->basicInputField("user_admin_password", $locale['u131'], "64", "", "password", false, "user_admin_password");
}
$this->html .= $this->basicInputField("user_new_admin_password", $locale['u144'], "64", "", "password", false, "user_admin_password");
$this->html .= "<tr>\n<td class='tbl'></td>\n<td class='tbl'><span class='small2'>".$locale['u147']."</span></td>\n</tr>\n";
$this->html .= $this->basicInputField("user_new_admin_password2", $locale['u145'], "64", "", "password", false, "user_admin_password");
}
// Hide email
$this->html .= "<tr>\n<td colspan='2' class='profile_category_name tbl2'><strong>".$locale['u129']."</strong></td></tr>\n";
$this->html .= (iADMIN || $this->_userNameChange ? $this->basicInputField("user_name", $locale['u127'], "30", $locale['u122']) : "");
$this->html .= $this->basicInputField("user_email", $locale['u128'], "100", $locale['u126']);
$hide = isset($this->userData['user_hide_email']) ? $this->userData['user_hide_email'] : 1;
$hide = isset($_POST['user_hide_email']) && isnum($_POST['user_hide_email']) ? $_POST['user_hide_email'] : $hide;
$this->html .= "<tr>\n";
$this->html .= "<td class='tbl'>".$locale['u051']."</td>\n<td class='tbl'>";
$this->html .= "<label><input type='radio' name='user_hide_email' value='1'".($hide == 1 ? " checked='checked'" : "")." />".$locale['u052']."</label>\n";
$this->html .= "<label><input type='radio' name='user_hide_email' value='0'".($hide == 0 ? " checked='checked'" : "")." />".$locale['u053']."</label>";
$this->html .= "</td>\n</tr>\n";
// User Avatar
if ($this->showAvatarInput) { $this->renderAvatarInput(); }
}
private function basicOutputField($name, $value, $class, $rowspan = 0) {
global $locale;
$returnHTML = "<tr>\n";
if ($rowspan > 0) {
$returnHTML .= "<td rowspan='".$rowspan."' valign='top' class='tbl profile_user_avatar' width='1%'><!--profile_user_avatar-->";
$returnHTML .= "<img src='".IMAGES."avatars/".$this->userData['user_avatar']."' class='avatar' alt='".$locale['u062']."' title='".$locale['u062']."' />";
$returnHTML .= "</td>\n";
}
$returnHTML .= "<td class='tbl1'>".$name."</td>\n";
$returnHTML .= "<td align='right' class='".$class." tbl1'><!--".$class."-->".$value."</td>\n";
$returnHTML .= "</tr>\n";
return $returnHTML;
}
private function renderBasicOutputFields() {
global $locale, $userdata, $aidlink;
$rowspan = 4;
$this->html .= "<table cellpadding='0' cellspacing='1' width='400' class='profile tbl-border center'>\n";
$returnFields = $this->basicOutputField($locale['u063'], getuserlevel($this->userData['user_level']), "profile_user_level");
if (iADMIN || $this->userData['user_hide_email'] == 0) {
$rowspan = $rowspan+1;
$returnFields .= $this->basicOutputField($locale['u064'], hide_email($this->userData['user_email']), "profile_user_email");
}
$lastVisit = $this->userData['user_lastvisit'] ? showdate("longdate", $this->userData['user_lastvisit']) : $locale['u042'];
$returnFields .= $this->basicOutputField($locale['u066'], showdate("longdate", $this->userData['user_joined']), "profile_user_joined");
$returnFields .= $this->basicOutputField($locale['u067'], $lastVisit, "profile_user_visit");
if ($this->userData['user_avatar'] == "" || !file_exists(IMAGES."avatars/".$this->userData['user_avatar'])) {
$this->userData['user_avatar'] = "noavatar100.png";
}
$this->html .= $this->basicOutputField($locale['u068'], $this->userData['user_name'], "profile_user_name", $rowspan);
$this->html .= $returnFields;
if (iMEMBER && $userdata['user_id'] != $this->userData['user_id']) {
$this->html .= "<tr><td colspan='3' class='user_profile_opts center tbl2'>";
$this->html .= "<a href='".BASEDIR."messages.php?msg_send=".$this->userData['user_id']."' title='".$locale['u043']."'>".$locale['u043']."</a>\n";
if (iADMIN && checkrights("M") && $this->userData['user_level'] != "103" && $this->userData['user_id'] != "1") {
$this->html .= " - <a href='".ADMIN."members.php".$aidlink."&step=log&user_id=".$this->userData['user_id']."'>".$locale['u054']."</a>";
}
$this->html .= "<!--user_profile_opts-->";
$this->html .= "</td>\n</tr>\n";
}
$this->html .= "</table>\n";
$result = dbquery("SELECT award_img, award_info FROM ".DB_PREFIX."award WHERE award_user='".$this->userData['user_id']."'");
if (dbrows($result)) {
$this->html .= "<div style='margin:5px'></div>\n<table cellpadding='0' cellspacing='1' width='400' class='profile tbl-border center'>\n<tr>\n";
$this->html .= "<td class='tbl2' style='font-weight:bold'>Apdovanojimai</td>\n";
$this->html .= "</tr>\n";
$this->html .= "<tr>\n<td class='tbl1' style='text-align:left'>\n";
while ($award = dbarray($result)) $this->html .= "<img src='".INFUSIONS."awards/images/awards/".$award['award_img']."' alt='' onmouseover='award_info(\"".$award['award_info']."\",this)' onmouseout='award_info(\"\",this)' /> ";
$this->html .= "</td>\n</tr>\n";
$this->html .= "</table>\n";
}
if (iADMIN && $this->userData['user_status'] > 0) {
$this->html .= "<div style='margin:5px'></div>\n";
$this->html .= "<table cellpadding='0' cellspacing='1' width='400' class='profile tbl-border center'>\n<tr>\n";
$this->html .= "<td colspan='2' class='tbl2'><strong>".$locale['u055']."</strong> ".getuserstatus($this->userData['user_status'])."</td>\n";
$this->html .= "</tr>\n";
$this->html .= $this->basicOutputField($locale['u056'], $this->userData['suspend_reason'], "profile_user_reason");
$this->html .= "</table>\n";
}
}
private function renderIPOutput() {
global $locale;
$this->html .= "<div style='margin:5px'></div>\n";
$this->html .= "<table cellpadding='0' cellspacing='1' width='400' class='profile tbl-border center'>\n<tr>\n";
$this->html .= "<td colspan='2' class='tbl2'><strong>".$locale['u048']."</strong></td>\n";
$this->html .= "</tr>\n";
$this->html .= $this->basicOutputField($locale['u049'], $this->userData['user_ip'], "profile_user_ip");
$this->html .= "</table>\n";
}
private function renderUserGroups() {
global $locale;
$this->html .= "<div style='margin:5px'></div>\n";
$this->html .= "<table cellpadding='0' cellspacing='1' width='400' class='profile tbl-border center '>\n<tr>\n";
$this->html .= "<td class='tbl2'><strong>".$locale['u057']."</strong></td>\n";
$this->html .= "</tr>\n<tr>\n";
$this->html .= "<td class='tbl1'>\n";
$user_groups = strpos($this->userData['user_groups'], ".") == 0 ? substr($this->userData['user_groups'], 1) : $this->userData['user_groups'];
$user_groups = explode(".", $user_groups);
for ($i = 0; $i < count($user_groups); $i++) {
$this->html .= "<div style='float:left'><a href='".FUSION_SELF."?group_id=".$user_groups[$i]."'>".getgroupname($user_groups[$i])."</a></div>\n";
$this->html .= "<div style='float:right'>".getgroupname($user_groups[$i], true)."</div>\n";
$this->html .= "<div style='float:none;clear:both'></div>\n";
}
$this->html .= "</td>\n</tr>\n</table>\n";
}
private function renderAdminOptions() {
global $locale, $groups_cache, $aidlink;
if (!$groups_cache) { cache_groups(); }
$user_groups_opts = "";
$this->html .= "<div style='margin:5px'></div>\n";
$this->html .= "<form name='admin_form' method='post' action='".FUSION_SELF."?lookup=".$this->userData['user_id']."'>\n";
$this->html .= "<table cellpadding='0' cellspacing='0' width='400' class='profile tbl-border center'>\n<tr>\n";
$this->html .= "<td class='tbl2' colspan='2'><strong>".$locale['u058']."</strong></td>\n";
$this->html .= "</tr>\n<tr>\n";
$this->html .= "<td class='tbl1'><!--profile_admin_options-->\n";
$this->html .= "<a href='".ADMIN."members.php".$aidlink."&step=edit&user_id=".$this->userData['user_id']."'>".$locale['u069']."</a> ::\n";
$this->html .= "<a href='".ADMIN."members.php".$aidlink."&action=1&user_id=".$this->userData['user_id']."'>".$locale['u070']."</a> ::\n";
$this->html .= "<a href='".ADMIN."members.php".$aidlink."&action=3&user_id=".$this->userData['user_id']."'>".$locale['u071']."</a> ::\n";
$this->html .= "<a href='".ADMIN."members.php".$aidlink."&step=delete&status=0&user_id=".$this->userData['user_id']."' onclick=\"return confirm('".$locale['u073']."');\">".$locale['u072']."</a>\n";
if (count($groups_cache) > 0) {
foreach($groups_cache as $group) {
if (!preg_match("(^{$group['group_id']}|\.{$group['group_id']}\.|\.{$group['group_id']}$)", $this->userData['user_groups'])) {
$user_groups_opts .= "<option value='".$group['group_id']."'>".$group['group_name']."</option>\n";
}
}
if (iADMIN && checkrights("UG") && $user_groups_opts) {
$this->html .= "<td align='right' class='tbl1'>".$locale['u061'].":\n";
$this->html .= "<select name='user_group' class='textbox' style='width:100px'>\n".$user_groups_opts."</select>\n";
$this->html .= "<input type='submit' name='add_to_group' value='".$locale['u059']."' class='button' onclick=\"return confirm('".$locale['u060']."');\" />\n";
$this->html .= "</td>\n";
}
}
$this->html .= "</tr>\n</table>\n</form>\n";
}
private function renderAvatarInput() {
global $locale, $settings;
$this->html .= "<tr>\n";
$this->html .= "<td valign='top' class='tbl".$this->getErrorClass("user_avatar")."'>";
$this->html .= "<label for='user_avatar_upload'>".$locale['u185']."</label></td>\n";
$this->html .= "<td class='tbl".$this->getErrorClass("user_avatar")."'>";
if (isset($this->userData['user_avatar']) && $this->userData['user_avatar'] != "") {
$this->html .= "<label for='user_avatar_upload'><img src='".IMAGES."avatars/".$this->userData['user_avatar']."' alt='".$locale['u185']."' />";
$this->html .= "</label>\n<br />\n";
$this->html .= "<input type='checkbox' name='delAvatar' value='1' class='textbox' /> ".$locale['u187']."<br />\n<br />\n";
}
$this->html .= "<input type='file' id='user_avatar_upload' name='user_avatar' class='textbox' style='width:200px;' /><br />\n";
$this->html .= "<span class='small2'>".$locale['u186']."</span><br />\n<span class='small2'>";
$this->html .= sprintf($locale['u184'], parsebytesize($settings['avatar_filesize']), $settings['avatar_width'], $settings['avatar_height']);
$this->html .= "</span></td>\n</tr>\n";
}
private function renderFields() {
global $settings, $locale, $userdata;
$user_data = $this->userData;
$profile_method = $this->method;
$fields = array();
$cats = array();
$obActiva = false;
$i = 0;
if ($this->registration) {
$where = "WHERE field_registration='1'";
} else {
$where = "";
}
$result = dbquery(
"SELECT * FROM ".DB_USER_FIELDS." tuf
INNER JOIN ".DB_USER_FIELD_CATS." tufc ON tuf.field_cat = tufc.field_cat_id
".$where."
ORDER BY field_cat_order, field_order"
);
if (dbrows($result)) {
while($data = dbarray($result)) {
$required = $data['field_required'] == 1 ? "<span style='color:#ff0000'>*</span>" : "";
if ($i != $data['field_cat']) {
if ($obActiva) {
$fields[$i] = ob_get_contents();
ob_end_clean();
$obActiva = false;
}
$i = $data['field_cat'];
$cats[] = array(
"field_cat_name" => $data['field_cat_name'],
"field_cat" => $data['field_cat']
);
}
if (!$obActiva) {
ob_start();
$obActiva = true;
}
if (file_exists(LOCALE.LOCALESET."user_fields/".$data['field_name