منتديات الدعم > طلبات تصميم "مودات/ إضافات" جديدة

ربط Kleeja مع smf

(1/3) > >>

BaghdadGhost:
السادة الكرام السلام عليكم


ارغب بربط سكربت تحميل الملفات kleeja مع smf.

قمت بالبحث الكثير لكني لم اجد ما يمكنني القيام بذلك, لكن وجدت التالي

قام الاخ SAFAD مشكورا بكتابة الكود التالي للربط و يبدوا انه قام بتجربته على منتداه انذاك وقد نجحت عملية الربط.

--- شفرة: ---<?php

if (!defined('IN_COMMON'))
{
   exit('no directly opening : ' . __file__);
}
  

function kleeja_auth_login ($name, $pass)
{
   global $script_path ;
   
   if(isset($script_path)) {
   
   if($script_path[strlen($script_path)] == '/')
   {
      $script_path = substr($script_path, 0, strlen($script_path));
   }

   $script_path = ($script_path[0] == '/' ? '..' : '../') .  $script_path;
   
   
   
   if(file_exists($script_path . '/Settings.php')) 
   {
      require ($script_path . '/Settings.php');
      $forum_srv   = $db_server;
      $forum_db   = $db_name;
      $forum_user   = $db_user;
      $forum_pass   = $db_passwd;
      $forum_prefix = $db_prefix;
   } 
   else
   {
      big_error('Forum path is not correct', sprintf($lang['SCRIPT_AUTH_PATH_WRONG'], 'SimpleMachineForum'));
   }
   }
   else
   {
      $forum_srv   = $script_srv;
      $forum_db   = $script_db;
      $forum_user   = $script_user;
      $forum_pass   = $script_pass;
      $forum_prefix = $script_prefix;
   }
   
   if(empty($forum_srv) || empty($forum_user) || empty($forum_db))
   {
      return;
   }
   
   mysql_connect("$forum_srv", "$forum_user", "$forum_pass")or die("áÇ íãßä ÇáÅÊÕÇá ÈÇáÎÇÏã");
mysql_select_db("$forum_db")or die("áÇ íãßä ÊÍÏíÏ ÞÇÚÏÉ ÇáÈíÇäÇÊ");

   unset($forum_pass); 
   
   //securing name
   
   $secnam=mysql_real_escape_string($name);
   $shapw=sha1(strtolower($secnam) . $pass) ;
   $query= "SELECT * FROM {$forum_prefix}members WHERE member_name='$secnam' AND passwd='$shapw' ";


   $result = @mysql_query($query);
   

   if (mysql_num_rows($result) != 0) 
   {
   
      while($row=mysql_fetch_array($result))
      {
         $_SESSION['USER_ID']   = $row['id_member'];
         $_SESSION['USER_NAME']   = $row['member_name'] ;
         $_SESSION['USER_MAIL']   = $row['email_address'];
         $_SESSION['USER_ADMIN']   = ($row['id_group'] == 1) ? 1 : 0;
         $_SESSION['USER_SESS']   = session_id();
         
      }
      
      mysql_free_result($result);   
      unset($pass);
      mysql_close();
      
      
      return true;
   }
   else
   {
      mysql_close();
      return false;
   }
}   

function kleeja_auth_username ($user_id)
{

   global $script_path ;
   
   if(isset($script_path)) {
   
   if($script_path[strlen($script_path)] == '/')
   {
      $script_path = substr($script_path, 0, strlen($script_path));
   }

   $script_path = ($script_path[0] == '/' ? '..' : '../') .  $script_path;
   
   
   
   if(file_exists($script_path . '/Settings.php')) 
   {
      require ($script_path . '/Settings.php');
      $forum_srv   = $db_server;
      $forum_db   = $db_name;
      $forum_user   = $db_user;
      $forum_pass   = $db_passwd;
      $forum_prefix = $db_prefix;
   } 
   else
   {
      big_error('Forum path is not correct', sprintf($lang['SCRIPT_AUTH_PATH_WRONG'], 'SimpleMachineForum'));
   }
   }
   else
   {
      $forum_srv   = $script_srv;
      $forum_db   = $script_db;
      $forum_user   = $script_user;
      $forum_pass   = $script_pass;
      $forum_prefix = $script_prefix;
   }
   
   if(empty($forum_srv) || empty($forum_user) || empty($forum_db))
   {
      return;
   }
   
   mysql_connect("$forum_srv", "$forum_user", "$forum_pass")or die("áÇ íãßä ÇáÅÊÕÇá ÈÇáÎÇÏã");
mysql_select_db("$forum_db")or die("áÇ íãßä ÊÍÏíÏ ÞÇÚÏÉ ÇáÈíÇäÇÊ");
   unset($forum_pass); 
   
   //securing name
   
$valnin=intval($user_id);
   $query= "SELECT member_name FROM {$forum_prefix}members WHERE id_member='$valnin'" ;
         

   $result = mysql_query($query);
   

   if (mysql_num_rows($result) != 0) 
   {
   
      while($row=mysql_fetch_array($result))
      {
         $returnname = $row['username'];
         
      }
      
      mysql_free_result($result);   
      unset($pass);
      
      
      
      return true;
   }
   else
   {
      $SQLSM->close();
      return false;
   }
}
         
   

?>
--- نهاية الكود ---

في المشاركة التاليه

http://www.moffed.com/community/viewtopic.php?f=37&t=3656&p=26080#p26604

