mod); if($module && method_exists($module, "showRef")) { $str .= "
\n"; $str .= /*"[".$this->mod."] - ".*/$module->showRef($this->id); $str .= "
\n"; } return $str; } function Ref($mod, $id) { $this->mod = $mod; $this->id = $id; } } class Refs { public $refs = array(); function show() { $str = ""; $str .= "
\n"; $str .= "
References:
\n"; foreach($this->refs as $ref) { $str .= $ref->show(); } $str .= "
"; return $str; } public function write($fp, $indent) { if($this->refs) { fwrite($fp, $indent."\n"); foreach($this->refs as $ref) { fwrite($fp, $indent." mod."\" id=\"".$ref->id."\"/>\n"); } fwrite($fp, $indent."\n"); } } public function add($ref) { array_push($this->refs, $ref); } public function Refs($refsnode = NULL) { if(!$refsnode) return; $refs = $refsnode->getElementsByTagName('ref'); foreach($refs as $r) { $ref = new Ref($r->getAttribute('mod'), $r->getAttribute('id')); $this->add($ref); } } } function refsAddWidget($form, $refslist) { $form->addWidget(new ListEditor("References:", "refslist", new LineEdit("ID", "ref_id"), new LineEdit("Module", "ref_mod"), $refslist, true)); } function refsAddHiddenWidget($form, $lst) { $vallst = array(); $vallst["refslist_hidden"] = serialize(refsGetCommaListFromRefs($lst)); $form->addWidget(new Hidden($vallst)); } function refsGetFromHidden($vals) { $refslist = unserialize($vals["refslist_hidden"]); return $refslist; } function refsGetCommaListFromRefs($refs) { $lst = array(); foreach($refs->refs as $ref) { array_push($lst, $ref->mod.":".$ref->id); } return $lst; } function refsGetRefsFromHidden($vals) { $r = refsGetFromHidden($vals); $refs = new Refs(); foreach($r as $k => $val) { $v = explode(":", $val); $refmod = $v[0]; $refid = $v[1]; $ref = new Ref($refmod, $refid); $refs->add($ref); } return $refs; } function refsGetRefsFromWidget() { $lst = refsGetValuesFromWidget(); $refs = new Refs(); foreach($lst as $val) { $v = explode(":", $val); $refmod = $v[0]; $refid = $v[1]; $ref = new Ref($refmod, $refid); $refs->add($ref); } return $refs; } function refsGetValuesFromWidget() { global $GLOBALS; return $GLOBALS["refslist"]; } ?>