public function GetWidgetUrl($auth, $widgettype, $widgetSettings = null) { $rServiceUrl = str_replace('EngineWebServices', '', $this->_configuration->getScormEngineServiceUrl()); //$rServiceUrl = 'http://localhost/'; switch ($widgettype) { case 'allSummary': $reporturl = $rServiceUrl . '/Reportage/scormreports/widgets/summary/SummaryWidget.php'; $reporturl .= '?srt=allLearnersAllCourses'; break; case 'courseSummary': $reporturl = $rServiceUrl . '/Reportage/scormreports/widgets/summary/SummaryWidget.php'; $reporturl .= '?srt=singleCourse'; break; case 'learnerSummary': $reporturl = $rServiceUrl . 'Reportage/scormreports/widgets/summary/SummaryWidget.php'; $reporturl .= '?srt=singleLearnerSingleCourse'; break; case 'courseActivities': case 'learnerRegistration': case 'courseComments': case 'learnerComments': case 'courseInteractionsShort': case 'learnerInteractions': case 'learnerActivities': case 'courseRegistration': case 'learnerRegistration': case 'learnerCourseActivities': case 'learnerTranscript': case 'learnerCourseInteractionsShort': case 'learnerCourseComments': $reporturl = $rServiceUrl . '/Reportage/scormreports/widgets/DetailsWidget.php'; $reporturl .= '?drt=' . $widgettype; break; case 'allLearners': $reporturl = $rServiceUrl . '/Reportage/scormreports/widgets/ViewAllDetailsWidget.php'; $reporturl .= '?viewall=learners'; break; case 'allCourses': $reporturl = $rServiceUrl . '/Reportage/scormreports/widgets/ViewAllDetailsWidget.php'; $reporturl .= '?viewall=courses'; break; default: break; } $reporturl .= '&appId=' . $this->_configuration->getAppId(); //process the WidgetSettings if (isset($widgetSettings)) { if ($widgetSettings->hasCourseId()) { $reporturl .= '&courseId=' . $widgetSettings->getCourseId(); } if ($widgetSettings->hasLearnerId()) { $reporturl .= '&learnerId=' . $widgetSettings->getLearnerId(); } $reporturl .= '&showTitle=' . boolString($widgetSettings->getShowTitle()); $reporturl .= '&standalone=' . boolString($widgetSettings->getStandalone()); if ($widgetSettings->getIframe()) { $reporturl .= '&iframe=true'; //only write this if it's true } $reporturl .= '&expand=' . boolString($widgetSettings->getExpand()); $reporturl .= '&scriptBased=' . boolString($widgetSettings->getScriptBased()); $reporturl .= '&divname=' . $widgetSettings->getDivname(); $reporturl .= '&vertical=' . boolString($widgetSettings->getVertical()); $reporturl .= '&embedded=' . boolString($widgetSettings->getEmbedded()); //$reporturl .= '&viewall='.boolString($widgetSettings->getViewAll()); //$reporturl .= '&export='.boolString($widgetSettings->getExport()); //Process the DateRangeSettings $dateRangeSettings = $widgetSettings->getDateRangeSettings(); if (isset($dateRangeSettings)) { switch ($dateRangeSettings->getDateRangeType()) { case 'selection': //daterange $reporturl .= '&dateRangeType=c'; $reporturl .= '&dateRangeStart=' . $dateRangeSettings->getDateRangeStart(); $reporturl .= '&dateRangeEnd=' . $dateRangeSettings->getDateRangeEnd(); $reporturl .= '&dateCriteria=' . $dateRangeSettings->getDateCriteria(); break; case 'mtd': //month to date $reporturl .= '&dateRangeType=mtd'; $reporturl .= '&dateCriteria=' . $dateRangeSettings->getDateCriteria(); break; case 'ytd': //year to date $reporturl .= '&dateRangeType=ytd'; $reporturl .= '&dateCriteria=' . $dateRangeSettings->getDateCriteria(); break; //case 'p3m': ?? //case 'p3m': ?? default: break; } } //Process Tags $tagSettings = $widgetSettings->getTagSettings(); if (isset($tagSettings)) { $tagSettings = $widgetSettings->getTagSettings(); if ($tagSettings->hasTags('learner')) { $reporturl .= '&learnerTags=' . $tagSettings->getTagString('learner'); $reporturl .= '&viewLearnerTagGroups=' . $tagSettings->getViewTagString('learner'); } if ($tagSettings->hasTags('course')) { $reporturl .= '&courseTags=' . $tagSettings->getTagString('course'); $reporturl .= '&viewCourseTagGroups=' . $tagSettings->getViewTagString('course'); } if ($tagSettings->hasTags('registration')) { $reporturl .= '®istrationTags=' . $tagSettings->getTagString('registration'); $reporturl .= '&viewRegistrationTagGroups=' . $tagSettings->getViewTagString('registration'); } } //Process Comparisons $comparisonSettings = $widgetSettings->getComparisonSettings(); if (isset($comparisonSettings)) { $reporturl .= '&compDateRangeType=ad'; $reporturl .= '&compDateCriteria=launched'; $reporturl .= '&compLearnerTags=_all'; $reporturl .= '&compDateRangeType=ad'; $reporturl .= '&compDateCriteria=launched'; $reporturl .= '&compViewLearnerTagGroups=_all'; $reporturl .= '&compViewCourseTagGroups=_all'; $reporturl .= '&compViewRegistrationTagGroups=_all'; $reporturl .= '&compMatchDates=1'; } } //error_log("ReportUrl: ".$reporturl); return $this->GetReportUrl($auth, $reporturl); //return $reporturl; }
function getServer($id) { $app = Slim\Slim::getInstance(); $app->contentType('application/json'); $response = $app->response(); $server = $id[0]; $path = implode("/", array_slice($id, 1)); if (!$path) { $path = "/"; } else { $path = "/" . $path; } $id = implode("/", $id); $root_dir = getOption('root') . '/' . $id; $extensions = getOption('extensions'); echo "{\n \"server\": \"{$server}\",\n"; echo " \"path\": \"" . encodePath($path) . "\""; if (is_dir($root_dir) && ($handle = opendir($root_dir))) { echo ",\n \"content\": ["; $is_first = true; $has_search = false; while (false !== ($file = readdir($handle))) { $path_parts = pathinfo($file); if (isset($path_parts['extension'])) { $extension = $path_parts['extension']; } if ($file == '_search') { $has_search = true; } else { if (!startsWith($file, '.') && is_dir("{$root_dir}/{$file}")) { if ($is_first) { $is_first = false; } else { echo ","; } echo "\n { \"folder\": " . json_encode($file) . ", \"link\": \"" . encodePath("{$id}/{$file}") . "\" }"; } else { if (is_file("{$root_dir}/{$file}") && in_array($extension, $extensions)) { if ($is_first) { $is_first = false; } else { echo ","; } echo "\n { \"file\": " . json_encode($file) . ", \"link\": \"" . encodePath("{$id}/{$file}") . "\", \"type\": \"" . $extension . "\" }"; } } } } closedir($handle); echo "\n ],"; echo "\n \"search\": " . boolString($has_search); $response["Cache-Control"] = "max-age=600"; } else { $response->status(404); } echo "\n}\n"; }