| 
							- <?php
 - 
 - namespace dokuwiki\Ui;
 - 
 - use dokuwiki\Form\Form;
 - 
 - /**
 -  * DokuWiki Subscribe Interface
 -  *
 -  * @package dokuwiki\Ui
 -  */
 - class Subscribe extends Ui
 - {
 -     /**
 -      * Display the subscribe form
 -      *
 -      * @return void
 -      * @author Adrian Lang <lang@cosmocode.de>
 -      *
 -      */
 -     public function show()
 -     {
 -         global $INPUT;
 -         global $INFO;
 -         global $ID;
 -         global $lang;
 -         global $conf;
 -         $stime_days = $conf['subscribe_time'] / 60 / 60 / 24;
 - 
 -         // print intro
 -         echo p_locale_xhtml('subscr_form');
 - 
 -         // list up current subscriptions
 -         echo '<h2>' . $lang['subscr_m_current_header'] . '</h2>';
 -         echo '<div class="level2">';
 -         if ($INFO['subscribed'] === false) {
 -             echo '<p>' . $lang['subscr_m_not_subscribed'] . '</p>';
 -         } else {
 -             echo '<ul>';
 -             foreach ($INFO['subscribed'] as $sub) {
 -                 echo '<li><div class="li">';
 -                 if ($sub['target'] !== $ID) {
 -                     echo '<code class="ns">' . hsc(prettyprint_id($sub['target'])) . '</code>';
 -                 } else {
 -                     echo '<code class="page">' . hsc(prettyprint_id($sub['target'])) . '</code>';
 -                 }
 -                 $sstl = sprintf($lang['subscr_style_' . $sub['style']], $stime_days);
 -                 if (!$sstl) $sstl = hsc($sub['style']);
 -                 echo ' (' . $sstl . ') ';
 - 
 -                 echo '<a href="' . wl(
 -                     $ID,
 -                     [
 -                             'do' => 'subscribe',
 -                             'sub_target' => $sub['target'],
 -                             'sub_style' => $sub['style'],
 -                             'sub_action' => 'unsubscribe',
 -                             'sectok' => getSecurityToken()
 -                         ]
 -                 ) .
 -                     '" class="unsubscribe">' . $lang['subscr_m_unsubscribe'] .
 -                     '</a></div></li>';
 -             }
 -             echo '</ul>';
 -         }
 -         echo '</div>';
 - 
 -         // Add new subscription form
 -         echo '<h2>' . $lang['subscr_m_new_header'] . '</h2>';
 -         echo '<div class="level2">';
 -         $ns = getNS($ID) . ':';
 -         $targets = [
 -             $ID => '<code class="page">' . prettyprint_id($ID) . '</code>',
 -             $ns => '<code class="ns">' . prettyprint_id($ns) . '</code>',
 -         ];
 -         $styles = [
 -             'every' => $lang['subscr_style_every'],
 -             'digest' => sprintf($lang['subscr_style_digest'], $stime_days),
 -             'list' => sprintf($lang['subscr_style_list'], $stime_days),
 -         ];
 - 
 -         // create the form
 -         $form = new Form(['id' => 'subscribe__form']);
 -         $form->addTagOpen('div')->addClass('no');
 -         $form->setHiddenField('id', $ID);
 -         $form->setHiddenField('do', 'subscribe');
 -         $form->setHiddenField('sub_action', 'subscribe');
 - 
 -         $form->addFieldsetOpen($lang['subscr_m_subscribe']);
 - 
 -         $value = (array_key_exists($INPUT->post->str('sub_target'), $targets)) ?
 -             $INPUT->str('sub_target') : key($targets);
 -         foreach ($targets as $val => $label) {
 -             $data = ($value === $val) ? ['checked' => 'checked'] : [];
 -             $form->addRadioButton('sub_target', $label)->val($val)->attrs($data);
 -         }
 -         $form->addFieldsetClose();
 - 
 -         $form->addFieldsetOpen($lang['subscr_m_receive']);
 - 
 -         $value = (array_key_exists($INPUT->post->str('sub_style'), $styles)) ?
 -             $INPUT->str('sub_style') : key($styles);
 -         foreach ($styles as $val => $label) {
 -             $data = ($value === $val) ? ['checked' => 'checked'] : [];
 -             $form->addRadioButton('sub_style', $label)->val($val)->attrs($data);
 -         }
 -         $form->addFieldsetClose();
 - 
 -         $form->addButton('do[subscribe]', $lang['subscr_m_subscribe'])->attr('type', 'submit');
 -         $form->addTagClose('div');
 - 
 -         echo $form->toHTML('Subscribe');
 - 
 -         echo '</div>';
 -     }
 - }
 
 
  |