public static function getParents($key) { $list = array(); while ($key) { $item = VarModel::prepareQuery()->where('key', $key)->first(); if ($item) { $list[] = $item; $key = $item->parent_key; } else { $key = ''; } } return $list; }
public function getIndex($var_key = '') { User::onlyHas('var-edit'); $this->data['var'] = VarModel::prepareQuery()->where('key', $var_key)->first(); if ($this->data['var'] || $var_key === '') { $this->data['var_key'] = $var_key; $this->data['var_list'] = VarModel::withParent($var_key); if ($this->data['var']) { $this->data['var_parents'] = VarModel::getParents($this->data['var']->parent_key); } else { $this->data['var_parents'] = []; } $this->layout->content = View::make('sections.var.list', $this->data); } else { throw new Exception("Var not found '{$var_key}'"); } }
/** * Load Vars */ protected static function loadVars() { $vars = \VarModel::prepareQuery()->select(\VarModel::getField('key'), \VarLangModel::getField('value'))->get(); $tmpv = array(); foreach ($vars as $var) { $tmpv[$var->key] = $var->value; } static::$vars = $tmpv; }