PixTypes - Version 1.4.5

Version Description

  • Added advanced show_on behaviour and filtering.
Download this release

Release Info

Developer euthelup
Plugin Icon wp plugin PixTypes
Version 1.4.5
Comparing to
See all releases

Code changes from version 1.4.4 to 1.4.5

README.md CHANGED
@@ -29,18 +29,18 @@ function theme_getting_active () {
29
  'post_types' => array(
30
  'theme_name_portfolio' => array(
31
  'labels' => array(
32
- 'name' => __( 'Project', 'theme_name_txtd' ),
33
- 'singular_name' => __( 'Project', 'theme_name_txtd' ),
34
- 'add_new' => __( 'Add New', 'theme_name_txtd' ),
35
- 'add_new_item' => __( 'Add New Project', 'theme_name_txtd' ),
36
- 'edit_item' => __( 'Edit Project', 'theme_name_txtd' ),
37
- 'new_item' => __( 'New Project', 'theme_name_txtd' ),
38
- 'all_items' => __( 'All Projects', 'theme_name_txtd' ),
39
- 'view_item' => __( 'View Project', 'theme_name_txtd' ),
40
- 'search_items' => __( 'Search Projects', 'theme_name_txtd' ),
41
- 'not_found' => __( 'No Project found', 'theme_name_txtd' ),
42
- 'not_found_in_trash' => __( 'No Project found in Trash', 'theme_name_txtd' ),
43
- 'menu_name' => __( 'Projects', 'theme_name_txtd' ),
44
  ),
45
  'public' => true,
46
  'rewrite' => array(
@@ -64,17 +64,17 @@ function theme_getting_active () {
64
  'theme_name_portfolio_categories' => array(
65
  'hierarchical' => true,
66
  'labels' => array(
67
- 'name' => __( 'Project Categories', 'theme_name_txtd' ),
68
- 'singular_name' => __( 'Project Category', 'theme_name_txtd' ),
69
- 'search_items' => __( 'Search Project Categories', 'theme_name_txtd' ),
70
- 'all_items' => __( 'All Project Categories', 'theme_name_txtd' ),
71
- 'parent_item' => __( 'Parent Project Category', 'theme_name_txtd' ),
72
- 'parent_item_colon' => __( 'Parent Project Category: ', 'theme_name_txtd' ),
73
- 'edit_item' => __( 'Edit Project Category', 'theme_name_txtd' ),
74
- 'update_item' => __( 'Update Project Category', 'theme_name_txtd' ),
75
- 'add_new_item' => __( 'Add New Project Category', 'theme_name_txtd' ),
76
- 'new_item_name' => __( 'New Project Category Name', 'theme_name_txtd' ),
77
- 'menu_name' => __( 'Portfolio Categories', 'theme_name_txtd' ),
78
  ),
79
  'show_admin_column' => true,
80
  'rewrite' => array( 'slug' => 'portfolio-category', 'with_front' => false ),
@@ -86,7 +86,7 @@ function theme_getting_active () {
86
  //for the Contact Page template
87
  '_gmap_settings' => array(
88
  'id' => '_gmap_settings',
89
- 'title' => __( 'Map Coordinates & Display Options', 'theme_name_txtd' ),
90
  'pages' => array( 'page' ), // Post type
91
  'context' => 'normal',
92
  'priority' => 'high',
@@ -98,35 +98,35 @@ function theme_getting_active () {
98
  'show_names' => true, // Show field names on the left
99
  'fields' => array(
100
  array(
101
- 'name' => __( 'Map Height', 'theme_name_txtd' ),
102
  'desc' => __( '<p class="cmb_metabox_description">Select the height of the Google Map area in relation to the browser window.</p>', 'theme_name_txtd' ),
103
  'id' => 'page_gmap_height',
104
  'type' => 'select',
105
  'options' => array(
106
  array(
107
- 'name' => __( '&nbsp; &#9673;&#9711; &nbsp;Half', 'theme_name_txtd' ),
108
  'value' => 'half-height',
109
  ),
110
  array(
111
- 'name' => __( '&#9673;&#9673;&#9711; Two Thirds', 'theme_name_txtd' ),
112
  'value' => 'two-thirds-height',
113
  ),
114
  array(
115
- 'name' => __( '&#9673;&#9673;&#9673; Full Height', 'theme_name_txtd' ),
116
  'value' => 'full-height',
117
  )
118
  ),
119
  'std' => 'two-thirds-height',
120
  ),
121
  array(
122
- 'name' => __( 'Google Maps Pins', 'theme_name_txtd' ),
123
  'desc' => __( 'Paste here the Share URL you have taken from <a href="http://www.google.com/maps" target="_blank">Google Maps</a>.', 'theme_name_txtd' ),
124
  'id' => 'gmap_urls',
125
  'type' => 'gmap_pins',
126
  'std' => array(
127
  1 => array(
128
  'location_url' => "https://www.google.ro/maps/@51.5075586,-0.1284425,18z",
129
- 'name' => __('London', 'theme_name_txtd')
130
  )
131
  )
132
  ),
29
  'post_types' => array(
30
  'theme_name_portfolio' => array(
31
  'labels' => array(
32
+ 'name' => esc_html__( 'Project', 'theme_name_txtd' ),
33
+ 'singular_name' => esc_html__( 'Project', 'theme_name_txtd' ),
34
+ 'add_new' => esc_html__( 'Add New', 'theme_name_txtd' ),
35
+ 'add_new_item' => esc_html__( 'Add New Project', 'theme_name_txtd' ),
36
+ 'edit_item' => esc_html__( 'Edit Project', 'theme_name_txtd' ),
37
+ 'new_item' => esc_html__( 'New Project', 'theme_name_txtd' ),
38
+ 'all_items' => esc_html__( 'All Projects', 'theme_name_txtd' ),
39
+ 'view_item' => esc_html__( 'View Project', 'theme_name_txtd' ),
40
+ 'search_items' => esc_html__( 'Search Projects', 'theme_name_txtd' ),
41
+ 'not_found' => esc_html__( 'No Project found', 'theme_name_txtd' ),
42
+ 'not_found_in_trash' => esc_html__( 'No Project found in Trash', 'theme_name_txtd' ),
43
+ 'menu_name' => esc_html__( 'Projects', 'theme_name_txtd' ),
44
  ),
45
  'public' => true,
46
  'rewrite' => array(
64
  'theme_name_portfolio_categories' => array(
65
  'hierarchical' => true,
66
  'labels' => array(
67
+ 'name' => esc_html__( 'Project Categories', 'theme_name_txtd' ),
68
+ 'singular_name' => esc_html__( 'Project Category', 'theme_name_txtd' ),
69
+ 'search_items' => esc_html__( 'Search Project Categories', 'theme_name_txtd' ),
70
+ 'all_items' => esc_html__( 'All Project Categories', 'theme_name_txtd' ),
71
+ 'parent_item' => esc_html__( 'Parent Project Category', 'theme_name_txtd' ),
72
+ 'parent_item_colon' => esc_html__( 'Parent Project Category: ', 'theme_name_txtd' ),
73
+ 'edit_item' => esc_html__( 'Edit Project Category', 'theme_name_txtd' ),
74
+ 'update_item' => esc_html__( 'Update Project Category', 'theme_name_txtd' ),
75
+ 'add_new_item' => esc_html__( 'Add New Project Category', 'theme_name_txtd' ),
76
+ 'new_item_name' => esc_html__( 'New Project Category Name', 'theme_name_txtd' ),
77
+ 'menu_name' => esc_html__( 'Portfolio Categories', 'theme_name_txtd' ),
78
  ),
79
  'show_admin_column' => true,
80
  'rewrite' => array( 'slug' => 'portfolio-category', 'with_front' => false ),
86
  //for the Contact Page template
87
  '_gmap_settings' => array(
88
  'id' => '_gmap_settings',
89
+ 'title' => esc_html__( 'Map Coordinates & Display Options', 'theme_name_txtd' ),
90
  'pages' => array( 'page' ), // Post type
91
  'context' => 'normal',
92
  'priority' => 'high',
98
  'show_names' => true, // Show field names on the left
99
  'fields' => array(
100
  array(
101
+ 'name' => esc_html__( 'Map Height', 'theme_name_txtd' ),
102
  'desc' => __( '<p class="cmb_metabox_description">Select the height of the Google Map area in relation to the browser window.</p>', 'theme_name_txtd' ),
103
  'id' => 'page_gmap_height',
104
  'type' => 'select',
105
  'options' => array(
106
  array(
107
+ 'name' => esc_html__( '&nbsp; &#9673;&#9711; &nbsp;Half', 'theme_name_txtd' ),
108
  'value' => 'half-height',
109
  ),
110
  array(
111
+ 'name' => esc_html__( '&#9673;&#9673;&#9711; Two Thirds', 'theme_name_txtd' ),
112
  'value' => 'two-thirds-height',
113
  ),
114
  array(
115
+ 'name' => esc_html__( '&#9673;&#9673;&#9673; Full Height', 'theme_name_txtd' ),
116
  'value' => 'full-height',
117
  )
118
  ),
119
  'std' => 'two-thirds-height',
120
  ),
121
  array(
122
+ 'name' => esc_html__( 'Google Maps Pins', 'theme_name_txtd' ),
123
  'desc' => __( 'Paste here the Share URL you have taken from <a href="http://www.google.com/maps" target="_blank">Google Maps</a>.', 'theme_name_txtd' ),
124
  'id' => 'gmap_urls',
125
  'type' => 'gmap_pins',
126
  'std' => array(
127
  1 => array(
128
  'location_url' => "https://www.google.ro/maps/@51.5075586,-0.1284425,18z",
129
+ 'name' => esc_html__('London', 'theme_name_txtd')
130
  )
131
  )
132
  ),
class-pixtypes.php CHANGED
@@ -6,7 +6,7 @@
6
  * @author Pixelgrade <contact@pixelgrade.com>
7
  * @license GPL-2.0+
8
  * @link http://pixelgrade.com
9
- * @copyright 2013 Pixelgrade
10
  */
11
 
12
  /**
@@ -24,7 +24,7 @@ class PixTypesPlugin {
24
  *
25
  * @const string
26
  */
27
- protected $version = '1.4.4';
28
  /**
29
  * Unique identifier for your plugin.
30
  *
@@ -75,14 +75,14 @@ class PixTypesPlugin {
75
  protected function __construct() {
76
 
77
  $this->plugin_basepath = plugin_dir_path( __FILE__ );
78
- $this->config = self::config();
79
 
80
  // Load plugin text domain
81
  add_action( 'init', array( $this, 'load_plugin_textdomain' ) );
82
  // add_action( 'admin_init', array( $this, 'wpgrade_init_plugin' ) );
83
 
84
  // Add the options page and menu item only when is needed.
85
- if ( isset($this->config['display_settings']) && $this->config['display_settings'] ) {
86
  add_action( 'admin_menu', array( $this, 'add_plugin_admin_menu' ) );
87
 
88
  // Add an action link pointing to the options page.
@@ -99,15 +99,15 @@ class PixTypesPlugin {
99
  // add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_styles' ) );
100
  // add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
101
 
102
- add_action( 'plugins_loaded', array( $this, 'register_metaboxes'), 14 );
103
- add_action( 'init', array( $this, 'register_entities'), 99999);
104
- add_action( 'init', array( $this, 'theme_version_check'));
105
 
106
  /**
107
  * Ajax Callbacks
108
  */
109
- add_action('wp_ajax_unset_pixtypes', array(&$this, 'ajax_unset_pixtypes'));
110
- add_action('wp_ajax_nopriv_unset_pixtypes', array(&$this, 'ajax_unset_pixtypes'));
111
  }
112
 
113
  /**
@@ -127,12 +127,12 @@ class PixTypesPlugin {
127
  return self::$instance;
128
  }
129
 
130
- public static function config(){
131
  // @TODO maybe check this
132
  return include 'plugin-config.php';
133
  }
134
 
135
- public function wpgrade_init_plugin(){
136
  // $this->plugin_textdomain();
137
  // $this->add_wpgrade_shortcodes_button();
138
  }
@@ -142,27 +142,27 @@ class PixTypesPlugin {
142
  *
143
  * @since 1.0.0
144
  *
145
- * @param boolean $network_wide True if WPMU superadmin uses "Network Activate" action, false if WPMU is disabled or plugin is activated on an individual blog.
146
  */
147
  public static function activate( $network_wide ) {
148
  $config = self::config();
149
 
150
  /** get options defined by themes */
151
- $theme_types = get_option('pixtypes_themes_settings');
152
- $types_settings = get_option($config['settings-key']);
153
- $current_theme = '_pixtypes_theme';
154
 
155
  // init settings
156
- if ( empty($theme_types) ) {
157
  $theme_types = array();
158
  }
159
 
160
- if ( empty($types_settings) ) {
161
- $types_settings = array('themes' => array());
162
  }
163
 
164
  /** A pixelgrade theme will always have this class so we know we can import new settings **/
165
- if (class_exists('wpgrade') ) {
166
 
167
  $current_theme = wpgrade::shortname() . $current_theme;
168
  // also inform the plugin about theme version
@@ -172,48 +172,48 @@ class PixTypesPlugin {
172
  $theme_types = self::get_defaults( 'pixtypes' . $current_theme );
173
  }
174
 
175
- if ( !empty($theme_types) ) {
176
- foreach ( $theme_types as $theme_key => $theme) {
177
- $theme_name = str_replace('_pixtypes_theme', '', $theme_key);
178
  /** Process each post type's arguments **/
179
  if ( $theme_key == $current_theme ) {
180
 
181
  /** POST TYPES slugs **/
182
- if (!empty( $theme_types[$current_theme]['post_types']) ){
183
- foreach ( $theme_types[$current_theme]['post_types'] as $key => $post_type ) {
184
  $testable_slug = $is_slug_unique = '';
185
- $testable_slug = str_replace ( $theme_name.'-', '', $post_type["rewrite"]["slug"]);
186
 
187
  /** for our current theme we try to prioritize slugs */
188
- if ( isset( $post_type["rewrite"] ) && self::is_custom_post_type_slug_unique($testable_slug) ) {
189
  /** this slug is unique we can quit the theme suffix */
190
- $theme_types[$current_theme]['post_types'][$key]["rewrite"]["slug"] = $testable_slug;
191
  }
192
 
193
  // process menu icon if it exists
194
- if ( isset($post_type['menu_icon']) ) {
195
- $theme_types[$current_theme]['post_types'][$key]['menu_icon'] = plugins_url( 'assets/' . $post_type['menu_icon'] , __FILE__ ) ;
196
  }
197
  }
198
  }
199
 
200
  /** TAXONOMIES slugs **/
201
- if (!empty( $theme_types[$current_theme]['taxonomies'] ) ) {
202
- foreach ( $theme_types[$current_theme]['taxonomies'] as $key => $tax ) {
203
  $testable_slug = $is_slug_unique = '';
204
- $testable_slug = str_replace ( $theme_name.'-', '', $tax["rewrite"]["slug"]);
205
- if ( isset( $tax["rewrite"] ) && self::is_tax_slug_unique($testable_slug) ) {
206
  /** this slug is unique we can quit the theme suffix */
207
- $theme_types[$current_theme]['taxonomies'][$key]["rewrite"]["slug"] = $testable_slug;
208
  }
209
  }
210
  }
211
  }
212
- $types_settings['themes'][$theme_name] = $theme_types[$theme_key];
213
  }
214
  }
215
 
216
- update_option($config['settings-key'], $types_settings);
217
 
218
  // flush_rewrite_rules();
219
  // global $wp_rewrite;
@@ -224,13 +224,14 @@ class PixTypesPlugin {
224
  * http://wordpress.stackexchange.com/questions/36152/flush-rewrite-rules-not-working-on-plugin-deactivation-invalid-urls-not-showing
225
  * nothing from above works in plugin so ...
226
  */
227
- delete_option('rewrite_rules');
228
  }
229
 
230
  /**
231
  * Fired when the plugin is deactivated.
232
  * @since 1.0.0
233
- * @param boolean $network_wide True if WPMU superadmin uses "Network Deactivate" action, false if WPMU is disabled or plugin is deactivated on an individual blog.
 
234
  */
235
  static function deactivate( $network_wide ) {
236
  // TODO: Define deactivation functionality here
@@ -247,7 +248,7 @@ class PixTypesPlugin {
247
  $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
248
 
249
  load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
250
- load_plugin_textdomain( $domain, FALSE, basename( dirname( __FILE__ ) ) . '/lang/' );
251
  }
252
 
253
  /**
@@ -265,7 +266,7 @@ class PixTypesPlugin {
265
 
266
  $screen = get_current_screen();
267
  if ( $screen->id == $this->plugin_screen_hook_suffix ) {
268
- wp_enqueue_style( $this->plugin_slug .'-admin-styles', plugins_url( 'css/admin.css', __FILE__ ), array(), $this->version );
269
  }
270
 
271
  }
@@ -318,8 +319,8 @@ class PixTypesPlugin {
318
  function add_plugin_admin_menu() {
319
 
320
  $this->plugin_screen_hook_suffix = add_options_page(
321
- __( 'PixTypes', $this->plugin_slug ),
322
- __( 'PixTypes', $this->plugin_slug ),
323
  'manage_options',
324
  $this->plugin_slug,
325
  array( $this, 'display_plugin_admin_page' )
@@ -338,33 +339,37 @@ class PixTypesPlugin {
338
  * Add settings action link to the plugins page.
339
  */
340
  function add_action_links( $links ) {
341
- return array_merge( array( 'settings' => '<a href="' . admin_url( 'options-general.php?page=pixtypes' ) . '">' . __( 'Settings', $this->plugin_slug ) . '</a>' ), $links );
342
  }
343
 
344
- function register_entities(){
345
  require_once( $this->plugin_basepath . 'features/custom-entities.php' );
346
  }
347
 
348
- function register_metaboxes(){
349
  require_once( $this->plugin_basepath . 'features/metaboxes/metaboxes.php' );
350
  }
351
 
352
  /**
353
  * Check if this post_type's slug is unique
 
354
  * @param $slug string
 
355
  * @return boolean
356
  */
357
- static function is_custom_post_type_slug_unique( $slug ){
358
 
359
  global $wp_post_types;
360
- $is_unique = true; /** Suppose it's true */
 
361
 
362
- foreach ( $wp_post_types as $key => $post_type){
363
  $rewrite = $post_type->rewrite;
364
  /** if this post_type has a rewrite rule check for it */
365
- if ( !empty( $rewrite ) && isset($rewrite["slug"]) && $slug == $rewrite["slug"] ){
366
  $is_unique = false;
367
- } elseif ( $slug == $key ) { /** the post_type doesn't have a slug param, so the slug is the name itself */
 
368
  $is_unique = false;
369
  }
370
  }
@@ -374,20 +379,24 @@ class PixTypesPlugin {
374
 
375
  /**
376
  * Check if this taxnonomie's slug is unique
 
377
  * @param $slug string
 
378
  * @return boolean
379
  */
380
- static function is_tax_slug_unique( $slug ){
381
 
382
  global $wp_taxonomies;
383
- $is_unique = true; /** Suppose it's true */
 
384
 
385
- foreach ( $wp_taxonomies as $key => $tax){
386
  $rewrite = $tax->rewrite;
387
  /** if this post_type has a rewrite rule check for it */
388
- if ( !empty( $rewrite ) && isset($rewrite["slug"]) && $slug == $rewrite["slug"] ){
389
  $is_unique = false;
390
- } elseif ( $slug == $key ) { /** the post_type doesn't have a slug param, so the slug is the name itself */
 
391
  $is_unique = false;
392
  }
393
  }
@@ -397,158 +406,159 @@ class PixTypesPlugin {
397
 
398
  static function get_defaults( $theme_key ) {
399
 
400
- $types_options = array();
401
- $types_options[$theme_key] = array();
402
- $types_options[$theme_key]['post_types'] = array(
403
  'pix_portfolio' => array(
404
- 'labels' => array (
405
- 'name' => __('Project', 'pixtypes'),
406
- 'singular_name' => __('Project', 'pixtypes'),
407
- 'add_new' => __('Add New', 'pixtypes'),
408
- 'add_new_item' => __('Add New Project', 'pixtypes'),
409
- 'edit_item' => __('Edit Project', 'pixtypes'),
410
- 'new_item' => __('New Project', 'pixtypes'),
411
- 'all_items' => __('All Projects', 'pixtypes'),
412
- 'view_item' => __('View Project', 'pixtypes'),
413
- 'search_items' => __('Search Projects', 'pixtypes'),
414
- 'not_found' => __('No Project found', 'pixtypes'),
415
- 'not_found_in_trash' => __('No Project found in Trash', 'pixtypes'),
416
- 'menu_name' => __('Projects', 'pixtypes'),
417
  ),
418
- 'public' => true,
419
- 'rewrite' => array (
420
- 'slug' => 'portfolio',
421
  'with_front' => false,
422
  ),
423
- 'has_archive' => 'portfolio-archive',
424
- 'menu_icon' => plugins_url( 'assets/report.png' , __FILE__ ),
425
- 'supports' => array ( 'title', 'editor', 'thumbnail', 'page-attributes', 'excerpt'),
426
  'yarpp_support' => true,
427
  ),
428
- 'pix_gallery' => array(
429
- 'labels' => array (
430
- 'name' => __('Gallery', 'pixtypes'),
431
- 'singular_name' => __('Gallery', 'pixtypes'),
432
- 'add_new' => __('Add New', 'pixtypes'),
433
- 'add_new_item' => __('Add New Gallery', 'pixtypes'),
434
- 'edit_item' => __('Edit Gallery', 'pixtypes'),
435
- 'new_item' => __('New Gallery', 'pixtypes'),
436
- 'all_items' => __('All Galleries', 'pixtypes'),
437
- 'view_item' => __('View Gallery', 'pixtypes'),
438
- 'search_items' => __('Search Galleries', 'pixtypes'),
439
- 'not_found' => __('No Gallery found', 'pixtypes'),
440
- 'not_found_in_trash' => __('No Gallery found in Trash', 'pixtypes'),
441
- 'menu_name' => __('Galleries', 'pixtypes'),
442
  ),
443
- 'public' => true,
444
- 'rewrite' => array (
445
- 'slug' => 'galleries',
446
  'with_front' => false,
447
  ),
448
- 'has_archive' => 'galleries-archive',
449
- 'menu_position' => NULL,
450
- 'supports' => array ( 'title', 'thumbnail', 'page-attributes', 'excerpt'),
451
  'yarpp_support' => true,
452
  ),
453
  );
454
 
455
  /** TAXONOMIES **/
456
- $types_options[$theme_key]['taxonomies'] = array(
457
  'pix_portfolio_categories' => array(
458
- 'hierarchical' => true,
459
- 'labels' => array (
460
- 'name' => __('Portfolio Categories', 'pixtypes'),
461
- 'singular_name' => __('Portfolio Category', 'pixtypes'),
462
- 'search_items' => __('Search Portfolio Category', 'pixtypes'),
463
- 'all_items' => __('All Portfolio Categories', 'pixtypes'),
464
- 'parent_item' => __('Parent Portfolio Category', 'pixtypes'),
465
- 'parent_item_colon' => __('Parent Portfolio Category: ', 'pixtypes'),
466
- 'edit_item' => __('Edit Portfolio Category', 'pixtypes'),
467
- 'update_item' => __('Update Portfolio Category', 'pixtypes'),
468
- 'add_new_item' => __('Add New Portfolio Category', 'pixtypes'),
469
- 'new_item_name' => __('New Portfolio Category Name', 'pixtypes'),
470
- 'menu_name' => __('Portfolio Categories', 'pixtypes'),
471
  ),
472
  'show_admin_column' => true,
473
- 'rewrite' => array ( 'slug' => 'portfolio-category', 'with_front' => false ),
474
- 'sort' => true,
475
- 'post_types' => array('pix_portfolio')
476
  ),
477
- 'pix_gallery_categories' => array(
478
- 'hierarchical' => true,
479
- 'labels' => array (
480
- 'name' => __('Gallery Categories', 'pixtypes'),
481
- 'singular_name' => __('Gallery Category', 'pixtypes'),
482
- 'search_items' => __('Search Gallery Category', 'pixtypes'),
483
- 'all_items' => __('All Gallery Categories', 'pixtypes'),
484
- 'parent_item' => __('Parent Gallery Category', 'pixtypes'),
485
- 'parent_item_colon' => __('Parent Gallery Category: ', 'pixtypes'),
486
- 'edit_item' => __('Edit Gallery Category', 'pixtypes'),
487
- 'update_item' => __('Update Gallery Category', 'pixtypes'),
488
- 'add_new_item' => __('Add New Gallery Category', 'pixtypes'),
489
- 'new_item_name' => __('New Gallery Category Name', 'pixtypes'),
490
- 'menu_name' => __('Gallery Categories', 'pixtypes'),
491
  ),
492
  'show_admin_column' => true,
493
- 'rewrite' => array ( 'slug' => 'gallery-category', 'with_front' => false ),
494
- 'sort' => true,
495
- 'post_types' => array('pix_gallery')
496
  ),
497
  );
498
 
499
  /** METABOXES **/
500
- $types_options[$theme_key]['metaboxes'] = array(
501
  'pix_portfolio' => array(
502
  'id' => 'portfolio_gallery',
503
- 'title' => __('Gallery', 'pixtypes'),
504
  'pages' => array( 'pix_portfolio' ), // Post type
505
  'context' => 'normal',
506
  'priority' => 'high',
507
  'show_names' => true, // Show field names on the left
508
- 'fields' => array(
509
  array(
510
- 'name' => __('Images', 'pixtypes'),
511
  'id' => 'pix_portfolio_gallery',
512
  'type' => 'gallery',
513
  )
514
  )
515
  ),
516
- 'pix_gallery' => array(
517
  'id' => 'pix_gallery',
518
- 'title' => __('Gallery', 'pixtypes'),
519
  'pages' => array( 'pix_gallery' ), // Post type
520
  'context' => 'normal',
521
  'priority' => 'high',
522
  'show_names' => true, // Show field names on the left
523
- 'fields' => array(
524
  array(
525
- 'name' => __('Images', 'pixtypes'),
526
  'id' => 'pix_main_gallery',
527
  'type' => 'gallery',
528
  )
529
  )
530
  )
531
  );
 
532
  return $types_options;
533
  }
534
 
535
  /**
536
  * Ajax callback for unseting unneeded post types
537
  */
538
- function ajax_unset_pixtypes(){
539
- $result = array('success' => false, 'msg' => 'Incorect nonce');
540
- if ( !wp_verify_nonce($_POST['_ajax_nonce'], 'unset_pixtype') ) {
541
- echo json_encode($result);
542
  die();
543
  }
544
 
545
- if ( isset($_POST['post_type']) ) {
546
- $key = $_POST['post_type'];
547
- $options = get_option('pixtypes_settings');
548
- if ( isset( $options['themes'][$key] ) ) {
549
- unset($options['themes'][$key]);
550
- update_option('pixtypes_settings', $options);
551
- $result['msg'] = 'Post type ' . $key . ' is gone.';
552
  $result['success'] = true;
553
  }
554
  }
@@ -560,21 +570,21 @@ class PixTypesPlugin {
560
  /**
561
  * On every wpgrade themes update we need to reconvert theme options into plugin options
562
  */
563
- function theme_version_check(){
564
 
565
- $options = get_option('pixtypes_settings');
566
 
567
- if ( class_exists( 'wpgrade' ) && isset($options['wpgrade_theme_version']) ) {
568
 
569
  if ( wpgrade::themeversion() != $options['wpgrade_theme_version'] ) {
570
  // here the theme is updating it's options
571
- $test = function_exists('wpgrade_callback_geting_active');
572
 
573
  wpgrade_callback_geting_active();
574
  // the plugin will copy these options into it's own field
575
- self::activate(false);
576
  // end finally merge user's settings with the theme ones
577
- save_pixtypes_settings($options);
578
 
579
  }
580
  }
6
  * @author Pixelgrade <contact@pixelgrade.com>
7
  * @license GPL-2.0+
8
  * @link http://pixelgrade.com
9
+ * @copyright 2013-2017 Pixelgrade
10
  */
11
 
12
  /**
24
  *
25
  * @const string
26
  */
27
+ protected $version = '1.4.5';
28
  /**
29
  * Unique identifier for your plugin.
30
  *
75
  protected function __construct() {
76
 
77
  $this->plugin_basepath = plugin_dir_path( __FILE__ );
78
+ $this->config = self::config();
79
 
80
  // Load plugin text domain
81
  add_action( 'init', array( $this, 'load_plugin_textdomain' ) );
82
  // add_action( 'admin_init', array( $this, 'wpgrade_init_plugin' ) );
83
 
84
  // Add the options page and menu item only when is needed.
85
+ if ( isset( $this->config['display_settings'] ) && $this->config['display_settings'] ) {
86
  add_action( 'admin_menu', array( $this, 'add_plugin_admin_menu' ) );
87
 
88
  // Add an action link pointing to the options page.
99
  // add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_styles' ) );
100
  // add_action( 'wp_enqueue_scripts', array( $this, 'enqueue_scripts' ) );
101
 
102
+ add_action( 'plugins_loaded', array( $this, 'register_metaboxes' ), 14 );
103
+ add_action( 'init', array( $this, 'register_entities' ), 99999 );
104
+ add_action( 'init', array( $this, 'theme_version_check' ) );
105
 
106
  /**
107
  * Ajax Callbacks
108
  */
109
+ add_action( 'wp_ajax_unset_pixtypes', array( &$this, 'ajax_unset_pixtypes' ) );
110
+ add_action( 'wp_ajax_nopriv_unset_pixtypes', array( &$this, 'ajax_unset_pixtypes' ) );
111
  }
112
 
113
  /**
127
  return self::$instance;
128
  }
129
 
130
+ public static function config() {
131
  // @TODO maybe check this
132
  return include 'plugin-config.php';
133
  }
134
 
135
+ public function wpgrade_init_plugin() {
136
  // $this->plugin_textdomain();
137
  // $this->add_wpgrade_shortcodes_button();
138
  }
142
  *
143
  * @since 1.0.0
144
  *
145
+ * @param boolean $network_wide True if WPMU superadmin uses "Network Activate" action, false if WPMU is disabled or plugin is activated on an individual blog.
146
  */
147
  public static function activate( $network_wide ) {
148
  $config = self::config();
149
 
150
  /** get options defined by themes */
151
+ $theme_types = get_option( 'pixtypes_themes_settings' );
152
+ $types_settings = get_option( $config['settings-key'] );
153
+ $current_theme = '_pixtypes_theme';
154
 
155
  // init settings
156
+ if ( empty( $theme_types ) ) {
157
  $theme_types = array();
158
  }
159
 
160
+ if ( empty( $types_settings ) ) {
161
+ $types_settings = array( 'themes' => array() );
162
  }
163
 
164
  /** A pixelgrade theme will always have this class so we know we can import new settings **/
165
+ if ( class_exists( 'wpgrade' ) ) {
166
 
167
  $current_theme = wpgrade::shortname() . $current_theme;
168
  // also inform the plugin about theme version
172
  $theme_types = self::get_defaults( 'pixtypes' . $current_theme );
173
  }
174
 
175
+ if ( ! empty( $theme_types ) ) {
176
+ foreach ( $theme_types as $theme_key => $theme ) {
177
+ $theme_name = str_replace( '_pixtypes_theme', '', $theme_key );
178
  /** Process each post type's arguments **/
179
  if ( $theme_key == $current_theme ) {
180
 
181
  /** POST TYPES slugs **/
182
+ if ( ! empty( $theme_types[ $current_theme ]['post_types'] ) ) {
183
+ foreach ( $theme_types[ $current_theme ]['post_types'] as $key => $post_type ) {
184
  $testable_slug = $is_slug_unique = '';
185
+ $testable_slug = str_replace( $theme_name . '-', '', $post_type["rewrite"]["slug"] );
186
 
187
  /** for our current theme we try to prioritize slugs */
188
+ if ( isset( $post_type["rewrite"] ) && self::is_custom_post_type_slug_unique( $testable_slug ) ) {
189
  /** this slug is unique we can quit the theme suffix */
190
+ $theme_types[ $current_theme ]['post_types'][ $key ]["rewrite"]["slug"] = $testable_slug;
191
  }
192
 
193
  // process menu icon if it exists
194
+ if ( isset( $post_type['menu_icon'] ) ) {
195
+ $theme_types[ $current_theme ]['post_types'][ $key ]['menu_icon'] = plugins_url( 'assets/' . $post_type['menu_icon'], __FILE__ );
196
  }
197
  }
198
  }
199
 
200
  /** TAXONOMIES slugs **/
201
+ if ( ! empty( $theme_types[ $current_theme ]['taxonomies'] ) ) {
202
+ foreach ( $theme_types[ $current_theme ]['taxonomies'] as $key => $tax ) {
203
  $testable_slug = $is_slug_unique = '';
204
+ $testable_slug = str_replace( $theme_name . '-', '', $tax["rewrite"]["slug"] );
205
+ if ( isset( $tax["rewrite"] ) && self::is_tax_slug_unique( $testable_slug ) ) {
206
  /** this slug is unique we can quit the theme suffix */
207
+ $theme_types[ $current_theme ]['taxonomies'][ $key ]["rewrite"]["slug"] = $testable_slug;
208
  }
209
  }
210
  }
211
  }
212
+ $types_settings['themes'][ $theme_name ] = $theme_types[ $theme_key ];
213
  }
214
  }
215
 
216
+ update_option( $config['settings-key'], $types_settings );
217
 
218
  // flush_rewrite_rules();
219
  // global $wp_rewrite;
224
  * http://wordpress.stackexchange.com/questions/36152/flush-rewrite-rules-not-working-on-plugin-deactivation-invalid-urls-not-showing
225
  * nothing from above works in plugin so ...
226
  */
227
+ delete_option( 'rewrite_rules' );
228
  }
229
 
230
  /**
231
  * Fired when the plugin is deactivated.
232
  * @since 1.0.0
233
+ *
234
+ * @param boolean $network_wide True if WPMU superadmin uses "Network Deactivate" action, false if WPMU is disabled or plugin is deactivated on an individual blog.
235
  */
236
  static function deactivate( $network_wide ) {
237
  // TODO: Define deactivation functionality here
248
  $locale = apply_filters( 'plugin_locale', get_locale(), $domain );
249
 
250
  load_textdomain( $domain, WP_LANG_DIR . '/' . $domain . '/' . $domain . '-' . $locale . '.mo' );
251
+ load_plugin_textdomain( $domain, false, basename( dirname( __FILE__ ) ) . '/lang/' );
252
  }
253
 
254
  /**
266
 
267
  $screen = get_current_screen();
268
  if ( $screen->id == $this->plugin_screen_hook_suffix ) {
269
+ wp_enqueue_style( $this->plugin_slug . '-admin-styles', plugins_url( 'css/admin.css', __FILE__ ), array(), $this->version );
270
  }
271
 
272
  }
319
  function add_plugin_admin_menu() {
320
 
321
  $this->plugin_screen_hook_suffix = add_options_page(
322
+ esc_html__( 'PixTypes', $this->plugin_slug ),
323
+ esc_html__( 'PixTypes', $this->plugin_slug ),
324
  'manage_options',
325
  $this->plugin_slug,
326
  array( $this, 'display_plugin_admin_page' )
339
  * Add settings action link to the plugins page.
340
  */
341
  function add_action_links( $links ) {
342
+ return array_merge( array( 'settings' => '<a href="' . admin_url( 'options-general.php?page=pixtypes' ) . '">' . esc_html__( 'Settings', $this->plugin_slug ) . '</a>' ), $links );
343
  }
344
 
345
+ function register_entities() {
346
  require_once( $this->plugin_basepath . 'features/custom-entities.php' );
347
  }
348
 
349
+ function register_metaboxes() {
350
  require_once( $this->plugin_basepath . 'features/metaboxes/metaboxes.php' );
351
  }
352
 
353
  /**
354
  * Check if this post_type's slug is unique
355
+ *
356
  * @param $slug string
357
+ *
358
  * @return boolean
359
  */
360
+ static function is_custom_post_type_slug_unique( $slug ) {
361
 
362
  global $wp_post_types;
363
+ $is_unique = true;
364
+ /** Suppose it's true */
365
 
366
+ foreach ( $wp_post_types as $key => $post_type ) {
367
  $rewrite = $post_type->rewrite;
368
  /** if this post_type has a rewrite rule check for it */
369
+ if ( ! empty( $rewrite ) && isset( $rewrite["slug"] ) && $slug == $rewrite["slug"] ) {
370
  $is_unique = false;
371
+ } elseif ( $slug == $key ) {
372
+ /** the post_type doesn't have a slug param, so the slug is the name itself */
373
  $is_unique = false;
374
  }
375
  }
379
 
380
  /**
381
  * Check if this taxnonomie's slug is unique
382
+ *
383
  * @param $slug string
384
+ *
385
  * @return boolean
386
  */
387
+ static function is_tax_slug_unique( $slug ) {
388
 
389
  global $wp_taxonomies;
390
+ $is_unique = true;
391
+ /** Suppose it's true */
392
 
393
+ foreach ( $wp_taxonomies as $key => $tax ) {
394
  $rewrite = $tax->rewrite;
395
  /** if this post_type has a rewrite rule check for it */
396
+ if ( ! empty( $rewrite ) && isset( $rewrite["slug"] ) && $slug == $rewrite["slug"] ) {
397
  $is_unique = false;
398
+ } elseif ( $slug == $key ) {
399
+ /** the post_type doesn't have a slug param, so the slug is the name itself */
400
  $is_unique = false;
401
  }
402
  }
406
 
407
  static function get_defaults( $theme_key ) {
408
 
409
+ $types_options = array();
410
+ $types_options[ $theme_key ] = array();
411
+ $types_options[ $theme_key ]['post_types'] = array(
412
  'pix_portfolio' => array(
413
+ 'labels' => array(
414
+ 'name' => esc_html__( 'Project', 'pixtypes' ),
415
+ 'singular_name' => esc_html__( 'Project', 'pixtypes' ),
416
+ 'add_new' => esc_html__( 'Add New', 'pixtypes' ),
417
+ 'add_new_item' => esc_html__( 'Add New Project', 'pixtypes' ),
418
+ 'edit_item' => esc_html__( 'Edit Project', 'pixtypes' ),
419
+ 'new_item' => esc_html__( 'New Project', 'pixtypes' ),
420
+ 'all_items' => esc_html__( 'All Projects', 'pixtypes' ),
421
+ 'view_item' => esc_html__( 'View Project', 'pixtypes' ),
422
+ 'search_items' => esc_html__( 'Search Projects', 'pixtypes' ),
423
+ 'not_found' => esc_html__( 'No Project found', 'pixtypes' ),
424
+ 'not_found_in_trash' => esc_html__( 'No Project found in Trash', 'pixtypes' ),
425
+ 'menu_name' => esc_html__( 'Projects', 'pixtypes' ),
426
  ),
427
+ 'public' => true,
428
+ 'rewrite' => array(
429
+ 'slug' => 'portfolio',
430
  'with_front' => false,
431
  ),
432
+ 'has_archive' => 'portfolio-archive',
433
+ 'menu_icon' => plugins_url( 'assets/report.png', __FILE__ ),
434
+ 'supports' => array( 'title', 'editor', 'thumbnail', 'page-attributes', 'excerpt' ),
435
  'yarpp_support' => true,
436
  ),
437
+ 'pix_gallery' => array(
438
+ 'labels' => array(
439
+ 'name' => esc_html__( 'Gallery', 'pixtypes' ),
440
+ 'singular_name' => esc_html__( 'Gallery', 'pixtypes' ),
441
+ 'add_new' => esc_html__( 'Add New', 'pixtypes' ),
442
+ 'add_new_item' => esc_html__( 'Add New Gallery', 'pixtypes' ),
443
+ 'edit_item' => esc_html__( 'Edit Gallery', 'pixtypes' ),
444
+ 'new_item' => esc_html__( 'New Gallery', 'pixtypes' ),
445
+ 'all_items' => esc_html__( 'All Galleries', 'pixtypes' ),
446
+ 'view_item' => esc_html__( 'View Gallery', 'pixtypes' ),
447
+ 'search_items' => esc_html__( 'Search Galleries', 'pixtypes' ),
448
+ 'not_found' => esc_html__( 'No Gallery found', 'pixtypes' ),
449
+ 'not_found_in_trash' => esc_html__( 'No Gallery found in Trash', 'pixtypes' ),
450
+ 'menu_name' => esc_html__( 'Galleries', 'pixtypes' ),
451
  ),
452
+ 'public' => true,
453
+ 'rewrite' => array(
454
+ 'slug' => 'galleries',
455
  'with_front' => false,
456
  ),
457
+ 'has_archive' => 'galleries-archive',
458
+ 'menu_position' => null,
459
+ 'supports' => array( 'title', 'thumbnail', 'page-attributes', 'excerpt' ),
460
  'yarpp_support' => true,
461
  ),
462
  );
463
 
464
  /** TAXONOMIES **/
465
+ $types_options[ $theme_key ]['taxonomies'] = array(
466
  'pix_portfolio_categories' => array(
467
+ 'hierarchical' => true,
468
+ 'labels' => array(
469
+ 'name' => esc_html__( 'Portfolio Categories', 'pixtypes' ),
470
+ 'singular_name' => esc_html__( 'Portfolio Category', 'pixtypes' ),
471
+ 'search_items' => esc_html__( 'Search Portfolio Category', 'pixtypes' ),
472
+ 'all_items' => esc_html__( 'All Portfolio Categories', 'pixtypes' ),
473
+ 'parent_item' => esc_html__( 'Parent Portfolio Category', 'pixtypes' ),
474
+ 'parent_item_colon' => esc_html__( 'Parent Portfolio Category: ', 'pixtypes' ),
475
+ 'edit_item' => esc_html__( 'Edit Portfolio Category', 'pixtypes' ),
476
+ 'update_item' => esc_html__( 'Update Portfolio Category', 'pixtypes' ),
477
+ 'add_new_item' => esc_html__( 'Add New Portfolio Category', 'pixtypes' ),
478
+ 'new_item_name' => esc_html__( 'New Portfolio Category Name', 'pixtypes' ),
479
+ 'menu_name' => esc_html__( 'Portfolio Categories', 'pixtypes' ),
480
  ),
481
  'show_admin_column' => true,
482
+ 'rewrite' => array( 'slug' => 'portfolio-category', 'with_front' => false ),
483
+ 'sort' => true,
484
+ 'post_types' => array( 'pix_portfolio' )
485
  ),
486
+ 'pix_gallery_categories' => array(
487
+ 'hierarchical' => true,
488
+ 'labels' => array(
489
+ 'name' => esc_html__( 'Gallery Categories', 'pixtypes' ),
490
+ 'singular_name' => esc_html__( 'Gallery Category', 'pixtypes' ),
491
+ 'search_items' => esc_html__( 'Search Gallery Category', 'pixtypes' ),
492
+ 'all_items' => esc_html__( 'All Gallery Categories', 'pixtypes' ),
493
+ 'parent_item' => esc_html__( 'Parent Gallery Category', 'pixtypes' ),
494
+ 'parent_item_colon' => esc_html__( 'Parent Gallery Category: ', 'pixtypes' ),
495
+ 'edit_item' => esc_html__( 'Edit Gallery Category', 'pixtypes' ),
496
+ 'update_item' => esc_html__( 'Update Gallery Category', 'pixtypes' ),
497
+ 'add_new_item' => esc_html__( 'Add New Gallery Category', 'pixtypes' ),
498
+ 'new_item_name' => esc_html__( 'New Gallery Category Name', 'pixtypes' ),
499
+ 'menu_name' => esc_html__( 'Gallery Categories', 'pixtypes' ),
500
  ),
501
  'show_admin_column' => true,
502
+ 'rewrite' => array( 'slug' => 'gallery-category', 'with_front' => false ),
503
+ 'sort' => true,
504
+ 'post_types' => array( 'pix_gallery' )
505
  ),
506
  );
507
 
508
  /** METABOXES **/
509
+ $types_options[ $theme_key ]['metaboxes'] = array(
510
  'pix_portfolio' => array(
511
  'id' => 'portfolio_gallery',
512
+ 'title' => esc_html__( 'Gallery', 'pixtypes' ),
513
  'pages' => array( 'pix_portfolio' ), // Post type
514
  'context' => 'normal',
515
  'priority' => 'high',
516
  'show_names' => true, // Show field names on the left
517
+ 'fields' => array(
518
  array(
519
+ 'name' => esc_html__( 'Images', 'pixtypes' ),
520
  'id' => 'pix_portfolio_gallery',
521
  'type' => 'gallery',
522
  )
523
  )
524
  ),
525
+ 'pix_gallery' => array(
526
  'id' => 'pix_gallery',
527
+ 'title' => esc_html__( 'Gallery', 'pixtypes' ),
528
  'pages' => array( 'pix_gallery' ), // Post type
529
  'context' => 'normal',
530
  'priority' => 'high',
531
  'show_names' => true, // Show field names on the left
532
+ 'fields' => array(
533
  array(
534
+ 'name' => esc_html__( 'Images', 'pixtypes' ),
535
  'id' => 'pix_main_gallery',
536
  'type' => 'gallery',
537
  )
538
  )
539
  )
540
  );
541
+
542
  return $types_options;
543
  }
544
 
545
  /**
546
  * Ajax callback for unseting unneeded post types
547
  */
548
+ function ajax_unset_pixtypes() {
549
+ $result = array( 'success' => false, 'msg' => 'Incorect nonce' );
550
+ if ( ! wp_verify_nonce( $_POST['_ajax_nonce'], 'unset_pixtype' ) ) {
551
+ echo json_encode( $result );
552
  die();
553
  }
554
 
555
+ if ( isset( $_POST['post_type'] ) ) {
556
+ $key = $_POST['post_type'];
557
+ $options = get_option( 'pixtypes_settings' );
558
+ if ( isset( $options['themes'][ $key ] ) ) {
559
+ unset( $options['themes'][ $key ] );
560
+ update_option( 'pixtypes_settings', $options );
561
+ $result['msg'] = 'Post type ' . $key . ' is gone.';
562
  $result['success'] = true;
563
  }
564
  }
570
  /**
571
  * On every wpgrade themes update we need to reconvert theme options into plugin options
572
  */
573
+ function theme_version_check() {
574
 
575
+ $options = get_option( 'pixtypes_settings' );
576
 
577
+ if ( class_exists( 'wpgrade' ) && isset( $options['wpgrade_theme_version'] ) ) {
578
 
579
  if ( wpgrade::themeversion() != $options['wpgrade_theme_version'] ) {
580
  // here the theme is updating it's options
581
+ $test = function_exists( 'wpgrade_callback_geting_active' );
582
 
583
  wpgrade_callback_geting_active();
584
  // the plugin will copy these options into it's own field
585
+ self::activate( false );
586
  // end finally merge user's settings with the theme ones
587
+ save_pixtypes_settings( $options );
588
 
589
  }
590
  }
core/defaults.php CHANGED
@@ -27,8 +27,8 @@
27
 
28
  'errors' => array
29
  (
30
- 'is_numeric' => __('Numberic value required.', pixtypes::textdomain()),
31
- 'not_empty' => __('Field is required.', pixtypes::textdomain()),
32
  ),
33
 
34
  'callbacks' => array
27
 
28
  'errors' => array
29
  (
30
+ 'is_numeric' => esc_html__('Numberic value required.', pixtypes::textdomain()),
31
+ 'not_empty' => esc_html__('Field is required.', pixtypes::textdomain()),
32
  ),
33
 
34
  'callbacks' => array
features/class-pix-query.php CHANGED
@@ -4,15 +4,16 @@ class Pix_Query extends Wp_Query {
4
 
5
  function get_meta_value( $key = '' ) {
6
 
7
- if ( class_exists('wpgrade') ) {
8
  $key = wpgrade::prefix() . $key;
9
  }
10
 
11
  $value = get_post_meta( get_the_ID(), $key, true );
12
 
13
- if ( !empty($value) ) {
14
  return $value;
15
  }
 
16
  return false;
17
  }
18
 
@@ -25,22 +26,23 @@ class Pix_Query extends Wp_Query {
25
  * Get the gallery of the global post
26
  * @required global $post this should be called inside a loop
27
  * @return array $ids
28
- * @deprecated
29
  */
30
 
31
- function get_gallery_ids( $key = '' ){
32
  global $post;
33
  $prefix = '';
34
 
35
- if ( class_exists('wpgrade') ) {
36
  $prefix = wpgrade::prefix();
37
  }
38
 
39
  $ids = get_post_meta( $post->ID, $prefix . $key, true );
40
 
41
- if (!empty($ids)) {
42
- $ids = explode(',',$ids);
43
  }
 
44
  return $ids;
45
  }
46
  }
4
 
5
  function get_meta_value( $key = '' ) {
6
 
7
+ if ( class_exists( 'wpgrade' ) ) {
8
  $key = wpgrade::prefix() . $key;
9
  }
10
 
11
  $value = get_post_meta( get_the_ID(), $key, true );
12
 
13
+ if ( ! empty( $value ) ) {
14
  return $value;
15
  }
16
+
17
  return false;
18
  }
19
 
26
  * Get the gallery of the global post
27
  * @required global $post this should be called inside a loop
28
  * @return array $ids
29
+ * @deprecated
30
  */
31
 
32
+ function get_gallery_ids( $key = '' ) {
33
  global $post;
34
  $prefix = '';
35
 
36
+ if ( class_exists( 'wpgrade' ) ) {
37
  $prefix = wpgrade::prefix();
38
  }
39
 
40
  $ids = get_post_meta( $post->ID, $prefix . $key, true );
41
 
42
+ if ( ! empty( $ids ) ) {
43
+ $ids = explode( ',', $ids );
44
  }
45
+
46
  return $ids;
47
  }
48
  }
features/custom-entities.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
3
  // register post types
4
- $options = get_option('pixtypes_settings');
5
  $options['display_settings'] = false;
6
 
7
  // go through each theme and activate portfolio post types
8
- if ( empty($options["themes"]) || !array($options["themes"]) ) return;
 
 
9
  $theme_types = $options["themes"];
10
  foreach ( $theme_types as $key => $theme ) {
11
 
@@ -14,24 +16,24 @@ foreach ( $theme_types as $key => $theme ) {
14
  foreach ( $theme['post_types'] as $post_type => $post_type_args ) {
15
 
16
  $is_jetpack_compatible = false;
17
- if ( strpos( $post_type, 'jetpack' ) !== FALSE ) {
18
  ///$xxxx = str_replace( 'jetpack-', '', $post_type);
19
  $is_jetpack_compatible = true;
20
  }
21
 
22
  if ( $is_jetpack_compatible ) {
23
- $post_type_key = strstr( $post_type, '-');
24
- $post_type_key = substr( $post_type_key, 1);
25
  } else {
26
  // eliminate the theme prefix
27
- $post_type_key = strstr( $post_type, '_');
28
- $post_type_key = substr( $post_type_key, 1);
29
  }
30
 
31
 
32
- if ( isset($options["enable_" . $post_type_key ]) ){
33
  $options['display_settings'] = true;
34
- if ( $options["enable_" . $post_type_key] ) {
35
  register_post_type( $post_type, $post_type_args );
36
  }
37
  }
@@ -40,13 +42,13 @@ foreach ( $theme_types as $key => $theme ) {
40
 
41
  // taxonomies
42
  if ( isset( $theme['taxonomies'] ) && is_array( $theme['taxonomies'] ) ) {
43
- foreach ( $theme['taxonomies'] as $tax => $tax_args) {
44
  $tax_post_types = $tax_args['post_types'];
45
  // remove "post_types", isn't a register_taxonomy argument we are just using it for post type linking
46
  unset( $tax_args['post_types'] );
47
 
48
  $is_jetpack_compatible = false;
49
- if ( strpos( $tax, 'jetpack' ) !== FALSE ) {
50
  ///$xxxx = str_replace( 'jetpack-', '', $tax);
51
  $is_jetpack_compatible = true;
52
  }
@@ -60,9 +62,9 @@ foreach ( $theme_types as $key => $theme ) {
60
  $tax_key = substr( $tax_key, 1 );
61
  }
62
 
63
- if ( isset($options["enable_" . $tax_key ]) ){
64
  $options['display_settings'] = true;
65
- if ( $options["enable_" . $tax_key] ) {
66
  register_taxonomy( $tax, $tax_post_types, $tax_args );
67
  }
68
  }
@@ -71,4 +73,4 @@ foreach ( $theme_types as $key => $theme ) {
71
 
72
  }
73
 
74
- update_option('pixtypes_settings', $options);
1
  <?php
2
 
3
  // register post types
4
+ $options = get_option( 'pixtypes_settings' );
5
  $options['display_settings'] = false;
6
 
7
  // go through each theme and activate portfolio post types
8
+ if ( empty( $options["themes"] ) || ! array( $options["themes"] ) ) {
9
+ return;
10
+ }
11
  $theme_types = $options["themes"];
12
  foreach ( $theme_types as $key => $theme ) {
13
 
16
  foreach ( $theme['post_types'] as $post_type => $post_type_args ) {
17
 
18
  $is_jetpack_compatible = false;
19
+ if ( strpos( $post_type, 'jetpack' ) !== false ) {
20
  ///$xxxx = str_replace( 'jetpack-', '', $post_type);
21
  $is_jetpack_compatible = true;
22
  }
23
 
24
  if ( $is_jetpack_compatible ) {
25
+ $post_type_key = strstr( $post_type, '-' );
26
+ $post_type_key = substr( $post_type_key, 1 );
27
  } else {
28
  // eliminate the theme prefix
29
+ $post_type_key = strstr( $post_type, '_' );
30
+ $post_type_key = substr( $post_type_key, 1 );
31
  }
32
 
33
 
34
+ if ( isset( $options[ "enable_" . $post_type_key ] ) ) {
35
  $options['display_settings'] = true;
36
+ if ( $options[ "enable_" . $post_type_key ] ) {
37
  register_post_type( $post_type, $post_type_args );
38
  }
39
  }
42
 
43
  // taxonomies
44
  if ( isset( $theme['taxonomies'] ) && is_array( $theme['taxonomies'] ) ) {
45
+ foreach ( $theme['taxonomies'] as $tax => $tax_args ) {
46
  $tax_post_types = $tax_args['post_types'];
47
  // remove "post_types", isn't a register_taxonomy argument we are just using it for post type linking
48
  unset( $tax_args['post_types'] );
49
 
50
  $is_jetpack_compatible = false;
51
+ if ( strpos( $tax, 'jetpack' ) !== false ) {
52
  ///$xxxx = str_replace( 'jetpack-', '', $tax);
53
  $is_jetpack_compatible = true;
54
  }
62
  $tax_key = substr( $tax_key, 1 );
63
  }
64
 
65
+ if ( isset( $options[ "enable_" . $tax_key ] ) ) {
66
  $options['display_settings'] = true;
67
+ if ( $options[ "enable_" . $tax_key ] ) {
68
  register_taxonomy( $tax, $tax_post_types, $tax_args );
69
  }
70
  }
73
 
74
  }
75
 
76
+ update_option( 'pixtypes_settings', $options );
features/metaboxes/css/style.css CHANGED
@@ -1,3 +1,4 @@
 
1
  /*!
2
  * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
3
  * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
@@ -58,7 +59,7 @@
58
 
59
  .fa-border {
60
  padding: .2em .25em .15em;
61
- border: solid 0.08em #eeeeee;
62
  border-radius: .1em; }
63
 
64
  .pull-right {
@@ -80,7 +81,6 @@
80
  0% {
81
  -webkit-transform: rotate(0deg);
82
  transform: rotate(0deg); }
83
-
84
  100% {
85
  -webkit-transform: rotate(359deg);
86
  transform: rotate(359deg); } }
@@ -88,7 +88,6 @@
88
  0% {
89
  -webkit-transform: rotate(0deg);
90
  transform: rotate(0deg); }
91
-
92
  100% {
93
  -webkit-transform: rotate(359deg);
94
  transform: rotate(359deg); } }
@@ -150,1516 +149,1516 @@
150
  font-size: 2em; }
151
 
152
  .fa-inverse {
153
- color: white; }
154
 
155
  /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
156
  readers do not read off random characters that represent icons */
157
  .fa-glass:before {
158
- content: "\f000"; }
159
 
160
  .fa-music:before {
161
- content: "\f001"; }
162
 
163
  .fa-search:before {
164
- content: "\f002"; }
165
 
166
  .fa-envelope-o:before {
167
- content: "\f003"; }
168
 
169
  .fa-heart:before {
170
- content: "\f004"; }
171
 
172
  .fa-star:before {
173
- content: "\f005"; }
174
 
175
  .fa-star-o:before {
176
- content: "\f006"; }
177
 
178
  .fa-user:before {
179
- content: "\f007"; }
180
 
181
  .fa-film:before {
182
- content: "\f008"; }
183
 
184
  .fa-th-large:before {
185
- content: "\f009"; }
186
 
187
  .fa-th:before {
188
- content: "\f00a"; }
189
 
190
  .fa-th-list:before {
191
- content: "\f00b"; }
192
 
193
  .fa-check:before {
194
- content: "\f00c"; }
195
 
196
  .fa-remove:before,
197
  .fa-close:before,
198
  .fa-times:before {
199
- content: "\f00d"; }
200
 
201
  .fa-search-plus:before {
202
- content: "\f00e"; }
203
 
204
  .fa-search-minus:before {
205
- content: "\f010"; }
206
 
207
  .fa-power-off:before {
208
- content: "\f011"; }
209
 
210
  .fa-signal:before {
211
- content: "\f012"; }
212
 
213
  .fa-gear:before,
214
  .fa-cog:before {
215
- content: "\f013"; }
216
 
217
  .fa-trash-o:before {
218
- content: "\f014"; }
219
 
220
  .fa-home:before {
221
- content: "\f015"; }
222
 
223
  .fa-file-o:before {
224
- content: "\f016"; }
225
 
226
  .fa-clock-o:before {
227
- content: "\f017"; }
228
 
229
  .fa-road:before {
230
- content: "\f018"; }
231
 
232
  .fa-download:before {
233
- content: "\f019"; }
234
 
235
  .fa-arrow-circle-o-down:before {
236
- content: "\f01a"; }
237
 
238
  .fa-arrow-circle-o-up:before {
239
- content: "\f01b"; }
240
 
241
  .fa-inbox:before {
242
- content: "\f01c"; }
243
 
244
  .fa-play-circle-o:before {
245
- content: "\f01d"; }
246
 
247
  .fa-rotate-right:before,
248
  .fa-repeat:before {
249
- content: "\f01e"; }
250
 
251
  .fa-refresh:before {
252
- content: "\f021"; }
253
 
254
  .fa-list-alt:before {
255
- content: "\f022"; }
256
 
257
  .fa-lock:before {
258
- content: "\f023"; }
259
 
260
  .fa-flag:before {
261
- content: "\f024"; }
262
 
263
  .fa-headphones:before {
264
- content: "\f025"; }
265
 
266
  .fa-volume-off:before {
267
- content: "\f026"; }
268
 
269
  .fa-volume-down:before {
270
- content: "\f027"; }
271
 
272
  .fa-volume-up:before {
273
- content: "\f028"; }
274
 
275
  .fa-qrcode:before {
276
- content: "\f029"; }
277
 
278
  .fa-barcode:before {
279
- content: "\f02a"; }
280
 
281
  .fa-tag:before {
282
- content: "\f02b"; }
283
 
284
  .fa-tags:before {
285
- content: "\f02c"; }
286
 
287
  .fa-book:before {
288
- content: "\f02d"; }
289
 
290
  .fa-bookmark:before {
291
- content: "\f02e"; }
292
 
293
  .fa-print:before {
294
- content: "\f02f"; }
295
 
296
  .fa-camera:before {
297
- content: "\f030"; }
298
 
299
  .fa-font:before {
300
- content: "\f031"; }
301
 
302
  .fa-bold:before {
303
- content: "\f032"; }
304
 
305
  .fa-italic:before {
306
- content: "\f033"; }
307
 
308
  .fa-text-height:before {
309
- content: "\f034"; }
310
 
311
  .fa-text-width:before {
312
- content: "\f035"; }
313
 
314
  .fa-align-left:before {
315
- content: "\f036"; }
316
 
317
  .fa-align-center:before {
318
- content: "\f037"; }
319
 
320
  .fa-align-right:before {
321
- content: "\f038"; }
322
 
323
  .fa-align-justify:before {
324
- content: "\f039"; }
325
 
326
  .fa-list:before {
327
- content: "\f03a"; }
328
 
329
  .fa-dedent:before,
330
  .fa-outdent:before {
331
- content: "\f03b"; }
332
 
333
  .fa-indent:before {
334
- content: "\f03c"; }
335
 
336
  .fa-video-camera:before {
337
- content: "\f03d"; }
338
 
339
  .fa-photo:before,
340
  .fa-image:before,
341
  .fa-picture-o:before {
342
- content: "\f03e"; }
343
 
344
  .fa-pencil:before {
345
- content: "\f040"; }
346
 
347
  .fa-map-marker:before {
348
- content: "\f041"; }
349
 
350
  .fa-adjust:before {
351
- content: "\f042"; }
352
 
353
  .fa-tint:before {
354
- content: "\f043"; }
355
 
356
  .fa-edit:before,
357
  .fa-pencil-square-o:before {
358
- content: "\f044"; }
359
 
360
  .fa-share-square-o:before {
361
- content: "\f045"; }
362
 
363
  .fa-check-square-o:before {
364
- content: "\f046"; }
365
 
366
  .fa-arrows:before {
367
- content: "\f047"; }
368
 
369
  .fa-step-backward:before {
370
- content: "\f048"; }
371
 
372
  .fa-fast-backward:before {
373
- content: "\f049"; }
374
 
375
  .fa-backward:before {
376
- content: "\f04a"; }
377
 
378
  .fa-play:before {
379
- content: "\f04b"; }
380
 
381
  .fa-pause:before {
382
- content: "\f04c"; }
383
 
384
  .fa-stop:before {
385
- content: "\f04d"; }
386
 
387
  .fa-forward:before {
388
- content: "\f04e"; }
389
 
390
  .fa-fast-forward:before {
391
- content: "\f050"; }
392
 
393
  .fa-step-forward:before {
394
- content: "\f051"; }
395
 
396
  .fa-eject:before {
397
- content: "\f052"; }
398
 
399
  .fa-chevron-left:before {
400
- content: "\f053"; }
401
 
402
  .fa-chevron-right:before {
403
- content: "\f054"; }
404
 
405
  .fa-plus-circle:before {
406
- content: "\f055"; }
407
 
408
  .fa-minus-circle:before {
409
- content: "\f056"; }
410
 
411
  .fa-times-circle:before {
412
- content: "\f057"; }
413
 
414
  .fa-check-circle:before {
415
- content: "\f058"; }
416
 
417
  .fa-question-circle:before {
418
- content: "\f059"; }
419
 
420
  .fa-info-circle:before {
421
- content: "\f05a"; }
422
 
423
  .fa-crosshairs:before {
424
- content: "\f05b"; }
425
 
426
  .fa-times-circle-o:before {
427
- content: "\f05c"; }
428
 
429
  .fa-check-circle-o:before {
430
- content: "\f05d"; }
431
 
432
  .fa-ban:before {
433
- content: "\f05e"; }
434
 
435
  .fa-arrow-left:before {
436
- content: "\f060"; }
437
 
438
  .fa-arrow-right:before {
439
- content: "\f061"; }
440
 
441
  .fa-arrow-up:before {
442
- content: "\f062"; }
443
 
444
  .fa-arrow-down:before {
445
- content: "\f063"; }
446
 
447
  .fa-mail-forward:before,
448
  .fa-share:before {
449
- content: "\f064"; }
450
 
451
  .fa-expand:before {
452
- content: "\f065"; }
453
 
454
  .fa-compress:before {
455
- content: "\f066"; }
456
 
457
  .fa-plus:before {
458
- content: "\f067"; }
459
 
460
  .fa-minus:before {
461
- content: "\f068"; }
462
 
463
  .fa-asterisk:before {
464
- content: "\f069"; }
465
 
466
  .fa-exclamation-circle:before {
467
- content: "\f06a"; }
468
 
469
  .fa-gift:before {
470
- content: "\f06b"; }
471
 
472
  .fa-leaf:before {
473
- content: "\f06c"; }
474
 
475
  .fa-fire:before {
476
- content: "\f06d"; }
477
 
478
  .fa-eye:before {
479
- content: "\f06e"; }
480
 
481
  .fa-eye-slash:before {
482
- content: "\f070"; }
483
 
484
  .fa-warning:before,
485
  .fa-exclamation-triangle:before {
486
- content: "\f071"; }
487
 
488
  .fa-plane:before {
489
- content: "\f072"; }
490
 
491
  .fa-calendar:before {
492
- content: "\f073"; }
493
 
494
  .fa-random:before {
495
- content: "\f074"; }
496
 
497
  .fa-comment:before {
498
- content: "\f075"; }
499
 
500
  .fa-magnet:before {
501
- content: "\f076"; }
502
 
503
  .fa-chevron-up:before {
504
- content: "\f077"; }
505
 
506
  .fa-chevron-down:before {
507
- content: "\f078"; }
508
 
509
  .fa-retweet:before {
510
- content: "\f079"; }
511
 
512
  .fa-shopping-cart:before {
513
- content: "\f07a"; }
514
 
515
  .fa-folder:before {
516
- content: "\f07b"; }
517
 
518
  .fa-folder-open:before {
519
- content: "\f07c"; }
520
 
521
  .fa-arrows-v:before {
522
- content: "\f07d"; }
523
 
524
  .fa-arrows-h:before {
525
- content: "\f07e"; }
526
 
527
  .fa-bar-chart-o:before,
528
  .fa-bar-chart:before {
529
- content: "\f080"; }
530
 
531
  .fa-twitter-square:before {
532
- content: "\f081"; }
533
 
534
  .fa-facebook-square:before {
535
- content: "\f082"; }
536
 
537
  .fa-camera-retro:before {
538
- content: "\f083"; }
539
 
540
  .fa-key:before {
541
- content: "\f084"; }
542
 
543
  .fa-gears:before,
544
  .fa-cogs:before {
545
- content: "\f085"; }
546
 
547
  .fa-comments:before {
548
- content: "\f086"; }
549
 
550
  .fa-thumbs-o-up:before {
551
- content: "\f087"; }
552
 
553
  .fa-thumbs-o-down:before {
554
- content: "\f088"; }
555
 
556
  .fa-star-half:before {
557
- content: "\f089"; }
558
 
559
  .fa-heart-o:before {
560
- content: "\f08a"; }
561
 
562
  .fa-sign-out:before {
563
- content: "\f08b"; }
564
 
565
  .fa-linkedin-square:before {
566
- content: "\f08c"; }
567
 
568
  .fa-thumb-tack:before {
569
- content: "\f08d"; }
570
 
571
  .fa-external-link:before {
572
- content: "\f08e"; }
573
 
574
  .fa-sign-in:before {
575
- content: "\f090"; }
576
 
577
  .fa-trophy:before {
578
- content: "\f091"; }
579
 
580
  .fa-github-square:before {
581
- content: "\f092"; }
582
 
583
  .fa-upload:before {
584
- content: "\f093"; }
585
 
586
  .fa-lemon-o:before {
587
- content: "\f094"; }
588
 
589
  .fa-phone:before {
590
- content: "\f095"; }
591
 
592
  .fa-square-o:before {
593
- content: "\f096"; }
594
 
595
  .fa-bookmark-o:before {
596
- content: "\f097"; }
597
 
598
  .fa-phone-square:before {
599
- content: "\f098"; }
600
 
601
  .fa-twitter:before {
602
- content: "\f099"; }
603
 
604
  .fa-facebook:before {
605
- content: "\f09a"; }
606
 
607
  .fa-github:before {
608
- content: "\f09b"; }
609
 
610
  .fa-unlock:before {
611
- content: "\f09c"; }
612
 
613
  .fa-credit-card:before {
614
- content: "\f09d"; }
615
 
616
  .fa-rss:before {
617
- content: "\f09e"; }
618
 
619
  .fa-hdd-o:before {
620
- content: "\f0a0"; }
621
 
622
  .fa-bullhorn:before {
623
- content: "\f0a1"; }
624
 
625
  .fa-bell:before {
626
- content: "\f0f3"; }
627
 
628
  .fa-certificate:before {
629
- content: "\f0a3"; }
630
 
631
  .fa-hand-o-right:before {
632
- content: "\f0a4"; }
633
 
634
  .fa-hand-o-left:before {
635
- content: "\f0a5"; }
636
 
637
  .fa-hand-o-up:before {
638
- content: "\f0a6"; }
639
 
640
  .fa-hand-o-down:before {
641
- content: "\f0a7"; }
642
 
643
  .fa-arrow-circle-left:before {
644
- content: "\f0a8"; }
645
 
646
  .fa-arrow-circle-right:before {
647
- content: "\f0a9"; }
648
 
649
  .fa-arrow-circle-up:before {
650
- content: "\f0aa"; }
651
 
652
  .fa-arrow-circle-down:before {
653
- content: "\f0ab"; }
654
 
655
  .fa-globe:before {
656
- content: "\f0ac"; }
657
 
658
  .fa-wrench:before {
659
- content: "\f0ad"; }
660
 
661
  .fa-tasks:before {
662
- content: "\f0ae"; }
663
 
664
  .fa-filter:before {
665
- content: "\f0b0"; }
666
 
667
  .fa-briefcase:before {
668
- content: "\f0b1"; }
669
 
670
  .fa-arrows-alt:before {
671
- content: "\f0b2"; }
672
 
673
  .fa-group:before,
674
  .fa-users:before {
675
- content: "\f0c0"; }
676
 
677
  .fa-chain:before,
678
  .fa-link:before {
679
- content: "\f0c1"; }
680
 
681
  .fa-cloud:before {
682
- content: "\f0c2"; }
683
 
684
  .fa-flask:before {
685
- content: "\f0c3"; }
686
 
687
  .fa-cut:before,
688
  .fa-scissors:before {
689
- content: "\f0c4"; }
690
 
691
  .fa-copy:before,
692
  .fa-files-o:before {
693
- content: "\f0c5"; }
694
 
695
  .fa-paperclip:before {
696
- content: "\f0c6"; }
697
 
698
  .fa-save:before,
699
  .fa-floppy-o:before {
700
- content: "\f0c7"; }
701
 
702
  .fa-square:before {
703
- content: "\f0c8"; }
704
 
705
  .fa-navicon:before,
706
  .fa-reorder:before,
707
  .fa-bars:before {
708
- content: "\f0c9"; }
709
 
710
  .fa-list-ul:before {
711
- content: "\f0ca"; }
712
 
713
  .fa-list-ol:before {
714
- content: "\f0cb"; }
715
 
716
  .fa-strikethrough:before {
717
- content: "\f0cc"; }
718
 
719
  .fa-underline:before {
720
- content: "\f0cd"; }
721
 
722
  .fa-table:before {
723
- content: "\f0ce"; }
724
 
725
  .fa-magic:before {
726
- content: "\f0d0"; }
727
 
728
  .fa-truck:before {
729
- content: "\f0d1"; }
730
 
731
  .fa-pinterest:before {
732
- content: "\f0d2"; }
733
 
734
  .fa-pinterest-square:before {
735
- content: "\f0d3"; }
736
 
737
  .fa-google-plus-square:before {
738
- content: "\f0d4"; }
739
 
740
  .fa-google-plus:before {
741
- content: "\f0d5"; }
742
 
743
  .fa-money:before {
744
- content: "\f0d6"; }
745
 
746
  .fa-caret-down:before {
747
- content: "\f0d7"; }
748
 
749
  .fa-caret-up:before {
750
- content: "\f0d8"; }
751
 
752
  .fa-caret-left:before {
753
- content: "\f0d9"; }
754
 
755
  .fa-caret-right:before {
756
- content: "\f0da"; }
757
 
758
  .fa-columns:before {
759
- content: "\f0db"; }
760
 
761
  .fa-unsorted:before,
762
  .fa-sort:before {
763
- content: "\f0dc"; }
764
 
765
  .fa-sort-down:before,
766
  .fa-sort-desc:before {
767
- content: "\f0dd"; }
768
 
769
  .fa-sort-up:before,
770
  .fa-sort-asc:before {
771
- content: "\f0de"; }
772
 
773
  .fa-envelope:before {
774
- content: "\f0e0"; }
775
 
776
  .fa-linkedin:before {
777
- content: "\f0e1"; }
778
 
779
  .fa-rotate-left:before,
780
  .fa-undo:before {
781
- content: "\f0e2"; }
782
 
783
  .fa-legal:before,
784
  .fa-gavel:before {
785
- content: "\f0e3"; }
786
 
787
  .fa-dashboard:before,
788
  .fa-tachometer:before {
789
- content: "\f0e4"; }
790
 
791
  .fa-comment-o:before {
792
- content: "\f0e5"; }
793
 
794
  .fa-comments-o:before {
795
- content: "\f0e6"; }
796
 
797
  .fa-flash:before,
798
  .fa-bolt:before {
799
- content: "\f0e7"; }
800
 
801
  .fa-sitemap:before {
802
- content: "\f0e8"; }
803
 
804
  .fa-umbrella:before {
805
- content: "\f0e9"; }
806
 
807
  .fa-paste:before,
808
  .fa-clipboard:before {
809
- content: "\f0ea"; }
810
 
811
  .fa-lightbulb-o:before {
812
- content: "\f0eb"; }
813
 
814
  .fa-exchange:before {
815
- content: "\f0ec"; }
816
 
817
  .fa-cloud-download:before {
818
- content: "\f0ed"; }
819
 
820
  .fa-cloud-upload:before {
821
- content: "\f0ee"; }
822
 
823
  .fa-user-md:before {
824
- content: "\f0f0"; }
825
 
826
  .fa-stethoscope:before {
827
- content: "\f0f1"; }
828
 
829
  .fa-suitcase:before {
830
- content: "\f0f2"; }
831
 
832
  .fa-bell-o:before {
833
- content: "\f0a2"; }
834
 
835
  .fa-coffee:before {
836
- content: "\f0f4"; }
837
 
838
  .fa-cutlery:before {
839
- content: "\f0f5"; }
840
 
841
  .fa-file-text-o:before {
842
- content: "\f0f6"; }
843
 
844
  .fa-building-o:before {
845
- content: "\f0f7"; }
846
 
847
  .fa-hospital-o:before {
848
- content: "\f0f8"; }
849
 
850
  .fa-ambulance:before {
851
- content: "\f0f9"; }
852
 
853
  .fa-medkit:before {
854
- content: "\f0fa"; }
855
 
856
  .fa-fighter-jet:before {
857
- content: "\f0fb"; }
858
 
859
  .fa-beer:before {
860
- content: "\f0fc"; }
861
 
862
  .fa-h-square:before {
863
- content: "\f0fd"; }
864
 
865
  .fa-plus-square:before {
866
- content: "\f0fe"; }
867
 
868
  .fa-angle-double-left:before {
869
- content: "\f100"; }
870
 
871
  .fa-angle-double-right:before {
872
- content: "\f101"; }
873
 
874
  .fa-angle-double-up:before {
875
- content: "\f102"; }
876
 
877
  .fa-angle-double-down:before {
878
- content: "\f103"; }
879
 
880
  .fa-angle-left:before {
881
- content: "\f104"; }
882
 
883
  .fa-angle-right:before {
884
- content: "\f105"; }
885
 
886
  .fa-angle-up:before {
887
- content: "\f106"; }
888
 
889
  .fa-angle-down:before {
890
- content: "\f107"; }
891
 
892
  .fa-desktop:before {
893
- content: "\f108"; }
894
 
895
  .fa-laptop:before {
896
- content: "\f109"; }
897
 
898
  .fa-tablet:before {
899
- content: "\f10a"; }
900
 
901
  .fa-mobile-phone:before,
902
  .fa-mobile:before {
903
- content: "\f10b"; }
904
 
905
  .fa-circle-o:before {
906
- content: "\f10c"; }
907
 
908
  .fa-quote-left:before {
909
- content: "\f10d"; }
910
 
911
  .fa-quote-right:before {
912
- content: "\f10e"; }
913
 
914
  .fa-spinner:before {
915
- content: "\f110"; }
916
 
917
  .fa-circle:before {
918
- content: "\f111"; }
919
 
920
  .fa-mail-reply:before,
921
  .fa-reply:before {
922
- content: "\f112"; }
923
 
924
  .fa-github-alt:before {
925
- content: "\f113"; }
926
 
927
  .fa-folder-o:before {
928
- content: "\f114"; }
929
 
930
  .fa-folder-open-o:before {
931
- content: "\f115"; }
932
 
933
  .fa-smile-o:before {
934
- content: "\f118"; }
935
 
936
  .fa-frown-o:before {
937
- content: "\f119"; }
938
 
939
  .fa-meh-o:before {
940
- content: "\f11a"; }
941
 
942
  .fa-gamepad:before {
943
- content: "\f11b"; }
944
 
945
  .fa-keyboard-o:before {
946
- content: "\f11c"; }
947
 
948
  .fa-flag-o:before {
949
- content: "\f11d"; }
950
 
951
  .fa-flag-checkered:before {
952
- content: "\f11e"; }
953
 
954
  .fa-terminal:before {
955
- content: "\f120"; }
956
 
957
  .fa-code:before {
958
- content: "\f121"; }
959
 
960
  .fa-mail-reply-all:before,
961
  .fa-reply-all:before {
962
- content: "\f122"; }
963
 
964
  .fa-star-half-empty:before,
965
  .fa-star-half-full:before,
966
  .fa-star-half-o:before {
967
- content: "\f123"; }
968
 
969
  .fa-location-arrow:before {
970
- content: "\f124"; }
971
 
972
  .fa-crop:before {
973
- content: "\f125"; }
974
 
975
  .fa-code-fork:before {
976
- content: "\f126"; }
977
 
978
  .fa-unlink:before,
979
  .fa-chain-broken:before {
980
- content: "\f127"; }
981
 
982
  .fa-question:before {
983
- content: "\f128"; }
984
 
985
  .fa-info:before {
986
- content: "\f129"; }
987
 
988
  .fa-exclamation:before {
989
- content: "\f12a"; }
990
 
991
  .fa-superscript:before {
992
- content: "\f12b"; }
993
 
994
  .fa-subscript:before {
995
- content: "\f12c"; }
996
 
997
  .fa-eraser:before {
998
- content: "\f12d"; }
999
 
1000
  .fa-puzzle-piece:before {
1001
- content: "\f12e"; }
1002
 
1003
  .fa-microphone:before {
1004
- content: "\f130"; }
1005
 
1006
  .fa-microphone-slash:before {
1007
- content: "\f131"; }
1008
 
1009
  .fa-shield:before {
1010
- content: "\f132"; }
1011
 
1012
  .fa-calendar-o:before {
1013
- content: "\f133"; }
1014
 
1015
  .fa-fire-extinguisher:before {
1016
- content: "\f134"; }
1017
 
1018
  .fa-rocket:before {
1019
- content: "\f135"; }
1020
 
1021
  .fa-maxcdn:before {
1022
- content: "\f136"; }
1023
 
1024
  .fa-chevron-circle-left:before {
1025
- content: "\f137"; }
1026
 
1027
  .fa-chevron-circle-right:before {
1028
- content: "\f138"; }
1029
 
1030
  .fa-chevron-circle-up:before {
1031
- content: "\f139"; }
1032
 
1033
  .fa-chevron-circle-down:before {
1034
- content: "\f13a"; }
1035
 
1036
  .fa-html5:before {
1037
- content: "\f13b"; }
1038
 
1039
  .fa-css3:before {
1040
- content: "\f13c"; }
1041
 
1042
  .fa-anchor:before {
1043
- content: "\f13d"; }
1044
 
1045
  .fa-unlock-alt:before {
1046
- content: "\f13e"; }
1047
 
1048
  .fa-bullseye:before {
1049
- content: "\f140"; }
1050
 
1051
  .fa-ellipsis-h:before {
1052
- content: "\f141"; }
1053
 
1054
  .fa-ellipsis-v:before {
1055
- content: "\f142"; }
1056
 
1057
  .fa-rss-square:before {
1058
- content: "\f143"; }
1059
 
1060
  .fa-play-circle:before {
1061
- content: "\f144"; }
1062
 
1063
  .fa-ticket:before {
1064
- content: "\f145"; }
1065
 
1066
  .fa-minus-square:before {
1067
- content: "\f146"; }
1068
 
1069
  .fa-minus-square-o:before {
1070
- content: "\f147"; }
1071
 
1072
  .fa-level-up:before {
1073
- content: "\f148"; }
1074
 
1075
  .fa-level-down:before {
1076
- content: "\f149"; }
1077
 
1078
  .fa-check-square:before {
1079
- content: "\f14a"; }
1080
 
1081
  .fa-pencil-square:before {
1082
- content: "\f14b"; }
1083
 
1084
  .fa-external-link-square:before {
1085
- content: "\f14c"; }
1086
 
1087
  .fa-share-square:before {
1088
- content: "\f14d"; }
1089
 
1090
  .fa-compass:before {
1091
- content: "\f14e"; }
1092
 
1093
  .fa-toggle-down:before,
1094
  .fa-caret-square-o-down:before {
1095
- content: "\f150"; }
1096
 
1097
  .fa-toggle-up:before,
1098
  .fa-caret-square-o-up:before {
1099
- content: "\f151"; }
1100
 
1101
  .fa-toggle-right:before,
1102
  .fa-caret-square-o-right:before {
1103
- content: "\f152"; }
1104
 
1105
  .fa-euro:before,
1106
  .fa-eur:before {
1107
- content: "\f153"; }
1108
 
1109
  .fa-gbp:before {
1110
- content: "\f154"; }
1111
 
1112
  .fa-dollar:before,
1113
  .fa-usd:before {
1114
- content: "\f155"; }
1115
 
1116
  .fa-rupee:before,
1117
  .fa-inr:before {
1118
- content: "\f156"; }
1119
 
1120
  .fa-cny:before,
1121
  .fa-rmb:before,
1122
  .fa-yen:before,
1123
  .fa-jpy:before {
1124
- content: "\f157"; }
1125
 
1126
  .fa-ruble:before,
1127
  .fa-rouble:before,
1128
  .fa-rub:before {
1129
- content: "\f158"; }
1130
 
1131
  .fa-won:before,
1132
  .fa-krw:before {
1133
- content: "\f159"; }
1134
 
1135
  .fa-bitcoin:before,
1136
  .fa-btc:before {
1137
- content: "\f15a"; }
1138
 
1139
  .fa-file:before {
1140
- content: "\f15b"; }
1141
 
1142
  .fa-file-text:before {
1143
- content: "\f15c"; }
1144
 
1145
  .fa-sort-alpha-asc:before {
1146
- content: "\f15d"; }
1147
 
1148
  .fa-sort-alpha-desc:before {
1149
- content: "\f15e"; }
1150
 
1151
  .fa-sort-amount-asc:before {
1152
- content: "\f160"; }
1153
 
1154
  .fa-sort-amount-desc:before {
1155
- content: "\f161"; }
1156
 
1157
  .fa-sort-numeric-asc:before {
1158
- content: "\f162"; }
1159
 
1160
  .fa-sort-numeric-desc:before {
1161
- content: "\f163"; }
1162
 
1163
  .fa-thumbs-up:before {
1164
- content: "\f164"; }
1165
 
1166
  .fa-thumbs-down:before {
1167
- content: "\f165"; }
1168
 
1169
  .fa-youtube-square:before {
1170
- content: "\f166"; }
1171
 
1172
  .fa-youtube:before {
1173
- content: "\f167"; }
1174
 
1175
  .fa-xing:before {
1176
- content: "\f168"; }
1177
 
1178
  .fa-xing-square:before {
1179
- content: "\f169"; }
1180
 
1181
  .fa-youtube-play:before {
1182
- content: "\f16a"; }
1183
 
1184
  .fa-dropbox:before {
1185
- content: "\f16b"; }
1186
 
1187
  .fa-stack-overflow:before {
1188
- content: "\f16c"; }
1189
 
1190
  .fa-instagram:before {
1191
- content: "\f16d"; }
1192
 
1193
  .fa-flickr:before {
1194
- content: "\f16e"; }
1195
 
1196
  .fa-adn:before {
1197
- content: "\f170"; }
1198
 
1199
  .fa-bitbucket:before {
1200
- content: "\f171"; }
1201
 
1202
  .fa-bitbucket-square:before {
1203
- content: "\f172"; }
1204
 
1205
  .fa-tumblr:before {
1206
- content: "\f173"; }
1207
 
1208
  .fa-tumblr-square:before {
1209
- content: "\f174"; }
1210
 
1211
  .fa-long-arrow-down:before {
1212
- content: "\f175"; }
1213
 
1214
  .fa-long-arrow-up:before {
1215
- content: "\f176"; }
1216
 
1217
  .fa-long-arrow-left:before {
1218
- content: "\f177"; }
1219
 
1220
  .fa-long-arrow-right:before {
1221
- content: "\f178"; }
1222
 
1223
  .fa-apple:before {
1224
- content: "\f179"; }
1225
 
1226
  .fa-windows:before {
1227
- content: "\f17a"; }
1228
 
1229
  .fa-android:before {
1230
- content: "\f17b"; }
1231
 
1232
  .fa-linux:before {
1233
- content: "\f17c"; }
1234
 
1235
  .fa-dribbble:before {
1236
- content: "\f17d"; }
1237
 
1238
  .fa-skype:before {
1239
- content: "\f17e"; }
1240
 
1241
  .fa-foursquare:before {
1242
- content: "\f180"; }
1243
 
1244
  .fa-trello:before {
1245
- content: "\f181"; }
1246
 
1247
  .fa-female:before {
1248
- content: "\f182"; }
1249
 
1250
  .fa-male:before {
1251
- content: "\f183"; }
1252
 
1253
  .fa-gittip:before {
1254
- content: "\f184"; }
1255
 
1256
  .fa-sun-o:before {
1257
- content: "\f185"; }
1258
 
1259
  .fa-moon-o:before {
1260
- content: "\f186"; }
1261
 
1262
  .fa-archive:before {
1263
- content: "\f187"; }
1264
 
1265
  .fa-bug:before {
1266
- content: "\f188"; }
1267
 
1268
  .fa-vk:before {
1269
- content: "\f189"; }
1270
 
1271
  .fa-weibo:before {
1272
- content: "\f18a"; }
1273
 
1274
  .fa-renren:before {
1275
- content: "\f18b"; }
1276
 
1277
  .fa-pagelines:before {
1278
- content: "\f18c"; }
1279
 
1280
  .fa-stack-exchange:before {
1281
- content: "\f18d"; }
1282
 
1283
  .fa-arrow-circle-o-right:before {
1284
- content: "\f18e"; }
1285
 
1286
  .fa-arrow-circle-o-left:before {
1287
- content: "\f190"; }
1288
 
1289
  .fa-toggle-left:before,
1290
  .fa-caret-square-o-left:before {
1291
- content: "\f191"; }
1292
 
1293
  .fa-dot-circle-o:before {
1294
- content: "\f192"; }
1295
 
1296
  .fa-wheelchair:before {
1297
- content: "\f193"; }
1298
 
1299
  .fa-vimeo-square:before {
1300
- content: "\f194"; }
1301
 
1302
  .fa-turkish-lira:before,
1303
  .fa-try:before {
1304
- content: "\f195"; }
1305
 
1306
  .fa-plus-square-o:before {
1307
- content: "\f196"; }
1308
 
1309
  .fa-space-shuttle:before {
1310
- content: "\f197"; }
1311
 
1312
  .fa-slack:before {
1313
- content: "\f198"; }
1314
 
1315
  .fa-envelope-square:before {
1316
- content: "\f199"; }
1317
 
1318
  .fa-wordpress:before {
1319
- content: "\f19a"; }
1320
 
1321
  .fa-openid:before {
1322
- content: "\f19b"; }
1323
 
1324
  .fa-institution:before,
1325
  .fa-bank:before,
1326
  .fa-university:before {
1327
- content: "\f19c"; }
1328
 
1329
  .fa-mortar-board:before,
1330
  .fa-graduation-cap:before {
1331
- content: "\f19d"; }
1332
 
1333
  .fa-yahoo:before {
1334
- content: "\f19e"; }
1335
 
1336
  .fa-google:before {
1337
- content: "\f1a0"; }
1338
 
1339
  .fa-reddit:before {
1340
- content: "\f1a1"; }
1341
 
1342
  .fa-reddit-square:before {
1343
- content: "\f1a2"; }
1344
 
1345
  .fa-stumbleupon-circle:before {
1346
- content: "\f1a3"; }
1347
 
1348
  .fa-stumbleupon:before {
1349
- content: "\f1a4"; }
1350
 
1351
  .fa-delicious:before {
1352
- content: "\f1a5"; }
1353
 
1354
  .fa-digg:before {
1355
- content: "\f1a6"; }
1356
 
1357
  .fa-pied-piper:before {
1358
- content: "\f1a7"; }
1359
 
1360
  .fa-pied-piper-alt:before {
1361
- content: "\f1a8"; }
1362
 
1363
  .fa-drupal:before {
1364
- content: "\f1a9"; }
1365
 
1366
  .fa-joomla:before {
1367
- content: "\f1aa"; }
1368
 
1369
  .fa-language:before {
1370
- content: "\f1ab"; }
1371
 
1372
  .fa-fax:before {
1373
- content: "\f1ac"; }
1374
 
1375
  .fa-building:before {
1376
- content: "\f1ad"; }
1377
 
1378
  .fa-child:before {
1379
- content: "\f1ae"; }
1380
 
1381
  .fa-paw:before {
1382
- content: "\f1b0"; }
1383
 
1384
  .fa-spoon:before {
1385
- content: "\f1b1"; }
1386
 
1387
  .fa-cube:before {
1388
- content: "\f1b2"; }
1389
 
1390
  .fa-cubes:before {
1391
- content: "\f1b3"; }
1392
 
1393
  .fa-behance:before {
1394
- content: "\f1b4"; }
1395
 
1396
  .fa-behance-square:before {
1397
- content: "\f1b5"; }
1398
 
1399
  .fa-steam:before {
1400
- content: "\f1b6"; }
1401
 
1402
  .fa-steam-square:before {
1403
- content: "\f1b7"; }
1404
 
1405
  .fa-recycle:before {
1406
- content: "\f1b8"; }
1407
 
1408
  .fa-automobile:before,
1409
  .fa-car:before {
1410
- content: "\f1b9"; }
1411
 
1412
  .fa-cab:before,
1413
  .fa-taxi:before {
1414
- content: "\f1ba"; }
1415
 
1416
  .fa-tree:before {
1417
- content: "\f1bb"; }
1418
 
1419
  .fa-spotify:before {
1420
- content: "\f1bc"; }
1421
 
1422
  .fa-deviantart:before {
1423
- content: "\f1bd"; }
1424
 
1425
  .fa-soundcloud:before {
1426
- content: "\f1be"; }
1427
 
1428
  .fa-database:before {
1429
- content: "\f1c0"; }
1430
 
1431
  .fa-file-pdf-o:before {
1432
- content: "\f1c1"; }
1433
 
1434
  .fa-file-word-o:before {
1435
- content: "\f1c2"; }
1436
 
1437
  .fa-file-excel-o:before {
1438
- content: "\f1c3"; }
1439
 
1440
  .fa-file-powerpoint-o:before {
1441
- content: "\f1c4"; }
1442
 
1443
  .fa-file-photo-o:before,
1444
  .fa-file-picture-o:before,
1445
  .fa-file-image-o:before {
1446
- content: "\f1c5"; }
1447
 
1448
  .fa-file-zip-o:before,
1449
  .fa-file-archive-o:before {
1450
- content: "\f1c6"; }
1451
 
1452
  .fa-file-sound-o:before,
1453
  .fa-file-audio-o:before {
1454
- content: "\f1c7"; }
1455
 
1456
  .fa-file-movie-o:before,
1457
  .fa-file-video-o:before {
1458
- content: "\f1c8"; }
1459
 
1460
  .fa-file-code-o:before {
1461
- content: "\f1c9"; }
1462
 
1463
  .fa-vine:before {
1464
- content: "\f1ca"; }
1465
 
1466
  .fa-codepen:before {
1467
- content: "\f1cb"; }
1468
 
1469
  .fa-jsfiddle:before {
1470
- content: "\f1cc"; }
1471
 
1472
  .fa-life-bouy:before,
1473
  .fa-life-buoy:before,
1474
  .fa-life-saver:before,
1475
  .fa-support:before,
1476
  .fa-life-ring:before {
1477
- content: "\f1cd"; }
1478
 
1479
  .fa-circle-o-notch:before {
1480
- content: "\f1ce"; }
1481
 
1482
  .fa-ra:before,
1483
  .fa-rebel:before {
1484
- content: "\f1d0"; }
1485
 
1486
  .fa-ge:before,
1487
  .fa-empire:before {
1488
- content: "\f1d1"; }
1489
 
1490
  .fa-git-square:before {
1491
- content: "\f1d2"; }
1492
 
1493
  .fa-git:before {
1494
- content: "\f1d3"; }
1495
 
1496
  .fa-hacker-news:before {
1497
- content: "\f1d4"; }
1498
 
1499
  .fa-tencent-weibo:before {
1500
- content: "\f1d5"; }
1501
 
1502
  .fa-qq:before {
1503
- content: "\f1d6"; }
1504
 
1505
  .fa-wechat:before,
1506
  .fa-weixin:before {
1507
- content: "\f1d7"; }
1508
 
1509
  .fa-send:before,
1510
  .fa-paper-plane:before {
1511
- content: "\f1d8"; }
1512
 
1513
  .fa-send-o:before,
1514
  .fa-paper-plane-o:before {
1515
- content: "\f1d9"; }
1516
 
1517
  .fa-history:before {
1518
- content: "\f1da"; }
1519
 
1520
  .fa-circle-thin:before {
1521
- content: "\f1db"; }
1522
 
1523
  .fa-header:before {
1524
- content: "\f1dc"; }
1525
 
1526
  .fa-paragraph:before {
1527
- content: "\f1dd"; }
1528
 
1529
  .fa-sliders:before {
1530
- content: "\f1de"; }
1531
 
1532
  .fa-share-alt:before {
1533
- content: "\f1e0"; }
1534
 
1535
  .fa-share-alt-square:before {
1536
- content: "\f1e1"; }
1537
 
1538
  .fa-bomb:before {
1539
- content: "\f1e2"; }
1540
 
1541
  .fa-soccer-ball-o:before,
1542
  .fa-futbol-o:before {
1543
- content: "\f1e3"; }
1544
 
1545
  .fa-tty:before {
1546
- content: "\f1e4"; }
1547
 
1548
  .fa-binoculars:before {
1549
- content: "\f1e5"; }
1550
 
1551
  .fa-plug:before {
1552
- content: "\f1e6"; }
1553
 
1554
  .fa-slideshare:before {
1555
- content: "\f1e7"; }
1556
 
1557
  .fa-twitch:before {
1558
- content: "\f1e8"; }
1559
 
1560
  .fa-yelp:before {
1561
- content: "\f1e9"; }
1562
 
1563
  .fa-newspaper-o:before {
1564
- content: "\f1ea"; }
1565
 
1566
  .fa-wifi:before {
1567
- content: "\f1eb"; }
1568
 
1569
  .fa-calculator:before {
1570
- content: "\f1ec"; }
1571
 
1572
  .fa-paypal:before {
1573
- content: "\f1ed"; }
1574
 
1575
  .fa-google-wallet:before {
1576
- content: "\f1ee"; }
1577
 
1578
  .fa-cc-visa:before {
1579
- content: "\f1f0"; }
1580
 
1581
  .fa-cc-mastercard:before {
1582
- content: "\f1f1"; }
1583
 
1584
  .fa-cc-discover:before {
1585
- content: "\f1f2"; }
1586
 
1587
  .fa-cc-amex:before {
1588
- content: "\f1f3"; }
1589
 
1590
  .fa-cc-paypal:before {
1591
- content: "\f1f4"; }
1592
 
1593
  .fa-cc-stripe:before {
1594
- content: "\f1f5"; }
1595
 
1596
  .fa-bell-slash:before {
1597
- content: "\f1f6"; }
1598
 
1599
  .fa-bell-slash-o:before {
1600
- content: "\f1f7"; }
1601
 
1602
  .fa-trash:before {
1603
- content: "\f1f8"; }
1604
 
1605
  .fa-copyright:before {
1606
- content: "\f1f9"; }
1607
 
1608
  .fa-at:before {
1609
- content: "\f1fa"; }
1610
 
1611
  .fa-eyedropper:before {
1612
- content: "\f1fb"; }
1613
 
1614
  .fa-paint-brush:before {
1615
- content: "\f1fc"; }
1616
 
1617
  .fa-birthday-cake:before {
1618
- content: "\f1fd"; }
1619
 
1620
  .fa-area-chart:before {
1621
- content: "\f1fe"; }
1622
 
1623
  .fa-pie-chart:before {
1624
- content: "\f200"; }
1625
 
1626
  .fa-line-chart:before {
1627
- content: "\f201"; }
1628
 
1629
  .fa-lastfm:before {
1630
- content: "\f202"; }
1631
 
1632
  .fa-lastfm-square:before {
1633
- content: "\f203"; }
1634
 
1635
  .fa-toggle-off:before {
1636
- content: "\f204"; }
1637
 
1638
  .fa-toggle-on:before {
1639
- content: "\f205"; }
1640
 
1641
  .fa-bicycle:before {
1642
- content: "\f206"; }
1643
 
1644
  .fa-bus:before {
1645
- content: "\f207"; }
1646
 
1647
  .fa-ioxhost:before {
1648
- content: "\f208"; }
1649
 
1650
  .fa-angellist:before {
1651
- content: "\f209"; }
1652
 
1653
  .fa-cc:before {
1654
- content: "\f20a"; }
1655
 
1656
  .fa-shekel:before,
1657
  .fa-sheqel:before,
1658
  .fa-ils:before {
1659
- content: "\f20b"; }
1660
 
1661
  .fa-meanpath:before {
1662
- content: "\f20c"; }
1663
 
1664
  /**
1665
  * CMB Styling
@@ -1918,7 +1917,7 @@ div.time-picker li.selected {
1918
 
1919
  .cmb_element .ui-widget-content {
1920
  border: 1px solid #aaaaaa;
1921
- background: white url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
1922
  color: #222222; }
1923
 
1924
  .cmb_element .ui-widget-content a {
@@ -1955,7 +1954,7 @@ div.time-picker li.selected {
1955
 
1956
  .cmb_element .ui-state-active, .cmb_element .ui-widget-content .ui-state-active, .cmb_element .ui-widget-header .ui-state-active {
1957
  border: 1px solid #aaaaaa;
1958
- background: white url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
1959
  font-weight: normal;
1960
  color: #212121; }
1961
 
@@ -3331,7 +3330,7 @@ div.time-picker li.selected {
3331
  outline: none;
3332
  background: none;
3333
  margin-right: 20px;
3334
- background: linear-gradient(to right, #0083bd, #0083bd 100%, transparent 100%) top left no-repeat;
3335
  background-size: 100% 100%;
3336
  padding-left: 0;
3337
  padding-right: 0;
@@ -3489,3 +3488,7 @@ body .mce-toolbar.mce-last .mce-container.mce-first .mce-menubtn.mce-first .mce-
3489
 
3490
  .tooltipster-icon {
3491
  color: #AAA; }
 
 
 
 
1
+ @charset "UTF-8";
2
  /*!
3
  * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome
4
  * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License)
59
 
60
  .fa-border {
61
  padding: .2em .25em .15em;
62
+ border: solid 0.08em #eee;
63
  border-radius: .1em; }
64
 
65
  .pull-right {
81
  0% {
82
  -webkit-transform: rotate(0deg);
83
  transform: rotate(0deg); }
 
84
  100% {
85
  -webkit-transform: rotate(359deg);
86
  transform: rotate(359deg); } }
88
  0% {
89
  -webkit-transform: rotate(0deg);
90
  transform: rotate(0deg); }
 
91
  100% {
92
  -webkit-transform: rotate(359deg);
93
  transform: rotate(359deg); } }
149
  font-size: 2em; }
150
 
151
  .fa-inverse {
152
+ color: #fff; }
153
 
154
  /* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen
155
  readers do not read off random characters that represent icons */
156
  .fa-glass:before {
157
+ content: ""; }
158
 
159
  .fa-music:before {
160
+ content: ""; }
161
 
162
  .fa-search:before {
163
+ content: ""; }
164
 
165
  .fa-envelope-o:before {
166
+ content: ""; }
167
 
168
  .fa-heart:before {
169
+ content: ""; }
170
 
171
  .fa-star:before {
172
+ content: ""; }
173
 
174
  .fa-star-o:before {
175
+ content: ""; }
176
 
177
  .fa-user:before {
178
+ content: ""; }
179
 
180
  .fa-film:before {
181
+ content: ""; }
182
 
183
  .fa-th-large:before {
184
+ content: ""; }
185
 
186
  .fa-th:before {
187
+ content: ""; }
188
 
189
  .fa-th-list:before {
190
+ content: ""; }
191
 
192
  .fa-check:before {
193
+ content: ""; }
194
 
195
  .fa-remove:before,
196
  .fa-close:before,
197
  .fa-times:before {
198
+ content: ""; }
199
 
200
  .fa-search-plus:before {
201
+ content: ""; }
202
 
203
  .fa-search-minus:before {
204
+ content: ""; }
205
 
206
  .fa-power-off:before {
207
+ content: ""; }
208
 
209
  .fa-signal:before {
210
+ content: ""; }
211
 
212
  .fa-gear:before,
213
  .fa-cog:before {
214
+ content: ""; }
215
 
216
  .fa-trash-o:before {
217
+ content: ""; }
218
 
219
  .fa-home:before {
220
+ content: ""; }
221
 
222
  .fa-file-o:before {
223
+ content: ""; }
224
 
225
  .fa-clock-o:before {
226
+ content: ""; }
227
 
228
  .fa-road:before {
229
+ content: ""; }
230
 
231
  .fa-download:before {
232
+ content: ""; }
233
 
234
  .fa-arrow-circle-o-down:before {
235
+ content: ""; }
236
 
237
  .fa-arrow-circle-o-up:before {
238
+ content: ""; }
239
 
240
  .fa-inbox:before {
241
+ content: ""; }
242
 
243
  .fa-play-circle-o:before {
244
+ content: ""; }
245
 
246
  .fa-rotate-right:before,
247
  .fa-repeat:before {
248
+ content: ""; }
249
 
250
  .fa-refresh:before {
251
+ content: ""; }
252
 
253
  .fa-list-alt:before {
254
+ content: ""; }
255
 
256
  .fa-lock:before {
257
+ content: ""; }
258
 
259
  .fa-flag:before {
260
+ content: ""; }
261
 
262
  .fa-headphones:before {
263
+ content: ""; }
264
 
265
  .fa-volume-off:before {
266
+ content: ""; }
267
 
268
  .fa-volume-down:before {
269
+ content: ""; }
270
 
271
  .fa-volume-up:before {
272
+ content: ""; }
273
 
274
  .fa-qrcode:before {
275
+ content: ""; }
276
 
277
  .fa-barcode:before {
278
+ content: ""; }
279
 
280
  .fa-tag:before {
281
+ content: ""; }
282
 
283
  .fa-tags:before {
284
+ content: ""; }
285
 
286
  .fa-book:before {
287
+ content: ""; }
288
 
289
  .fa-bookmark:before {
290
+ content: ""; }
291
 
292
  .fa-print:before {
293
+ content: ""; }
294
 
295
  .fa-camera:before {
296
+ content: ""; }
297
 
298
  .fa-font:before {
299
+ content: ""; }
300
 
301
  .fa-bold:before {
302
+ content: ""; }
303
 
304
  .fa-italic:before {
305
+ content: ""; }
306
 
307
  .fa-text-height:before {
308
+ content: ""; }
309
 
310
  .fa-text-width:before {
311
+ content: ""; }
312
 
313
  .fa-align-left:before {
314
+ content: ""; }
315
 
316
  .fa-align-center:before {
317
+ content: ""; }
318
 
319
  .fa-align-right:before {
320
+ content: ""; }
321
 
322
  .fa-align-justify:before {
323
+ content: ""; }
324
 
325
  .fa-list:before {
326
+ content: ""; }
327
 
328
  .fa-dedent:before,
329
  .fa-outdent:before {
330
+ content: ""; }
331
 
332
  .fa-indent:before {
333
+ content: ""; }
334
 
335
  .fa-video-camera:before {
336
+ content: ""; }
337
 
338
  .fa-photo:before,
339
  .fa-image:before,
340
  .fa-picture-o:before {
341
+ content: ""; }
342
 
343
  .fa-pencil:before {
344
+ content: ""; }
345
 
346
  .fa-map-marker:before {
347
+ content: ""; }
348
 
349
  .fa-adjust:before {
350
+ content: ""; }
351
 
352
  .fa-tint:before {
353
+ content: ""; }
354
 
355
  .fa-edit:before,
356
  .fa-pencil-square-o:before {
357
+ content: ""; }
358
 
359
  .fa-share-square-o:before {
360
+ content: ""; }
361
 
362
  .fa-check-square-o:before {
363
+ content: ""; }
364
 
365
  .fa-arrows:before {
366
+ content: ""; }
367
 
368
  .fa-step-backward:before {
369
+ content: ""; }
370
 
371
  .fa-fast-backward:before {
372
+ content: ""; }
373
 
374
  .fa-backward:before {
375
+ content: ""; }
376
 
377
  .fa-play:before {
378
+ content: ""; }
379
 
380
  .fa-pause:before {
381
+ content: ""; }
382
 
383
  .fa-stop:before {
384
+ content: ""; }
385
 
386
  .fa-forward:before {
387
+ content: ""; }
388
 
389
  .fa-fast-forward:before {
390
+ content: ""; }
391
 
392
  .fa-step-forward:before {
393
+ content: ""; }
394
 
395
  .fa-eject:before {
396
+ content: ""; }
397
 
398
  .fa-chevron-left:before {
399
+ content: ""; }
400
 
401
  .fa-chevron-right:before {
402
+ content: ""; }
403
 
404
  .fa-plus-circle:before {
405
+ content: ""; }
406
 
407
  .fa-minus-circle:before {
408
+ content: ""; }
409
 
410
  .fa-times-circle:before {
411
+ content: ""; }
412
 
413
  .fa-check-circle:before {
414
+ content: ""; }
415
 
416
  .fa-question-circle:before {
417
+ content: ""; }
418
 
419
  .fa-info-circle:before {
420
+ content: ""; }
421
 
422
  .fa-crosshairs:before {
423
+ content: ""; }
424
 
425
  .fa-times-circle-o:before {
426
+ content: ""; }
427
 
428
  .fa-check-circle-o:before {
429
+ content: ""; }
430
 
431
  .fa-ban:before {
432
+ content: ""; }
433
 
434
  .fa-arrow-left:before {
435
+ content: ""; }
436
 
437
  .fa-arrow-right:before {
438
+ content: ""; }
439
 
440
  .fa-arrow-up:before {
441
+ content: ""; }
442
 
443
  .fa-arrow-down:before {
444
+ content: ""; }
445
 
446
  .fa-mail-forward:before,
447
  .fa-share:before {
448
+ content: ""; }
449
 
450
  .fa-expand:before {
451
+ content: ""; }
452
 
453
  .fa-compress:before {
454
+ content: ""; }
455
 
456
  .fa-plus:before {
457
+ content: ""; }
458
 
459
  .fa-minus:before {
460
+ content: ""; }
461
 
462
  .fa-asterisk:before {
463
+ content: ""; }
464
 
465
  .fa-exclamation-circle:before {
466
+ content: ""; }
467
 
468
  .fa-gift:before {
469
+ content: ""; }
470
 
471
  .fa-leaf:before {
472
+ content: ""; }
473
 
474
  .fa-fire:before {
475
+ content: ""; }
476
 
477
  .fa-eye:before {
478
+ content: ""; }
479
 
480
  .fa-eye-slash:before {
481
+ content: ""; }
482
 
483
  .fa-warning:before,
484
  .fa-exclamation-triangle:before {
485
+ content: ""; }
486
 
487
  .fa-plane:before {
488
+ content: ""; }
489
 
490
  .fa-calendar:before {
491
+ content: ""; }
492
 
493
  .fa-random:before {
494
+ content: ""; }
495
 
496
  .fa-comment:before {
497
+ content: ""; }
498
 
499
  .fa-magnet:before {
500
+ content: ""; }
501
 
502
  .fa-chevron-up:before {
503
+ content: ""; }
504
 
505
  .fa-chevron-down:before {
506
+ content: ""; }
507
 
508
  .fa-retweet:before {
509
+ content: ""; }
510
 
511
  .fa-shopping-cart:before {
512
+ content: ""; }
513
 
514
  .fa-folder:before {
515
+ content: ""; }
516
 
517
  .fa-folder-open:before {
518
+ content: ""; }
519
 
520
  .fa-arrows-v:before {
521
+ content: ""; }
522
 
523
  .fa-arrows-h:before {
524
+ content: ""; }
525
 
526
  .fa-bar-chart-o:before,
527
  .fa-bar-chart:before {
528
+ content: ""; }
529
 
530
  .fa-twitter-square:before {
531
+ content: ""; }
532
 
533
  .fa-facebook-square:before {
534
+ content: ""; }
535
 
536
  .fa-camera-retro:before {
537
+ content: ""; }
538
 
539
  .fa-key:before {
540
+ content: ""; }
541
 
542
  .fa-gears:before,
543
  .fa-cogs:before {
544
+ content: ""; }
545
 
546
  .fa-comments:before {
547
+ content: ""; }
548
 
549
  .fa-thumbs-o-up:before {
550
+ content: ""; }
551
 
552
  .fa-thumbs-o-down:before {
553
+ content: ""; }
554
 
555
  .fa-star-half:before {
556
+ content: ""; }
557
 
558
  .fa-heart-o:before {
559
+ content: ""; }
560
 
561
  .fa-sign-out:before {
562
+ content: ""; }
563
 
564
  .fa-linkedin-square:before {
565
+ content: ""; }
566
 
567
  .fa-thumb-tack:before {
568
+ content: ""; }
569
 
570
  .fa-external-link:before {
571
+ content: ""; }
572
 
573
  .fa-sign-in:before {
574
+ content: ""; }
575
 
576
  .fa-trophy:before {
577
+ content: ""; }
578
 
579
  .fa-github-square:before {
580
+ content: ""; }
581
 
582
  .fa-upload:before {
583
+ content: ""; }
584
 
585
  .fa-lemon-o:before {
586
+ content: ""; }
587
 
588
  .fa-phone:before {
589
+ content: ""; }
590
 
591
  .fa-square-o:before {
592
+ content: ""; }
593
 
594
  .fa-bookmark-o:before {
595
+ content: ""; }
596
 
597
  .fa-phone-square:before {
598
+ content: ""; }
599
 
600
  .fa-twitter:before {
601
+ content: ""; }
602
 
603
  .fa-facebook:before {
604
+ content: ""; }
605
 
606
  .fa-github:before {
607
+ content: ""; }
608
 
609
  .fa-unlock:before {
610
+ content: ""; }
611
 
612
  .fa-credit-card:before {
613
+ content: ""; }
614
 
615
  .fa-rss:before {
616
+ content: ""; }
617
 
618
  .fa-hdd-o:before {
619
+ content: ""; }
620
 
621
  .fa-bullhorn:before {
622
+ content: ""; }
623
 
624
  .fa-bell:before {
625
+ content: ""; }
626
 
627
  .fa-certificate:before {
628
+ content: ""; }
629
 
630
  .fa-hand-o-right:before {
631
+ content: ""; }
632
 
633
  .fa-hand-o-left:before {
634
+ content: ""; }
635
 
636
  .fa-hand-o-up:before {
637
+ content: ""; }
638
 
639
  .fa-hand-o-down:before {
640
+ content: ""; }
641
 
642
  .fa-arrow-circle-left:before {
643
+ content: ""; }
644
 
645
  .fa-arrow-circle-right:before {
646
+ content: ""; }
647
 
648
  .fa-arrow-circle-up:before {
649
+ content: ""; }
650
 
651
  .fa-arrow-circle-down:before {
652
+ content: ""; }
653
 
654
  .fa-globe:before {
655
+ content: ""; }
656
 
657
  .fa-wrench:before {
658
+ content: ""; }
659
 
660
  .fa-tasks:before {
661
+ content: ""; }
662
 
663
  .fa-filter:before {
664
+ content: ""; }
665
 
666
  .fa-briefcase:before {
667
+ content: ""; }
668
 
669
  .fa-arrows-alt:before {
670
+ content: ""; }
671
 
672
  .fa-group:before,
673
  .fa-users:before {
674
+ content: ""; }
675
 
676
  .fa-chain:before,
677
  .fa-link:before {
678
+ content: ""; }
679
 
680
  .fa-cloud:before {
681
+ content: ""; }
682
 
683
  .fa-flask:before {
684
+ content: ""; }
685
 
686
  .fa-cut:before,
687
  .fa-scissors:before {
688
+ content: ""; }
689
 
690
  .fa-copy:before,
691
  .fa-files-o:before {
692
+ content: ""; }
693
 
694
  .fa-paperclip:before {
695
+ content: ""; }
696
 
697
  .fa-save:before,
698
  .fa-floppy-o:before {
699
+ content: ""; }
700
 
701
  .fa-square:before {
702
+ content: ""; }
703
 
704
  .fa-navicon:before,
705
  .fa-reorder:before,
706
  .fa-bars:before {
707
+ content: ""; }
708
 
709
  .fa-list-ul:before {
710
+ content: ""; }
711
 
712
  .fa-list-ol:before {
713
+ content: ""; }
714
 
715
  .fa-strikethrough:before {
716
+ content: ""; }
717
 
718
  .fa-underline:before {
719
+ content: ""; }
720
 
721
  .fa-table:before {
722
+ content: ""; }
723
 
724
  .fa-magic:before {
725
+ content: ""; }
726
 
727
  .fa-truck:before {
728
+ content: ""; }
729
 
730
  .fa-pinterest:before {
731
+ content: ""; }
732
 
733
  .fa-pinterest-square:before {
734
+ content: ""; }
735
 
736
  .fa-google-plus-square:before {
737
+ content: ""; }
738
 
739
  .fa-google-plus:before {
740
+ content: ""; }
741
 
742
  .fa-money:before {
743
+ content: ""; }
744
 
745
  .fa-caret-down:before {
746
+ content: ""; }
747
 
748
  .fa-caret-up:before {
749
+ content: ""; }
750
 
751
  .fa-caret-left:before {
752
+ content: ""; }
753
 
754
  .fa-caret-right:before {
755
+ content: ""; }
756
 
757
  .fa-columns:before {
758
+ content: ""; }
759
 
760
  .fa-unsorted:before,
761
  .fa-sort:before {
762
+ content: ""; }
763
 
764
  .fa-sort-down:before,
765
  .fa-sort-desc:before {
766
+ content: ""; }
767
 
768
  .fa-sort-up:before,
769
  .fa-sort-asc:before {
770
+ content: ""; }
771
 
772
  .fa-envelope:before {
773
+ content: ""; }
774
 
775
  .fa-linkedin:before {
776
+ content: ""; }
777
 
778
  .fa-rotate-left:before,
779
  .fa-undo:before {
780
+ content: ""; }
781
 
782
  .fa-legal:before,
783
  .fa-gavel:before {
784
+ content: ""; }
785
 
786
  .fa-dashboard:before,
787
  .fa-tachometer:before {
788
+ content: ""; }
789
 
790
  .fa-comment-o:before {
791
+ content: ""; }
792
 
793
  .fa-comments-o:before {
794
+ content: ""; }
795
 
796
  .fa-flash:before,
797
  .fa-bolt:before {
798
+ content: ""; }
799
 
800
  .fa-sitemap:before {
801
+ content: ""; }
802
 
803
  .fa-umbrella:before {
804
+ content: ""; }
805
 
806
  .fa-paste:before,
807
  .fa-clipboard:before {
808
+ content: ""; }
809
 
810
  .fa-lightbulb-o:before {
811
+ content: ""; }
812
 
813
  .fa-exchange:before {
814
+ content: ""; }
815
 
816
  .fa-cloud-download:before {
817
+ content: ""; }
818
 
819
  .fa-cloud-upload:before {
820
+ content: ""; }
821
 
822
  .fa-user-md:before {
823
+ content: ""; }
824
 
825
  .fa-stethoscope:before {
826
+ content: ""; }
827
 
828
  .fa-suitcase:before {
829
+ content: ""; }
830
 
831
  .fa-bell-o:before {
832
+ content: ""; }
833
 
834
  .fa-coffee:before {
835
+ content: ""; }
836
 
837
  .fa-cutlery:before {
838
+ content: ""; }
839
 
840
  .fa-file-text-o:before {
841
+ content: ""; }
842
 
843
  .fa-building-o:before {
844
+ content: ""; }
845
 
846
  .fa-hospital-o:before {
847
+ content: ""; }
848
 
849
  .fa-ambulance:before {
850
+ content: ""; }
851
 
852
  .fa-medkit:before {
853
+ content: ""; }
854
 
855
  .fa-fighter-jet:before {
856
+ content: ""; }
857
 
858
  .fa-beer:before {
859
+ content: ""; }
860
 
861
  .fa-h-square:before {
862
+ content: ""; }
863
 
864
  .fa-plus-square:before {
865
+ content: ""; }
866
 
867
  .fa-angle-double-left:before {
868
+ content: ""; }
869
 
870
  .fa-angle-double-right:before {
871
+ content: ""; }
872
 
873
  .fa-angle-double-up:before {
874
+ content: ""; }
875
 
876
  .fa-angle-double-down:before {
877
+ content: ""; }
878
 
879
  .fa-angle-left:before {
880
+ content: ""; }
881
 
882
  .fa-angle-right:before {
883
+ content: ""; }
884
 
885
  .fa-angle-up:before {
886
+ content: ""; }
887
 
888
  .fa-angle-down:before {
889
+ content: ""; }
890
 
891
  .fa-desktop:before {
892
+ content: ""; }
893
 
894
  .fa-laptop:before {
895
+ content: ""; }
896
 
897
  .fa-tablet:before {
898
+ content: ""; }
899
 
900
  .fa-mobile-phone:before,
901
  .fa-mobile:before {
902
+ content: ""; }
903
 
904
  .fa-circle-o:before {
905
+ content: ""; }
906
 
907
  .fa-quote-left:before {
908
+ content: ""; }
909
 
910
  .fa-quote-right:before {
911
+ content: ""; }
912
 
913
  .fa-spinner:before {
914
+ content: ""; }
915
 
916
  .fa-circle:before {
917
+ content: ""; }
918
 
919
  .fa-mail-reply:before,
920
  .fa-reply:before {
921
+ content: ""; }
922
 
923
  .fa-github-alt:before {
924
+ content: ""; }
925
 
926
  .fa-folder-o:before {
927
+ content: ""; }
928
 
929
  .fa-folder-open-o:before {
930
+ content: ""; }
931
 
932
  .fa-smile-o:before {
933
+ content: ""; }
934
 
935
  .fa-frown-o:before {
936
+ content: ""; }
937
 
938
  .fa-meh-o:before {
939
+ content: ""; }
940
 
941
  .fa-gamepad:before {
942
+ content: ""; }
943
 
944
  .fa-keyboard-o:before {
945
+ content: ""; }
946
 
947
  .fa-flag-o:before {
948
+ content: ""; }
949
 
950
  .fa-flag-checkered:before {
951
+ content: ""; }
952
 
953
  .fa-terminal:before {
954
+ content: ""; }
955
 
956
  .fa-code:before {
957
+ content: ""; }
958
 
959
  .fa-mail-reply-all:before,
960
  .fa-reply-all:before {
961
+ content: ""; }
962
 
963
  .fa-star-half-empty:before,
964
  .fa-star-half-full:before,
965
  .fa-star-half-o:before {
966
+ content: ""; }
967
 
968
  .fa-location-arrow:before {
969
+ content: ""; }
970
 
971
  .fa-crop:before {
972
+ content: ""; }
973
 
974
  .fa-code-fork:before {
975
+ content: ""; }
976
 
977
  .fa-unlink:before,
978
  .fa-chain-broken:before {
979
+ content: ""; }
980
 
981
  .fa-question:before {
982
+ content: ""; }
983
 
984
  .fa-info:before {
985
+ content: ""; }
986
 
987
  .fa-exclamation:before {
988
+ content: ""; }
989
 
990
  .fa-superscript:before {
991
+ content: ""; }
992
 
993
  .fa-subscript:before {
994
+ content: ""; }
995
 
996
  .fa-eraser:before {
997
+ content: ""; }
998
 
999
  .fa-puzzle-piece:before {
1000
+ content: ""; }
1001
 
1002
  .fa-microphone:before {
1003
+ content: ""; }
1004
 
1005
  .fa-microphone-slash:before {
1006
+ content: ""; }
1007
 
1008
  .fa-shield:before {
1009
+ content: ""; }
1010
 
1011
  .fa-calendar-o:before {
1012
+ content: ""; }
1013
 
1014
  .fa-fire-extinguisher:before {
1015
+ content: ""; }
1016
 
1017
  .fa-rocket:before {
1018
+ content: ""; }
1019
 
1020
  .fa-maxcdn:before {
1021
+ content: ""; }
1022
 
1023
  .fa-chevron-circle-left:before {
1024
+ content: ""; }
1025
 
1026
  .fa-chevron-circle-right:before {
1027
+ content: ""; }
1028
 
1029
  .fa-chevron-circle-up:before {
1030
+ content: ""; }
1031
 
1032
  .fa-chevron-circle-down:before {
1033
+ content: ""; }
1034
 
1035
  .fa-html5:before {
1036
+ content: ""; }
1037
 
1038
  .fa-css3:before {
1039
+ content: ""; }
1040
 
1041
  .fa-anchor:before {
1042
+ content: ""; }
1043
 
1044
  .fa-unlock-alt:before {
1045
+ content: ""; }
1046
 
1047
  .fa-bullseye:before {
1048
+ content: ""; }
1049
 
1050
  .fa-ellipsis-h:before {
1051
+ content: ""; }
1052
 
1053
  .fa-ellipsis-v:before {
1054
+ content: ""; }
1055
 
1056
  .fa-rss-square:before {
1057
+ content: ""; }
1058
 
1059
  .fa-play-circle:before {
1060
+ content: ""; }
1061
 
1062
  .fa-ticket:before {
1063
+ content: ""; }
1064
 
1065
  .fa-minus-square:before {
1066
+ content: ""; }
1067
 
1068
  .fa-minus-square-o:before {
1069
+ content: ""; }
1070
 
1071
  .fa-level-up:before {
1072
+ content: ""; }
1073
 
1074
  .fa-level-down:before {
1075
+ content: ""; }
1076
 
1077
  .fa-check-square:before {
1078
+ content: ""; }
1079
 
1080
  .fa-pencil-square:before {
1081
+ content: ""; }
1082
 
1083
  .fa-external-link-square:before {
1084
+ content: ""; }
1085
 
1086
  .fa-share-square:before {
1087
+ content: ""; }
1088
 
1089
  .fa-compass:before {
1090
+ content: ""; }
1091
 
1092
  .fa-toggle-down:before,
1093
  .fa-caret-square-o-down:before {
1094
+ content: ""; }
1095
 
1096
  .fa-toggle-up:before,
1097
  .fa-caret-square-o-up:before {
1098
+ content: ""; }
1099
 
1100
  .fa-toggle-right:before,
1101
  .fa-caret-square-o-right:before {
1102
+ content: ""; }
1103
 
1104
  .fa-euro:before,
1105
  .fa-eur:before {
1106
+ content: ""; }
1107
 
1108
  .fa-gbp:before {
1109
+ content: ""; }
1110
 
1111
  .fa-dollar:before,
1112
  .fa-usd:before {
1113
+ content: ""; }
1114
 
1115
  .fa-rupee:before,
1116
  .fa-inr:before {
1117
+ content: ""; }
1118
 
1119
  .fa-cny:before,
1120
  .fa-rmb:before,
1121
  .fa-yen:before,
1122
  .fa-jpy:before {
1123
+ content: ""; }
1124
 
1125
  .fa-ruble:before,
1126
  .fa-rouble:before,
1127
  .fa-rub:before {
1128
+ content: ""; }
1129
 
1130
  .fa-won:before,
1131
  .fa-krw:before {
1132
+ content: ""; }
1133
 
1134
  .fa-bitcoin:before,
1135
  .fa-btc:before {
1136
+ content: ""; }
1137
 
1138
  .fa-file:before {
1139
+ content: ""; }
1140
 
1141
  .fa-file-text:before {
1142
+ content: ""; }
1143
 
1144
  .fa-sort-alpha-asc:before {
1145
+ content: ""; }
1146
 
1147
  .fa-sort-alpha-desc:before {
1148
+ content: ""; }
1149
 
1150
  .fa-sort-amount-asc:before {
1151
+ content: ""; }
1152
 
1153
  .fa-sort-amount-desc:before {
1154
+ content: ""; }
1155
 
1156
  .fa-sort-numeric-asc:before {
1157
+ content: ""; }
1158
 
1159
  .fa-sort-numeric-desc:before {
1160
+ content: ""; }
1161
 
1162
  .fa-thumbs-up:before {
1163
+ content: ""; }
1164
 
1165
  .fa-thumbs-down:before {
1166
+ content: ""; }
1167
 
1168
  .fa-youtube-square:before {
1169
+ content: ""; }
1170
 
1171
  .fa-youtube:before {
1172
+ content: ""; }
1173
 
1174
  .fa-xing:before {
1175
+ content: ""; }
1176
 
1177
  .fa-xing-square:before {
1178
+ content: ""; }
1179
 
1180
  .fa-youtube-play:before {
1181
+ content: ""; }
1182
 
1183
  .fa-dropbox:before {
1184
+ content: ""; }
1185
 
1186
  .fa-stack-overflow:before {
1187
+ content: ""; }
1188
 
1189
  .fa-instagram:before {
1190
+ content: ""; }
1191
 
1192
  .fa-flickr:before {
1193
+ content: ""; }
1194
 
1195
  .fa-adn:before {
1196
+ content: ""; }
1197
 
1198
  .fa-bitbucket:before {
1199
+ content: ""; }
1200
 
1201
  .fa-bitbucket-square:before {
1202
+ content: ""; }
1203
 
1204
  .fa-tumblr:before {
1205
+ content: ""; }
1206
 
1207
  .fa-tumblr-square:before {
1208
+ content: ""; }
1209
 
1210
  .fa-long-arrow-down:before {
1211
+ content: ""; }
1212
 
1213
  .fa-long-arrow-up:before {
1214
+ content: ""; }
1215
 
1216
  .fa-long-arrow-left:before {
1217
+ content: ""; }
1218
 
1219
  .fa-long-arrow-right:before {
1220
+ content: ""; }
1221
 
1222
  .fa-apple:before {
1223
+ content: ""; }
1224
 
1225
  .fa-windows:before {
1226
+ content: ""; }
1227
 
1228
  .fa-android:before {
1229
+ content: ""; }
1230
 
1231
  .fa-linux:before {
1232
+ content: ""; }
1233
 
1234
  .fa-dribbble:before {
1235
+ content: ""; }
1236
 
1237
  .fa-skype:before {
1238
+ content: ""; }
1239
 
1240
  .fa-foursquare:before {
1241
+ content: ""; }
1242
 
1243
  .fa-trello:before {
1244
+ content: ""; }
1245
 
1246
  .fa-female:before {
1247
+ content: ""; }
1248
 
1249
  .fa-male:before {
1250
+ content: ""; }
1251
 
1252
  .fa-gittip:before {
1253
+ content: ""; }
1254
 
1255
  .fa-sun-o:before {
1256
+ content: ""; }
1257
 
1258
  .fa-moon-o:before {
1259
+ content: ""; }
1260
 
1261
  .fa-archive:before {
1262
+ content: ""; }
1263
 
1264
  .fa-bug:before {
1265
+ content: ""; }
1266
 
1267
  .fa-vk:before {
1268
+ content: ""; }
1269
 
1270
  .fa-weibo:before {
1271
+ content: ""; }
1272
 
1273
  .fa-renren:before {
1274
+ content: ""; }
1275
 
1276
  .fa-pagelines:before {
1277
+ content: ""; }
1278
 
1279
  .fa-stack-exchange:before {
1280
+ content: ""; }
1281
 
1282
  .fa-arrow-circle-o-right:before {
1283
+ content: ""; }
1284
 
1285
  .fa-arrow-circle-o-left:before {
1286
+ content: ""; }
1287
 
1288
  .fa-toggle-left:before,
1289
  .fa-caret-square-o-left:before {
1290
+ content: ""; }
1291
 
1292
  .fa-dot-circle-o:before {
1293
+ content: ""; }
1294
 
1295
  .fa-wheelchair:before {
1296
+ content: ""; }
1297
 
1298
  .fa-vimeo-square:before {
1299
+ content: ""; }
1300
 
1301
  .fa-turkish-lira:before,
1302
  .fa-try:before {
1303
+ content: ""; }
1304
 
1305
  .fa-plus-square-o:before {
1306
+ content: ""; }
1307
 
1308
  .fa-space-shuttle:before {
1309
+ content: ""; }
1310
 
1311
  .fa-slack:before {
1312
+ content: ""; }
1313
 
1314
  .fa-envelope-square:before {
1315
+ content: ""; }
1316
 
1317
  .fa-wordpress:before {
1318
+ content: ""; }
1319
 
1320
  .fa-openid:before {
1321
+ content: ""; }
1322
 
1323
  .fa-institution:before,
1324
  .fa-bank:before,
1325
  .fa-university:before {
1326
+ content: ""; }
1327
 
1328
  .fa-mortar-board:before,
1329
  .fa-graduation-cap:before {
1330
+ content: ""; }
1331
 
1332
  .fa-yahoo:before {
1333
+ content: ""; }
1334
 
1335
  .fa-google:before {
1336
+ content: ""; }
1337
 
1338
  .fa-reddit:before {
1339
+ content: ""; }
1340
 
1341
  .fa-reddit-square:before {
1342
+ content: ""; }
1343
 
1344
  .fa-stumbleupon-circle:before {
1345
+ content: ""; }
1346
 
1347
  .fa-stumbleupon:before {
1348
+ content: ""; }
1349
 
1350
  .fa-delicious:before {
1351
+ content: ""; }
1352
 
1353
  .fa-digg:before {
1354
+ content: ""; }
1355
 
1356
  .fa-pied-piper:before {
1357
+ content: ""; }
1358
 
1359
  .fa-pied-piper-alt:before {
1360
+ content: ""; }
1361
 
1362
  .fa-drupal:before {
1363
+ content: ""; }
1364
 
1365
  .fa-joomla:before {
1366
+ content: ""; }
1367
 
1368
  .fa-language:before {
1369
+ content: ""; }
1370
 
1371
  .fa-fax:before {
1372
+ content: ""; }
1373
 
1374
  .fa-building:before {
1375
+ content: ""; }
1376
 
1377
  .fa-child:before {
1378
+ content: ""; }
1379
 
1380
  .fa-paw:before {
1381
+ content: ""; }
1382
 
1383
  .fa-spoon:before {
1384
+ content: ""; }
1385
 
1386
  .fa-cube:before {
1387
+ content: ""; }
1388
 
1389
  .fa-cubes:before {
1390
+ content: ""; }
1391
 
1392
  .fa-behance:before {
1393
+ content: ""; }
1394
 
1395
  .fa-behance-square:before {
1396
+ content: ""; }
1397
 
1398
  .fa-steam:before {
1399
+ content: ""; }
1400
 
1401
  .fa-steam-square:before {
1402
+ content: ""; }
1403
 
1404
  .fa-recycle:before {
1405
+ content: ""; }
1406
 
1407
  .fa-automobile:before,
1408
  .fa-car:before {
1409
+ content: ""; }
1410
 
1411
  .fa-cab:before,
1412
  .fa-taxi:before {
1413
+ content: ""; }
1414
 
1415
  .fa-tree:before {
1416
+ content: ""; }
1417
 
1418
  .fa-spotify:before {
1419
+ content: ""; }
1420
 
1421
  .fa-deviantart:before {
1422
+ content: ""; }
1423
 
1424
  .fa-soundcloud:before {
1425
+ content: ""; }
1426
 
1427
  .fa-database:before {
1428
+ content: ""; }
1429
 
1430
  .fa-file-pdf-o:before {
1431
+ content: ""; }
1432
 
1433
  .fa-file-word-o:before {
1434
+ content: ""; }
1435
 
1436
  .fa-file-excel-o:before {
1437
+ content: ""; }
1438
 
1439
  .fa-file-powerpoint-o:before {
1440
+ content: ""; }
1441
 
1442
  .fa-file-photo-o:before,
1443
  .fa-file-picture-o:before,
1444
  .fa-file-image-o:before {
1445
+ content: ""; }
1446
 
1447
  .fa-file-zip-o:before,
1448
  .fa-file-archive-o:before {
1449
+ content: ""; }
1450
 
1451
  .fa-file-sound-o:before,
1452
  .fa-file-audio-o:before {
1453
+ content: ""; }
1454
 
1455
  .fa-file-movie-o:before,
1456
  .fa-file-video-o:before {
1457
+ content: ""; }
1458
 
1459
  .fa-file-code-o:before {
1460
+ content: ""; }
1461
 
1462
  .fa-vine:before {
1463
+ content: ""; }
1464
 
1465
  .fa-codepen:before {
1466
+ content: ""; }
1467
 
1468
  .fa-jsfiddle:before {
1469
+ content: ""; }
1470
 
1471
  .fa-life-bouy:before,
1472
  .fa-life-buoy:before,
1473
  .fa-life-saver:before,
1474
  .fa-support:before,
1475
  .fa-life-ring:before {
1476
+ content: ""; }
1477
 
1478
  .fa-circle-o-notch:before {
1479
+ content: ""; }
1480
 
1481
  .fa-ra:before,
1482
  .fa-rebel:before {
1483
+ content: ""; }
1484
 
1485
  .fa-ge:before,
1486
  .fa-empire:before {
1487
+ content: ""; }
1488
 
1489
  .fa-git-square:before {
1490
+ content: ""; }
1491
 
1492
  .fa-git:before {
1493
+ content: ""; }
1494
 
1495
  .fa-hacker-news:before {
1496
+ content: ""; }
1497
 
1498
  .fa-tencent-weibo:before {
1499
+ content: ""; }
1500
 
1501
  .fa-qq:before {
1502
+ content: ""; }
1503
 
1504
  .fa-wechat:before,
1505
  .fa-weixin:before {
1506
+ content: ""; }
1507
 
1508
  .fa-send:before,
1509
  .fa-paper-plane:before {
1510
+ content: ""; }
1511
 
1512
  .fa-send-o:before,
1513
  .fa-paper-plane-o:before {
1514
+ content: ""; }
1515
 
1516
  .fa-history:before {
1517
+ content: ""; }
1518
 
1519
  .fa-circle-thin:before {
1520
+ content: ""; }
1521
 
1522
  .fa-header:before {
1523
+ content: ""; }
1524
 
1525
  .fa-paragraph:before {
1526
+ content: ""; }
1527
 
1528
  .fa-sliders:before {
1529
+ content: ""; }
1530
 
1531
  .fa-share-alt:before {
1532
+ content: ""; }
1533
 
1534
  .fa-share-alt-square:before {
1535
+ content: ""; }
1536
 
1537
  .fa-bomb:before {
1538
+ content: ""; }
1539
 
1540
  .fa-soccer-ball-o:before,
1541
  .fa-futbol-o:before {
1542
+ content: ""; }
1543
 
1544
  .fa-tty:before {
1545
+ content: ""; }
1546
 
1547
  .fa-binoculars:before {
1548
+ content: ""; }
1549
 
1550
  .fa-plug:before {
1551
+ content: ""; }
1552
 
1553
  .fa-slideshare:before {
1554
+ content: ""; }
1555
 
1556
  .fa-twitch:before {
1557
+ content: ""; }
1558
 
1559
  .fa-yelp:before {
1560
+ content: ""; }
1561
 
1562
  .fa-newspaper-o:before {
1563
+ content: ""; }
1564
 
1565
  .fa-wifi:before {
1566
+ content: ""; }
1567
 
1568
  .fa-calculator:before {
1569
+ content: ""; }
1570
 
1571
  .fa-paypal:before {
1572
+ content: ""; }
1573
 
1574
  .fa-google-wallet:before {
1575
+ content: ""; }
1576
 
1577
  .fa-cc-visa:before {
1578
+ content: ""; }
1579
 
1580
  .fa-cc-mastercard:before {
1581
+ content: ""; }
1582
 
1583
  .fa-cc-discover:before {
1584
+ content: ""; }
1585
 
1586
  .fa-cc-amex:before {
1587
+ content: ""; }
1588
 
1589
  .fa-cc-paypal:before {
1590
+ content: ""; }
1591
 
1592
  .fa-cc-stripe:before {
1593
+ content: ""; }
1594
 
1595
  .fa-bell-slash:before {
1596
+ content: ""; }
1597
 
1598
  .fa-bell-slash-o:before {
1599
+ content: ""; }
1600
 
1601
  .fa-trash:before {
1602
+ content: ""; }
1603
 
1604
  .fa-copyright:before {
1605
+ content: ""; }
1606
 
1607
  .fa-at:before {
1608
+ content: ""; }
1609
 
1610
  .fa-eyedropper:before {
1611
+ content: ""; }
1612
 
1613
  .fa-paint-brush:before {
1614
+ content: ""; }
1615
 
1616
  .fa-birthday-cake:before {
1617
+ content: ""; }
1618
 
1619
  .fa-area-chart:before {
1620
+ content: ""; }
1621
 
1622
  .fa-pie-chart:before {
1623
+ content: ""; }
1624
 
1625
  .fa-line-chart:before {
1626
+ content: ""; }
1627
 
1628
  .fa-lastfm:before {
1629
+ content: ""; }
1630
 
1631
  .fa-lastfm-square:before {
1632
+ content: ""; }
1633
 
1634
  .fa-toggle-off:before {
1635
+ content: ""; }
1636
 
1637
  .fa-toggle-on:before {
1638
+ content: ""; }
1639
 
1640
  .fa-bicycle:before {
1641
+ content: ""; }
1642
 
1643
  .fa-bus:before {
1644
+ content: ""; }
1645
 
1646
  .fa-ioxhost:before {
1647
+ content: ""; }
1648
 
1649
  .fa-angellist:before {
1650
+ content: ""; }
1651
 
1652
  .fa-cc:before {
1653
+ content: ""; }
1654
 
1655
  .fa-shekel:before,
1656
  .fa-sheqel:before,
1657
  .fa-ils:before {
1658
+ content: ""; }
1659
 
1660
  .fa-meanpath:before {
1661
+ content: ""; }
1662
 
1663
  /**
1664
  * CMB Styling
1917
 
1918
  .cmb_element .ui-widget-content {
1919
  border: 1px solid #aaaaaa;
1920
+ background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x;
1921
  color: #222222; }
1922
 
1923
  .cmb_element .ui-widget-content a {
1954
 
1955
  .cmb_element .ui-state-active, .cmb_element .ui-widget-content .ui-state-active, .cmb_element .ui-widget-header .ui-state-active {
1956
  border: 1px solid #aaaaaa;
1957
+ background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x;
1958
  font-weight: normal;
1959
  color: #212121; }
1960
 
3330
  outline: none;
3331
  background: none;
3332
  margin-right: 20px;
3333
+ background: linear-gradient(to right, #0083BD, #0083BD 100%, transparent 100%) top left no-repeat;
3334
  background-size: 100% 100%;
3335
  padding-left: 0;
3336
  padding-right: 0;
3488
 
3489
  .tooltipster-icon {
3490
  color: #AAA; }
3491
+
3492
+ .cmb_textarea[name*="custom_css"] {
3493
+ flex: initial;
3494
+ width: 100%; }
features/metaboxes/fields/gallery.php CHANGED
@@ -8,19 +8,20 @@ global $post;
8
  wp_enqueue_media();
9
  wp_enqueue_script( 'pixgallery' );
10
  // ensure the wordpress modal scripts even if an editor is not present
11
- wp_enqueue_script( 'jquery-ui-dialog', false, array('jquery'), false, true );
12
  wp_localize_script( 'pixgallery', 'locals', array(
13
- 'ajax_url' => admin_url( 'admin-ajax.php' ),
14
  'pixtypes_l18n' => array(
15
- 'confirmClearGallery' => __( 'You want for sure to clear this gallery?', 'pixtypes' ),
16
- 'alertGalleryIsEmpty' => __( 'Gallery is already empty!', 'pixtypes' )
17
  )
18
  ) ); ?>
19
- <div id="pixgallery" class="pixgallery_field hidden" >
20
  <ul></ul>
21
- <a class="open_pixgallery" href="#" >
22
- <input type="hidden" name="<?php echo $field['id']; ?>" id="pixgalleries" value="<?php echo '' !== $meta ? $meta : $field['std'] ?>" />
23
- <div><i class="icon dashicons dashicons-images-alt2"></i> <span><?php _e('Add Image', 'pixtypes' ); ?></span></div>
24
- <span class="clear_gallery"><?php _e('Clear', 'pixtypes' ); ?></span>
 
25
  </a>
26
  </div>
8
  wp_enqueue_media();
9
  wp_enqueue_script( 'pixgallery' );
10
  // ensure the wordpress modal scripts even if an editor is not present
11
+ wp_enqueue_script( 'jquery-ui-dialog', false, array( 'jquery' ), false, true );
12
  wp_localize_script( 'pixgallery', 'locals', array(
13
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
14
  'pixtypes_l18n' => array(
15
+ 'confirmClearGallery' => esc_html__( 'Are you sure you want to clear this gallery?', 'pixtypes' ),
16
+ 'alertGalleryIsEmpty' => esc_html__( 'This gallery is already empty!', 'pixtypes' )
17
  )
18
  ) ); ?>
19
+ <div id="pixgallery" class="pixgallery_field hidden">
20
  <ul></ul>
21
+ <a class="open_pixgallery" href="#">
22
+ <input type="hidden" name="<?php echo $field['id']; ?>" id="pixgalleries" value="<?php echo '' !== $meta ? $meta : $field['std'] ?>"/>
23
+ <div><i class="icon dashicons dashicons-images-alt2"></i>
24
+ <span><?php esc_html_e( 'Add Image', 'pixtypes' ); ?></span></div>
25
+ <span class="clear_gallery"><?php esc_html_e( 'Clear', 'pixtypes' ); ?></span>
26
  </a>
27
  </div>
features/metaboxes/fields/gmap_pins.php CHANGED
@@ -7,11 +7,11 @@
7
  wp_enqueue_script( 'gmap_pins' );
8
 
9
  wp_localize_script( 'gmap_pins', 'l18n_gmap_pins', array(
10
- 'location_url_label' => __('Location URL', 'pixtypes'),
11
- 'name_label' => __('Name', 'pixtypes'),
12
- 'delete_label' => __('Delete', 'pixtypes'),
13
- 'confirm_delete' => __('Are you sure?', 'pixtypes'),
14
- 'dont_delete_all_pins' => __('This page is useless without pins.Better delete the page!', 'pixtypes'),
15
  ) );
16
 
17
  global $post; ?>
@@ -21,7 +21,7 @@ global $post; ?>
21
  $meta = array(
22
  1 => array(
23
  'location_url' => '',
24
- 'name' => ''
25
  )
26
  );
27
 
@@ -34,21 +34,25 @@ global $post; ?>
34
  foreach ( $meta as $key => $pin ) { ?>
35
  <li class="gmap_pin">
36
  <fieldset class="pin_location_url">
37
- <label for="<?php echo $field['id']; ?>[<?php echo $key ?>][location_url]" >#<?php echo $key . ' ' . __('Location URL', 'pixtypes'); ?></label>
38
- <input type="text" name="<?php echo $field['id']; ?>[<?php echo $key ?>][location_url]" value="<?php echo $pin['location_url']; ?>" />
 
 
39
  </fieldset>
40
  <fieldset class="pin_name">
41
- <label for="<?php echo $field['id']; ?>[<?php echo $key ?>][name]" ><?php _e('Name', 'pixtypes'); ?></label>
42
- <input type="text" name="<?php echo $field['id']; ?>[<?php echo $key ?>][name]" value="<?php echo $pin['name']; ?>" />
 
 
43
  </fieldset>
44
  <span class="pin_delete"></span>
45
  </li>
46
  <?php } ?>
47
  </ul>
48
 
49
- <span class="button add_new_location"><?php _e('Add New Location', 'pixtypes') ?></span>
50
 
51
- <?php if ( isset( $field['desc'] ) && !empty( $field['desc'] ) ) { ?>
52
  <span class="cmb_metabox_description"><?php echo $field['desc']; ?></span>
53
  <?php } ?>
54
  </div>
7
  wp_enqueue_script( 'gmap_pins' );
8
 
9
  wp_localize_script( 'gmap_pins', 'l18n_gmap_pins', array(
10
+ 'location_url_label' => esc_html__( 'Location URL', 'pixtypes' ),
11
+ 'name_label' => esc_html__( 'Name', 'pixtypes' ),
12
+ 'delete_label' => esc_html__( 'Delete', 'pixtypes' ),
13
+ 'confirm_delete' => esc_html__( 'Are you sure?', 'pixtypes' ),
14
+ 'dont_delete_all_pins' => esc_html__( 'This page is useless without pins. Better trash this page!', 'pixtypes' ),
15
  ) );
16
 
17
  global $post; ?>
21
  $meta = array(
22
  1 => array(
23
  'location_url' => '',
24
+ 'name' => ''
25
  )
26
  );
27
 
34
  foreach ( $meta as $key => $pin ) { ?>
35
  <li class="gmap_pin">
36
  <fieldset class="pin_location_url">
37
+ <label
38
+ for="<?php echo $field['id']; ?>[<?php echo $key ?>][location_url]">#<?php echo $key . ' ' . esc_html__( 'Location URL', 'pixtypes' ); ?></label>
39
+ <input type="text" name="<?php echo $field['id']; ?>[<?php echo $key ?>][location_url]"
40
+ value="<?php echo $pin['location_url']; ?>"/>
41
  </fieldset>
42
  <fieldset class="pin_name">
43
+ <label
44
+ for="<?php echo $field['id']; ?>[<?php echo $key ?>][name]"><?php esc_html_e( 'Name', 'pixtypes' ); ?></label>
45
+ <input type="text" name="<?php echo $field['id']; ?>[<?php echo $key ?>][name]"
46
+ value="<?php echo $pin['name']; ?>"/>
47
  </fieldset>
48
  <span class="pin_delete"></span>
49
  </li>
50
  <?php } ?>
51
  </ul>
52
 
53
+ <span class="button add_new_location"><?php esc_html_e( 'Add New Location', 'pixtypes' ) ?></span>
54
 
55
+ <?php if ( isset( $field['desc'] ) && ! empty( $field['desc'] ) ) { ?>
56
  <span class="cmb_metabox_description"><?php echo $field['desc']; ?></span>
57
  <?php } ?>
58
  </div>
features/metaboxes/fields/image.php CHANGED
@@ -8,22 +8,26 @@ global $post;
8
  wp_enqueue_media();
9
  wp_enqueue_script( 'piximage' );
10
  // ensure the wordpress modal scripts even if an editor is not present
11
- wp_enqueue_script( 'jquery-ui-dialog', false, array('jquery'), false, true );
12
  wp_localize_script( 'piximage', 'locals', array(
13
- 'ajax_url' => admin_url( 'admin-ajax.php' ),
14
  'pixtypes_l18n' => array(
15
- 'setThumbnailImageTitle' => __( 'Choose Image', 'pixtypes' ),
16
- 'confirmClearImage' => __( 'You want for sure to clear this image?', 'pixtypes' ),
17
- 'alertImageIsEmpty' => __( 'Image is already empty!', 'pixtypes' )
18
  )
19
  ) );
20
 
21
  $class = empty( $field['class'] ) ? '' : $field['class']; ?>
22
- <div id="<?php echo $field['id']; ?>" class="piximage_field hidden <?php echo $class; ?>" >
23
  <ul></ul>
24
- <a class="open_piximage" href="#" >
25
- <input type="hidden" name="<?php echo $field['id']; ?>" class="piximage_id" value="<?php echo '' !== $meta ? $meta : $field['std'] ?>" />
26
- <div><i class="icon dashicons dashicons-images-alt2"></i> <span><?php echo empty ( $field['button_text'] ) ? __( 'Add Image', 'pixtypes' ) : $field['button_text'] ; ?></span></div>
27
- <span class="clear_image"><?php echo empty ( $field['clear_text'] ) ? __( 'Clear', 'pixtypes' ) : $field['clear_text'] ; ?></span>
 
 
 
 
28
  </a>
29
  </div>
8
  wp_enqueue_media();
9
  wp_enqueue_script( 'piximage' );
10
  // ensure the wordpress modal scripts even if an editor is not present
11
+ wp_enqueue_script( 'jquery-ui-dialog', false, array( 'jquery' ), false, true );
12
  wp_localize_script( 'piximage', 'locals', array(
13
+ 'ajax_url' => admin_url( 'admin-ajax.php' ),
14
  'pixtypes_l18n' => array(
15
+ 'setThumbnailImageTitle' => esc_html__( 'Choose Image', 'pixtypes' ),
16
+ 'confirmClearImage' => esc_html__( 'Are you sure you want to clear this image?', 'pixtypes' ),
17
+ 'alertImageIsEmpty' => esc_html__( 'This image is already empty!', 'pixtypes' )
18
  )
19
  ) );
20
 
21
  $class = empty( $field['class'] ) ? '' : $field['class']; ?>
22
+ <div id="<?php echo $field['id']; ?>" class="piximage_field hidden <?php echo $class; ?>">
23
  <ul></ul>
24
+ <a class="open_piximage" href="#">
25
+ <input type="hidden" name="<?php echo $field['id']; ?>" class="piximage_id"
26
+ value="<?php echo '' !== $meta ? $meta : $field['std'] ?>"/>
27
+ <div><i class="icon dashicons dashicons-images-alt2"></i>
28
+ <span><?php echo empty ( $field['button_text'] ) ? esc_html__( 'Add Image', 'pixtypes' ) : $field['button_text']; ?></span>
29
+ </div>
30
+ <span
31
+ class="clear_image"><?php echo empty ( $field['clear_text'] ) ? esc_html__( 'Clear', 'pixtypes' ) : $field['clear_text']; ?></span>
32
  </a>
33
  </div>
features/metaboxes/fields/pix_builder.php CHANGED
@@ -78,11 +78,11 @@
78
 
79
  if ( isset( $attach[0] ) && ! empty( $attach[0] ) ) {
80
  $content = '<img class="image_preview" src="' . $attach[0] . '">';
81
- $controls_content = '<a class="open_media" href="#" class="wp-gallery" data-attachment_id="' . $block->content . '"><span>' . __( 'Set Image', 'pixtypes' ) . '</span></a>';
82
  }
83
  } else {
84
  $content = '<img class="image_preview">';
85
- $controls_content = '<a class="open_media" href="#" class="wp-gallery" data-attachment_id="' . $block->content . '"><span>' . __( 'Set Image', 'pixtypes' ) . '</pan></a>';
86
  }
87
  }
88
  break;
78
 
79
  if ( isset( $attach[0] ) && ! empty( $attach[0] ) ) {
80
  $content = '<img class="image_preview" src="' . $attach[0] . '">';
81
+ $controls_content = '<a class="open_media" href="#" class="wp-gallery" data-attachment_id="' . $block->content . '"><span>' . esc_html__( 'Set Image', 'pixtypes' ) . '</span></a>';
82
  }
83
  } else {
84
  $content = '<img class="image_preview">';
85
+ $controls_content = '<a class="open_media" href="#" class="wp-gallery" data-attachment_id="' . $block->content . '"><span>' . esc_html__( 'Set Image', 'pixtypes' ) . '</pan></a>';
86
  }
87
  }
88
  break;
features/metaboxes/fields/playlist.php CHANGED
@@ -12,15 +12,15 @@ wp_localize_script( 'pixplaylist', 'playlist_locals', array(
12
  'ajax_url' => admin_url( 'admin-ajax.php' ),
13
  'playlist_type' => $playlist_type,
14
  'pixtypes_l18n' => array(
15
- 'confirmClearGallery' => __( 'You want for sure to clear this gallery?', 'pixtypes' ),
16
- 'alertGalleryIsEmpty' => __( 'Gallery is already empty!', 'pixtypes' )
17
  )
18
  ) ); ?>
19
  <div id="pixvideos" class="hidden">
20
  <ul></ul>
21
  <a class="open_pixvideos" href="#">
22
  <input type="hidden" name="<?php echo $field['id'] ?>" id="pixplaylist" value="<?php echo '' !== $meta ? $meta : $field['std']; ?>"/>
23
- <div><i class="icon dashicons dashicons-format-video"></i> <span><?php _e('Add Video', 'pixtypes' ); ?></span></div>
24
- <span class="clear_gallery"><?php _e( 'Clear', 'pixtypes' ); ?></span>
25
  </a>
26
  </div>
12
  'ajax_url' => admin_url( 'admin-ajax.php' ),
13
  'playlist_type' => $playlist_type,
14
  'pixtypes_l18n' => array(
15
+ 'confirmClearGallery' => esc_html__( 'Are you sure you want to clear this gallery?', 'pixtypes' ),
16
+ 'alertGalleryIsEmpty' => esc_html__( 'This gallery is already empty!', 'pixtypes' )
17
  )
18
  ) ); ?>
19
  <div id="pixvideos" class="hidden">
20
  <ul></ul>
21
  <a class="open_pixvideos" href="#">
22
  <input type="hidden" name="<?php echo $field['id'] ?>" id="pixplaylist" value="<?php echo '' !== $meta ? $meta : $field['std']; ?>"/>
23
+ <div><i class="icon dashicons dashicons-format-video"></i> <span><?php esc_html_e('Add Video', 'pixtypes' ); ?></span></div>
24
+ <span class="clear_gallery"><?php esc_html_e( 'Clear', 'pixtypes' ); ?></span>
25
  </a>
26
  </div>
features/metaboxes/init.php CHANGED
@@ -343,22 +343,28 @@ class cmb_Meta_Box {
343
 
344
  if ( isset( $this->_meta_box['show_on'] ) ) {
345
 
346
- $data_key = '';
347
- if ( isset( $this->_meta_box['show_on']['key'] ) && ! empty( $this->_meta_box['show_on']['key'] ) ) {
348
- $data_key = ' data-key="' . $this->_meta_box['show_on']['key'] . '"';
349
- }
350
 
351
- $data_value = '';
352
- if ( isset( $this->_meta_box['show_on']['value'] ) && ! empty( $this->_meta_box['show_on']['value'] ) ) {
353
- $data_value = ' data-value=\'' . json_encode( $this->_meta_box['show_on']['value'] ) . '\'';
354
- }
355
 
356
- $data_hide = '';
357
- if ( isset( $this->_meta_box['show_on']['hide'] ) && ! empty( $this->_meta_box['show_on']['hide'] ) ) {
358
- $data_hide = ' data-hide=\'' . json_encode( $this->_meta_box['show_on']['hide'] ) . '\'';
359
- }
 
 
 
 
 
 
 
 
 
 
360
 
361
- echo '<input type="hidden" class="show_metabox_on" ' . $data_value . $data_key . $data_hide . ' />';
 
362
  }
363
 
364
  // Use nonce for verification
@@ -1080,7 +1086,7 @@ function cmb_register_scripts( $hook ) {
1080
  wp_register_script( 'gridster', CMB_META_BOX_URL . 'js/jquery.gridster.js' );
1081
  wp_register_script( 'pix_builder', CMB_META_BOX_URL . 'js/pix_builder.js', array( 'gridster' ), $plugin_version );
1082
  wp_localize_script( 'pix_builder', 'l18n_pix_builder', array(
1083
- 'set_image' => __( 'Set Image', 'pixtypes' ),
1084
  ) );
1085
  wp_register_script( 'gmap_pins', CMB_META_BOX_URL . 'js/gmap_pins.js', array(), $plugin_version );
1086
 
@@ -1111,7 +1117,7 @@ function cmb_editor_footer_scripts() {
1111
  if ( isset( $_GET['cmb_force_send'] ) && 'true' == $_GET['cmb_force_send'] ) {
1112
  $label = $_GET['cmb_send_label'];
1113
  if ( empty( $label ) ) {
1114
- $label = "Select File";
1115
  } ?>
1116
  <script type="text/javascript">
1117
  jQuery(function ($) {
@@ -1192,7 +1198,7 @@ function cmb_oembed_ajax_results() {
1192
  $oembed_string = sanitize_text_field( $_REQUEST['oembed_url'] );
1193
 
1194
  if ( empty( $oembed_string ) ) {
1195
- $return = '<p class="ui-state-error-text">' . __( 'Please Try Again', 'pixproof_txtd' ) . '</p>';
1196
  $found = 'not found';
1197
  } else {
1198
 
@@ -1210,13 +1216,13 @@ function cmb_oembed_ajax_results() {
1210
 
1211
  if ( $check_embed && $check_embed != $fallback ) {
1212
  // Embed data
1213
- $return = '<div class="embed_status">' . $check_embed . '<a href="#" class="cmb_remove_file_button" rel="' . $_REQUEST['field_id'] . '">' . __( 'Remove Embed', 'pixproof_txtd' ) . '</a></div>';
1214
  // set our response id
1215
  $found = 'found';
1216
 
1217
  } else {
1218
  // error info when no oEmbeds were found
1219
- $return = '<p class="ui-state-error-text">' . sprintf( __( 'No oEmbed Results Found for %s. View more info at', 'pixproof_txtd' ), $fallback ) . ' <a href="http://codex.wordpress.org/Embeds" target="_blank">codex.wordpress.org/Embeds</a>.</p>';
1220
  // set our response id
1221
  $found = 'not found';
1222
  }
343
 
344
  if ( isset( $this->_meta_box['show_on'] ) ) {
345
 
346
+ // Allow others to filter the show_on value on the fly
347
+ $show_on = apply_filters( 'pixtypes_cmb_metabox_show_on', $this->_meta_box['show_on'], $this->_meta_box );
 
 
348
 
349
+ if ( ! empty( $show_on ) ) {
 
 
 
350
 
351
+ $data_key = '';
352
+ if ( isset( $show_on['key'] ) && ! empty( $show_on['key'] ) ) {
353
+ $data_key = ' data-key="' . $show_on['key'] . '"';
354
+ }
355
+
356
+ $data_value = '';
357
+ if ( isset( $show_on['value'] ) && ! empty( $show_on['value'] ) ) {
358
+ $data_value = ' data-value=\'' . json_encode( $show_on['value'] ) . '\'';
359
+ }
360
+
361
+ $data_hide = '';
362
+ if ( isset( $show_on['hide'] ) && ! empty( $show_on['hide'] ) ) {
363
+ $data_hide = ' data-hide=\'' . json_encode( $show_on['hide'] ) . '\'';
364
+ }
365
 
366
+ echo '<input type="hidden" class="show_metabox_on" ' . $data_value . $data_key . $data_hide . ' />';
367
+ }
368
  }
369
 
370
  // Use nonce for verification
1086
  wp_register_script( 'gridster', CMB_META_BOX_URL . 'js/jquery.gridster.js' );
1087
  wp_register_script( 'pix_builder', CMB_META_BOX_URL . 'js/pix_builder.js', array( 'gridster' ), $plugin_version );
1088
  wp_localize_script( 'pix_builder', 'l18n_pix_builder', array(
1089
+ 'set_image' => esc_html__( 'Set Image', 'pixtypes' ),
1090
  ) );
1091
  wp_register_script( 'gmap_pins', CMB_META_BOX_URL . 'js/gmap_pins.js', array(), $plugin_version );
1092
 
1117
  if ( isset( $_GET['cmb_force_send'] ) && 'true' == $_GET['cmb_force_send'] ) {
1118
  $label = $_GET['cmb_send_label'];
1119
  if ( empty( $label ) ) {
1120
+ $label = esc_html__( 'Select File', 'pixtypes' );
1121
  } ?>
1122
  <script type="text/javascript">
1123
  jQuery(function ($) {
1198
  $oembed_string = sanitize_text_field( $_REQUEST['oembed_url'] );
1199
 
1200
  if ( empty( $oembed_string ) ) {
1201
+ $return = '<p class="ui-state-error-text">' . esc_html__( 'Please Try Again', 'pixtypes' ) . '</p>';
1202
  $found = 'not found';
1203
  } else {
1204
 
1216
 
1217
  if ( $check_embed && $check_embed != $fallback ) {
1218
  // Embed data
1219
+ $return = '<div class="embed_status">' . $check_embed . '<a href="#" class="cmb_remove_file_button" rel="' . $_REQUEST['field_id'] . '">' . esc_html__( 'Remove Embed', 'pixtypes' ) . '</a></div>';
1220
  // set our response id
1221
  $found = 'found';
1222
 
1223
  } else {
1224
  // error info when no oEmbeds were found
1225
+ $return = '<p class="ui-state-error-text">' . sprintf( esc_html__( 'No oEmbed Results Found for %s. View more info at', 'pixtypes' ), $fallback ) . ' <a href="http://codex.wordpress.org/Embeds" target="_blank">codex.wordpress.org/Embeds</a>.</p>';
1226
  // set our response id
1227
  $found = 'not found';
1228
  }
features/metaboxes/scss/style.scss CHANGED
@@ -2520,4 +2520,10 @@ body .mce-toolbar.mce-last .mce-container.mce-first .mce-menubtn.mce-first {
2520
 
2521
  .tooltipster-icon {
2522
  color: #AAA;
2523
- }
 
 
 
 
 
 
2520
 
2521
  .tooltipster-icon {
2522
  color: #AAA;
2523
+ }
2524
+
2525
+ // Fix a textarea + flex issue in Safari
2526
+ .cmb_textarea[name*="custom_css"] {
2527
+ flex: initial;
2528
+ width: 100%;
2529
+ }
lang/pixtypes.pot CHANGED
@@ -463,5 +463,5 @@ msgid "Custom post types and metaboxes needed by your theme"
463
  msgstr ""
464
 
465
  #. Author of the plugin/theme
466
- msgid "PixelGrade"
467
  msgstr ""
463
  msgstr ""
464
 
465
  #. Author of the plugin/theme
466
+ msgid "Pixelgrade"
467
  msgstr ""
pixtypes.php CHANGED
@@ -1,18 +1,18 @@
1
  <?php
2
  /*
3
  * @package PixTypes
4
- * @author PixelGrade <contact@pixelgrade.com>
5
  * @license GPL-2.0+
6
- * @link http://pixelgrade.com
7
- * @copyright 2013 PixelGrade
8
  *
9
  * @wordpress-plugin
10
  Plugin Name: PixTypes
11
- Plugin URI: http://pixelgrade.com
12
  Description: Custom post types and meta-boxes needed by your theme
13
- Version: 1.4.4
14
- Author: PixelGrade
15
- Author URI: http://pixelgrade.com
16
  Author Email: contact@pixelgrade.com
17
  Text Domain: pixtypes
18
  License: GPL-2.0+
@@ -26,39 +26,38 @@ if ( ! defined( 'WPINC' ) ) {
26
  }
27
 
28
  // ensure EXT is defined
29
- if ( ! defined('EXT')) {
30
- define('EXT', '.php');
31
  }
32
 
33
- require 'core/bootstrap'.EXT;
34
 
35
- $config = include 'plugin-config'.EXT;
36
- include 'features/class-pix-query'.EXT;
37
  // set textdomain
38
- pixtypes::settextdomain($config['textdomain']);
39
 
40
  // Ensure Test Data
41
  // ----------------
42
 
43
- $defaults = include 'plugin-defaults'.EXT;
44
 
45
- $current_data = get_option($config['settings-key']);
46
 
47
- if ($current_data === false) {
48
- add_option($config['settings-key'], $defaults);
49
- }
50
- else if (count(array_diff_key($defaults, $current_data)) != 0) {
51
- $plugindata = array_merge($defaults, $current_data);
52
- update_option($config['settings-key'], $plugindata);
53
  }
54
  # else: data is available; do nothing
55
 
56
  // Load Callbacks
57
  // --------------
58
 
59
- $basepath = dirname(__FILE__).DIRECTORY_SEPARATOR;
60
- $callbackpath = $basepath.'callbacks'.DIRECTORY_SEPARATOR;
61
- pixtypes::require_all($callbackpath);
62
 
63
  require_once( plugin_dir_path( __FILE__ ) . 'class-pixtypes.php' );
64
 
1
  <?php
2
  /*
3
  * @package PixTypes
4
+ * @author Pixelgrade <contact@pixelgrade.com>
5
  * @license GPL-2.0+
6
+ * @link https://pixelgrade.com
7
+ * @copyright 2013-2017 Pixelgrade
8
  *
9
  * @wordpress-plugin
10
  Plugin Name: PixTypes
11
+ Plugin URI: https://pixelgrade.com
12
  Description: Custom post types and meta-boxes needed by your theme
13
+ Version: 1.4.5
14
+ Author: Pixelgrade
15
+ Author URI: https://pixelgrade.com
16
  Author Email: contact@pixelgrade.com
17
  Text Domain: pixtypes
18
  License: GPL-2.0+
26
  }
27
 
28
  // ensure EXT is defined
29
+ if ( ! defined( 'EXT' ) ) {
30
+ define( 'EXT', '.php' );
31
  }
32
 
33
+ require 'core/bootstrap' . EXT;
34
 
35
+ $config = include 'plugin-config' . EXT;
36
+ include 'features/class-pix-query' . EXT;
37
  // set textdomain
38
+ pixtypes::settextdomain( $config['textdomain'] );
39
 
40
  // Ensure Test Data
41
  // ----------------
42
 
43
+ $defaults = include 'plugin-defaults' . EXT;
44
 
45
+ $current_data = get_option( $config['settings-key'] );
46
 
47
+ if ( $current_data === false ) {
48
+ add_option( $config['settings-key'], $defaults );
49
+ } else if ( count( array_diff_key( $defaults, $current_data ) ) != 0 ) {
50
+ $plugindata = array_merge( $defaults, $current_data );
51
+ update_option( $config['settings-key'], $plugindata );
 
52
  }
53
  # else: data is available; do nothing
54
 
55
  // Load Callbacks
56
  // --------------
57
 
58
+ $basepath = dirname( __FILE__ ) . DIRECTORY_SEPARATOR;
59
+ $callbackpath = $basepath . 'callbacks' . DIRECTORY_SEPARATOR;
60
+ pixtypes::require_all( $callbackpath );
61
 
62
  require_once( plugin_dir_path( __FILE__ ) . 'class-pixtypes.php' );
63
 
plugin-config.php CHANGED
@@ -1,82 +1,72 @@
1
- <?php defined('ABSPATH') or die;
2
 
3
- $basepath = dirname(__FILE__).DIRECTORY_SEPARATOR;
4
 
5
  $debug = false;
6
  if ( isset( $_GET['debug'] ) && $_GET['debug'] == 'true' ) {
7
  $debug = true;
8
  }
9
 
10
- $options = get_option('pixtypes_settings');
11
 
12
  $display_settings = false;
13
 
14
- if ( isset( $options['display_settings'] ) ){
15
  $display_settings = $options['display_settings'];
16
  }
17
 
18
- return array
19
- (
20
- 'plugin-name' => 'pixtypes',
21
-
22
- 'settings-key' => 'pixtypes_settings',
23
-
24
- 'textdomain' => 'pixtypes',
25
-
26
- 'template-paths' => array
27
- (
28
- $basepath.'core/views/form-partials/',
29
- $basepath.'views/form-partials/',
30
- ),
31
-
32
- 'fields' => array
33
- (
34
- 'hiddens'
35
- => include 'settings/hiddens'.EXT,
36
- 'post_types'
37
- => include 'settings/post_types'.EXT,
38
- 'taxonomies'
39
- => include 'settings/taxonomies'.EXT,
40
- ),
41
-
42
- 'processor' => array
43
- (
44
- // callback signature: (array $input, PixtypesProcessor $processor)
45
-
46
- 'preupdate' => array
47
- (
48
- // callbacks to run before update process
49
- // cleanup and validation has been performed on data
50
- ),
51
- 'postupdate' => array
52
- (
53
- 'save_settings'
54
- ),
55
- ),
56
-
57
- 'cleanup' => array
58
- (
59
- 'switch' => array('switch_not_available'),
60
- ),
61
-
62
- 'checks' => array
63
- (
64
- 'counter' => array('is_numeric', 'not_empty'),
65
- ),
66
-
67
- 'errors' => array
68
- (
69
- 'not_empty' => __('Invalid Value.', pixtypes::textdomain()),
70
- ),
71
-
72
- 'callbacks' => array
73
- (
74
- 'save_settings' => 'save_pixtypes_settings'
75
- ),
76
-
77
- 'display_settings' => $display_settings,
78
-
79
- // shows exception traces on error
80
- 'debug' => $debug,
81
-
82
- ); # config
1
+ <?php defined( 'ABSPATH' ) or die;
2
 
3
+ $basepath = dirname( __FILE__ ) . DIRECTORY_SEPARATOR;
4
 
5
  $debug = false;
6
  if ( isset( $_GET['debug'] ) && $_GET['debug'] == 'true' ) {
7
  $debug = true;
8
  }
9
 
10
+ $options = get_option( 'pixtypes_settings' );
11
 
12
  $display_settings = false;
13
 
14
+ if ( isset( $options['display_settings'] ) ) {
15
  $display_settings = $options['display_settings'];
16
  }
17
 
18
+ return array(
19
+ 'plugin-name' => 'pixtypes',
20
+
21
+ 'settings-key' => 'pixtypes_settings',
22
+
23
+ 'textdomain' => 'pixtypes',
24
+
25
+ 'template-paths' => array(
26
+ $basepath . 'core/views/form-partials/',
27
+ $basepath . 'views/form-partials/',
28
+ ),
29
+
30
+ 'fields' => array(
31
+ 'hiddens'
32
+ => include 'settings/hiddens' . EXT,
33
+ 'post_types'
34
+ => include 'settings/post_types' . EXT,
35
+ 'taxonomies'
36
+ => include 'settings/taxonomies' . EXT,
37
+ ),
38
+
39
+ 'processor' => array(
40
+ // callback signature: (array $input, PixtypesProcessor $processor)
41
+
42
+ 'preupdate' => array(
43
+ // callbacks to run before update process
44
+ // cleanup and validation has been performed on data
45
+ ),
46
+ 'postupdate' => array(
47
+ 'save_settings'
48
+ ),
49
+ ),
50
+
51
+ 'cleanup' => array(
52
+ 'switch' => array( 'switch_not_available' ),
53
+ ),
54
+
55
+ 'checks' => array(
56
+ 'counter' => array( 'is_numeric', 'not_empty' ),
57
+ ),
58
+
59
+ 'errors' => array(
60
+ 'not_empty' => esc_html__( 'Invalid Value.', pixtypes::textdomain() ),
61
+ ),
62
+
63
+ 'callbacks' => array(
64
+ 'save_settings' => 'save_pixtypes_settings'
65
+ ),
66
+
67
+ 'display_settings' => $display_settings,
68
+
69
+ // shows exception traces on error
70
+ 'debug' => $debug,
71
+
72
+ ); # config
 
 
 
 
 
 
 
 
 
 
plugin-defaults.php CHANGED
@@ -1,44 +1,44 @@
1
  <?php return array
2
- (
3
 
4
  # Hidden fields
5
 
6
- 'settings_saved_once' => '0',
7
 
8
  # "Post Types" fields
9
- 'enable_portfolio' => true,
10
 
11
- 'portfolio_single_item_label' => 'Project',
12
- 'portfolio_multiple_items_label' => 'Projects',
13
 
14
- 'portfolio_change_single_item_slug' => true,
15
- 'portfolio_new_single_item_slug' => 'portfolio',
16
 
17
- 'portfolio_change_archive_slug' => false,
18
- 'portfolio_new_archive_slug' => '',
19
 
20
  // 'portfolio_use_tags' => false,
21
 
22
- 'enable_gallery' => true,
23
- 'gallery_change_single_item_slug' => true,
24
- 'gallery_new_single_item_slug' => 'gallery',
25
 
26
- 'gallery_change_archive_slug' => true,
27
- 'gallery_new_archive_slug' => 'galleries',
28
  # "Taxonomies" fields
29
- 'enable_portfolio_categories' => true,
30
- 'portfolio_categories_change_archive_slug' => true,
31
- 'portfolio_categories_new_archive_slug' => 'portfolio_category',
32
- 'enable_gallery_categories' => true,
33
- 'gallery_categories_change_archive_slug' => true,
34
- 'gallery_categories_new_archive_slug' => 'gallery_category',
35
-
36
- 'enable_portfolio-type' => true,
37
- 'portfolio-type_change_archive_slug' => true,
38
- 'portfolio-type_new_archive_slug' => 'project-type',
39
-
40
- 'enable_portfolio-tag' => true,
41
- 'portfolio-tag_change_archive_slug' => true,
42
- 'portfolio-tag_new_archive_slug' => 'project-tag',
43
-
44
- ); # config
1
  <?php return array
2
+ (
3
 
4
  # Hidden fields
5
 
6
+ 'settings_saved_once' => '0',
7
 
8
  # "Post Types" fields
9
+ 'enable_portfolio' => true,
10
 
11
+ 'portfolio_single_item_label' => 'Project',
12
+ 'portfolio_multiple_items_label' => 'Projects',
13
 
14
+ 'portfolio_change_single_item_slug' => true,
15
+ 'portfolio_new_single_item_slug' => 'portfolio',
16
 
17
+ 'portfolio_change_archive_slug' => false,
18
+ 'portfolio_new_archive_slug' => '',
19
 
20
  // 'portfolio_use_tags' => false,
21
 
22
+ 'enable_gallery' => true,
23
+ 'gallery_change_single_item_slug' => true,
24
+ 'gallery_new_single_item_slug' => 'gallery',
25
 
26
+ 'gallery_change_archive_slug' => true,
27
+ 'gallery_new_archive_slug' => 'galleries',
28
  # "Taxonomies" fields
29
+ 'enable_portfolio_categories' => true,
30
+ 'portfolio_categories_change_archive_slug' => true,
31
+ 'portfolio_categories_new_archive_slug' => 'portfolio_category',
32
+ 'enable_gallery_categories' => true,
33
+ 'gallery_categories_change_archive_slug' => true,
34
+ 'gallery_categories_new_archive_slug' => 'gallery_category',
35
+
36
+ 'enable_portfolio-type' => true,
37
+ 'portfolio-type_change_archive_slug' => true,
38
+ 'portfolio-type_new_archive_slug' => 'project-type',
39
+
40
+ 'enable_portfolio-tag' => true,
41
+ 'portfolio-tag_change_archive_slug' => true,
42
+ 'portfolio-tag_new_archive_slug' => 'project-tag',
43
+
44
+ ); # config
readme.txt CHANGED
@@ -2,8 +2,8 @@
2
  Contributors: pixelgrade, euthelup, babbardel, vlad.olaru, cristianfrumusanu, razvanonofrei
3
  Tags: custom, post-types, metadata, builder, gallery
4
  Requires at least: 4.3.0
5
- Tested up to: 4.5.2
6
- Stable tag: 1.4.4
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -24,6 +24,9 @@ Note: This plugin is addressed to developers, it doesn't do nothing if it isn't
24
 
25
  == Changelog ==
26
 
 
 
 
27
  = 1.4.4 =
28
  * Added a new image field type
29
 
2
  Contributors: pixelgrade, euthelup, babbardel, vlad.olaru, cristianfrumusanu, razvanonofrei
3
  Tags: custom, post-types, metadata, builder, gallery
4
  Requires at least: 4.3.0
5
+ Tested up to: 4.7.2
6
+ Stable tag: 1.4.5
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
24
 
25
  == Changelog ==
26
 
27
+ = 1.4.5 =
28
+ * Added advanced show_on behaviour and filtering.
29
+
30
  = 1.4.4 =
31
  * Added a new image field type
32
 
settings/hiddens.php CHANGED
@@ -1,13 +1,10 @@
1
- <?php return array
2
- (
3
- 'type' => 'group',
4
- 'options' => array
5
- (
6
- 'settings_saved_once' => array
7
- (
8
- 'default' => '0',
9
- 'value' => '1',
10
- 'type' => 'hidden',
11
- ),
12
- )
13
- ); # config
1
+ <?php return array(
2
+ 'type' => 'group',
3
+ 'options' => array(
4
+ 'settings_saved_once' => array(
5
+ 'default' => '0',
6
+ 'value' => '1',
7
+ 'type' => 'hidden',
8
+ ),
9
+ )
10
+ ); # config
 
 
 
settings/post_types.php CHANGED
@@ -16,8 +16,8 @@ if ( isset( $options["themes"] ) ) {
16
  if ( isset( $theme['post_types'] ) && is_array( $theme['post_types'] ) ) {
17
  foreach ( $theme['post_types'] as $post_type => $post_type_args ) {
18
 
19
- if ( strpos( $post_type, 'jetpack' ) !== FALSE ) {
20
- $post_type = str_replace( 'jetpack-', '', $post_type);
21
  }
22
  $display_option[ str_replace( $theme_name . '_', '', $post_type ) ] = true;
23
  }
@@ -30,14 +30,14 @@ if ( isset( $options["themes"] ) ) {
30
 
31
  $options_config = array(
32
  'type' => 'postbox',
33
- 'label' => __( 'Post Types', 'pixtypes' ),
34
  'options' => array()
35
  ); # config
36
 
37
  if ( $display_option['portfolio'] ) {
38
 
39
  $options_config['options']['enable_portfolio'] = array(
40
- 'label' => __( 'Enable Portfolio', 'pixtypes' ),
41
  'default' => true,
42
  'type' => 'switch',
43
  'show_group' => 'enable_portfolio_group',
@@ -46,20 +46,20 @@ if ( $display_option['portfolio'] ) {
46
  'type' => 'group',
47
  'options' => array(
48
  'portfolio_single_item_label' => array(
49
- 'label' => __( 'Single Item Label', 'pixtypes' ),
50
- 'desc' => __( 'Here you can change the singular label.The default is "Project"', 'pixtypes' ),
51
- 'default' => __( 'Project', 'pixtypes' ),
52
  'type' => 'text',
53
  ),
54
  'portfolio_multiple_items_label' => array(
55
- 'label' => __( 'Multiple Items Label (plural)', 'pixtypes' ),
56
- 'desc' => __( 'Here you can change the plural label.The default is "Projects"', 'pixtypes' ),
57
- 'default' => __( 'Projects', 'pixtypes' ),
58
  'type' => 'text',
59
  ),
60
  'portfolio_change_single_item_slug' => array(
61
- 'label' => __( 'Change Single Item Slug', 'pixtypes' ),
62
- 'desc' => __( 'Do you want to rewrite the single portfolio item slug?', 'pixtypes' ),
63
  'default' => true,
64
  'type' => 'switch',
65
  'show_group' => 'portfolio_change_single_item_slug_group',
@@ -68,16 +68,16 @@ if ( $display_option['portfolio'] ) {
68
  'type' => 'group',
69
  'options' => array(
70
  'portfolio_new_single_item_slug' => array(
71
- 'label' => __( 'New Single Item Slug', 'pixtypes' ),
72
- 'desc' => __( 'Change the single portfolio item slug as you need it.', 'pixtypes' ),
73
  'default' => 'project',
74
  'type' => 'text',
75
  ),
76
  ),
77
  ),
78
  'portfolio_change_archive_slug' => array(
79
- 'label' => __( 'Change Archive Slug', 'pixtypes' ),
80
- 'desc' => __( 'Do you want to rewrite the portfolio archive slug? This will only be used if you don\'t have a page with the Portfolio template.', 'pixtypes' ),
81
  'default' => false,
82
  'type' => 'switch',
83
  'show_group' => 'portfolio_change_archive_slug_group',
@@ -86,8 +86,8 @@ if ( $display_option['portfolio'] ) {
86
  'type' => 'group',
87
  'options' => array(
88
  'portfolio_new_archive_slug' => array(
89
- 'label' => __( 'New Archive Slug', 'pixtypes' ),
90
- 'desc' => __( 'Change the portfolio archive slug as you need it.', 'pixtypes' ),
91
  'default' => 'portfolio',
92
  'type' => 'text',
93
  ),
@@ -101,7 +101,7 @@ if ( $display_option['portfolio'] ) {
101
  if ( $display_option['gallery'] ) {
102
 
103
  $options_config['options']['enable_gallery'] = array(
104
- 'label' => __( 'Enable Gallery', 'pixtypes' ),
105
  'default' => true,
106
  'type' => 'switch',
107
  'show_group' => 'enable_gallery_group',
@@ -110,8 +110,8 @@ if ( $display_option['gallery'] ) {
110
  'type' => 'group',
111
  'options' => array(
112
  'gallery_change_single_item_slug' => array(
113
- 'label' => __( 'Change Single Item Slug', 'pixtypes' ),
114
- 'desc' => __( 'Do you want to rewrite the single gallery item slug?', 'pixtypes' ),
115
  'default' => true,
116
  'type' => 'switch',
117
  'show_group' => 'gallery_change_single_item_slug_group',
@@ -120,16 +120,16 @@ if ( $display_option['gallery'] ) {
120
  'type' => 'group',
121
  'options' => array(
122
  'gallery_new_single_item_slug' => array(
123
- 'label' => __( 'New Single Item Slug', 'pixtypes' ),
124
- 'desc' => __( 'Change the single gallery item slug as you need it.', 'pixtypes' ),
125
  'default' => 'project',
126
  'type' => 'text',
127
  ),
128
  ),
129
  ),
130
  'gallery_change_archive_slug' => array(
131
- 'label' => __( 'Change Archive Slug', 'pixtypes' ),
132
- 'desc' => __( 'Do you want to rewrite the gallery archive slug? This will only be used if you don\'t have a page with the gallery template.', 'pixtypes' ),
133
  'default' => false,
134
  'type' => 'switch',
135
  'show_group' => 'gallery_change_archive_slug_group',
@@ -140,8 +140,8 @@ if ( $display_option['gallery'] ) {
140
  (
141
  'gallery_new_archive_slug' => array
142
  (
143
- 'label' => __( 'New Archive Slug', 'pixtypes' ),
144
- 'desc' => __( 'Change the gallery archive slug as you need it.', 'pixtypes' ),
145
  'default' => 'gallery',
146
  'type' => 'text',
147
  ),
16
  if ( isset( $theme['post_types'] ) && is_array( $theme['post_types'] ) ) {
17
  foreach ( $theme['post_types'] as $post_type => $post_type_args ) {
18
 
19
+ if ( strpos( $post_type, 'jetpack' ) !== false ) {
20
+ $post_type = str_replace( 'jetpack-', '', $post_type );
21
  }
22
  $display_option[ str_replace( $theme_name . '_', '', $post_type ) ] = true;
23
  }
30
 
31
  $options_config = array(
32
  'type' => 'postbox',
33
+ 'label' => esc_html__( 'Post Types', 'pixtypes' ),
34
  'options' => array()
35
  ); # config
36
 
37
  if ( $display_option['portfolio'] ) {
38
 
39
  $options_config['options']['enable_portfolio'] = array(
40
+ 'label' => esc_html__( 'Enable Portfolio', 'pixtypes' ),
41
  'default' => true,
42
  'type' => 'switch',
43
  'show_group' => 'enable_portfolio_group',
46
  'type' => 'group',
47
  'options' => array(
48
  'portfolio_single_item_label' => array(
49
+ 'label' => esc_html__( 'Single Item Label', 'pixtypes' ),
50
+ 'desc' => esc_html__( 'Here you can change the singular label.The default is "Project"', 'pixtypes' ),
51
+ 'default' => esc_html__( 'Project', 'pixtypes' ),
52
  'type' => 'text',
53
  ),
54
  'portfolio_multiple_items_label' => array(
55
+ 'label' => esc_html__( 'Multiple Items Label (plural)', 'pixtypes' ),
56
+ 'desc' => esc_html__( 'Here you can change the plural label. The default is "Projects"', 'pixtypes' ),
57
+ 'default' => esc_html__( 'Projects', 'pixtypes' ),
58
  'type' => 'text',
59
  ),
60
  'portfolio_change_single_item_slug' => array(
61
+ 'label' => esc_html__( 'Change Single Item Slug', 'pixtypes' ),
62
+ 'desc' => esc_html__( 'Do you want to rewrite the single portfolio item slug?', 'pixtypes' ),
63
  'default' => true,
64
  'type' => 'switch',
65
  'show_group' => 'portfolio_change_single_item_slug_group',
68
  'type' => 'group',
69
  'options' => array(
70
  'portfolio_new_single_item_slug' => array(
71
+ 'label' => esc_html__( 'New Single Item Slug', 'pixtypes' ),
72
+ 'desc' => esc_html__( 'Change the single portfolio item slug as you need it.', 'pixtypes' ),
73
  'default' => 'project',
74
  'type' => 'text',
75
  ),
76
  ),
77
  ),
78
  'portfolio_change_archive_slug' => array(
79
+ 'label' => esc_html__( 'Change Archive Slug', 'pixtypes' ),
80
+ 'desc' => esc_html__( 'Do you want to rewrite the portfolio archive slug? This will only be used if you don\'t have a page with the Portfolio template.', 'pixtypes' ),
81
  'default' => false,
82
  'type' => 'switch',
83
  'show_group' => 'portfolio_change_archive_slug_group',
86
  'type' => 'group',
87
  'options' => array(
88
  'portfolio_new_archive_slug' => array(
89
+ 'label' => esc_html__( 'New Archive Slug', 'pixtypes' ),
90
+ 'desc' => esc_html__( 'Change the portfolio archive slug as you need it.', 'pixtypes' ),
91
  'default' => 'portfolio',
92
  'type' => 'text',
93
  ),
101
  if ( $display_option['gallery'] ) {
102
 
103
  $options_config['options']['enable_gallery'] = array(
104
+ 'label' => esc_html__( 'Enable Gallery', 'pixtypes' ),
105
  'default' => true,
106
  'type' => 'switch',
107
  'show_group' => 'enable_gallery_group',
110
  'type' => 'group',
111
  'options' => array(
112
  'gallery_change_single_item_slug' => array(
113
+ 'label' => esc_html__( 'Change Single Item Slug', 'pixtypes' ),
114
+ 'desc' => esc_html__( 'Do you want to rewrite the single gallery item slug?', 'pixtypes' ),
115
  'default' => true,
116
  'type' => 'switch',
117
  'show_group' => 'gallery_change_single_item_slug_group',
120
  'type' => 'group',
121
  'options' => array(
122
  'gallery_new_single_item_slug' => array(
123
+ 'label' => esc_html__( 'New Single Item Slug', 'pixtypes' ),
124
+ 'desc' => esc_html__( 'Change the single gallery item slug as you need it.', 'pixtypes' ),
125
  'default' => 'project',
126
  'type' => 'text',
127
  ),
128
  ),
129
  ),
130
  'gallery_change_archive_slug' => array(
131
+ 'label' => esc_html__( 'Change Archive Slug', 'pixtypes' ),
132
+ 'desc' => esc_html__( 'Do you want to rewrite the gallery archive slug? This will only be used if you don\'t have a page with the gallery template.', 'pixtypes' ),
133
  'default' => false,
134
  'type' => 'switch',
135
  'show_group' => 'gallery_change_archive_slug_group',
140
  (
141
  'gallery_new_archive_slug' => array
142
  (
143
+ 'label' => esc_html__( 'New Archive Slug', 'pixtypes' ),
144
+ 'desc' => esc_html__( 'Change the gallery archive slug as you need it.', 'pixtypes' ),
145
  'default' => 'gallery',
146
  'type' => 'text',
147
  ),
settings/taxonomies.php CHANGED
@@ -2,15 +2,15 @@
2
 
3
  // init display options with false
4
  $display_option = array(
5
- 'portfolio_categories' => false,
6
- 'gallery_categories' => false,
7
  'jetpack-portfolio-type' => false,
8
- 'jetpack-portfolio-tag' => false
9
  );
10
 
11
- $options = get_option('pixtypes_settings');
12
  // go through each theme and activate portfolio post types
13
- if ( isset($options["themes"]) ) {
14
  $theme_types = $options["themes"];
15
  foreach ( $theme_types as $key => $theme ) {
16
  if ( isset( $theme['taxonomies'] ) && is_array( $theme['taxonomies'] ) ) {
@@ -20,14 +20,14 @@ if ( isset($options["themes"]) ) {
20
  }
21
  $display_settings = true;
22
  } else {
23
- return array( 'type'=> 'hidden');
24
  }
25
  }
26
  }
27
 
28
- $options_config = array (
29
- 'type' => 'postbox',
30
- 'label' => 'Taxonomies',
31
  'options' => array()
32
  ); # config
33
 
@@ -37,7 +37,7 @@ $options_config = array (
37
  if ( $display_option['jetpack-portfolio-type'] ) {
38
 
39
  $options_config['options']['enable_portfolio-type'] = array(
40
- 'label' => __( 'Enable Portfolio Types', 'pixtypes' ),
41
  'default' => true,
42
  'type' => 'switch',
43
  'show_group' => 'enable_portfolio-type_group',
@@ -48,8 +48,8 @@ if ( $display_option['jetpack-portfolio-type'] ) {
48
  'type' => 'group',
49
  'options' => array(
50
  'portfolio-type_change_archive_slug' => array(
51
- 'label' => __( 'Change Portfolio Types Slug', 'pixtypes' ),
52
- 'desc' => __( 'Do you want to rewrite the portfolio type slug?', 'pixtypes' ),
53
  'default' => false,
54
  'type' => 'switch',
55
  'show_group' => 'portfolio-type_change_archive_slug_group'
@@ -58,8 +58,8 @@ if ( $display_option['jetpack-portfolio-type'] ) {
58
  'type' => 'group',
59
  'options' => array(
60
  'portfolio-type_new_archive_slug' => array(
61
- 'label' => __( 'New Portfolio Type Slug', 'pixtypes' ),
62
- 'desc' => __( 'Change the portfolio type slug as you need it.', 'pixtypes' ),
63
  'default' => 'project-type',
64
  'type' => 'text',
65
  ),
@@ -73,7 +73,7 @@ if ( $display_option['jetpack-portfolio-type'] ) {
73
  if ( $display_option['jetpack-portfolio-tag'] ) {
74
 
75
  $options_config['options']['enable_portfolio-tag'] = array(
76
- 'label' => __( 'Enable Portfolio Tag', 'pixtypes' ),
77
  'default' => true,
78
  'type' => 'switch',
79
  'show_group' => 'enable_portfolio-tag_group',
@@ -84,8 +84,8 @@ if ( $display_option['jetpack-portfolio-tag'] ) {
84
  'type' => 'group',
85
  'options' => array(
86
  'portfolio-tag_change_archive_slug' => array(
87
- 'label' => __( 'Change Portfolio Tag Slug', 'pixtypes' ),
88
- 'desc' => __( 'Do you want to rewrite the portfolio tag slug?', 'pixtypes' ),
89
  'default' => false,
90
  'type' => 'switch',
91
  'show_group' => 'portfolio-tag_change_archive_slug_group'
@@ -94,8 +94,8 @@ if ( $display_option['jetpack-portfolio-tag'] ) {
94
  'type' => 'group',
95
  'options' => array(
96
  'portfolio-tag_new_archive_slug' => array(
97
- 'label' => __( 'New Portfolio Tag Slug', 'pixtypes' ),
98
- 'desc' => __( 'Change the portfolio tag slug as you need it.', 'pixtypes' ),
99
  'default' => 'project-tag',
100
  'type' => 'text',
101
  ),
@@ -108,7 +108,7 @@ if ( $display_option['jetpack-portfolio-tag'] ) {
108
  if ( $display_option['portfolio_categories'] ) {
109
 
110
  $options_config['options']['enable_portfolio_categories'] = array(
111
- 'label' => __( 'Enable Portfolio Categories', 'pixtypes' ),
112
  'default' => true,
113
  'type' => 'switch',
114
  'show_group' => 'enable_portfolio_categories_group',
@@ -119,8 +119,8 @@ if ( $display_option['portfolio_categories'] ) {
119
  'type' => 'group',
120
  'options' => array(
121
  'portfolio_categories_change_archive_slug' => array(
122
- 'label' => __( 'Change Category Slug', 'pixtypes' ),
123
- 'desc' => __( 'Do you want to rewrite the portfolio category slug?', 'pixtypes' ),
124
  'default' => false,
125
  'type' => 'switch',
126
  'show_group' => 'portfolio_categories_change_archive_slug_group'
@@ -129,8 +129,8 @@ if ( $display_option['portfolio_categories'] ) {
129
  'type' => 'group',
130
  'options' => array(
131
  'portfolio_categories_new_archive_slug' => array(
132
- 'label' => __( 'New Category Slug', 'pixtypes' ),
133
- 'desc' => __( 'Change the portfolio category slug as you need it.', 'pixtypes' ),
134
  'default' => 'portfolio_categories',
135
  'type' => 'text',
136
  ),
@@ -143,7 +143,7 @@ if ( $display_option['portfolio_categories'] ) {
143
  if ( $display_option['gallery_categories'] ) {
144
 
145
  $options_config['options']['enable_gallery_categories'] = array(
146
- 'label' => __( 'Enable Gallery Categories', 'pixtypes' ),
147
  'default' => true,
148
  'type' => 'switch',
149
  'show_group' => 'enable_gallery_categories_group'
@@ -153,8 +153,8 @@ if ( $display_option['gallery_categories'] ) {
153
  'type' => 'group',
154
  'options' => array(
155
  'gallery_categories_change_archive_slug' => array(
156
- 'label' => __( 'Change Category Slug', 'pixtypes' ),
157
- 'desc' => __( 'Do you want to rewrite the gallery category slug?', 'pixtypes' ),
158
  'default' => false,
159
  'type' => 'switch',
160
  'show_group' => 'gallery_categories_change_archive_slug_group'
@@ -163,8 +163,8 @@ if ( $display_option['gallery_categories'] ) {
163
  'type' => 'group',
164
  'options' => array(
165
  'gallery_categories_new_archive_slug' => array(
166
- 'label' => __( 'New Category Slug', 'pixtypes' ),
167
- 'desc' => __( 'Change the gallery category slug as you need it.', 'pixtypes' ),
168
  'default' => 'gallery_categories',
169
  'type' => 'text',
170
  ),
2
 
3
  // init display options with false
4
  $display_option = array(
5
+ 'portfolio_categories' => false,
6
+ 'gallery_categories' => false,
7
  'jetpack-portfolio-type' => false,
8
+ 'jetpack-portfolio-tag' => false
9
  );
10
 
11
+ $options = get_option( 'pixtypes_settings' );
12
  // go through each theme and activate portfolio post types
13
+ if ( isset( $options["themes"] ) ) {
14
  $theme_types = $options["themes"];
15
  foreach ( $theme_types as $key => $theme ) {
16
  if ( isset( $theme['taxonomies'] ) && is_array( $theme['taxonomies'] ) ) {
20
  }
21
  $display_settings = true;
22
  } else {
23
+ return array( 'type' => 'hidden' );
24
  }
25
  }
26
  }
27
 
28
+ $options_config = array(
29
+ 'type' => 'postbox',
30
+ 'label' => 'Taxonomies',
31
  'options' => array()
32
  ); # config
33
 
37
  if ( $display_option['jetpack-portfolio-type'] ) {
38
 
39
  $options_config['options']['enable_portfolio-type'] = array(
40
+ 'label' => esc_html__( 'Enable Portfolio Types', 'pixtypes' ),
41
  'default' => true,
42
  'type' => 'switch',
43
  'show_group' => 'enable_portfolio-type_group',
48
  'type' => 'group',
49
  'options' => array(
50
  'portfolio-type_change_archive_slug' => array(
51
+ 'label' => esc_html__( 'Change Portfolio Types Slug', 'pixtypes' ),
52
+ 'desc' => esc_html__( 'Do you want to rewrite the portfolio type slug?', 'pixtypes' ),
53
  'default' => false,
54
  'type' => 'switch',
55
  'show_group' => 'portfolio-type_change_archive_slug_group'
58
  'type' => 'group',
59
  'options' => array(
60
  'portfolio-type_new_archive_slug' => array(
61
+ 'label' => esc_html__( 'New Portfolio Type Slug', 'pixtypes' ),
62
+ 'desc' => esc_html__( 'Change the portfolio type slug as you need it.', 'pixtypes' ),
63
  'default' => 'project-type',
64
  'type' => 'text',
65
  ),
73
  if ( $display_option['jetpack-portfolio-tag'] ) {
74
 
75
  $options_config['options']['enable_portfolio-tag'] = array(
76
+ 'label' => esc_html__( 'Enable Portfolio Tag', 'pixtypes' ),
77
  'default' => true,
78
  'type' => 'switch',
79
  'show_group' => 'enable_portfolio-tag_group',
84
  'type' => 'group',
85
  'options' => array(
86
  'portfolio-tag_change_archive_slug' => array(
87
+ 'label' => esc_html__( 'Change Portfolio Tag Slug', 'pixtypes' ),
88
+ 'desc' => esc_html__( 'Do you want to rewrite the portfolio tag slug?', 'pixtypes' ),
89
  'default' => false,
90
  'type' => 'switch',
91
  'show_group' => 'portfolio-tag_change_archive_slug_group'
94
  'type' => 'group',
95
  'options' => array(
96
  'portfolio-tag_new_archive_slug' => array(
97
+ 'label' => esc_html__( 'New Portfolio Tag Slug', 'pixtypes' ),
98
+ 'desc' => esc_html__( 'Change the portfolio tag slug as you need it.', 'pixtypes' ),
99
  'default' => 'project-tag',
100
  'type' => 'text',
101
  ),
108
  if ( $display_option['portfolio_categories'] ) {
109
 
110
  $options_config['options']['enable_portfolio_categories'] = array(
111
+ 'label' => esc_html__( 'Enable Portfolio Categories', 'pixtypes' ),
112
  'default' => true,
113
  'type' => 'switch',
114
  'show_group' => 'enable_portfolio_categories_group',
119
  'type' => 'group',
120
  'options' => array(
121
  'portfolio_categories_change_archive_slug' => array(
122
+ 'label' => esc_html__( 'Change Category Slug', 'pixtypes' ),
123
+ 'desc' => esc_html__( 'Do you want to rewrite the portfolio category slug?', 'pixtypes' ),
124
  'default' => false,
125
  'type' => 'switch',
126
  'show_group' => 'portfolio_categories_change_archive_slug_group'
129
  'type' => 'group',
130
  'options' => array(
131
  'portfolio_categories_new_archive_slug' => array(
132
+ 'label' => esc_html__( 'New Category Slug', 'pixtypes' ),
133
+ 'desc' => esc_html__( 'Change the portfolio category slug as you need it.', 'pixtypes' ),
134
  'default' => 'portfolio_categories',
135
  'type' => 'text',
136
  ),
143
  if ( $display_option['gallery_categories'] ) {
144
 
145
  $options_config['options']['enable_gallery_categories'] = array(
146
+ 'label' => esc_html__( 'Enable Gallery Categories', 'pixtypes' ),
147
  'default' => true,
148
  'type' => 'switch',
149
  'show_group' => 'enable_gallery_categories_group'
153
  'type' => 'group',
154
  'options' => array(
155
  'gallery_categories_change_archive_slug' => array(
156
+ 'label' => esc_html__( 'Change Category Slug', 'pixtypes' ),
157
+ 'desc' => esc_html__( 'Do you want to rewrite the gallery category slug?', 'pixtypes' ),
158
  'default' => false,
159
  'type' => 'switch',
160
  'show_group' => 'gallery_categories_change_archive_slug_group'
163
  'type' => 'group',
164
  'options' => array(
165
  'gallery_categories_new_archive_slug' => array(
166
+ 'label' => esc_html__( 'New Category Slug', 'pixtypes' ),
167
+ 'desc' => esc_html__( 'Change the gallery category slug as you need it.', 'pixtypes' ),
168
  'default' => 'gallery_categories',
169
  'type' => 'text',
170
  ),
views/admin.php CHANGED
@@ -1,86 +1,88 @@
1
  <?php
2
- /**
3
- * Represents the view for the administration dashboard.
4
- *
5
- * This includes the header, options, and other information that should
6
- * provide the user interface to the end user.
7
- *
8
- * @package PixTypes
9
- * @author Pixelgrade <contact@pixelgrade.com>
10
- * @license GPL-2.0+
11
- * @link http://pixelgrade.com
12
- * @copyright 2013 Pixel Grade Media
13
- */
14
-
15
- $config = include pixtypes::pluginpath().'plugin-config'.EXT;
16
-
17
- // invoke processor
18
- $processor = pixtypes::processor($config);
19
- $status = $processor->status();
20
- $errors = $processor->errors(); ?>
21
 
22
  <div class="wrap" id="pixtypes_form">
23
 
24
  <div id="icon-options-general" class="icon32"><br></div>
25
 
26
- <h2><?php _e('Pixtypes', 'pixtypes'); ?></h2>
27
 
28
- <?php if ($processor->ok()): ?>
29
 
30
- <?php if ( ! empty($errors)): ?>
31
  <br/>
32
  <p class="update-nag">
33
- <strong><?php _e('Unable to save settings.', 'pixtypes'); ?></strong>
34
- <?php _e('Please check the fields for errors and typos.', 'pixtypes'); ?>
35
  </p>
36
  <?php endif; ?>
37
 
38
- <?php if ($processor->performed_update()): ?>
39
  <br/>
40
  <p class="update-nag">
41
- <?php _e('Settings have been updated.', 'pixtypes');?>
42
  </p>
43
  <?php endif; ?>
44
 
45
- <?php echo $f = pixtypes::form($config, $processor);
46
- echo $f->field('hiddens')->render(); ?>
47
 
48
- <?php echo $f->field('post_types')->render(); ?>
49
 
50
- <?php echo $f->field('taxonomies')->render(); ?>
51
 
52
- <button type="submit" class="button button-primary">
53
- <?php _e('Save Changes', 'pixtypes'); ?>
54
- </button>
55
 
56
  <?php echo $f->endform() ?>
57
 
58
- <?php elseif ($status['state'] == 'error'): ?>
59
 
60
- <h3>Critical Error</h3>
61
 
62
  <p><?php echo $status['message'] ?></p>
63
 
64
  <?php endif; ?>
65
 
66
- <?php $options = get_option('pixtypes_settings');
67
- if ( isset( $options['themes'] ) && count($options['themes']) > 1 ) { ?>
68
 
69
  <div class="uninstall_area postbox">
70
 
71
  <div class="handlediv" title="Click to toggle"><br></div>
72
- <h3 class="hndle"><span>Danger Zone</span></h3>
73
 
74
  <div class="inside">
75
 
76
- <p><?php _e('If you are done with copying your content from old post types to the new ones, you can also get rid of the old post types', 'pixtypes'); ?></p>
77
- <form method="post" id="unset_pixypes" action="<?php echo admin_url('options-general.php?page=pixtypes') ?>" >
78
- <input type="hidden" class="unset_nonce" name="unset_nonce" value="<?php echo wp_create_nonce('unset_pixtype') ?>" />
 
 
79
  <ul>
80
  <?php
81
  if ( isset( $options['themes'] ) && count( $options['themes'] ) > 1 ) {
82
- foreach( $options['themes'] as $key => $theme ){
83
- echo '<li><button class="button delete-action" type="submit" name="unset_pixtype" value="'. $key .'">'.__('Unset', 'pixtypes').' '.$key.'</button></li>';
84
  }
85
  } ?>
86
  </ul>
1
  <?php
2
+ /**
3
+ * Represents the view for the administration dashboard.
4
+ *
5
+ * This includes the header, options, and other information that should
6
+ * provide the user interface to the end user.
7
+ *
8
+ * @package PixTypes
9
+ * @author Pixelgrade <contact@pixelgrade.com>
10
+ * @license GPL-2.0+
11
+ * @link http://pixelgrade.com
12
+ * @copyright 2013 Pixel Grade Media
13
+ */
14
+
15
+ $config = include pixtypes::pluginpath() . 'plugin-config' . EXT;
16
+
17
+ // invoke processor
18
+ $processor = pixtypes::processor( $config );
19
+ $status = $processor->status();
20
+ $errors = $processor->errors(); ?>
21
 
22
  <div class="wrap" id="pixtypes_form">
23
 
24
  <div id="icon-options-general" class="icon32"><br></div>
25
 
26
+ <h2><?php esc_html_e( 'Pixtypes', 'pixtypes' ); ?></h2>
27
 
28
+ <?php if ( $processor->ok() ): ?>
29
 
30
+ <?php if ( ! empty( $errors ) ): ?>
31
  <br/>
32
  <p class="update-nag">
33
+ <strong><?php esc_html_e( 'Unable to save settings.', 'pixtypes' ); ?></strong>
34
+ <?php esc_html_e( 'Please check the fields for errors and typos.', 'pixtypes' ); ?>
35
  </p>
36
  <?php endif; ?>
37
 
38
+ <?php if ( $processor->performed_update() ): ?>
39
  <br/>
40
  <p class="update-nag">
41
+ <?php esc_html_e( 'Settings have been updated.', 'pixtypes' ); ?>
42
  </p>
43
  <?php endif; ?>
44
 
45
+ <?php echo $f = pixtypes::form( $config, $processor );
46
+ echo $f->field( 'hiddens' )->render(); ?>
47
 
48
+ <?php echo $f->field( 'post_types' )->render(); ?>
49
 
50
+ <?php echo $f->field( 'taxonomies' )->render(); ?>
51
 
52
+ <button type="submit" class="button button-primary">
53
+ <?php esc_html_e( 'Save Changes', 'pixtypes' ); ?>
54
+ </button>
55
 
56
  <?php echo $f->endform() ?>
57
 
58
+ <?php elseif ( $status['state'] == 'error' ): ?>
59
 
60
+ <h3><?php esc_html_e( 'Critical Error', 'pixtypes' ); ?></h3>
61
 
62
  <p><?php echo $status['message'] ?></p>
63
 
64
  <?php endif; ?>
65
 
66
+ <?php $options = get_option( 'pixtypes_settings' );
67
+ if ( isset( $options['themes'] ) && count( $options['themes'] ) > 1 ) { ?>
68
 
69
  <div class="uninstall_area postbox">
70
 
71
  <div class="handlediv" title="Click to toggle"><br></div>
72
+ <h3 class="hndle"><span><?php esc_html_e( 'Danger Zone', 'pixtypes' ); ?></span></h3>
73
 
74
  <div class="inside">
75
 
76
+ <p><?php esc_html_e( 'If you are done with copying your content from old post types to new ones, you can also get rid of the old post types.', 'pixtypes' ); ?></p>
77
+ <form method="post" id="unset_pixypes"
78
+ action="<?php echo admin_url( 'options-general.php?page=pixtypes' ) ?>">
79
+ <input type="hidden" class="unset_nonce" name="unset_nonce"
80
+ value="<?php echo wp_create_nonce( 'unset_pixtype' ); ?>"/>
81
  <ul>
82
  <?php
83
  if ( isset( $options['themes'] ) && count( $options['themes'] ) > 1 ) {
84
+ foreach ( $options['themes'] as $key => $theme ) {
85
+ echo '<li><button class="button delete-action" type="submit" name="unset_pixtype" value="' . $key . '">' . esc_html__( 'Unset', 'pixtypes' ) . ' ' . $key . '</button></li>';
86
  }
87
  } ?>
88
  </ul>