[ Index ]

PHP Cross Reference of DokuWiki

title

Body

[close]

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

   1  <?php
   2  
   3  namespace dokuwiki\plugin\config\core\Setting;
   4  
   5  use dokuwiki\plugin\config\core\Configuration;
   6  
   7  /**
   8   * A do-nothing class used to detect settings with no metadata entry.
   9   * Used internaly to hide undefined settings, and generate the undefined settings list.
  10   */
  11  class SettingUndefined extends SettingHidden
  12  {
  13      protected $errorMessage = '_msg_setting_undefined';
  14  
  15      /** @inheritdoc */
  16      public function shouldHaveDefault()
  17      {
  18          return false;
  19      }
  20  
  21      /** @inheritdoc */
  22      public function html(\admin_plugin_config $plugin, $echo = false)
  23      {
  24          // determine the name the meta key would be called
  25          if (
  26              preg_match(
  27                  '/^(?:plugin|tpl)' . Configuration::KEYMARKER . '.*?' . Configuration::KEYMARKER . '(.*)$/',
  28                  $this->getKey(),
  29                  $undefined_setting_match
  30              )
  31          ) {
  32              $undefined_setting_key = $undefined_setting_match[1];
  33          } else {
  34              $undefined_setting_key = $this->getKey();
  35          }
  36  
  37          $label = '<span title="$meta[\'' . $undefined_setting_key . '\']">$' .
  38              'conf' . '[\'' . $this->getArrayKey() . '\']</span>';
  39          $input = $plugin->getLang($this->errorMessage);
  40  
  41          return [$label, $input];
  42      }
  43  }