diff --git a/fields/field.url.php b/fields/field.url.php index f1befe4..8691a63 100644 --- a/fields/field.url.php +++ b/fields/field.url.php @@ -143,43 +143,43 @@ public function displayPublishPanel(XMLElement &$wrapper, $data = null, $flagWit $base_name = 'fields'.$prefix.'['.$this->get('element_name').']'; + + // Label + $label = Widget::Label($this->get('label')); + if( $this->get('required') != 'yes' ) $label->appendChild(new XMLElement('i', __('Optional'))); + + // Type $type = $data['url_type']; - if( !empty($states) ){ $div = new XMLElement('div', null, array('class' => 'url_type')); // Type internal - $label = Widget::Label(); + $labeli = Widget::Label(); $input = Widget::Input($base_name.'[url_type]'.$postfix, 'internal', 'radio'); $input->setAttribute('data-target', 'internal'); if( $type === 'internal' || empty($type) ) $input->setAttribute('checked', 'checked'); - $label->setValue(__('%s Internal', array($input->generate()))); - $div->appendChild($label); + $labeli->setValue(__('%s Internal', array($input->generate()))); + $div->appendChild($labeli); // Type external - $label = Widget::Label(); + $labele = Widget::Label(); $input = Widget::Input($base_name.'[url_type]'.$postfix, 'external', 'radio'); $input->setAttribute('data-target', 'external'); if( $type === 'external' ) $input->setAttribute('checked', 'checked'); - $label->setValue(__('%s External', array($input->generate()))); - $div->appendChild($label); + $labele->setValue(__('%s External', array($input->generate()))); + $div->appendChild($labele); - $wrapper->appendChild($div); + $label->appendChild($div); } else{ // Type external $input = Widget::Input($base_name.'[url_type]'.$postfix, 'external', 'hidden'); - $wrapper->appendChild($input); + $label->appendChild($input); } - // Value - $label = Widget::Label($this->get('label')); - if( $this->get('required') != 'yes' ) $label->appendChild(new XMLElement('i', __('Optional'))); - - - // Type Internal + // Value Internal $options = array(); if( $this->get('required') != 'yes' ) $options[] = array(null, false, null); @@ -189,10 +189,12 @@ public function displayPublishPanel(XMLElement &$wrapper, $data = null, $flagWit foreach( $s['values'] as $id => $v ){ $group['options'][] = array($id, in_array($id, $entry_ids), General::sanitize($v)); } + // sort entries alphabetically uasort($group['options'], function($a, $b){ return $a[2] > $b[2]; }); + $options[] = $group; } @@ -212,7 +214,7 @@ public function displayPublishPanel(XMLElement &$wrapper, $data = null, $flagWit } - // Type external + // Value external $input = Widget::Input( $base_name.'[value_external]'.$postfix, $type === 'external' && !empty($data['value']) ? $data['value'] : '', @@ -319,8 +321,8 @@ public function prepareTableValue($data, XMLElement $link = null, $entry_id = nu switch( $data['url_type'] ){ case 'external': - $link = empty($data['value']) ? false : $data['value']; - $label = empty($data['value']) ? __("No data") : $data['value']; + $link = $data['value']; + $label = $data['value']; break; case 'internal':