نصوص ASP للوحة المناقشة كما هي مستخدمة في The Code Project. هذا مشروع مفتوح المصدر لمجتمع Code Project.
هذا هو أول "المشاريع" التي ألهمت المفهوم الأصلي لمشروع الكود. لقد قدمنا هذه البرامج النصية لمساعدة المطورين، ونأمل أن يساعدنا المطورون مثلك في المقابل عن طريق الاختبار وإرسال تقارير الأخطاء واقتراح التحسينات وإرسال الملحقات.
نحن ندعوك لاستخدام هذه البرامج النصية في مواقعك الخاصة، ولكننا نطلب منك الاحتفاظ بالشعار "مدعوم بواسطة CodeProject" في الزاوية العلوية اليسرى. كما نطلب منك مسبقًا الصبر والتفهم. لا شك أن هذه البرامج النصية ستتغير كثيرًا ، لذا نقترح عليك التحقق مرة أخرى بانتظام للاطلاع على آخر التطورات، أو الاشتراك في النشرة الإخبارية لتلقي إشعارات التحديثات.
اعتبارًا من 5 يوليو 2000، نقوم بتوفير التعليمات البرمجية المصدر لعنصر تحكم ActiveX الذي يتولى العمل الرئيسي لتنظيم الرسائل بشكل منظم. كنا نود أن نعلق على الكود بشدة، وأن نقدم خطوة بخطوة حول كيفية عمل الكود، ولكن ببساطة لم يكن لدينا الوقت، وقررنا أن النشر كما هو أفضل من عدم النشر على الإطلاق. إذا وجدت أخطاء أو قمت بإجراء تحسينات، يرجى إرسالها.
حذر
يستخدم إصدار ActiveX من التعليمات البرمجية عنصر تحكم ActiveX الذي تم استخدامه لتحقيق هذا الترتيب عن طريق تحميل كافة الرسائل في المنتدى ثم ترتيبها بشكل صحيح. من الواضح أن هذا يؤدي إلى ضعف الأداء بمجرد أن يبدأ المنتدى في النمو. إصدار ASP النقي تتضمن الإصدارات اللاحقة حقل "ترتيب الترتيب" لكل رسالة، مما يعني أنه يتم فرز الرسائل في وقت استعلام قاعدة البيانات، ويمكن تضمين الترحيل/التصفية لتقليل أحجام مجموعة السجلات وتحميلها بشكل كبير. لا يوصى باستخدام إصدار ActiveX من هذا الرمز .
26 أغسطس 2001 - قدم فيليب أندرو نسخة PHP للمنتديات.
تمت كتابة لوحة المناقشة المستخدمة في CodeProject بواسطة Uwe Keim، وتشتمل على عنصر تحكم ActiveX (مكتوب باستخدام Visual C++) ومجموعة من البرامج النصية لـ ASP. يوفر عنصر التحكم ActiveX وصولاً منخفض المستوى إلى قاعدة بيانات رسائل المنتدى ويوفر وظائف لتسهيل الطريقة التي يتم بها تمرير المعلمات من صفحة إلى أخرى. يتم إصدار عنصر تحكم ActiveX في شكل DLL فقط في الوقت الحاضر، ويرجع ذلك جزئيًا إلى أننا لم ننتهي من كتابته بعد، وجزئيًا لأننا بالكاد بدأنا في توثيقه :)
جديد : تمت كتابة إصدار جديد من اللوحات بواسطة Uwe وهي مخصصة لـ ASP فقط، لذلك لا مزيد من العبث بعناصر تحكم ActiveX. لوحات المناقشة هي الحد الأدنى من التنفيذ ولكنها ستمنحك كل ما تحتاجه لإعداد مجموعة من لوحات المناقشة وتشغيلها. إنها متاحة للوصول فقط في الوقت الحالي، ولكن الانتقال إلى SQLServer يعد تمرينًا بسيطًا متروكًا للقارئ. راجع قسم التنزيل أعلى هذه الصفحة للاطلاع على الملفات.
إذن - على النصوص. ستركز جميع المناقشات من الآن فصاعدًا على إصدار ActiveX فقط. الإصدار غير ActiveX مشابه بما فيه الكفاية، على الرغم من اختلاف بنيات الدليل وتداخل الملفات قليلاً.
وتنقسم هذه إلى عدد من الفئات:
هناك أيضا:
من المفترض أنك تقوم بتشغيل خادم NT4 أو أعلى مع IIS4 أو أعلى، أو Win9X مع PWS. يتم تخزين المنتدى في قاعدة بيانات Access ويستخدم Jet Engine للوصول إليه.
حسنًا، لقد حصلت على الملفات وتريد بدء اللعب بدلاً من قراءة بقية هذه المقالة. أنا لا ألومك. إليك ما ستفعله بعد ذلك:
/CodeProject/forum/bin
/CodeProject/common/config.asp
ليناسب موقعك./CodeProject/forum/includes/config.asp
ليناسب لوحات المناقشة الخاصة بك./CodeProject/forum/data/forum.mdb
./CodeProject/common/email.inc
ليناسب ذلك. الآن، ما عليك سوى توجيه متصفحك إلى /CodeProject/forum/index.asp
وستكون بعيدًا
تتكون البرامج النصية من مجموعة من البرامج النصية لواجهة المستخدم الرئيسية (في الدليل الجذر) التي تستخدم البرامج النصية العاملة (في دليل /forum/app
) للقيام بالعمل فعليًا. وهذا بدوره يعيد توجيه المتصفح مرة أخرى إلى البرامج النصية لواجهة المستخدم.
أحشاء النظام موجودة في /forum/includes/forum.inc
. يحتوي هذا الملف على تعريف فئة المنتدى وهو عبارة عن غلاف لعنصر تحكم ActiveX الرئيسي للمنتدى. هذه الفئة هي نقطة الاتصال الرئيسية التي تحتوي على كافة الوظائف المتعلقة بالمنتدى. لا يمكنك مطلقًا التواصل مع عنصر تحكم ActiveX في المنتدى بشكل مباشر، ولكن دائمًا بشكل غير مباشر عبر هذه الفئة.
لا تحتوي الفئة على الأساليب التي تؤدي العمل فحسب، بل تحتوي أيضًا على وظائف لإرجاع عناوين URL إلى البرامج النصية للتطبيقات المختلفة. من خلال القيام بذلك، نحن قادرون على تعيين أسماء البرامج النصية المختلفة في الملف /forum/includes/config.asp
مما يجعل تغيير بنية الدليل أمرًا بسيطًا للغاية.
تحتوي كل رسالة على كلمة مرور يحددها مؤلف تلك الرسالة والتي تسمح للمؤلف بتعديل الرسالة أو حذفها. وكذلك يمكنك تعديل أو حذف الرسائل باستخدام كلمة المرور العامة. تم تعريف ذلك في /forum/includes/config.asp
ويتم استخدامه ببساطة عن طريق إلحاق " &ad=
" بنهاية عنوان URL الذي تعرضه حاليًا.
على سبيل المثال، إذا كنت تعرض فهرس المنتدى بالمعرف 1، وكان عنوان URL الخاص بك هو http://www.myserver.com/codeproject/forum/index.asp?forumid=1
، فانتقل إلى وضع المسؤول، فما عليك سوى تعديل عنوان URL إلى:
http: // www.myserver.com/codeproject/forum/index.asp?forumid=1&ad=12345
حيث "12345" هي كلمة المرور (المحددة في /forum/includes/config.asp
كـ ADMIN_PW
. يمنحك هذا بعد ذلك خيارات لإدارة المنتدى (قم بتعيين اسم المنتدى ووصفه، بالإضافة إلى عنوان البريد الإلكتروني الذي سيتم إرساله عبر البريد الإلكتروني عند ظهور رسائل جديدة أو يتم نشر رسائل الرد).
لإضافة المنتديات نفسها أو حذفها، يتعين عليك تعديل قاعدة البيانات فعليًا. وهذا مجرد واحد من تلك الأشياء التي لم نفعلها بعد.
في وضع المسؤول، يمكنك أيضًا الحصول على خيار تعديل الرسائل أو حذفها. وأيضًا، بمجرد دخولك إلى وضع المسؤول، ستظل في وضع المسؤول أثناء تنقلك عبر البرامج النصية للمنتدى. ما عليك سوى إزالة " &ad=
" للخروج من وضع المسؤول.
يحتوي الإصدار الأخير من البرامج النصية على واجهة مستخدم محسنة، بالإضافة إلى بعض التغييرات الداخلية المصممة لإصلاح بعض المشكلات في الإصدار الأول. في قشرة الجوز:
أكثر مما ينبغي. هذا مجرد رسم تخطيطي للمنتديات ولا يصف حتى ما يفعله كل ملف، ولا كيف نخطط لتوسيع البرامج النصية. سنعمل باستمرار على تحسين هذه البرامج النصية وسيتم تضمين جميع الامتدادات والتعديلات التي تم إجراؤها على منتديات CodeProject الرئيسية في هذه الملفات القابلة للتنزيل.
النظر في هذا العمل في التقدم!