provision_plugin); if (! $this->provision_plugin OR ! class_exists($c)) return NULL; $o = new $c($this); return $type ? $o->$type : $o; } /** * Enable the plugin to update */ public function admin_update() { if (is_null($plugin = $this->plugin())) return NULL; else return $plugin->admin_update(); } public function manage_button($t='') { static $k = ''; // If $k is already set, we've rendered this JS if (! $k) { $k = Random::char(); Session::instance()->set('manage_button',$k); Script::add(array('type'=>'stdin','data'=>' $(document).ready(function() { var x=0; $("button[name=submit]").click(function() { var t=$(this).val().split(":"); if (x++) { alert("Session expired, please refresh the page!"); return false; } $.getJSON("'.URL::link('admin','host/ajaxmanage/'.$this->id,TRUE).'", { k: "'.$k.'",t: t[1] }, function(data) { $.each(data, function(key, val) { $("#"+key+"_"+t[0]+"_"+t[1]).val(val); }); }) .error(function() { alert("There was a problem with the request"); return false; }) .success(function() { $("form[id=id_"+t[0]+"_"+t[1]+"]").submit(); }); }); });' )); } return is_null($this->plugin()) ? '' : $this->plugin()->admin_manage_button($this,$t); } } ?>