السلام عليكم ورحمه الله تعالى وبركاته وجزاكم الله خيرا لما تقدموه من علم
اردت السؤال عن هاك اقوم الان ببرمجته ولكن الظاهر اخطائت بامور كثير بالنسبه 3.5.4
هذا الهاك هو هاك القرآن الكريم للنسخه 3.5.4 والذي قمت بعمله من قبل على النسخ السابقه
ولكن على ما يبدو بسبب ظروف عملي وقلي الوقت لم استطع اكمال وان شاء الله اكمله بعونه تعالى
المهم فكره الهاك هي عرض صفحات القرآن الكريم وكانك بموقع طريق الاسلام من خلال منتداك
في الاصدار السابق لم اجد الصعوبه بذلك ولكن مع هذا الاصدار اختلف على الامر
نجحت بعمله من حيث ادراجه بالتمبلات الخاصه بالستايل وطلبه من المتصفح من خلال misc.php?=quran مثلا
ولكن وجدت ان على ان اضيف اكثر من 200 تمبلت وهذا سوف يعطى الستايل ثقل كبير فقررت ان اضيف هذه التمبلات الى قاعده
ومن ثم طلبها من هناك فقت بانشاء هذه القاعده البسيطه والتى فيها اصلا كامل التمبلات والتى تتضمن عرض كامل للصفحه بطريقه
اتش تي ام ال :
كود:
CREATE TABLE `qurankareem` (
`id` int(10) unsigned NOT NULL auto_increment,
`name` varchar(50) NOT NULL default '',
`descr` varchar(50) NOT NULL default '',
`content` text NOT NULL,
PRIMARY KEY (`id`)
) TYPE=MyISAM;
طبعا والحقت معها ملف بي اتش بي حتى استطيع ان اظهر ما اريد من تمبلات مثلا ونجحت فعلا من خلال اظهار التمبلات المراده فقط من خلال التمبلت المطلوب فقط في الملف :-
ولكن المشكه تكمن في كيفيه قرائه هذه الملفات من القاعده وعرضها ؟
كود PHP:
/*======================================================================*\
|| #################################################################### ||
|| # quran v6.0.1 # ||
|| # Copyright ©2005- 2006 Barakat. All Rights Reserved. # ||
|| # Credit: Barakat Barakat, Jerusalem Gates # ||
|| #################################################################### ||
\*======================================================================*/
//------------------------------------------------------------------------
// Ported from my 1st hack of Holy Quran to Vbulletin 3.5.4
// By: Barakat Barakat
// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);
// ##################### DEFINE IMPORTANT CONSTANTS #######################
// اسم الملف البي اتش بي بدون .php للتعريف به
define('THIS_SCRIPT', 'quran');
// #################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();
// طلب تمبلات خاصه مخزنه في الذاكره
$specialtemplates = array();
// pre-cache templates used by all actions
$globaltemplates = array(
// التمبلات المطلوبه للتعامل معها
'Quran_main'
);
// pre-cache templates used by specific actions
$actiontemplates = array();
// ########################## REQUIRE BACK-END ############################
require_once('./global.php');
// #################### HARD CODE JAVASCRIPT PATHS ########################
$headinclude = str_replace('clientscript', $vbulletin->options['bburl'] . '/clientscript', $headinclude);
// ########################################################################
// ######################### START MAIN SCRIPT ############################
// ########################################################################
$navbits = array();
// اسم الصفحه كما اردت مثلا
$navbits[$parent] = 'Holy Quran';
$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');
// طبعا هذه اسم التمبلت المراد طلبه من خلال الملف
eval('print_output("' . fetch_template('Quran_main') . '");');
/*======================================================================*\
|| ####################################################################
|| # CVS: $RCSfile: quran.php,v $ - $Revision: 6.0.1 $
|| ####################################################################
\*======================================================================*/
?>
فظهرت لي هذه الصفحه :-
http://www.jerusalemgts.com/gti/quran.php مع الحاق تمبلت باسم Quran_main عن طريق البروكدت product الملحق سلفا والذي سوف اضمنه في المرفقات لاحقا .
طبعا بسبب ان الاوامر والمتغيرات غير متوفره بعد :
قمت بطلب المعلومات من القاعده بهذه الطريقه استبدالها بقسم ## START MAIN SCRIPT ## على طريقه البرمجه الجديده ولكن اعتقد بان هناك شيئا ما ناقص :
ولكن النتيجه اصبحت صفحه بيضاء بدون اي معلومه !!!
كود PHP:
if ($id) {
function getcontent($contentid) {
$contents =$vbulletin->db->query_read("SELECT content FROM " . TABLE_PREFIX . "qurankareem" . "WHERE id=$contentid");
$content = $vbulletin->db->fetch_Array($contents);
$contentid =$content[content];
$html=str_replace("\"","\\\"",$contentid);
return $html;
}
$que =$vbulletin->db->query_read("SELECT * FROM " . TABLE_PREFIX . "qurankareem" . "WHERE id=$id");
$result =$vbulletin->db->query_read($que)
or die ("خطا في الوصول الى الملف المراد طلبه ");
$page = $vbulletin->db->fetch_Array($result);
$navbits = construct_navbits(array('' => $page[name]));
eval('$navbar .= "' . fetch_template('navbar') . '";');
eval("print_output(\"".getcontent("$id")."\");");
}
فكرت بتغير جزري للبرمجه من اول وجديد ولكن قلت بنفسي لعل الامر بسيط وممكن المساعده من اصحاب الخبره امثالكم .
مواقع النشر (المفضلة)