+ الرد على الموضوع
صفحة 1 من 2 1 2 الأخيرةالأخيرة
النتائج 1 إلى 5 من 10
  1. #1
    المشاهد is on a distinguished road الصورة الرمزية المشاهد
    تاريخ التسجيل
    12 / 12 / 2007
    الدولة
    السعودية
    المشاركات
    514
    معدل تقييم المستوى
    716

    افتراضي [مشكلة] هاك التعديل السريع للأعضاء

    بسم الله الرحمن الرحيم

    السلام عليكم ورحمة الله وبركاته

    أخواني لقيت هذا الموضوع في أحدى المنتديات

    وظيفة الهاك هي الوصول السريع لبعض من بيانات العضو في خانة مستقلة للتعديل عليها دون الذهاب الى لوحة تحكم المنتدى ومنها :

    ( الاسم - التوقيع - الصورة الرمزية - البيانات الشخصية )

    وهذه البيانات سوف تكون واضحة فقط للمدير العام ( admin )

    للتوضيح اكثر انظر الى الصور :

    هذه الاضافات التي سوف تضاف



    على سبيل المثال سوف نضغط على تعديل التوقيع

    سوف تفتح لنا نافذة التوقيع وبالامكان التعديل عليه دون الذهاب الى

    لوحة التحم انظر الصورة :



    الهاك بالمرفقات مع الشرح وللجميع .. يرجى فقط عدم حذف حقوق

    التعريب في حال النقل .. والله الموفق

    و حملت الملف

    و كان فيه التالي

    كود:
                                   بسم الله الرحمن الرحيم  
    /////\\\\\--------------------------------------------------------/////\\\\\
    /////\\\\\              هاك التعديل السريع لبيانات العضو            /////\\\\\
    /////\\\\\                تعريب الهاك بواسطة أبوالريـــم               /////\\\\\
    /////\\\\\                   شبكة الريـــم الاسلامية                  /////\\\\\
    /////\\\\\                   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&amp;userlist=buddy&amp;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
    سويت كل إلي مكتوب ..
    و ما نفعت الحركة ..

    هل يوجد طريقة أخرى

    أني أخلي الإدارة تغير اللقب و الرمزية و معلومات العضو بشكل عام ..

    بدون الدخول للوحة الإدارة ؟؟؟

    شاكرين لكم التعاون

     
  2. #2
    ضامي الود has a reputation beyond repute ضامي الود has a reputation beyond repute ضامي الود has a reputation beyond repute ضامي الود has a reputation beyond repute ضامي الود has a reputation beyond repute ضامي الود has a reputation beyond repute ضامي الود has a reputation beyond repute ضامي الود has a reputation beyond repute ضامي الود has a reputation beyond repute ضامي الود has a reputation beyond repute ضامي الود has a reputation beyond repute الصورة الرمزية ضامي الود
    تاريخ التسجيل
    19 / 08 / 2007
    الدولة
    بلاد الحرمين - الاحساء
    العمر
    38
    المشاركات
    3,906
    معدل تقييم المستوى
    5079

    افتراضي رد: [مشكلة] هاك التعديل السريع للأعضاء

    أستخدم هاك محرر الاعضاء

    http://www.mwadah.com/t73172/

    وهو مدمج ايضاً ضمن منتج ادوات المودة للإدارة سواء الاصدار الثاني او الثالث

     
  3. #3
    المشاهد is on a distinguished road الصورة الرمزية المشاهد
    تاريخ التسجيل
    12 / 12 / 2007
    الدولة
    السعودية
    المشاركات
    514
    معدل تقييم المستوى
    716

    افتراضي رد: [مشكلة] هاك التعديل السريع للأعضاء

    مشكور أخوي ضامي
    و الله جعلها في حسناتك

    و يرزقك الجنة

     
  4. #4
    المشاهد is on a distinguished road الصورة الرمزية المشاهد
    تاريخ التسجيل
    12 / 12 / 2007
    الدولة
    السعودية
    المشاركات
    514
    معدل تقييم المستوى
    716

    افتراضي رد: [مشكلة] هاك التعديل السريع للأعضاء


    أخوي رفعت ملفات مجلد upload
    لقيت أن كلها وجودة ... رغم ذلك عملت استبدال

    لكن عند رفع الهاك تظهر لي (دتا بيس إيرور )

    و الرسالة

    كود:
    Database error in vBulletin 3.7.3:
    
    Invalid SQL:
    ALTER TABLE `usergroup` ADD `que` INT UNSIGNED DEFAULT '0' NOT NULL;
    
    MySQL Error   : Duplicate column name 'que'
    Error Number  : 1060
    Request Date  : Monday, March 2nd 2009 @ 04:06:24 PM
    Error Date    : Monday, March 2nd 2009 @ 04:06:24 PM
    Script        : http://www.dddd.com/vb/admincp/plugin.php?do=productimport
    Referrer      : http://www.dddd.com/vb/admincp/plugin.php?do=productadd
    IP Address    : 00.000.000.000
    Username      : -----------
    Classname     : vB_Database
    MySQL Version : 5.0.67-community
    ملاحظة : أنا حذفت اليوزر و اسم الموقع و الip

     
  5. #5
    المشاهد is on a distinguished road الصورة الرمزية المشاهد
    تاريخ التسجيل
    12 / 12 / 2007
    الدولة
    السعودية
    المشاركات
    514
    معدل تقييم المستوى
    716

    افتراضي رد: [مشكلة] هاك التعديل السريع للأعضاء

    up
    بلـــيز

     

 
+ الرد على الموضوع
صفحة 1 من 2 1 2 الأخيرةالأخيرة

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

     

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك