Smf عربى
منتديات الدعم => مودات / إضافات Smf => طلبات تصميم "مودات/ إضافات" جديدة => الموضوع حرر بواسطة: BaghdadGhost في 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_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
شكرا جزيلا مقدما
دمتم في حفظ الرحمن
-
وعيكم السلام اخى
بعد تثبيت kleeja فى مجلد smf
قم بحفظ الكود الذى قام بوضعه الاخ safad فى ملف php بإسم smf
وضعه داخل المسار التالى "\includes\auth_integration"
ثم ابحث عن خيار التوافق هذا بلوحة تحكم المدير
-
اخي اسلام
الشكر الجزيل للرد على الاستفسار
قمت بالتالي
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 بعد ارسالي الرسالة. حاولت التسجيل في منتداه اليوم لطلب العون لكنه التسجيل لديهم مقرون بموافقة المشرف. انا اعلم باني اثقل عليك لكن هل لديك باي شكل من الاشكال معرفة بالاخ محمد ممكن عن طريقة تعرف ما هو الكود الذي يستخدمه حاليا و مع اي نسخة من كليجا.
جزيل الشكر و التقدير
-
اخى الكريم
لاحظ ان الاخ safad كان يجرب على النسخة 1 من smf ونسخة kleeja قديمة ايضا
اعتقد ان الكود يحتاج الى التحديث بالمتغيرات الجديدة ثم يعود للعمل ان شاء الله
لقد قارنت المتغيرات للـ smf قبل ردى الاول ووجدتها سليمة
لكن اعتقد ان الحل هو اعادة المقارنة و تحديث الكود
ان شاء الله احاول القيام بهذا اليوم او غدا بعد العصر
-
اخي العزيز اسلام
بعد قرائتي لهذا الموضوع بشكل كامل http://www.smfarabic.com/index.php?topic=603.0
اتضح ان الكود المصمم من قبل الاخ صفد كان مطابق لنسخة كليجا القديمة 1rc6 و لل smf2 وليس smf1
قمت بتنصيب النسخة القديمة و تركيب الكود عليها و تمت العملية بنجاح للتجربة فقط مع وجود الكثير من المشاكل في النسخة القديمة بالاضافة الى انها غير امنه لذلك تم تحديثها من قبل فريق كليجا.
الان نحن متاكدين من ان كود الاخ صفد يعمل على smf 2 لكن المشكلة انه لا يعمل مع الاصدار الاخير من كليجا..
لا اعلم ما رايك بالاتصال بالاخ mohamed ezzat و الطلب منه تزويدنا بالكود الذي سيتخدمه حاليا لاني انتبهت الى ان نسخة منتداه الحالية smf 2rc4 و نسخة الكليجا اعتقد آخر نسخة آمنة لاني انتبهت من الثيم و التصميم
بارك الله بيك. والله ما اعرف كيف اخدمكم بالمقابل ولكن ان شاء الله سيكون لي مشاركه فاعله عن قريب ان شاء الله
-
لا مشكلة , حاول الاتصال به
لقد قمت بعمل محاكاة للملف الخاص بهم , يمكنك تجربته ربما ينجح
<?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_path, 0, strlen($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) ? 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_id, false, false, 0, false, true);
}
?>
-
الاخ اسلام
شكرا جزيلا للمحاولة
جربت الكود الذي اعطيتني اياه و بعد ان اقوم باختيار نظام العضوية الى smf يقوم باعطائي الخطا المبين في المرفق اعلاه نفسه من ثم تسجيل الخروج لي.
حاولت تسجيل الدخول ولك يفلح الامر
بالنسبة للاخ محمد عزت ارسلت له رسالة على الخاص في sm.org ولكنه لم يجبني عليها.. انا كنت اعتقد بانك تعرفه معرفه شخصية مثلا او تمتلك طريقة افضل مني للاتصال به.
في انتظار ما تقترحه
-
اسف اخى انشغلت ونسيت موضوعك
ان شاء الله بحاول مرة اخرى معه يوم السبت او غدا -الجمعة -
وللاسف اخى انا لا اعرف الاخ محمد عزت
-
شكرا جزيلا و بارك الله فيك. ساكون في الانتظار
بالنسبة للاخ محمد عزت هو احد الاعضاء في sm.org و قد وضع استفسار مؤخرا حول مود في قسم اللغة العربية. اعتقد بانك قمت بمساعدته مسبقا في اكثر من مناسبة ولذلك اقترحت ان تخاطبه لمساعدتنا هذه المره في ما يخص هذا الموضوع.
هذا ولكم الامر
شكرا مرة اخرى
-
الاخ اسلام السلام عليكم
حبيت فقط اعطيك المستجدات بهذا الموضوع
قام الاخ محمد بالرد على رسالتي و اعتذر لانه لا يملك الكود المطلوب للربط لانه اصلا يستخدم كليجا بشكل مستقل و لنفسه فقط..
لذلك انا اعتمادي بالدرجة الاولى على الله ثم على جهودك و جهود الاخ صفد الطيبة
تحياتي
-
ان شاء الله تتم عملية الربط فى اقرب وقت
-
<?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_path, 0, strlen($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_db, true);
$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) ? 1 : 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_id, false, false, 0, false, true);
}
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_path, 0, strlen($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_db, true);
$SQLMS->set_names('utf8');
$pass = $usrcp->kleeja_utf8($pass, false);
$name = $usrcp->kleeja_utf8($name, false);
$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) ? 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_id, false, false, 0, false, true);
}
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
-
الاخوة اسلام و صفد السلام عليكم
شكرا جزيلا لمحاولة تغيير الكود للحصول على المطلوب ولكن بعد محاولة الكودين اعلاه وبمجرد اختيار smf من اعدادات طريقة التسجيل يتم تسجيل خرجي من المركز و تضهر لي العبارة الموضحة في المرفق