Head Leftانجمن جوملا فارسی، مامبو فارسیHead Right
spacer gif
  • 0
  • 1
  • 2
  • 3
  • 4
prev
next

از حداکثر امنیت لذت ببرید

یکی از اصلی ترین دغدغه های برنامه نویسان و گسترش دهندگان متخصص سیستم های جوملا و مامبو، امنیت می باشد. این سیستمها بطور مداوم تست و بررسی می شوند و در صورت وجود حفره های امنیتی بلافاصله بسته ی بروزرسانی برای آنها منتشر می شود.

در کمتر از یک روز مالک سایت شوید

با استفاده از سیستمهای مدیریت محتوای مورد پشتیبانی تیم مامبولرن در کمتر از یک روز - رایگان - مالک یک سایت با تمام امکانات شوید.

با امکانات متنوع، سایت خود را گسترش دهید

با استفاده از دهها افزونه ی رایگان و تجاری جوملا و مامبو به امکانات سایت خود بیافزایید. افزودن این امکانات به سادگی نصب یک نرم افزار روی کامپیوتر شماست. هر آنچه که ممکن است سایت شما نیاز داشته باشد در این افزونه ها یافت می شود، از سیستم های ساده همچون نظر دهی کاربران تا سیستم های پیچیده ای همچون رزرواسیون و پرداخت آنلاین.

مدیر سایت خود باشید

ما وب سایتی را برای شما آماده خواهیم کرد که مدیریت کامل آن را خود شما به دست خواهید گرفت.به کمک پنل مدیریتی سیستم مدیریت محتوا جوملا و یا مامبو شما کنترل وب سایت خود را در دست بگیرید و نیاز خود به طراح وب، برای اعمال تغییرات را از بین ببرید.

راحتی در مدیریت

هر شخصی که توانایی کار با رایانه را دارد می تواند مدیریت یک سایت جوملا و یا مامبویی را توسط سیستم مدیریت محتوا در دست بگیرد. برای مدیریت سایت نیازی به نصب نرم افزار خاصی نیست و تمامی مراحل توسط پنل مدیریتی تحت وب انجام خواهد شد. یک رایانه متصل به شبکه اینترنت برای مدیریت یک سایت جوملایی کافی است بنابراین شما از هر کجا می توانید سایت خود را مدیریت نمایید.

جوملا فارسی

صفحه نخست اخبار مدیریت محتوا جوملا 1.6 ساختار دیتابیس جوملا 1.6

ساختار دیتابیس جوملا 1.6

چاپ فرستادن به ایمیل
سه شنبه, 10 اسفند 1389 ساعت 12:40

دیتابیس جوملا 1.6ساختار دیتابیس از زمان انتشار جوملا 1 در سال 2005 تقریبا ثابت مانده بود و حال زمان آن رسیده بود تا تغییراتی در ساختار دیتابیس صورت گیرد تا برخی از کمبود ها و مشکلات حل شوند، از این رو تغییراتی در ساختار دیتابیس جوملا 1.6 داده شد. در ادامه به بررسی برخی از این تغییرات می پردازیم.

استفاده از کلاس جدید JDatabaseQuery در جوملا 1.6

در راستای گسترش امکانات و پشتیبانی جوملا از سایر پایگاه های داده مانند MongoDB, MSSQL  جوملا 1.6 اقدام به معرفی کلاس جدید پرس و جو (query)  ساز کرده است. این کلاس به شما اجازه می دهد تا پرس و جو های خود را به صورت قابل درک تری بنویسید. در زیر نمونه ای از پرس و جو در جوملا 1.5 و جوملا 1.6 را می توانید ببینید :

پرس و جو در جوملا 1.5 :

$db = JFactory::getDbo();
$db->setQuery(
'SELECT *'.
' FROM #__articles'.
' WHERE state = '.(int) $published.
'  AND catid = '.(int) $categoryId.
' ORDER BY created DESC'
);

پرس و جو در جوملا 1.6 :

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__articles')
->where('state = '.(int) $published)
->where('catid = '.(int) $categoryId)
->order('created DESC');
$db->setQuery($query);

تغییرات در ساختار دیتابیس جوملا 1.6 برای نصب افزونه

یکی از مواردی که در گذشته کار گسترش دهنده های افزونه های جوملا را با مشکل مواجه می کرد ذخیره اطلاعات در تیبلهای مختلف بود. اکثر گسترش دهنده ها ازساختار بد  jos_components که کامپوننت های نصب شده را لیست می کرد آگاه بودند حال اینکه برای ماژول، قالب و سایر بخش ها حتی این لیست هم وجود نداشت.
این مشکل در جوملا 1.6 با تیبل jos_extensions  حل شد. تیبل فوق جایگزین تیبلهای jos_components و jos_plugins شده و در آن اطلاعات تمامی افزونه هایی که در جوملا نصب می شوند نگهداری می شود.
در ادامه چند پرس و جوی نمونه را برای آشنایی بیشتر شما با ساختار این تیبل بر اساس کلاس جدید JDatabaseQuery نوشته ایم:

اطلاعات در مورد کامپوننت ها
لیست همه کامپوننت های جوملا 1.6 :

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__extensions')
->where('type = '.$db->quote('components'))
->order('ordering');

اطلاعات در رابطه با یک کامپوننت خاص :


$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__extensions')
->where('type = '.$db->quote('components'))
->where('element = '.$db->quote('com_content'))
->order('ordering');

