skala
Juan Carlos Raña 16 years ago
commit 72efdb72b9
  1. 1121
      main/exercice/exercice_submit.php
  2. 4
      main/exercice/exercise.lib.php
  3. 47
      main/inc/lib/javascript/glossary.js
  4. 67
      main/inc/lib/javascript/jquery.highlight.js

File diff suppressed because it is too large Load Diff

@ -45,8 +45,8 @@ require_once '../inc/lib/fckeditor/fckeditor.php';
function showQuestion($questionId, $onlyAnswers=false, $origin=false,$current_item, $total_item)
{
if (!ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) {
echo '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery.js" type="text/javascript"></script>';
echo '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery.corners.min.js" type="text/javascript"></script>';
//echo '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery.js" type="text/javascript"></script>';
//echo '<script src="'.api_get_path(WEB_LIBRARY_PATH).'javascript/jquery.corners.min.js" type="text/javascript"></script>';
}

@ -17,17 +17,39 @@ $(document).ready(function() {
return false;
}
data_terms=datas.split("[|.|_|.|-|.|]");
var complex_array = new Array();
var cp_complex_array = new Array();
for(i=0;i<data_terms.length;i++) {
specific_terms=data_terms[i].split("__|__|");
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();
var real_code = specific_terms[0];
complex_array[real_code] = real_term;
cp_complex_array[real_code] = real_term;
}
$(".glossary-content .glossary-ajax").mouseover(function(){
complex_array.reverse();
for (var my_index in complex_array) {
n = complex_array[my_index];
if (n == null) {
n = '';
} else {
for (var cp_my_index in cp_complex_array) {
cp_data = cp_complex_array[cp_my_index];
if (cp_data == null) {
cp_data = '';
} else {
if (cp_data == n) {
my_index = cp_my_index;
}
}
}
$('#highlight-plugin').removeHighlight().highlight(n,my_index)
}
}
var complex_array = new Array();
$("#highlight-plugin .glossary-ajax").mouseover(function(){
random_id=Math.round(Math.random()*100);
div_show_id="div_show_id"+random_id;
div_content_id="div_content_id"+random_id;
@ -49,19 +71,14 @@ $(document).ready(function() {
}
});
});
$(".glossary-content .glossary-ajax").mouseout(function(){
$("#highlight-plugin .glossary-ajax").mouseout(function(){
var current_element,
current_element=$(this);
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;
}
//helpers
}
});

@ -0,0 +1,67 @@
/*
highlight v3
Highlights arbitrary terms.
<http://johannburkard.de/blog/programming/javascript/highlight-javascript-text-higlighting-jquery-plugin.html>
MIT license.
Johann Burkard
<http://johannburkard.de>
<mailto:jb@eaio.com>
*/
jQuery.fn.highlight = function(pat,real_code) {
function innerHighlight(node, pat) {
var skip = 0;
if (node.nodeType == 3) {
var pos = node.data.toUpperCase().indexOf(pat);
if (pos >= 0) {
var spannode = document.createElement('a');
spannode.className = 'glossary-ajax';
spannode.style.color = 'blue';
spannode.name = 'link'+real_code;
spannode.href = '#';
var SearchRegExp = new RegExp("(" + pat +")","gi");
var MatchRegExp = node.nodeValue.match(SearchRegExp);
if (MatchRegExp == null) {
MatchRegExp = new Array();
}
//alert(node.nodeValue+'-----'+'---'+node.nodeValue[pat.length+1])
if (MatchRegExp.length > 0 && node.nodeValue[pat.length+1] != '') {
var middlebit = node.splitText(pos);
var endbit = middlebit.splitText(pat.length);
if (endbit.nodeValue[0] == null || endbit.nodeValue[0] == ' ') {
var middleclone = middlebit.cloneNode(true);
spannode.appendChild(middleclone);
middlebit.parentNode.replaceChild(spannode, middlebit);
}
}
skip = 1;
}
}
else if (node.nodeType == 1 && node.childNodes && !/(script|style)/i.test(node.tagName)) {
for (var i = 0; i <node.childNodes.length ; ++i) {
i += innerHighlight(node.childNodes[i], pat);
}
}
return skip;
}
return this.each(function() {
innerHighlight(this, pat.toUpperCase());
});
};
jQuery.fn.removeHighlight = function() {
return this.find("a.highlight").each(function() {
this.parentNode.firstChild.nodeName;
with (this.parentNode) {
replaceChild(this.firstChild, this);
normalize();
}
}).end();
};
Loading…
Cancel
Save