'general', 'fieldName' => 'twitter' 'label' => 'label', 'type' => array( 'template' => 'templateType', 'input' => 'inputType' 'validator' => 'int' ), 'btnType' => 'primary|secondary', 'hint' => 'hint', 'inputID' => 'inputID', 'templateID' => 'templateID', 'inputClass' => 'inputClass', 'templateClass' => 'templateClass', 'action' => 'javascriptAction', 'value' => 'inputValue', 'values' => 'selectValues', 'defaultValue' => 'defaultValue', // will be use with meta 'title' => 'H3 Title', 'description' => 'paragraf', 'content' => 'HTML Code', 'query' => array( 'WP_Query' ), ); */ static $sett; static $content; /* CHECK ATTRIBUTES ( $sett ) */ function getInputType( $sett ) { return isset( $sett[ 'type' ][ 'input' ] ) && method_exists( new ahtml() , $sett[ 'type' ][ 'input' ] ) ? $sett[ 'type' ][ 'input' ] : exit; } function getInputTypeClass( $sett ) { return 'my-field-' . self::getInputType( $sett ); } function getInputID( $sett , $attr = false ) { /* SET INPUT NAME */ $inputName = tools::getInputName( $sett ); if( !empty( $inputName ) ){ /* SET INPUT ID */ $inputID = isset( $sett[ 'inputID' ] ) && !empty( $sett[ 'inputID' ] ) ? $sett[ 'inputID' ] : 'my-field-' . $inputName; if( !$attr ){ return $inputID; } else{ return !empty( $inputID ) ? 'id="' . $inputID . '"' : 'id="my-field-' . $inputName . '"'; } }else{ /* SET INPUT ID */ $inputID = isset( $sett[ 'inputID' ] ) && !empty( $sett[ 'inputID' ] ) ? $sett[ 'inputID' ] : ''; if( !$attr ){ return $inputID; } else{ return !empty( $inputID ) ? 'id="' . $inputID . '"' : ''; } } } function getInputClass( $sett , $attr = false , $additionalClass = '' ) { /* SET INPUT CLASS */ $inputClass = isset( $sett[ 'inputClass' ] ) && !empty( $sett[ 'inputClass' ] ) ? $sett[ 'inputClass' ] : $additionalClass; if( !$attr ){ if( !empty( $additionalClass ) ){ return $inputClass . ' ' . $additionalClass ; } else{ return $inputClass; } } else{ return !empty( $inputClass ) ? 'class="my-field ' . $inputClass . ' ' . self::getInputTypeClass( $sett ). ' ' . $additionalClass . '"' : ' class="my-field ' . self::getInputTypeClass( $sett ). ' ' . $additionalClass . '"'; } } function getButtonClass( $sett , $attr = false , $additionalClass = '' ) { /* SET BUTTON CLASS */ $buttonClass = isset( $sett[ 'btnType' ] ) ? 'button-' . $sett[ 'btnType' ] : 'button-primary'; /* ADD ADDITIONAL CLASS */ if( !empty( $additionalClass ) ){ $result = $buttonClass . ' ' . $additionalClass; } else{ $result = $buttonClass; } if( !$attr ){ return $result; } else{ return 'class="' . $result . '"'; } } function getInputLabel( $sett ) { /* SET INPUT ID */ $inputID = self::getInputID( $sett ); /* SET INPUT LABEL */ $label = isset( $sett[ 'label' ] ) && !empty( $sett[ 'label' ] ) ? $sett[ 'label' ] : ''; /* SET LABEL ATTRIBUTE ID */ $labelID = !empty( $inputID ) ? 'for="' . $inputID . '"' : ''; if( !empty( $label ) ){ return ''; } } function getTemplateID( $sett , $attr = false ) { /* SET INPUT NAME */ $inputName = tools::getInputName( $sett ); if( !empty( $inputName ) ){ /* SET TEMPLATE ID */ $templateID = isset( $sett[ 'templateID' ] ) && !empty( $sett[ 'templateID' ] ) ? $sett[ 'templateID' ] : 'my-template-' . $inputName; if( !$attr ){ return $templateID; } else{ return !empty( $templateID ) ? 'id="' . $templateID . '"' : 'id="my-template-' . $inputName . '"'; } }else{ /* SET TEMPLATE ID */ $templateID = isset( $sett[ 'templateID' ] ) && !empty( $sett[ 'templateID' ] ) ? $sett[ 'templateID' ] : ''; if( !$attr ){ return $templateID; } else{ return !empty( $templateID ) ? 'id="' . $templateID . '"' : ''; } } } function getTemplateClass( $sett , $additionalClass , $attr = false ) { /* SET TEMPLATE CLASS */ $templateClass = isset( $sett[ 'templateClass' ] ) && !empty( $sett[ 'templateClass' ] ) ? $sett[ 'templateClass' ] : ''; if( !$attr ){ return $templateClass; } else{ if( strlen( $templateClass . $additionalClass ) ){ return !empty( $templateClass ) ? 'class="' . $templateClass . ' ' . $additionalClass . '"' : 'class="' . $additionalClass . '"'; } } } function getSelectValues( $sett ) { $result = ''; if( !isset( $sett[ 'value' ] ) ){ if( isset( $sett[ 'defaultValue' ] ) ){ if( isset( $sett[ 'values' ] ) && !empty( $sett[ 'values' ] ) && is_array( $sett[ 'values' ] ) ){ foreach( $sett[ 'values' ] as $value => $label ){ $result .= ''; } } return $result; } else{ if( isset( $sett[ 'values' ] ) && !empty( $sett[ 'values' ] ) && is_array( $sett[ 'values' ] ) ){ foreach( $sett[ 'values' ] as $value => $label ){ $result .= ''; } } return $result; } } else{ if( isset( $sett[ 'values' ] ) && !empty( $sett[ 'values' ] ) && is_array( $sett[ 'values' ] ) ){ foreach( $sett[ 'values' ] as $value => $label ){ $result .= ''; } } return $result; } } function getImageSelectValue( $sett ) { if( isset( $sett[ 'coll' ] ) ) $coll = $sett[ 'coll' ]; else $coll = 1; if( isset( $sett[ 'position' ] ) ) $options = '
'; else $options = '
'; if( isset( $sett[ 'bkg' ] ) ){ $bkg_color = ' background-color: ' . $sett[ 'bkg' ] . '; '; }else{ $bkg_color = ''; } if( !isset( $sett[ 'size' ] ) ){ $sett[ 'size' ] = 45; } $diff = (int)((45 - $sett[ 'size' ] ) / 2 ); $margin = ' margin:' . $diff . 'px; '; $size = 'width="' . $sett[ 'size' ] . '" height="' . $sett[ 'size' ] . '"'; $style = 'style="' . $margin . $bkg_color .'" ' . $size; $img = ''; $bkg = ''; if( !isset( $sett[ 'value' ] ) ){ if( isset( $sett[ 'defaultValue' ] ) ){ if( isset( $sett[ 'values' ] ) && !empty( $sett[ 'values' ] ) && is_array( $sett[ 'values' ] ) ){ foreach( $sett[ 'values' ] as $value => $label ){ $options .= ''; } } } else{ if( isset( $sett[ 'values' ] ) && !empty( $sett[ 'values' ] ) && is_array( $sett[ 'values' ] ) ){ foreach( $sett[ 'values' ] as $value => $label ){ $options .= ''; } } } } else{ if( isset( $sett[ 'values' ] ) && !empty( $sett[ 'values' ] ) && is_array( $sett[ 'values' ] ) ){ foreach( $sett[ 'values' ] as $value => $label ){ if( $value == $sett[ 'value' ] ){ $options .= ''; $img = ''; }else{ $options .= ''; } } } } $options .= '
'; $result = ''; $result .= $img; $result .= ''; $result .= $options; return $result; } function getLogicValue( $sett ) { if( !isset( $sett[ 'value' ] ) ){ if( isset( $sett[ 'defaultValue' ] ) ){ return 'value="' . ( (int)$sett[ 'defaultValue' ] ) . '"'; } } else{ return 'value="' . ( (int) $sett[ 'value' ] ) . '"'; } } function getLogicCheckValue( $sett ) { if( isset( $sett[ 'type' ][ 'input' ] ) && $sett[ 'type' ][ 'input' ] == 'logic' ){ if( !isset( $sett[ 'value' ] ) ){ if( isset( $sett[ 'defaultValue' ] ) ){ return checked( $sett[ 'defaultValue' ] , 1 , false ); } } else{ return checked( $sett[ 'value' ] , 1 , false ); } } } function getLogicButtonValue( $sett , $attr = false ) { if( !isset( $sett[ 'value' ] ) ) { if( isset( $sett[ 'defaultValue' ] ) ) { if( $sett[ 'defaultValue' ] ) { $result = __( 'Disable', 'myThemes' ); }else{ $result = __( 'Enable', 'myThemes' ); } } else{ $result = __( 'Enable', 'myThemes' ); } if( !$attr ) { return $result; } else { return 'value="' . $result . '"'; } } else { if( $sett[ 'value' ] ) { $result = __( 'Disable', 'myThemes' ); } else { $result = __( 'Enable', 'myThemes' ); } if( !$attr ) { return $result; }else{ return 'value="' . $result . '"'; } } } function getTextareaValue( $sett ) { if( isset( $sett[ 'type' ][ 'input' ] ) && $sett[ 'type' ][ 'input' ] == 'textarea' ) { if( !isset( $sett[ 'value' ] ) ){ if( isset( $sett[ 'defaultValue' ] ) ){ if( isset( $sett[ 'type' ][ 'validator' ] ) && $sett[ 'type' ][ 'validator' ] == 'noesc' ) return stripcslashes ( $sett[ 'defaultValue' ] ); else return esc_attr( $sett[ 'defaultValue' ] ); } } else{ if( isset( $sett[ 'type' ][ 'validator' ] ) && $sett[ 'type' ][ 'validator' ] == 'noesc' ) return stripcslashes ( $sett[ 'value' ] ); else return esc_attr( $sett[ 'value' ] ); } } } /* TEXT, SEARCH, UPLOAD, UPLOAD-ID, DIGIT */ function getValue( $sett , $attr = false ) { if( !isset( $sett[ 'value' ] ) ){ if( isset( $sett[ 'defaultValue' ] ) ){ if( !$attr ){ return self::validator( $sett[ 'defaultValue' ] , self::getValidator( $sett ) ); } else{ return 'value="' . self::validator( $sett[ 'defaultValue' ] , self::getValidator( $sett ) ) . '"'; } } } else{ if( !$attr ){ return self::validator( $sett[ 'value' ] , self::getValidator( $sett ) ) ; } else{ return 'value="' . self::validator( $sett[ 'value' ] , self::getValidator( $sett ) ) . '"'; } } } /* AUTO COMPLETE RESULT ( AJAX REQUEST ) */ function getSearchValues() { $query = isset( $_GET[ 'params' ] ) ? (array)json_decode( stripslashes( $_GET[ 'params' ] )) : exit; $query[ 's' ] = isset( $_GET[ 'query' ] ) ? $_GET[ 'query' ] : exit; global $wp_query; $result = array(); $result[ 'query' ] = $query[ 's' ]; $wp_query = new WP_Query( $query ); if( $wp_query -> have_posts() ){ foreach( $wp_query -> posts as $post ){ $result['suggestions'][] = $post -> post_title; $result['data'][] = $post -> ID; } } echo json_encode( $result ); exit(); } function parse_sett( $sett , $pageSlug ) { $result = ''; foreach( $sett as $fieldName => & $d ){ if( !isset( $d[ 'skip' ] ) || ( isset( $d[ 'skip' ] ) && !$d[ 'skip' ] ) ){ $d[ 'fieldName' ] = $fieldName; $d[ 'pageSlug' ] = $pageSlug; $d[ 'value' ] = sett::get( $pageSlug . '-' . $fieldName ); $result .= self::template( $d ); } } return $result; } /* TEMPLATES TYPE */ function template( $sett ) { if( isset( $sett[ 'type' ][ 'template' ] ) && method_exists( new ahtml() , $sett[ 'type' ][ 'template' ] ) ) { return call_user_method_array( $sett[ 'type' ][ 'template' ] , new ahtml() , array( $sett ) ); } else{ ob_start(); print_r( $sett ); $data = ob_get_clean(); $bt = debug_backtrace(); $caller = array_shift( $bt ); $result = '
' . $caller[ 'file' ] . ' : ' . $caller[ 'line' ];
            $result .= '
