%PDF- %PDF-
Direktori : /home/infra/new-ong/bethemeold/muffin-options/fields/typography/ |
Current File : //home/infra/new-ong/bethemeold/muffin-options/fields/typography/field_typography.php |
<?php class MFN_Options_typography extends Mfn_Options_field { /** * Render */ public function render( $meta = false, $vb = false, $js = false ) { $disable = false; // name $name = $this->prefix .'['. $this->field['id'] .']'; // disable if( isset( $this->field['disable'] ) ){ $disable = $this->field['disable']; } // std if( empty($this->field['std']) ){ $this->field['std'] = [ 'size' => '', 'line_height' => '', 'weight_style' => '', 'letter_spacing' => '', ]; } // value $value = $this->value; if ( ! $value ) { $value = $this->field['std']; } elseif ( ! is_array($value)) { // compatibility with Be < 13.5 $value = array( 'size' => $value, 'line_height' => $this->field['std']['line_height'], 'weight_style' => $this->field['std']['weight_style'], 'letter_spacing' => $this->field['std']['letter_spacing'], ); } // output ----- // font size echo '<div class="form-group typography has-addons has-addons-append">'; if( $js ){ echo '<div class="form-control" data-key="'. esc_html__('Font size', 'mfn-opts') .'">'; echo '<input class="mfn-form-control mfn-form-number" type="number" name="'. esc_attr( $name ) .'[size]" value="\'+('.$js.' && typeof '.$js.'["size"] !== \'undefined\' ? '.$js.'["size"] : "")+\'" data-obj="size" data-key="font-size" placeholder="'. esc_attr( $this->field['std']['size'] ) .'" '.( !empty($this->field['std']['size']) ? 'data-std="'.$this->field['std']['size'].'"' : '' ).' data-style="font-size" data-unit="px">'; echo '</div>'; echo '<div class="form-addon-append">'; echo '<span class="label">px</span>'; echo '</div>'; if ( 'line_height' != $disable ) { echo '<div class="form-control" data-key="'. esc_html__('Line height', 'mfn-opts') .'">'; echo '<input class="mfn-form-control mfn-form-number" type="number" name="'. esc_attr( $name ) .'[line_height]" value="\'+('.$js.' && typeof '.$js.'["line_height"] !== \'undefined\' ? '.$js.'["line_height"] : "")+\'" data-obj="line_height" data-key="line-height" placeholder="'. esc_attr( $this->field['std']['line_height'] ) .'" '.( !empty($this->field['std']['line_height']) ? 'data-std="'.$this->field['std']['line_height'].'"' : '' ).' data-style="line-height" data-unit="px">'; echo '</div>'; echo '<div class="form-addon-append">'; echo '<span class="label">px</span>'; echo '</div>'; } echo '<div class="form-control form-control-font" data-key="'. esc_html__('Font weight & style', 'mfn-opts') .'">'; echo '<select class="mfn-form-control mfn-form-select" name="'. esc_attr( $name ) .'[weight_style]" '.( !empty($this->field['std']['weight_style']) ? 'data-std="'.$this->field['std']['weight_style'].'"' : '' ).' data-key="weight-style" data-obj="weight_style" data-style="font-weight" data-unit="">'; echo '<option value="">'. esc_html__('Default', 'mfn-opts') .'</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "100" ? "selected" : "")+\' value="100">100 thin</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "100italic" ? "selected" : "")+\' value="100italic">100 thin italic</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "200" ? "selected" : "")+\' value="200">200 extra-light</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "200italic" ? "selected" : "")+\' value="200italic">200 extra-light italic</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "300" ? "selected" : "")+\' value="300">300 light</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "300italic" ? "selected" : "")+\' value="300italic">300 light italic</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "400" ? "selected" : "")+\' value="400">400 regular</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "400italic" ? "selected" : "")+\' value="400italic">400 regular italic</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "500" ? "selected" : "")+\' value="500">500 medium</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "500italic" ? "selected" : "")+\' value="500italic">500 medium italic</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "600" ? "selected" : "")+\' value="600">600 semi-bold</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "600italic" ? "selected" : "")+\' value="600italic">600 semi-bold italic</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "700" ? "selected" : "")+\' value="700">700 bold</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "700italic" ? "selected" : "")+\' value="700italic">700 bold italic</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "800" ? "selected" : "")+\' value="800">800 extra-bold</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "800italic" ? "selected" : "")+\' value="800italic">800 extra-bold italic</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "900" ? "selected" : "")+\' value="900">900 black</option>'; echo '<option \'+('.$js.' && typeof '.$js.'["weight_style"] !== \'undefined\' && '.$js.'["weight_style"] == "900italic" ? "selected" : "")+\' value="900italic">900 black italic</option>'; echo '</select>'; echo '</div>'; echo '<div class="form-control" data-key="'. esc_html__('Letter spacing', 'mfn-opts') .'">'; echo '<input class="mfn-form-control mfn-form-number" type="number" name="'. esc_attr( $name ) .'[letter_spacing]" value="\'+('.$js.' && typeof '.$js.'["letter_spacing"] !== \'undefined\' ? '.$js.'["letter_spacing"] : "")+\'" '.( !empty($this->field['std']['letter_spacing']) ? 'data-std="'.$this->field['std']['letter_spacing'].'"' : '' ).' data-key="letter-spacing" data-obj="letter_spacing" placeholder="'. esc_attr( $this->field['std']['letter_spacing'] ) .'" data-style="letter-spacing" data-unit="px">'; echo '</div>'; echo '<div class="form-addon-append">'; echo '<span class="label">px</span>'; echo '</div>'; }else{ if( empty($value['size']) ){ $value['size'] = $this->field['std']['size'] ?? ''; } if( empty($value['line_height']) ){ $value['line_height'] = $this->field['std']['line_height'] ?? ''; } if( ! isset($value['letter_spacing']) ){ $value['letter_spacing'] = $this->field['std']['letter_spacing'] ?? ''; } echo '<div class="form-control" data-key="'. esc_html__('Font size', 'mfn-opts') .'">'; echo '<input class="mfn-form-control mfn-form-number" type="number" name="'. esc_attr( $name ) .'[size]" value="'. esc_attr( $value['size'] ) .'" data-key="font-size" placeholder="'. esc_attr( $this->field['std']['size'] ) .'">'; echo '</div>'; echo '<div class="form-addon-append">'; echo '<span class="label">px</span>'; echo '</div>'; if ( 'line_height' != $disable ) { echo '<div class="form-control" data-key="'. esc_html__('Line height', 'mfn-opts') .'">'; echo '<input class="mfn-form-control mfn-form-number" type="number" name="'. esc_attr( $name ) .'[line_height]" value="'. esc_attr( $value['line_height'] ) .'" data-key="line-height" placeholder="'. esc_attr( $this->field['std']['line_height'] ) .'">'; echo '</div>'; echo '<div class="form-addon-append">'; echo '<span class="label">px</span>'; echo '</div>'; } echo '<div class="form-control form-control-font" data-key="'. esc_html__('Font weight & style', 'mfn-opts') .'">'; echo '<select class="mfn-form-control mfn-form-select" name="'. esc_attr( $name ) .'[weight_style]" data-key="weight-style">'; echo '<option value="" '. selected($value['weight_style'], '', false) .'>'. esc_html__('Default', 'mfn-opts') .'</option>'; echo '<option value="100" '. selected($value['weight_style'], '100', false) .'>100 thin</option>'; echo '<option value="100italic" '. selected($value['weight_style'], '100italic', false) .'>100 thin italic</option>'; echo '<option value="200" '. selected($value['weight_style'], '200', false) .'>200 extra-light</option>'; echo '<option value="200italic" '. selected($value['weight_style'], '200italic', false) .'>200 extra-light italic</option>'; echo '<option value="300" '. selected($value['weight_style'], '300', false) .'>300 light</option>'; echo '<option value="300italic" '. selected($value['weight_style'], '300italic', false) .'>300 light italic</option>'; echo '<option value="400" '. selected($value['weight_style'], '400', false) .'>400 regular</option>'; echo '<option value="400italic" '. selected($value['weight_style'], '400italic', false) .'>400 regular italic</option>'; echo '<option value="500" '. selected($value['weight_style'], '500', false) .'>500 medium</option>'; echo '<option value="500italic" '. selected($value['weight_style'], '500italic', false) .'>500 medium italic</option>'; echo '<option value="600" '. selected($value['weight_style'], '600', false) .'>600 semi-bold</option>'; echo '<option value="600italic" '. selected($value['weight_style'], '600italic', false) .'>600 semi-bold italic</option>'; echo '<option value="700" '. selected($value['weight_style'], '700', false) .'>700 bold</option>'; echo '<option value="700italic" '. selected($value['weight_style'], '700italic', false) .'>700 bold italic</option>'; echo '<option value="800" '. selected($value['weight_style'], '800', false) .'>800 extra-bold</option>'; echo '<option value="800italic" '. selected($value['weight_style'], '800italic', false) .'>800 extra-bold italic</option>'; echo '<option value="900" '. selected($value['weight_style'], '900', false) .'>900 black</option>'; echo '<option value="900italic" '. selected($value['weight_style'], '900italic', false) .'>900 black italic</option>'; echo '</select>'; echo '</div>'; echo '<div class="form-control" data-key="'. esc_html__('Letter spacing', 'mfn-opts') .'">'; echo '<input class="mfn-form-control mfn-form-number" type="number" name="'. esc_attr( $name ) .'[letter_spacing]" value="'. esc_attr( $value['letter_spacing'] ) .'" data-key="letter-spacing" placeholder="'. esc_attr( $this->field['std']['letter_spacing'] ) .'">'; echo '</div>'; echo '<div class="form-addon-append">'; echo '<span class="label">px</span>'; echo '</div>'; } echo '</div>'; // description if( ! $vb )echo $this->get_description(); } }