سلام
شاید برای شماهم اتفاق افتاده باشه که بخاهید با یک نسخه نصبی مودل بتوانید به چندین گروه متفاوت خدمات بدهید در حالی که هیچ کدام به اطلاعات گروه دیگر هیچونه دسترسی نداشته باشه و با اعمال یک تغییر در سایت همه از اون بهره ببرند.برای این کار اولین راه حل ک توی مودل بهش میرسید روش استفاده از دسته بندی هاست که تا حدی نیاز شمارو برطرف میکنه ولی کاملا به خاسته خودتون نمیرسید و مشکلاتی مانند عدم نمایش سایر کاربران و دروس برای سایر گروه ها، تم متفاوت برای هر گروه و… باقی میمونه.
برای حل این مشکل میتونید از Subdomain ها یا آدرس سایت متفاوت برای هر گروه استفاده کنید به این صورت که ابتدا فایل config.php رو به گونه ایی تغییر میدهیم که با توجه به آدرس وارد شده اطلاعات دیتابیس و شاخه دیتای مخصوص اون گروه رو استفاده بکنه .نمونه کد زیر توجه بکنید :
dbtype = ‘mysqli’; $CFG->dblibrary = ‘native’; $CFG->dbhost = ‘localhost’; $CFG->dboptions = array ( ‘dbpersist’ => 0, ‘dbport’ => ”, ‘dbsocket’ => ”, ); $myserver = $_SERVER[‘SERVER_NAME’]; switch($myserver){ case ‘site1.com’: $CFG->dbname = ‘site1-database’; $CFG->dbuser = ‘site1-user’; $CFG->dbpass = ‘site1-password’; $CFG->prefix = ‘site1-prefix’; $CFG->dataroot = ‘/home/site1/moodledata’; break; case ‘site2.com’: $CFG->dbname = ‘site2-database’; $CFG->dbuser = ‘site2-user’; $CFG->dbpass = ‘site2-password’; $CFG->prefix = ‘site2-prefix’; $CFG->dataroot = ‘/home/site2/moodledata’; break; } $CFG->wwwroot = ‘http://’.$myserver; $CFG->admin = ‘admin’; $CFG->directorypermissions = 0777; require_once(dirname(__FILE__) . ‘/lib/setup.php’);