Template not exist : [ ' . tools::getPageSlug( $sett ) .' , ' . tools::getFieldName( $sett ) . ' ]'; $result .= '
' . $data .'
'; return $result; } } /* TEMPLAE WITH ONLY INPUT */ function none( $sett ) { $hint = ''; if( isset( $sett[ 'hint' ] ) && !empty( $sett[ 'hint' ] ) ){ $hint = '
' . $sett[ 'hint' ] . '
'; $hint .= '
'; }; return call_user_method_array( self::getInputType( $sett ) , new ahtml() , array( $sett ) ) . $hint; } /* TEMPLATE TYPE INLINE */ function inline( $sett ) { $result = '
'; /* ADD LABEL */ $result .= '
' . self::getInputLabel( $sett ) . '
'; /* ADD INPUT */ $result .= '
'; $result .= call_user_method_array( self::getInputType( $sett ) , new ahtml() , array( $sett ) ); if( isset( $sett[ 'submitValue' ] ) ){ $result .= ''; } $result .= '
'; $result .= '
'; /* ADD HINT ( ADDITIONAL INFO ) */ if( isset( $sett[ 'hint' ] ) && !empty( $sett[ 'hint' ] ) ){ $result .= '
' . $sett[ 'hint' ] . '
'; } $result .= '
'; return $result; } /* TEMPLATE TYPE INLIST */ function inlist( $sett ) { $result = '
'; /* ADD LABEL */ $result .= '
' . self::getInputLabel( $sett ) . '
'; /* ADD INPUT */ $result .= '
'; $result .= call_user_method_array( self::getInputType( $sett ) , new ahtml() , array( $sett ) ); if( isset( $sett[ 'submitValue' ] ) ){ $result .= ''; } $result .= '
'; /* ADD HINT ( ADDITIONAL INFO ) */ if( isset( $sett[ 'hint' ] ) && !empty( $sett[ 'hint' ] ) ){ $result .= '
'; $result .= '
' . $sett[ 'hint' ] . '
'; } $result .= '
'; return $result; } /* TEMPLATE TYPE CODE */ function code( $sett ) { $result = '
'; if( isset( $sett[ 'title' ] ) ){ $result .= '

