menu_bgservdownloadthemesdirforumhome
Smf عربى



المحرر موضوع: ربط Kleeja مع smf  (زيارة 17603 مرات)

0 الأعضاء و 1 ضيف يشاهدون هذا الموضوع.

غير متصل BaghdadGhost

  • فريق الترجمة
  • *
  • مشاركة: 27
  • الشعبية: +0/-0
  • الجنس: ذكر
    • مشاهدة الملف الشخصي
ربط Kleeja مع smf
« في: 02 , مارس, 2012 - 12:19:04 مسائاً »
السادة الكرام السلام عليكم


ارغب بربط سكربت تحميل الملفات 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_path0strlen($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) ? 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_path0strlen($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

  • فريق الإدارة
  • *
  • مشاركة: 952
  • الشعبية: +23/-0
  • الجنس: ذكر
  • أهلا بك فى موقع smf عربى
    • مشاهدة الملف الشخصي
رد: ربط Kleeja مع smf
« رد #1 في: 03 , مارس, 2012 - 09:51:09 صباحاً »
وعيكم السلام اخى

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

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



غير متصل BaghdadGhost

  • فريق الترجمة
  • *
  • مشاركة: 27
  • الشعبية: +0/-0
  • الجنس: ذكر
    • مشاهدة الملف الشخصي
رد: ربط Kleeja مع smf
« رد #2 في: 03 , مارس, 2012 - 07:07:44 مسائاً »
اخي اسلام

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

قمت بالتالي

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

  • فريق الإدارة
  • *
  • مشاركة: 952
  • الشعبية: +23/-0
  • الجنس: ذكر
  • أهلا بك فى موقع smf عربى
    • مشاهدة الملف الشخصي
رد: ربط Kleeja مع smf
« رد #3 في: 03 , مارس, 2012 - 07:29:26 مسائاً »
اخى الكريم
لاحظ ان الاخ safad كان يجرب على النسخة 1 من smf ونسخة kleeja قديمة ايضا
اعتقد ان الكود يحتاج الى التحديث بالمتغيرات الجديدة ثم يعود للعمل ان شاء الله

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



غير متصل BaghdadGhost

  • فريق الترجمة
  • *
  • مشاركة: 27
  • الشعبية: +0/-0
  • الجنس: ذكر
    • مشاهدة الملف الشخصي
رد: ربط Kleeja مع smf
« رد #4 في: 03 , مارس, 2012 - 11:52:37 مسائاً »
اخي العزيز اسلام


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

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

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

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

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

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


غير متصل islam2hamy

  • فريق الإدارة
  • *
  • مشاركة: 952
  • الشعبية: +23/-0
  • الجنس: ذكر
  • أهلا بك فى موقع smf عربى
    • مشاهدة الملف الشخصي
رد: ربط Kleeja مع smf
« رد #5 في: 04 , مارس, 2012 - 03:10:47 مسائاً »
لا مشكلة , حاول الاتصال به

لقد قمت بعمل محاكاة للملف الخاص بهم , يمكنك تجربته ربما ينجح

شفرة: [اختيار]
<?php
/**
*
* @package auth
* @version $Id: smf.php  SAFAD $

*
*/

//no for directly open
if (!defined('IN_COMMON'))
{
    exit();
}

//
//Path of config file in smf
//
if(!defined('SCRIPT_CONFIG_PATH'))
{
    
define('SCRIPT_CONFIG_PATH''/Settings.php');
}

function 
kleeja_auth_login ($name$pass$hashed false$expire$loginadm false$return_name false)
{
    global 
$lang$config$usrcp$userinfo;
    global 
$script_path$script_encoding$script_srv$script_db$script_user$script_pass$script_prefix;
   
    if(isset(
$script_path))
    {
        
//check for last slash
        
if(isset($script_path[strlen($script_path)]) && $script_path[strlen($script_path)] == '/')
        {
            
$script_path substr($script_path0strlen($script_path));
        }
        
        
//get some useful data from smf config file
        
if(file_exists(PATH .  $script_path SCRIPT_CONFIG_PATH))
        {
            require_once (
PATH .  $script_path SCRIPT_CONFIG_PATH);

            
//
            //get config from config file
            //
            
$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
   {
        
//
        //custom config data
        //
      
$forum_srv   $script_srv;
      
$forum_db   $script_db;
      
$forum_user   $script_user;
      
$forum_pass   $script_pass;
      
$forum_prefix $script_prefix;
      
        
//some people change their db charset 
        
if(isset($script_db_charset))
        {
            
$forum_db_charset $script_db_charset;
        }
   }
   
   if(empty(
$forum_srv) || empty($forum_user) || empty($forum_db))
   {
      return;
   }
   
   
mysql_connect($forum_srv$forum_user$forum_pass$forum_db);
   unset(
$forum_pass);
   
   
//securing name
   
   
$secnam=mysql_real_escape_string($name);
   
$shapw=sha1(strtolower($secnam) . $pass) ;
   
$query"SELECT * FROM smf_members WHERE member_name='$secnam' AND passwd='$shapw' ";
   echo 
"$query";   

   
$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) ? 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)
{
    return 
kleeja_auth_login ($user_idfalsefalse0falsetrue);


?>



غير متصل BaghdadGhost

  • فريق الترجمة
  • *
  • مشاركة: 27
  • الشعبية: +0/-0
  • الجنس: ذكر
    • مشاهدة الملف الشخصي
رد: ربط Kleeja مع smf
« رد #6 في: 04 , مارس, 2012 - 03:48:44 مسائاً »
الاخ اسلام

شكرا جزيلا للمحاولة

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

حاولت تسجيل الدخول ولك يفلح الامر


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


في انتظار ما تقترحه

غير متصل islam2hamy

  • فريق الإدارة
  • *
  • مشاركة: 952
  • الشعبية: +23/-0
  • الجنس: ذكر
  • أهلا بك فى موقع smf عربى
    • مشاهدة الملف الشخصي
رد: ربط Kleeja مع smf
« رد #7 في: 08 , مارس, 2012 - 09:50:28 صباحاً »
اسف اخى انشغلت ونسيت موضوعك
ان شاء الله بحاول مرة اخرى معه يوم السبت او غدا -الجمعة -

وللاسف اخى انا لا اعرف الاخ محمد عزت



غير متصل BaghdadGhost

  • فريق الترجمة
  • *
  • مشاركة: 27
  • الشعبية: +0/-0
  • الجنس: ذكر
    • مشاهدة الملف الشخصي
رد: ربط Kleeja مع smf
« رد #8 في: 08 , مارس, 2012 - 09:53:30 صباحاً »
شكرا جزيلا و بارك الله فيك. ساكون في الانتظار


بالنسبة للاخ محمد عزت هو احد الاعضاء في sm.org و قد وضع استفسار مؤخرا حول مود في قسم اللغة العربية. اعتقد بانك قمت بمساعدته مسبقا في اكثر من مناسبة ولذلك اقترحت ان تخاطبه لمساعدتنا هذه المره في ما يخص هذا الموضوع.

هذا ولكم الامر


شكرا مرة اخرى

غير متصل BaghdadGhost

  • فريق الترجمة
  • *
  • مشاركة: 27
  • الشعبية: +0/-0
  • الجنس: ذكر
    • مشاهدة الملف الشخصي
رد: ربط Kleeja مع smf
« رد #9 في: 13 , مارس, 2012 - 09:01:39 مسائاً »
الاخ اسلام السلام عليكم


حبيت فقط اعطيك المستجدات بهذا الموضوع

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

لذلك انا اعتمادي بالدرجة الاولى على الله ثم على جهودك و جهود الاخ صفد الطيبة


تحياتي

غير متصل islam2hamy

  • فريق الإدارة
  • *
  • مشاركة: 952
  • الشعبية: +23/-0
  • الجنس: ذكر
  • أهلا بك فى موقع smf عربى
    • مشاهدة الملف الشخصي
رد: ربط Kleeja مع smf
« رد #10 في: 13 , مارس, 2012 - 09:32:54 مسائاً »
ان شاء الله تتم عملية الربط فى اقرب وقت



غير متصل SAFAD

  • الدعم الفنى
  • *
  • مشاركة: 392
  • الشعبية: +11/-1
  • الجنس: ذكر
  • دمتم في حفظ الرحمن
    • مشاهدة الملف الشخصي
    • أكاديمية صفد سوفت
رد: ربط Kleeja مع smf
« رد #11 في: 16 , مارس, 2012 - 02:52:44 مسائاً »
شفرة: [اختيار]

<?php
/**
*
* @package auth
* @version $Id: smf.php 1 2012-03-16 12:30:04 Z SAFAD $
* @copyright (c) 2012 smfarabic.com
* @license ./docs/license.txt
*
*/


//no for directly open
if (!defined('IN_COMMON'))
{
   exit();
}
 
//
//Path of config file in SMF
//
if(!defined('SCRIPT_CONFIG_PATH'))
{
   
define('SCRIPT_CONFIG_PATH''/Settings.php');
}

function 
kleeja_auth_login ($name$pass$hashed false$expire$loginadm false$return_name false)
{
   global 
$lang$config$usrcp$userinfo;
   global 
$script_path$script_encoding$script_srv$script_db$script_user$script_pass$script_prefix;
            
   
//check for last slash / 
   
if(isset($script_path))
   {
      if(isset(
$script_path[strlen($script_path)]) && $script_path[strlen($script_path)] == '/')
      {
         
$script_path substr($script_path0strlen($script_path));
      }

      
//get some useful data from phbb config file
      
if(file_exists(PATH $script_path SCRIPT_CONFIG_PATH))
      {
         include (
PATH $script_path SCRIPT_CONFIG_PATH);

         
$forum_srv   $db_server;
         
$forum_db   $db_name;
         
$forum_user   $db_user;
         
$forum_pass   $db_passwd;
         
$forum_prefix $db_prefix;

         if(empty(
$dbhost))
         {
            
$forum_srv 'localhost';
         }

         if(!empty(
$dbport))
         {
            
$forum_srv .= ':' $dbport;
         }
      }
      else
      {
         
big_error('Forum path is not correct'sprintf($lang['SCRIPT_AUTH_PATH_WRONG'], 'SMF'));
      }
      
      
   }
   else 
   {
      
$forum_srv   $script_srv;
      
$forum_db   $script_db;
      
$forum_user   $script_user;
      
$forum_pass   $script_pass;
      
$forum_prefix $script_prefix;
   }

   
//if no variables of db
   
if(empty($forum_srv) || empty($forum_user) || empty($forum_db))
   {
      return;
   }

   
//conecting ...      
   
$SQLBB   = new SSQL($forum_srv$forum_user$forum_pass$forum_dbtrue);

   
$SQLBB->set_names('utf8');

   unset(
$forum_pass); // We do not need this any longer

   
$row_leve 'user_type';
   
$admin_level 1;               
   
$query2 = array(
               
'SELECT'   => '*',
               
'FROM'      => "`{$forum_prefix}members`",
            );
   
   
$query2['WHERE'] = $hashed ?  "id_member=" intval($name) . "  AND passwd='" sha1(strtolower($name) . $pass)  . "' " "member_name='" .  $SQLBB->real_escape($name) . "'";
      
   if(
$return_name)
   {
      
$query2['SELECT'] = "member_name";
      
$query2['WHERE'] = "id_member=" intval($name);
   }
      
   
$query '';
   
   if(!
$hashed)
   {
      
$result2 $SQLBB->build($query2);               
      while(
$row=$SQLBB->fetch_array($result2))
      {
         
$SQLBB->freeresult($result2); 

         if(
$return_name)
         {
            return 
$row['member_name'];
         }
         else
         {
            if(
sha1(strtolower($name) . $pass))
            {
               
$query $query2;
            }
         }
      }
   }
   else
   {
      
$query $query2;
   }
   if(empty(
$query))
   {
      
$SQLBB->close();
      return 
false;
   }
   
   (
$hook kleeja_run_hook('qr_select_usrdata_smf_usr_class')) ? eval($hook) : null//run hook      
   
$result $SQLBB->build($query);

   
//check if not banned
   
if ($SQLBB->num_rows($result) != 0
   {
      while(
$row=$SQLBB->fetch_array($result))
      {
         if(
$SQLBB->num_rows($SQLBB->query("SELECT * FROM `{$forum_prefix}ban_items` WHERE id_member=" intval($row['id_member']))) == 0)
         {
            if(!
$loginadm)
            {
               
define('USER_ID'$row['id_member']);
               
define('USER_NAME'$row['member_name']);
               
define('USER_MAIL',$row['email_address']);
               
define('USER_ADMIN',($row['id_group'] == $admin_level) ? 0);
            }

            
$userinfo $row;
            
$user_y kleeja_base64_encode(serialize(array('id'=>$row['id_member'], 'name'=>$row['member_name'], 'mail'=>$row['email_address'], 'last_visit'=>time())));

            if(!
$hashed && !$loginadm)
            {
               
$usrcp->kleeja_set_cookie('ulogu'$usrcp->en_de_crypt($row['id_member'] . '|' $row['passwd'] . '|' $expire '|' sha1(md5($config['h_key'] . $row['passwd']) .  $expire) . '|' . (defined('USER_ADMIN') ? '1''0') . '|' $user_y), $expire);
            }

            (
$hook kleeja_run_hook('qr_while_usrdata_smf_usr_class')) ? eval($hook) : null//run hook
         
}
         else
         {
            
//he is banned from phpBB
            
$SQLBB->freeresult($result);   
            unset(
$pass);
            
$SQLBB->close();
            return 
false;
         }

      }

      
$SQLBB->freeresult($result);   
      unset(
$pass);
      
$SQLBB->close();
      return 
true;

   }
   else
   {
      
$SQLBB->freeresult($result);
      
$SQLBB->close();
      return 
false;
   }
   
   
//dont know why they come here !
   
return false;
}

function 
kleeja_auth_username ($user_id)
{
   return 
kleeja_auth_login ($user_idfalsefalse0falsetrue);
}
doesn't work properly but it is for a start
this auth integration system is the worst i've ever used in my entire life


EDIT :
 here is another code  but the results are the same :


شفرة: [اختيار]

<?php
/**
*
* @package auth
* @version $Id: smf.php 1 2012-03-16 12:30:04 Z SAFAD $
* @copyright (c) 2012 smfarabic.com
* @license ./docs/license.txt
*
*/




//no for directly open
if (!defined('IN_COMMON'))
{
exit();
}
 
//
//Path of config file in SMF
//
if(!defined('SCRIPT_CONFIG_PATH'))
{
define('SCRIPT_CONFIG_PATH''/Settings.php');
}




function 
kleeja_auth_login ($name$pass$hashed false$expire$loginadm false$return_name false)
{
global $lang$config$usrcp$userinfo;
global $script_path$script_encoding$script_srv$script_db$script_user$script_pass$script_prefix;


if(isset($script_path))
{
//check for last slash / 
if(isset($script_path[strlen($script_path)]) && $script_path[strlen($script_path)] == '/')
{
$script_path substr($script_path0strlen($script_path));
}


//get database data from mysmartbb config file
if(file_exists(PATH $script_path SCRIPT_CONFIG_PATH)) 
{
require_once (PATH $script_path SCRIPT_CONFIG_PATH);
$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'], 'SMF'));
}
}
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;
}


$SQLMS = new SSQL($forum_srv$forum_user$forum_pass$forum_dbtrue);


$SQLMS->set_names('utf8');

$pass $usrcp->kleeja_utf8($passfalse);
$name $usrcp->kleeja_utf8($namefalse);


$query = array(
'SELECT' => '*',
'FROM' => "`{$forum_prefix}members`",
);

$query['WHERE'] = $hashed ?  "id_member=" intval($name) . " AND passwd='" sha1(strtolower($name) . $pass) . "'" "member_name='" $SQLMS->real_escape($name) . "' AND passwd='" sha1(strtolower($name) . $pass) . "'";

//if return only name let's ignore the obove
if($return_name)
{
$query_salt['SELECT'] "member_name";
$query_salt['WHERE'] "id_member=" intval($name);
}

($hook kleeja_run_hook('qr_select_usrdata_smf_usr_class')) ? eval($hook) : null//run hook
$result $SQLMS->build($query);




if ($SQLMS->num_rows($result) != 0
{
while($row=$SQLMS->fetch_array($result))
{
if($return_name)
{
return $row['member_name'];
}

if(!$loginadm)
{
define('USER_ID',$row['id_member']);
define('USER_NAME'$usrcp->kleeja_utf8($row['member_name']));
define('USER_MAIL',$row['email_address']);
define('USER_ADMIN',($row['id_group'] == 1) ? 0);
}


$userinfo $row;
$user_y kleeja_base64_encode(serialize(array('id'=>$row['id_member'], 'name'=>$usrcp->kleeja_utf8($row['membe_rname']), 'mail'=>$row['email_address'], 'last_visit'=>time())));


if(!$hashed)
{
$hash_key_expire sha1(md5($config['h_key'] . $row['passwd']) .  $expire);


if(!$loginadm)
{
$usrcp->kleeja_set_cookie('ulogu'$usrcp->en_de_crypt($row['id_member'] . '|' $row['passwd'] . '|' $expire '|' $hash_key_expire '|' $row['id_group'] . '|' $user_y), $expire);
}
}


($hook kleeja_run_hook('qr_while_usrdata_smfc_usr_class')) ? eval($hook) : null//run hook

}


$SQLMS->freeresult($result);   
unset($pass);
$SQLMS->close();


return true;
}
else
{
$SQLMS->close();
return false;
}
}



function 
kleeja_auth_username ($user_id)
{
return kleeja_auth_login ($user_idfalsefalse0falsetrue);
}
kleeja authentication system is bugged, you should report it
and to prove that it is bugged and not my lame coding, try linking it with mysmartbb
it will output a php error claiming that set_names function doesn't exist (class not initiated properly)
nothing for us to do here, you better check with saanina or tareq or someone in the kleeja dev team
take care
« آخر تحرير: 16 , مارس, 2012 - 04:45:52 مسائاً بواسطة SAFAD »
دمتم في حفظ الرحمن
Sadaoui "SAFAD" Abderrahim - Lead Developer @ Electron inc

غير متصل BaghdadGhost

  • فريق الترجمة
  • *
  • مشاركة: 27
  • الشعبية: +0/-0
  • الجنس: ذكر
    • مشاهدة الملف الشخصي
رد: ربط Kleeja مع smf
« رد #12 في: 19 , مارس, 2012 - 12:51:20 صباحاً »
الاخوة اسلام و صفد السلام عليكم

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