isProtected()) { $value = $this->protected; $disable = ' disabled="disabled"'; } else { $value = is_null($this->local) ? $this->default : $this->local; } // ensure current value is included if(!in_array($value, $this->choices)) { $this->choices[] = $value; } // disable if no other choices if(!$this->isProtected() && count($this->choices) <= 1) { $disable = ' disabled="disabled"'; $nochoice = $plugin->getLang('nochoice'); } $key = htmlspecialchars($this->key); $label = ''; $input = "
\n"; $input .= ' $nochoice \n"; $input .= "
\n"; return array($label, $input); } /** @inheritdoc */ public function update($input) { if(is_null($input)) return false; if($this->isProtected()) return false; $value = is_null($this->local) ? $this->default : $this->local; if($value == $input) return false; if(!in_array($input, $this->choices)) return false; $this->local = $input; return true; } }