00001 <?php
00002
00003
00004
00005
00006
00007
00008 class UpdateCommand extends CommandTransactional {
00009
00010
00011
00012
00013
00014 protected function do_execute() {
00015 $ret = new Status();
00016
00017
00018 $inst = $this->get_instance();
00019 $params = $this->get_params();
00020
00021 foreach($inst->get_table_keys() as $col => $field) {
00022 unset($params[$col]);
00023 }
00024
00025 $inst->read_from_array($this->get_params());
00026 $ret->merge($inst->validate());
00027 if ($ret->is_ok()) {
00028 $ret->merge($inst->update());
00029 $this->set_result($inst);
00030 }
00031 return $ret;
00032 }
00033
00034
00035
00036
00037 public function get_name() {
00038 return 'update';
00039 }
00040
00041
00042
00043
00044 public function get_description() {
00045 $ret = '';
00046 $ret = tr(
00047 'Update instance',
00048 'app'
00049 );
00050 return $ret;
00051 }
00052
00053 }