' . $sett[ 'title' ] . '

'; } if( isset( $sett[ 'description' ] ) ){ $result .= '

' . $sett[ 'description' ] . '

'; } if( isset( $sett[ 'content' ] ) ){ $result .= $sett[ 'content' ]; } $result .= '
'; return $result; } function _popBox( $sett, $content ) { $class = ''; if( isset( $sett[ 'class'] ) ) $class = $sett[ 'class' ]; $rett = ''; $rett .= ''; return $rett; } function _popBox2( $sett, $content ) { $class = ''; if( isset( $sett[ 'class'] ) ) $class = $sett[ 'class' ]; if( isset( $sett[ 'title' ] ) ) $title = $sett[ 'title' ]; else $title = ''; if( isset( $sett[ 'boxID' ] ) ){ $s_id = ' id="' . $sett[ 'boxID' ] . '-shadow" '; $b_id = ' id="' . $sett[ 'boxID' ] . '"'; }else{ $s_id = ' id="' . str_replace( array( ',' , ' ', '.' ) , '-' , $title ) . '-shadow"'; $b_id = ' id="' . str_replace( array( ',' , ' ', '.' ) , '-' , $title ) . '"'; } $rett = ''; $rett .= ''; return $rett; } function _popBoxHook( $sett , $content ) { self::$content .= self::_popBox2( $sett , $content ); } function my_hook() { echo self::$content; } function _box( $sett, $content ) { $class = ''; if( isset( $sett[ 'class'] ) ) $class = $sett[ 'class' ]; $rett = '
'; if( isset( $sett[ 'title' ] ) ){ $rett .= '

