コード例 #1
0
ファイル: services.php プロジェクト: vinoth4891/clinique
 private function __widget()
 {
     global $CFG;
     require_once 'widgets.php';
     $cousreId = required_param('courseid', PARAM_RAW_TRIMMED);
     $widgetType = required_param('widgettype', PARAM_RAW_TRIMMED);
     if ($widgetType == "Multi") {
         $modId = required_param('modId', PARAM_RAW_TRIMMED);
         Widgets::__WidgetMultidisplay($cousreId, $widgetType, $modId);
     } else {
         Widgets::__Widgetdisplay($cousreId, $widgetType);
     }
 }
コード例 #2
0
 private static function extractModules($couseid, $topicid, array $modules, $userid, $from)
 {
     global $DB;
     foreach ($modules as $i => &$module) {
         $content = !empty($module['contents'][0]) ? $module['contents'][0] : null;
         unset($module['contents']);
         $module['contents'] = $content;
         if ($module['modname'] == "resource") {
             $mid = $module['id'];
             $sql = "SELECT r.timemodified FROM mdl_course_modules cm \n                JOIN mdl_resource r ON cm.instance = r.id WHERE cm.id = {$mid}";
             $res_latest = $DB->get_record_sql($sql);
             $module['contents']['timemodified'] = $res_latest->timemodified;
         }
         if ($module['modname'] == "game") {
             $mid = $module['id'];
             $sql = "SELECT g.timemodified FROM mdl_course_modules cm \n                JOIN mdl_game g ON cm.instance = g.id WHERE cm.id = {$mid}";
             $res_latest = $DB->get_record_sql($sql);
             $module['contents']['timemodified'] = $res_latest->timemodified;
         }
         if ($module['modname'] == "scorm" && !empty($from)) {
             $mid = $module['id'];
             $sql = "SELECT g.timemodified FROM mdl_course_modules cm \n                JOIN mdl_scorm g ON cm.instance = g.id WHERE cm.id = {$mid}";
             $res_latest = $DB->get_record_sql($sql);
             if (!empty($res_latest)) {
                 if (!empty($res_latest->timemodified)) {
                     $module['scorm']['timemodified'] = $res_latest->timemodified;
                 } else {
                     unset($modules[$i]);
                     continue;
                 }
             }
         }
         $widgetType = self::getWidgetType($module['name']);
         if (!empty($widgetType)) {
             if ($widgetType === 'Multi') {
                 $module['widget'] = Widgets::__WidgetMultidisplay($couseid, $widgetType, $module['id'], true);
             } else {
                 $module['widget'] = Widgets::__Widgetdisplay($couseid, $widgetType, $module['id'], true);
             }
         } else {
             // Could be quiz
             if ($module['modname'] === 'quiz') {
                 $module['quiz'] = QuizInfo::__QuizInfo($couseid, $userid, $module['id'], $from);
                 if (empty($module['quiz'])) {
                     unset($modules[$i]);
                     continue;
                 }
             }
         }
         if (!self::isModuleModifiedAfterTime($module, $from) || !empty($from) && $module['modname'] === 'forum') {
             unset($modules[$i]);
             continue;
         }
         //Insert courseid in the topic id for readibility
         $module = array_slice($module, 0, 2, true) + array('courseid' => $couseid, 'topicid' => $topicid) + array_slice($module, 2, null, true);
     }
     unset($module);
     return array_values($modules);
 }