Files
thetool/application/Workflowvalue/Workflowvalue.php
2021-08-29 16:56:46 +02:00

93 lines
1.9 KiB
PHP

<?php
class Workflowvalue extends mfBaseModel {
private $item;
public function setValue($value, $items) {
$this->item = $this->getProperty("item");
if($this->item->type == "delimiter" || $this->item->type == "empty") {
return true;
}
$value_type = "string";
switch($this->item->type) {
case "string":
$value_type = "string";
break;
case "enum":
$value_type = "string";
break;
case "gps":
$value_type = "string";
break;
case "color":
$value_type = "string";
break;
case "date":
$value_type = "string";
break;
case "int":
$value_type = "int";
break;
case "bool":
$value_type = "int";
break;
case "file":
$value_type = "int";
break;
case "text":
$value_type = "text";
break;
}
if($this->item->type == "gps") {
if(is_array($value) && count($value) == 2) {
$lat = $value['lat'];
$long = $value['long'];
$value = "$lat;$long";
} else {
$value = "";
}
}
$me = new User();
$me->loadMe();
if($this->{"value_".$value_type} != $value) {
$this->{"value_".$value_type} = $value;
$this->changed = date('U');
$this->changed_by = $me->id;
}
if($this->new() == "new") {
$this->changed = date('U');
$this->changed_by = $me->id;
}
}
public function getProperty($name) {
if($this->$name == null) {
if($name == "item") {
$this->item = new Workflowitem($this->item_id);
return $this->item;
}
$classname = ucfirst($name);
$idfield = $name."_id";
$this->$name = new $classname($this->$idfield);
if($this->$name->id) {
return $this->$name;
} else {
return null;
}
}
return $this->$name;
}
}