parent
							
								
									d18c4da1da
								
							
						
					
					
						commit
						da9dcd1bf8
					
				@ -0,0 +1,62 @@ | 
				
			||||
<?php | 
				
			||||
$language_file[] = 'document'; | 
				
			||||
require_once '../inc/global.inc.php'; | 
				
			||||
require_once '../glossary/glossary.class.php'; | 
				
			||||
/* | 
				
			||||
==============================================================================  | 
				
			||||
		Main section | 
				
			||||
==============================================================================  | 
				
			||||
*/  | 
				
			||||
$file = Security::remove_XSS(urldecode($_GET['file'])); | 
				
			||||
$file=explode('?cidReq',$file); | 
				
			||||
$file=$file[0]; | 
				
			||||
$file_root=$_course['path'].'/document'.str_replace('%2F', '/',$file); | 
				
			||||
$file_url_sys=api_get_path(SYS_COURSE_PATH).$file_root; | 
				
			||||
$file_url_web=api_get_path(WEB_COURSE_PATH).$file_root; | 
				
			||||
 | 
				
			||||
$content_html=file_get_contents($file_url_sys); | 
				
			||||
$array_glossary=GlossaryManager::get_glossary_terms(); | 
				
			||||
if (count($array_glossary)>0) { | 
				
			||||
	foreach ($array_glossary as $index_glossary => $value_glossary) { | 
				
			||||
		$to_be_replaced[]=$str_href='<a name="link'.$value_glossary['id'].'"  href="javascript:void(0)" >'.$value_glossary['name'].'</a>';		 | 
				
			||||
		$to_replaced[]=$value_glossary['name']; | 
				
			||||
	} | 
				
			||||
}	 | 
				
			||||
 | 
				
			||||
$new_file=str_replace($to_replaced,$to_be_replaced,$content_html); | 
				
			||||
