Exemple #1
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();
 }
Exemple #2
0
 public function render()
 {
     if ($this->hidden) {
         return '<!-- footer hidden -->' . "\n";
     }
     $currentCourse = claro_get_current_course_data();
     if (claro_is_in_a_course()) {
         $courseManagerOutput = '<div id="courseManager">' . get_lang('Manager(s) for %course_code', array('%course_code' => $currentCourse['officialCode'])) . ' : ';
         $currentCourseTitular = empty($currentCourse['titular']) ? get_lang('Course manager') : $currentCourse['titular'];
         if (empty($currentCourse['email'])) {
             $courseManagerOutput .= '<a href="' . get_module_url('CLUSR') . '/user.php">' . $currentCourseTitular . '</a>';
         } else {
             $courseManagerOutput .= '<a href="mailto:' . $currentCourse['email'] . '?body=' . $currentCourse['officialCode'] . '&amp;subject=[' . rawurlencode(get_conf('siteName')) . ']' . '">' . $currentCourseTitular . '</a>';
         }
         $courseManagerOutput .= '</div>';
         $this->assign('courseManager', $courseManagerOutput);
     } else {
         $this->assign('courseManager', '');
     }
     $platformManagerOutput = '<div id="platformManager">' . get_lang('Administrator for %site_name', array('%site_name' => get_conf('siteName'))) . ' : ' . '<a href="mailto:' . get_conf('administrator_email') . '?subject=[' . rawurlencode(get_conf('siteName')) . ']' . '">' . get_conf('administrator_name') . '</a>';
     if (get_conf('administrator_phone') != '') {
         $platformManagerOutput .= '<br />' . "\n" . get_lang('Phone : %phone_number', array('%phone_number' => get_conf('administrator_phone')));
     }
     $platformManagerOutput .= '</div>';
     $this->assign('platformManager', $platformManagerOutput);
     $poweredByOutput = '<span class="poweredBy">' . get_lang('Powered by') . ' <a href="http://www.claroline.net" target="_blank">Claroline</a> ' . '&copy; 2001 - 2013' . '</span>';
     $this->assign('poweredBy', $poweredByOutput);
     return parent::render();
 }
Exemple #3
0
 /**
  * Render the banners
  * @return  string
  */
 public function render()
 {
     if ($this->hidden) {
         return '<!-- banner hidden -->' . "\n";
     }
     $this->_prepareCampusBanner();
     $this->_prepareUserBanner();
     return parent::render();
 }
Exemple #4
0
 ******************/
Claroline::getDisplay()->body->appendContent(claro_html_tool_title(array('supraTitle' => get_lang("Groups"), 'mainTitle' => claro_get_current_group_data('name') . ' <img src="' . get_icon_url('group') . '" alt="" />')));
$groupSpaceTemplate = new CoreTemplate('group_space.tpl.php');
$groupSpaceTemplate->assign('dialogBox', $dialogBox);
$groupSpaceTemplate->assign('displayRegistrationLink', $is_allowedToSelfRegInGroup && !array_key_exists('registration', $_REQUEST));
$groupSpaceTemplate->assign('displayUnregistrationLink', $is_allowedToSelfUnregInGroup && !array_key_exists('unregistration', $_REQUEST));
$groupSpaceTemplate->assign('displayTutorRegistrationLink', $isTutorRegAllowed && !array_key_exists('tutorRegistration', $_REQUEST));
$groupSpaceTemplate->assign('displayTutorUnregistrationLink', $isTutorUnregAllowed && !array_key_exists('tutorUnregistration', $_REQUEST));
$groupSpaceTemplate->assign('toolLinkList', $toolLinkList);
/*----------------------------------------------------------------------------
DISPLAY GROUP DESCRIPTION
----------------------------------------------------------------------------*/
if (strlen(claro_get_current_group_data('description')) > 0) {
    $groupSpaceTemplate->assign('groupDescription', claro_get_current_group_data('description'));
} else {
    $groupSpaceTemplate->assign('groupDescription', get_lang("(none)"));
}
/*----------------------------------------------------------------------------
DISPLAY GROUP TUTOR INFORMATION
----------------------------------------------------------------------------*/
$groupSpaceTemplate->assign('tutorDataList', $tutorDataList);
/*----------------------------------------------------------------------------
DISPLAY GROUP MEMBER LIST
----------------------------------------------------------------------------*/
$context = Claro_Context::getCurrentContext();
$context[CLARO_CONTEXT_GROUP] = null;
$urlContext = Claro_Context::getUrlContext($context);
$groupSpaceTemplate->assign('urlContext', $urlContext);
$groupSpaceTemplate->assign('groupMemberList', $groupMemberList);
Claroline::getDisplay()->body->appendContent($groupSpaceTemplate->render());
echo Claroline::getDisplay()->render();
Exemple #5
0
 public function render()
 {
     $tpl = new CoreTemplate('course_tree_node_deactivated.tpl.php');
     $tpl->assign('node', $this->courseTreeNode);
     $tpl->assign('courseUserPrivilegesList', $this->courseUserPrivilegesList);
     $tpl->assign('notifiedCourseList', $this->notifiedCourseList);
     $tpl->assign('viewOptions', $this->viewOptions);
     return $tpl->render();
 }
