نسيت أن أوضّح العملية من خلال فهمي لما جرى من تعديلات ..
على الأغلب أن السكربت يقوم بالتحقق من وجود دالة scandir ، فإن كانت غير موجودة يتم تعريفها من جديد بنفس الاسم .. وفي مواقع أخرى من السكربت يتم استدعاء هذه الدالة ..
بما أن هذه الدالة معطّلة ، تم تعديل اسم الدالة الجديدة ، بحيث يتم دائماً استدعاء الدالة الجديدة وبالاسم الجديد .. لأنها إن كانت معطلة لا يمكن تعريف دالة جديدة باسم القديمة ، لأنها موجودة ولكن معطلة ..
أتمنى أن تكون الفكرة قد وصلت ..
أطيب التحيات، أشرف السمهوري
اكيد .. وهذا ما فهمته من الكود .. فالكود فقط للاستبدال لمستخدمي الاسكربت
ولقد بحثت عن الكود الاصلي واليكم الكود للفائدة:
كود PHP:
function CPGscandir($dir, &$expic_array)
{
// ## $dir = str_replace(".","" ,$dir);
static $dir_id = 0;
static $count = 0;
static $pic_id = 0;
$pic_array = array();
$dir_array = array();
getfoldercontent($dir, $dir_array, $pic_array, $expic_array);
if (count($pic_array) > 0) {
$dir_id_str = sprintf("d%04d", $dir_id++);
echo dirheader($dir, $dir_id_str);
foreach ($pic_array as $picture) {
$count++;
$pic_id_str = sprintf("i%04d", $pic_id++);
echo picrow($dir . $picture, $pic_id_str, $dir_id_str);
}
}
if (count($dir_array) > 0) {
foreach ($dir_array as $directory) {
CPGscandir($dir . $directory . '/', $expic_array);
}
}
return $count;
}
طبعا اذا حللت الكود ستجده يعتمد على function اخرى وهي التي تؤدي الوظيفة الرئيسية وهي getfoldercontent
كود PHP:
function getfoldercontent($folder, &$dir_array, &$pic_array, &$expic_array)
{
global $CONFIG;
$dir = opendir($CONFIG['fullpath'] . $folder);
if ($CONFIG['thumb_method'][0] == 'g') {
$img_to_find = 'png|jpg|jpeg|gif';
} else {
//$CONFIG['allowed_file_extensions'] == GIF/PNG/JPG/JPEG/TIF/TIFF
$img_to_find = str_replace('/', '|', strtolower($CONFIG['allowed_file_extensions']));
}
while ($file = readdir($dir)) {
if (is_dir($CONFIG['fullpath'] . $folder . $file)) {
if ($file != '.' && $file != '..') {
$dir_array[] = $file;
}
} elseif (is_file($CONFIG['fullpath'] . $folder . $file) && preg_match('#\.('.$img_to_find.')$#i', $file)) {
if (strncmp($file, $CONFIG['thumb_pfx'], strlen($CONFIG['thumb_pfx'])) != 0 && strncmp($file, $CONFIG['normal_pfx'], strlen($CONFIG['normal_pfx'])) != 0 && $file != 'index.html') {
$pic_array[] = $file;
}
}
}
closedir($dir);
natcasesort($dir_array);
natcasesort($pic_array);
}
طبعاً هناك متغيرات ومسارات معرفة مسبقاً في ال config و مفعلة ك global في نفس الفنكشن لتؤدي وظائفها في الاسكربت