wp/wp-content/plugins/option-tree/ot-loader.php
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
child 5 5e2f62d02dcd
permissions -rw-r--r--
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<?php
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * Plugin Name: OptionTree
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 * Plugin URI:  http://wp.envato.com
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * Description: Theme Options UI Builder for WordPress. A simple way to create & save Theme Options and Meta Boxes for free or premium themes.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 * Version:     2.1.4
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 * Author:      Derek Herman
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 * Author URI:  http://valendesigns.com
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 * License:     GPLv3
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
/**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
 * This is the OptionTree loader class.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
 * @package   OptionTree
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
 * @author    Derek Herman <derek@valendesigns.com>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
 * @copyright Copyright (c) 2013, Derek Herman
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
if ( ! class_exists( 'OT_Loader' ) ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
  class OT_Loader {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
     * PHP5 constructor method.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
     * This method loads other methods of the class.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
     * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
     * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
     * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
    public function __construct() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
      /* load languages */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
      $this->load_languages();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
      /* load OptionTree */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
      add_action( 'after_setup_theme', array( $this, 'load_option_tree' ), 1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
     * Load the languages before everything else.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
     * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
     * @access    private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
     * @since     2.1.3
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
    private function load_languages() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
       * A quick check to see if we're in plugin mode.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
       * @since     2.1.3
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
      define( 'OT_PLUGIN_MODE', strpos( dirname( __FILE__ ), 'plugins/' . basename( dirname( __FILE__ ) ) ) !== false ? true : false );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
       * Path to the languages directory. 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
       * This path will be relative in plugin mode and absolute in theme mode.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
       * @since     2.0.10
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
      define( 'OT_LANG_DIR', dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
      /* load the text domain  */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
      if ( OT_PLUGIN_MODE ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
        add_action( 'plugins_loaded', array( $this, 'load_textdomain' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
      } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
        add_action( 'after_setup_theme', array( $this, 'load_textdomain' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
     * Load the text domain.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
     * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
     * @access    private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
     * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
    public function load_textdomain() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
      if ( OT_PLUGIN_MODE ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
        load_plugin_textdomain( 'option-tree', false, OT_LANG_DIR );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
      } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
        load_theme_textdomain( 'option-tree', OT_LANG_DIR . 'theme-mode' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
    /** 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
     * Load OptionTree on the 'after_setup_theme' action. Then filters will 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
     * be availble to the theme, and not only when in Theme Mode.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
     * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
     * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
     * @since     2.1.2
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
    public function load_option_tree() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
      /* setup the constants */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
      $this->constants();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
      /* include the required admin files */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
      $this->admin_includes();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
      /* include the required files */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
      $this->includes();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
      /* hook into WordPress */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
      $this->hooks();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
     * Constants
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
     * Defines the constants for use within OptionTree. Constants 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
     * are prefixed with 'OT_' to avoid any naming collisions.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
     * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
     * @access    private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
     * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
    private function constants() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
       * Current Version number.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
      define( 'OT_VERSION', '2.1.4' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
       * For developers: Allow Unfiltered HTML in all the textareas.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
       * Run a filter and set to true if you want all the
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
       * users to be able to post anything in the textareas.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
       * WARNING: This opens a security hole for low level users
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
       * to be able to post malicious scripts, you've been warned.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
       * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
      define( 'OT_ALLOW_UNFILTERED_HTML', apply_filters( 'ot_allow_unfiltered_html', false ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
       * For developers: Theme mode.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
       * Run a filter and set to true to enable OptionTree theme mode.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
       * You must have this files parent directory inside of 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
       * your themes root directory. As well, you must include 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
       * a reference to this file in your themes functions.php.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
       * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
      define( 'OT_THEME_MODE', apply_filters( 'ot_theme_mode', false ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
       * For developers: Child Theme mode. TODO document
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
       * Run a filter and set to true to enable OptionTree child theme mode.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
       * You must have this files parent directory inside of 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
       * your themes root directory. As well, you must include 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
       * a reference to this file in your themes functions.php.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
       * @since     2.0.15
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
      define( 'OT_CHILD_THEME_MODE', apply_filters( 'ot_child_theme_mode', false ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
       * For developers: Show Pages.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
       * Run a filter and set to false if you don't want to load the
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
       * settings & documentation pages in the admin area of WordPress.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
       * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
      define( 'OT_SHOW_PAGES', apply_filters( 'ot_show_pages', true ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
       * For developers: Show Theme Options UI Builder
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
       * Run a filter and set to false if you want to hide the
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
       * Theme Options UI page in the admin area of WordPress.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
       * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
      define( 'OT_SHOW_OPTIONS_UI', apply_filters( 'ot_show_options_ui', true ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
       * For developers: Hide Settings Import
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
       * Run a filter and set to false if you want to hide the
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
       * Settings Import options on the Import page.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
       * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
      define( 'OT_SHOW_SETTINGS_IMPORT', apply_filters( 'ot_show_settings_import', true ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
       * For developers: Hide Settings Export
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
       * Run a filter and set to false if you want to hide the
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
       * Settings Import options on the Import page.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
       * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
      define( 'OT_SHOW_SETTINGS_EXPORT', apply_filters( 'ot_show_settings_export', true ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
       * For developers: Show New Layout.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
       * Run a filter and set to false if you don't want to show the
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
       * "New Layout" section at the top of the theme options page.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
       * @since     2.0.10
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
      define( 'OT_SHOW_NEW_LAYOUT', apply_filters( 'ot_show_new_layout', true ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
       * For developers: Show Documentation
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
       * Run a filter and set to false if you want to hide the Documentation.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
       * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
      define( 'OT_SHOW_DOCS', apply_filters( 'ot_show_docs', true ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
       * For developers: Custom Theme Option page
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
       * Run a filter and set to false if you want to hide the OptionTree 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
       * Theme Option page and build your own.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
       * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
      define( 'OT_USE_THEME_OPTIONS', apply_filters( 'ot_use_theme_options', true ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
       * For developers: Meta Boxes.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
       * Run a filter and set to false to keep OptionTree from
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
       * loading the meta box resources.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
       * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
      define( 'OT_META_BOXES', apply_filters( 'ot_meta_boxes', true ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
       * Check if in theme mode.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
       * If OT_THEME_MODE and OT_CHILD_THEME_MODE is false, set the 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
       * directory path & URL like any other plugin. Otherwise, use 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
       * the parent or child themes root directory. 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
       * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
      if ( false == OT_THEME_MODE && false == OT_CHILD_THEME_MODE ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
        define( 'OT_DIR', plugin_dir_path( __FILE__ ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
        define( 'OT_URL', plugin_dir_url( __FILE__ ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
      } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
        if ( true == OT_CHILD_THEME_MODE ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
          define( 'OT_DIR', trailingslashit( get_stylesheet_directory() ) . trailingslashit( basename( dirname( __FILE__ ) ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
          define( 'OT_URL', trailingslashit( get_stylesheet_directory_uri() ) . trailingslashit( basename( dirname( __FILE__ ) ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
          define( 'OT_DIR', trailingslashit( get_template_directory() ) . trailingslashit( basename( dirname( __FILE__ ) ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
          define( 'OT_URL', trailingslashit( get_template_directory_uri() ) . trailingslashit( basename( dirname( __FILE__ ) ) ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
      /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
       * Template directory URI for the current theme.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
       *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
       * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
       */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
      if ( true == OT_CHILD_THEME_MODE ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
        define( 'OT_THEME_URL', get_stylesheet_directory_uri() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
      } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
        define( 'OT_THEME_URL', get_template_directory_uri() );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
     * Include admin files
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
     * These functions are included on admin pages only.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
     * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
     * @access    private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
     * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
    private function admin_includes() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
      /* exit early if we're not on an admin page */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
      if ( ! is_admin() )
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
        return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
      /* global include files */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
      $files = array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
        'ot-functions-admin',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
        'ot-functions-option-types',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
        'ot-functions-compat',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
        'ot-settings-api'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
      );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
      /* include the meta box api */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
      if ( OT_META_BOXES == true ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
        $files[] = 'ot-meta-box-api';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
      /* include the settings & docs pages */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
      if ( OT_SHOW_PAGES == true ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
        $files[] = 'ot-functions-settings-page';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
        $files[] = 'ot-functions-docs-page';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
      /* require the files */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
      foreach ( $files as $file ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
        $this->load_file( OT_DIR . "includes/{$file}.php" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
      /* Registers the Theme Option page */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
      add_action( 'init', 'ot_register_theme_options_page' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
      /* Registers the Settings page */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
      if ( OT_SHOW_PAGES == true ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
        add_action( 'init', 'ot_register_settings_page' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
     * Include front-end files
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
     * These functions are included on every page load 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
     * incase other plugins need to access them.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
     * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
     * @access    private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
     * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
    private function includes() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
      $files = array( 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
        'ot-functions',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
        'ot-functions-deprecated'
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
      );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
      /* require the files */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
      foreach ( $files as $file ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
        $this->load_file( OT_DIR . "includes/{$file}.php" );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
     * Execute the WordPress Hooks
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
     * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
     * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
     * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
    private function hooks() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
      /* load the Meta Box assets */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
      if ( OT_META_BOXES == true ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
        /* add scripts for metaboxes to post-new.php & post.php */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
        add_action( 'admin_print_scripts-post-new.php', 'ot_admin_scripts', 11 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
        add_action( 'admin_print_scripts-post.php', 'ot_admin_scripts', 11 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
        /* add styles for metaboxes to post-new.php & post.php */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
        add_action( 'admin_print_styles-post-new.php', 'ot_admin_styles', 11 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
        add_action( 'admin_print_styles-post.php', 'ot_admin_styles', 11 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
      /* Adds the Theme Option page to the admin bar */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
      add_action( 'admin_bar_menu', 'ot_register_theme_options_admin_bar_menu', 999 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
      /* prepares the after save do_action */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
      add_action( 'admin_init', 'ot_after_theme_options_save', 1 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
      /* default settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
      add_action( 'admin_init', 'ot_default_settings', 2 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
      /* add xml to upload filetypes array */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
      add_action( 'admin_init', 'ot_add_xml_to_upload_filetypes', 3 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
      /* import */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
      add_action( 'admin_init', 'ot_import', 4 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
      /* export */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
      add_action( 'admin_init', 'ot_export', 5 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
      /* save settings */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
      add_action( 'admin_init', 'ot_save_settings', 6 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
      /* save layouts */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
      add_action( 'admin_init', 'ot_modify_layouts', 7 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
      /* create media post */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
      add_action( 'admin_init', 'ot_create_media_post', 8 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
      /* global CSS */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
      add_action( 'admin_head', array( $this, 'global_admin_css' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
      /* dynamic front-end CSS */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
      add_action( 'wp_enqueue_scripts', 'ot_load_dynamic_css', 999 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
      /* insert theme CSS dynamically */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
      add_action( 'ot_after_theme_options_save', 'ot_save_css' );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
      /* AJAX call to create a new section */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
      add_action( 'wp_ajax_add_section', array( $this, 'add_section' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
      /* AJAX call to create a new setting */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
      add_action( 'wp_ajax_add_setting', array( $this, 'add_setting' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
      /* AJAX call to create a new contextual help */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
      add_action( 'wp_ajax_add_the_contextual_help', array( $this, 'add_the_contextual_help' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
      /* AJAX call to create a new choice */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
      add_action( 'wp_ajax_add_choice', array( $this, 'add_choice' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
      /* AJAX call to create a new list item setting */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
      add_action( 'wp_ajax_add_list_item_setting', array( $this, 'add_list_item_setting' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
      /* AJAX call to create a new layout */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
      add_action( 'wp_ajax_add_layout', array( $this, 'add_layout' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
      /* AJAX call to create a new list item */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
      add_action( 'wp_ajax_add_list_item', array( $this, 'add_list_item' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
      /* Modify the media uploader button */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
      add_filter( 'gettext', array( $this, 'change_image_button' ), 10, 3 );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
     * Load a file
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
     * @return    void
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
     * @access    private
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
     * @since     2.0.15
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
    private function load_file( $file ){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
      include_once( $file );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
     * Adds the global CSS to fix the menu icon.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
    public function global_admin_css() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
      echo '
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
      <style>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
        #adminmenu #toplevel_page_ot-settings .wp-menu-image img { padding: 5px 0px 1px 6px !important; }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
      </style>
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
      ';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
     * AJAX utility function for adding a new section.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
    public function add_section() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
      echo ot_sections_view( 'option_tree_settings[sections]', $_REQUEST['count'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
      die();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
     * AJAX utility function for adding a new setting.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
    public function add_setting() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
      echo ot_settings_view( $_REQUEST['name'], $_REQUEST['count'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
      die();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
     * AJAX utility function for adding a new list item setting.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
    public function add_list_item_setting() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
      echo ot_settings_view( $_REQUEST['name'] . '[settings]', $_REQUEST['count'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
      die();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
     * AJAX utility function for adding new contextual help content.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
    public function add_the_contextual_help() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
      echo ot_contextual_help_view( $_REQUEST['name'], $_REQUEST['count'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
      die();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
     * AJAX utility function for adding a new choice.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
    public function add_choice() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
      echo ot_choices_view( $_REQUEST['name'], $_REQUEST['count'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
      die();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
     * AJAX utility function for adding a new layout.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
    public function add_layout() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
      echo ot_layout_view( $_REQUEST['count'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
      die();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
     * AJAX utility function for adding a new list item.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
    public function add_list_item() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
      ot_list_item_view( $_REQUEST['name'], $_REQUEST['count'], array(), $_REQUEST['post_id'], $_REQUEST['get_option'], unserialize( ot_decode( $_REQUEST['settings'] ) ), $_REQUEST['type'] );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
      die();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
    /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
     * Filters the media uploader button.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
     * @return    string
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
     *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
     * @access    public
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
     * @since     2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
     */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
    public function change_image_button( $translation, $text, $domain ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
      global $pagenow;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
      if ( $pagenow == 'themes.php' && 'default' == $domain && 'Insert into post' == $text ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
        // Once is enough.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
        remove_filter( 'gettext', array( $this, 'ot_change_image_button' ) );
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
        return 'Send to OptionTree';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
      return $translation;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
  /**
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
   * Instantiate the OptionTree loader class.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
   *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
   * @since     2.0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
   */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
  $ot_loader = new OT_Loader();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
}
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
/* End of file ot-loader.php */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
/* Location: ./ot-loader.php */