بسم الله الرحمن الرحيم..
هلا بكم أخواني الاعزاء..
اليوم أقدم لكم شرح لهاك صعب جداً ..
والهاك يتمناه الجميع في منتداه لما له من شكل جميل جداً جداً..
الهاك هو
هاك النجوم تحت مسميات الاعضاء مثل النجوم في منتديات المشاغب[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]أظن أننا نعرف هذا الهاك جيداً ونتمني تركيبه ..
ولكنه من أصعب الهاكات التي تمت بمجتها منذ فترة..
عموماً الحمد لله الذي وفقني لشرح هذا الهاك دون أي صعوبات ..
فقط تابعوا الشرح وسوف يكون سهلاً عليكم بأذن الله
ولكن نصيحة من أخ لكم..
أرجو أخذ نسخة أحتياطية من الملفات التي سيتم التعديل
عليها..
وكذلك قاعدة البيانات
قبل تركيب الهاكوالان بسم الله نبدأ الشرح ..
أولاً أصنع مجلد بداخل مجلد الصور الاساسي لمنتداك.. وسيمة
starsأنقل الصورة (النجمة ) إلي المجلد الجديد..
ضع ملف
mysql.phpداخل مجلد الادمن
وكذلك ضع ملف
stars.phpداخل مجلد الادمن
ثم قم بتشغيل الملف
mysql.php عن طريق المتصفح
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]mysql.phpوأتبع الصور التالية ..
والن وبعد أن تمت عملية التركيب بنجاح.
أفتح الملف
newthread.phpأبحث عن هذا الكود..
كود:
if ($bbuserinfo[userid]!=0)
وضع هذا الكود بأسفلة
كود:
if ($foruminfo[countposts]) {
$usergstars=$DB_site->query_first("SELECT starlevel,starimg FROM usergroup WHERE usergroupid='$bbuserinfo[usergroupid]'");
if ($usergstars[starlevel]=="") {
$getstars=$DB_site->query_first("SELECT starlevel,starimg FROM stars WHERE minposts<=$bbuserinfo[posts]+1 ORDER BY minposts DESC LIMIT 1");
$userstarlvl=$getstars[starlevel];
$userstarimg=$getstars[starimg];
} else {
$userstarlvl=$usergstars[starlevel];
$userstarimg=$usergstars[starimg];
}
$dostars=",starlevel='$userstarlvl',starimg='$userstarimg'";
}
أبحث عن هذا الكود
كود:
$DB_site->query("UPDATE user SET
".iif ($foruminfo[countposts],"posts=posts+1,","")."
$dotitle"."lastpost='".time()."' WHERE userid='$bbuserinfo[userid]'");
أستبدلة بهذا الكود كود:
$DB_site->query("UPDATE user SET
".iif ($foruminfo[countposts],"posts=posts+1,","")."
$dotitle"."lastpost='".time()."'$dostars WHERE userid='$bbuserinfo[userid]'");
أحفظ الملف وأرفعة مكانه بالمنتديثم أفتح ملف
newreply.phpأبحث عن هذا الكود..
كود:
if ($bbuserinfo[userid]!=0)
{
أسفله مباشرة ضع هذا الكود
كود:
if ($foruminfo[countposts]) {
$usergstars=$DB_site->query_first("SELECT starlevel,starimg FROM usergroup WHERE usergroupid='$bbuserinfo[usergroupid]'");
if ($usergstars[starlevel]=="") {
$getstars=$DB_site->query_first("SELECT starlevel,starimg FROM stars WHERE minposts<=$bbuserinfo[posts]+1 ORDER BY minposts DESC LIMIT 1");
$userstarlvl=$getstars[starlevel];
$userstarimg=$getstars[starimg];
} else {
$userstarlvl=$usergstars[starlevel];
$userstarimg=$usergstars[starimg];
}
$dostars=",starlevel='$userstarlvl',starimg='$userstarimg'";
}
ثم أبحث عن هذا الكود..
كود:
$DB_site->query("UPDATE user SET
".iif ($foruminfo[countposts],"posts=posts+1,","")."
$dotitle"."lastpost='".time()."' WHERE userid='$bbuserinfo[userid]'");
أستبدله بهذا الكود
كود:
$DB_site->query("UPDATE user SET
".iif ($foruminfo[countposts],"posts=posts+1,","")."
$dotitle"."lastpost='".time()."'$dostars WHERE userid='$bbuserinfo[userid]'");
أفتح ملف
functions.php داخل مجلد الادمن...
أبحث عن هذا الكود..
كود:
if ($post['receivepm'] and $enablepms==1) {
eval("\$post[pmlink] = \"".gettemplate("postbit_sendpm")."\";");
} else {
$post[pmlink] = "";
}
ضع أسفلة هذا الكود..
كود:
$sli = 0;
while ($sli < $post[starlevel]) {
$post[stars] .= "<img src=\"images/stars/$post[starimg].gif\" border=\"0\">";
++$sli;
}
أحفظ الملف وأرفعة لمنتداك..
والان أفتح ملف..
usergroup.php من داخل مجلد
الادمن..
وأبحث عن هذا الكود..
كود:
makeinputcode("User Status<br>Use this to override the default 'ladder' of user status titles","usertitle");
أسفله مباشرة ضع هذا الكود..
كود:
makeinputcode("Stars shown<br>Use this to override the default 'ladder' of stars","starlevel");
makeinputcode("Star image shown<br>Give this group a unique star image - do not add the .gif after the image name!","starimg");
ثم أبحث عن هذا الكود..
كود:
if ($HTTP_POST_VARS['action']=="insert") {
$DB_site->query("INSERT INTO usergroup (usergroupid,title,usertitle,cancontrolpanel,canmodifyprofile,canviewmembers,canview,cansearch,canemail,canpostnew,canmove,canopenclose,candeletethread,canreplyown,canreplyothers,canviewothers,caneditpost,candeletepost,canusepm,canpostpoll,canvote,canpostattachment,ismoderator,canpublicevent,canpublicedit,canthreadrate,cantrackpm,candenypmreceipts,maxbuddypm,maxforwardpm)
VALUES (NULL,'".addslashes($title)."','".addslashes($usertitle)."',$cancontrolpanel,$canmodifyprofile,$canviewmembers,$canview,$cansearch,$canemail,$canpostnew,$canmove,$canopenclose,$candeletethread,$canreplyown,$canreplyothers,$canviewothers,$caneditpost,$candeletepost,$canusepm,$canpostpoll,$canvote,$canpostattachment,$ismoderator,$canpublicevent,$canpublicedit,$canthreadrate,$cantrackpm,$candenypmreceipts,$maxbuddypm,$maxforwardpm)");
أستبدله بهذا الكود..
كود:
if ($HTTP_POST_VARS['action']=="insert") {
$DB_site->query("INSERT INTO usergroup (usergroupid,title,usertitle,starlevel,starimg,cancontrolpanel,canmodifyprofile,canviewmembers,canview,cansearch,canemail,canpostnew,canmove,canopenclose,candeletethread,canreplyown,canreplyothers,canviewothers,caneditpost,candeletepost,canusepm,canpostpoll,canvote,canpostattachment,ismoderator,canpublicevent,canpublicedit,canthreadrate,cantrackpm,candenypmreceipts,maxbuddypm,maxforwardpm)
VALUES (NULL,'".addslashes($title)."','".addslashes($usertitle)."','$starlevel','$starimg',$cancontrolpanel,$canmodifyprofile,$canviewmembers,$canview,$cansearch,$canemail,$canpostnew,$canmove,$canopenclose,$candeletethread,$canreplyown,$canreplyothers,$canviewothers,$caneditpost,$candeletepost,$canusepm,$canpostpoll,$canvote,$canpostattachment,$ismoderator,$canpublicevent,$canpublicedit,$canthreadrate,$cantrackpm,$candenypmreceipts,$maxbuddypm,$maxforwardpm)");
أبحث عن هذا الكود...
كود:
makeinputcode("User Status<br>Use this to override the default 'ladder' of user status titles","usertitle",$usergroup[usertitle]);
أسفله مباشرة ضع هذا الكود..
كود:
makeinputcode("Stars shown<br>Use this to override the default 'ladder' of stars","starlevel",$usergroup[starlevel]);
makeinputcode("Star image shown<br>Give this group a unique star image - do not add the .gif after the image name!","starimg",$usergroup[starimg]);
ثم أبحث عن هذا الكود..
كود:
exit;
}
$DB_site->query("UPDATE usergroup SET title='".addslashes($title)."',usertitle='".addslashes($usertitle)."',cancontrolpanel=$cancontrolpanel,canmodifyprofile=$canmodifyprofile,canviewmembers=$canviewmembers,canview=$canview,cansearch=$cansearch,canemail=$canemail,canpostnew=$canpostnew,canmove=$canmove,canopenclose=$canopenclose,candeletethread=$candeletethread,canreplyown=$canreplyown,canreplyothers=$canreplyothers,canviewothers=$canviewothers,caneditpost=$caneditpost,candeletepost=$candeletepost,canusepm=$canusepm,canpostpoll=$canpostpoll,canvote=$canvote,canpostattachment=$canpostattachment,ismoderator=$ismoderator,canpublicedit=$canpublicedit,canpublicevent=$canpublicevent,canthreadrate=$canthreadrate,cantrackpm=$cantrackpm,candenypmreceipts=$candenypmreceipts,maxbuddypm=$maxbuddypm,maxforwardpm=$maxforwardpm WHERE usergroupid=$usergroupid");
أستبدله بهذا الكود..
كود:
exit;
}
$DB_site->query("UPDATE usergroup SET title='".addslashes($title)."',usertitle='".addslashes($usertitle)."',starlevel='$starlevel',starimg='$starimg',cancontrolpanel=$cancontrolpanel,canmodifyprofile=$canmodifyprofile,canviewmembers=$canviewmembers,canview=$canview,cansearch=$cansearch,canemail=$canemail,canpostnew=$canpostnew,canmove=$canmove,canopenclose=$canopenclose,candeletethread=$candeletethread,canreplyown=$canreplyown,canreplyothers=$canreplyothers,canviewothers=$canviewothers,caneditpost=$caneditpost,candeletepost=$candeletepost,canusepm=$canusepm,canpostpoll=$canpostpoll,canvote=$canvote,canpostattachment=$canpostattachment,ismoderator=$ismoderator,canpublicedit=$canpublicedit,canpublicevent=$canpublicevent,canthreadrate=$canthreadrate,cantrackpm=$cantrackpm,candenypmreceipts=$candenypmreceipts,maxbuddypm=$maxbuddypm,maxforwardpm=$maxforwardpm WHERE usergroupid=$usergroupid");
الان أحفظ الملف وأرفعه في مكانه..
ثم أفتح ملف
misc.php من داخل مجلد الادمن..
ثم أبحث عن هذا الكود..
كود:
maketableheader("Update User's Titles","",0);
أستبدله بهذا الكود
كود:
maketableheader("Update Users Info</b> - </b>updates user titles and stars<b>","",0);
أبحث عن هذا الكود..
كود:
if ($user[customtitle]==0)
أعلي هذا الكود أضف هذا الكود..((
أنتبة أعلي
الكود وليس أسفلة))
كود:
$usergstars=$DB_site->query_first("SELECT starlevel,starimg FROM usergroup WHERE usergroupid=$user[usergroupid]");
if ($usergstars[starlevel]=="") {
$getstars=$DB_site->query_first("SELECT starlevel,starimg FROM stars WHERE minposts<=$user[posts] ORDER BY minposts DESC LIMIT 1");
$userstarlvl=$getstars[starlevel];
$userstarimg=$getstars[starimg];
} else {
$userstarlvl=$usergstars[starlevel];
$userstarimg=$usergstars[starimg];
}
$dostars=",starlevel='$userstarlvl',starimg='$userstarimg'";
أبحث عن هذا الكود..
كود:
$DB_site->query("UPDATE user SET $sql"."lastpost='$lastpost[dateline]' WHERE userid='$user[userid]'");
أستبدله بهذا الكود..
كود:
$DB_site->query("UPDATE user SET $sql"."lastpost='$lastpost[dateline]'$dostars WHERE userid='$user[userid]'");
أحفظ التغييرات وأرفع الملف لمكانه
والان أفتح ملف
register.phpوأبحث عن هذا الكود..
كود:
$usergroup=$DB_site->query_first("SELECT usertitle FROM usergroup WHERE usergroupid='$newusergroupid'");
أعلي الكود السابق
((أنتبة أعلي الكود وليس
أسفلة)) ضع هذا الكود
كود:
$usergstars=$DB_site->query_first("SELECT starlevel,starimg FROM usergroup WHERE usergroupid='$newusergroupid'");
if ($usergstars[starlevel]=="") {
$getstars=$DB_site->query_first("SELECT starlevel,starimg FROM stars WHERE minposts<=$bbuserinfo[posts]+1 ORDER BY minposts LIMIT 1");
$userstarlvl=$getstars[starlevel];
$userstarimg=$getstars[starimg];
} else {
$userstarlvl=$usergstars[starlevel];
$userstarimg=$usergstars[starimg];
}
أبحث عن هذا الكود..
كود:
$DB_site->query("INSERT INTO user (userid,username,password,email,".$newstylefield."parentemail,coppauser,homepage,icq,aim,yahoo,signature,adminemail,showemail,invisible,usertitle,joindate,******user,daysprune,lastvisit,lastactivity,usergroupid,timezoneoffset,emailnotification,receivepm,emailonpm,options,birthday,maxposts,startofweek,ipaddress,pmpopup,referrerid,nosessionhash) VALUES (NULL,'".addslashes(htmlspecialchars($username))."','".addslashes($password)."','".addslashes(htmlspecialchars($email))."',".$newstyleval."'".addslashes(htmlspecialchars($parentemail))."','$coppauser','".addslashes(htmlspecialchars($homepage))."','".addslashes(htmlspecialchars($icq))."','".addslashes(htmlspecialchars($aim))."','".addslashes(htmlspecialchars($yahoo))."','".addslashes($signature)."','$adminemail','$showemail','$invisible','".addslashes($usertitle)."','".time()."','$******user','".addslashes($prunedays)."','".time()."','".time()."','$newusergroupid','".addslashes($timezoneoffset)."','$emailnotification','$receivepm','$emailonpm','$options','".addslashes($birthday)."','".addslashes($umaxposts)."','".addslashes($startofweek)."','".addslashes($ipaddress)."','$pmpopup','".addslashes($testreferrerid['userid'])."','$nosessionhash')");
أستبدله بهذا الكود..
كود:
$DB_site->query("INSERT INTO user (userid,username,password,email,".$newstylefield."parentemail,coppauser,homepage,icq,aim,yahoo,signature,adminemail,showemail,invisible,usertitle,joindate,******user,daysprune,lastvisit,lastactivity,usergroupid,timezoneoffset,emailnotification,receivepm,emailonpm,options,birthday,maxposts,startofweek,ipaddress,pmpopup,referrerid,nosessionhash,starlevel,starimg) VALUES (NULL,'".addslashes(htmlspecialchars($username))."','".addslashes($password)."','".addslashes(htmlspecialchars($email))."',".$newstyleval."'".addslashes(htmlspecialchars($parentemail))."','$coppauser','".addslashes(htmlspecialchars($homepage))."','".addslashes(htmlspecialchars($icq))."','".addslashes(htmlspecialchars($aim))."','".addslashes(htmlspecialchars($yahoo))."','".addslashes($signature)."','$adminemail','$showemail','$invisible','".addslashes($usertitle)."','".time()."','$******user','".addslashes($prunedays)."','".time()."','".time()."','$newusergroupid','".addslashes($timezoneoffset)."','$emailnotification','$receivepm','$emailonpm','$options','".addslashes($birthday)."','".addslashes($umaxposts)."','".addslashes($startofweek)."','".addslashes($ipaddress)."','$pmpopup','".addslashes($testreferrerid['userid'])."','$nosessionhash','$userstarlvl','$userstarimg')");
أحفظ الملف وأرفعه لمكانه بالمنتدي..
والان أفتح ملف
index.php من داخل مجلد الادمن..
وأبحث عن هذا الكود..
كود:
<table width="100%" border="0" cellspacing="0" cellpadding="<?php echo iif($cpnavjs,2,5); ?>" id="navtable">
ضع هذا الكود أسفلة..
كود:
</table>
<tr><td><hr></td></tr>
<tr><td>
<table width="100%" border="0" cellspacing="0" cellpadding="2" id="navtable">
<?php maketableheader("User Stars"); ?>
</table>
<a href="stars.php?s=<?php echo $session[sessionhash]; ?>&action=add"> Add </a> |
<a href="stars.php?s=<?php echo $session[sessionhash]; ?>&action=modify"> Modify </a>
</td></tr>
أحفظ الملف وأرفعة لمنتداك في مجلد الادمن..
أذهب للتمبلت
postbitوأبحث عن هذا الكود..
كود:
<smallfont>$post[usertitle]</smallfont><br>
أستبدله بهذا الكود..
كود:
<smallfont>$post[usertitle]</smallfont><br>$post[stars]<br>
أحفظ التمبلت..
ألف ألف ألف مبروك تركيب الهاك ..
ولكن ما هي طريقة أستخدامة وكيف أضع للأعضاء النجوم..؟؟؟
سأجيب علكم وسأشرح لكم طريقة عمل الهاك كما تعودت علي ذلك مع أحسن أخوني
بالمنتدي..
وإليكم الطريقة..
بعد الدخول للوحة التحكم ستجد خيارات النجوم ظهرت علي اليسار..
أضغط علي
addوتابع مع الصور ..
والان سنذهب لمجموعة الاعضاء..
لنضع عدد نجوم خاصة للمشرفين والادمن.. تابع الصور..
والان أريكم نتيجة التركيب في منتداي..