[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

/lib/plugins/config/core/Setting/ -> SettingPassword.php (source)

   1  <?php
   2  
   3  namespace dokuwiki\plugin\config\core\Setting;
   4  
   5  /**
   6   * Class setting_password
   7   */
   8  class SettingPassword extends SettingString
   9  {
  10      protected $code = 'plain';  // mechanism to be used to obscure passwords
  11  
  12      /** @inheritdoc */
  13      public function update($input)
  14      {
  15          if ($this->isProtected()) return false;
  16          if (!$input) return false;
  17  
  18          if ($this->pattern && !preg_match($this->pattern, $input)) {
  19              $this->error = true;
  20              $this->input = $input;
  21              return false;
  22          }
  23  
  24          $this->local = conf_encodeString($input, $this->code);
  25          return true;
  26      }
  27  
  28      /** @inheritdoc */
  29      public function html(\admin_plugin_config $plugin, $echo = false)
  30      {
  31  
  32          $disable = $this->isProtected() ? 'disabled="disabled"' : '';
  33  
  34          $key = htmlspecialchars($this->key);
  35  
  36          $label = '<label for="config___' . $key . '">' . $this->prompt($plugin) . '</label>';
  37          $input = '<input id="config___' . $key . '" name="config[' . $key .
  38              ']" autocomplete="off" type="password" class="edit" value="" ' . $disable . ' />';
  39          return [$label, $input];
  40      }
  41  }