/** * renders html tag <link> * * @param CssLoader $cssLoader * @return string */ public static function renderCss($cssLoader) { $cssLoader->setMedia('screen,projection,tv'); $origTempUri = $cssLoader->tempUri; $origTempPath = $cssLoader->tempPath; ob_start(); foreach (self::getCss() as $k => $v) { self::renderFile($cssLoader, $origTempUri, $origTempPath, $k, $v); } return ob_get_clean(); }
/** * Render content */ public function render() { CssLoader::getInstance()->load('profile', 'all'); load_kernel_config('user_profile'); $userData = user_get_properties($this->userId); $pictureUrl = ''; if (get_conf('allow_profile_picture')) { $picturePath = user_get_picture_path($userData); if ($picturePath && file_exists($picturePath)) { $pictureUrl = user_get_picture_url($userData); } else { $pictureUrl = get_icon_url('nopicture'); } } $userFullName = claro_htmlspecialchars(get_lang('%firstName %lastName', array('%firstName' => $userData['firstname'], '%lastName' => $userData['lastname']))); $dock = new ClaroDock('userProfileBox'); $template = new CoreTemplate('user_profilebox.tpl.php'); $template->assign('userId', $this->userId); $template->assign('pictureUrl', $pictureUrl); $template->assign('userFullName', $userFullName); $template->assign('dock', $dock); $template->assign('condensedMode', $this->condensedMode); $template->assign('userData', $userData); return $template->render(); }
/** * The "combine_css" function allows inclusion of a css file in the current page. * The engine will combine several css files into a single one. * * @param array $params * - id (optional) used to deal with multiple inclusions from plugins * - path (required) * - version (optional) used to force a browser refresh * - order (optional) * - template (optional) set to true to allow smarty syntax in the css file */ function func_combine_css($params) { if (empty($params['path'])) { fatal_error('combine_css missing path'); } if (!isset($params['id'])) { $params['id'] = md5($params['path']); } $this->cssLoader->add($params['id'], $params['path'], isset($params['version']) ? $params['version'] : 0, (int) @$params['order'], (bool) @$params['template']); }
*/ FromKernel::uses('user.lib', 'courselist.lib'); // todo move this lib in tracking/lib require_once get_path('incRepositorySys') . '/lib/statsUtils.lib.inc.php'; /* * DB tables definition */ $tbl_mdb_names = claro_sql_get_main_tbl(); $tbl_course = $tbl_mdb_names['course']; $tbl_rel_course_user = $tbl_mdb_names['rel_course_user']; $tbl_user = $tbl_mdb_names['user']; $tbl_tracking_event = $tbl_mdb_names['tracking_event']; /* * Output */ CssLoader::getInstance()->load('tracking', 'screen'); ClaroBreadCrumbs::getInstance()->prepend(get_lang('Administration'), get_path('rootAdminWeb')); $nameTools = get_lang('Platform statistics'); $html = ''; $html .= claro_html_tool_title($nameTools); /* * Platform access and logins */ $header = get_lang('Access'); $content = '<ul>'; //-- all $sql = "SELECT count(*)\n FROM `" . $tbl_tracking_event . "`\n WHERE `type` = 'platform_access'"; $count = claro_sql_query_get_single_value($sql); $content .= '<li>' . get_lang('Total') . ' : ' . $count . '</li>' . "\n"; //-- last 31 days $sql = "SELECT count(*)\n FROM `" . $tbl_tracking_event . "`\n WHERE `type` = 'platform_access'\n AND (`date` > DATE_ADD(CURDATE(), INTERVAL -31 DAY))";
public static function getInstance() { if (!CssLoader::$instance) { CssLoader::$instance = new CssLoader(); } return CssLoader::$instance; }
</script>'; $claroline->display->header->addHtmlHeader($javascript); $disp = "\n" . get_lang('Select date') . '<br />' . "\n" . '<form action="' . $_SERVER['PHP_SELF'] . '?search=olderThan" method="post">' . "\n" . '<input type="text" name="date" value="' . $date . '" id="dateinput" />' . get_lang('(jj/mm/aaaa)') . '<br />' . "\n" . '<input type="submit" value="' . get_lang('Search') . '" />' . "\n" . '</form>' . "\n\n"; $dialogbox = new DialogBox(); $dialogbox->form($disp); $content .= $dialogbox->render(); } if ($arguments['search'] == 'timeInterval') { if (isset($arguments['date1']) && isset($arguments['date2'])) { $date1 = $arguments['date1']; $date2 = $arguments['date2']; } else { $date1 = date('d/m/Y'); $date2 = date('d/m/Y'); } $CssLoader = CssLoader::getInstance(); $CssLoader->load('ui.datepicker'); $JsLoader->load('ui.datepicker'); $javascript = ' <script type="text/javascript" charset="utf-8"> $(document).ready( function(){ $(".daterange").datepicker({dateFormat: \'dd/mm/yy\', beforeShow: customRange}); function customRange(input) { return {minDate: (input.id == \'dateinput2\' ? $(\'#dateinput1\').datepicker(\'getDate\') : null), maxDate: (input.id == \'dateinput1\' ? $(\'#dateinput2\').datepicker(\'getDate\') : null)}; } }); </script>'; $claroline->display->header->addHtmlHeader($javascript); $disp = "\n" . get_lang('Select interval') . '<br />' . "\n" . '<form action="' . $_SERVER['PHP_SELF'] . '?search=timeInterval" method="post">' . "\n" . get_lang('From') . ' <input type="text" name="date1" value="' . $date1 . '" class="daterange" id="dateinput1" /> ' . "\n" . get_lang('to') . ' <input type="text" name="date2" value="' . $date2 . '" class="daterange" id="dateinput2" /> ' . get_lang('(jj/mm/aaaa)') . '<br />' . "\n" . '<input type="submit" value="' . get_lang('Search') . '" />' . "\n" . '</form>' . "\n\n";
} } } if ($is_viewAllowed || $is_postAllowed) { //notification commands should be handled by ajax calls if ('exNotify' == $cmd) { request_topic_notification($topicId, claro_get_current_user_id()); $cmd = 'show'; } elseif ('exdoNotNotify' == $cmd) { cancel_topic_notification($topicId, claro_get_current_user_id()); $cmd = 'show'; } } //load required js and css files JavaScriptLoader::getInstance()->load('forum'); CssLoader::getInstance()->load('clfrm', 'screen'); // Javascript confirm pop up declaration for header JavascriptLanguage::getInstance()->addLangVar('Are you sure to delete %name ?'); JavascriptLanguage::getInstance()->addLangVar('Do you really want to sign your contribution ?'); JavascriptLoader::getInstance()->load('forum'); // Prepare display $out = ''; // Command list $cmdList = array(); $nameTools = get_lang('Forums'); $pagetype = !empty($editMode) ? $editMode : 'viewtopic'; // The title is put in the $out var at the end of this script if (claro_is_allowed_to_edit() && $topicId) { $out .= '<div style="float: right;">' . "\n" . '<img src=' . get_icon_url('html') . '" alt="" /> <a href="' . claro_htmlspecialchars(Url::Contextualize('export.php?type=HTML&topic=' . $topicId)) . '" target="_blank">' . get_lang('Export to HTML') . '</a>' . "\n" . '<img src="' . get_icon_url('mime/pdf') . '" alt="" /> <a href="' . claro_htmlspecialchars(Url::Contextualize('export.php?type=PDF&topic=' . $topicId)) . '" target="_blank">' . get_lang('Export to PDF') . '</a>' . "\n" . '</div>'; } if ($topicSettingList) {
<?php /** * CLAROLINE Applet * * @author Loic Fortemps * * @package MOBILE * */ $tlabelReq = 'MOBILE'; require_once dirname(__FILE__) . '/../../claroline/inc/claro_init_global.inc.php'; Claroline::initDisplay(Claroline::POPUP); CssLoader::getInstance()->load('mobile', 'all'); $pageTitle = array('mainTitle' => get_lang('Mobile Apps Configuration'), 'subTitle' => get_lang('Configuration helper')); ClaroBreadCrumbs::getInstance()->append($pageTitle['mainTitle'], $_SERVER['PHP_SELF']); ClaroBreadCrumbs::getInstance()->append($pageTitle['subTitle']); $template = new ModuleTemplate($tlabelReq, 'popup.tpl.php'); Claroline::getInstance()->display->body->appendContent(claro_html_tool_title($pageTitle) . $template->render()); echo Claroline::getInstance()->display->render();
} if (empty($cidReq)) { claro_die(get_lang('Cannot find course')); } // Fetch this course's portlets $portletiterator = new CourseHomePagePortletIterator(ClaroCourse::getIdFromCode($cidReq)); // Include specific CSS if any if (file_exists(get_conf('coursesRepositorySys') . $_course['path'] . '/css/course.css')) { $claroline->display->header->addHtmlHeader('<link rel="stylesheet" media="screen" type="text/css" href="' . get_path('url') . '/' . get_path('coursesRepositoryAppend') . $_course['path'] . '/css/course.css" />'); } // Instantiate course $thisCourse = new ClaroCourse(); $thisCourse->load($cidReq); include claro_get_conf_repository() . 'rss.conf.php'; // Include the course home page special CSS CssLoader::getInstance()->load('coursehomepage', 'all'); $toolRepository = get_path('clarolineRepositoryWeb'); claro_set_display_mode_available(true); // Manage portlets if (claro_is_course_manager() && !empty($portletClass)) { // Require the right class $portletPath = get_module_path($portletLabel) . '/connector/coursehomepage.cnr.php'; if (file_exists($portletPath)) { require_once $portletPath; } else { throw new Exception(get_lang('Cannot find this portlet')); } if ($portletCmd == 'exAdd') { $portlet = new $portletClass(); $portlet->handleForm(); if ($portlet->save()) {
} if ($portlet['label'] == 'mycourselist') { continue; } $plabel = $portlet['label']; $portlet = new $plabel($plabel); if (!$portlet instanceof UserDesktopPortlet) { pushClaroMessage("{$portlet['label']} is not a valid user desktop portlet !"); continue; } $outPortlet .= $portlet->render(); } catch (Exception $e) { $portletDialog = new DialogBox(); $portletDialog->error(get_lang('An error occured while loading the portlet : %error%', array('%error%' => $e->getMessage()))); $outPortlet .= '<div class="claroBlock portlet">' . '<h3 class="blockHeader">' . "\n" . $portlet->renderTitle() . '</h3>' . "\n" . '<div class="claroBlockContent">' . "\n" . $portletDialog->render() . '</div>' . "\n" . '</div>' . "\n\n"; } } } else { $dialogBox->error(get_lang('Cannot load portlet list')); } // Generate Script Output CssLoader::getInstance()->load('desktop', 'all'); $template = new CoreTemplate('user_desktop.tpl.php'); $userProfileBox = new UserProfileBox(false); $myCourseList = new MyCourseList(); $template->assign('dialogBox', $dialogBox); $template->assign('userProfileBox', $userProfileBox); $template->assign('outPortlet', $outPortlet); $template->assign('mycourselist', $myCourseList->render()); $claroline->display->body->appendContent($template->render()); echo $claroline->display->render();
ClaroBreadCrumbs::getInstance()->setCurrent($nameTools, Url::Contextualize('./edit_exercise.php?cmd=rqEdit')); } elseif ($cmd == 'rqEdit') { $nameTools = get_lang('Edit exercise'); $toolTitle['mainTitle'] = $nameTools; $toolTitle['subTitle'] = $exercise->getTitle(); ClaroBreadCrumbs::getInstance()->prepend(get_lang('Exercise'), Url::Contextualize('./edit_exercise.php?exId=' . $exId)); ClaroBreadCrumbs::getInstance()->prepend(get_lang('Exercises'), Url::Contextualize(get_module_url('CLQWZ') . '/exercise.php')); ClaroBreadCrumbs::getInstance()->setCurrent($nameTools, Url::Contextualize('./edit_exercise.php?cmd=rqEdit&exId=' . $exId)); } else { $nameTools = get_lang('Exercise'); $toolTitle['mainTitle'] = $nameTools; $toolTitle['subTitle'] = $exercise->getTitle(); ClaroBreadCrumbs::getInstance()->prepend(get_lang('Exercises'), Url::Contextualize(get_module_url('CLQWZ') . '/exercise.php')); ClaroBreadCrumbs::getInstance()->setCurrent($nameTools, Url::Contextualize('./edit_exercise.php?exId=' . $exId)); } CssLoader::getInstance()->load('exercise', 'screen'); $out = ''; $out .= claro_html_tool_title($toolTitle, null, $cmdList); // dialog box if required $out .= $dialogBox->render(); if ($displayForm) { // -- edit form $display = new ModuleTemplate('CLQWZ', 'exercise_form.tpl.php'); $display->assign('exId', $exId); $display->assign('data', $form); $display->assign('relayContext', claro_form_relay_context()); $display->assign('questionCount', count($exercise->getQuestionList())); $out .= $display->render(); } else { //-- exercise settings $detailsDisplay = new ModuleTemplate('CLQWZ', 'exercise_details.tpl.php');
protected function createComponentCss($name) { $theme = Environment::getVariable('theme'); $css = new CssLoader($this, $name); $css->setModule('admin'); $css->absolutizeUrls = true; $css->media = 'screen, tv, projection'; $css->sourcePath = APP_DIR . $this->pathToTheme . "/css"; //$css->sourceUri = Environment::getVariable("baseUri") . "css/admin/$theme"; $css->tempUri = Environment::getVariable("baseUri") . "css/admin"; $css->tempPath = WWW_DIR . "/css/admin"; $css->joinFiles = false; $css->sourceUri = APP_DIR . $this->pathToTheme; $css->filters[] = array($this, "encodeImages"); //$css->filters[] = array($this, "tidyCSS"); return $css; }
public static function renderLinkList(ResourceLocator $locator, $forExternalUse = false) { self::init(); CssLoader::getInstance()->load('linker', 'all'); $linkList = self::getLinkList($locator); $linkList->setFetchMode(Database_ResultSet::FETCH_OBJECT); $htmlLinkList = '<div class="lnk_link_panel">' . "\n"; if (count($linkList)) { $htmlLinkList .= '<h2 class="lnk_link_list">' . get_lang('Attached resources') . '</h2>' . "\n"; $htmlLinkList .= '<ul class="lnk_link_list" id="' . ClarolineResourceLocator::crlToId($locator->__toString()) . '">' . "\n"; foreach ($linkList as $link) { $locator = ClarolineResourceLocator::parse($link->crl); $url = self::$Resolver->resolve($locator); if ($forExternalUse == true) { $url = rtrim(str_replace(get_conf('urlAppend'), '', get_path('rootWeb')), '/') . '/' . ltrim($url, '/'); } $htmlLinkList .= '<li><a href="' . claro_htmlspecialchars($url) . '" class="lnk_link" rel="' . ClarolineResourceLocator::crlToId($link->crl) . '">' . claro_htmlspecialchars(self::$Resolver->getResourceName($locator)) . '</a></li>' . "\n"; } $htmlLinkList .= '</ul>' . "\n"; } else { // $htmlLinkList .= get_lang('Nothing to display'); } $htmlLinkList .= '</div>' . "\n"; return $htmlLinkList; }