' . $sett[ 'title' ] . '

'; } if( isset( $sett[ 'description' ] ) ){ $rett .= '

' . $sett[ 'description' ] . '

'; } $rett .= $content . '
'; return $rett; } function _formSubmit( $attr ) { //$value = 'Update Settings', $name = '' $_name = ''; if( isset( $attr[ 'name' ] ) ) $_name = 'name="'.$attr[ 'name' ].'"'; $_value = ''; if( isset( $attr[ 'value' ] ) ) $_value = $attr[ 'value' ]; $_onclick = ''; if( isset( $attr[ 'onclick' ] ) ) $_onclick = 'onclick="' . $attr[ 'onclick' ] . '"'; $_type = 'submit'; if( isset( $attr[ 'type' ] ) ) $_type = $attr[ 'type' ]; $_class = ''; if( isset( $attr[ 'buttonClass' ] ) ) $_class = $attr[ 'buttonClass' ]; $_id = ''; if( isset( $attr[ 'buttonID' ] ) ) $_id = " id='" . $attr[ 'buttonID' ] . "' "; $rett = ''; if( !isset( $attr[ 'div' ] ) || $attr[ 'div' ] === true ) { $rett = '
' . $rett . '
'; } return $rett; } function _form( $content, $submit = 1 ) { $_submit = ''; if( $submit ) $_submit = ahtml::_formSubmit( array( 'value'=>'Update' ) ); return '
' . $content . $_submit . '
'; } function box( $box , $pageSlug , $sett ) { $result = '
'; foreach( $sett as $fieldName => & $d ){ if( isset( $d[ 'type' ][ 'box' ] ) && isset( $d[ 'skip' ] ) && $d[ 'type' ][ 'box' ] == $box ){ $d[ 'fieldName' ] = $fieldName; $d[ 'pageSlug' ] = $pageSlug; $d[ 'value' ] = sett::get( $pageSlug . '-' . $fieldName ); $result .= ahtml::template( $d ); } } $result .= '
'; return $result; } function boxForm( $box , $pageSlug , $sett , $key = null , $option = null ) { $result = '
'; $result .= '
'; foreach( $sett as $fieldName => & $d ){ if( isset( $d[ 'type' ][ 'box' ] ) && isset( $d[ 'skip' ] ) && $d[ 'type' ][ 'box' ] == $box ){ $d[ 'fieldName' ] = $fieldName; $d[ 'pageSlug' ] = $pageSlug; $d[ 'value' ] = sett::get( $pageSlug . '-' . $fieldName ); $result .= ahtml::template( $d ); } } if( !isset( $sett[ $box ][ 'submit' ] ) || ( isset( $sett[ $box ][ 'submit' ] ) && $sett[ $box ][ 'submit' ] ) ){ $result .= '
'; $result .= ''; if( !empty( $key ) || !empty( $option ) ){ $result .= ''; } $result .= '
'; } $result .= '
'; $result .= '
'; return $result; } function boxMultipleForm( $box , $pageSlug , $sett ) { $result = '
'; foreach( $sett as $fieldName => & $d ){ if( isset( $d[ 'type' ][ 'box' ] ) && isset( $d[ 'skip' ] ) && $d[ 'type' ][ 'box' ] == $box ){ $d[ 'fieldName' ] = $fieldName; $d[ 'pageSlug' ] = $pageSlug; $d[ 'value' ] = sett::get( $pageSlug . '-' . $fieldName ); $result .= '
'; $result .= ahtml::template( $d ); $result .= '
'; } } $result .= '
'; return $result; } /* INPUTS TYPE */ /* INPUT TYPE HIDDEN */ function hidden( $sett ) { $result = ''; return $result; } /* INPUT TYPE TEXT */ function text( $sett ) { $result = ''; return $result; } /* INPUT TYPE LIMITED TEXT */ function limitedText( $sett ) { $result = ''; return $result; } /* INPUT TYPE SEARCH ( AUTO COMPLETE ) */ function search( $sett ) { /* SET INPUT VALUE */ $value = self::getValue( $sett ); $title = ''; $postID = ''; if( !empty( $value ) && (int)$value > 0 ){ $p = get_post( $value ); if( !is_wp_error( $p ) && is_object( $p ) ){ $title = $p -> post_title; $postID = $p -> ID; } } /* POST TITLE */ $result = ''; /* DEFAULT VALIDATOR */ if( !isset( $sett[ 'type' ][ 'validator' ] ) ){ $sett[ 'type' ][ 'validator' ] = 'int'; } /* POST ID */ $result .= ''; /* POSTS FROM QUERY */ $result .= ''; $result .= ''; $result .= ''; return $result; } /* INPUT TYPE DIGIT ( ACCEPT ONLY DIGITS ) */ function digit( $sett ) { /* DEFAULT VALIDATOR */ if( !isset( $sett[ 'type' ][ 'validator' ] ) ){ $sett[ 'type' ][ 'validator' ] = 'int'; } $result = ''; return $result; } /* INPUT TYPE UPLOAD ( URL OR UPLOADED FILE PATH ) */ function upload( $sett ) { /* DEFAULT VALIDATOR */ if( !isset( $sett[ 'type' ][ 'validator' ] ) ){ $sett[ 'type' ][ 'validator' ] = 'url'; } /* UPLOAD URL / FILE PATH */ $result = ''; /* UPLOAD BUTTON */ $result .= ''; return $result; } /* INPUT TYPE UPLOAD ID ( SAVE ID OF ATTACHED FILE ) */ function uploadID( $sett ) { /* SET UPLOAD ID VALUE */ $value = ''; if( (int)self::getValue( $sett ) > 0 ){ $src = wp_get_attachment_image_src( self::getValue( $sett ) , 'full' ); if( isset( $src[ 0 ] ) && !empty( $src[ 0 ] ) ){ $value = $src[ 0 ]; } } /* DEFAULT VALIDATOR */ if( !isset( $sett[ 'type' ][ 'validator' ] ) ){ $sett[ 'type' ][ 'validator' ] = 'int'; } /* UPLOAD URL */ $result = ''; /* UPLOAD BUTTON */ $result .= ''; /* UPLOAD ID */ $result .= ''; my_fl_upload::run( ); return $result; } /* INPUT TYPE PICK COLOR */ function pickColor( $sett ) { /* SET INPUT NAME */ $inputName = tools::getInputName( $sett ); /* COLOR */ $result = ''; /* PICK ICON */ $result .= ''; /* COLOR PANEL */ $result .= '
'; return $result; } /* INPUT TYPE TEXTAREA */ function textarea( $sett ) { $result = ''; return $result; } /* INPUT TYPE LIMITED NUMBER OF WORDS */ function limitedWords( $sett ) { $result = '