00001 <?php
00002
00010 class TKGetAction extends TKAction {
00011 protected $vars;
00012 protected $action;
00013
00020 public function __construct($vars = array(), $action = "") {
00021 parent::__construct();
00022
00023 if($action == "")
00024 $action = $_SERVER['REQUEST_URI'];
00025 $this->action = $action;
00026 $this->vars = $vars;
00027 }
00028
00030 public function getInvocation() {
00031 $str = "?";
00032 foreach($this->vars as $name => $value) {
00033 $str .= "$name=" . urlencode($value) . "&";
00034 }
00035 $str = rtrim($str, "&");
00036 $link = $this->action . $str;
00037 return "window.location='$link'";
00038 }
00039
00041 public static function createFromXML($attrs, $children) {
00042 $varStr = isset($attrs['vars']) ? (string)$attrs['vars'] : "";
00043 $action = isset($attrs['faction']) ? (string)$attrs['faction'] : "";
00044 $vars = array();
00045 $tmp = split(";", $varStr);
00046 foreach($tmp as $t) {
00047 if($t == '')
00048 continue;
00049 $tmp2 = split("::", $t);
00050 $vars[$tmp2[0]] = $tmp2[1];
00051 }
00052 $obj = new TKGetAction($vars, $action);
00053 return $obj;
00054 }
00055 }
00056
00057 ?>