كود:
بسم الله الرحمن الرحيم
/////\\\\\--------------------------------------------------------/////\\\\\
/////\\\\\ هاك التعديل السريع لبيانات العضو /////\\\\\
/////\\\\\ تعريب الهاك بواسطة أبوالريـــم /////\\\\\
/////\\\\\ شبكة الريـــم الاسلامية /////\\\\\
/////\\\\\ www.reeem.com /////\\\\\
/////\\\\\ لمنتديات vb3.0.3
/////\\\\\ يرجى عدم حذف حقوق التعريب /////\\\\\
/////\\\\\---------------------------------------------------------/////\\\\\
وضيفة الهاك هي الوصول السريع لبعض من بيانات العضو في خانة مستقلة للتعديل عليها دون الذهاب الى لوحة تحكم المنتدى ومنها :
( الاسم - التوقيع - الصورة الرمزية - البيانات الشخصية )
وهذه البيانات سوف تكون واضحة فقط للمدير العام ( admin )
الخطوة الاولى :-
اذهب الى :
vb/admincp/user.php
وفي ملف user.php
ابحث عن :
==================================
print_cp_footer();
==================================
اضف اعلى منه مباشرة الكود التالي بالكامل :
==================================
// Start quickedit user by ATC
// ###################### Start editusername #######################
if ($_REQUEST['do'] == 'name')
{
globalize($_REQUEST, array('userid' => INT));
// valid id ?
if (empty($userid))
{
print_stop_message('invalid_user_specified');
}
if ($userid)
{
$user = $DB_site->query_first("
SELECT user.*
FROM " . TABLE_PREFIX . "user
WHERE user.userid = $userid
");
}
// start edit username
print_form_header('user', 'save');
construct_hidden_code('userid', $userid);
print_table_header(construct_phrase($vbphrase['x_y_id_z'], $vbphrase['user'], $user['username'], $userid));
print_input_row($vbphrase['username'], 'user[username]', $user['username'], 0);
$tableadded = 1;
print_submit_row($vbphrase['save']);
}
// ###################### Start do update username #######################
if ($_POST['do'] == 'save')
{
globalize($_POST, array(
'user'
));
// check for semi-colons
if (preg_match('/(?<!&#[0-9]{3}|&#[0-9]{4}|&#[0-9]{5});/', $user['username']))
{
print_stop_message('username_contains_semi_colons');
}
$userid = intval($_POST['userid']);
$noalter = explode(',', $undeletableusers);
if (!empty($noalter[0]) AND in_array($userid, $noalter))
{
print_stop_message('user_is_protected_from_alteration_by_undeletableusers_var');
}
$olduserinfo = fetch_userinfo($userid);
$user['username'] = htmlspecialchars_uni($user['username']);
if (empty($user['username']))
{
print_stop_message('invalid_username_specified');
}
if ($exists = $DB_site->query_first("
SELECT userid
FROM " . TABLE_PREFIX . "user
WHERE username = '" . addslashes(htmlspecialchars_uni($user['username'])) . "'
AND userid <> $userid
"))
{
print_stop_message(
'name_exists',
$vbphrase['user'],
"<a href=\"user.php?$session[sessionurl]do=edit&userid=$exists[userid]\" target=\"_blank\">" . htmlspecialchars_uni($user['username']) . '</a>'
);
}
require_once('./includes/functions_databuild.php');
if ($userid)
{
// editing user
if (empty($user['password']))
{
unset($user['password']);
}
$DB_site->query(fetch_query_sql($user, 'user', "WHERE userid=$userid"));
}
if ($user['username'] != $olduserinfo['username'])
{ // update pm tables
$DB_site->query("
UPDATE " . TABLE_PREFIX . "pmreceipt
SET tousername = '" . addslashes($user['username']) . "'
WHERE touserid = $userid
");
$DB_site->query("
UPDATE " . TABLE_PREFIX . "pmtext
SET fromusername = '" . addslashes($user['username']) . "'
WHERE fromuserid = $userid
");
$olduser = strlen($olduserinfo['username']);
$newuser = strlen($user['username']);
$DB_site->query("
UPDATE " . TABLE_PREFIX . "pmtext
SET touserarray = REPLACE(touserarray, 'i:$userid;s:$olduser:\"" . addslashes($olduserinfo['username']) . "\";','i:$userid;s:$newuser:\"" . addslashes($user['username']) . "\";')
");
}
print_stop_message('saved_user_x_successfully', $user['username']);
}
// ###################### Start modify Avatar ################
if ($_REQUEST['do'] == 'editava')
{
globalize($_REQUEST, array(
'userid' => INT,
));
if (empty($userid))
{
print_stop_message('invalid_user_specified');
}
$bbuserinfo = fetch_userinfo($userid);
$avatarchecked[$bbuserinfo['avatarid']] = HTML_CHECKED;
$nouseavatarchecked = '';
if (!$avatarinfo = $DB_site->query_first("SELECT * FROM " . TABLE_PREFIX . "customavatar WHERE userid = $userid"))
{
// no custom avatar exists
if (!$bbuserinfo['avatarid'])
{
// must have no avatar selected
$nouseavatarchecked = HTML_CHECKED;
$avatarchecked[0] = '';
}
}
$avatarcount = 0;
print_form_header('user', 'updateavatar', 1);
print_table_header(construct_phrase($vbphrase['x_y_id_z'], $vbphrase['custom_avatar'], $bbuserinfo['username'], $userid));
if ($nouseavatarchecked)
{
print_description_row($vbphrase['user_has_no_avatar']);
}
else
{
print_yes_row($vbphrase['delete_avatar'], 'avatarid', $vbphrase['yes'], '', -1);
}
require_once('./includes/functions_user.php');
$bbuserinfo['avatarurl'] = fetch_avatar_url($bbuserinfo['userid']);
if (empty($bbuserinfo['avatarurl']) OR $bbuserinfo['avatarid'] != 0)
{
$bbuserinfo['avatarurl'] = '<img src="../' . $vboptions['cleargifurl'] . '" alt="" border="0" />';
}
else
{
$bbuserinfo['avatarurl'] = "<img src=\"../$bbuserinfo[avatarurl]\" alt=\"\" border=\"0\" />";
}
print_yes_row(
iif($avatarchecked[0] != '',
$vbphrase['use_current_avatar'] . ' ' . $bbuserinfo['avatarurl'],
$vbphrase['add_new_custom_avatar']
)
, 'avatarid', $vbphrase['yes'], $avatarchecked[0], 0);
print_input_row($vbphrase['enter_avatar_url'], 'avatarurl', 'http://www.');
print_upload_row($vbphrase['upload_avatar_from_computer'], 'upload');
construct_hidden_code('userid', $userid);
print_submit_row($vbphrase['save']);
}
// ###################### Start Update Avatar ################
if ($_POST['do'] == 'updateavatar')
{
globalize($_POST, array('userid' => INT, 'avatarid' => INT, 'avatarurl' => STR, 'useavatar' => INT));
$useavatar = iif($avatarid == -1, 0, 1);
$bbuserinfo_you = $bbuserinfo;
$bbuserinfo = fetch_userinfo($userid); // bad...
if ($useavatar)
{
if ($avatarid == 0)
{
// custom avatar
require_once('./includes/functions_upload.php');
process_image_upload('avatar', $avatarurl);
}
else
{
// predefined avatar
// let the admin set the user to have any avatar, so don't include any of the checks
$DB_site->query("DELETE FROM " . TABLE_PREFIX . "customavatar WHERE userid = $bbuserinfo[userid]");
@unlink("$vboptions[avatarpath]/avatar$bbuserinfo[userid]_$bbuserinfo[avatarrevision].gif");
}
}
else
{
// not using an avatar
$avatarid = 0;
$DB_site->query("DELETE FROM " . TABLE_PREFIX . "customavatar WHERE userid = $bbuserinfo[userid]");
@unlink("$vboptions[avatarpath]/avatar$bbuserinfo[userid]_$bbuserinfo[avatarrevision].gif");
}
$DB_site->query("UPDATE " . TABLE_PREFIX . "user SET avatarid = " . intval($avatarid) . " WHERE userid = $bbuserinfo[userid]");
$bbuserinfo = $bbuserinfo_you; // isn't that a lame thing to have to do? Works, but it's not really nice... :/
print_stop_message('saved_avatar_successfully');
}
// ###################### Start editsig #######################
if ($_REQUEST['do'] == 'editsig')
{
globalize($_REQUEST, array('userid' => INT));
if (empty($userid))
{
print_stop_message('invalid_user_specified');
}
$noalter = explode(',', $undeletableusers);
if (!empty($noalter[0]) AND in_array($userid, $noalter))
{
print_stop_message('user_is_protected_from_alteration_by_undeletableusers_var');
}
$user = $DB_site->query_first("
SELECT * FROM " . TABLE_PREFIX . "user AS user
LEFT JOIN " . TABLE_PREFIX . "usertextfield AS usertextfield USING (userid)
WHERE user.userid = $userid
");
print_form_header('user','doeditsig', 0, 1);
construct_hidden_code('userid', $userid);
print_table_header(construct_phrase($vbphrase['x_y_id_z'], $vbphrase['signature'], $user['username'], $user['userid']));
print_textarea_row($vbphrase['signature'], 'signature', $user['signature'], 8, 45, 1, 0);
print_submit_row();
}
// ###################### Start doeditsig #######################
if ($_POST['do'] == 'doeditsig')
{
globalize($_POST, array('userid' => INT, 'signature' => STR));
if (!can_moderate(0, 'caneditsigs'))
{
print_stop_message('no_permission_signatures');
}
$noalter = explode(',', $undeletableusers);
if (!empty($noalter[0]) AND in_array($userid, $noalter))
{
print_stop_message('user_is_protected_from_alteration_by_undeletableusers_var');
}
if (empty($userid))
{
print_stop_message('invalid_user_specified');
}
$DB_site->query("
UPDATE " . TABLE_PREFIX . "usertextfield SET
signature = '" . addslashes($signature) . "'
WHERE userid = $userid
");
print_stop_message('saved_signature_successfully');
}
// end quickedit user by ATC
==================================
احفظ العمل
الخطوة الثانيية :-
2. تعديل على تمبلت postbit_legacy او postbit
ابحث عن :
==================================
<tr><td class="vbmenu_option"><a href="profile.php?$session[sessionurl]do=addlist&userlist=buddy&u=$post[userid]"><phrase 1="$post[username]">$vbphrase[add_x_to_buddy_list]</phrase></a></td></tr>
==================================
تضيف تحتها مباشرة
==================================
<if condition="$show['admincplink']">
<tr><td class="vbmenu_option"><span onmouseover="this.style.cursor='pointer';" onClick="window.open('admincp/user.php?do=name&userid=$post[userid]','edit','width=500,height=350,scrollbars=yes')"><b>تعديل اسم $post[username] </b></span></td></tr>
<tr><td class="vbmenu_option"><span onmouseover="this.style.cursor='pointer';" onClick="window.open('admincp/user.php?do=editsig&userid=$post[userid]','edit','width=500,height=350,scrollbars=yes')"><b>تعديل توقيع $post[username] </b></span></td></tr>
<tr><td class="vbmenu_option"><span onmouseover="this.style.cursor='pointer';" onClick="window.open('admincp/user.php?do=editava&userid=$post[userid]','edit','width=500,height=350,scrollbars=yes')"><b>تعديل صورة $post[username] الرمزية</b></span></td></tr>
<tr><td class="vbmenu_option"><span onmouseover="this.style.cursor='pointer';" onClick="window.open('admincp/user.php?do=edit&userid=$post[userid]','edit','width=500,height=350,scrollbars=yes')"><b>تعديل بيانات $post[username] الشخصية</b></span></td></tr>
</if>
==================================
وصلى الله وسلم على سيدنا محمد .. تعريب أبوالريم
شبكة الريم الاسلامية - www.reeem.com
مواقع النشر (المفضلة)