'; // Load a stylesheet. $css = loadCSS(api_get_setting('stylesheets')); // Setting some paths. $img_dir = api_get_path(REL_CODE_PATH).'img/'; $default_course_dir = api_get_path(REL_CODE_PATH).'default_course_document/'; // Setting templates for teachers or for students $is_allowed_to_edit = api_is_allowed_to_edit(false,true); // Start the templates node. echo ''; // Load empty template. load_empty_template(); if($is_allowed_to_edit){ // Load the templates that were defined by the platform admin. load_platform_templates(); } else{ // Load student templates. load_student_templates(); } // Load the personal templates. load_personal_templates(api_get_user_id()); // End the templates node. echo ''; exit; /** * Loads a given css style (default.css). * * @param string $css_name the folder name of the style * @return html code for adding a css style '."\n"; } /** * Transforms a language variable into XML-usable code * * @param unknown_type $var * @return unknown */ function s($var) { static $search = array('&', '<', '>'); static $replace = array('&',' &lt;', '&gt;'); return str_replace($search, $replace, api_utf8_encode(get_lang($var, ''))); } /** * Transforms some text into XML-usable code * * @param unknown_type $var * @return unknown */ function s2($var) { static $search = array('&', '<', '>'); static $replace = array('&', '&lt;', '&gt;'); return str_replace($search, $replace, api_utf8_encode($var)); } /** * Loads the platform templates as defined by the platform administrator in * "Administration > Configuration settings > Templates" * * @author Patrick Cool , Ghent University, Belgium * @version March 2009 * @since Dokeos 1.8.6 */ function load_platform_templates() { global $css, $img_dir, $default_course_dir, $js; $table_template = Database::get_main_table('system_template'); $sql = "SELECT title, image, comment, content FROM $table_template"; $result = Database::query($sql); $search = array('{CSS}', '{IMG_DIR}', '{REL_PATH}', '{COURSE_DIR}', '{WEB_PATH}', '{REL_CODE_PATH}'); $replace = array( $css.$js, $img_dir, api_get_path(REL_PATH), $default_course_dir, api_get_path(WEB_PATH), api_get_path(REL_CODE_PATH) ); $template_thumb = api_get_path(WEB_PATH).'home/default_platform_document/template_thumb/'; while ($row = Database::fetch_array($result)) { $image = empty($row['image']) ? $template_thumb.'empty.gif' : $template_thumb.$row['image']; $row['content'] = str_replace($search, $replace, $row['content']); echo ' '; } $certificateTemplateThumb = api_get_path(WEB_PATH) . 'main/gradebook/certificate_template/certificate_template.png'; $certificateTemplateContent = file_get_contents(api_get_path(SYS_PATH) . 'main/gradebook/certificate_template/template.html'); $certificateTemplateHTML = str_replace($search, $replace, $certificateTemplateContent); echo ''; } /** * Loads all the personal templates of the user when * * @param integer $user_id the id of the user * @return xml node * * @author Patrick Cool , Ghent University, Belgium * @version March 2009 * @since Dokeos 1.8.6 The code already existed but not in a function and a lot less performant. */ function load_personal_templates($user_id = 0) { global $_course; // the templates that the user has defined are only available inside the course itself if (empty($_course)) { return false; } // For which user are we getting the templates? if ($user_id == 0) { $user_id = api_get_user_id(); } $table_template = Database::get_main_table(TABLE_MAIN_TEMPLATES); $table_document = Database::get_course_table(TABLE_DOCUMENT); $course_id = api_get_course_int_id(); // The sql statement for getting all the user defined templates $sql = "SELECT template.id, template.title, template.description, template.image, template.ref_doc, document.path FROM ".$table_template." template, ".$table_document." document WHERE user_id='".intval($user_id)."' AND course_code='".Database::escape_string(api_get_course_id())."' AND document.c_id = $course_id AND document.id = template.ref_doc"; $result_template = Database::query($sql); while ($row = Database::fetch_array($result_template)) { $row['content'] = file_get_contents(api_get_path(SYS_COURSE_PATH).$_course['path'].'/document'.$row['path']); //$row['content'] = api_get_path(SYS_COURSE_PATH).$_course['path'].'/document'.$row['path']; if (!empty($row['image'])) { $image = api_get_path(WEB_PATH).'courses/'.$_course['path'].'/upload/template_thumbnails/'.$row['image']; } else { $image = api_get_path(WEB_PATH).'home/default_platform_document/template_thumb/noimage.gif'; } echo ' '; } } function load_empty_template() { global $css, $js; /* */ ?>