| | |
| | | <input type="hidden" name="form-id" value="<?=uniqid('new-')?>" /> |
| | | <input type="hidden" name="content" value="<?=$this->dataType?>" /> |
| | | <div class="fields"> |
| | | <div class="field-group radio-options row" data-field="post_status" data-field-type="radio"> |
| | | <span>Status:</span> |
| | | <?php |
| | | $this->getApplicableStatuses('edit'); |
| | | ?> |
| | | </div> |
| | | <?php if (!$this->userCanPublish) { ?> |
| | | <p class="description">Your account needs to be verified before you can publish content.</p> |
| | | <?php } |
| | | <?php |
| | | echo Form::render('post_status', '', $this->getStatusFieldConfig('edit-')); |
| | | |
| | | |
| | | if (!empty($this->sections)) { |
| | | $tabs = []; |
| | |
| | | $fields = $this->nonTimelineFields; |
| | | } |
| | | foreach ($fields as $n => $config) { |
| | | if (in_array($config['type'], ['taxonomy', 'selector'])) { |
| | | $config = array_merge($config, $this->taxConfig($config['taxonomy'], $config['label'])); |
| | | } |
| | | if ($tabs) { |
| | | $section = (array_key_exists('section', $config)) ? $config['section'] : 'basic'; |
| | | $tabs[$section]['content'] .= Form::render($n,'', $config); |
| | | $tabs[$section]['content'] .= Form::render($n, '', $config); |
| | | } else { |
| | | if (in_array($config['type'], ['taxonomy', 'selector'])) { |
| | | $config = array_merge($config, $this->taxConfig($config['taxonomy'], $config['label'])); |
| | | } |
| | | echo Form::render($n, '', $config); |
| | | } |
| | | } |
| | |
| | | <p class="hint"><strong>IMPORTANT: </strong> Whatever changes you make here will be applied to all selected <?=$this->plural?>.</p> |
| | | <div class="fields"> |
| | | <?php |
| | | $this->getApplicableStatuses('bulk-'); |
| | | ?> |
| | | <?php |
| | | echo Form::render('post_status', '', $this->getStatusFieldConfig('bulk-')); |
| | | |
| | | if (!empty($this->taxonomies)) { |
| | | ?> |
| | | <div class="taxonomies"> |
| | |
| | | ); |
| | | } |
| | | |
| | | protected function getStatusFieldConfig(string $prefix): array |
| | | { |
| | | $options = []; |
| | | foreach ($this->statuses as $status) { |
| | | if ($status === 'all' || !array_key_exists($status, $this->allowedStatuses)) { |
| | | continue; |
| | | } |
| | | $config = $this->allowedStatuses[$status]; |
| | | |
| | | if (in_array($status, ['future', 'past'])) { |
| | | if ($status === 'future') { |
| | | $status = 'publish'; |
| | | $config = ['icon' => 'eye', 'label' => 'Live']; |
| | | } else { |
| | | continue; |
| | | } |
| | | } |
| | | |
| | | $options[$status] = [ |
| | | 'label' => $config['label'], |
| | | 'icon' => $config['icon'], |
| | | 'disabled' => ($status === 'publish' && !$this->userCanPublish), |
| | | ]; |
| | | } |
| | | |
| | | return [ |
| | | 'type' => 'radio', |
| | | 'label' => 'Status', |
| | | 'options' => $options, |
| | | 'inputClass' => 'btn', |
| | | 'idPrefix' => $prefix, |
| | | 'class' => 'radio-options row', |
| | | 'hint' => !$this->userCanPublish |
| | | ? 'Your account needs to be verified before you can publish content.' |
| | | : '', |
| | | ]; |
| | | } |
| | | |
| | | protected function getApplicableStatuses(string $prefix) { |
| | | ob_start(); |
| | | foreach ($this->statuses as $status) { |