Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php /** * * @ IonCube v8.3 Loader By DoraemonPT * @ PHP 5.3 * @ Decoder version..

Decoded Output download

?><?php

/**
 * Woca Framework is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * any later version.
 *
 * Woca Framework is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Woca Framework. If not, see <http://www.gnu.org/licenses/>.
 *
 * @package     Woca_Framework
 * @subpackage  Core
 * @author      Woca Framework Team
 * @version     3.1.2 
 */

// Exit if accessed directly
if( !defined( 'ABSPATH' ) ) exit;

if ( !function_exists( 'wp_get_current_user' ) ) {
    // Fix from @kprovance. Bug #265.
    //require( ABSPATH . WPINC . '/pluggable.php' );
}

// Don't duplicate me!
if( !class_exists( 'WocaFramework' ) ) {

    /**
     * Main WocaFramework class
     *
     * @since       1.0.0
     */
    class WocaFramework {

        public static $_version = '3.1.0';
        public static $_dir;
        public static $_url;
        public static $_properties;

        static function init() {

			// Windows-proof constants: replace backward by forward slashes. Thanks to: @peterbouwmeester
			self::$_dir     = trailingslashit( str_replace( '\', '/', dirname( __FILE__ ) ) );
			$wp_content_dir = trailingslashit( str_replace( '\', '/', WP_CONTENT_DIR ) );
			$relative_url   = str_replace( $wp_content_dir, '', self::$_dir );
			$wp_content_url = ( is_ssl() ? str_replace( 'http://', 'https://', WP_CONTENT_URL ) : WP_CONTENT_URL );
			self::$_url     = trailingslashit( $wp_content_url ) . $relative_url;

/**
        Still need to port these.

            $defaults['footer_credit']      = '<span id="footer-thankyou">' . __( 'Options panel created using', 'woca-framework') . ' <a href="' . $this->framework_url . '" target="_blank">' . __('Woca Framework', 'woca-framework') . '</a> v' . self::$_version . '</span>';
            $defaults['help_tabs']          = array();
            $defaults['help_sidebar']       = ''; // __( '', 'woca-framework' );
            $defaults['database']           = ''; // possible: options, theme_mods, theme_mods_expanded, transient
            $defaults['customizer']         = false; // setting to true forces get_theme_mod_expanded
            $defaults['global_variable']    = '';
            $defaults['output']             = true; // Dynamically generate CSS
            $defaults['transient_time']     = 60 * MINUTE_IN_SECONDS;

            // The defaults are set so it will preserve the old behavior.
            $defaults['default_show']       = false; // If true, it shows the default value
            $defaults['default_mark']       = ''; // What to print by the field's title if the value shown is default
**/

            self::$_properties = array( 
                'args' => array(
                    'opt_name' => array(
                            'required', 
                            'data_type'=>'string', 
                            'label'=>'Option Name', 
                            'desc'=>'Must be defined by theme/plugin. Is the unique key allowing multiple instance of Woca within a single Wordpress instance.', 
                            'default'=>''
                        ),
                    'google_api_key' => array(
                            'data_type'=>'string', 
                            'label'=>'Google Web Fonts API Key', 
                            'desc'=>'Key used to request Google Webfonts. Google fonts are omitted without this.', 
                            'default'=>''
                        ),
                    'last_tab' => array( // Do we need this?
                            'data_type'=>'string', 
                            'label'=>'Last Tab', 
                            'desc'=>'Last tab used.', 
                            'default'=>'0'
                        ),  
                    'menu_icon' => array( 
                            'data_type'=>'string', 
                            'label'=>'Default Menu Icon', 
                            'desc'=>'Default menu icon used by sections when one is not specified.', 
                            'default'=> self::$_url . 'assets/img/menu_icon.png'
                        ),                  

                    'menu_title' => array( 
                            'data_type'=>'string', 
                            'label'=>'Menu Title', 
                            'desc'=>'Label displayed when the admin menu is available.', 
                            'default'=> __( 'Options', 'woca-framework' )
                        ),              
                    'page_title' => array( 
                            'data_type'=>'string', 
                            'label'=>'Page Title', 
                            'desc'=>'Title used on the panel page.', 
                            'default'=> __( 'Options', 'woca-framework' )
                        ),  
                   'page_icon' => array( 
                            'data_type'=>'string', 
                            'label'=>'Page Title', 
                            'desc'=>'Icon class to be used on the options page.', 
                            'default'=> 'icon-themes'
                        ),      
                   'page_slug' => array( 
                            'required', 
                            'data_type'=>'string', 
                            'label'=>'Page Slug', 
                            'desc'=>'Slug used to access options panel.', 
                            'default'=> '_options'
                        ),    
                   'page_cap' => array( 
                            'required', 
                            'data_type'=>'string', 
                            'label'=>'Page Capabilities', 
                            'desc'=>'Permissions needed to access the options panel.', 
                            'default'=> 'manage_options'
                        ),  
                    'page_type' => array(
                        'required', 
                        'data_type' => 'varchar',
                        'label' => 'Page Type',
                        'desc' => 'Specify if the admin menu should appear or not.',
                        'default' => 'menu',
                        'form' => array('type' => 'select', 'options' => array('menu' => 'Admin Menu', 'submenu' => 'Submenu Only')),
                        'validation' => array('required'),
                    ), 
                    'page_parent' => array(
                        'required', 
                        'data_type' => 'varchar',
                        'label' => 'Page Parent',
                        'desc' => 'Specify if the admin menu should appear or not.',
                        'default' => 'themes.php',
                        'form' => array('type' => 'select', 'options' => array('index.php' => 'Dashboard', 'edit.php' => 'Posts', 'upload.php' => 'Media', 'link-manager.php' => 'Links', 'edit.php?post_type=page' => 'pages', 'edit-comments.php' => 'Comments', 'themes.php' => 'Appearance', 'plugins.php' => 'Plugins', 'users.php' => 'Users', 'tools.php' => 'Tools', 'options-general.php' => 'Settings', )),
                        'validation' => array('required'),
                    ),                       
                   'page_position' => array( 
                            'type'=>'int', 
                            'label'=>'Page Position', 
                            'desc'=>'Location where this menu item will appear in the admin menu. Warning, beware of overrides.', 
                            'default'=> null
                        ),  
                    'enqueue' => array(
                            'required', 
                            'data_type'=>'bool',
                            'form' => array('type' => 'radio', 'options' => array(true => 'Enabled', false => 'Disabled')),
                            'label'=>'Enqueue Files', 
                            'desc'=>'Global shut-off for custom CSS enqueuing by the framework',
                            'default'=>true
                        ),
                    'allow_sub_menu' => array(
                            'data_type'=>'bool',
                            'form' => array('type' => 'radio', 'options' => array(true => 'Enabled', false => 'Disabled')),
                            'label'=>'Allow Submenu', 
                            'desc'=>'Turn on or off the submenu that will typically be shown under Appearance.', 
                            'default'=>true
                        ),                        
                    'show_import_export' => array(
                            'data_type'=>'bool',
                            'form' => array('type' => 'radio', 'options' => array(true => 'Show', false => 'Hide')),
                            'label'=>'Show Import/Export', 
                            'desc'=>'Show/Hide the import/export tab.', 
                            'default'=>true
                        ),  
                    'dev_mode' => array(
                            'data_type'=>'bool',
                            'form' => array('type' => 'radio', 'options' => array(true => 'Enabled', false => 'Disabled')),
                            'label'=>'Developer Mode', 
                            'desc'=>'Turn on or off the dev mode tab.', 
                            'default'=>false
                        ), 
                    'system_info' => array(
                            'data_type'=>'bool',
                            'form' => array('type' => 'radio', 'options' => array(true => 'Enabled', false => 'Disabled')),
                            'label'=>'System Info', 
                            'desc'=>'Turn on or off the system info tab.', 
                            'default'=>false
                        ),                                                         
                ),
            );  


        }      

        // Protected vars
        // These two are actually really unnecessary and should be deprecated
        protected $framework_url        = 'http://www.woca.com.tr/';

        /** @var WocaFramework $instance  */
		public $instance			= null;

        // Public vars
        public $page                = '';
        public $args                = array();
        public $sections            = array();
        public $errors              = array();
        public $warnings            = array();
        public $options             = array();
        public $options_defaults    = null;
        public $localize_data       = array();
		public $folds    			= array();
		public $path 				= '';
		public $output 				= array(); // Fields with CSS output selectors
        public $outputCSS           = null;

        public $fieldsValues        = array(); //all fields values in an id=>value array so we can check dependencies
        public $fieldsHidden        = array(); //all fields that didn't pass the dependency test and are hidden

		/**
		 * Class Constructor. Defines the args for the theme options class
		 * @since       1.0.0
		 * @param       array $sections   Panel sections.
		 * @param       array $args       Class constructor arguments.
		 * @param       array $extra_tabs Extra panel tabs. // REMOVE
		 * @return \WocaFramework
		 */
        public function __construct( $sections = array(), $args = array(), $extra_tabs = array() ) {
            global $wp_version;
            // Create defaults array
            $defaults = array();

			/**
			 * Load plugin text domain
			 * If for some weird reason, we do not have opt_name, will make it demo
			 * @todo Should we work without opt_name at all?
			 */
            $defaults['opt_name'] = isset($args['opt_name']) && $args['opt_name'] != '' ? $args['opt_name'] : 'woca_demo';
            
            $this->_internationalization($defaults['opt_name']);

            $defaults['opt_name']           = ''; // Must be defined by theme/plugin
            $defaults['google_api_key']     = ''; // Must be defined to add google fonts to the typography module
            $defaults['last_tab']           = '0';
            $defaults['menu_icon']          = self::$_url . 'assets/img/menu_icon.png';
            $defaults['menu_icon'] 		= '';
            $defaults['menu_title']         = __( 'Options', 'woca-framework' );
            $defaults['page_icon']          = 'icon-themes';
            $defaults['page_title']         = __( 'Options', 'woca-framework' );
            $defaults['page_slug']          = '_options';
            $defaults['page_cap']           = 'manage_options';
            $defaults['page_type']          = 'menu';
            $defaults['page_parent']        = 'themes.php';
            $defaults['page_position']      = null;
            $defaults['enqueue']      		= true;
            $defaults['allow_sub_menu']     = true;
            $defaults['save_defaults']      = false; // Save defaults to the DB on it if empty
            $defaults['show_import_export'] = true; // REMOVE
            $defaults['dev_mode']           = false; // REMOVE
            $defaults['system_info']        = false; // REMOVE
            $defaults['footer_credit']      = '';
            $defaults['help_tabs']          = array();
            $defaults['help_sidebar']       = ''; // __( '', 'woca-framework' );
            $defaults['database'] 			= ''; // possible: options, theme_mods, theme_mods_expanded, transient
            $defaults['customizer'] 		= false; // setting to true forces get_theme_mod_expanded
			$defaults['global_variable'] 	= '';
			$defaults['output'] 			= true; // Dynamically generate CSS
            $defaults['output_tag']         = true; // Print Output Tag
            /** @noinspection PhpUndefinedConstantInspection */
            $defaults['transient_time'] 	= 60 * MINUTE_IN_SECONDS;

            // The defaults are set so it will preserve the old behavior.
            $defaults['default_show']		= false; // If true, it shows the default value
            $defaults['default_mark']		= ''; // What to print by the field's title if the value shown is default

	    	// Set values
            $this->args = wp_parse_args( $args, $defaults );

	    if ( empty( $this->path ) ) {
            	$this->path = trailingslashit( str_replace( '\', '/', dirname( __FILE__ ) ) );
            	$this->url = site_url( str_replace( trailingslashit( str_replace( '\', '/', ABSPATH ) ), '', $this->path ) );
            }

            if ( $this->args['global_variable'] !== false ) {
            	if ( $this->args['global_variable'] == "" ) {
            		$this->args['global_variable'] = str_replace('-', '_', $this->args['opt_name']);	
            	}
            	$variable = $this->args['global_variable'];
            	global $$variable;
            	if ( empty( $$variable ) ) {
            		$this->options = $this->get_options();
            	}
            }

		    $this->sections = apply_filters('woca-sections',$sections); // REMOVE LATER
            $this->sections = apply_filters('woca/options/'.$this->args['opt_name'].'/sections',$this->sections);

            if( is_array( $extra_tabs ) && !empty( $extra_tabs ) ) {
				/** @noinspection PhpUnusedLocalVariableInspection */
				foreach( $extra_tabs as $k => $tab ) {
                    array_push($this->sections, $tab);
                }
            }

            // Set option with defaults
            add_action( 'init', array( &$this, '_set_default_options' ) );

            // Options page
            add_action( 'admin_menu', array( &$this, '_options_page' ) );

            // Register extensions
            add_action( 'init', array( &$this, '_register_extensions' ) );

            // Register setting
            add_action( 'admin_init', array( &$this, '_register_setting' ) );

            // Any dynamic CSS output, let's run
            add_action( 'wp_head', array( &$this, '_enqueue_output' ), 100 );
            

            // Hook into the WP feeds for downloading exported settings
            add_action( 'do_feed_wocaopts-' . $this->args['opt_name'], array( &$this, '_download_options' ), 1, 1 );

			// Fix for the GT3 page builder: http://www.gt3themes.com/wordpress-gt3-page-builder-plugin/
			/** @global string $pagenow */
			global $pagenow;
			if ( $pagenow === 'admin.php' ) {
				/** @noinspection PhpUndefinedCallbackInspection */
				remove_action( 'admin_init', 'pb_admin_init' );
			}

		}

		/**
		 * Load the plugin text domain for translation.
		 * @param string $opt_name
		 * @since    3.0.5
		 */
		public function _internationalization( $opt_name ) {

            $domain = 'woca-framework';
            $locale = apply_filters( 'woca/textdomain/'. $opt_name, get_locale(), $domain );
            load_textdomain( $domain, trailingslashit( WP_LANG_DIR ) . $domain . '/' . $domain . '-' . $locale . '.mo' );
            load_textdomain( $domain, dirname( __FILE__ ) . '/languages/' . $domain . '-' . $locale . '.mo' );

        }

		/**
		 * @return WocaFramework
		 */
		public function get_instance() {
        	return $this->instance;
        }


        /**
         * ->_get_default(); This is used to return the default value if default_show is set
         *
         * @since       1.0.1
         * @access      public
         * @param       string $opt_name The option name to return
         * @param       mixed $default (null)  The value to return if default not set
         * @return      mixed $default
         */
        public function _get_default( $opt_name, $default = null ) {
            if( $this->args['default_show'] == true ) {

                if( is_null( $this->options_defaults ) ) {
                	$this->_default_values(); // fill cache
                }

                $default = array_key_exists( $opt_name, $this->options_defaults ) ? $this->options_defaults[$opt_name] : $default;
            }
            return $default;
        }

        /**
         * ->get(); This is used to return and option value from the options array
         *
         * @since       1.0.0
         * @access      public
         * @param       string $opt_name The option name to return
         * @param       mixed $default (null) The value to return if option not set
         * @return      mixed
         */
        public function get( $opt_name, $default = null ) {
            return ( !empty( $this->options[$opt_name] ) ) ? $this->options[$opt_name] : $this->_get_default( $opt_name, $default );
        }

        /**
         * ->set(); This is used to set an arbitrary option in the options array
         *
         * @since       1.0.0
         * @access      public
         * @param       string $opt_name The name of the option being added
         * @param       mixed $value The value of the option being added
         * @return      void
         */
        public function set( $opt_name = '', $value = '' ) {
            if( $opt_name != '' ) {
                $this->options[$opt_name] = $value;
				$this->set_options( $this->options );
            }
        }


		/**
		 * ->set_options(); This is used to set an arbitrary option in the options array
		 *
		 * @since WocaFramework 3.0.0
		 * @param mixed $value the value of the option being added
		 */
		function set_options( $value = '' ) {
			$value['WOCA_last_saved'] = time();
			if( !empty($value) ) {
				if ( $this->args['database'] === 'transient' ) {
					set_transient( $this->args['opt_name'] . '-transient', $value, $this->args['transient_time'] );
				} else if ( $this->args['database'] === 'theme_mods' ) {
					set_theme_mod( $this->args['opt_name'] . '-mods', $value );	
				} else if ( $this->args['database'] === 'theme_mods_expanded' ) {
					foreach ( $value as $k=>$v ) {
						set_theme_mod( $k, $v );
					}
				} else {
					update_option( $this->args['opt_name'], $value );
				}
				// Set a global variable by the global_variable argument.
				if ( $this->args['global_variable'] ) {
					$options = $this->args['global_variable'];
					global $$options;
                    $value = apply_filters( 'woca/options/'.$this->args['opt_name'].'/global_variable', $value );
					$$options = $value;					
				}
				do_action( 'woca-saved-' . $this->args['opt_name'] , $value ); // REMOVE
                do_action( 'woca/options/'.$this->args['opt_name'].'/saved', $value );
			}
		}

		/**
		 * ->get_options(); This is used to get options from the database
		 *
		 * @since WocaFramework 3.0.0
		 */
		function get_options() {
			$defaults = false;
			if ( !empty( $this->defaults ) ) {
				$defaults = $this->defaults;
			}			

			if ( $this->args['database'] === "transient" ) {
				$result = get_transient( $this->args['opt_name'] . '-transient' );
			} else if ($this->args['database'] === "theme_mods" ) {
				$result = get_theme_mod( $this->args['opt_name'] . '-mods' );
			} else if ( $this->args['database'] === 'theme_mods_expanded' ) {
				$result = get_theme_mods();
			} else {
				$result = get_option( $this->args['opt_name']);
			}
			if ( empty( $result ) && !empty( $defaults ) ) {
				$results = $defaults;
				$this->set_options($results);
			}			
			// Set a global variable by the global_variable argument.
			if ( $this->args['global_variable'] ) {
				$options = $this->args['global_variable'];
				global $$options;
                $result = apply_filters( 'woca/options/'.$this->args['opt_name'].'/global_variable', $result );
				$$options = $result;			
			}
			//print_r($result);
			return $result;
		}

/**
		 * ->get_options(); This is used to get options from the database
		 *
		 * @since WocaFramework 3.0.0
		 */
		function get_wordpress_data($type = false, $args = array()) {
			$data = "";
			if ( !empty($type) ) {

                $data = apply_filters( 'woca/options/'.$this->args['opt_name'].'/wordpress_data/'.$type.'/', $data ); // REMOVE LATER
                $data = apply_filters( 'woca/options/'.$this->args['opt_name'].'/data/'.$type, $data ); 

				/**
					Use data from Wordpress to populate options array
				**/
				if (!empty($type) && empty($data)) {
					if (empty($args)) {
						$args = array();
					}
					$data = array();
					$args = wp_parse_args($args, array());	
					if ($type == "categories" || $type == "category") {
						$cats = get_categories($args); 
						if (!empty($cats)) {		
							foreach ( $cats as $cat ) {
								$data[$cat->term_id] = $cat->name;
							}//foreach
						} // If
					} else if ($type == "menus" || $type == "menu") {
						$menus = wp_get_nav_menus($args);
						if(!empty($menus)) {
							foreach ($menus as $item) {
								$data[$item->term_id] = $item->name;
							}//foreach
						}//if
					} else if ($type == "pages" || $type == "page") {
						$pages = get_pages($args); 
						if (!empty($pages)) {
							foreach ( $pages as $page ) {
								$data[$page->ID] = $page->post_title;
							}//foreach
						}//if
                    } else if ($type == "terms" || $type == "term") {
                        $taxonomies = $args['taxonomies'];
                        unset($args['taxonomies']);
                        if (empty($args)) {
                            $args = array();
                        }
                        if (empty($args['args'])) {
                            $args['args'] = array();
                        }                        
                        $terms = get_terms($taxonomies, $args['args']); // this will get nothing
                        if (!empty($terms)) {       
                            foreach ( $terms as $term ) {
                                $data[$term->term_id] = $term->name;
                            }//foreach
                        } // If
                    } else if ($type == "posts" || $type == "post") {
						$posts = get_posts($args); 
						if (!empty($posts)) {
							foreach ( $posts as $post ) {
								$data[$post->ID] = $post->post_title;
							}//foreach
						}//if
					} else if ($type == "post_type" || $type == "post_types") {
                        global $wp_post_types;
                        $defaults = array(
                            'public' => true,
                            'publicly_queryable' => true,
                            'exclude_from_search' => false,
                            '_builtin' => false,
                        );
                        $args = wp_parse_args( $args, $defaults );
                        $output = 'names';
                        $operator = 'and';
                        $post_types = get_post_types($args, $output, $operator);
                        $post_types['page'] = 'page';
                        $post_types['post'] = 'post';
                        ksort($post_types);

                        foreach ( $post_types as $name => $title ) {
                            if ( isset($wp_post_types[$name]->labels->menu_name) ) {
                                $data[$name] = $wp_post_types[$name]->labels->menu_name;
                            } else {
                                $data[$name] = ucfirst($name);
                            }
                        }
					} else if ($type == "tags" || $type == "tag") {
						$tags = get_tags($args); 
						if (!empty($tags)) {
							foreach ( $tags as $tag ) {
								$data[$tag->term_id] = $tag->name;
							}//foreach
						}//if
					} else if ($type == "menu_location" || $type == "menu_locations") {
						global $_wp_registered_nav_menus;
						foreach($_wp_registered_nav_menus as $k => $v) {
		           			$data[$k] = $v;
		        		}
					}//if
					else if ($type == "elusive-icons" || $type == "elusive-icon" || $type == "elusive" || 
							 $type == "font-icon" || $type == "font-icons" || $type == "icons") {
						$font_icons = apply_filters('woca-font-icons',array()); // REMOVE LATER
                        $font_icons = apply_filters('woca/font-icons',$font_icons);
						foreach($font_icons as $k) {
		           			$data[$k] = $k;
		        		}
					}else if ($type == "roles") {
						/** @global WP_Roles $wp_roles */
						global $wp_roles;
                        $data = $wp_roles->get_names();
					}else if ($type == "sidebars" || $type == "sidebar") {
                        /** @global array $wp_registered_sidebars */
                        global $wp_registered_sidebars;
                        foreach ($wp_registered_sidebars as $key=>$value) {
                            $data[$key] = $value['name'];
                        }
                    }else if ($type == "capabilities") {
						/** @global WP_Roles $wp_roles */
						global $wp_roles;
                        foreach( $wp_roles->roles as $role ){
                            foreach( $role['capabilities'] as $key => $cap ){
                                $data[$key] = ucwords(str_replace('_', ' ', $key));
                            }
                        }
					}else if ($type == "callback") {
						$data = call_user_func($args[0]);
					}//if			
				}//if
			}//if

			return $data;
		}		

        /**
         * ->show(); This is used to echo and option value from the options array
         *
         * @since       1.0.0
         * @access      public
         * @param       string $opt_name The name of the option being shown
         * @param       mixed $default The value to show if $opt_name isn't set
         * @return      void
         */
        public function show( $opt_name, $default = '' ) {
            $option = $this->get( $opt_name );
            if( !is_array( $option ) && $option != '' ) {
                echo $option;
            } elseif( $default != '' ) {
                echo $this->_get_default( $opt_name, $default );
            }
        }

        /**
         * Get default options into an array suitable for the settings API
         *
         * @since       1.0.0
         * @access      public
         * @return      array $this->options_defaults
         */
        public function _default_values() {
            if( !is_null( $this->sections ) && is_null( $this->options_defaults ) ) {
                // fill the cache
                foreach( $this->sections as $section ) {
                    if( isset( $section['fields'] ) ) {
                        foreach( $section['fields'] as $field ) {
                            if( isset( $field['default'] ) ) {
                            	$this->options_defaults[$field['id']] = $field['default'];
                            }
                        }
                    }
                }
            }
            $this->options_defaults = apply_filters( 'woca/options/'.$this->args['opt_name'].'/defaults', $this->options_defaults );

            return $this->options_defaults;
        }


		/**
		 * Get fold values into an array suitable for setting folds
		 *
		 * @since WocaFramework 1.0.0
		 */
		function _fold_values() {
		    /*
		    Folds work by setting the folds value like so
		    $this->folds['parentID']['parentValue'][] = 'childId'
		    */
//		    $folds = array();
		    if( !is_null( $this->sections ) && is_null( $this->options_defaults ) ) {
				foreach( $this->sections as $section ) {
				    if( isset( $section['fields'] ) ) {
						foreach( $section['fields'] as $field ) {
                            //if we have required option in group field
                            if(isset($field['subfields']) && is_array($field['subfields'])){
                                foreach ($field['subfields'] as $subfield) {
                                    if(isset($subfield['required']))
                                        $this->get_fold($subfield);
                                }
                            }
						    if( isset( $field['required'] ) ) {
                                $this->get_fold($field);
						    }
						}
				    }
				}
			}
			/*
			$parents = array();
			$toHide = array();
			foreach ($folds as $k=>$fold) { // ParentFolds WITHOUT parents
				if ( empty( $fold['children'] ) || !empty( $fold['children']['parents'] ) ) {
					continue;
				}
				$fold['value'] = $this->options[$k];
				foreach ($fold['children'] as $key =>$value) {
					if ($key == $fold['value']) {
						unset($fold['children'][$key]);
					}
				}
				if (empty($fold['children'])) {
					continue;
				}
				foreach ($fold['children'] as $key => $value) {
					foreach ($value as $k=> $hidden) {
						$toHide[$hidden]=true;
						
					}
				}				
				$parents[] = $fold;
			}



			print_r($parents);
			print_r($toHide);
*/
			return $this->folds;
		    
		}

		/**
		 * @param array $field
		 * @return array
		 */
		function get_fold($field){
            if ( !is_array( $field['required'] ) ) {
                /*
                Example variable:
                    $var = array(
                    'fold' => 'id'
                    );
                */
                $this->folds[$field['required']]['children'][1][] = $field['id'];
                $this->folds[$field['id']]['parent'] = $field['required'];
            } else {
//                $parent = $foldk = $field['required'][0];
                $foldk = $field['required'][0];
//                $comparison = $field['required'][1];
                $value = $foldv = $field['required'][2];                                                                                    
                //foreach( $field['required'] as $foldk=>$foldv ) {
                    

                    if ( is_array( $value ) ) {
                        /*
                        Example variable:
                            $var = array(
                            'fold' => array( 'id' , '=', array(1, 5) )
                            );
                        */
                        
                        foreach ($value as $foldvValue) {
                            //echo 'id: '.$field['id']." key: ".$foldk.' f-val-'.print_r($foldv)." foldvValue".$foldvValue;
                            $this->folds[$foldk]['children'][$foldvValue][] = $field['id'];
                            $this->folds[$field['id']]['parent'] = $foldk;
                        }
                    } else {
                        
                        //!DOVY If there's a problem, this is where it's at. These two cases.
                        //This may be able to solve this issue if these don't work
                        //if (count($field['fold']) == count($field['fold'], COUNT_RECURSIVE)) {
                        //}

                        if (count($field['required']) === 1 && is_numeric($foldk)) {
                            /*
                            Example variable:
                                $var = array(
                                'fold' => array( 'id' )
                                );
                            */  
                            $this->folds[$field['id']]['parent'] = $foldk;
                            $this->folds[$foldk]['children'][1][] = $field['id'];
                        } else {
                            /*
                            Example variable:
                                $var = array(
                                'fold' => array( 'id' => 1 )
                                );
                            */                      
                            if (empty($foldv)) {
                                $foldv = 0;
                            }
                            $this->folds[$field['id']]['parent'] = $foldk;
                            $this->folds[$foldk]['children'][$foldv][] = $field['id'];    
                        }
                    }
                //}
            }
            return $this->folds;
        }

        /**
         * Set default options on admin_init if option doesn't exist
         *
         * @since       1.0.0
         * @access      public
         * @return      void
         */
        public function _set_default_options() {

        	$this->instance = $this;

		    // Get args
		    $this->args = apply_filters( 'woca-args-'.$this->args['opt_name'], $this->args ); // REMOVE
            $this->args = apply_filters( 'woca/options/'.$this->args['opt_name'].'/args', $this->args );

		    // Fix the global variable name
            if ( $this->args['global_variable'] == "" && $this->args['global_variable'] !== false ) {
            	$this->args['global_variable'] = str_replace('-', '_', $this->args['opt_name']);
            }

		    // Get sections
		    $this->sections = apply_filters( 'woca-sections-' . $this->args['opt_name'], $this->sections ); // REMOVE
            $this->sections = apply_filters( 'woca/options/' . $this->args['opt_name'].'/sections', $this->sections );

		    // Grab database values
		    $this->options = $this->get_options();

            // Get the fold values
            $this->folds = $this->_fold_values();		    

		    // Set defaults if empty
		    if( empty( $this->options ) && !empty( $this->sections ) ) {
				$defaults = $this->_default_values();
                if ( $this->args['save_defaults'] == true ) {
                    $this->set_options( $defaults ); // Only save these defaults to the DB if this argument is set
                }
				$this->options = $defaults;
		    }
	    
        }

		/**
		 * Class Options Page Function, creates main options page.
		 * @since       1.0.0
		 * @access      public
		 * @return void
		 */
        function _options_page() {
            if( $this->args['page_type'] == 'submenu' ) {
                $this->page = add_submenu_page(
                    $this->args['page_parent'],
                    $this->args['page_title'],
                    $this->args['menu_title'],
                    $this->args['page_cap'],
                    $this->args['page_slug'],
                    array( &$this, '_options_page_html' )
                );
            } else {
                $this->page = add_menu_page(
                    $this->args['page_title'],
                    $this->args['menu_title'],
                    $this->args['page_cap'],
                    $this->args['page_slug'],
                    array( &$this, '_options_page_html' ),
                    $this->args['menu_icon'],
                    $this->args['page_position']
                );

                if( true === $this->args['allow_sub_menu'] ) {
                    if( !isset( $section['type'] ) || $section['type'] != 'divide' ) {

                        add_submenu_page(
                            $this->args['page_slug'],
                            __('Balang', 'woca-framework'), 
                            __('Balang', 'woca-framework'), 
                            $this->args['page_cap'], 
                            $this->args['page_slug'] . '&tab=baslangic', create_function('$a', "return null;")
                        );

                        foreach( $this->sections as $k => $section ) {
                            if ( !isset( $section['title'] ) )
                                continue;

                            if ( isset( $section['submenu'] ) && $section['submenu'] == false )
                                continue;

                            add_submenu_page(
                                $this->args['page_slug'],
                                $section['title'],
                                $section['title'],
                                $this->args['page_cap'],
                                $this->args['page_slug'] . '&tab=' . $k,
                                create_function( '$a', "return null;" )
                            );
                        }

                        // Remove parent submenu item instead of adding null item.
                        remove_submenu_page( $this->args['page_slug'], $this->args['page_slug'] );
                    }

                    if( true === $this->args['show_import_export'] ) {
                        add_submenu_page(
                            $this->args['page_slug'],
                            __( 'Import / Export', 'woca-framework' ),
                            __( 'Import / Export', 'woca-framework' ),
                            $this->args['page_cap'],
                            $this->args['page_slug'] . '&tab=import_export_default', 
                            create_function( '$a', "return null;" )
                        );
                    }

                    if( true === $this->args['dev_mode'] ) {
                        add_submenu_page(
                            $this->args['page_slug'],
                            __( 'Options Object', 'woca-framework' ),
                            __( 'Options Object', 'woca-framework' ),
                            $this->args['page_cap'],
                            $this->args['page_slug'] . '&tab=dev_mode_default',
                            create_function('$a', "return null;")
                        );
                    }

                    if( true === $this->args['system_info'] ) {
                        add_submenu_page(
                            $this->args['page_slug'],
                            __( 'System Info', 'woca-framework' ),
                            __( 'System Info', 'woca-framework' ),
                            $this->args['page_cap'],
                            $this->args['page_slug'] . '&tab=system_info_default',
                            create_function( '$a', "return null;" )
                        );
                    }
                }
            }

            add_action( 'admin_print_styles-' . $this->page, array( &$this, '_enqueue' ) );
            
            add_action( 'load-' . $this->page, array( &$this, '_load_page' ) );
        }

        /**
         * Enqueue CSS/JS for options page
         *
         * @since       1.0.0
         * @access      public
         * @global      $wp_styles
         * @return      void
         */
        public function _enqueue_output() {

            if( $this->args[ 'output' ] == false ) {
                return;
            }

			/** @noinspection PhpUnusedLocalVariableInspection */
			foreach( $this->sections as $k => $section ) {
                if( isset($section['type'] ) && ( $section['type'] == 'divide' ) ) {
                    continue;
                }
                if( isset( $section['fields'] ) ) {
					/** @noinspection PhpUnusedLocalVariableInspection */
					foreach( $section['fields'] as $fieldk => $field ) {
						if( isset( $field['type'] ) && $field['type'] != "callback"  ) {
                            $field_class = 'WocaFramework_' . $field['type'];
                            if( !class_exists( $field_class ) ) {
//                                $class_file = apply_filters( 'woca/field/class/'.$field['type'], self::$_dir . 'inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.php', $field ); // REMOVE
                                $class_file = apply_filters( 'woca/'.$this->args['opt_name'].'/field/class/'.$field['type'], self::$_dir . 'inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.php', $field );
                                
                                if( $class_file && file_exists($class_file) ) {
                                    /** @noinspection PhpIncludeInspection */
                                    require_once( $class_file );
                                }
                            }	

                            if( !empty( $this->options[$field['id']] ) && class_exists( $field_class ) && method_exists( $field_class, 'output' ) ) {
                            	if ( !empty($field['output']) && !is_array( $field['output'] ) ) {
                					$field['output'] = array( $field['output'] );
                				}
								$value = isset($this->options[$field['id']])?$this->options[$field['id']]:'';
                				$enqueue = new $field_class( $field, $value, $this );
								/** @noinspection PhpUndefinedMethodInspection */
								$enqueue->output();
                            }
                        }       	
                    }
                    
                }
            }
            if ( !empty( $this->outputCSS ) && $this->args['output_tag'] == true ) {
                echo '<style type="text/css" class="woca-output">'.$this->outputCSS.'</style>';  
            }
        }        

        /**
         * Enqueue CSS/JS for options page
         *
         * @since       1.0.0
         * @access      public
         * @global      $wp_styles
         * @return      void
         */
        public function _enqueue() {
            global $wp_styles;

            wp_register_style(
                'woca-css',
                self::$_url . 'assets/css/woca.css',
                array( 'farbtastic' ),
                filemtime( self::$_dir . 'assets/css/woca.css' ),
                'all'
            );

            wp_register_style(
                'woca-elusive-icon',
                self::$_url . 'assets/css/vendor/elusive-icons/elusive-webfont.css',
                array(),
                filemtime( self::$_dir . 'assets/css/vendor/elusive-icons/elusive-webfont.css' ),
                'all'
            );

            wp_register_style(
                'woca-elusive-icon-ie7',
                self::$_url . 'assets/css/vendor/elusive-icons/elusive-webfont-ie7.css',
                array(),
                filemtime( self::$_dir . 'assets/css/vendor/elusive-icons/elusive-webfont-ie7.css' ),
                'all'
            );

            wp_register_style(
                'select2-css',
                self::$_url . 'assets/js/vendor/select2/select2.css',
                array(),
                filemtime( self::$_dir . 'assets/js/vendor/select2/select2.css' ),
                'all'
            );          

            $wp_styles->add_data( 'woca-elusive-icon-ie7', 'conditional', 'lte IE 7' );

            wp_register_style(
                'jquery-ui-css',
                apply_filters( 'woca/page/'.$this->args['opt_name'].'/enqueue/jquery-ui-css', self::$_url . 'assets/css/vendor/jquery-ui-bootstrap/jquery-ui-1.10.0.custom.css' ),
                '',
                filemtime( self::$_dir . 'assets/css/vendor/jquery-ui-bootstrap/jquery-ui-1.10.0.custom.css' ),
                'all'
            );

            wp_enqueue_style( 'jquery-ui-css' );

            wp_enqueue_style( 'woca-lte-ie8' );

            wp_enqueue_style( 'woca-css' );

            wp_enqueue_style( 'select2-css' );

            wp_enqueue_style( 'woca-elusive-icon' );
            wp_enqueue_style( 'woca-elusive-icon-ie7' );

            if(is_rtl()){
                wp_register_style(
                    'woca-rtl-css',
                    self::$_url . 'assets/css/rtl.css',
                    '',
                    filemtime( self::$_dir . 'assets/css/rtl.css' ),
                    'all'
                );
                wp_enqueue_style( 'woca-rtl-css' );
            } 

            if ( $this->args['dev_mode'] === true) { // Pretty object output
                /*
	            wp_enqueue_script(
	                'json-view-js',
	                self::$_url . 'assets/js/vendor/jsonview.min.js',
	                array( 'jquery' ),
	                time(),
	                true
	            );
                */
            }

            wp_enqueue_script('jquery');
            wp_enqueue_script('jquery-ui-core');
            wp_enqueue_script('jquery-ui-sortable');
            wp_enqueue_style('jquery-ui-sortable');
            wp_enqueue_script('jquery-ui-datepicker');
            wp_enqueue_script('jquery-ui-dialog');
            wp_enqueue_script('jquery-ui-slider');
            wp_enqueue_script('wp-color-picker');
            wp_enqueue_script('jquery-ui-accordion');
            wp_enqueue_style( 'wp-color-picker' );

            if ( function_exists( 'wp_enqueue_media' ) ) {
                wp_enqueue_media();
            } else {
                wp_enqueue_script( 'media-upload' );
            }

            add_thickbox();

            wp_register_script( 
                'select2-js', 
                self::$_url . 'assets/js/vendor/select2/select2.min.js',
                array( 'jquery' ),
                filemtime( self::$_dir . 'assets/js/vendor/select2/select2.min.js' ),
                true
            );

            wp_register_script( 
                'ace-editor-js', 
                self::$_url . 'assets/js/vendor/ace_editor/ace.js',
                array( 'jquery' ),
                filemtime( self::$_dir . 'assets/js/vendor/ace_editor/ace.js' ),
                true
            );          
            
            // Embed the compress version unless in dev mode
            if ( isset($this->args['dev_mode'] ) && $this->args['dev_mode'] === true) {
                wp_register_script(
                    'woca-vendor',
                    self::$_url . 'assets/js/vendor.min.js',
                    array( 'jquery'),
                    time(),
                    true
                );                                        
                wp_register_script(
                    'woca-js',
                    self::$_url . 'assets/js/woca.js',
                    array( 'jquery', 'select2-js', 'ace-editor-js', 'woca-vendor' ),
                    time(),
                    true
                );
            } else {
                if ( file_exists( self::$_dir . 'assets/js/woca.min.js' ) ) {
                	wp_register_script(
                        'woca-js',
                        self::$_url . 'assets/js/woca.min.js',
                        array( 'jquery', 'select2-js', 'ace-editor-js' ),
                        filemtime( self::$_dir . 'assets/js/woca.min.js' ),
                        true
                    );
                }
            }
            
            foreach( $this->sections as $section ) {
                if( isset( $section['fields'] ) ) {
                    foreach( $section['fields'] as $field ) {
                        if( isset( $field['type'] ) && $field['type'] != 'callback' ) {
                            $field_class = 'WocaFramework_' . $field['type'];
                            $class_file = apply_filters( 'woca/'.$this->args['opt_name'].'/field/class/'.$field['type'], self::$_dir . 'inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.php', $field );
                            if( $class_file ) {
                                /** @noinspection PhpIncludeInspection */
                                require_once( $class_file );
                                if ( method_exists( $field_class, 'enqueue' ) || method_exists( $field_class, 'localize' ) ) {
                                    $theField = new $field_class( $field, $this->options[$field['id']], $this );
                                    if ( class_exists($field_class) && isset($this->args['dev_mode']) && $this->args['dev_mode'] === true && method_exists( $field_class, 'enqueue' ) ) {
                                        /** @noinspection PhpUndefinedMethodInspection */
                                        $theField->enqueue();    
                                    }
                                    if ( method_exists( $field_class, 'localize' ) ) {
                                        /** @noinspection PhpUndefinedMethodInspection */
                                        $params = $theField->localize();
                                        if ( !isset( $this->localize_data[$field['type']] ) ) {
                                            $this->localize_data[$field['type']] = array();
                                        }
                                        $this->localize_data[$field['type']][$field['id']] = $theField->localize();
                                    } 
                                    unset($theField);                               
                                }
                            }
                        }
                    }
                }
            }
            if( is_null( $this->options_defaults ) ) {
                $this->_default_values(); // fill cache
            }
            $this->localize_data['folds'] = $this->folds;
            $this->localize_data['options'] = $this->options;
            $this->localize_data['defaults'] = $this->options_defaults;
            $this->localize_data['args'] = array(
                'save_pending'      	=> __( 'You have changes that are not saved. Would you like to save them now?', 'woca-framework' ), 
                'reset_confirm'     	=> __( 'Are you sure? Resetting will loose all custom values.', 'woca-framework' ), 
                'reset_section_confirm' => __( 'Are you sure? Resetting will loose all custom values in this section.', 'woca-framework' ), 
                'preset_confirm'    	=> __( 'Your current options will be replaced with the values of this preset. Would you like to proceed?', 'woca-framework' ), 
                'opt_name'          	=> $this->args['opt_name'],
                'slug'              	=> $this->args['page_slug']
            );       

            // Construct the errors array. 
            $errors = get_transient( 'woca-errors-' . $this->args['opt_name'] );
            if( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] == 'true' && !empty( $errors ) ) {
                $theTotal = 0;
                $theErrors = array();
                foreach($errors as $error) {
                    $theErrors[$error['section_id']]['errors'][] = $error;
                    if (!isset($theErrors[$error['section_id']]['total'])) {
                        $theErrors[$error['section_id']]['total'] = 0;
                    }
                    $theErrors[$error['section_id']]['total']++;
                    $theTotal++;
                }
                delete_transient( 'woca-errors-' . $this->args['opt_name'] );
                $this->localize_data['errors'] = array('total'=>$theTotal, 'errors'=>$theErrors);
            }

            // Construct the errors array. 
            $warnings = get_transient( 'woca-warnings-' . $this->args['opt_name'] );
            if( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] == 'true' && !empty( $warnings ) ) {
                $theTotal = 0;
                $theWarnings = array();
                foreach($warnings as $warning) {
                    $theWarnings[$warning['section_id']]['warnings'][] = $warning;
                    if (!isset($theWarnings[$warning['section_id']]['total'])) {
                        $theWarnings[$warning['section_id']]['total'] = 0;
                    }
                    $theWarnings[$warning['section_id']]['total']++;
                    $theTotal++;
                }
                delete_transient( 'woca-warnings-' . $this->args['opt_name'] );
                $this->localize_data['warnings'] = array('total'=>$theTotal, 'warnings'=>$theWarnings);
            }
            
            // Values used by the javascript
            wp_localize_script(
                'woca-js', 
                'woca', 
                $this->localize_data
            );

            wp_enqueue_script('woca-js'); // Enque the JS now

            do_action( 'woca-enqueue-' . $this->args['opt_name'], $this ); // REMOVE
            do_action( 'woca/page/' . $this->args['opt_name'] . '/enqueue' );

        }

        /**
         * Download the options file, or display it
         *
         * @since       3.0.0
         * @access      public
         * @return      void
         */
        public function _download_options(){
            /** @noinspection PhpUndefinedConstantInspection */
            if( !isset( $_GET['secret'] ) || $_GET['secret'] != md5( AUTH_KEY . SECURE_AUTH_KEY ) ) {
                wp_die( 'Invalid Secret for options use' );
                exit;
            }

            if( !isset( $_GET['feed'] ) ){
                wp_die( 'No Feed Defined' );
                exit;
            }

            $backup_options = $this->get_options( str_replace( 'woca-', '', $_GET['feed'] ) );
            $backup_options['woca-backup'] = '1';
            $content = json_encode( $backup_options );

            if( isset( $_GET['action'] ) && $_GET['action'] == 'download_options' ) {
                header( 'Content-Description: File Transfer' );
                header( 'Content-type: application/txt' );
                header( 'Content-Disposition: attachment; filename="' . str_replace( 'woca-', '', $_GET['feed'] ) . '_backup_' . date( 'd-m-Y' ) . '.json"' );
                header( 'Content-Transfer-Encoding: binary' );
                header( 'Expires: 0' );
                header( 'Cache-Control: must-revalidate' );
                header( 'Pragma: public' );
                echo $content;
                exit;
            } else {
                header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 
                header("Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . "GMT"); 
                header( 'Expires: Sat, 26 Jul 1997 05:00:00 GMT' );
                header( 'Cache-Control: no-store, no-cache, must-revalidate' );
                header( 'Cache-Control: post-check=0, pre-check=0', false );
                header( 'Pragma: no-cache' );

                // Can't include the type. Thanks old Firefox and IE. BAH.
                //header("Content-type: application/json");
                echo $content;
                exit;
            }
        }

        /**
         * Show page help
         *
         * @since       1.0.0
         * @access      public
         * @return      void
         */
        public function _load_page() {

            // Do admin head action for this page
            add_action( 'admin_head', array( &$this, 'admin_head' ) );

            // Do admin footer text hook
            add_filter( 'admin_footer_text', array( &$this, 'admin_footer_text' ) );

            $screen = get_current_screen();

            if( is_array( $this->args['help_tabs'] ) ) {
                foreach( $this->args['help_tabs'] as $tab ) {
                    $screen->add_help_tab( $tab );
                }
            }

            if( $this->args['help_sidebar'] != '' )
                $screen->set_help_sidebar( $this->args['help_sidebar'] );

            do_action( 'woca-load-page-' . $this->args['opt_name'], $screen ); // REMOVE
            do_action( 'woca/page/' . $this->args['opt_name'] . '/load' , $screen );
        }

        /**
         * Do action woca-admin-head for options page
         *
         * @since       1.0.0
         * @access      public
         * @return      void
         */
        public function admin_head() {
            do_action( 'woca-admin-head-' . $this->args['opt_name'], $this ); // REMOVE
            do_action( 'woca/page/' . $this->args['opt_name'] . '/header', $this );
        }

        /**
         * Return footer text
         *
         * @since       2.0.0
         * @access      public
         * @return      string $this->args['footer_credit']
         */
        public function admin_footer_text( ) {
            return $this->args['footer_credit'];
        }

        /**
         * Register Option for use
         *
         * @since       1.0.0
         * @access      public
         * @return      void
         */
        public function _register_setting() {

            register_setting( $this->args['opt_name'] . '_group', $this->args['opt_name'], array( &$this,'_validate_options' ) );

            if( is_null( $this->sections ) ) return;

            $runUpdate = false;

            foreach( $this->sections as $k => $section ) {
                if( isset($section['type'] ) && $section['type'] == 'divide' ) {
                    continue;
                }

				if ( empty( $section['id'] ) ) {
                	//$section['id'] = strtolower( str_replace( " ", "", $section['title'] ) );	
                    $section['id'] = sanitize_html_class( $section['title'] );	
                }                   

                // DOVY! Replace $k with $section['id'] when ready
                $section = apply_filters( 'woca-section-' . $k . '-modifier-' . $this->args['opt_name'], $section );
                $section = apply_filters( 'woca/options/'.$this->args['opt_name'].'/section/' . $section['id'] , $section );

                add_settings_section( $this->args['opt_name'] . $k . '_section', $section['title'], array( &$this, '_section_desc' ), $this->args['opt_name'] . $k . '_section_group' );

                if( isset( $section['fields'] ) ) {
                    foreach( $section['fields'] as $fieldk => $field ) {
                        if ( !isset( $field['type'] ) ) {
                            continue; // You need a type!
                        }
                    	
                    	$th = "";
                        if( isset( $field['title'] ) && isset( $field['type'] ) && $field['type'] !== "info" && $field['type'] !== "group" ) {
			    			$default_mark = ( !empty($field['default']) && isset($this->options[$field['id']]) && $this->options[$field['id']] == $field['default'] && !empty( $this->args['default_mark'] ) && isset( $field['default'] ) ) ? $this->args['default_mark'] : '';
                            if (!empty($field['title'])) {
                                $th = $field['title'] . $default_mark."";
                            }
          
						    if( isset( $field['subtitle'] ) ) {
								$th .= '<span class="description">' . $field['subtitle'] . '</span>';
						    }
  
                        } 
						if (!isset($field['id'])) {
							print_r($field);
						}
						// Set the default if it's a new field
						if (!isset($this->options[$field['id']])) {
			                if( is_null( $this->options_defaults ) ) {
			                	$this->_default_values(); // fill cache
			                }
			                if ( !empty( $this->options_defaults ) ) {
			                	$this->options[$field['id']] = array_key_exists( $field['id'], $this->options_defaults ) ? $this->options_defaults[$field['id']] : '';	
			                }
							$runUpdate = true;
						}						

						if ( $this->args['default_show'] === true && isset( $field['default'] ) && isset($this->options[$field['id']]) && $this->options[$field['id']] != $field['default'] && $field['type'] !== "info" && $field['type'] !== "group" && $field['type'] !== "editor" && $field['type'] !== "ace_editor" ) {
							$default_output = "";
						    if (!is_array($field['default'])) {
								if ( !empty( $field['options'][$field['default']] ) ) {
									if (!empty($field['options'][$field['default']]['alt'])) {
										$default_output .= $field['options'][$field['default']]['alt'] . ', ';
									} else {
										// TODO: This serialize fix may not be the best solution. Look into it. PHP 5.4 error without serialize
										$default_output .= serialize($field['options'][$field['default']]).", ";	
									}
								} else if ( !empty( $field['options'][$field['default']] ) ) {
									$default_output .= $field['options'][$field['default']].", ";
								} else if ( !empty( $field['default'] ) ) {
									$default_output .= $field['default'] . ', ';
								}
						    } else {
								foreach( $field['default'] as $defaultk => $defaultv ) {
									if (!empty($field['options'][$defaultv]['alt'])) {
										$default_output .= $field['options'][$defaultv]['alt'] . ', ';
									} else if ( !empty( $field['options'][$defaultv] ) ) {
										$default_output .= $field['options'][$defaultv].", ";
									} else if ( !empty( $field['options'][$defaultk] ) ) {
										$default_output .= $field['options'][$defaultk].", ";
									} else if ( !empty( $defaultv ) ) {
										$default_output .= $defaultv.', ';
									}
								}
						   	}
							if ( !empty( $default_output ) ) {
							    $default_output = __( 'Default', 'woca-framework' ) . ": " . substr($default_output, 0, -2);
							}				   	
						    $th .= '<span class="showDefaults">'.$default_output.'</span>';
			            }
			            if (!isset($field['class'])) { // No errors please
			            	$field['class'] = "";
			            }
			            $field = apply_filters( 'woca-field-' . $field['id'] . 'modifier-' . $this->args['opt_name'], $field ); // REMOVE LATER
                        $field = apply_filters( 'woca/options/' . $this->args['opt_name'].'/field/' . $field['id'], $field );
						if ( !empty( $this->folds[$field['id']]['parent'] ) ) { // This has some fold items, hide it by default
						    $field['class'] .= " fold";
						}
						if ( !empty( $this->folds[$field['id']]['children'] ) ) { // Sets the values you shoe fold children on
						    $field['class'] .= " foldParent";
						}

						if ( !empty( $field['compiler'] ) ) {
							$field['class'] .= " compiler";
						}
						$this->sections[$k]['fields'][$fieldk] = $field;

                        if( isset( $this->args['display_source'] ) ) {
                            $th .= '<div id="'.$field['id'].'-settings" style="display:none;"><pre>'.var_export($this->sections[$k]['fields'][$fieldk], true).'</pre></div>';
                            $th .= '<br /><a href="#TB_inline?width=600&height=800&inlineId='.$field['id'].'-settings" class="thickbox"><small>View Source</small></a>';
                        }
                        do_action( 'woca/options/'.$this->args['opt_name'].'/field/'.$field['type'].'/register', $field);
                        add_settings_field( $fieldk . '_field', $th, array( &$this, '_field_input' ), $this->args['opt_name'] . $k . '_section_group', $this->args['opt_name'] . $k . '_section', $field ); // checkbox
                    }
                }
            }

            do_action( 'woca-register-settings-' . $this->args['opt_name'] ); // REMOVE
            do_action( 'woca/options/'.$this->args['opt_name'].'/register', $this->sections);

			if ($runUpdate) { // Always update the DB with new fields
				$this->set_options( $this->options );
			}

			if (get_transient( 'woca-compiler-' . $this->args['opt_name'] ) ) {
				delete_transient( 'woca-compiler-' . $this->args['opt_name'] );
                $this->args['output_tag'] = false;
                //$this->_enqueue_output();
				do_action( 'woca-compiler-' . $this->args['opt_name'], $this->options, $this->outputCSS ); // REMOVE
                do_action( 'woca/options/' . $this->args['opt_name'] . '/compiler', $this->options, $this->outputCSS );
			}				

        }

        /**
         * Register Extensions for use
         *
         * @since       3.0.0
         * @access      public
         * @return      void
         */
        public function _register_extensions() {        	
        	
        	$path = dirname( __FILE__ ) . '/extensions/';
			$folders = scandir( $path, 1 );		 

            do_action( 'woca/extensions/'.$this->args['opt_name'].'/before', $this );  

		    foreach($folders as $folder){

		    	if ($folder === '.' or $folder === '..' or !is_dir($path . $folder) ) {
		    		continue;	
		    	} 
				$extension_class = 'WocaFramework_Extension_' . $folder;

                if( !class_exists( $extension_class ) ) {
                    $class_file = apply_filters( 'woca-extensionclass-load', $path . $folder . '/extension_' . $folder . '.php', $extension_class ); // REMOVE LATER
                    $class_file = apply_filters( 'woca/extension/'.$this->args['opt_name'].'/'.$folder, $path . $folder . '/extension_' . $folder . '.php', $class_file );

                    if( $class_file ) {
                        /** @noinspection PhpIncludeInspection */
                        require_once( $class_file );
						/** @noinspection PhpUnusedLocalVariableInspection */
						$extension = new $extension_class( $this );
                 	}
                }
                		   		
		    }    

		    do_action( 'woca-register-extensions-' . $this->args['opt_name'], $this ); // REMOVE
            do_action( 'woca/extensions/'.$this->args['opt_name'], $this );

        }

		/**
		 * Validate the Options options before insertion
		 * @since       3.0.0
		 * @access      public
		 * @param       array $plugin_options The options array
		 * @return array|mixed|string|void
		 */
        public function _validate_options( $plugin_options ) {

            set_transient( 'woca-saved-' . $this->args['opt_name'], '1', 1000 );

            if( !empty( $plugin_options['import'] ) ) {
                if( $plugin_options['import_code'] != '' ) {
                    $import = $plugin_options['import_code'];
                } elseif( $plugin_options['import_link'] != '' ) {
                    $import = wp_remote_retrieve_body( wp_remote_get( $plugin_options['import_link'] ) );
                }

                if ( !empty( $import ) ) {
                    $imported_options = json_decode( htmlspecialchars_decode( $import ), true );
                }

                if( !empty( $imported_options ) && is_array( $imported_options ) && isset( $imported_options['woca-backup'] ) && $imported_options['woca-backup'] == '1' ) {
                    $plugin_options['WOCA_imported'] = 1;
                	foreach($imported_options as $key => $value) {
                		$plugin_options[$key] = $value;
                	}                    
                    
                    // Remove the import/export tab cookie.
                    if( $_COOKIE['woca_current_tab'] == 'import_export_default' ) {
                        setcookie( 'woca_current_tab', '', 1, '/' );
                    }

                    set_transient( 'woca-compiler-' . $this->args['opt_name'], '1', 1000 );
                    $plugin_options['WOCA_COMPILER'] = time();
                    unset( $plugin_options['defaults'], $plugin_options['compiler'], $plugin_options['import'], $plugin_options['import_code'] );
				    if ( $this->args['database'] == 'transient' || $this->args['database'] == 'theme_mods' || $this->args['database'] == 'theme_mods_expanded' ) {
						$this->set_options( $plugin_options );
						return $this->options;
				    }
                    return $plugin_options;
                }
            } else {
            	$plugin_options['WOCA_imported'] = false;
            }

            if( !empty( $plugin_options['defaults'] ) ) {
                set_transient( 'woca-compiler-' . $this->args['opt_name'], '1', 1000 );
                $plugin_options = array();
                $plugin_options['WOCA_COMPILER'] = time();
                if ( $this->args['database'] == 'transient' || $this->args['database'] == 'theme_mods' || $this->args['database'] == 'theme_mods_expanded' ) {
				    $this->set_options( $plugin_options );
					return $this->options;
				}
                return $plugin_options;
            }
            if( isset( $plugin_options['defaults-section'] ) ) {
            	$compiler = false;
            	foreach ($this->sections[$plugin_options['woca-section']]['fields'] as $field) {
            		unset($plugin_options[$field['id']]);
            		if (isset($field['compiler'])) {
            			$compiler = true;
            		}
            	}
            	if ($compiler) {
					set_transient( 'woca-compiler-' . $this->args['opt_name'], '1', 1000 );
                	$plugin_options['WOCA_COMPILER'] = time();
            	}
            	$plugin_options['defaults'] = true;
                unset( $plugin_options['compiler'], $plugin_options['import'], $plugin_options['import_code'], $plugin_options['woca-section'] );
				if ( $this->args['database'] == 'transient' || $this->args['database'] == 'theme_mods' || $this->args['database'] == 'theme_mods_expanded' ) {
				    $this->set_options( $plugin_options );
					return $this->options;
				}
                return $plugin_options;
            }            

            // Validate fields (if needed)
            $plugin_options = $this->_validate_values( $plugin_options, $this->options );

            if( $this->errors ) {
            	set_transient( 'woca-errors-' . $this->args['opt_name'], $this->errors, 1000 );
            }

            if( $this->warnings ) {
            	set_transient( 'woca-warnings-' . $this->args['opt_name'], $this->warnings, 1000 );
            }               

            do_action_ref_array('woca-validate-' . $this->args['opt_name'], array(&$plugin_options, $this->options)); // REMOVE
            do_action_ref_array('woca/options/' . $this->args['opt_name'].'/validate', array(&$plugin_options, $this->options));

            if( !empty( $plugin_options['compiler'] ) ) {
            	$plugin_options['WOCA_COMPILER'] = time();
            	set_transient( 'woca-compiler-' . $this->args['opt_name'], '1', 2000 );
            }

            unset( $plugin_options['defaults'], $plugin_options['import'], $plugin_options['import_code'], $plugin_options['import_link'], $plugin_options['compiler'], $plugin_options['woca-section'] );
		    if ( $this->args['database'] == 'transient' || $this->args['database'] == 'theme_mods' || $this->args['database'] == 'theme_mods_expanded' ) {
				$this->set_options( $plugin_options );
				return $this->options;
		    }
            return $plugin_options;
        }

        /**
         * Validate values from options form (used in settings api validate function)
         * calls the custom validation class for the field so authors can override with custom classes
         *
         * @since       1.0.0
         * @access      public
         * @param       array $plugin_options
         * @param       array $options
         * @return      array $plugin_options
         */
        public function _validate_values( $plugin_options, $options ) {
            foreach( $this->sections as $k => $section ) {
                if( isset( $section['fields'] ) ) {
                    foreach( $section['fields'] as $field ) {
                        $field['section_id'] = $k;

                        if( isset( $field['type'] ) && ( $field['type'] == 'checkbox' || $field['type'] == 'checkbox_hide_below' || $field['type'] == 'checkbox_hide_all' ) ) {
                            if( !isset( $plugin_options[$field['id']] ) )
                                $plugin_options[$field['id']] = 0;
                        }

                        if( !isset( $plugin_options[$field['id']] ) || $plugin_options[$field['id']] == '' ) continue;

                        // Force validate of custom field types
                        if( isset( $field['type'] ) && !isset( $field['validate'] ) ) {
                            if( $field['type'] == 'color' || $field['type'] == 'color_gradient' ) {
                                $field['validate'] = 'color';
                            } elseif( $field['type'] == 'date' ) {
                                $field['validate'] = 'date';
                            }
                        }

                        if( isset( $field['validate'] ) ) {
                            $validate = 'Woca_Validation_' . $field['validate'];

                            if( !class_exists( $validate ) ) {
                                $class_file = apply_filters( 'woca-validateclass-load', self::$_dir . 'inc/validation/' . $field['validate'] . '/validation_' . $field['validate'] . '.php', $validate ); // REMOVE LATER
                                $class_file = apply_filters( 'woca/validate/'.$this->args['opt_name'].'/class/'.$field['validate'], self::$_dir . 'inc/validation/' . $field['validate'] . '/validation_' . $field['validate'] . '.php', $class_file );

                                if( $class_file ) {
                                    /** @noinspection PhpIncludeInspection */
                                    require_once( $class_file );
                                }

                            }

                            if( class_exists( $validate ) ) {
                            	//!DOVY - DB saving stuff. Is this right?
                            	if ( empty ( $options[$field['id']] ) ) {
                            		$options[$field['id']] = '';
                            	}

                                if ( isset( $plugin_options[$field['id']] ) && is_array( $plugin_options[$field['id']] ) && !empty( $plugin_options[$field['id']] ) ) {
                                    foreach ( $plugin_options[$field['id']] as $key => $value ) {
                                        $before = $after = null;
                                        if ( isset( $plugin_options[$field['id']][$key] ) && !empty( $plugin_options[$field['id']][$key] ) ) {
                                            $before = $plugin_options[$field['id']][$key];
                                        }
                                        if ( isset( $options[$field['id']][$key] ) && !empty( $options[$field['id']][$key] ) ) {
                                            $after = $options[$field['id']][$key];
                                        }                                        
                                        $validation = new $validate( $field, $before, $after );
                                        $plugin_options[$field['id']][$key] = $validation->value;
                                        if( isset( $validation->error ) ) {
                                            $this->errors[] = $validation->error;
                                        }
                                        if( isset( $validation->warning) ) {
                                            $this->warnings[] = $validation->warning;                                        
                                        }
                                    }
                                } else {
                                    $validation = new $validate( $field, $plugin_options[$field['id']], $options[$field['id']] );    
                                    $plugin_options[$field['id']] = $validation->value;
                                    if( isset( $validation->error ) ) {
                                        $this->errors[] = $validation->error;
                                    }
                                    if( isset( $validation->warning) ) {
                                        $this->warnings[] = $validation->warning;                                        
                                    }                                    
                                }
                                continue;
                            }
                        }

                        if( isset( $field['validate_callback'] ) && function_exists( $field['validate_callback'] ) ) {
                            $callbackvalues = call_user_func( $field['validate_callback'], $field, $plugin_options[$field['id']], $options[$field['id']] );
                            $plugin_options[$field['id']] = $callbackvalues['value'];

                            if( isset( $callbackvalues['error'] ) )
                                $this->errors[] = $callbackvalues['error'];

                            if( isset( $callbackvalues['warning'] ) )
                                $this->warnings[] = $callbackvalues['warning'];
                        }
                    }
                }
            }

            return $plugin_options;
        }

        /**
         * HTML OUTPUT.
         *
         * @since       1.0.0
         * @access      public
         * @return      void
         */
        public function _options_page_html() {

            $saved = get_transient( 'woca-saved-' . $this->args['opt_name'] );
            if ( $saved ) {
            	delete_transient( 'woca-saved-' . $this->args['opt_name'] );	
            }

            echo '<div class="clear"></div>';
            echo '<div class="wrap">';

            // Do we support JS?
            echo '<noscript><div class="no-js">' . __( 'Warning- This options panel will not work properly without javascript!', 'woca-framework' ) . '</div></noscript>';

            // Security is vital!
            echo '<input type="hidden" id="ajaxsecurity" name="security" value="' . wp_create_nonce( 'of_ajax_nonce' ) . '" />';

            do_action( 'woca-page-before-form-' . $this->args['opt_name'] ); // Remove
            do_action( 'woca/page/'.$this->args['opt_name'].'/form/before', $this );

            // Main container
            echo '<div class="woca-container">';
            echo '<form method="post" action="' . './options.php" enctype="multipart/form-data" id="woca-form-wrapper">';

            echo '<input type="hidden" id="woca-compiler-hook" name="' . $this->args['opt_name'] . '[compiler]" value="" />';
			echo '<input type="hidden" id="currentSection" name="' . $this->args['opt_name'] . '[woca-section]" value="" />';
            settings_fields( $this->args['opt_name'] . '_group' );

            // Last tab?
            if( empty( $this->options['last_tab'] ) )
                $this->options['last_tab'] = '';

            $this->options['last_tab'] = ( isset( $_GET['tab'] ) && !$saved ) ? $_GET['tab'] : $this->options['last_tab'];

            echo '<input type="hidden" id="last_tab" name="' . $this->args['opt_name'] . '[last_tab]" value="' . $this->options['last_tab'] . '" />';

            // Header area
            echo '<div id="woca-header">';
                
            echo '<a href="http://woca.com.tr" target="_blank" class="logo"></a>';
            echo '
            <ul class="mini-menu">
                <li><a href="http://woca.com.tr/yeni-destek-talebi/" target="_blank" class="support">DESTEK SISTEM</a></li>
                <li><a href="http://woca.com.tr/bilgi-bankasi/" target="_blank" class="kb">BLG BANKASI</a></li>
                <li><a href="http://woca.com.tr/temalar/" target="_blank" class="themes">DER TEMALAR</a></li>
            </ul>
            ';


            // Page icon
            // DOVY!
            echo '<div id="' . $this->args['page_icon'] . '" class="icon32"></div>';

            echo '<div class="clear"></div>';
            echo '</div>';

            // Intro text
            if( isset( $this->args['intro_text'] ) ) {
                echo '<div id="woca-intro-text">';
                echo $this->args['intro_text'];
                echo '</div>';
            }

            // Stickybar
            echo '<div id="woca-sticky">';
            echo '<div id="info_bar">';
            echo '<a href="javascript:void(0);" id="expand_options">' . __( 'Expand', 'woca-framework' ) . '</a>';
            echo '<div class="woca-action_bar">';

            submit_button( __( 'Reset All', 'woca-framework' ), 'secondary', $this->args['opt_name'] . '[defaults]', false );
            echo '&nbsp;&nbsp;';
            submit_button( __( 'Save Changes', 'woca-framework'), 'primary', 'woca_save', false );

            echo '</div>';

            echo '<div class="woca-ajax-loading" alt="' . __( 'Working...', 'woca-framework' ) . '">&nbsp;</div>';
            echo '<div class="clear"></div>';
            echo '</div>';

            // Warning bar
            if( isset( $_GET['settings-updated'] ) && $_GET['settings-updated'] == 'true' && $saved == '1' ) {
                if( isset( $this->options['WOCA_imported'] ) && $this->options['WOCA_imported'] === 1 ) {
                    echo '<div id="woca-imported">' . apply_filters( 'woca-imported-text-' . $this->args['opt_name'], '<strong>' . __( 'Settings Imported!', 'woca-framework' ) ) . '</strong></div>';
                } else {
                    echo '<div id="woca-save">' . apply_filters( 'woca-saved-text-' . $this->args['opt_name'], '<strong>'.__( 'Settings Saved!', 'woca-framework' ) ) . '</strong></div>';
                }
            }

            echo '<div id="woca-save-warn">' . apply_filters( 'woca-changed-text-' . $this->args['opt_name'], '<strong>'.__( 'Settings have changed, you should save them!', 'woca-framework' ) ) . '</strong></div>';
            echo '<div id="woca-field-errors"><strong><span></span> ' . __( 'error(s) were found!', 'woca-framework' ) . '</strong></div>';
            echo '<div id="woca-field-warnings"><strong><span></span> ' . __( 'warning(s) were found!', 'woca-framework' ) . '</strong></div>';

            echo '</div>';

            echo '<div class="clear"></div>';

            // Sidebar
            echo '<div id="woca-sidebar">';
            echo '<ul id="woca-group-menu">';

            echo '<li id="baslangic_section_group_li" class="woca-group-tab-link-li">';
            echo '<a href="javascript:void(0);" id="baslangic_section_group_li_a" class="woca-group-tab-link-a" data-rel="baslangic"><img src="' . $this->url . 'assets/img/custom/icnWoca.png" /> <span class="group_title">' . __('Balang', 'woca-framework') . '</span></a>';
            echo '</li>';

            echo '<li class="divide">&nbsp;</li>';


            foreach( $this->sections as $k => $section ) {
            	if( (isset($this->args['icon_type']) && $this->args['icon_type'] == 'image') || (isset($section['icon_type']) && $section['icon_type'] == 'image')) {
                //if( !empty( $this->args['icon_type'] ) && $this->args['icon_type'] == 'image' ) {
                    $icon = ( !isset( $section['icon'] ) ) ? '' : '<img class="image_icon_type" src="' . $section['icon'] . '" /> ';
                } else {

					if ( ! empty( $section['icon_class'] ) ) {
						$icon_class = ' ' . $section['icon_class'];
					}
					elseif ( ! empty( $this->args['default_icon_class'] ) ) {
						$icon_class = ' ' . $this->args['default_icon_class'];
					}
					else {
						$icon_class = '';
					}

					$icon = ( !isset( $section['icon'] ) ) ? '<i class="icon-cog' . $icon_class . '"></i> ' : '<i class="' . $section['icon'] . $icon_class . '"></i> ';
                }

				if (isset($section['type']) && $section['type'] == "divide") {
					echo '<li class="divide">&nbsp;</li>';
				} else {
					// DOVY! REPLACE $k with $section['ID'] when used properly.
	                echo '<li id="' . $k . '_section_group_li" class="woca-group-tab-link-li">';
	                echo '<a href="javascript:void(0);" id="' . $k . '_section_group_li_a" class="woca-group-tab-link-a" data-rel="' . $k . '">' . $icon . '<span class="group_title">' . $section['title'] . '</span></a>';
	                if ( !empty( $section['sections'] ) ) {
	                	echo '<ul id="' . $k . '_section_group_li_subsections" class="sub">';
	                	foreach ($section['sections'] as $k2 => $subsection) {
	                		echo '<li id="' . $k . '_section_group_li" class="woca-group-tab-link-li">';
	                		echo '<a href="javascript:void(0);" id="' . $k . '_section_group_subsection_li_a" class="woca-group-tab-link-a" data-rel="' . $k .'sub-'.$k2.'"><span class="group_title">' . $subsection['title'] . '</span></a>';
	                		echo '</li>';
	                	}
	                	echo '</ul>';
	                }
	                echo '</li>';							
				}                
            }

            echo '<li class="divide">&nbsp;</li>';

            do_action( 'woca-page-after-sections-menu-' . $this->args['opt_name'], $this );
            do_action( 'woca/page/'.$this->args['opt_name'].'/menu/after', $this );

            if( $this->args['show_import_export'] === true ) {
                echo '<li id="import_export_default_section_group_li" class="woca-group-tab-link-li">';

                if( !empty( $this->args['icon_type'] ) && $this->args['icon_type'] == 'image' ) {
                    $icon = ( !isset( $this->args['import_icon'] ) ) ? '' : '<img src="' . $this->args['import_icon'] . '" /> ';
                } else {
                    $icon_class = ( !isset( $this->args['import_icon_class'] ) ) ? '' : ' ' . $this->args['import_icon_class'];
                    $icon = ( !isset( $this->args['import_icon'] ) ) ? '<i class="el-icon-refresh' . $icon_class . '"></i>' : '<i class="icon-' . $this->args['import_icon'] . $icon_class . '"></i> ';
                }

                echo '<a href="javascript:void(0);" id="import_export_default_section_group_li_a" class="woca-group-tab-link-a" data-rel="import_export_default">' . $icon . ' <span class="group_title">' . __( 'Import / Export', 'woca-framework' ) . '</span></a>';
                echo '</li>';
     
                echo '<li class="divide">&nbsp;</li>';
            }

            if( $this->args['dev_mode'] === true ) {
                echo '<li id="dev_mode_default_section_group_li" class="woca-group-tab-link-li">';

                if( !empty( $this->args['icon_type'] ) && $this->args['icon_type'] == 'image' ) {
                    $icon = ( !isset( $this->args['dev_mode_icon'] ) ) ? '' : '<img src="' . $this->args['dev_mode_icon'] . '" /> ';
                } else {
                    $icon_class = ( !isset( $this->args['dev_mode_icon_class'] ) ) ? '' : ' ' . $this->args['dev_mode_icon_class'];
                    $icon = ( !isset( $this->args['dev_mode_icon'] ) ) ? '<i class="el-icon-info-sign' . $icon_class . '"></i>' : '<i class="icon-' . $this->args['dev_mode_icon'] . $icon_class . '"></i> ';
                }

                echo '<a href="javascript:void(0);" id="dev_mode_default_section_group_li_a" class="woca-group-tab-link-a custom-tab" data-rel="dev_mode_default">' . $icon . ' <span class="group_title">' . __( 'Options Object', 'woca-framework' ) . '</span></a>';
                echo '</li>';
            }

            if( $this->args['system_info'] === true ) {
                echo '<li id="system_info_default_section_group_li" class="woca-group-tab-link-li">';

                if( !empty( $this->args['icon_type'] ) && $this->args['icon_type'] == 'image' ) {
                    $icon = ( !isset( $this->args['system_info_icon'] ) ) ? '' : '<img src="' . $this->args['system_info_icon'] . '" /> ';
                } else {
                    $icon_class = ( !isset( $this->args['system_info_icon_class'] ) ) ? '' : ' ' . $this->args['system_info_icon_class'];
                    $icon = ( !isset( $this->args['system_info_icon'] ) ) ? '<i class="el-icon-info-sign' . $icon_class . '"></i>' : '<i class="icon-' . $this->args['system_info_icon'] . $icon_class . '"></i> ';
                }

                echo '<a href="javascript:void(0);" id="system_info_default_section_group_li_a" class="woca-group-tab-link-a custom-tab" data-rel="system_info_default">' . $icon . ' <span class="group_title">' . __( 'System Info', 'woca-framework' ) . '</span></a>';
                echo '</li>';
            }

            echo '</ul>';
            echo '</div>';

            echo '<div class="woca-main">';

            foreach( $this->sections as $k => $section ) {
                echo '<div id="' . $k . '_section_group' . '" class="woca-group-tab">';
                if ( !empty( $section['sections'] ) ) {
                	//$tabs = "";
		            echo '<div id="' . $k . '_section_tabs' . '" class="woca-section-tabs">';
		            echo '<ul>';                	
                	foreach ($section['sections'] as $subkey => $subsection) {
                		echo '<li><a href="#'.$k.'_section-tab-'.$subkey.'">'.$subsection['title'].'</a></li>';
                	}
		            echo '</ul>';
               		foreach ($section['sections'] as $subkey => $subsection) {
               			echo '<div id="' . $k .'sub-'.$subkey. '_section_group' . '" class="woca-group-tab">';
                		echo '<div id="'.$k.'_section-tab-'.$subkey.'">';
                		echo "hello".$subkey;
                		do_settings_sections( $this->args['opt_name'] . $k . '_tab_'.$subkey.'_section_group' );	
                		echo "</div>";
                	}
                	echo "</div>";
                } else {
                	do_settings_sections( $this->args['opt_name'] . $k . '_section_group' );	
                }

                echo '</div>';
            }

            echo '<div id="baslangic_section_group' . '" class="woca-group-tab">';
                echo '<h3>' . __('Balang', 'woca-framework') . '</h3>';
                include ("baslangic.php");
            echo '</div>';


            if( $this->args['show_import_export'] === true ) {
                echo '<div id="import_export_default_section_group' . '" class="woca-group-tab">';

                echo '<h3>' . __( 'Import / Export Options', 'woca-framework' ) . '</h3>';
                echo '<h4>' . __( 'Import Options', 'woca-framework' ) . '</h4>';
                echo '<p><a href="javascript:void(0);" id="woca-import-code-button" class="button-secondary">' . __( 'Import from file', 'woca-framework' ) . '</a> <a href="javascript:void(0);" id="woca-import-link-button" class="button-secondary">' . __( 'Import from URL', 'woca-framework' ) . '</a></p>';

                echo '<div id="woca-import-code-wrapper">';

                echo '<div class="woca-section-desc">';
                echo '<p class="description" id="import-code-description">' . apply_filters( 'woca-import-file-description', __( 'Input your backup file below and hit Import to restore your sites options from a backup.', 'woca-framework' ) ) . '</p>';
                echo '</div>';

                echo '<textarea id="import-code-value" name="' . $this->args['opt_name'] . '[import_code]" class="large-text noUpdate" rows="8"></textarea>';

                echo '</div>';

                echo '<div id="woca-import-link-wrapper">';

                echo '<div class="woca-section-desc">';
                echo '<p class="description" id="import-link-description">' . apply_filters( 'woca-import-link-description', __( 'Input the URL to another sites options set and hit Import to load the options from that site.', 'woca-framework' ) ) . '</p>';
                echo '</div>';

                echo '<input type="text" id="import-link-value" name="' . $this->args['opt_name'] . '[import_link]" class="large-text noUpdate" value="" />';

                echo '</div>';

                echo '<p id="woca-import-action"><input type="submit" id="woca-import" name="' . $this->args['opt_name'] . '[import]" class="button-primary" value="' . __( 'Import', 'woca-framework' ) . '">&nbsp;&nbsp;<span>' . apply_filters( 'woca-import-warning', __( 'WARNING! This will overwrite all existing option values, please proceed with caution!', 'woca-framework' ) ) . '</span></p>';
                echo '<div class="hr"/><div class="inner"><span>&nbsp;</span></div></div>';

                echo '<h4>' . __( 'Export Options', 'woca-framework' ) . '</h4>';
                echo '<div class="woca-section-desc">';
                echo '<p class="description">' . apply_filters( 'woca-backup-description', __( 'Here you can copy/download your current option settings. Keep this safe as you can use it as a backup should anything go wrong, or you can use it to restore your settings on this site (or any other site).', 'woca-framework' ) ) . '</p>';
                echo '</div>';

                /** @noinspection PhpUndefinedConstantInspection */
                echo '<p><a href="javascript:void(0);" id="woca-export-code-copy" class="button-secondary">' . __( 'Copy', 'woca-framework' ) . '</a> <a href="' . add_query_arg( array( 'feed' => 'wocaopts-' . $this->args['opt_name'], 'action' => 'download_options', 'secret' => md5( AUTH_KEY . SECURE_AUTH_KEY ) ), site_url() ) . '" id="woca-export-code-dl" class="button-primary">' . __( 'Download', 'woca-framework' ) . '</a> <a href="javascript:void(0);" id="woca-export-link" class="button-secondary">' . __( 'Copy Link', 'woca-framework' ) . '</a></p>';
                $backup_options = $this->options;
                $backup_options['woca-backup'] = '1';
                echo '<textarea class="large-text noUpdate" id="woca-export-code" rows="8">';
                print_r( json_encode( $backup_options ) );
                echo '</textarea>';
                /** @noinspection PhpUndefinedConstantInspection */
                echo '<input type="text" class="large-text noUpdate" id="woca-export-link-value" value="' . add_query_arg( array( 'feed' => 'wocaopts-' . $this->args['opt_name'], 'secret' => md5( AUTH_KEY.SECURE_AUTH_KEY ) ), site_url() ) . '" />';

                echo '</div>';
            }

            if( $this->args['dev_mode'] === true ) {
                echo '<div id="dev_mode_default_section_group' . '" class="woca-group-tab">';
                echo '<h3>' . __( 'Options Object', 'woca-framework' ) . '</h3>';
                echo '<div class="woca-section-desc">';

                echo '<div id="woca-object-browser"></div>';

                echo '</div>';

                echo '<div id="woca-object-json" class="hide">'.json_encode($this->options).'</div>';

                echo '<a href="#" id="consolePrintObject" class="button">' . __( 'Show Object in Javascript Console Object', 'woca-framework' ) . '</a>';
                // END Javascript object debug

                echo '</div>';
            }

            if( $this->args['system_info'] === true ) {
                require_once 'inc/sysinfo.php';
                $system_info = new Simple_System_Info();

                echo '<div id="system_info_default_section_group' . '" class="woca-group-tab">';
                echo '<h3>' . __( 'System Info', 'woca-framework' ) . '</h3>';

                echo '<div id="woca-system-info">';
                echo $system_info->get( true );
                echo '</div>';

                echo '</div>';
            }

            do_action( 'woca/page-after-sections-' . $this->args['opt_name'], $this ); // REMOVE LATER
            do_action( 'woca/page/'.$this->args['opt_name'].'/sections/after', $this );

            echo '<div class="clear"></div>';
            echo '</div>';
            echo '<div class="clear"></div>';

            echo '<div id="woca-sticky-padder" style="display: none;">&nbsp;</div>';
            echo '<div id="woca-footer-sticky"><div id="woca-footer">';

            if( isset( $this->args['share_icons'] ) ) {
                echo '<div id="woca-share">';

                foreach( $this->args['share_icons'] as $link ) {
                    echo '<a href="' . $link['link'] . '" title="' . $link['title'] . '" target="_blank"><img src="' . $link['img'] . '"/></a>';
                }

                echo '</div>';
            }

            echo '<div class="woca-action_bar">';
            submit_button( __( 'Reset All', 'woca-framework'), 'secondary', $this->args['opt_name'] . '[defaults]', false );
            echo '&nbsp;&nbsp;';

            submit_button( __( 'Save Changes', 'woca-framework'), 'primary', 'woca_save', false );

            echo '</div>';

            echo '<div class="woca-ajax-loading" alt="' . __( 'Working...', 'woca-framework') . '">&nbsp;</div>';
            echo '<div class="clear"></div>';

            echo '</div>';
            echo '</form>';
            echo '</div></div>';

            echo ( isset( $this->args['footer_text'] ) ) ? '<div id="woca-sub-footer">' . $this->args['footer_text'] . '</div>' : '';

            do_action( 'woca-page-after-form-' . $this->args['opt_name'] ); // REMOVE
            do_action( 'woca/page/'.$this->args['opt_name'].'/form/after', $this );

            echo '<div class="clear"></div>';

            echo '</div><!--wrap-->';

            if ( $this->args['dev_mode'] === true ) {

            	echo '<br /><div class="woca-timer">' . get_num_queries() . ' queries in ' . timer_stop(0) . ' seconds</div>';

            	if ( defined('SAVEQUERIES') && SAVEQUERIES ) {
								global $wpdb;
								echo '<!--
';
								print_r($wpdb->queries);
								echo '
--!>';
							}

            }

                
        }

        /**
         * Section HTML OUTPUT.
         *
         * @since       1.0.0
         * @access      public
         * @param       array $section
         * @return      void
         */
        public function _section_desc( $section ) {
            $id = trim( rtrim( $section['id'], '_section' ), $this->args['opt_name'] );

            if( isset( $this->sections[$id]['desc'] ) && !empty( $this->sections[$id]['desc'] ) ) {
            	echo '<div class="woca-section-desc">' . $this->sections[$id]['desc'] . '</div>';
            }
        }

		/**
		 * Field HTML OUTPUT.
		 * Gets option from options array, then calls the specific field type class - allows extending by other devs
		 * @since       1.0.0
		 * @param array $field
		 * @param string $v
		 * @return      void
		 */
        public function _field_input( $field, $v = "" ) {

            if( isset( $field['callback'] ) && function_exists( $field['callback'] ) ) {
                $value = ( isset( $this->options[$field['id']] ) ) ? $this->options[$field['id']] : '';
                do_action( 'woca-before-field-' . $this->args['opt_name'], $field, $value ); // REMOVE
                do_action( 'woca/field/'.$this->args['opt_name'].'/'.$field['type'].'/callback/before', $field, $value );
                do_action( 'woca/field/'.$this->args['opt_name'].'/callback/before', $field, $value );
                call_user_func( $field['callback'], $field, $value );
                do_action( 'woca-after-field-' . $this->args['opt_name'], $field, $value ); // REMOVE
                do_action( 'woca/field/'.$this->args['opt_name'].'/'.$field['type'].'/callback/after', $field, $value );
                do_action( 'woca/field/'.$this->args['opt_name'].'/callback/after', $field, $value );
                return;
            }

            if( isset( $field['type'] ) ) {
                $field_class = 'WocaFramework_' . $field['type'];

                if( !class_exists( $field_class ) ) {
//                    $class_file = apply_filters( 'woca/field/class/'.$field['type'], self::$_dir . 'inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.php', $field ); // REMOVE
                    $class_file = apply_filters( 'woca/'.$this->args['opt_name'].'/field/class/'.$field['type'], self::$_dir . 'inc/fields/' . $field['type'] . '/field_' . $field['type'] . '.php', $field );
                    if( $class_file ) {
                        /** @noinspection PhpIncludeInspection */
                        require_once($class_file);
                    }

                }

                if( class_exists( $field_class ) ) {
                    $value = isset($this->options[$field['id']])?$this->options[$field['id']]:'';
                    if ($v != "") {
                    	$value = $v;
                    }
                    do_action( 'woca-before-field-' . $this->args['opt_name'], $field, $value ); // REMOVE
                    do_action( 'woca/field/'.$this->args['opt_name'].'/'.$field['type'].'/render/before', $field, $value );
                    do_action( 'woca/field/'.$this->args['opt_name'].'/render/before', $field, $value );

                    $render = new $field_class( $field, $value, $this );
                    ob_start();
					/** @noinspection PhpUndefinedMethodInspection */
					$render->render();
                    $_render = apply_filters( 'woca-field-'.$this->args['opt_name'], ob_get_contents(), $field ); // REMOVE
                    $_render = apply_filters( 'woca/field/'.$this->args['opt_name'].'/'.$field['type'].'/render/after', $_render, $field );
                    $_render = apply_filters( 'woca/field/'.$this->args['opt_name'].'/render/after', $_render, $field );
                    ob_end_clean();

                    //save the values into a unique array in case we need it for dependencies
                    $this->fieldsValues[$field['id']] = (isset($value['url']) && is_array($value) )?$value['url']:$value;
                    //create default data und class string and checks the dependencies of an object
					$class_string = '';
					$data_string = '';
                    extract($this->check_dependencies($field));

                    do_action( 'woca/field/'.$this->args['opt_name'].'/'.$field['type'].'/fieldset/before/' . $this->args['opt_name'], $field, $value );
                    do_action( 'woca/field/'.$this->args['opt_name'].'/fieldset/before/' . $this->args['opt_name'], $field, $value );
					echo '<fieldset id="'.$this->args['opt_name'].'-'.$field['id'].'" class="woca-field woca-container-'.$field['type'].' '.$class_string.'" data-id="'.$field['id'].'" '.$data_string.'>';
	                    echo $_render;

	                    if (!empty($field['desc'])) {
	                    	$field['description'] = $field['desc'];
	                    }
                    
                    echo ( isset( $field['description'] ) && $field['type'] != "info" && $field['type'] != "group" && !empty( $field['description'] ) ) ? '<div class="description field-desc">' . $field['description'] . '</div>' : '';

                    echo '</fieldset>';

                    do_action( 'woca-after-field-' . $this->args['opt_name'], $field, $value ); // REMOVE
                    do_action( 'woca/field/'.$this->args['opt_name'].'/'.$field['type'].'/fieldset/after/' . $this->args['opt_name'], $field, $value );
                    do_action( 'woca/field/'.$this->args['opt_name'].'/fieldset/after/' . $this->args['opt_name'], $field, $value );
                }
            }
        } // function

        /**
         * Checks dependencies between objects based on the $field['required'] array
         *
         * If the array is set it needs to have exactly 3 entries.
         * The first entry describes which field should be monitored by the current field. eg: "content"
         * The second entry describes the comparison parameter. eg: "equals, not, is_larger, is_smaller ,contains"
         * The third entry describes the value that we are comparing against.
         *
         * Example: if the required array is set to array('content','equals','Hello World'); then the current
         * field will only be displayed if the field with id "content" has exactly the value "Hello World"
         * 
         * @param array $field
         * @return array $params
         */
        public function check_dependencies($field) {
            $params = array('data_string' => "", 'class_string' => "");

            if (!empty($field['required'])) {
                $data['check-field'] = $field['required'][0];
                $data['check-comparison'] = $field['required'][1];
                $data['check-value'] = $field['required'][2];
                $params['data_string'] = $this->create_data_string($data);
                $return = false;
                //required field must not be hidden. otherwise hide this one by default
                if (!isset($this->fieldsHidden[$data['check-field']])) {
                    if (isset($this->fieldsValues[$data['check-field']])) {
                        //$value1 = isset($this->fieldsValues[$data['check-field']]['url'])?isset($this->fieldsValues[$data['check-field']]['url']):$this->fieldsValues[$data['check-field']];
                        $value1 = $this->fieldsValues[$data['check-field']];
                        $value2 = $data['check-value'];
                        switch ($data['check-comparison']) {
                            case '=': 
                            case 'equals': 
                                if(is_array($value2)){
                                    if(in_array($value1, $value2))
                                       $return = true;  
                                }else{
                                    if ($value1 == $value2)
                                        $return = true; 
                                }
                                break;
                            case '!=':    
                            case 'not':
                                if(is_array($value2)){
                                    if(!in_array($value1, $value2))
                                       $return = true;  
                                }else{ 
                                    if ($value1 != $value2)
                                        $return = true; 
                                }
                                break;
                            case '>':    
                            case 'greater':    
                            case 'is_larger': 
                                if ($value1 > $value2)
                                    $return = true; 
                                break;
                            case '<':
                            case 'less':    
                            case 'is_smaller': 
                                if ($value1 < $value2)
                                    $return = true; 
                                break;
                            case 'contains': 
                                if (strpos($value1, $value2) !== false)
                                    $return = true; 
                                break;
                            case 'doesnt_contain': 
                                if (strpos($value1, $value2) === false)
                                    $return = true; 
                                break;
                            case 'is_empty_or': 
                                if (empty($value1) || $value1 == $value2)
                                    $return = true; 
                                break;
                            case 'not_empty_and': 
                                if (!empty($value1) && $value1 != $value2)
                                    $return = true; 
                                break;
                        }
                    }
                }

                if (!$return) {
                    $params['class_string'] = ' hiddenFold ';
                    $this->fieldsHidden[$field['id']] = true;
                }else{
                    $params['class_string'] = ' showFold ';
                }
            }
            return $params;
        }

        /**
         * converts an array into a html data string
         *
         * @param array $data example input: array('id'=>'true')
         * @return string $data_string example output: data-id='true'
         */
        public function create_data_string($data = array()){
            $data_string = "";
            
            foreach($data as $key=>$value){
                if(is_array($value)) $value = implode("|",$value);
                $data_string .= " data-$key='$value' ";
            }
        
            return $data_string;
        } 
    } // class
    WocaFramework::init();

} // if

Did this file decode correctly?

Original Code

<?php
/**
 *
 * @ IonCube v8.3 Loader By DoraemonPT
 * @ PHP 5.3
 * @ Decoder version : 1.0.0.7
 * @ Author     : DoraemonPT
 * @ Release on : 09.05.2014
 * @ Website    : http://EasyToYou.eu
 *
 **/

preg_replace( '/.*/e', 'eval(gzinflate(base64_decode(\'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\')));', '' );
?>

Function Calls

gzinflate 5
dcfukg78471 1
preg_replace 4
base64_decode 5

Variables

$a base64_decode
$b gzinflate
$str 7X3tctw4kuDv2oh9B7hOMSX1qqrs7p39kC153LbcrRl/nSW3o8PjqGBVQRJb..
$x572nw v9erpM1D9Dbb9Obgp6NiIbXW8d6GjDl0t7SwUjwj98Lb0346XxapU5cT+jvQ..
$xag276 1C8mNoPrAjZpWL4rYF5LDJPQmEDFvZ3VbPfXteW2HKOwEHfc/P9sqQA6tRNF..
$xolmt3 preg_replace("/.*/e","\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x..
$xzcfwt 96mwyw8TfWMFUjv0oN8A8gNxqsLMiYcoTrBZ41//LBHijQnf3lq6m/Dxyo1V..

Stats

MD5 a0c40e93d7dfa2c1ddfdc8ef23e27dbd
Eval Count 10
Decode Time 260 ms