Exemple #6
0
if (claro_is_allowed_to_edit()) {
    if ($thisCourse->status == 'pending') {
        $dialogBox->warning(get_lang('This course is deactivated: you can reactive it from your course list'));
    } elseif ($thisCourse->status == 'date') {
        if (!empty($thisCourse->publicationDate) && $thisCourse->publicationDate > claro_mktime()) {
            $dialogBox->warning(get_lang('This course will be enabled on the %date', array('%date' => claro_date('d/m/Y', $thisCourse->publicationDate))));
        }
        if (!empty($thisCourse->expirationDate) && $thisCourse->expirationDate > claro_mktime()) {
            $dialogBox->warning(get_lang('This course will be disable on the %date', array('%date' => claro_date('d/m/Y', $thisCourse->expirationDate))));
        }
    }
    if ($thisCourse->userLimit > 0) {
        $dialogBox->warning(get_lang('This course is limited to %userLimit users', array('%userLimit' => $thisCourse->userLimit)));
    }
    if ($thisCourse->registration == 'validation') {
        $courseUserList = new Claro_CourseUserList(claro_get_current_course_id());
        if ($courseUserList->has_registrationPending()) {
            $usersPanelUrl = claro_htmlspecialchars(Url::Contextualize($toolRepository . 'user/user.php'));
            $dialogBox->warning(get_lang('You have to validate users to give them access to this course through the <a href="%url">course user list</a>', array('%url' => $usersPanelUrl)));
        }
    }
}
// Get the portlets buttons
$activablePortlets = claro_is_course_manager() ? CourseHomePagePortlet::getActivablePortlets() : array();
// Display
$template = new CoreTemplate('course_index.tpl.php');
$template->assign('dialogBox', $dialogBox);
$template->assign('activablePortlets', $activablePortlets);
$template->assign('portletIterator', $portletiterator);
$claroline->display->body->setContent($template->render());
echo $claroline->display->render();
Exemple #7
0
 /**
  * Render the HTML page header
  * @return  string
  */
 public function render()
 {
     $this->_globalVarsCompat();
     $this->addInlineJavascript(JavascriptLanguage::getInstance()->buildJavascript());
     $titlePage = '';
     if (empty($this->_toolName) && !empty($this->_nameTools)) {
         $titlePage .= $this->_nameTools . ' - ';
     } elseif (!empty($this->_toolName)) {
         $titlePage .= $this->_toolName . ' - ';
     }
     if (claro_is_in_a_course() && claro_get_current_course_data('officialCode') != '') {
         $titlePage .= claro_get_current_course_data('officialCode') . ' - ';
     }
     $titlePage .= get_conf('siteName');
     $this->assign('pageTitle', $titlePage);
     if (true === get_conf('warnSessionLost', true) && claro_get_current_user_id()) {
         $this->assign('warnSessionLost', "function claro_session_loss_countdown(sessionLifeTime){\n    var chrono = setTimeout('claro_warn_of_session_loss()', sessionLifeTime * 1000);\n}\n\nfunction claro_warn_of_session_loss() {\n    alert('" . clean_str_for_javascript(get_lang('WARNING ! You have just lost your session on the server.') . "\n" . get_lang('Copy any text you are currently writing and paste it outside the browser')) . "');\n}\n");
     } else {
         $this->assign('warnSessionLost', '');
     }
     $htmlXtraHeaders = '';
     if (!empty($this->_htmlXtraHeaders)) {
         $htmlXtraHeaders .= implode("\n", $this->_htmlXtraHeaders);
     }
     $this->assign('htmlScriptDefinedHeaders', $htmlXtraHeaders);
     return parent::render() . "\n";
 }
