Ver código fonte

[svn r19083] improve the organization of the global templates and some text

Juan Carlos Raña 16 anos atrás
pai
commit
d33184427c
2 arquivos alterados com 214 adições e 200 exclusões
  1. 19 5
      main/admin/settings.php
  2. 195 195
      main/inc/lib/fckeditor/fcktemplates.xml.php

+ 19 - 5
main/admin/settings.php

@@ -1,4 +1,4 @@
-<?php // $Id: settings.php 18981 2009-03-11 23:42:46Z herodoto $
+<?php // $Id: settings.php 19083 2009-03-16 21:54:10Z herodoto $
 /*
 ==============================================================================
 	Dokeos - elearning and course management software
@@ -976,7 +976,14 @@ function actions_filter($id)
  */
 function image_filter($image)
 {
-	return '<img src="'.api_get_path(WEB_PATH).'home/default_platform_document/'.$image.'" alt="'.$image.'"/>';
+	if (!empty($image))
+	{
+		return '<img src="'.api_get_path(WEB_PATH).'home/default_platform_document/template_thumb/'.$image.'" alt="'.get_lang('TemplatePreview').'"/>';
+	}
+	else
+	{
+		return '<img src="'.api_get_path(WEB_PATH).'home/default_platform_document/template_thumb/noimage.gif" alt="'.get_lang('NoTemplatePreview').'"/>';
+	}
 }
 
 /**
@@ -1031,7 +1038,14 @@ function add_edit_template()
 		$form->addElement('hidden','template_id');
 		
 		// adding an extrra field: a preview of the image that is currently used
-		$form->addElement('static','template_image_preview', '', '<img src="'.api_get_path(WEB_PATH).'home/default_platform_document/'.$row['image'].'" alt="'.$row['image'].'"/>');
+		if (!empty($row['image']))
+		{		
+			$form->addElement('static','template_image_preview', '', '<img src="'.api_get_path(WEB_PATH).'home/default_platform_document/template_thumb/'.$row['image'].'" alt="'.get_lang('TemplatePreview').'"/>');
+		}
+		else
+		{
+			$form->addElement('static','template_image_preview', '', '<img src="'.api_get_path(WEB_PATH).'home/default_platform_document/template_thumb/noimage.gif" alt="'.get_lang('NoTemplatePreview').'"/>');
+		}
 		
 		// setting the information of the template that we are editing 
 		$form->setDefaults($defaults);
@@ -1061,7 +1075,7 @@ function add_edit_template()
 				$new_file_name = add_ext_on_mime(stripslashes($_FILES['template_image']['name']), $_FILES['template_image']['type']);	
 				
 				// upload dir
-				$upload_dir = api_get_path(SYS_PATH).'home/default_platform_document/';
+				$upload_dir = api_get_path(SYS_PATH).'home/default_platform_document/template_thumb/';
 				
 				// create dir if not exists
                 if (!is_dir($upload_dir)) {
@@ -1153,7 +1167,7 @@ function delete_template($id)
 	$row = Database::fetch_array($result);	
 	if (!empty($row['image']))
 	{
-		unlink(api_get_path(SYS_PATH).'home/default_platform_document/'.$row['image']);
+		unlink(api_get_path(SYS_PATH).'home/default_platform_document/template_thumb/'.$row['image']);
 	}
 	
 	// now we remove it from the database

+ 195 - 195
main/inc/lib/fckeditor/fcktemplates.xml.php

@@ -1,196 +1,196 @@
-<?php 
-// setting the character set to UTF-8
-header('Content-Type: text/xml; charset=utf-8');
-
-// name of the language file that needs to be included
-$language_file = 'document';
-
-// including the global dokeos file
-require_once('../../global.inc.php');
-
-// outputting the opening tag of the xml file
-echo '<?xml version="1.0" encoding="utf-8" ?>';
-
-// is this needed? 
-$IMConfig['base_url'] = $_configuration['root_web'].'main/img/gallery/';
-
-// 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/';
-
-// start the templates node
-echo '<Templates imagesBasePath="">';
-
-// load empty template
-load_empty_template();
-
-// load the templates that were defined by the platform admin
-load_platform_templates();
-
-// load the personal templates
-load_personal_templates(api_get_user_id());
-
-// end the templates node
-echo '</Templates>';
-exit;
-
-
-/**
- * load a given css style (default.css)
- *
- * @param string $css_name the folder name of the style
- * @return html code for adding a css style <style ...
- */
-function loadCSS($css_name)
-{
-	$template_css = ' <style type="text/css">'.str_replace('../../img/',api_get_path(REL_CODE_PATH).'img/',file_get_contents(api_get_path(SYS_PATH).'main/css/'.$css_name.'/default.css')).'</style>';
-	$template_css = str_replace('images/',api_get_path(REL_CODE_PATH).'css/'.$css_name.'/images/',$template_css);
-	return $template_css;
-}
-
-/**
- * Transforms a language variable into XML-usable code
- *
- * @param unknown_type $var
- * @return unknown
- */
-function s($var)
-{
-	global $charset;
-    $search = array('&','<','>');
-    $replace = array ('&amp;','&amp;lt;','&amp;gt;');
-    return str_replace($search,$replace,mb_convert_encoding(get_lang($var),'UTF-8',$charset));
-}
-
-/**
- * Transforms a language variable into XML-usable code
- *
- * @param unknown_type $var
- * @return unknown
- */
-function s2($var)
-{
-	global $charset;
-    $search = array('&','<','>');
-    $replace = array ('&amp;','&amp;lt;','&amp;gt;');
-    return str_replace($search,$replace,mb_convert_encoding($var,'UTF-8',$charset));
-}
-
-/**
- * Load the platform templates as defined by the platform administrator in "Platform administration > Dokeos configuration settings > templates"
- *
- * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University, Belgium
- * @version March 2009
- * @since Dokeos 1.8.6
- */
-function load_platform_templates() {
-	// Database table definition
-	$table_template = Database::get_main_table('system_template');	
-	global $css, $img_dir, $default_course_dir;
-	$sql = "SELECT title, image, comment, content FROM $table_template";
-	
-	$result = api_sql_query($sql, __FILE__, __LINE__);
-	while ($row = Database::fetch_array($result)) {
-        if (!empty($row['image'])) {
-            $image = api_get_path(WEB_PATH).'home/default_platform_document/'.$row['image'];
-        } else {
-            $image = api_get_path(WEB_PATH).'home/default_platform_document/empty.gif';
-        }
-      	$row['content'] =  str_replace('{CSS}',$css, $row['content']);
-      	$row['content'] =  str_replace('{IMG_DIR}',$img_dir, $row['content']);
-      	$row['content'] =  str_replace('{REL_PATH}', api_get_path(REL_PATH), $row['content']);
-      	$row['content'] =  str_replace('{COURSE_DIR}',$default_course_dir, $row['content']);
-
-		echo '	<Template title="'.s(get_lang($row['title'])).'" image="'.$image.'">
-					<Description>'.s(get_lang($row['comment'])).'</Description>
-					<Html>
-						<![CDATA[
-							    '.$row['content'].'
-						]]>
-					</Html>
-				</Template>';			
-	}
-}
-
-/**
- * Load all the personal templates of the user when 
- *
- * @param integer $user_id the id of the user
- * @return xml node
- * 
- * @author Patrick Cool <patrick.cool@UGent.be>, 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();
-	}
-
-	// Database table definition
-	$table_template = Database::get_main_table(TABLE_MAIN_TEMPLATES);	
-	$table_document = Database::get_course_table(TABLE_DOCUMENT, $_course['dbName']);	
-	
-	
-	// 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='".Database::escape_string($user_id)."'
-			AND course_code='".Database::escape_string(api_get_course_id())."'
-			AND document.id = template.ref_doc"; 
-	$result_template = api_sql_query($sql,__FILE__,__LINE__);
-	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_CODE_PATH).'upload/template_thumbnails/'.$row['image'];
-		} else {			
-			$image = api_get_path(WEB_PATH).'home/default_platform_document/empty.gif';
-		}
-		
-		
-		echo '	<Template title="'.s2($row['title']).'" image="'.$image.'">
-					<Description>'.s2($row['Description']).'</Description>
-					<Html>
-						<![CDATA[
-							    '.$row['content'].'
-						]]>
-					</Html>
-				</Template>';		
-	}	
-}
-
-function load_empty_template()
-{
-	global $css;
-	?>
-
-<Template title="<?php echo s('Empty'); ?>" image="<?php echo api_get_path(WEB_PATH).'home/default_platform_document/empty.gif'; ?>">
-    <Description></Description>
-    <Html>
-        <![CDATA[
-        	<head>
-            	<?php echo $css ?>
-            </head>
-        ]]>    
-    </Html>
-</Template>
-<?php
-}
+<?php 
+// setting the character set to UTF-8
+header('Content-Type: text/xml; charset=utf-8');
+
+// name of the language file that needs to be included
+$language_file = 'document';
+
+// including the global dokeos file
+require_once('../../global.inc.php');
+
+// outputting the opening tag of the xml file
+echo '<?xml version="1.0" encoding="utf-8" ?>';
+
+// is this needed? 
+$IMConfig['base_url'] = $_configuration['root_web'].'main/img/gallery/';
+
+// 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/';
+
+// start the templates node
+echo '<Templates imagesBasePath="">';
+
+// load empty template
+load_empty_template();
+
+// load the templates that were defined by the platform admin
+load_platform_templates();
+
+// load the personal templates
+load_personal_templates(api_get_user_id());
+
+// end the templates node
+echo '</Templates>';
+exit;
+
+
+/**
+ * load a given css style (default.css)
+ *
+ * @param string $css_name the folder name of the style
+ * @return html code for adding a css style <style ...
+ */
+function loadCSS($css_name)
+{
+	$template_css = ' <style type="text/css">'.str_replace('../../img/',api_get_path(REL_CODE_PATH).'img/',file_get_contents(api_get_path(SYS_PATH).'main/css/'.$css_name.'/default.css')).'</style>';
+	$template_css = str_replace('images/',api_get_path(REL_CODE_PATH).'css/'.$css_name.'/images/',$template_css);
+	return $template_css;
+}
+
+/**
+ * Transforms a language variable into XML-usable code
+ *
+ * @param unknown_type $var
+ * @return unknown
+ */
+function s($var)
+{
+	global $charset;
+    $search = array('&','<','>');
+    $replace = array ('&amp;','&amp;lt;','&amp;gt;');
+    return str_replace($search,$replace,mb_convert_encoding(get_lang($var),'UTF-8',$charset));
+}
+
+/**
+ * Transforms a language variable into XML-usable code
+ *
+ * @param unknown_type $var
+ * @return unknown
+ */
+function s2($var)
+{
+	global $charset;
+    $search = array('&','<','>');
+    $replace = array ('&amp;','&amp;lt;','&amp;gt;');
+    return str_replace($search,$replace,mb_convert_encoding($var,'UTF-8',$charset));
+}
+
+/**
+ * Load the platform templates as defined by the platform administrator in "Platform administration > Dokeos configuration settings > templates"
+ *
+ * @author Patrick Cool <patrick.cool@UGent.be>, Ghent University, Belgium
+ * @version March 2009
+ * @since Dokeos 1.8.6
+ */
+function load_platform_templates() {
+	// Database table definition
+	$table_template = Database::get_main_table('system_template');	
+	global $css, $img_dir, $default_course_dir;
+	$sql = "SELECT title, image, comment, content FROM $table_template";
+	
+	$result = api_sql_query($sql, __FILE__, __LINE__);
+	while ($row = Database::fetch_array($result)) {
+        if (!empty($row['image'])) {
+            $image = api_get_path(WEB_PATH).'home/default_platform_document/template_thumb/'.$row['image'];
+        } else {
+            $image = api_get_path(WEB_PATH).'home/default_platform_document/template_thumb/empty.gif';
+        }
+      	$row['content'] =  str_replace('{CSS}',$css, $row['content']);
+      	$row['content'] =  str_replace('{IMG_DIR}',$img_dir, $row['content']);
+      	$row['content'] =  str_replace('{REL_PATH}', api_get_path(REL_PATH), $row['content']);
+      	$row['content'] =  str_replace('{COURSE_DIR}',$default_course_dir, $row['content']);
+
+		echo '	<Template title="'.s(get_lang($row['title'])).'" image="'.$image.'">
+					<Description>'.s(get_lang($row['comment'])).'</Description>
+					<Html>
+						<![CDATA[
+							    '.$row['content'].'
+						]]>
+					</Html>
+				</Template>';			
+	}
+}
+
+/**
+ * Load all the personal templates of the user when 
+ *
+ * @param integer $user_id the id of the user
+ * @return xml node
+ * 
+ * @author Patrick Cool <patrick.cool@UGent.be>, 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();
+	}
+
+	// Database table definition
+	$table_template = Database::get_main_table(TABLE_MAIN_TEMPLATES);	
+	$table_document = Database::get_course_table(TABLE_DOCUMENT, $_course['dbName']);	
+	
+	
+	// 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='".Database::escape_string($user_id)."'
+			AND course_code='".Database::escape_string(api_get_course_id())."'
+			AND document.id = template.ref_doc"; 
+	$result_template = api_sql_query($sql,__FILE__,__LINE__);
+	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_CODE_PATH).'upload/template_thumbnails/'.$row['image'];
+		} else {			
+			$image = api_get_path(WEB_PATH).'home/default_platform_document/template_thumb/noimage.gif';
+		}
+		
+		
+		echo '	<Template title="'.s2($row['title']).'" image="'.$image.'">
+					<Description>'.s2($row['Description']).'</Description>
+					<Html>
+						<![CDATA[
+							    '.$row['content'].'
+						]]>
+					</Html>
+				</Template>';		
+	}	
+}
+
+function load_empty_template()
+{
+	global $css;
+	?>
+
+<Template title="<?php echo s('Empty'); ?>" image="<?php echo api_get_path(WEB_PATH).'home/default_platform_document/template_thumb/empty.gif'; ?>">
+    <Description></Description>
+    <Html>
+        <![CDATA[
+        	<head>
+            	<?php echo $css ?>
+            </head>
+        ]]>    
+    </Html>
+</Template>
+<?php
+}
 ?>