'; } function wo_back_button($name='back', $val='Back', $class='primary') { // echo "ORIG REFERER: " . wp_get_original_referer() . "
"; // echo "REFERER: " . wp_get_referer() . "
"; // Add referer field wp_original_referer_field(true, 'previous'); // Get referer field for back button $referer = wp_get_original_referer(); if ($referer === false) { $referer = wp_get_referer(); } // echo "MY_REFERER: " . $referer . "
"; // TODO - change to anchor? $onClick = 'onclick="window.location=\'' . $referer . '\'"'; wo_button($name, $val, $onClick, $class); } function wo_referer($view) { } class WoElement { protected $name; // protected $required = false; function __construct($name) { $this->name = $name; } // function required() { // $this->required = $true; // } function display() { // Override mofo } function stuff($desc, $help='') { $name = $this->name; $desc = __($desc); # $val = esc_attr($val); // Need this? if ($help!='') { $help = "

".__($help)."

"; } $field = $this->display(); echo <<
$field $help
EOF; } function column($label='', $suffix=':') { $name = $this->name; if ($label!='') { $label = ''; } # $val = esc_attr($val); // Need this? $field = $this->display(); echo << $label $field EOF; } static function hidden($name, $value) { echo "\n"; } } class WoCheckBox extends WoElement { private $checked; private $ex; function __construct($name,$checked=0, $ex='') { parent::__construct($name); $this->checked = $checked; $this->ex = $ex; } function display() { if ($this->checked) $this->ex .= " CHECKED"; return "ex . "/>\n"; } // Assume no colon for checkbox function column($desc) { parent::column($desc,''); } } class WoText extends WoElement { private $text; function __construct($name, $text) { parent::__construct($name); $this->text = $text; } function display() { return $this->text; } } // class WoMapSelect extends WoElement { // function __construct($name, $arr, $sel='', $ex='') { // parent::__construct($name, $arr, $sel, $ex); // } // // } class WoSelect extends WoElement { private $arr; private $sel; private $ex; function __construct($name, $arr, $sel='', $ex='') { parent::__construct($name); $this->arr = $arr; $this->sel = $sel; $this->ex = $ex; } function display() { $name = $this->name; $field = ""; } function option($n,$p) { $field = "\n"; return $field; } } class WoMulti extends WoElement { private $arr; private $sel; private $ex; function __construct($name, $arr, $sel='', $ex='') { parent::__construct($name); $this->arr = $arr; $this->sel = $sel; $this->ex = $ex; } function display() { $name = $this->name; $field = ""; } function option($n,$p) { $field = "\n"; return $field; } } class WoFile extends WoElement { private $val; function __construct($name, $val = '') { parent::__construct($name); $this->val = $val; } function display() { $name = $this->name; // TODO - how do i set filename? return ""; } } class WoNumber extends WoInput { function __construct($name, $val='', $max=10, $ex='') { parent::__construct($name, $val, 4, "max=$max min=0 $ex", 'number'); } } class WoInput extends WoElement { private $val; private $size; private $ex; private $type; function __construct($name, $val='', $size=20, $ex='', $type='text') { parent::__construct($name); $this->val = $val; $this->size = $size > 0 ? $size : 20; $this->ex = $ex; $this->type = $type; } function display() { $name = $this->name; return "ex />"; } } class WoDate extends WoInput { function __construct($name, $val='') { parent::__construct($name, $val, 10, "class='date' required"); } } class WoOptionalDate extends WoInput { function __construct($name, $val='', $ex='') { parent::__construct($name, $val, 10, "class='date' $ex"); } function display() { return parent::display() . "   "; } } class WoDateTime extends WoInput { function __construct($name, $val='') { if ($val!='') $val = substr($val, 0, -3); // Remove seconds parent::__construct($name, $val, 10, "class='datetime' required"); } } class WoJS { static function convertBoolean($boolean) { return $boolean ? 'true' : 'false'; } } class WoToggle { // pattern/element pairs private $matches = array(); function __construct($pattern, $element) { $this->add($pattern, $element); } function add($pattern, $element) { $this->matches[$this->convert($pattern)] = $element; } function event() { $event = "onchange = \""; foreach ($this->matches as $pattern => $element) { $event .= "toggle(this.".$this->attribute().", $pattern, '$element'); "; } return $event . "\""; } function script($value) { $value = $this->convert($value); echo ""; } function convert($value) { return $value; } function attribute() { return 'value'; } } class WoToggleText extends WoToggle { function convert($value) { return "'$value'"; } } class WoToggleCheckbox extends WoToggle { function attribute() { return 'checked'; } function convert($value) { return WoJS::convertBoolean($value); } } function doRadioH($name,$arr,$checked) { # echo ""; foreach ($arr as $k=>$v) { echo "  $v"; } # echo ""; echo "
"; } function doRadioV($name,$arr) { foreach ($arr as $k=>$v) { # echo ""; echo "$v"; # echo ""; echo "
"; } } function doClear() { echo "\n"; } function doButton($name,$onClick) { echo "\n"; } function doSubmitNoTR($name,$value) { doButton($name,"document.f.op.value='$value'; submit();"); } function doSubmit($name,$value) { # echo ""; doSubmitNoTR($name,$value); # echo ""; echo "
"; } function doHeader($note) { doNote("$note"); } function doNote($note) { # echo ""; echo "  $note"; # \n"; echo "
"; } function show($out) { foreach($out as $o) { echo $o."\n"; } } function showBR($out) { foreach($out as $o => $l) { echo $o," : ",$l,"
"; } } function showArray($line) { foreach ($line as $n => $v) { //if ($v!="") { echo "$n: "; if (is_array($v) || is_object($v)) { echo "array[
"; showArray($v); echo "]
"; } else { echo ($v==null) ? 'null' : $v; } echo "
"; //} } } function format($str) { $str = preg_replace("/\[contact\|([^]]*)]/","contact",$str); $str = preg_replace("/\[(....*)\|([^]]*)]/","$2",$str); $str = preg_replace("/\[(.*)\|(.*)\]/","$2",$str); $str = str_replace("||","

",$str); $str = str_replace("|","
",$str); $str = preg_replace("/\*([^*]*)\*/","$1",$str); return $str; } function wo_images() { global $WO_IMAGES; return array( "G" => "G", "Y" => "Y", "R" => "R"); } function wo_set_title($title) { echo << jQuery("h1").last().html("$title"); EOF; } function wo_add_header($extra) { echo << jQuery(".post-header").prepend("$extra"); EOF; } ?>