$new_file=str_replace('<head>','<head><script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery.js" type="text/javascript" language="javascript"></script><script type="text/javascript"> | 
				
			||||
   function display_notebook_info(notebook_id) { | 
				
			||||
   		data_notebook=notebook_id.split("link"); | 
				
			||||
   		$("#gls"+data_notebook[1]).attr("style","display:inline;float:left;position:absolute;background-color: white;border-bottom: 1px dashed #dddddd;border-right: 1px dashed #dddddd;border-left: 1px dashed #dddddd;border-top: 1px dashed #dddddd;color:#305582;margin-left:5px;margin-right:5px;"); | 
				
			||||
   } | 
				
			||||
   function hide_notebook_info(notebook_id) { | 
				
			||||
   	data_notebook=notebook_id.split("link"); | 
				
			||||
   	$("#gls"+data_notebook[1]).attr("style","display:none");   	 | 
				
			||||
   } | 
				
			||||
 $(document).ready(function() { | 
				
			||||
	$("body a").toggle(function(){ | 
				
			||||
	  $(this).append("<div id=\"div_show_id\" > </div>"); | 
				
			||||
   	  $("div#div_show_id").attr("style","display:inline;float:left;position:absolute;background-color:#F5F6CE;border-bottom: 1px dashed #dddddd;border-right: 1px dashed #dddddd;border-left: 1px dashed #dddddd;border-top: 1px dashed #dddddd;color:#305582;margin-left:5px;margin-right:5px;"); | 
				
			||||
  	  	notebook_id=$(this).attr("name"); | 
				
			||||
  	  	data_notebook=notebook_id.split("link"); | 
				
			||||
  	  	my_glossary_id=data_notebook[1]; | 
				
			||||
 | 
				
			||||
  	  	$.ajax({ | 
				
			||||
			contentType: "application/x-www-form-urlencoded", | 
				
			||||
			beforeSend: function(objeto) { | 
				
			||||
			$("div#div_show_id").html("<img src=\'../inc/lib/javascript/indicator.gif\' />"); }, | 
				
			||||
			type: "POST", | 
				
			||||
			url: "../glossary/glossary_ajax_request.php", | 
				
			||||
			data: "glossary_id="+my_glossary_id, | 
				
			||||
			success: function(datos) { | 
				
			||||
			 	$("div#div_show_id").html(datos); | 
				
			||||
			} | 
				
			||||
	 	});  	 | 
				
			||||
   	  		 | 
				
			||||
	},function(){ | 
				
			||||
	    $("div#div_show_id").remove(); | 
				
			||||
	}); | 
				
			||||
}); | 
				
			||||
</script>',$new_file); | 
				
			||||
echo $new_file; | 
				
			||||
?> | 
				
			||||
@ -0,0 +1,41 @@ | 
				
			||||
<?php | 
				
			||||
 | 
				
			||||
class GlossaryManager { | 
				
			||||
 | 
				
			||||
    function __construct() { | 
				
			||||
    	 | 
				
			||||
    } | 
				
			||||
    /** | 
				
			||||
     * Get all glossary terms | 
				
			||||
     * @author Isaac Flores <isaac.flores@dokeos.com> | 
				
			||||
     * @return Array Contain glossary terms | 
				
			||||
     */ | 
				
			||||
	public static function get_glossary_terms () { | 
				
			||||
		global $course; | 
				
			||||
		$glossary_id=array(); | 
				
			||||
		$glossary_name=array(); | 
				
			||||
		$glossary_desc=array();				 | 
				
			||||
		$glossary_table  = Database::get_course_table(TABLE_GLOSSARY); | 
				
			||||
		$sql='SELECT glossary_id as id,name,description FROM '.$glossary_table; | 
				
			||||
		$rs=Database::query($sql,__FILE__,__LINE__); | 
				
			||||
		while ($row=Database::fetch_array($rs)) { | 
				
			||||
			$glossary_data[]=$row;						 | 
				
			||||
		} | 
				
			||||
		return $glossary_data; | 
				
			||||
	} | 
				
			||||
	/** | 
				
			||||
	 * Get glossary term by glossary id | 
				
			||||
	 * @author Isaac Flores <florespaz@bidsoftperu.com> | 
				
			||||
	 * @param Integer The glossay id | 
				
			||||
	 * @return String The glossary description | 
				
			||||
	 */ | 
				
			||||
	public static function get_glossary_term_by_glossary_id ($glossary_id) { | 
				
			||||
		global $course; | 
				
			||||
		$glossary_table  = Database::get_course_table(TABLE_GLOSSARY); | 
				
			||||
		$sql='SELECT description FROM '.$glossary_table.' WHERE glossary_id="'.Database::escape_string($glossary_id).'"'; | 
				
			||||
		$rs=Database::query($sql,__FILE__,__LINE__); | 
				
			||||
		$row=Database::fetch_array($rs); | 
				
			||||
		return $row['description'];		 | 
				
			||||
	}    | 
				
			||||
} | 
				
			||||
?> | 
				
			||||
@ -0,0 +1,21 @@ | 
				
			||||
<?php | 
				
			||||
/* For licensing terms, see /dokeos_license.txt */ | 
				
			||||
 | 
				
			||||
// including the global dokeos file | 
				
			||||
require_once '../inc/global.inc.php'; | 
				
			||||
require_once '../glossary/glossary.class.php'; | 
				
			||||
 | 
				
			||||
// notice for unauthorized people. | 
				
			||||
api_protect_course_script(true); | 
				
			||||
 | 
				
			||||
/* | 
				
			||||
 * search a term and return description from a glossary | 
				
			||||
 */ | 
				
			||||
 $glossary_id=Security::remove_XSS($_POST['glossary_id']); | 
				
			||||
$glossary_description=GlossaryManager::get_glossary_term_by_glossary_id($glossary_id); | 
				
			||||
 | 
				
			||||
 if (isset($_POST['glossary_id']) && $_POST['glossary_id']==strval(intval($_POST['glossary_id']))) { | 
				
			||||
  	echo api_xml_http_response_encode($glossary_description);	 | 
				
			||||
 } else { | 
				
			||||
 	echo ''; | 
				
			||||
 } | 
				
			||||
					Loading…
					
					
				
		Reference in new issue