Changeset 1806936
- Timestamp:
- 01/22/2018 08:57:34 AM (8 years ago)
- Location:
- tp-framework
- Files:
-
- 174 added
- 5 edited
-
tags/1.0.11 (added)
-
tags/1.0.11/LICENSE (added)
-
tags/1.0.11/addons (added)
-
tags/1.0.11/addons/importer (added)
-
tags/1.0.11/addons/importer/assets (added)
-
tags/1.0.11/addons/importer/assets/css (added)
-
tags/1.0.11/addons/importer/assets/css/style.css (added)
-
tags/1.0.11/addons/importer/assets/css/style.css.map (added)
-
tags/1.0.11/addons/importer/assets/img (added)
-
tags/1.0.11/addons/importer/assets/img/default-image.png (added)
-
tags/1.0.11/addons/importer/assets/img/no-image-preview.png (added)
-
tags/1.0.11/addons/importer/assets/js (added)
-
tags/1.0.11/addons/importer/assets/js/main.js (added)
-
tags/1.0.11/addons/importer/assets/scss (added)
-
tags/1.0.11/addons/importer/assets/scss/style.scss (added)
-
tags/1.0.11/addons/importer/dummy-data (added)
-
tags/1.0.11/addons/importer/dummy-data/theme-unit-test (added)
-
tags/1.0.11/addons/importer/dummy-data/theme-unit-test/screenshot.png (added)
-
tags/1.0.11/addons/importer/dummy-data/theme-unit-test/theme-unit-test-data.xml (added)
-
tags/1.0.11/addons/importer/dummy-data/theme-unit-test/widgets-monster.wie (added)
-
tags/1.0.11/addons/importer/dummy-data/woocommerce (added)
-
tags/1.0.11/addons/importer/dummy-data/woocommerce/dummy-data.xml (added)
-
tags/1.0.11/addons/importer/dummy-data/woocommerce/screenshot.png (added)
-
tags/1.0.11/addons/importer/dummy-data/woocommerce/widgets.wie (added)
-
tags/1.0.11/addons/importer/importer.php (added)
-
tags/1.0.11/addons/importer/includes (added)
-
tags/1.0.11/addons/importer/includes/class-importer-customize-setting.php (added)
-
tags/1.0.11/addons/importer/includes/class-importer-customizer.php (added)
-
tags/1.0.11/addons/importer/includes/class-importer-downloader.php (added)
-
tags/1.0.11/addons/importer/includes/class-importer-widgets.php (added)
-
tags/1.0.11/addons/importer/includes/helper-functions.php (added)
-
tags/1.0.11/addons/importer/templates (added)
-
tags/1.0.11/addons/importer/templates/available.php (added)
-
tags/1.0.11/addons/importer/templates/upload.php (added)
-
tags/1.0.11/addons/importer/wordpress-importer (added)
-
tags/1.0.11/addons/importer/wordpress-importer/parsers.php (added)
-
tags/1.0.11/addons/importer/wordpress-importer/wordpress-importer.php (added)
-
tags/1.0.11/assets (added)
-
tags/1.0.11/assets/css (added)
-
tags/1.0.11/assets/css/_field-textfield.css (added)
-
tags/1.0.11/assets/css/_field-textfield.css.map (added)
-
tags/1.0.11/assets/css/_field-widget.css (added)
-
tags/1.0.11/assets/css/_field-widget.css.map (added)
-
tags/1.0.11/assets/css/admin.css (added)
-
tags/1.0.11/assets/css/admin.css.map (added)
-
tags/1.0.11/assets/css/admin.min.css (added)
-
tags/1.0.11/assets/css/font-awesome.css (added)
-
tags/1.0.11/assets/css/font-awesome.min.css (added)
-
tags/1.0.11/assets/css/front.css (added)
-
tags/1.0.11/assets/css/front.css.map (added)
-
tags/1.0.11/assets/css/front.min.css (added)
-
tags/1.0.11/assets/fonts (added)
-
tags/1.0.11/assets/fonts/FontAwesome.otf (added)
-
tags/1.0.11/assets/fonts/fontawesome-webfont.eot (added)
-
tags/1.0.11/assets/fonts/fontawesome-webfont.svg (added)
-
tags/1.0.11/assets/fonts/fontawesome-webfont.ttf (added)
-
tags/1.0.11/assets/fonts/fontawesome-webfont.woff (added)
-
tags/1.0.11/assets/fonts/fontawesome-webfont.woff2 (added)
-
tags/1.0.11/assets/images (added)
-
tags/1.0.11/assets/images/add-large.png (added)
-
tags/1.0.11/assets/images/add.png (added)
-
tags/1.0.11/assets/images/move.png (added)
-
tags/1.0.11/assets/images/remove.png (added)
-
tags/1.0.11/assets/images/select2-spinner.gif (added)
-
tags/1.0.11/assets/images/select2.png (added)
-
tags/1.0.11/assets/images/select2x2.png (added)
-
tags/1.0.11/assets/js (added)
-
tags/1.0.11/assets/js/admin_fields.js (added)
-
tags/1.0.11/assets/js/admin_fields.min.js (added)
-
tags/1.0.11/assets/js/customize-fields.js (added)
-
tags/1.0.11/assets/js/customize-fields.min.js (added)
-
tags/1.0.11/assets/js/front.js (added)
-
tags/1.0.11/assets/js/front.min.js (added)
-
tags/1.0.11/assets/js/libs.js (added)
-
tags/1.0.11/assets/js/libs.min.js (added)
-
tags/1.0.11/assets/js/repeater-libs.js (added)
-
tags/1.0.11/assets/js/repeater-libs.min.js (added)
-
tags/1.0.11/assets/scss (added)
-
tags/1.0.11/assets/scss/_field-file.scss (added)
-
tags/1.0.11/assets/scss/_field-group.scss (added)
-
tags/1.0.11/assets/scss/_field-repeater.scss (added)
-
tags/1.0.11/assets/scss/_field-textfield.scss (added)
-
tags/1.0.11/assets/scss/_field-typography.scss (added)
-
tags/1.0.11/assets/scss/_field-widget.scss (added)
-
tags/1.0.11/assets/scss/_vars.scss (added)
-
tags/1.0.11/assets/scss/admin.scss (added)
-
tags/1.0.11/assets/scss/front.scss (added)
-
tags/1.0.11/assets/vendors (added)
-
tags/1.0.11/assets/vendors/datetimepicker (added)
-
tags/1.0.11/assets/vendors/datetimepicker/jquery.datetimepicker.css (added)
-
tags/1.0.11/assets/vendors/datetimepicker/jquery.datetimepicker.js (added)
-
tags/1.0.11/assets/vendors/datetimepicker/jquery.datetimepicker.min.css (added)
-
tags/1.0.11/assets/vendors/datetimepicker/jquery.datetimepicker.min.js (added)
-
tags/1.0.11/assets/vendors/dependency (added)
-
tags/1.0.11/assets/vendors/dependency/dependency.js (added)
-
tags/1.0.11/assets/vendors/dependency/dependency.min.js (added)
-
tags/1.0.11/assets/vendors/fonticonpicker (added)
-
tags/1.0.11/assets/vendors/fonticonpicker/css (added)
-
tags/1.0.11/assets/vendors/fonticonpicker/css/jquery.fonticonpicker.css (added)
-
tags/1.0.11/assets/vendors/fonticonpicker/css/jquery.fonticonpicker.min.css (added)
-
tags/1.0.11/assets/vendors/fonticonpicker/fonts (added)
-
tags/1.0.11/assets/vendors/fonticonpicker/fonts/iconpicker.eot (added)
-
tags/1.0.11/assets/vendors/fonticonpicker/fonts/iconpicker.svg (added)
-
tags/1.0.11/assets/vendors/fonticonpicker/fonts/iconpicker.ttf (added)
-
tags/1.0.11/assets/vendors/fonticonpicker/fonts/iconpicker.woff (added)
-
tags/1.0.11/assets/vendors/fonticonpicker/js (added)
-
tags/1.0.11/assets/vendors/fonticonpicker/js/jquery.fonticonpicker.js (added)
-
tags/1.0.11/assets/vendors/fonticonpicker/js/jquery.fonticonpicker.min.js (added)
-
tags/1.0.11/assets/vendors/geocomplete (added)
-
tags/1.0.11/assets/vendors/geocomplete/jquery.geocomplete.js (added)
-
tags/1.0.11/assets/vendors/geocomplete/jquery.geocomplete.min.js (added)
-
tags/1.0.11/assets/vendors/selectize (added)
-
tags/1.0.11/assets/vendors/selectize/selectize.css (added)
-
tags/1.0.11/assets/vendors/selectize/selectize.default.css (added)
-
tags/1.0.11/assets/vendors/selectize/selectize.default.min.css (added)
-
tags/1.0.11/assets/vendors/selectize/selectize.js (added)
-
tags/1.0.11/assets/vendors/selectize/selectize.legacy.css (added)
-
tags/1.0.11/assets/vendors/selectize/selectize.legacy.min.css (added)
-
tags/1.0.11/assets/vendors/selectize/selectize.min.css (added)
-
tags/1.0.11/assets/vendors/selectize/selectize.min.js (added)
-
tags/1.0.11/assets/vendors/selectize/spinner.gif (added)
-
tags/1.0.11/includes (added)
-
tags/1.0.11/includes/admin-fields (added)
-
tags/1.0.11/includes/admin-fields/field_autocomplete.php (added)
-
tags/1.0.11/includes/admin-fields/field_color_picker.php (added)
-
tags/1.0.11/includes/admin-fields/field_datetime.php (added)
-
tags/1.0.11/includes/admin-fields/field_default.php (added)
-
tags/1.0.11/includes/admin-fields/field_icon_picker.php (added)
-
tags/1.0.11/includes/admin-fields/field_image_picker.php (added)
-
tags/1.0.11/includes/admin-fields/field_image_select.php (added)
-
tags/1.0.11/includes/admin-fields/field_link.php (added)
-
tags/1.0.11/includes/admin-fields/field_map.php (added)
-
tags/1.0.11/includes/admin-fields/field_repeater.php (added)
-
tags/1.0.11/includes/admin-fields/field_typography.php (added)
-
tags/1.0.11/includes/admin-fields/field_upload.php (added)
-
tags/1.0.11/includes/class-tpfw-customizer.php (added)
-
tags/1.0.11/includes/class-tpfw-fonts.php (added)
-
tags/1.0.11/includes/class-tpfw-menu.php (added)
-
tags/1.0.11/includes/class-tpfw-metabox.php (added)
-
tags/1.0.11/includes/class-tpfw-taxonomy.php (added)
-
tags/1.0.11/includes/class-tpfw-widget.php (added)
-
tags/1.0.11/includes/customize-fields (added)
-
tags/1.0.11/includes/customize-fields/field_autocomplete.php (added)
-
tags/1.0.11/includes/customize-fields/field_datetime.php (added)
-
tags/1.0.11/includes/customize-fields/field_heading.php (added)
-
tags/1.0.11/includes/customize-fields/field_icon_picker.php (added)
-
tags/1.0.11/includes/customize-fields/field_image_select.php (added)
-
tags/1.0.11/includes/customize-fields/field_link.php (added)
-
tags/1.0.11/includes/customize-fields/field_map.php (added)
-
tags/1.0.11/includes/customize-fields/field_multicheck.php (added)
-
tags/1.0.11/includes/customize-fields/field_repeater.php (added)
-
tags/1.0.11/includes/customize-fields/field_select.php (added)
-
tags/1.0.11/includes/customize-fields/field_typography.php (added)
-
tags/1.0.11/includes/googlefonts.php (added)
-
tags/1.0.11/includes/tpfw-helpers-functions.php (added)
-
tags/1.0.11/includes/tpfw-sanitize-functions.php (added)
-
tags/1.0.11/languages (added)
-
tags/1.0.11/languages/tp-framework.pot (added)
-
tags/1.0.11/readme.txt (added)
-
tags/1.0.11/sample (added)
-
tags/1.0.11/sample/assets (added)
-
tags/1.0.11/sample/assets/opt-1.jpg (added)
-
tags/1.0.11/sample/assets/opt-2.jpg (added)
-
tags/1.0.11/sample/assets/opt-3.jpg (added)
-
tags/1.0.11/sample/assets/sidebar-left.jpg (added)
-
tags/1.0.11/sample/assets/sidebar-none.jpg (added)
-
tags/1.0.11/sample/assets/sidebar-right.jpg (added)
-
tags/1.0.11/sample/customizer.php (added)
-
tags/1.0.11/sample/menu.php (added)
-
tags/1.0.11/sample/post-meta.php (added)
-
tags/1.0.11/sample/sample.php (added)
-
tags/1.0.11/sample/taxonomy.php (added)
-
tags/1.0.11/sample/widget.php (added)
-
tags/1.0.11/tp-framework.php (added)
-
trunk/includes/admin-fields/field_default.php (modified) (2 diffs)
-
trunk/includes/class-tpfw-metabox.php (modified) (8 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/sample/post-meta.php (modified) (3 diffs)
-
trunk/tp-framework.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
tp-framework/trunk/includes/admin-fields/field_default.php
r1785963 r1806936 212 212 */ 213 213 function tpfw_form_select( $settings, $value = '' ) { 214 // p($settings); 215 // v($value); 216 // die(); 214 217 215 $multiple = isset( $settings['multiple'] ) && $settings['multiple'] ? 'multiple' : ''; 218 216 … … 260 258 $selected = in_array( $option_key, $value ) ? 'selected' : ''; 261 259 } else { 262 $selected = $option_key == =$value ? 'selected' : '';260 $selected = $option_key == $value ? 'selected' : ''; 263 261 } 264 262 -
tp-framework/trunk/includes/class-tpfw-metabox.php
r1800926 r1806936 61 61 62 62 $this->settings = wp_parse_args( $args, $defaults ); 63 63 64 64 add_action( 'add_meta_boxes', array( $this, 'register' ) ); 65 66 foreach ( $this->settings['screens'] as $screen => $value ) { 67 68 if ( $value == 'front_page' || $value == 'posts_page' ) { 69 $screen = 'page'; 70 } else if ( !is_string( $screen ) ) { 71 $screen = $value; 72 } else { 73 $screen = $value; 74 } 75 76 add_action( 'save_post_' . $screen, array( $this, 'save' ), 1, 2 ); 77 } 65 add_action( 'save_post', array( $this, 'save' ), 1, 2 ); 78 66 } 79 67 } … … 86 74 87 75 global $post; 88 76 89 77 if ( empty( $post ) ) { 90 78 return; 91 79 } 92 80 81 if ( $screen = $this->getScreen( $post ) ) { 82 83 $this->field_wrapper = '<div class="tpfw_form_row" %3$s><div class="col-label">%1$s</div><div class="col-field">%2$s</div></div>'; 84 85 $this->output = $this->pre_output( $post->ID ); 86 87 add_meta_box( $this->settings['id'], $this->settings['heading'], array( $this, 'output' ), $screen, $this->settings['context'], $this->settings['priority'], $this->settings['fields'] ); 88 } 89 } 90 91 /** 92 * Get screen to display in metabox 93 * @since 1.0.11 94 * 95 * @param object|WP_Post $post 96 * @return string Or false 97 */ 98 protected function getScreen( $post ) { 99 93 100 $screen = false; 94 101 95 102 if ( in_array( $post->post_type, $this->settings['screens'] ) || in_array( $post->ID, $this->settings['screens'] ) ) { 96 103 $screen = $post->post_type; 104 } else if ( !empty( $post->page_template ) ) { 105 106 $templates = wp_get_theme()->get_page_templates( $post, $post->post_type ); 107 108 if ( isset( $templates[$post->page_template] ) ) { 109 $_screen = $templates[$post->page_template]; 110 if ( in_array( $_screen, $this->settings['screens'] ) ) { 111 $screen = $post->post_type; 112 } 113 } 114 97 115 } else { 98 116 99 117 $blogPage = in_array( 'posts_page', $this->settings['screens'] ) && $post->ID == get_option( 'page_for_posts' ); 100 $frontPage = in_array( 'front_page', $this->settings['screens'] ) && $post->ID == get_option( 'page_for_posts' ); 118 $frontPage = in_array( 'front_page', $this->settings['screens'] ) && $post->ID == get_option( 'page_on_front' ); 119 101 120 if ( $blogPage || $frontPage ) { 102 121 $screen = 'page'; 103 122 } 104 105 } 106 107 if ( $screen ) { 108 109 $this->field_wrapper = '<div class="tpfw_form_row" %3$s><div class="col-label">%1$s</div><div class="col-field">%2$s</div></div>'; 110 111 $this->output = $this->pre_output( $post->ID ); 112 113 add_meta_box( $this->settings['id'], $this->settings['heading'], array( $this, 'output' ), $screen, $this->settings['context'], $this->settings['priority'], $this->settings['fields'] ); 114 } 123 } 124 125 return $screen; 115 126 } 116 127 … … 263 274 /** 264 275 * Save post meta 276 * 265 277 * @param int $post_id 266 278 * @param object|WP_Post $post … … 268 280 public function save( $post_id, $post ) { 269 281 282 /* Don't save if $_POST is empty */ 283 if ( empty( $_POST ) ) { 284 return $post_id; 285 } 286 287 /* Don't save during autosave */ 288 if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) 289 return $post_id; 290 270 291 $metabox = $this->settings; 271 292 272 /* don't save if $_POST is empty */ 273 if ( empty( $_POST ) ) 274 return $post_id; 275 276 /* don't save during autosave */ 277 if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) 278 return $post_id; 279 280 /* verify nonce */ 293 /* Verify nonce */ 281 294 if ( !isset( $_POST[$metabox['id'] . '_nonce'] ) || !wp_verify_nonce( $_POST[$metabox['id'] . '_nonce'], $metabox['id'] ) ) 282 295 return $post_id; 283 296 284 /* check permissions */ 285 if ( isset( $_POST['post_type'] ) && 'page' == sanitize_text_field( $_POST['post_type'] ) ) { 286 if ( !current_user_can( 'edit_page', $post_id ) ) 287 return $post_id; 288 } else { 289 if ( !current_user_can( 'edit_post', $post_id ) ) 290 return $post_id; 291 } 292 297 /* Check permissions */ 298 $screen = $this->getScreen( $post ); 299 300 if ( 'page' == $screen && !current_user_can( 'edit_page', $post_id ) ) { 301 return $post_id; 302 } else if ( !current_user_can( 'edit_post', $post_id ) ) { 303 return $post_id; 304 } 305 306 /** 307 * Do save 308 */ 293 309 $allow_save = true; 294 310 … … 321 337 $value = call_user_func( $field['sanitize_callback'], $input_value ); 322 338 } else { 339 323 340 if ( $field['type'] == 'upload' ) { 324 341 $value = tpfw_sanitize_upload( $input_value ); … … 328 345 $value = !empty( $input_value ) ? 1 : 0; 329 346 } elseif ( $field['type'] == 'link' ) { 330 331 347 $value = strip_tags( $input_value ); 332 348 } elseif ( $field['type'] == 'textarea' ) { 333 334 349 $value = wp_kses( trim( wp_unslash( $input_value ) ), wp_kses_allowed_html( 'post' ) ); 335 350 } elseif ( $field['type'] == 'repeater' && !empty( $input_value ) ) { … … 344 359 */ 345 360 $value = apply_filters( "tpfw_sanitize_field_{$field['type']}", $value, $input_value ); 346 347 361 update_post_meta( $post_id, $field['name'], $value ); 348 362 } else { … … 351 365 } 352 366 } 367 353 368 do_action( sprintf( 'tpfw_%s_updated', $metabox['id'] ), $post_id, $post, $allow_save ); 354 369 } -
tp-framework/trunk/readme.txt
r1800926 r1806936 5 5 Requires at least: 4.5 6 6 Tested up to: 4.9 7 Stable tag: 1.0.1 07 Stable tag: 1.0.11 8 8 License: GPLv3 9 9 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 83 83 == Changelog == 84 84 85 = 1.0.11 (January 22, 2018): = 86 * Fix metabox in front_page is not display 87 * Add: Display metabox in page by Template Name of the page 88 85 89 = 1.0.10 (January 11, 2018): = 86 90 * Fix dependency fields js in edit form taxonomy -
tp-framework/trunk/sample/post-meta.php
r1785963 r1806936 48 48 ), 49 49 array( 50 51 50 'name' => 'tpfw_textfield', 52 51 'type' => 'textfield', … … 223 222 $box1 = new Tpfw_Metabox( array( 224 223 'id' => 'tpfw_metabox', 225 'screens' => array( 'p age' ), //Display in post, page, front_page, posts_page224 'screens' => array( 'post', 2, 'Contact Page', 'About Page' ), //Display in post, page, front_page, posts_page or page_template name 226 225 'heading' => __( 'Metabox', 'tp-framework' ), 227 226 'context' => 'advanced', //side … … 292 291 ) 293 292 ), 294 295 293 array( 296 294 'name' => 'tpfw_textfield_multi', -
tp-framework/trunk/tp-framework.php
r1800926 r1806936 6 6 Description: Create Admin fields, metabox, widget, taxonomy, menu meta, customizer fields quickly and friendly. 7 7 Author: themespond 8 Version: 1.0.1 08 Version: 1.0.11 9 9 Author URI: https://themespond.com 10 10 Text Domain: tp-framework … … 22 22 * @var string 23 23 */ 24 public $version = '1.0.1 0';24 public $version = '1.0.11'; 25 25 26 26 /**
Note: See TracChangeset
for help on using the changeset viewer.