';
// 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('&',' <', '>');
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('&', '<', '>');
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 '
'.s($row['comment']).'
';
}
$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 ''
. ''. get_lang('TemplateCertificateComment') . ''
. ''
. ''
. ''
. '';
}
/**
* 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 '
'.s2($row['Description']).'
';
}
}
function load_empty_template() {
global $css, $js;
/*
*/
?>
]]>