コード例 #1
0
 public function getXML($data)
 {
     $content = self::getChildrenXML($data);
     if (!empty($content)) {
         return parent::wrapXML(array('type' => 'group', 'tab' => (bool) $this->tab, 'mode' => $this->mode), $content);
     }
 }
コード例 #2
0
 public function getXML($data)
 {
     if (null === ($value = $data->{$this->value})) {
         $value = $this->default;
     }
     return parent::wrapXML(array('type' => 'hidden'), html::cdata($value));
 }
コード例 #3
0
 public function getXML($data)
 {
     if (empty($data->{$this->value})) {
         return;
     }
     return parent::wrapXML(array('value' => $this->renderContent($data->{$this->value})));
 }
コード例 #4
0
 public function getXML($data)
 {
     if (!$this->isActive($data)) {
         return;
     }
     // Сбрасываем капчу, чтобы если отключена загрузка картинок,
     // пользователь получил ошибку.
     mcms::session('captcha:' . $this->value, null);
     return parent::wrapXML(array());
 }
コード例 #5
0
 public function getXML($data)
 {
     if (is_array($content = $data->{$this->value})) {
         $content = join("\n", $content);
     }
     if (empty($content) and isset($this->default)) {
         $content = $this->default;
     }
     return parent::wrapXML(array('type' => 'textarea', 'rows' => $this->rows, 'cols' => $this->cols), html::cdata($content));
 }
コード例 #6
0
 public function getXML($data)
 {
     if (empty($data[$this->value])) {
         return;
     }
     $items = '';
     foreach ($data->{$this->value} as $rid => $info) {
         $items .= html::em('item', array('uid' => $info['uid'], 'username' => $info['username'], 'rid' => $rid, 'created' => $info['created']));
     }
     return empty($items) ? null : parent::wrapXML(array(), $items);
 }
コード例 #7
0
 public function getXML($data)
 {
     if (isset($this->hidden)) {
         return $this->getHidden($data);
     }
     if (null === ($value = $data->{$this->value})) {
         $value = $this->default;
     }
     if ($value == $this->default) {
         $value = null;
     }
     return parent::wrapXML(array('type' => 'text', 'mode' => 'number'), $value);
 }
コード例 #8
0
ファイル: control.user.php プロジェクト: umonkey/molinos-cms
 /**
  * Возвращает XML для отображения контрола.
  */
 public function getXML($data)
 {
     // Существующий объект, ничего не делаем.
     if (!empty($data->id)) {
         return;
     }
     $user = Context::last()->user;
     // Пользователь залогинен, делать нечего.
     if (!$this->required and $user->id) {
         return parent::wrapXML(array('type' => 'checkbox', 'title' => t('Опубликовать анонимно (а не как %name)', array('%name' => $user->getNode()->getName()))));
     } elseif (!$user->id) {
         return parent::wrapXML(array('type' => 'text', 'title' => t('Имя или ник')));
     }
 }
コード例 #9
0
 public function getXML($data)
 {
     if ($this->hidden) {
         return $this->getHidden($data);
     }
     $map = array('select' => 'drop');
     if (isset($map[$mode = $this->mode])) {
         $mode = $map[$mode];
     }
     if ('enter' != $mode) {
         return parent::wrapXML(array('type' => 'select', 'mode' => $mode, 'value' => $this->getCurrentValue($data)), $this->getSelect($data));
     }
     return parent::wrapXML(array('type' => 'text'), html::cdata($this->getCurrentValue($data)));
 }
コード例 #10
0
ファイル: control.enum.php プロジェクト: umonkey/molinos-cms
 public function getXML($data)
 {
     $options = '';
     if (!$this->required) {
         $options .= html::em('option', array('value' => ''), html::cdata($this->default_label));
     }
     $enabled = $this->getEnabled($data);
     if (is_array($enabled) and count($enabled) == 1) {
         return html::em('input', array('type' => 'hidden', 'name' => $this->value, 'value' => array_shift($enabled)));
     }
     $selected = $this->getSelected($data);
     $list = $this->prepend + $this->getData($data);
     foreach ($list as $k => $v) {
         $options .= html::em('option', array('value' => $k, 'selected' => in_array($k, $selected), 'disabled' => !(null === $enabled or in_array($k, $enabled))), html::cdata($v));
     }
     return parent::wrapXML(array('type' => 'select', 'mode' => $this->getMode()), $options);
 }
コード例 #11
0
ファイル: control.set.php プロジェクト: umonkey/molinos-cms
 public function getXML($data)
 {
     $options = $this->getOptions($data);
     if (empty($options)) {
         return null;
     }
     $selected = $this->getSelected($data);
     $enabled = $this->getEnabled($data);
     $options = $this->filterOptions($options, $enabled, $selected);
     // Если ни одна опция не разрешена — не выводим контрол.
     if ($enabled !== null and empty($enabled)) {
         return null;
     }
     $output = '';
     foreach ($options as $k => $v) {
         $disabled = (null !== $enabled and !in_array($k, $enabled)) ? true : false;
         $output .= html::em('option', array('value' => $k, 'selected' => in_array($k, $selected), 'disabled' => !empty($disabled)), html::cdata($v));
     }
     return parent::wrapXML(array('type' => 'select', 'mode' => 'set'), $output);
 }
コード例 #12
0
 public function getXML($data)
 {
     $selected = $data->{$this->value};
     if (null === $selected) {
         if (null !== $this->default and array_key_exists($this->default, $this->options)) {
             $selected = $this->default;
         } elseif ($this->required) {
             $tmp = array_keys($this->options);
             $selected = $tmp[0];
         }
     }
     if (count($options = $this->getData())) {
         $output = '';
         foreach ($options as $k => $v) {
             $output .= html::em('option', array('selected' => $selected == $k, 'value' => $k), html::cdata($v));
         }
     }
     if (!empty($output)) {
         return parent::wrapXML(array('type' => 'select', 'mode' => 'radio'), $output);
     }
 }
コード例 #13
0
 public function getXML($data)
 {
     return parent::wrapXML(array('type' => 'file'));
 }
コード例 #14
0
 public function getXML($data)
 {
     return parent::wrapXML(array('type' => 'text', 'maxlength' => $this->getMaxLength()), html::cdata($this->getValue($data)));
 }
コード例 #15
0
 public function getXML($data)
 {
     return parent::wrapXML(array('type' => 'text', 'mode' => 'datetime'), html::cdata($data->{$this->value}));
 }
コード例 #16
0
ファイル: control.bool.php プロジェクト: umonkey/molinos-cms
 public function getXML($data)
 {
     return parent::wrapXML(array('type' => 'checkbox', 'selected' => !empty($data->{$this->value})));
 }
コード例 #17
0
ファイル: control.info.php プロジェクト: umonkey/molinos-cms
 public function getXML($data)
 {
     return parent::wrapXML(array('text' => $this->text, 'url' => $this->url));
 }