المساعد الشخصي الرقمي

عرض الإصدار الكامل : حصريا الألعاب ibProArcade 2.5.9 تعريب كامل والكمال لله


UaeStar
01-17-2007, 11:17 PM
السلام عليكم ورحمة الله وبركاته
مثال للهاك
http://www.roo7ae.com/vb/arcade.php
الموضوع الاصلى :
http://www.roo7ae.com/vb/showthread.php?p=209400#post209400 (http://www.roo7ae.com/vb/showthread.php?p=209400#post209400)
لتحميل المرفق من هنا
http://www.roo7ae.com/vb/attachment.php?attachmentid=1744&d=1169064941 (http://www.roo7ae.com/vb/attachment.php?attachmentid=1744&d=1169064941)
اقدم لم اليوم ibProArcade - professional Arcade System الاصدار الجديد والاخير Version: 2.5.9
تاريخ الصدور : 14/1/2007
يعمل مع النسخ : vBulletin 3.0.x / 3.5.x / 3.6.x

الاصلاحات التي تم بالنسخة الجديدة :
1- التعديل على الحماية للملفات
2- التعديل على تصاريح المجموعة
3- التعديل على نظام المباريات والبطولات
4- التعديل على mySQL/PHP للتوافق مع الاصدار 5
5- التعديل على الصور الشخصية والعرض بملف filesystem
6- فقط السماح للاعضاء بالعب بالبطولات باستثناء الزوار

وايضا تم اجرا بعض التحسيان للنسخة :
1- دعم كامل لتصاريح المجموعة الاساسية والثانوية
2- البطولات الان يتم انشاءه عن طريقة لوحة تحكم الادارة مع دعم حساب المشاركات بهاك المتجر
3- بعض التحسينات التجميلة للاستايل

ما يتميز به الهاك اعذروني لم اترجم الخصائص

Styles
different Styles (ibProArcade, v3arcade)
in AdminCP you define the default Style and if users can select their own preferred Style Languages
this Hack comes along with multiple languages, selectable via AdminCP
currently included: english, german, french, dutch, portugese Custom Game Sorting
you can set a default sorting in AdminCP while each User can select his own sorting, e.g. by name, rating, times played ect. Game Ratings
Members can rate each Game Arcade UserCP
each user can set his own preferences for the Arcade: game sorting, games/scores per page, notifications, Skin, default category Arcade ModCP
an Adcade-Moderator can take care of scores, tournaments, comments ect. Tournaments
you can create Tournaments via AdminCP or Arcade-ModCP with either 2, 4 or 8 participants
Users can create Tournaments with open slots other players can join in
Creation of Tournaments is based on Usergroup and User-Permissions
Each Game can be set to be selectable for Tournaments or not Automatic Game Installation
in the AdminCP you can easily install new games, just upload the Archives to your server and install with a single click. There even is mass-installing included to install all uploaded games at once.
No more worrying about putting certain files in certain folders and running an installer.
This Feature works with ibProArcade-TAR-Archives and v3arcade-ZIP-Archives. Categories
you can create categories for the games, e.g. genre
categories can be protected with a password and/or restricted to certain usergroups advanced Game Statistics
alot of information are provided for each game:

best score of all times
your personal best result
actual highscore-champion
game-rating
times played
time playedActive Users in the Arcade
this shows who currently is in the Arcade and what everybody is doing there. In AdminCP you can select in which areas of the Arcade this will be shown Game Information
while playing a game some information gets displayed: current highscore and champion, the objective of the game and the controls for this game Group-Permissions
you can set alot of permissions for each usergroup:

Access to the Arcade (can not view, can view but not play, can view and play)
total posts requirement
posts per day requirement
max. plays per day
can create Tournaments
which categories can be playedUser-Permissions
you can set individual permissions per user:

can create Tournaments
is banned from the Arcade
is Arcade Moderator
which options this Arcade-Moderator has (scores, comments, tournaments ect.)automatic Score-Pruning
scores can be pruned after a period of time you can choose in AdminCP Game Options
each games has individual settings for height, width, background-color, how many decimal points, which result is best (high or low), the game's objective, the keys, a de******ion ect. Arcade-Information in the Forum
in AdminCP you can select which Information will be in Postbit of each Posting a Member does in the Forum: Highscores and/or won Tournaments. The Style of this Information is available in different types (marquee, Icons only, static) Full Integration in vbBux/vbPlaza
if you have vbPlaza installed you have alot of options to sell in your Plaza-Shop:

Costs per Play
static or raising Jackpot to win per Game
Tournaments have Costs to participate and the Winner earns the Jackpot of this Tournament
Arcade-Pass for free playing (without winning)
شرح التنصيب وهو بسيط جدا جدا :
vBulletin 3.0.x
1- رفع الملفات
2- تشغيل السكربت
3- تعديل 4 ملفات PHP
4- تعديل 3 قوالب/تمبلت
5- اضافة قالب جديد
vBulletin 3.5.x & 3.6.x
1- رفع الملفات
2-طلب المنتج من نظام الاضافات
3- التعديل على 3 قوالب/ تمبلت


الان سوف اشرح التنصيب على النسخة vBulletin 3.0.x :
1- انشاء ملف باسم /includes/xml
2- رفع كافة الملفات مباشرة الى مجلد منتداك مباشرة Fourms/Vb
3- اعطاء كافة ملفات الاركيد تصاريح Chmod 777
4- قم بتشغيل السكربت
www.roo7ae.com/vb/installer.php (http://www.roo7ae.com/vb/installer.php)
بعد الانتهاء من التنصيب قم مباشرة بحذف الملف
الان جاء شرح تعديل على بعض الملف وعدده 4 PHP
1- افتح index.php
ابحث

<?php

تحته مباشرة اضف
// ibproarcade modification
if($_POST['module'] == "pnFlashGames"){
$_GET[act] = "Arcade";
$_GET['module'] = "arcade";
}
if($_POST['func'] == "storeScore"){
$_GET['do'] = "pnFStoreScore";
}
if($_POST['func'] == "saveGame"){
$_GET['do'] = "pnFSaveGame";
}
if($_POST['func'] == "loadGame"){
$_GET['do'] = "pnFLoadGame";
}
$act = $_GET[act];
$autocom = $_GET[autocom];
$showuser= $_GET[showuser];
if($act == "Arcade" || $autocom=="arcade") {
include "arcade.php";
exit();
}
if(!empty($showuser) && $showuser >= 1) {
$u = $showuser;
$_GET = $showuser;
include "member.php";
exit();
}
// end of ibproarcade modification
احفظ التعديل على الملف
افتح ملف admincp/index.php
ابحث
if (can_administer('canadminstyles'))
فوقه مباشرة اضف
construct_nav_option($vbphrase['ibparcade_acpmenu1'], 'arcade.php?code=settings', '<br />');
construct_nav_option($vbphrase['ibparcade_acpmenu2'], 'arcade.php?cat=0', '<br />');
construct_nav_option($vbphrase['ibparcade_acpmenu3'], 'arcade.php?code=cat', '<br />');
construct_nav_option($vbphrase['ibparcade_acpmenu4'], 'arcade.php?code=add_game', '<br />');
construct_nav_option($vbphrase['ibparcade_acpmenu5'], 'arcade.php?code=tourney', '<br />');
construct_nav_option($vbphrase['ibparcade_acpmenu6'], 'arcade.php?code=groups', '<br />');
construct_nav_option($vbphrase['ibparcade_acpmenu11'], 'arcade.php?code=messages', '<br />');
construct_nav_option($vbphrase['ibparcade_acpmenu7'], 'arcade.php?code=user_search', '<br />');
construct_nav_option($vbphrase['ibparcade_acpmenu8'], 'arcade.php?code=ip_ban', '<br />');
construct_nav_option($vbphrase['ibparcade_acpmenu9'], 'arcade.php?code=score_tools', '<br />');
construct_nav_option($vbphrase['ibparcade_acpmenu10'], 'arcade.php?code=custom', '<br />');
construct_nav_option("Information", 'arcade.php?code=info', '<br />');
construct_nav_group($vbphrase['ibparcade_acpmenu0'], '<hr />');

احفظ التعديل على الملف
الان افتح الملف includes/functions_showthread.php
ابحث
require_once('./includes/functions_reputation.php');

اضف تحته مباشرة
//ibProArcade Crown Code START
$champs = array();
$tourneys = array();
$cached_crowns = array();
$crowntype = $DB_site->query("SELECT crown_type AS type, show_crowns, show_t_won FROM " . TABLE_PREFIX . "games_settings");
$crown = $DB_site->fetch_array($crowntype);
if( $crown['show_crowns'] )
{
$thecrowns = $DB_site->query("SELECT c.*, g.gname, cat.password FROM " . TABLE_PREFIX . "games_champs AS c, " . TABLE_PREFIX . "games_list AS g, " . TABLE_PREFIX . "games_cats AS cat WHERE (c.champ_gid=g.gid) AND (g.gcat=cat.c_id) AND trim(password)=''");
while( $this_champ = $DB_site->fetch_array($thecrowns) )
{
if( !isset($champs[ $this_champ['champ_mid'] ]) )
{
$champs[ $this_champ['champ_mid'] ] = array();
}
$champs[ $this_champ['champ_mid'] ][] = array( 'gid' => $this_champ['champ_gid'], 'gtitle' => $this_champ['champ_gtitle'], 'gname' => $this_champ['gname'] );
}
}
if( $crown['show_t_won'] )
{
$tourneyquery = $DB_site->query("SELECT t.champion, u.userid FROM " . TABLE_PREFIX . "tournaments AS t LEFT JOIN " . TABLE_PREFIX . "user AS u ON (t.champion = u.username) WHERE champion<>''");
while( $this_tourney = $DB_site->fetch_array($tourneyquery) )
{
if( !isset($tourneys[ $this_tourney['id'] ]) )
{
$tourneys[ $this_tourney['id'] ] = 0;
}
$tourneys[ $this_tourney['id'] ]++;
}
}
//ibProArcade Crown Code END


بنفس الملف ابحث عن
// sorts through all the stuff to return the postbit template


اضف تحته
global $crown, $champs, $tourneys, $cached_crowns;

بنفس الملف ابحث عن
$show['messageicon'] = iif($post['iconpath'], true, false);
فوقه مباشرة اضف
//Start ibProArcade Crowns
$crowns = "";
if( $crown['show_crowns'] )
{
if( !isset($cached_crowns[ $post['userid'] ]) )
{
$crowns = "";
if( isset($champs[ $post['userid'] ]) )
{
if((count($champs[ $post['userid'] ]) > 1 ) && ($crowns[type]!=4))
{
switch($crown['type'])
{
case 0:
$crowns = "";
break;
case 1:
$crowns = "<marquee width='120' scrollamount='3'>";
break;
case 2:
$crowns = "<marquee width='175' name='crownscroll' scrollamount='1' direction='up' height='20'>";
break;
case 3:
$crowns = '';
break;
}
$crown_end = ($crown['type'] == 1) ? " " : "<br />";
$counter=0;
foreach( $champs[ $post['userid'] ] as $this_game )
{
if ($crown['type'] == 3)
{
if ($counter == 5)
{
$counter = 0; $crowns.= "<br />";
}
}
$img****="";
if ($crown['type'] == 3) { $img**** = "$this_game[gtitle] Champion"; }
$crowns .= "<a href=\"arcade.php?$session[sessionurl]do=stats&gameid=$this_game[gid]\"> <img src=\"arcade/images/$this_game[gname]2.gif\" border=\"0\" alt=\"$img****\" />";
if ($crown['type']!=3)
{
$crowns .= $this_game[gtitle]." Champion!</a> " . $crown_end;
}
else
{
$crowns .= "</a> ";
}
$counter++;
}
if ($crown['type'] != 0)
{
$crowns .= "</marquee>";
if ( ($crown['show_t_won']) && (isset($tourneys[ $poster['id'] ])) )
{
$crowns .= '<br />';
}
}
}
else
{
foreach( $champs[ $post['userid'] ] as $this_game )
{
$img**** = "";
if ($crown['type'] == 3) { $img**** = "$this_game[gtitle] Champion"; }
$crowns = "<a href=\"arcade.php?$session[sessionurl]do=stats&gameid=$this_game[gid]\"><img src=\"arcade/images/$this_game[gname]2.gif\" border=\"0\" alt=\"$img****\" /> ";
if ($crown['type'] != 3)
{
$crowns .= "$this_game[gtitle] Champion!";
}
$crowns .= "</a>";
}
}
}
if ($crown[type]==4)
{
$extra="";
if (count($champs[$post[userid]])>1) {$extra="s";}
$crowns = "";
if (count($champs["$post[userid]"]) > 0)
{
$crowns = "<img src='arcade/images/trophy.gif' alt='".(count($champs["$post[userid]"]))." Highscore".$extra."'><br />";
}
}

$cached_crowns[ $post['userid'] ] = $crowns;
}
else
{
$crowns = $cached_crowns[ $post['userid'] ];
}
}
$champ**** = "";
if( $crown['show_t_won'] )
{
if( isset($tourneys[ $poster['id'] ]) )
{
$champ**** = "<a href='arcade.php?do=viewtourneyend' target='_blank' alt=''>".$vbphrase[ibpa_tourney] . " <b>" . $tourneys[$poster['id']] . "</b></a><br />";
}
}
$post['crowns'] = $crowns;
$post['champ****'] = $champ****;
//End ibProArcade Crowns


احفظ التعديل
الان افتح الملف includes/functions_online.php
ابحث عن
error_reporting(E_ALL & ~E_NOTICE);

تحته اضف
$gquery = $DB_site->query("SELECT gid, gtitle FROM " . TABLE_PREFIX . "games_list ORDER BY gid");
while($gamerow = $DB_site->fetch_array($gquery)) {
$games[$gamerow['gid']] = $gamerow['gtitle'];
}


بنفس الملف ابحث عن
static $count;
تحته اضف
global $games;
بنفس الملف ابحث عن
case 'index':
$userinfo['action'] = $vbphrase['viewing_index'];
$userinfo['where'] = "<a href=\"$vboptions[forumhome].php?$session[sessionurl]\">$vboptions</a>";
break;

استبدله بالتالي :
case 'index':
//ibProArcade
if(strpos($userinfo['location'], "act")) {
$urlstring = substr($userinfo['location'], strpos($userinfo['location'], "?") + 1, strlen($userinfo['location']) - (strpos($userinfo['location'], "?") + 1));
$urlvars = explode("&", $urlstring);
foreach($urlvars as $key => $value) {
$temp = explode("=", $value);
$realvars[$temp[0]] = $temp[1];
}
switch($realvars['do']) {
case 'play':
$userinfo['action'] = $vbphrase['ibproarcade_playing_game'] . "<a href=\"$vboptions[forumhome].php?act=Arcade&do=play&gameid=$realvars[gameid]\">" . $games[$realvars['gameid']] . "</a>";
break;
case 'stats':
$userinfo['action'] = $vbphrase['ibproarcade_viewing_highscores'] . "<a href=\"$vboptions[forumhome].php?act=Arcade&do=stats&gameid=$realvars[gameid]\">" . $games[$realvars['gameid']] . "</a>";
break;
default:
$userinfo['action'] = "<a href=\"arcade.php?$session[sessionurl]\">" . $vbphrase['ibproarcade_viewing_home'] . "</a>";
break;
}
} else {
$userinfo['action'] = $vbphrase['viewing_index'];
$userinfo['where'] = "<a href=\"$vboptions[forumhome].php?$session[sessionurl]\">$vboptions[bbtitle]</a>";
}
//ibProArcade
break;

بنفس الملف ابحث عن
default:
if ($permissions['wolpermissions'] & CANWHOSONLINEBAD)
{
require_once('./includes/functions_login.php');
$userinfo['location'] = fetch_replaced_session_url(htmlspecialchars_uni(st ripslashes($userinfo['location'])));
$userinfo['where'] = "<a href=\"$userinfo[location]\">$userinfo[location]</a>";
$userinfo['action'] = '<b>' . $vbphrase['unknown_location'] . '</b>';
}
else
{
// We were unable to parse the location
$userinfo['action'] = $vbphrase['viewing_index'];
$userinfo['where'] = "<a href=\"$vboptions[forumhome].php?$session[sessionurl]\">$vboptions[bbtitle]</a>";
}


استبدله بالتالي
default:
if(strpos($userinfo['location'], "arcade")) {
$userinfo['action'] = "<a href=\"arcade.php?$session[sessionurl]\">" . $vbphrase['ibproarcade_home'] . "</a>";
} else {
if ($permissions['wolpermissions'] & CANWHOSONLINEBAD)
{
require_once('./includes/functions_login.php');
$userinfo['location'] = fetch_replaced_session_url(htmlspecialchars_uni(st ripslashes($userinfo['location'])));
$userinfo['where'] = "<a href=\"$userinfo[location]\">$userinfo[location]</a>";
$userinfo['action'] = '<b>' . $vbphrase['unknown_location'] . '</b>';
}
else
{
// We were unable to parse the location
$userinfo['action'] = $vbphrase['viewing_index'];
$userinfo['where'] = "<a href=\"$vboptions[forumhome].php?$session[sessionurl]\">$vboptions[bbtitle]</a>";
}
}


الان احفظ التعديل والحمد لله انتهينا من التعديلات على الملفات
الان سوف نقوم بالتعديل على التمبلت تابعوا معي الخطواات
ادخل الى لوحة تحكم منتداك admincp
الاستايلات والقوالب
اضافة قالب جديد باسم ARCADE اضف به التالي
$stylevar[htmldoctype]
<html dir="$stylevar[****direction]" lang="$stylevar[languagecode]">
<head>
<!-- no cache headers -->
<**** **********="Pragma" *******="no-cache" />
<**** **********="Expires" *******="-1" />
<**** **********="Cache-Control" *******="no-cache" />
<!-- end no cache headers -->
$headinclude
<title><phrase 1=$vboptions[bbtitle]>$vbphrase[x_powered_by_vbulletin]</phrase></title>
</head>
<body>
$header
$navbar
<if condition="$bbuserinfo[userid]!=0">$arcadeheader
<!-- small space -->
<span class="smallfont"><br>
</span></if>
$main*******
</div>
$footer
</body>
</html>

الان قم بحفظ التمبلت
ابحث عن تمبلت
postbit
ابحث عن
<if condition="$post['joindate']"><div>$vbphrase[join_date]: $post[joindate]</div></if>
فوقه اضف
<div class="smallfont">$post[crowns]$post[champ****]<br /></div>
احفظ التعديل واتجه نحو القالب التالي
postbit_legacy
ابحث عن
<if condition="$post['joindate']"><div>$vbphrase[join_date]: $post[joindate]</div></if>
فوقه اضف
<div class="smallfont">$post[crowns]$post[champ****]<br /></div>
احفظ التعديل وابحث عن navbar
ابحث عن
<td class="vbmenu_control"><a href="calendar.php?$session[sessionurl]">$vbphrase[calendar]</a></td>

تحته اضف
<td class="vbmenu_control"><a href="arcade.php?$session[sessionurl]">Arcade</a></td>

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

الان سوف نقوم بشرح التنصيب للنسخة vBulletin [B]3.5.x [U]and 3.6.x
1- قم برفع كافة الملفات الى منتداك forums/vb
2- اعطاء التصاريح 777 لكافة المجلدات
3- الان اذهب الى لوحة تحكم المنتدى admincp من خلاله اتجه الى الاضافات والنتجات واضف المنتج التالي product-ibproarcade.xml واختار نعم التغطيان على الكتابة

الان سوف نقوم بالتعديل على القوالب
ابحث عن تمبلت postbit
<td valign="top" nowrap="nowrap">
تحته اضف
<div class="smallfont">$post[crowns]$post[champ****]<br /></div>
احفظ التعديل واتجه للبحث عن تمبلت postbit_legacy
ابحث عن
<if condition="$post['joindate']"><div>$vbphrase[join_date]: $post[joindate]</div></if>
فوقه اضف
$post[crowns]$post[champ****]<br />
احفظ التعديل واتجه الى تمبلت navbar
ابحث عن

<td class="vbmenu_control"><a href="calendar.php$session[sessionurl_q]">$vbphrase[calendar]</a></td>
تحته اضف

<td class="vbmenu_control"><a href="arcade.php?$session[sessionurl_q]">Arcade</a></td>
احفظ التعديل
الان اذهب الى خيارات المجموعة من
الالعاب
خيارات المجموعة وعدل التصاريح كما تشاء

بالنسبه لمن يمتلك الاصدار القديم ننصح بالترقية بسبب الثغرات الامنية..
1- ارفع الملفات بالكامل واستبدله القديمة بالجديدة
2- ارفع المنتج مع طغيان الكتابة


مبرررروك على الجميع
الرجاء عدم انتزاع الحقوق

TeEmOoR
01-17-2007, 11:39 PM
سلمت يمينك والله من فتره ونا انتظره
الله يقويك