لكن حقيقة لا اعلم ما الذي افعله بالكود اعلاه بعد تنصيب kleeja في مجلد smf ؟؟ وكيف يتم ربط تسجيل الاعضاء في المنتدى مع قاعدة بيانات كليجا بحيث لا يحتاج العضو في المنتدى بالتسجيل من جديد في كليجا؟

علما اني استخدم smf 2.0.2

و كليجا 1.7

رجائي من الاخ اسلام ان يجيبني او باعتبار لديه طريقة للاتصال بالاخ صفد ان تتصل به ليوضح اكثر ما الذي يتوجب عليه فعله بالكود اعلاه بعد تنصيب كليجا بنجاح في مجلد smf


شكرا جزيلا مقدما

دمتم في حفظ الرحمن

islam2hamy:
وعيكم السلام اخى

بعد تثبيت kleeja فى مجلد smf
قم بحفظ الكود الذى قام بوضعه الاخ safad فى ملف php بإسم smf
وضعه داخل المسار التالى "\includes\auth_integration"

ثم ابحث عن خيار التوافق هذا بلوحة تحكم المدير

BaghdadGhost:
اخي اسلام

الشكر الجزيل للرد على الاستفسار

قمت بالتالي

1. بعد التنصيب الصحيح للمركز, قمت بعمل ملف smf.php من الكود اعلاه للاخ صفد و وضعته في المجلد includes/auth_integration

2. من ثم الذهاب الى لوحة التحكم و اختيار smf من قائمة طريقة نظام العضوية.

3. بمجرد الضغط على حديث الاعدادات يقوم المركز باضهار رسالة خطا (شاهد الصورة المرفقة) و بعد ثانيتان يعمل تسجيل خروج لي.

4. حاولت الدخول بحسابي الادمن للمركز لا يمكن و يعطي العبارة التالية خطأ.. لا يمكن الدخول !. حاولت بعضوية الادارة للمنتدى ايضا نفس الخطا. حاولت الدخول للمركز بعضوية اعتيادية من المنتدى وايضا نفس الخطا.

5. قمت باستخدام ملف fix.php الماخوذ من موقع كليجا و اتباع خطواتهم لافراغ ملفات الكوكيز ولكن ايضا لم ينجح تسجيل الدخول بعد افراغ الكوكيز.

6. فكرت بان الخلل ممكن يكون بسبب اني اقوم بالتجربة على منتدى تجريبي في اللابتوب, لذلك قمت بتركيب منتدى على سرفر مجاني و القيام بنفس الخطوات اعلاه و نفس الخلل يظهر لي!!

الان انا في حيرة من امري. بالاخص بعد ان قرات تعليمات لك و للاخ صفد في موضوع آخر هنا في المنتدى يشرح الطريقة و قد اتبعتها بالحرف.

هل يمكن السبب هو ان كود الاخ صفد صمم لنسخة kleeja غير النسخة الحالية والتي انا قمت بانزالها من الموقع الرسمي لهم؟

هل احد الخطوات التي اقوم بها خطا؟

هل توجد خطوة انا غافل عنها كان تكون مثلا التعديل على ملف config.php او غير ذلك؟

اعلم بانكم لن تتوانوا في تقديم المساعدة فشكر جزيلا لكم

ملاحظة: من خلال البحث وجدت بان الاخ  mohamed ezzat في قسم اللغة العربية لل sm.org صاحب منتديات بردين http://www.bordain.com/forums/index.php ايضا قام مسبقا بربط كليجا الواضح في الرابط http://www.bordain.com/up/  . قمت بارسالة رسالة شخصية له ولكنه لم يزر sm.org بعد ارسالي الرسالة. حاولت التسجيل في منتداه اليوم لطلب العون لكنه التسجيل لديهم مقرون بموافقة المشرف. انا اعلم باني اثقل عليك لكن هل لديك باي شكل من الاشكال معرفة بالاخ محمد ممكن عن طريقة تعرف ما هو الكود الذي يستخدمه حاليا و مع اي نسخة من كليجا.

جزيل الشكر و التقدير


islam2hamy:
اخى الكريم
لاحظ ان الاخ safad كان يجرب على النسخة 1 من smf ونسخة kleeja قديمة ايضا
اعتقد ان الكود يحتاج الى التحديث بالمتغيرات الجديدة ثم يعود للعمل ان شاء الله

لقد قارنت المتغيرات للـ smf قبل ردى الاول ووجدتها سليمة
لكن اعتقد ان الحل هو اعادة المقارنة و تحديث الكود
ان شاء الله احاول القيام بهذا اليوم او غدا بعد العصر

BaghdadGhost:
اخي العزيز اسلام


بعد قرائتي لهذا الموضوع بشكل كامل http://www.smfarabic.com/index.php?topic=603.0

اتضح ان الكود المصمم من قبل الاخ صفد كان مطابق لنسخة كليجا القديمة 1rc6 و لل smf2  وليس smf1

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

الان نحن متاكدين من ان كود الاخ صفد يعمل على smf 2 لكن المشكلة انه لا يعمل مع الاصدار الاخير من كليجا..

لا اعلم ما رايك بالاتصال بالاخ mohamed ezzat و الطلب منه تزويدنا بالكود الذي سيتخدمه حاليا لاني انتبهت الى ان نسخة منتداه الحالية smf 2rc4 و نسخة الكليجا اعتقد آخر نسخة آمنة لاني انتبهت من الثيم و التصميم

بارك الله بيك. والله ما اعرف كيف اخدمكم بالمقابل ولكن ان شاء الله سيكون لي مشاركه فاعله عن قريب ان شاء الله

تصفح

[0] فهرس الرسائل

[#] الصفحة التالية

الذهاب الى النسخة الكاملة