Browse Source

Improvements of glossary in several tools

Isaac Flores 15 years ago
parent
commit
6b32fb9a01

+ 15 - 5
main/inc/lib/fckeditor/editor/plugins/glossary/fck_glossary_automatic.js

@@ -18,12 +18,14 @@ $(document).ready(function() {
                 data_terms=datas.split("[|.|_|.|-|.|]");
                 for(i=0;i<data_terms.length;i++) {
                     specific_terms=data_terms[i].split("__|__|");
-                    var my_specific_terms = new RegExp('[^A-Za-z0-9/_\<>]('+specific_terms[1]+')',"g");
-				    new_html=my_text.replace(my_specific_terms,"<span class=\"glossary-ajax\" style='color:blue'  name=\"link"+specific_terms[0]+"\">"+specific_terms[1]+"</span>");
+                    var real_term = specific_terms[1];
+                    var my_specific_terms = new RegExp('([^A-Za-z0-9/_\<>])'+specific_terms[1]+'[\ .,]{0,1}',"gi");
+                    new_html=my_text.replace(my_specific_terms,function(m){return replace_complete_char(m)});
                     $("body").html(new_html);
                     my_text=$("body").html();
                 }
-
+              
+			  //mouse over event
 			  $("body .glossary-ajax").mouseover(function(){
 	            random_id=Math.round(Math.random()*100);
 	            div_show_id="div_show_id"+random_id;
@@ -46,14 +48,22 @@ $(document).ready(function() {
 	                    }
 	                });
 	          });
+			  
+			  //mouse out event
 	          $("body .glossary-ajax").mouseout(function(){
 		            var current_element,
 		            current_element=$(this);
 		            div_show_id=current_element.find("div").attr("id");
 		            $("div#"+div_show_id).remove();
 	          });
-
-
+            
+			//Callback Helper
+            function replace_complete_char(m) {
+               var complete_term_pattern = new RegExp(real_term,"i"); 
+               var tag = m.replace(complete_term_pattern," <span class=\"glossary-ajax\" style='color:blue' name=\"link"+specific_terms[0]+"\">$&</span>"); 
+               return tag;
+            }
+				
 				}
 
             });

+ 11 - 6
main/inc/lib/javascript/glossary.js

@@ -20,11 +20,11 @@ $(document).ready(function() {
 				
                 for(i=0;i<data_terms.length;i++) {
                     specific_terms=data_terms[i].split("__|__|");
-                    var my_specific_terms = new RegExp('([^A-Za-z0-9/_\<>])('+specific_terms[1]+')',"g");
-					new_html=my_text.replace(my_specific_terms," <span class=\"glossary-ajax\" style='color:blue' name=\"link"+specific_terms[0]+"\">"+specific_terms[1]+"</span>");
-					$(".glossary-content").html(new_html);
-                    my_text=$(".glossary-content").html();
-					
+					var real_term = specific_terms[1];
+                    var my_specific_terms = new RegExp('([^A-Za-z0-9/_\<>])'+specific_terms[1]+'[\ .,]{0,1}',"gi");
+                    new_html=my_text.replace(my_specific_terms,function(m){return replace_complete_char(m)});
+                    $(".glossary-content").html(new_html);
+                    my_text=$(".glossary-content").html();					
                 }
 
               $(".glossary-content .glossary-ajax").mouseover(function(){
@@ -55,7 +55,12 @@ $(document).ready(function() {
                     div_show_id=current_element.find("div").attr("id");
                     $("div#"+div_show_id).remove();
               });
-
+                
+				function replace_complete_char(m) {
+				   var complete_term_pattern = new RegExp(real_term,"i"); 
+				   var tag = m.replace(complete_term_pattern," <span class=\"glossary-ajax\" style='color:blue' name=\"link"+specific_terms[0]+"\">$&</span>"); 
+				   return tag;
+				}
 
                 }
 

+ 10 - 3
main/newscorm/scorm_api.php

@@ -1617,8 +1617,9 @@ function attach_glossary_into_scorm() {
                 data_terms=datos.split("[|.|_|.|-|.|]");
                 for(i=0;i<data_terms.length;i++) {
                     specific_terms=data_terms[i].split("__|__|");
-                    var my_specific_terms = new RegExp('[^A-Za-z0-9/_\<>]('+specific_terms[1]+')',"g");
-                    new_html=my_text.replace(my_specific_terms," <span style='color:blue' class=\"glossary-ajax\" name=\"link"+specific_terms[0]+"\" >"+specific_terms[1]+"</span>");
+                    var real_term = specific_terms[1];
+                    var my_specific_terms = new RegExp('([^A-Za-z0-9/_\<>])'+specific_terms[1]+'[\ .,]{0,1}',"gi");
+                    new_html=my_text.replace(my_specific_terms,function(m){return replace_complete_char(m)});
                     $frame_content.html(new_html);
                     my_text=$frame_content.html();
                 }
@@ -1652,7 +1653,13 @@ function attach_glossary_into_scorm() {
                 div_show_id=current_element.find("div").attr("id");
                $("iframe").contents().find('body').find("div#"+div_show_id).remove();
             });
-
+            
+            //Callback Helper
+            function replace_complete_char(m) {
+               var complete_term_pattern = new RegExp(real_term,"i"); 
+               var tag = m.replace(complete_term_pattern," <span class=\"glossary-ajax\" style='color:blue' name=\"link"+specific_terms[0]+"\">$&</span>"); 
+               return tag;
+            }
 
         }