Example #1
0
 /**
  * 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();
 }
Example #2
0
 /**
  * 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();
 }
Example #3
0
 /**
  * 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']);
 }
Example #4
0
 */
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))";
Example #5
0
 public static function getInstance()
 {
     if (!CssLoader::$instance) {
         CssLoader::$instance = new CssLoader();
     }
     return CssLoader::$instance;
 }
Example #6
0
        </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";
Example #7
0
        }
    }
}
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();
Example #9
0
}
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()) {
Example #10
0
            }
            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();
Example #11
0
    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&amp;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');
Example #12
0
 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;
 }
Example #13
0
 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;
 }