Exemple #8
0
 /**
  * Display form
  *
  * @param $cancelUrl string url of the cancel button
  * @return string html output of form
  */
 public function displayForm($cancelUrl = null)
 {
     JavascriptLoader::getInstance()->load('course_form');
     $languageList = get_language_to_display_list('availableLanguagesForCourses');
     $categoriesList = claroCategory::getAllCategoriesFlat();
     $linkedCategoriesListHtml = '';
     // Categories linked to the course
     $unlinkedCategoriesListHtml = '';
     // Other categories (not linked to the course)
     foreach ($categoriesList as $category) {
         // Is that category linked to the current course or not ?
         $match = false;
         foreach ($this->categories as $searchCategory) {
             if ($category['id'] == (int) $searchCategory->id) {
                 $match = true;
                 break;
             } else {
                 $match = false;
             }
         }
         // Dispatch in the lists
         if ($match) {
             $linkedCategoriesListHtml .= '<option ' . (!$category['visible'] ? 'class="hidden" ' : '') . 'value="' . $category['id'] . '">' . $category['path'] . '</option>' . "\n";
         } else {
             if ($category['canHaveCoursesChild'] || claro_is_platform_admin()) {
                 $unlinkedCategoriesListHtml .= '<option ' . (!$category['visible'] ? 'class="hidden" ' : '') . 'value="' . $category['id'] . '">' . $category['path'] . '</option>' . "\n";
             }
         }
     }
     $publicDisabled = !(get_conf('allowPublicCourses', true) || claro_is_platform_admin()) ? ' disabled="disabled"' : '';
     $publicCssClass = !(get_conf('allowPublicCourses', true) || claro_is_platform_admin()) ? ' class="notice"' : '';
     $publicMessage = $this->access != 'public' && !(get_conf('allowPublicCourses', true) || claro_is_platform_admin()) ? '<br /><span class="notice">' . get_lang('If you need to create a public course, please contact the platform administrator') . '</span>' : '';
     $cancelUrl = is_null($cancelUrl) ? get_path('clarolineRepositoryWeb') . 'course/index.php?cid=' . claro_htmlspecialchars($this->courseId) : $cancelUrl;
     $template = new CoreTemplate('course_form.tpl.php');
     $template->assign('formAction', $_SERVER['PHP_SELF']);
     $template->assign('relayContext', claro_form_relay_context());
     $template->assign('course', $this);
     $template->assign('linkedCategoriesListHtml', $linkedCategoriesListHtml);
     $template->assign('unlinkedCategoriesListHtml', $unlinkedCategoriesListHtml);
     $template->assign('languageList', $languageList);
     $template->assign('publicDisabled', $publicDisabled);
     $template->assign('publicCssClass', $publicCssClass);
     $template->assign('publicMessage', $publicMessage);
     $template->assign('cancelUrl', $cancelUrl);
     $template->assign('nonRootCategoryRequired', !get_conf('clcrs_rootCategoryAllowed', true));
     return $template->render();
 }
Exemple #9
0
<?php

