%PDF- %PDF-
Direktori : /home/infra/new-ong/bethemeold/muffin-options/fields/textarea/ |
Current File : //home/infra/new-ong/bethemeold/muffin-options/fields/textarea/field_textarea.php |
<?php class MFN_Options_textarea extends Mfn_Options_field { private $inline_shortcodes = array(); /** * Constructor */ public function __construct( $field = false, $value = false, $prefix = false ){ parent::__construct( $field, $value, $prefix ); if( $field ){ require_once( get_theme_file_path( '/functions/builder/class-mfn-builder-fields.php' ) ); $this->inline_shortcodes = Mfn_Builder_Fields::get_inline_shortcode(); } } /** * Render */ public function render( $meta = false, $vb = false, $js = false ) { $cm = ''; // theme options: CSS, JS $editor = ''; // builder: basic (bold, i, etc), full (media, shortcodes) | HTML $class = ''; $placeholder = ''; $preview = ''; // codemirror if( ! empty( $this->field['cm'] ) ){ $cm = $this->field['cm']; } // editor if( ! empty( $this->field['editor'] ) ){ $editor = $this->field['editor']; } if( $cm || $editor ){ $class = 'html-editor'; } // user settings if ( 'false' == get_user_option( 'syntax_highlighting' ) ){ $class .= ' disabled'; } // placeholder if( ! empty( $this->field['placeholder'] ) ){ $placeholder = $this->field['placeholder']; } if( ! empty( $this->field['std'] ) ){ $placeholder = $this->field['std']; } // preview if ( ! empty( $this->field['preview'] ) ){ $preview = 'preview-'. $this->field['preview']; } // rank math field type if ( ! empty( $this->field['rm'] ) ){ $preview .= ' rm-'. $this->field['rm']; } // output ----- if( $vb && empty( $this->field['editor'] ) && empty( $this->field['cm'] )){ if( $js ){ echo '<textarea class="mfn-form-control mfn-field-value mfn-form-textarea '. esc_attr( $preview ) .'" '. $this->get_name( $meta ) .' rows="4" placeholder="'. esc_attr( $placeholder ) .'" '. $cm .' '. $editor .'>\'+('.$js.' ? '.$js.' : "")+\'</textarea>'; }else{ echo '<textarea class="mfn-form-control mfn-field-value mfn-form-textarea '. esc_attr( $preview ) .'" '. $this->get_name( $meta ) .' rows="4" placeholder="'. esc_attr( $placeholder ) .'" '. $cm .' '. $editor .'>'. esc_attr( $this->value ) .'</textarea>'; } if( !empty($this->field['dynamic_data']) ) { echo Mfn_Options_field::dynamic_data_options($this->field['dynamic_data']); } }else{ echo '<div class="form-group '. esc_attr( $class ) .'">'; echo '<div class="form-control">'; if( $editor ){ echo '<div class="editor-header">'; if( 'full' == $editor ){ // visual builder if( !$js ){ echo '<a class="mfn-option-btn mfn-option-text btn-icon-left btn-medium" title="Media" href="#" data-type="media"><span class="mfn-icon mfn-icon-add"></span><span class="text">Add media</span></a>'; }else{ echo '<div class="mfn-content-buttons">'; echo '<a class="mfn-option-btn mfn-option-text btn-icon-left btn-medium" title="Media" href="#" data-type="media"><span class="mfn-icon mfn-icon-add"></span><span class="text">Media</span></a>'; } echo '<div class="mfn-option-dropdown dropdown-megamenu">'; echo '<a class="mfn-option-btn mfn-option-text btn-icon-right btn-medium" href="#"><span class="text">Shortcode</span><span class="mfn-icon mfn-icon-unfold"></span></a>'; echo '<div class="dropdown-wrapper">'; echo '<a class="mfn-dropdown-item" title="Alert" href="#" data-type="alert"><span class="mfn-icon mfn-icon-shortcode"></span> Alert</a>'; echo '<a class="mfn-dropdown-item" title="Blockquote" href="#" data-type="blockquote"><span class="mfn-icon mfn-icon-shortcode"></span> Blockquote</a>'; echo '<a class="mfn-dropdown-item" title="Button" href="#" data-type="button"><span class="mfn-icon mfn-icon-shortcode"></span> Button</a>'; echo '<a class="mfn-dropdown-item" title="Code" href="#" data-type="code"><span class="mfn-icon mfn-icon-shortcode"></span> Code</a>'; echo '<a class="mfn-dropdown-item" title="Content_Link" href="#" data-type="content_link"><span class="mfn-icon mfn-icon-shortcode"></span> Content Link</a>'; echo '<a class="mfn-dropdown-item" title="Counter_Inline" href="#" data-type="counter_inline"><span class="mfn-icon mfn-icon-shortcode"></span> Counter Inline</a>'; echo '<a class="mfn-dropdown-item" title="Dropcap" href="#" data-type="dropcap"><span class="mfn-icon mfn-icon-shortcode"></span> Dropcap</a>'; echo '<a class="mfn-dropdown-item" title="Divider" href="#" data-type="divider"><span class="mfn-icon mfn-icon-shortcode"></span> Divider</a>'; echo '<a class="mfn-dropdown-item" title="Fancy_Link" href="#" data-type="fancy_link"><span class="mfn-icon mfn-icon-shortcode"></span> Fancy Link</a>'; echo '<a class="mfn-dropdown-item" title="Google_Font" href="#" data-type="google_font"><span class="mfn-icon mfn-icon-shortcode"></span> Google Font</a>'; echo '<a class="mfn-dropdown-item" title="Heading" href="#" data-type="heading"><span class="mfn-icon mfn-icon-shortcode"></span> Heading</a>'; echo '<a class="mfn-dropdown-item" title="Highlight" href="#" data-type="highlight"><span class="mfn-icon mfn-icon-shortcode"></span> Highlight</a>'; echo '<a class="mfn-dropdown-item" title="Hr" href="#" data-type="hr"><span class="mfn-icon mfn-icon-shortcode"></span> Hr</a>'; echo '<a class="mfn-dropdown-item" title="Icon" href="#" data-type="icon"><span class="mfn-icon mfn-icon-shortcode"></span> Icon</a>'; echo '<a class="mfn-dropdown-item" title="Icon_Bar" href="#" data-type="icon_bar"><span class="mfn-icon mfn-icon-shortcode"></span> Icon Bar</a>'; echo '<a class="mfn-dropdown-item" title="Icon_Block" href="#" data-type="icon_block"><span class="mfn-icon mfn-icon-shortcode"></span> Icon Block</a>'; echo '<a class="mfn-dropdown-item" title="Idea" href="#" data-type="idea"><span class="mfn-icon mfn-icon-shortcode"></span> Idea</a>'; echo '<a class="mfn-dropdown-item" title="Image" href="#" data-type="image"><span class="mfn-icon mfn-icon-shortcode"></span> Image</a>'; echo '<a class="mfn-dropdown-item" title="Popup" href="#" data-type="popup"><span class="mfn-icon mfn-icon-shortcode"></span> Popup</a>'; echo '<a class="mfn-dropdown-item" title="Progress_Icons" href="#" data-type="progress_icons"><span class="mfn-icon mfn-icon-shortcode"></span> Progress Icons</a>'; echo '<a class="mfn-dropdown-item" title="Share_Box" href="#" data-type="share_box"><span class="mfn-icon mfn-icon-shortcode"></span> Share Box</a>'; echo '<a class="mfn-dropdown-item" title="Tooltip" href="#" data-type="tooltip"><span class="mfn-icon mfn-icon-shortcode"></span> Tooltip</a>'; echo '<a class="mfn-dropdown-item" title="Tooltip_Image" href="#" data-type="tooltip_image"><span class="mfn-icon mfn-icon-shortcode"></span> Tooltip Image</a>'; echo '</div>'; echo '</div>'; } echo '<div class="mfn-option-dropdown">'; echo '<a class="mfn-option-btn btn-icon-right mfn-option-text btn-icon-right btn-medium" href="#"><span class="text">Format</span><span class="mfn-icon mfn-icon-unfold"></span></a>'; echo '<div class="dropdown-wrapper">'; echo '<h6>Headings</h6>'; echo '<a class="mfn-dropdown-item" title="h1" href="#" data-type="h1"><span class="mfn-icon mfn-icon-format-h1"></span> Heading 1</a>'; echo '<a class="mfn-dropdown-item" title="h2" href="#" data-type="h2"><span class="mfn-icon mfn-icon-format-h2"></span> Heading 2</a>'; echo '<a class="mfn-dropdown-item" title="h3" href="#" data-type="h3"><span class="mfn-icon mfn-icon-format-h3"></span> Heading 3</a>'; echo '<a class="mfn-dropdown-item" title="h4" href="#" data-type="h4"><span class="mfn-icon mfn-icon-format-h4"></span> Heading 4</a>'; echo '<a class="mfn-dropdown-item" title="h5" href="#" data-type="h5"><span class="mfn-icon mfn-icon-format-h5"></span> Heading 5</a>'; echo '<a class="mfn-dropdown-item" title="h6" href="#" data-type="h6"><span class="mfn-icon mfn-icon-format-h6"></span> Heading 6</a>'; echo '<div class="mfn-dropdown-divider"></div>'; echo '<h6>Others</h6>'; echo '<a class="mfn-dropdown-item" title="Paragraph" href="#" data-type="paragraph"><span class="mfn-icon mfn-icon-format-p"></span> Paragraph</a>'; echo '<a class="mfn-dropdown-item" title="Big" href="#" data-type="big"><span class="mfn-icon mfn-icon-format-p-big"></span> Big paragraph</a>'; echo '<a class="mfn-dropdown-item" title="Code" href="#" data-type="code"><span class="mfn-icon mfn-icon-format-code"></span> Code</a>'; echo '</div>'; echo '</div>'; // visual builder if( !$js ){ echo '<span class="mfn-option-sep"></span>'; }else{ if( 'full' == $editor ){ echo '</div>'; } } echo '<a class="mfn-option-btn btn-medium mfn-option-blank" title="Paragraph" data-type="paragraph" href="#"><span class="mfn-icon mfn-icon-format-p"></span></a>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank" title="Bold" data-type="bold" href="#"><span class="mfn-icon mfn-icon-bold"></span></a>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank" title="Italic" data-type="italic" href="#"><span class="mfn-icon mfn-icon-italic"></span></a>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank" title="Underline" data-type="underline" href="#"><span class="mfn-icon mfn-icon-underline"></span></a>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank" title="Text color" data-type="text color" href="#">'; echo '<span class="mfn-icon mfn-icon-textcolor"></span>'; echo '<div class="mfn-color-tooltip-picker">'; Mfn_Builder_Admin::field( array( 'id' => 'color', 'type' => 'color', 'title' => '', 'old_picker' => true, 'placeholder' => '#fff', 'alpha' => true ) , '', $meta, 'old' ); echo '</div>'; echo '</a>'; echo '<span class="mfn-option-sep"></span>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank" title="List ordered" href="#" data-type="list ordered"><span class="mfn-icon mfn-icon-listordered"></span></a>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank" title="List unordered" href="#" data-type="list unordered"><span class="mfn-icon mfn-icon-listunordered"></span></a>'; echo '<span class="mfn-option-sep"></span>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank" title="Link" data-type="link" href="#"><span class="mfn-icon mfn-icon-link"></span></a>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank" title="Break" data-type="break" href="#"><span class="mfn-icon mfn-icon-break"></span></a>'; if( 'full' == $editor ){ echo '<a class="mfn-option-btn btn-medium mfn-option-blank mfn-table-creator-btn" title="Table" data-type="table" href="#"><span class="mfn-icon mfn-icon-table"></span> <div class="mfn-table-creator"></div></a>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank" title="Divider" data-type="divider" href="#"><span class="mfn-icon mfn-icon-divider"></span></a>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank mfn-lorem-creator-btn" title="Lorem" data-type="lorem" href="#"><span class="mfn-icon mfn-icon-lorem"></span></a>'; } echo '<span class="mfn-option-sep"></span>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank" title="Undo" data-type="undo" href="#"><span class="mfn-icon mfn-icon-undo"></span></a>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank" title="Redo" data-type="redo" href="#"><span class="mfn-icon mfn-icon-redo"></span></a>'; if( 'full' == $editor ){ echo '<span class="mfn-option-sep"></span>'; echo '<a class="mfn-option-btn btn-medium mfn-option-blank mfn-button-dynamic-data" title="Dynamic Data" data-type="dynamic_data" href="#"><span class="mfn-icon mfn-icon-dynamic-data"></span></a>'; } echo '</div>'; } echo '<div class="editor-content">'; if( 'full' == $editor ){ echo '<div class="mfn-tooltip-sc-editor">'; echo '<a class="mfn-option-btn mfn-option-blank" data-type="edit" title="Edit" href="#"><span class="mfn-icon mfn-icon-edit-light"></span></a>'; echo '<a class="mfn-option-btn mfn-option-blank" data-type="remove" title="Remove" href="#"><span class="mfn-icon mfn-icon-delete-light"></span></a>'; echo '</div>'; } if( $cm ){ $cm = 'data-cm="'. $this->field['cm'] .'"'; } if( $editor ){ $editor = 'data-editor="'. $this->field['editor'] .'"'; } if( $js ){ echo '<textarea class="mfn-form-control mfn-field-value mfn-form-textarea '. esc_attr( $preview ) .'" '. $this->get_name( $meta ) .' rows="4" placeholder="'. esc_attr( $placeholder ) .'" '. $cm .' '. $editor .'>\'+('.$js.' ? '.$js.' : "")+\'</textarea>'; }else{ echo '<textarea class="mfn-form-control mfn-field-value mfn-form-textarea '. esc_attr( $preview ) .'" '. $this->get_name( $meta ) .' rows="4" placeholder="'. esc_attr( $placeholder ) .'" '. $cm .' '. $editor .'>'. esc_attr( $this->value ) .'</textarea>'; } // echo '<textarea id="mfn-validator" data-validator="'. $validator_type .'" class="mfn-form-control mfn-form-textarea" '. $this->get_name( $meta ) .' rows="8">'. esc_attr( $this->value ) .'</textarea>'; echo'</div>'; echo '</div>'; echo '</div>'; } // visual builder if( ! $vb ){ echo $this->get_description(); }else{ $this->vbenqueue(); } } /** * Enqueue */ public function enqueue() { wp_enqueue_script( 'mfn-opts-field-textarea', MFN_OPTIONS_URI .'fields/textarea/field_textarea.js', array( 'jquery' ), MFN_THEME_VERSION, true ); } public function vbenqueue() { wp_enqueue_script( 'mfn-opts-field-textarea-vb', MFN_OPTIONS_URI .'fields/textarea/field_textarea_vb.js', array( 'jquery' ), time(), true ); } }