السلام عليكم شباب

حصلت هذا السكريبت اللي يسرع من عمل اليو بي بي في حال وجود عدد أعضاء
كبير في المنتدى وكذلك يقلل من الضغط على بعض السكريبتات لليو بي بي مثل
postings.cgi
cookie_lib.pl
memberlist.cgi
lettercreate.pl

وغيرهم عمل هذا السكريبت يعتد على تقليل عمل subroutine عند نشر المواضيع
لأنه عند نشر أي موضوع يقوم ملف postings بعمل بعض عمليات جلب المعلومات منها كتابة العدد الكلي لموضوعات العضو وتاريخ التسجيل ويفحص كلمة السر وغيره

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

وهذا الكود يضاف في ملف ubb_library.pl

وما عليك إلا ايجاد الكود

<BLOCKQUOTE> <font> كود: </font> <div align="ltr"> <center> <table border="0" width="80%" dir="ltr" bgcolor=="#000000"> <tr> <td width="100%"> <pre> <font color="#ffffff"> sub GetUserNumber {
my $GetName = shift;

my $GetNameDirty = &UNHTMLIFY($GetName);
my $GetNameClean = quotemeta($GetNameDirty);

@memberslist = &OpenFile("$MembersPath/memberslist.cgi");

my $ProfileNumber = "";
FINDNUMBER: foreach $line(@memberslist) {
if ($line =~ m/^$GetNameClean\|\!\!\|/) {
($MatchName, $ProfileNumber) = split(/\|\!\!\|/, $line);
chomp($ProfileNumber);
last FINDNUMBER;
}
}

return($ProfileNumber);
} #end GetUserNumber
</font> </pre> </td> </tr> </table> </center> </div> </BLOCKQUOTE>


وتغيره إلى هذا الكود

<BLOCKQUOTE> <font> كود: </font> <div align="ltr"> <center> <table border="0" width="80%" dir="ltr" bgcolor=="#000000"> <tr> <td width="100%"> <pre> <font color="#ffffff"> sub GetUserNumber {
my $GetName = shift;
my $GetNameDirty = &UNHTMLIFY($GetName);
my $GetNameClean = quotemeta($GetNameDirty);
my $ProfileNumber = "";
unless ($ProfileNumber = $UserNumberHash{$GetNameClean}) {
if (-e "$MembersPath/memlett") {
my $firstletter = uc substr($GetNameDirty, 0, 1);
if (!($firstletter =~ /[A-Z]/)) { $firstletter = '@'; }
open (MEMBERSLIST, "$MembersPath/memlett/$firstletter.cgi");
} else {
open (MEMBERSLIST, "$MembersPath/memberslist.cgi");
}

my $MatchName = "";
FINDNUMBER: while (&lt;MEMBERSLIST&gt; ) {
chomp($_);
($MatchName, $ProNum) = split(/\|\!\!\|/, $_, 2);
$UserNumberHash{$MatchName} = $ProNum;
if ($_ =~ m/^$GetNameClean\|\!\!\|/) {
$ProfileNumber = $ProNum;
last FINDNUMBER;
}
}
close (MEMBERSLIST);
}

chomp($ProfileNumber);
return($ProfileNumber);

} #end GetUserNumber

</font> </pre> </td> </tr> </table> </center> </div> </BLOCKQUOTE>


ويجب قبل تركيب هذا عمل نسخه من ملف ubb_library.pl وذلك لأسباب السلامه يغني backup

ويجب كذلك على من يقوم بتركيب هذه الإضافه أن يكون قد قام بتركيب memberlist.cgi

lettercreate.pl

ولا أنصح من ليس لديهم هذه الملفات بعمل هذا التغير لأنه قد يسبب لهم بعض المشاكل

وفؤائد هذه الإضافه تراها عند الدخول للصفحه وعند محاولة النشر posting

وعند عمل تجديدupdate thread للصفحه بحيث انه يزيد السرعه لأضعاف ما هي عليه

واعيد واكرر يجب عمل backup للملف المذكور

والله يوفقكم

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



[b]<small><small>[ تم تعديل الموضوع بواسطة &nbsp; دبي1 &nbsp; يوم &nbsp; 04-08-2000]