// $Id: index.php 13718 2011-10-20 09:24:38Z ffervaille $
require '../inc/claro_init_global.inc.php';
FromKernel::uses('utils/input.lib', 'utils/validator.lib');
$module = Claro_UserInput::getInstance()->get('module');
$block = Claro_UserInput::getInstance()->get('block');
if (!empty($module) && $module != 'platform' && file_exists(get_module_path($module) . '/templates/help.tpl.php')) {
    $tpl = new ModuleTemplate($module, 'help.tpl.php ');
} else {
    $tpl = new CoreTemplate('help.tpl.php');
}
if ($moduleName = get_module_data($module, 'moduleName')) {
    load_module_language($module);
    $tpl->assign('module', $moduleName);
} else {
    $tpl->assign('module', $module);
}
$tpl->assign('block', $block);
$claroline->setDisplayType(Claroline::POPUP);
$claroline->display->header->setTitle(get_lang('Claroline help'));
$claroline->display->body->appendContent($tpl->render());
echo $claroline->display->render();
Exemple #10
0
$result = Claroline::getDatabase()->query($sql);
$result->setFetchMode(Database_ResultSet::FETCH_ASSOC);
// Create html options lists
$userNotInGroupListHtml = '';
foreach ($result as $member) {
    $label = claro_htmlspecialchars(ucwords(strtolower($member['lastName'])) . ' ' . ucwords(strtolower($member['firstName'])) . ($member['role'] != '' ? ' (' . $member['role'] . ')' : '')) . ($nbMaxGroupPerUser > 1 ? ' (' . $member['nbg'] . ')' : '');
    $userNotInGroupListHtml .= '<option value="' . $member['user_id'] . '">' . $label . '</option>' . "\n";
}
$usersInGroupList = get_group_member_list();
$usersInGroupListHtml = '';
foreach ($usersInGroupList as $key => $val) {
    $usersInGroupListHtml .= '<option value="' . $key . '">' . $val . '</option>' . "\n";
}
$thisGroupMaxMember = is_null($myStudentGroup['maxMember']) ? '-' : $myStudentGroup['maxMember'];
$template = new CoreTemplate('group_form.tpl.php');
$template->assign('formAction', claro_htmlspecialchars($_SERVER['PHP_SELF'] . '?edit=yes&gidReq=' . claro_get_current_group_id()));
$template->assign('relayContext', claro_form_relay_context());
$template->assign('groupName', claro_htmlspecialchars($myStudentGroup['name']));
$template->assign('groupId', claro_get_current_group_id());
$template->assign('groupDescription', claro_htmlspecialchars($myStudentGroup['description']));
$template->assign('groupTutorId', $myStudentGroup['tutorId']);
$template->assign('groupUserLimit', claro_htmlspecialchars($thisGroupMaxMember));
$template->assign('tutorList', $tutor_list);
$template->assign('usersInGroupListHtml', $usersInGroupListHtml);
$template->assign('userNotInGroupListHtml', $userNotInGroupListHtml);
$out = '';
$out .= claro_html_tool_title(array('supraTitle' => get_lang("Groups"), 'mainTitle' => $nameTools));
$out .= $dialogBox->render();
$out .= $template->render();
$claroline->display->body->appendContent($out);
echo $claroline->display->render();
Exemple #11
0
 /**
  * Render the page body
  * @return  string
  */
 public function render()
 {
     if (claro_is_in_a_course()) {
         $this->assign('courseToolList', new CurrentCourseToolListBlock());
     }
     if (!$this->claroBodyHidden) {
         $this->assign('claroBodyStart', true);
         $this->assign('claroBodyEnd', true);
     } else {
         $this->assign('claroBodyStart', false);
         $this->assign('claroBodyEnd', false);
     }
     // automatic since $this->content already exists
     // $this->assign('content', $this->getContent() );
     if ($this->inPopup) {
         $this->hideCourseTitleAndTools();
         $output = PopupWindowHelper::popupEmbed(parent::render());
     } else {
         $output = parent::render();
     }
     return $output;
 }
Exemple #12
0
          Display user courses in order to unenroll (default display)
          ---------------------------------------------------------------------*/
    /*---------------------------------------------------------------------
      Display user courses in order to unenroll (default display)
      ---------------------------------------------------------------------*/
    case DISPLAY_USER_COURSES:
        $out .= claro_html_tool_title(array('mainTitle' => get_lang('User\'s course') . ' : ' . $userInfo['firstname'] . ' ' . $userInfo['lastname'], 'subTitle' => get_lang('Remove course from your personal course list'))) . $dialogBox->render() . $courseListView->render();
        break;
    case DISPLAY_REGISTRATION_KEY_FORM:
        $courseData = claro_get_course_data($_REQUEST['course']);
        $courseName = $courseData['name'];
        $out .= claro_html_tool_title(array('mainTitle' => get_lang('User\'s course') . ' : ' . $userInfo['firstname'] . ' ' . $userInfo['lastname'], 'subTitle' => get_lang('Enrol to %course', array('%course' => $courseName))));
        $template = new CoreTemplate('course_registration_key_form.tpl.php');
        $template->assign('formAction', Url::Contextualize($_SERVER['PHP_SELF']));
        $template->assign('courseCode', $courseCode);
        $dialogBox->form($template->render());
        $out .= $dialogBox->render();
        break;
    case DISPLAY_REGISTRATION_DISABLED_FORM:
        if (empty($courseData['email'])) {
            $courseData['email'] = get_conf('administrator_email');
        }
        if (empty($courseData['titular'])) {
            $courseData['titular'] = get_conf('administrator_name');
        }
        $out .= $dialogBox->render();
        break;
}
// end of switch ($displayMode)
if ($newLink != '') {
    $out .= $newLink;
Exemple #13
0
    case 'exVisibility':
        $category = new claroCategory(null, null, null, null, null, null, null, null);
        if ($category->load($id)) {
            if ($category->swapVisibility()) {
                $dialogBox->success(get_lang('Category\'s visibility modified'));
            } else {
                switch (claro_failure::get_last_failure()) {
                    case 'category_not_found':
                        $dialogBox->error(get_lang('Error : Category not found'));
                        break;
                }
            }
        } else {
            $dialogBox->error(get_lang('Category not found'));
        }
        break;
}
// Get categories
$categories = claroCategory::getAllCategories();
// Command list
$cmdList = array();
$cmdList[] = array('img' => 'category_new', 'name' => get_lang('Create a category'), 'url' => $_SERVER['PHP_SELF'] . '?cmd=rqAdd');
// Display
$template = new CoreTemplate('admin_category.tpl.php');
$template->assign('title', claro_html_tool_title($nameTools, null, $cmdList));
$template->assign('dialogBox', $dialogBox);
$template->assign('categories', $categories);
// Append output
Claroline::getDisplay()->body->appendContent($template->render());
// Generate output
echo Claroline::getDisplay()->render();
}
//----------------------------------
// DISPLAY
//----------------------------------
$out = '';
//tool title
$out .= claro_html_tool_title($nameTools . ' : ');
$tpl = new CoreTemplate('advanced_course_search.tpl.php');
$tpl->assign('code', $code);
$tpl->assign('intitule', $intitule);
$tpl->assign('category_array', $structuredCatArray);
$tpl->assign('language_list', $language_list);
$tpl->assign('access', $access);
$tpl->assign('subscription', $subscription);
$tpl->assign('visibility', $visibility);
$out .= $tpl->render();
$claroline->display->body->appendContent($out);
echo $claroline->display->render();
//NEEDED FUNCTION (to be moved in libraries)
/**
 *This function create de select box to choose categories
 *
 * @author  - < Benoît Muret >
 * @param   - elem            array     :     the faculties
 * @param   - father        string    :    the father of the faculty
 * @param    - $editFather    string    :    the faculty editing
 * @param    - $space        string    :    space to the bom of the faculty
 * @return  - void
 *
 * @desc : create de select box categories
 */
