هيلبرنت | Helpernt

هيلبرنت | Helpernt (https://www.helpernt.com/vb/index.php)
-   ركن تطـوير منتديات vBulletin (https://www.helpernt.com/vb/forumdisplay.php?f=4)
-   -   انشاء صفحه مسابقات في منتدي vb (https://www.helpernt.com/vb/showthread.php?t=12100)

Mohamed yasser 02-22-2021 11:14 PM

انشاء صفحه مسابقات في منتدي vb
 



السلام عليكم ورحمة الله وبركاته
كان عندي فكره من فتره ان اعمل مسابقه علي المنتدي بتاعي وبحثت كتير عن هاك مسابقات لكن للاسف مفيش اي هاك موجود علي النت علشان كده قررت اعمل واحد
للاسف هو مش هاك لاني لحد الان معرفش اماكن الهاكت الي بتتحط فعملته في ملفات php واستايل عادي ذي ما بشتغل وطلع فكره المنتدي سهله
واي فكره ممكن ننفذها عادي باذن الله

طيب ندخل علي فكره المسابقه ده وبتكون ازاي

دلوقتي اذا حبيت تعمل مسابقه علي المنتدي بتاعك وفي الاغلب بتكون علي حسب افضل مواضيع ياعني انا لو نزلت 10 مواضيع بتعطيني جايزه وكده surrender

طيب ازاي انعرف عدد المواضيع وازاي الزوار يحددو المواضيع بتاعت المسابقه كل ده انا عملته في الفكره الي بقصده
ندخل في الصور

الاول انا شغال علي استايل هيلبرنت تمام فالي ايستخدموا علي استايل تاني يظبط اكواد الاستايل

طبعا انت كا ادمن او مشرف انت وحدك الي تقدر تحدد الموضوع ده يدخل المسابقه او يزال من المسابقه براحتك وبتكون في الاعدادت

https://i.imgur.com/LadRr8F.jpg

اذا مافي مواضيع تبع المسابقه راح يظهر بالشكل ده
https://i.imgur.com/zQP4P1C.jpg

طيب اذا كان في مواضيع كيف يظهر

https://i.imgur.com/R7zMh2T.jpg

اول ما نحدد الموضوع تبع المسابقه راح يروح للقسم تبع المسابقه والشريط الي فوق ده الي عليه الصوره ده اكثر عضو عنده افضل مواضيع المشاركه انا محدد الشريط علي 10 مواضيع اذا يمتلك 10 مواضيع للمسابقه الشريط يوصل للاخر والصوره بتتحرك معاها

ندخل علي الاكواد
اول شي حمل الملف ده وارفعه علي المنتدي عندك
ده قسم المسابقه ياعني رابط افضل المواضيع اتكون رابط موقعك / الملف
ملف المسابقه

ندخل علي الاكواد التانيه
انعدل في ملفات المنتدي

في ملف postings
اتبحث عن
كود PHP:

case 'openclosethread'

تحتيه حط
كود PHP:

case 'best'

في نفس الملف اتبحث عن
كود PHP:

if ($_POST['do'] == 'openclosethread'

فوق الكود حط
كود PHP:

if ($_POST['do'] == 'best')
{
    if ((
$threadinfo['isdeleted'] AND !can_moderate($threadinfo['forumid'], 'candeleteposts')) OR (!$threadinfo['visible'] AND !can_moderate($threadinfo['forumid'], 'canmoderateposts')))
    {
        if (
can_moderate($threadinfo['forumid']))
        {
            
print_no_permission();
        }
        else
        {
            eval(
standard_error(fetch_error('invalidid'$idname$vbulletin->options['contactuslink'])));
        }
    }

    
// permission check
    
if (!can_moderate($threadinfo['forumid']))
    {
        if (!(
$forumperms $vbulletin->bf_ugp_forumpermissions['canopenclose']))
        {
            
print_no_permission();
        }
        else
        {
            if (!
is_first_poster($threadid))
            {
                
print_no_permission();
            }
        }
    }

    
// check if there is a forum password and if so, ensure the user has it set
    
verify_forum_password($foruminfo['forumid'], $foruminfo['password']);

    
$Update_best $db->query_read_slave(" SELECT * FROM " TABLE_PREFIX "thread WHERE threadid  = ".$threadid."");
    
$fetc_select $Update_best->fetch_assoc();

    if(
$fetc_select['best'] == 0){
        
        
$select_best 1;
    }else{
        
$select_best 0;
    }
    
$db->query_write("
                    UPDATE " 
TABLE_PREFIX "thread SET
                    best = "
.$select_best."  WHERE threadid = ".$threadid."
    "
);

    
//$update = mysql_query("UPDATE thread SET best = 1");

    
$vbulletin->url 'showthread.php?' $vbulletin->session->vars['sessionurl'] . "t=$threadid";
    eval(
print_standard_redirect('select_topic'truetrue));



في ملف
showthread.php
ابحث عن
كود PHP:

$show['closethread'] = iif($threadinfo['open'], truefalse); 

تحته ضيف
كود PHP:

$show['closebest'] = iif($threadinfo['best'], truefalse); 

في نفس الملف ابحث عن
كود PHP:

$show['openclose'] = (can_moderate($threadinfo['forumid'], 'canopenclose') OR ($forumperms $vbulletin->bf_ugp_forumpermissions['canopenclose'] AND $threadinfo['postuserid'] == $vbulletin->userinfo['userid'])) ? true false

تحته ضيف
كود PHP:

$show['selectbest'] = (can_moderate($threadinfo['forumid'], 'canopenclose') OR ($forumperms $vbulletin->bf_ugp_forumpermissions['canopenclose'] AND $threadinfo['postuserid'] == $vbulletin->userinfo['userid'])) ? true false

في نفس الملف ابحث عن
كود PHP:

$show['adminoptions'

علشان نخلي صلاحيه تحديد افضل موضوع تبع المشرفين والمديرين انحط ده معاهم
كود PHP:

OR $show['selectbest'

كده خلصنا من تعديلات الملفات المنتدي

ندخل علي القاعده انعمل حاجه واحده بس
في جدول thread انعمل عمود جديد باسم best ونديله قيمه 0
0 ياعني الموضوع مش تبع المسابقه ولما تحدده تبع المسابقه ايكون 1


خلصنا من القاعده
ندخل علي لوحه التحكم في قالب SHOWTHREAD
حط ده تبع الادواات
كود PHP:

     <if condition="$show['selectbest']"><div><label for="ao_oct"><input type="radio" name="do" id="ao_oct" value="best"  /><if condition="$show['closebest']"ازاله من المسابقه <else /> اضافه لمسابقه </if></label></div></if>
                                <if 
condition="$show['openclose']"

انعمل قالب جديد في الاستايل باسم hazem
كود PHP:

$stylevar[htmldoctype]
<
html xmlns="http://www.w3.org/1999/xhtml" dir="$stylevar[textdirection]lang="$stylevar[languagecode]">
<
head>
$headinclude
<title>$foruminfo[title_clean]<if condition="$pagenumber>1"> - <phrase 1="$pagenumber">$vbphrase[page_x]</phrase></if> - $vboptions[bbtitle]</title>
<if 
condition="$show['inlinemod']"><script type="text/javascript" src="clientscript/vbulletin_inlinemod.js?v=$vboptions[simpleversion]"></script></if>
</head>
<body>
$header

<style>

.toppross{
    width:100%;
    display: inline-block;  
    margin: auto;
    text-align: center;
    margin-top: 30px;
    margin-bottom: 50px;
}
.toppross .icon i{
    font-size: 60px;
    color:#84c349;
}
.toppross .icon{
    text-align: left;
}
.toppross .icon img{
   width:50px;
   height:50px;
   border-radius: 50%;
   border:3px solid #99b77c;
   margin-bottom: 20px;

}

.toppross .pross{
    width:100%;
    border: 1px solid #a6d17d;
    height:30px;
    border-radius: 5px;
    padding:0;
    margin: 0;
    overflow: hidden;

}
.toppross .pross .widthpross{
    height:30px;
    border-radius: 5px;
    background-color: #699d39;
    line-height: 30px;
    color:#fff;
    text-align: center;
}
.number{
font-family: "Droid Arabic Kufi","Open Sans",sans-serif;
}
</style>


    <div class="toppross">
    <if condition="$Progress == 1">
        <div class="icon" style="width:$total%;">
        <!-----<i class="fa fa-trophy"></i>-->
        <img src="image.php?u=$mostone[postuserid]">
        </div>
        <div class="pross">
            <div class="widthpross" style="width:$total%;"> <span class="number">$total_post موضوع</span></div>
        </div>
        </if>
    </div>


<table class="Tborderforum" cellpadding="6" cellspacing="1" border="0" width="100%" align="center" style="border-bottom-width:0px">
   <tr>
      <td class="tcat" width="100%" style="text-align:center;">مسابقه <span class="normal"> : افضل مواضيع المسابقه</span></td>

   </tr>
</table>
<table class="Tborderforum" cellpadding="6" cellspacing="1" border="0" width="100%" align="center" id="threadslist">
   <tbody>
      <tr>
         <td class="toolbar icon" colspan="2">&nbsp;</td>
         <td class="toolbar thread" width="100%">
            <a href="forumdisplay.php?f=29&amp;daysprune=-1&amp;order=asc&amp;sort=title" rel="nofollow">الموضوع</a>  /
            <a href="forumdisplay.php?f=29&amp;daysprune=-1&amp;order=asc&amp;sort=postusername" rel="nofollow">كاتب الموضوع</a> 
         </td>
      </tr>
   </tbody>
   <!-- show threads -->
   <tbody id="threadbits_forum_29">
     <if condition="$dontfoundbest != 1">
    <tr>
         <td class="icontopic alt1" style="text-align:center" colspan="3">لا يوجد مواضيع ضمن المسابقه حتي الان </td>
     </tr>
      
      <else />
        $threadbest
      </if>
   </tbody>
   <!-- end show threads -->
</table>
$footer 

وقالب تاني باسم
hazemtables
كود PHP:

<tr>
         <
td class="icontopic alt1" id="td_threadstatusicon_6924">
            <
a rel="vB::AJAX"></a>
            <
img src="$stylevar[imgdir_statusicon]/thread$hazem[statusicon].gif" id="thread_statusicon_$hazem[realthreadid]alt="<if condition="$show['threadcount']"><phrase 1="$hazem[dot_count]" 2="$hazem[dot_lastpost]">$vbphrase[have_x_posts_in_thread_last_y]</phrase></if>" border="" />
         </
td>
         <
td class="icontopic2 alt2">
         <
img src="images/icons/icon1.gif" alt="" border="0" />
         </
td>
         <
td class="alt1 thread" id="td_threadtitle_$hazem[realthreadid]"  title="$hazem[preview]">
            <
div class="ReplyUserImg">
            <
img style="margin-top:0px;" border="0" height="40" width="40" src="image.php?u=$hazem[postuserid]"/></div>
            <
div class="Triangle"></div>
            <
a rel="vB::AJAX"></a>
            <
div class="ThreadTitle">
               <
div class="ToolsThread">
               </
div>
               <
h1>
                 <
a href="showthread.php?$session[sessionurl]t=$hazem[threadid]$hazem[highlight]id="thread_title_$hazem[realthreadid]"<if condition="$show['gotonewpost']"style="font-weight:bold"</if>>$postinfo[title]</a>
            </
div>
            <
div class="PostUserName">
               <
span style="cursor:pointer" onclick="window.open('member.php?u=$user[userid]', '_self')">$user[username]</span>
            </
div>
         </
td>

      </
tr

اخر حاجه انضيف عبارت جديده
حدد عبارات Front-End Redirect Messages
انضيف عباره باسم Besttopic
انكتب فيه
اقتباس:

تم تحديد الموضوع من ضمن مواضيع المسابقه
وعباره تاني باسم
dontbesttopic
انضيف فيه
اقتباس:

تم الغاء الموضوع من ضمن مواضيع المسابقه
رابط الدخول لقسم للمسابقه ايكون بالشكل ده
كود PHP:

https://yourdoman.com/Competition.php 

بس كده خلصنا وياريت قبل ما تعمل اي حاجه خد نسخه احتياطي
اكيد الهاك ايكون افضل فالي يعرف يعمله هاك ايكون افضل من تعديل في ملف القاعده

MesterPerfect 02-23-2021 01:10 AM

رد: انشاء صفحه مسابقات في منتدي vb
 
الفكرة جميلة جدا وسهلة ولكن الناس هتستصعبها
ننتظر أخونا شقاوي وهو هيقدر يبرمجها في هاك أكيد
وتقدر تتواصل معه أخي حازم وتخليه يشرح الفكرة لك
أكيد يعني بكل معرفتك دي في الphp هيكون أمرها بسيط
وزي ما قلتلك من قبل, إنتقل للزينفورو فهو أولى بمعرفتك
هههههههههه

Mohamed yasser 02-23-2021 09:15 AM

رد: انشاء صفحه مسابقات في منتدي vb
 
اقتباس:

المشاركة الأصلية كتبت بواسطة MesterPerfect (المشاركة 42046)
الفكرة جميلة جدا وسهلة ولكن الناس هتستصعبها
ننتظر أخونا شقاوي وهو هيقدر يبرمجها في هاك أكيد
وتقدر تتواصل معه أخي حازم وتخليه يشرح الفكرة لك
أكيد يعني بكل معرفتك دي في الphp هيكون أمرها بسيط
وزي ما قلتلك من قبل, إنتقل للزينفورو فهو أولى بمعرفتك
هههههههههه

هو سهل بس خد مني وقت ياعني حوالي ٨ ساعات لحد ما عرفت وظيفه الملفات المطلوبه
ال vb طلع نفس ترتيب الاكواد الي بستخدمه اما الزين فور معرفش فيه واعتقد ان vb افضل للمجال الي فيه

هيلبرنت 02-23-2021 07:27 PM

رد: انشاء صفحه مسابقات في منتدي vb
 
شى جميل جدا جدا

وتطور اكثر من رااااااااااااااااااائع

مشاء الله عليك

واكيد لو هاك هيكون افضل فى شى واحد وهو تسهيل على الناس كل هذه الخطوات تجنبا لحدوث اى مشااااااااااكل

Mohamed yasser 02-23-2021 07:31 PM

رد: انشاء صفحه مسابقات في منتدي vb
 
اقتباس:

المشاركة الأصلية كتبت بواسطة هيلبرنت (المشاركة 42065)
شى جميل جدا جدا

وتطور اكثر من رااااااااااااااااااائع

مشاء الله عليك

واكيد لو هاك هيكون افضل فى شى واحد وهو تسهيل على الناس كل هذه الخطوات تجنبا لحدوث اى مشااااااااااكل

حبيبي ياحمد نورت الموضوع


الساعة الآن 05:33 PM

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. TranZ By Almuhajir