Skip to content
Browse files

allow <img> and other tags in LHS of JMatch when outputformat is "v6"

  • Loading branch information...
1 parent 69c6d6c commit 3c6a14ee1206efae380d9eb3d2d8f5546a6ebb19 gbateson committed Jun 19, 2008
Showing with 30 additions and 11 deletions.
  1. +30 −11 mod/hotpot/template/v6.php
View
41 mod/hotpot/template/v6.php
@@ -429,19 +429,19 @@ function v6_expand_MatchDivItems() {
$options = '<option value="x">'.$this->parent->xml_value('data,matching-exercise,default-right-item').'</option>';
foreach ($r_keys as $key) {
- if (empty($r_items[$key]['fixed'][0]['#'])) {
- $options .= '<option value="'.$key.'">'.$r_items[$key]['text'][0]['#'].'</option>'."\n";
+ if (empty($r_items[$key]['fixed'])) {
+ $options .= '<option value="'.$key.'">'.$r_items[$key]['text'].'</option>'."\n";
}
}
$str = '';
foreach ($l_keys as $key) {
- $str .= '<tr><td class="LeftItem">'.$l_items[$key]['text'][0]['#'].'</td>';
+ $str .= '<tr><td class="LeftItem">'.$l_items[$key]['text'].'</td>';
$str .= '<td class="RightItem">';
- if (empty($r_items[$key]['fixed'][0]['#'])) {
+ if (empty($r_items[$key]['fixed'])) {
$str .= '<select id="s'.$key.'_'.$key.'">'.$options.'</select>';
} else {
- $str .= $r_items[$key]['text'][0]['#'];
+ $str .= $r_items[$key]['text'];
}
$str .= '</td><td></td></tr>';
}
@@ -718,7 +718,7 @@ function v6_expand_FixedArray() {
$str = '';
foreach ($l_items as $i=>$item) {
$str .= "F[$i] = new Array();\n";
- $str .= "F[$i][0] = '".$this->js_safe($item['text'][0]['#'], true)."';\n";
+ $str .= "F[$i][0] = '".$this->js_safe($item['text'], true)."';\n";
$str .= "F[$i][1] = ".($i+1).";\n";
}
return $str;
@@ -731,14 +731,14 @@ function v6_expand_DragArray() {
$str = '';
foreach ($r_items as $i=>$item) {
$str .= "D[$i] = new Array();\n";
- $str .= "D[$i][0] = '".$this->js_safe($item['text'][0]['#'], true)."';\n";
+ $str .= "D[$i][0] = '".$this->js_safe($item['text'], true)."';\n";
$str .= "D[$i][1] = ".($i+1).";\n";
- $str .= "D[$i][2] = '".(empty($item['fixed'][0]['#']) ? 0 : 1)."';\n";
+ $str .= "D[$i][2] = '".(empty($item['fixed']) ? 0 : 1)."';\n";
}
return $str;
}
- function get_jmatch_items(&$l_items, &$r_items) {
+ function get_jmatch_items_old(&$l_items, &$r_items) {
$tags = 'data,matching-exercise,pair';
$i = 0;
while($item = $this->parent->xml_value($tags,"[$i]['#']['left-item'][0]['#']")) {
@@ -755,11 +755,30 @@ function get_jmatch_items(&$l_items, &$r_items) {
$i++;
}
}
+ function get_jmatch_items(&$l_items, &$r_items) {
+ $tags = 'data,matching-exercise,pair';
+ $i = 0;
+ while($this->parent->xml_value($tags,"[$i]['#']['left-item'][0]['#']")) {
+ if ($text = $this->parent->xml_value($tags,"[$i]['#']['left-item'][0]['#']['text'][0]['#']")) {
+ $fixed = $this->parent->xml_value($tags,"[$i]['#']['left-item'][0]['#']['fixed'][0]['#']");
+ $l_items[] = array('text'=>$text, 'fixed'=>$fixed);
+ }
+ $i++;
+ }
+ $i = 0;
+ while($this->parent->xml_value($tags,"[$i]['#']['right-item'][0]['#']")) {
+ if ($text = $this->parent->xml_value($tags,"[$i]['#']['right-item'][0]['#']['text'][0]['#']")) {
+ $fixed = $this->parent->xml_value($tags,"[$i]['#']['right-item'][0]['#']['fixed'][0]['#']");
+ $r_items[] = array('text'=>$text, 'fixed'=>$fixed);
+ }
+ $i++;
+ }
+ }
function shuffle_jmatch_items(&$items) {
// get moveable items
$moveable_keys = array();
for($i=0; $i<count($items); $i++) {
- if(empty($items[$i]['fixed'][0]['#'])) {
+ if(empty($items[$i]['fixed'])) {
$moveable_keys[] = $i;
}
}
@@ -769,7 +788,7 @@ function shuffle_jmatch_items(&$items) {
$keys = array();
for($i=0, $ii=0; $i<count($items); $i++) {
- if(empty($items[$i]['fixed'][0]['#'])) {
+ if(empty($items[$i]['fixed'])) {
// moveable items are inserted in a shuffled order
$keys[] = $moveable_keys[$ii++];
} else {

0 comments on commit 3c6a14e

Please sign in to comment.
Something went wrong with that request. Please try again.