اطلاعات در رابطه با زبان ها
لیست همه زبان های نصب شده در جوملا 1.6 :

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__extensions')
->where('type = '.$db->quote('language'))
// Use client_id = 1 for backend packs
->where('client_id = 0')
->order('ordering');

اطلاعات در رابطه با یک زبان خاص :

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__extensions')
->where('type = '.$db->quote('language'))
->where('element = '.$db->quote('en-GB'))
// Use client_id = 1 for backend packs
->where('client_id = 0)
->order('ordering');

اطلاعات در رابطه با کتابخانه ها
لیست همه کتابخانه های جوملا 1.6 :

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__extensions')
->where('type = '.$db->quote('library'))
->order('ordering');

اطلاعات در مورد یک کتابخانه خاص :

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__extensions')
->where('type = '.$db->quote('library'))
->where('element = '.$db->quote('simplepie'))
->order('ordering');

اطلاعات در رابطه با ماژول ها
لیست همه ماژول های بخش کاربری جوملا 1.6 :

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__extensions')
->where('type = '.$db->quote('modules'))
// Use client_id = 1 for backend modules.
->where('client_id = 0')
->order('ordering');

اطلاعات در رابطه با یک ماژول خاص :

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__extensions')
->where('type = '.$db->quote('module'))
->where('element = '.$db->quote('mod_menu'))
// Use client_id = 1 for backend modules.
->where('client_id = 0');
->order('ordering');

اطلاعات در رابطه با پلاگین ها
لیست همه پلاگین های جوملا 1.6 :

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__extensions')
->where('type = '.$db->quote('plugin'))
->where('folder = '.$db->quote('system'))
->order('ordering');

اطلاعات در رابطه با یک پلاگین خاص :

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__extensions')
->where('type = '.$db->quote('plugin'))
->where('folder = '.$db->quote('system'))
->where('element = '.$db->quote('redirect'))
->order('ordering');

اطلاعات در رابطه با قالب ها
لیست همه قالب های نصب شده بخش کاربری جوملا 1.6 :

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__extensions')
->where('type = '.$db->quote('template'))
// Use client_id = 1 for backend templates.
->where('client_id = 0')
->order('ordering');

اطلاعات در مورد یک قالب خاص :

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('*')
->from('#__extensions')
->where('type = '.$db->quote('template'))
->where('element = '.$db->quote('com_content'))
// Use client_id = 1 for backend templates.
->where('client_id = 0')
->order('ordering');

تغییرات در ساختار دیتابیس جوملا 1.6 برای کاربران و گروه های کاربری


در راستای ایجاد امکان کنترل سطح دسترسی در جوملا 1.6 تغییراتی در ساختار دیتابیس صورت گرفت.
از مامبو 4.5.0 تا جوملا 1.5 این بخش بر اساس phpGACL کار می کرد. وقتی این موضوع را با عمق بیشتری  بررسی کردیم متوجه شدیم که باید روند را تغییر دهیم.
در جوملا 1.6 دسترسی "مشاهده" و "فعالیت"  را جدا کردیم. در این نسخه از تیبل های jos_assets, jos_users, jos_usergroups, jos_usergroup_map, jos_viewlevels  برای بخش جدید کنترل سطح دسترسی استفاده شده است.
برای مشاهده تغییرات در این رابطه پرس و جوی زیر را ببینید و مقایسه کنید.

گروه کاربری در جوملا 1.5 :

$db = JFactory::getDbo();
$db->setQuery(
'SELECT g.value AS group_name'.
' FROM #__core_acl_groups AS g'.
' LEFT JOIN jos_core_acl_groups_aro_map AS grpMap ON grpMap.group_id = g.id'.
' LEFT JOIN jos_core_acl_aro AS aro ON aro.id = grpMap.aro_id'.
' WHERE aro.value = '.(int) $userId
);

گروه کاربری در جوملا 1.6:

$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('g.title AS group_name')
->from('#__usergroups AS g')
->leftJoin('jos_user_usergroup_map AS map ON map.group_id = g.id')
->where('map.user_id = '.(int) $userId)
$db->setQuery($query);
نویسنده : محسن فیروزمندان


warningتمامی حقوق این سایت متعلق به تیم مامبولرن است و بازنشر نوشته‌های آن به هر شکل تنها با اجازه مدیر سایت و با لینک مستقیم به مطلب مربوطه مقدور است.

عضویت در سایت

Tags
Friend Connect
اخبار مامبولرن را با ایمیل دنبال کنید
RSS

فروشگاه جوملا فارسی

ویترین بهترین های مدیریت محتوای فارسی


دانلود آخرین نسخه مامبو فارسی
دانلود مامبو فارسی
دانلود آخرین نسخه مامبو فارسیدانلود جوملا فارسی
دانلود آخرین نسخه مامبو فارسیدانلود اس ام اف فارسی

ما 84 مهمان آنلاین داریم
rounded top

طراحی وب سایت ,web design, website design - whatever you call it, with Mambolearn we guarantee a website that will amaze your clients. We have been in the internet business for over 10 years in middle east. From database websites development to Search Engine Optimization , we have what it takes to give your website the best image that money can buy!

rounded bottom

Visit us on:

Follow Us on TwitterTwitter
Follow Us on FacebookFacebook
Join Mambolearn's GroupGoogle Group

تبلیغات در مامبولرن

spacer gif
spacer gif spacer gif