Exemple #15
0
/**
 * Display form to edit or add user to the platform.
 *
 * @param $userId int
 */
function user_html_form($userId = null)
{
    // If the user exists (given user id)
    if (!empty($userId)) {
        // Get user's general informations
        $userData = user_get_properties($userId);
        // Get user's skype account
        $userData['skype'] = get_user_property($userId, 'skype');
        // Get user's picture
        $picturePath = user_get_picture_path($userData);
        if ($picturePath && file_exists($picturePath)) {
            $pictureUrl = user_get_picture_url($userData);
        } else {
            $pictureUrl = '';
        }
        // Get current language
        $currentLanguage = !empty($userData['language']) ? $userData['language'] : language::current_language();
        // A few javascript
        $htmlHeadXtra[] = '<script type="text/javascript">
            function confirmation (name)
            {
                if (confirm("' . clean_str_for_javascript(get_lang('Are you sure to delete')) . '"+ name + "?"))
                {return true;}
                else
                {return false;}
            }
            
            $(document).ready(function(){
                $("#delete").click(function(){
                    return confirmation("' . $userData['firstname'] . " " . $userData['lastname'] . '");
                }).attr("href","adminuserdeleted.php?uidToEdit=' . $userId . '&cmd=exDelete");
            });
        </script>';
    } else {
        // Initialize user's data
        $userData = user_initialise();
        // No user's picture
        $pictureUrl = '';
        // Prefered language
        $currentLanguage = language::current_language();
    }
    // Editable fields
    if (empty($userId) || claro_is_platform_admin()) {
        $editableFields = array('name', 'official_code', 'login', 'password', 'email', 'phone', 'language', 'picture', 'skype');
        if (claro_is_platform_admin()) {
            $editableFields[] = 'authSource';
        }
    } else {
        $editableFields = AuthProfileManager::getUserAuthProfile($userId)->getEditableProfileFields();
        // get_conf('profile_editable');
        // pushClaroMessage(var_export($editableFields,true), 'debug');
    }
    if (!empty($_SERVER['HTTP_REFERER'])) {
        $cancelUrl = $_SERVER['HTTP_REFERER'];
    } else {
        $cancelUrl = $_SERVER['PHP_SELF'];
    }
    // Hack to prevent autocompletion of password fields from browser
    $htmlHeadXtra[] = '<script type="text/javascript">
        $(document).ready(
            function() {
                $("#password").val("");
            }
        );
    </script>';
    $template = new CoreTemplate('user_form.tpl.php');
    $template->assign('formAction', $_SERVER['PHP_SELF']);
    $template->assign('relayContext', claro_form_relay_context());
    $template->assign('cancelUrl', claro_htmlspecialchars(Url::Contextualize($cancelUrl)));
    $template->assign('editableFields', $editableFields);
    $template->assign('data', $userData);
    $template->assign('pictureUrl', $pictureUrl);
    $template->assign('currentLanguage', $currentLanguage);
    $template->assign('languages', get_language_to_display_list());
    return $template->render();
}