} #--- get -------------------------------------- function __get($name) { if (isset($this->{$name})) { return $this->{$name}; } else { if (isset($this->fields[$name])) { trigger_error("can't read '{$name}' from object of type " . get_class($this), E_USER_ERROR); } else { trigger_error("can't read '{$name}' from object of type '" . get_class($this) . "' ", E_USER_WARNING); } } } } DbProjectItem::initItemFields(); function addProjectItemFields(&$ref_fields) { global $g_item_fields; foreach ($g_item_fields as $f) { $ref_fields[$f->name] = $f; } } /** * abstract class for project-related database-objects (tasks, project, etc. ) * * By establishing the right-managing in the item-table we are possible to track * all items in a project. Each of those items consists of two parts: * ITEM * - holds information common to all project-related items (id, type, date, ownership, publicity, etc) *