public function vars() { $this->assertCustomVarsSupport(); if ($this->vars === null) { if ($this->hasBeenLoadedFromDb()) { $this->vars = CustomVariables::loadForStoredObject($this); } else { $this->vars = new CustomVariables(); } } return $this->vars; }
public static function loadForStoredObject(IcingaObject $object) { $db = $object->getDb(); $query = $db->select()->from(array('v' => $object->getVarsTableName()), array('v.varname', 'v.varvalue', 'v.format'))->where(sprintf('v.%s = ?', $object->getVarsIdColumn()), $object->id); $vars = new CustomVariables(); foreach ($db->fetchAll($query) as $row) { $vars->vars[$row->varname] = CustomVariable::fromDbRow($row); } $vars->refreshIndex(); $vars->setUnmodified(); return $vars; }