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

مشاهدة النسخة كاملة : هاك البيجر في إصداره الثاني



ابو راشد
23 - 07 - 2005, 20:01
وظيفة الهاك : يسمح هذا الهاك بتبادل الرسائل القصيرة والسريعة بين الأعضاء والمشرفين والضيوف وذلك حسب ما يحدده المشرف العام ... ويعتبر بديل رائع لهاك ماسنجر المنتدى والذي سبق أن قدمته لكم ولكن بمميزات رائعة وتحكم كامل .

المبرمج : الأخ الفاضل uae من دولة الإمارات ولكن الغريب هنا أن المبرمج خليجي وتمت البرمجة باللغة الإنجليزية !!!

تعريب : منتديات المودة .

المعاينة : نقره هنا للتجربة على الطبيعة (http://www.mwadah.com)

التحميل : نقره هنا لزيارة الموضوع الأساسي والتحميل (http://www.mwadah.com/showthread.php?t=1875)

المميزات :

إمكانية التحكم بالصلاحيات وذلك من خلال مجموعات الأعضاء أو رقم العضوية ... ويشمل التحكم بمن له صلاحية الإرسال لعضو آخر أو حتى للضيوف وغير المسجلين ... مع إمكانية إخفاء إسم المرسل والسماح أو عدم السماح بالرد على رسالة البيجر ... وإغلاق آلي للنافذة بعد الإرسال ... كما يمكن التحكم بعدد الحروف المسموح بها ... وكشف الرسائل المرسلة حسب التصنيف المطلوب ... مستلمه أو غير مستلمه ... كما يمكن العضو المسموح له بإستخدام هذه الخدمة من تصفح جميع الرسائل المرسلو منه أو له ... وإمكانية إيقاف وتشغيل الخدمة في أي وقت ... وغيرها الكثير من المميزات .

+++++++++++++++++++++++++++++++++++++++++++++

والآن فلنبدأ عملية التركيب علما بأنه لا يمكن التجربة على سيرفر محلي :

أولا : قم برفع محتويات الملف المرفق لمجلد المنتدى ومن ثم قم بإستدعاء ملف admincp/vbpager_install.php وذلك كما يلي :

http://www.yourforums.com/vb/admincp/vbpager_install.php

مع تعديل الدومين لموقعك ونفذ جميع الخطوات .

+++++++++++++++++++++++++++++++++++++++++++++

ثانيا : تعديل ملفات php ولنتحر الدقة هنا ...

في ملف admincp/index.php إبحث عن :


// ***
if (can_administer('canadminfaq'))
{
$printhr = true;
construct_nav_option($vbphrase['faq_manager'], 'faq.php?null=0', '|');
construct_nav_option($vbphrase['add_new_faq_item'], 'faq.php?do=add');
construct_nav_group($vbphrase['faq']);
}
if ($printhr == true)
{
construct_nav_spacer();
}


أضف بعده ما يلي :


// [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 1 ]
if (can_administer())
{
$printhr = true;
construct_nav_option($vbphrase['vbpager_cphome_options'], 'options.php?dogroup=

vbpager&do=options', '|');
construct_nav_option($vbphrase['vbpager_cphome_messages'], 'pageradmin.php?doshow=

read');
construct_nav_group($vbphrase['vbpager_cphome_options']);
}
if ($printhr == true)
{
construct_nav_spacer();
}
// [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 1 ]


في ملف global.php إبحث عن :


// ################################################## ###########################
// ######################## START TEMPLATES & STYLES ###########################
// ################################################## ###########################

أضف بعده :



// [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 2 ]
if ( $bbuserinfo['userid']!=0 and $bbuserinfo['pager']!=0 and $action!='pager')
$pagermessage = 1;

if ( $bbuserinfo['userid']==0 and $action!='pager' and $session[dbsessionhash]!='')
if ($DB_site->query_first("select p.tosessionid from " . TABLE_PREFIX . "pager as p left join " . TABLE_PREFIX . "session as s on (s.sessionhash = p.tosessionid) where p.active=1 and p.tosessionid='" . $session[dbsessionhash] . "'"))
$pagermessage = 1;

$vboptions[sessionid] = $session[dbsessionhash];
$bbuserinfo[canpager] = can_pager();
// [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 2 ]


في ملف includes/functinons_online.php إبحث عن :


$show['real********'] = iif($userinfo['********'], true, false);


أضف بعده :


// [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 3 ]
if($userinfo['sessionid'])
can_pager(1);
else
can_pager();
// [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 3 ]


في ملف includes/functinons_online.php إبحث عن :


$userinfo['action'] = construct_phrase($vbphrase['viewing_x'], 'Bugs'); // Don't report 'bugs' as needing to be translated please :p
break;

أضف بعده :


// [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 4 ]
case 'pager':
$userinfo['action'] = $vbphrase['vbpager_messages'];

if ($permissions['wolpermissions'] & CANWHOSONLINEFULL)
{
if ($userinfo['values']['touserid']>0)
{
global $DB_site;
$puser = $DB_site->query_first("select username from " . TABLE_PREFIX . "user where userid=" . $userinfo['values']['touserid'] . "");
$pageruser = $puser[username];
}
if ($userinfo['values']['guestid'])
$pageruser = $vbphrase[guest];

if ($userinfo['values']['folder']=="inbox")
$userinfo['where'] = $vbphrase[vbpager_viewing_inbox];

if ($userinfo['values']['folder']=="outbox")
$userinfo['where'] = $vbphrase[vbpager_viewing_outbox];

if ($userinfo['values']['do']=="showpager")
$userinfo['where'] = $vbphrase[vbpager_reading_message];

if ($userinfo['values']['do']=="newpager")
$userinfo['where'] = "$vbphrase[vbpager_sending_message] " .

$pageruser;

}
break;
// [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 4 ]


وفي نفس الملف إبحث عن :


case 'bugs.php':
$userinfo['activity'] = 'bugs';
break;

أضف بعده :


// [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 5 ]
case 'pager.php':
$userinfo['activity'] = 'pager';
break;
// [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 5 ]


في ملف includes/functions.php إبحث عن :


?>

وستجدها في آخر الملف ... أضف قبلها :


// [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 6 ]
function can_pager($type=0, $usrid=0)
{
global $vboptions, $bbuserinfo;

if ($usrid==0)
$usrid = $bbuserinfo[userid];
if ($usrid==0)
return false;

if ($vboptions[vbpager_on_off]=="0")
return false;

$gid_m = $vboptions[vbpager_usergroup_member];
$gid_g = $vboptions[vbpager_usergroup_guest];
$uid_m = $vboptions[vbpager_userid_member];
$uid_g = $vboptions[vbpager_userid_guest];


if (!($gid_m))
$gid_m = "-1";

if (!($gid_g))
$gid_g = "-1";

if (!($uid_m))
$uid_m = "-1";

if (!($uid_g))
$uid_g = "-1";


$uids = explode(',', str_replace(' ', '', $uid_g));
foreach($uids AS $ids)
if ($usrid==$ids)
{
$vboptions[vbpager_canpager] = 1;
return true;
}


if ($type==0)
{
$uids = explode(',', str_replace(' ', '', $uid_m));
foreach($uids AS $ids)
if ($usrid==$ids)
{
$vboptions[vbpager_canpager] = 1;
return true;
}
}


$uids = explode(',', str_replace(' ', '', $gid_g));
foreach($uids AS $ids)
if ($bbuserinfo[usergroupid]==$ids)
{
$vboptions[vbpager_canpager] = 1;
return true;
}


$mids = explode(',', str_replace(' ', '', $bbuserinfo[membergroupids]));
foreach($uids AS $id)
{
foreach($mids AS $ids)
if ($id==$ids)
{
$vboptions[vbpager_canpager] = 1;
return true;
}
}

if ($type==0)
{
$uids = explode(',', str_replace(' ', '', $gid_m));
foreach($uids AS $ids)
if ($bbuserinfo[usergroupid]==$ids)
{
$vboptions[vbpager_canpager] = 1;
return true;
}


$mids = explode(',', str_replace(' ', '', $bbuserinfo[membergroupids]));
foreach($uids AS $id)
{
foreach($mids AS $ids)
if ($id==$ids)
{
$vboptions[vbpager_canpager] = 1;
return true;
}
}
}
$vboptions[vbpager_canpager] = 0;
return false;
}
// [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 6 ]


في ملف online.php إبحث عن :


SELECT user.username, session.useragent,

إستبدلها بالتالي :


SELECT user.username, session.useragent, session.sessionhash,

وفي نفس الملف إبحث عن :


$guests["$count"]['username'] = $vbphrase['guest'];

أضف بعده :


// [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 8 ]
$guests["$count"]['sessionid']= $users[sessionhash];
// [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 8 ]


وهنا تكون مهمة تعديل الملفات قد إنتهت .


+++++++++++++++++++++++++++++++++++++++++++++++++

ثالثا : تعديلات القوالب أو التمبليت :

في تمبليت footer إبحث عن :


<****** type="text/java******">
<!--
// Main vBulletin Java****** Initialization
vBulletin_init();

// Initialize 'Active' Table Cells
//activecells_init();
//-->
</******>

أضف بعده :


<!-- [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 1 ] -->
<if condition="$pagermessage">
<****** type="text/java******">

function openPager()
{
url = "$vboptions[bburl]/pager.php?action=pager&do=showpager&s=$session[dbsessionhash]";

PG = ********open(url,'pager');
}

openPager();

</******>
</if>
<!-- [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 1 ] -->


في تمبليت forumhome_loggedinuser إبحث عن :


<a href="member.php?$session[sessionurl]u=$loggedin[userid]">$loggedin[musername]</a>$loggedin[invisiblemark]$loggedin[buddymark]

أضف بعده :


<!-- [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 2 ] -->
<if condition="$bbuserinfo[canpager]">
<if condition="$bbuserinfo[userid]!=$loggedin[userid]">
<a href="#" onClick='********open("pager.php?action=pager&do=newpager&touserid=$loggedin[userid]","pager");return false;'>
<img class="inlineimg" src="$stylevar[imgdir_button]/vbpager.gif" border="0" alt="$vbphrase[vbpager_send_pager_to] $loggedin[username]" /></a>
</if>
</if>
<!-- [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 2 ] -->


في تمبليت MEMBERINFO إبحث عن :


<if condition="$userinfo['pm']">
<tr>
<td>
$vbphrase[private_message]:<br />
<a href="private.php?$session[sessionurl]do=newpm&u=$userinfo[userid]"><phrase 1="$userinfo[username]">$vbphrase[send_private_message_to_x]</phrase></a>
</td>
</tr>
</if>

أضف بعده :


<!-- [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 3 ] -->
<if condition="$bbuserinfo[canpager]">
<if condition="$bbuserinfo[userid]!=$userinfo[userid]">
<tr>
<td>
$vbphrase[vbpager_message]:<br />
<a href="#" onClick='********open("pager.php?action=pager&do=newpager&touserid=$userinfo[userid]","pager");return false;'><phrase 1="$userinfo[username]">$vbphrase[vbpager_send_pager_to] $userinfo[username]</phrase> </a>
</td>
</tr>
</if>
</if>
<!-- [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 3 ] -->

في تمبليت navbar إبحث عن :


<if condition="$show['pmstats']"><tr><td class="vbmenu_option"><a href="private.php?$session[sessionurl]">$vbphrase[private_messages]</a></td></tr></if>

أضف بعده :


<!-- [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 4 ] -->
<if condition="$bbuserinfo[canpager]">
<tr><td class="vbmenu_option"><a href="#" onClick='********open("pager.php?action=pager&do=log&folder=inbox","pagerlog");return false;'>$vbphrase[vbpager_messages]</a></td></tr>
</if>
<!-- [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 4 ] -->

في تمبليت whosonlinebit إبحث عن :


<td class="alt1" width="35%">
<span class="smallfont" style="float:$stylevar[right]"><span class="time">$userinfo[time]</span></span>
<if condition="$show['loggedinuser']">
<a href="member.php?$session[sessionurl]u=$userinfo[userid]" target="_blank">$userinfo[musername]</a>$userinfo[hidden]<if condition="$show['buddy']">+</if>
<else />
<if condition="$show['spider']"><phrase 1="$userinfo[spider]">$vbphrase[x_spider]</phrase><else />$userinfo[musername]</if>
</if>
</td>

إستبدله بالتالي :


<!-- [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 9 ] -->
<td class="alt1" width="35%">
<span class="smallfont" style="float:$stylevar[right]"><span class="time">$userinfo[time]</span></span>
<if condition="$show['loggedinuser']">
<a href="member.php?$session[sessionurl]u=$userinfo[userid]" target="_blank">$userinfo[musername]</a>$userinfo[hidden]<if condition="$show['buddy']">+</if>
<if condition="$vboptions[vbpager_canpager]">
<if condition="$bbuserinfo[userid]!=$userinfo[userid]">
<a href="#" onClick='********open("pager.php?action=pager&do=newpager&touserid=$userinfo[userid]","pager");return false;'>
<img class="inlineimg" src="$stylevar[imgdir_button]/vbpager.gif" border="0" alt="$vbphrase[vbpager_send_pager_to] $userinfo[username]" /></a>
</if>
</if>
<else />
<if condition="$show['spider']"><phrase 1="$userinfo[spider]">$vbphrase[x_spider]</phrase><else />$userinfo[musername]
<if condition="$vboptions[vbpager_canpager]">
<a href="#" onClick='********open("pager.php?action=pager&do=newpager&guestid=$userinfo[sessionid]","pager");return false;'>
<img class="inlineimg" src="$stylevar[imgdir_button]/vbpager.gif" border="0" alt="$vbphrase[vbpager_send_pager_to] $userinfo[username]" /></a>
</if>
</if>
</if> $show[pager]
</td>
<!-- [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 9 ] -->

++++++++++++++++++++++++++++++++++++++++++++

التعديلات التالية إختيارية وليست إجبارية والهدف منها تمكين إرسال رسالة بيجر أثناء تصفح موضوع لكاتب الموضوع :

في تمبليت postbit إبحث عن :


<if condition="$show['reputationlink']"><a href="#" onclick="return reputation($post[postid])"><img class="inlineimg" src="$stylevar[imgdir_button]/reputation.gif" alt="<phrase 1="$post[username]">$vbphrase[add_to_xs_reputation]</phrase>" border="0" /></a> </if>

أضف بعدها :


<!-- [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 5 ] -->
<if condition="$bbuserinfo[canpager]">
<if condition="$bbuserinfo[userid]!=$userinfo[userid]">
<a href="#" onClick='********open("pager.php?action=pager&do=newpager&touserid=$post[userid]","pager");return false;'><img class="inlineimg" src="$stylevar[imgdir_button]/vbpager.gif" alt="$vbphrase[vbpager_send_pager_to] $post[username]" border="0" /></a>
</if>
</if>
<!-- [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 5 ] -->

وفي نفس التمبليت إبحث عن :


<if condition="$show['pmlink']">
<tr><td class="vbmenu_option"><a href="private.php?$session[sessionurl]do=newpm&userid=$post[userid]"><phrase 1="$post[username]">$vbphrase[send_private_message_to_x]</phrase></a></td></tr>
</if>

أضف بعدها :


<!-- [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 6 ] -->
<if condition="$bbuserinfo[canpager]">
<if condition="$bbuserinfo[userid]!=$userinfo[userid]">
<tr><td class="vbmenu_option"><a href="#" onClick='********open("pager.php?action=pager&do=newpager&touserid=$post[userid]","pager");return false;'>$vbphrase[vbpager_send_pager_to] $post[username]</a></td></tr>
</if>
</if>
<!-- [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 6 ] -->


وفي تمبليت postbit_legacy إبحث عن :


<if condition="$show['reportlink']"><a href="report.php?$session[sessionurl]p=$post[postid]"><img class="inlineimg" src="$stylevar[imgdir_button]/report.gif" alt="$vbphrase[report_bad_post]" border="0" /></a></if>
$post[iplogged]

أضف بعدها :


<!-- [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 7 ] -->
<if condition="$bbuserinfo[canpager]">
<if condition="$bbuserinfo[userid]!=$userinfo[userid]">
<a href="#" onClick='********open("pager.php?action=pager&do=newpager&touserid=$post[userid]","pager");return false;'><img class="inlineimg" src="$stylevar[imgdir_button]/vbpager.gif" alt="$vbphrase[vbpager_send_pager_to] $post[username]" border="0" /></a>
</if>
</if>
<!-- [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 7 ] -->

وفي نفس التمبليت إبحث عن :


<if condition="$show['pmlink']">
<tr><td class="vbmenu_option"><a href="private.php?$session[sessionurl]do=newpm&userid=$post[userid]"><phrase 1="$post[username]">$vbphrase[send_private_message_to_x]</phrase></a></td></tr>
</if>

أضف بعدها :


<!-- [START HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 8 ] -->
<if condition="$bbuserinfo[canpager]">
<if condition="$bbuserinfo[userid]!=$userinfo[userid]">
<tr><td class="vbmenu_option"><a href="#" onClick='********open("pager.php?action=pager&do=newpager&touserid=$post[userid]","pager");return false;'>$vbphrase[vbpager_send_pager_to] $post[username]</a></td></tr>
</if>
</if>
<!-- [END HACK='vB Pager' AUTHOR='WwW.UAEWEB.COM' VERSION='2.0.0' CHANGEID= 8 ] -->

إنتهى التركيب مع رجاء الدعاء لي ولوالدي وللمبرمج ولوالديه ... مع أجمل تحية

0

ضيف المهاجر
24 - 07 - 2005, 02:21
شكرا لك اخي ابو راشد وما قصرت


تحياتي

AlBalushi
26 - 07 - 2005, 03:22
يـعـطـيـك الـعـافـيـه
وبـارك الله فـيـك

عاشق السمراء
26 - 07 - 2005, 03:24
مسااااااااااااااااء جميل ....


(( ابو راشد ))

ما شاء الله عليك ..
ما قصرت والله !!