Responsive Pricing Table - Version 3.1

Version Description

  • SAFE UPDATE: No data loss for those upgrading from version 3.0
  • Preventing plugin conflicts
Download this release

Release Info

Developer spwebguy
Plugin Icon 128x128 Responsive Pricing Table
Version 3.1
Comparing to
See all releases

Code changes from version 3.0 to 3.1

Files changed (40) hide show
  1. cmb/.gitignore +0 -52
  2. cmb/.travis.yml +0 -23
  3. cmb/js/cmb.min.js +0 -1
  4. cmb/package.json +0 -31
  5. cmb/readme.md +0 -298
  6. cmb/style.css +0 -652
  7. cmb/style.min.css +0 -1
  8. cmb/tests/README.md +0 -52
  9. cmb/tests/bin/install-wp-tests.sh +0 -78
  10. cmb/tests/phpunit/includes/bootstrap.php +0 -62
  11. cmb/tests/phpunit/tests/CMB_Core_Test.php +0 -9
  12. {cmb → dkrpt}/Gruntfile.js +6 -6
  13. cmb/helpers/cmb_Meta_Box_Sanitize.php → dkrpt/helpers/dkrpt_Meta_Box_Sanitize.php +12 -12
  14. cmb/helpers/cmb_Meta_Box_Show_Filters.php → dkrpt/helpers/dkrpt_Meta_Box_Show_Filters.php +5 -5
  15. cmb/helpers/cmb_Meta_Box_ajax.php → dkrpt/helpers/dkrpt_Meta_Box_ajax.php +12 -12
  16. cmb/helpers/cmb_Meta_Box_field.php → dkrpt/helpers/dkrpt_Meta_Box_field.php +22 -22
  17. cmb/helpers/cmb_Meta_Box_types.php → dkrpt/helpers/dkrpt_Meta_Box_types.php +53 -53
  18. {cmb → dkrpt}/images/ico-delete.png +0 -0
  19. {cmb → dkrpt}/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  20. {cmb → dkrpt}/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  21. {cmb → dkrpt}/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  22. {cmb → dkrpt}/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  23. {cmb → dkrpt}/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  24. {cmb → dkrpt}/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  25. {cmb → dkrpt}/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  26. {cmb → dkrpt}/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  27. {cmb → dkrpt}/images/ui-icons_222222_256x240.png +0 -0
  28. {cmb → dkrpt}/images/ui-icons_2e83ff_256x240.png +0 -0
  29. {cmb → dkrpt}/images/ui-icons_454545_256x240.png +0 -0
  30. {cmb → dkrpt}/images/ui-icons_888888_256x240.png +0 -0
  31. {cmb → dkrpt}/images/ui-icons_cd0a0a_256x240.png +0 -0
  32. {cmb → dkrpt}/init.php +102 -102
  33. dkrpt/js/dkrpt.min.js +1 -0
  34. {cmb → dkrpt}/js/jquery.datePicker.min.js +0 -0
  35. {cmb → dkrpt}/js/jquery.timePicker.min.js +0 -0
  36. {cmb → dkrpt}/phpunit.xml +0 -0
  37. dkrpt/style.css +652 -0
  38. dkrpt/style.min.css +1 -0
  39. readme.txt +8 -0
  40. rpt.php +12 -12
cmb/.gitignore DELETED
@@ -1,52 +0,0 @@
1
- # Created by http://www.gitignore.io
2
-
3
- ### OSX ###
4
- .DS_Store
5
- .AppleDouble
6
- .LSOverride
7
-
8
- # Icon must end with two \r
9
- Icon
10
-
11
- # Thumbnails
12
- ._*
13
-
14
- # Files that might appear on external disk
15
- .Spotlight-V100
16
- .Trashes
17
-
18
- # Directories potentially created on remote AFP share
19
- .AppleDB
20
- .AppleDesktop
21
- Network Trash Folder
22
- Temporary Items
23
- .apdisk
24
-
25
-
26
- ### Node ###
27
- # Logs
28
- logs
29
- *.log
30
-
31
- # Runtime data
32
- pids
33
- *.pid
34
- *.seed
35
-
36
- # Directory for instrumented libs generated by jscoverage/JSCover
37
- lib-cov
38
-
39
- # Coverage directory used by tools like istanbul
40
- coverage
41
-
42
- # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
43
- .grunt
44
-
45
- # Compiled binary addons (http://nodejs.org/api/addons.html)
46
- build/Release
47
-
48
- # Dependency directory
49
- # Deployed apps should consider commenting this line out:
50
- # see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git
51
- node_modules
52
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cmb/.travis.yml DELETED
@@ -1,23 +0,0 @@
1
- language: php
2
-
3
- php:
4
- - 5.3
5
- - 5.4
6
-
7
- env:
8
- - WP_VERSION=latest WP_MULTISITE=0
9
- - WP_VERSION=latest WP_MULTISITE=1
10
- - WP_VERSION=3.8 WP_MULTISITE=0
11
- - WP_VERSION=3.8 WP_MULTISITE=1
12
- - WP_VERSION=3.5 WP_MULTISITE=0
13
- - WP_VERSION=3.5 WP_MULTISITE=1
14
-
15
- before_script:
16
- - bash tests/bin/install-wp-tests.sh wordpress_test root '' localhost $WP_VERSION
17
-
18
- script: phpunit
19
-
20
- branches:
21
- only:
22
- - master
23
- - trunk
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cmb/js/cmb.min.js DELETED
@@ -1 +0,0 @@
1
- window.CMB=function(e,t,n,r){"use strict";var i=e.cmb_l10;var s=e.setTimeout;var o={formfield:"",idNumber:false,file_frames:{},repeatEls:'input:not([type="button"]),select,textarea,.cmb_media_status'};o.metabox=function(){if(o.$metabox){return o.$metabox}o.$metabox=n("table.cmb_metabox");return o.$metabox};o.init=function(){var t=o.metabox();var r=t.find(".repeatable-group");if(i.new_admin_style){t.find(".cmb-spinner img").hide()}o.initPickers(t.find("input:text.cmb_timepicker"),t.find("input:text.cmb_datepicker"),t.find("input:text.cmb_colorpicker"));n("#ui-datepicker-div").wrap('<div class="cmb_element" />');n('<p><span class="button cmb-multicheck-toggle">'+i.check_toggle+"</span></p>").insertBefore("ul.cmb_checkbox_list");t.on("change",".cmb_upload_file",function(){o.formfield=n(this).attr("id");n("#"+o.formfield+"_id").val("")}).on("click",".cmb-multicheck-toggle",o.toggleCheckBoxes).on("click",".cmb_upload_button",o.handleMedia).on("click",".cmb_remove_file_button",o.handleRemoveMedia).on("click",".add-group-row",o.addGroupRow).on("click",".add-row-button",o.addAjaxRow).on("click",".remove-group-row",o.removeGroupRow).on("click",".remove-row-button",o.removeAjaxRow).on("keyup paste focusout",".cmb_oembed",o.maybeOembed).on("cmb_remove_row",".repeatable-group",o.resetTitlesAndIterator);if(r.length){r.filter(".sortable").each(function(){n(this).find(".remove-group-row").before('<a class="shift-rows move-up alignleft" href="#">'+i.up_arrow+'</a> <a class="shift-rows move-down alignleft" href="#">'+i.down_arrow+"</a>")}).on("click",".shift-rows",o.shiftRows).on("cmb_add_row",o.emptyValue)}s(o.resizeoEmbeds,500);n(e).on("resize",o.resizeoEmbeds)};o.resetTitlesAndIterator=function(){n(".repeatable-group").each(function(){var e=n(this);e.find(".repeatable-grouping").each(function(t){var r=n(this);r.data("iterator",t);r.find(".cmb-group-title h4").text(e.find(".add-group-row").data("grouptitle").replace("{#}",t+1))})})};o.toggleCheckBoxes=function(e){e.preventDefault();var t=n(this);var r=t.parents("td").find("input[type=checkbox]");if(t.data("checked")){r.prop("checked",false);t.data("checked",false)}else{r.prop("checked",true);t.data("checked",true)}};o.handleMedia=function(e){if(!wp){return}e.preventDefault();var t=o.metabox();var r=n(this);o.formfield=r.prev("input").attr("id");var s=n("#"+o.formfield);var u=s.attr("name");var a=true;var f=true;var l=r.hasClass("cmb_upload_list");if(o.formfield in o.file_frames){o.file_frames[o.formfield].open();return}o.file_frames[o.formfield]=wp.media.frames.file_frame=wp.media({title:t.find("label[for="+o.formfield+"]").text(),button:{text:i.upload_file},multiple:l?true:false});var c={list:function(e){f=e.toJSON();s.val(f.url);n("#"+o.formfield+"_id").val(f.id);var t=[];n(f).each(function(){if(this.type&&this.type==="image"){a='<li class="img_status">'+'<img width="50" height="50" src="'+this.url+'" class="attachment-50x50" alt="'+this.filename+'">'+'<p><a href="#" class="cmb_remove_file_button" rel="'+o.formfield+"["+this.id+']">'+i.remove_image+"</a></p>"+'<input type="hidden" id="filelist-'+this.id+'" name="'+u+"["+this.id+']" value="'+this.url+'">'+"</li>"}else{a="<li>"+i.file+" <strong>"+this.filename+'</strong>&nbsp;&nbsp;&nbsp; (<a href="'+this.url+'" target="_blank" rel="external">'+i.download+'</a> / <a href="#" class="cmb_remove_file_button" rel="'+o.formfield+"["+this.id+']">'+i.remove_file+"</a>)"+'<input type="hidden" id="filelist-'+this.id+'" name="'+u+"["+this.id+']" value="'+this.url+'">'+"</li>"}t.push(a)});n(t).each(function(){s.siblings(".cmb_media_status").slideDown().append(this)})},single:function(e){f=e.first().toJSON();s.val(f.url);n("#"+o.formfield+"_id").val(f.id);if(f.type&&f.type==="image"){a='<div class="img_status"><img style="max-width: 350px; width: 100%; height: auto;" src="'+f.url+'" alt="'+f.filename+'" title="'+f.filename+'" /><p><a href="#" class="cmb_remove_file_button" rel="'+o.formfield+'">'+i.remove_image+"</a></p></div>"}else{a=i.file+" <strong>"+f.filename+'</strong>&nbsp;&nbsp;&nbsp; (<a href="'+f.url+'" target="_blank" rel="external">'+i.download+'</a> / <a href="#" class="cmb_remove_file_button" rel="'+o.formfield+'">'+i.remove_file+"</a>)"}s.siblings(".cmb_media_status").slideDown().html(a)}};o.file_frames[o.formfield].on("select",function(){var e=o.file_frames[o.formfield].state().get("selection");var t=l?"list":"single";c[t](e)});o.file_frames[o.formfield].open()};o.handleRemoveMedia=function(e){e.preventDefault();var t=n(this);if(t.is(".attach_list .cmb_remove_file_button")){t.parents("li").remove();return false}o.formfield=t.attr("rel");var r=t.parents(".img_status");o.metabox().find("input#"+o.formfield).val("");o.metabox().find("input#"+o.formfield+"_id").val("");if(!r.length){t.parents(".cmb_media_status").html("")}else{r.html("")}return false};n.fn.replaceText=function(e,t,r){return this.each(function(){var i=this.firstChild,s,o,u=[];if(i){do{if(i.nodeType===3){s=i.nodeValue;o=s.replace(e,t);if(o!==s){if(!r&&/</.test(o)){n(i).before(o);u.push(i)}else{i.nodeValue=o}}}}while(i=i.nextSibling)}if(u.length){n(u).remove()}})};n.fn.cleanRow=function(e,t){var r=n(this);var i=r.find('input:not([type="button"]), select, textarea, label');if(t){r.find(".cmb-repeat-table .repeat-row:not(:first-child)").remove()}o.$focus=false;o.neweditor_id=[];i.filter(":checked").removeAttr("checked");i.filter(":selected").removeAttr("selected");if(t){if(r.find(".cmb-group-title")){r.find(".cmb-group-title h4").text(r.data("title").replace("{#}",o.idNumber+1))}}i.each(function(){var t=n(this);var r=t.hasClass("wp-editor-area");var i=t.attr("for");var s={};var u,a;if(i){s={"for":i.replace("_"+e,"_"+o.idNumber)}}else{var f=t.attr("name");var l=f?f.replace("["+e+"]","["+o.idNumber+"]"):"";a=t.attr("id");u=a?a.replace("_"+e,"_"+o.idNumber):"";s={id:u,name:l,"data-iterator":o.idNumber}}t.removeClass("hasDatepicker").attr(s).val("");if(r){u=u?a.replace("zx"+e,"zx"+o.idNumber):"";t.html("");var c=t.parents(".cmb-type-wysiwyg");c.find(".mce-tinymce:not(:first-child)").remove();var h=c.html().replace(new RegExp(a,"g"),u);c.html(h);o.neweditor_id.push({id:u,old:a})}o.$focus=o.$focus?o.$focus:t});return this};n.fn.newRowHousekeeping=function(){var e=n(this);var t=e.find(".wp-picker-container");var r=e.find(".cmb_media_status");if(t.length){t.each(function(){var e=n(this).parent();e.html(e.find("input:text.cmb_colorpicker").attr("style",""))})}if(r.length){r.empty()}return this};o.afterRowInsert=function(e){if(o.$focus){o.$focus.focus()}var t;if(o.neweditor_id.length){var n;for(n=o.neweditor_id.length-1;n>=0;n--){var r=o.neweditor_id[n].id;var i=o.neweditor_id[n].old;if(typeof tinyMCEPreInit.mceInit[r]==="undefined"){var s=jQuery.extend({},tinyMCEPreInit.mceInit[i]);for(t in s){if("string"===typeof s[t]){s[t]=s[t].replace(new RegExp(i,"g"),r)}}tinyMCEPreInit.mceInit[r]=s}if(typeof tinyMCEPreInit.qtInit[r]==="undefined"){var u=jQuery.extend({},tinyMCEPreInit.qtInit[i]);for(t in u){if("string"===typeof u[t]){u[t]=u[t].replace(new RegExp(i,"g"),r)}}tinyMCEPreInit.qtInit[r]=u}tinyMCE.init({id:tinyMCEPreInit.mceInit[r]})}}o.initPickers(e.find("input:text.cmb_timepicker"),e.find("input:text.cmb_datepicker"),e.find("input:text.cmb_colorpicker"))};o.updateNameAttr=function(){var e=n(this);var t=e.attr("name");if(typeof t==="undefined"){return false}var r=parseInt(e.parents(".repeatable-grouping").data("iterator"));var i=r-1;var s=t.replace("["+r+"]","["+i+"]");e.attr("name",s)};o.emptyValue=function(e,t){n('input:not([type="button"]), textarea',t).val("")};o.addGroupRow=function(e){e.preventDefault();var t=n(this);var r=n("#"+t.data("selector"));var i=r.find(".repeatable-grouping").last();var s=parseInt(i.data("iterator"));var u=r.find(".repeatable-grouping").length;o.idNumber=s+1;var a=i.clone();a.data("title",t.data("grouptitle")).newRowHousekeeping().cleanRow(s,true);var f=n('<tr class="repeatable-grouping" data-iterator="'+o.idNumber+'">'+a.html()+"</tr>");i.after(f);o.afterRowInsert(f);if(r.find(".repeatable-grouping").length<=1){r.find(".remove-group-row").prop("disabled",true)}else{r.find(".remove-group-row").removeAttr("disabled")}r.trigger("cmb_add_row",f);if(u>3){var l='<div class="143413253" style="margin-bottom:18px; color:#97473d;">The number of plans is limited to <strong>5</strong>.</div>';n(".add-group-row").before(l);n(".add-group-row").remove()}};o.addAjaxRow=function(e){e.preventDefault();var t=n(this);var r="#"+t.data("selector");var i=n(r);var s=i.find(".empty-row");var u=parseInt(s.find("[data-iterator]").data("iterator"));o.idNumber=u+1;var a=s.clone();a.newRowHousekeeping().cleanRow(u);s.removeClass("empty-row").addClass("repeat-row");s.after(a);o.afterRowInsert(a);i.trigger("cmb_add_row",a)};o.removeGroupRow=function(e){e.preventDefault();var t=n(this);var r=n("#"+t.data("selector"));var i=t.parents(".repeatable-grouping");var s=r.find(".repeatable-grouping").length;i.nextAll(".repeatable-grouping").find(o.repeatEls).each(o.updateNameAttr);if(s>1){i.remove();if(s<3){r.find(".remove-group-row").prop("disabled",true)}else{r.find(".remove-group-row").prop("disabled",false)}r.trigger("cmb_remove_row")}};o.removeAjaxRow=function(e){e.preventDefault();var t=n(this);var r=t.parents("tr");var i=t.parents(".cmb-repeat-table");if(i.find("tr").length>1){if(r.hasClass("empty-row")){r.prev().addClass("empty-row").removeClass("repeat-row")}t.parents(".cmb-repeat-table tr").remove();i.trigger("cmb_remove_row")}};o.shiftRows=function(e){e.preventDefault();var t=n(this);var r=t.parents(".repeatable-grouping");var i=t.hasClass("move-up")?r.prev(".repeatable-grouping"):r.next(".repeatable-grouping");if(!i.length){return}var s=[];r.find(o.repeatEls).each(function(){var e=n(this);var t;if(e.hasClass("cmb_media_status")){t=e.html()}else if("checkbox"===e.attr("type")){t=e.is(":checked");o.log("checked",t)}else if("select"===e.prop("tagName")){t=e.is(":selected");o.log("checked",t)}else{t=e.val()}s.push({val:t,$:e})});i.find(o.repeatEls).each(function(e){var t=n(this);var r;if(t.hasClass("cmb_media_status")){r=t.html();t.html(s[e]["val"]);s[e]["$"].html(r)}else if("checkbox"===t.attr("type")){s[e]["$"].prop("checked",t.is(":checked"));t.prop("checked",s[e]["val"])}else if("select"===t.prop("tagName")){s[e]["$"].prop("selected",t.is(":selected"));t.prop("selected",s[e]["val"])}else{s[e]["$"].val(t.val());t.val(s[e]["val"])}})};o.initPickers=function(e,t,n){o.initTimePickers(e);o.initDatePickers(t);o.initColorPickers(n)};o.initTimePickers=function(e){if(!e.length){return}e.timePicker({startTime:"00:00",endTime:"23:59",show24Hours:false,separator:":",step:30})};o.initDatePickers=function(e){if(!e.length){return}e.datepicker("destroy");e.datepicker()};o.initColorPickers=function(e){if(!e.length){return}if(typeof jQuery.wp==="object"&&typeof jQuery.wp.wpColorPicker==="function"){e.wpColorPicker()}else{e.each(function(e){n(this).after('<div id="picker-'+e+'" style="z-index: 1000; background: #EEE; border: 1px solid #CCC; position: absolute; display: block;"></div>');n("#picker-"+e).hide().farbtastic(n(this))}).focus(function(){n(this).next().show()}).blur(function(){n(this).next().hide()})}};o.maybeOembed=function(e){var t=n(this);var r=e.type;var i={focusout:function(){s(function(){o.spinner(".postbox table.cmb_metabox",true)},2e3)},keyup:function(){var n=function(t,n){return e.which<=n&&e.which>=t};if(n(48,90)||n(96,111)||n(8,9)||e.which===187||e.which===190){o.doAjax(t,e)}},paste:function(){s(function(){o.doAjax(t)},100)}};i[r]()};o.resizeoEmbeds=function(){o.metabox().each(function(){var e=n(this);var t=e.parents(".inside");if(!t.length){return true}var r=Math.round(t.width()*.82*.97)-30;if(r>639){return true}var i=e.find(".cmb-type-oembed .embed_status");var s=i.children().not(".cmb_remove_wrapper");if(!s.length){return true}s.each(function(){var e=n(this);var t=e.width();var i=e.height();var s=r;if(e.parents(".repeat-row").length){s=r-91}var o=Math.round(s*i/t);e.width(s).height(o)})})};o.log=function(){if(i.script_debug&&console&&typeof console.log==="function"){console.log.apply(console,arguments)}};o.spinner=function(e,t){if(t){n(".cmb-spinner",e).hide()}else{n(".cmb-spinner",e).show()}};o.doAjax=function(e){var t=e.val();if(t.length<6){return}var r=e.attr("id");var u=e.parents(".cmb-repeat-table tr td");u=u.length?u:e.parents(".cmb_metabox tr td");var a=n(".embed_status",u);var f=e.width();var l=n(":first-child",a);o.log("oembed_url",t,r);f=a.length&&l.length?l.width():e.width();o.spinner(u);n(".embed_wrap",u).html("");s(function(){if(n(".cmb_oembed:focus").val()!==t){return}n.ajax({type:"post",dataType:"json",url:i.ajaxurl,data:{action:"cmb_oembed_handler",oembed_url:t,oembed_width:f>300?f:300,field_id:r,object_id:e.data("objectid"),object_type:e.data("objecttype"),cmb_ajax_nonce:i.ajax_nonce},success:function(e){o.log(e);if(typeof e.id==="undefined"){return}o.spinner(u,true);n(".embed_wrap",u).html(e.result)}})},500)};n(t).ready(o.init);return o}(window,document,jQuery)
 
cmb/package.json DELETED
@@ -1,31 +0,0 @@
1
- {
2
- "name": "cmb",
3
- "version": "1.1.3",
4
- "description": "**Contributors**:",
5
- "main": "Gruntfile.js",
6
- "directories": {
7
- "test": "tests"
8
- },
9
- "scripts": {
10
- "test": "echo \"Error: no test specified\" && exit 1"
11
- },
12
- "repository": {
13
- "type": "git",
14
- "url": "https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress"
15
- },
16
- "author": "WebDevStudios",
17
- "license": "GPLv2",
18
- "bugs": {
19
- "url": "https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues"
20
- },
21
- "homepage": "https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress",
22
- "devDependencies": {
23
- "grunt-phpunit": "~0.3.3",
24
- "grunt": "~0.4.4",
25
- "grunt-githooks": "~0.3.1",
26
- "grunt-contrib-jshint": "~0.10.0",
27
- "grunt-contrib-uglify": "~0.4.0",
28
- "grunt-contrib-cssmin": "~0.9.0",
29
- "grunt-contrib-watch": "~0.6.1"
30
- }
31
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cmb/readme.md DELETED
@@ -1,298 +0,0 @@
1
- # Custom Metaboxes and Fields for WordPress
2
-
3
- **Note: all future development will continue on [CMB2](https://github.com/WebDevStudios/CMB2). It is currently in beta testing, so use at your own risk. Backwards compatibility is not guaranteed.**
4
-
5
- **Contributors**:
6
-
7
- * WebDevStudios ( [@webdevstudios](http://twitter.com/webdevstudios ) / [webdevstudios.com](http://webdevstudios.com) )
8
- * Justin Sternberg ( [@jtsternberg](http://twitter.com/jtsternberg ) / [webdevstudios.com](http://webdevstudios.com) )
9
- * Jared Atchison ( [@jaredatch](http://twitter.com/jaredatch ) / [jaredatchison.com](http://jaredatchison.com/) )
10
- * Bill Erickson ( [@billerickson](http://twitter.com/billerickson ) / [billerickson.net](http://billerickson.net/) )
11
- * Andrew Norcross ( [@norcross](http://twitter.com/norcross ) / [andrewnorcross.com](http://andrewnorcross.com/) )
12
-
13
- **Version**: 1.2.0
14
- **Requires at least**: 3.5
15
- **Tested up to**: 3.9
16
- **License**: GPLv2
17
-
18
- ## Description
19
-
20
- Custom Metaboxes and Fields (CMB for short) will create metaboxes and forms with custom fields that will blow your mind.
21
-
22
- ##### Features:
23
-
24
- * Create metaboxes to be used on post edit screens.
25
- * Create forms to be used on options pages.
26
- * Create forms to handle user meta and display them on user profile add/edit pages.
27
- * Flexible API that allows you to use CMB forms almost anywhere, even on the front-end.
28
- * Several field types are included and are [listed below](#field-types).
29
- * Custom API hook that allows you to create your own field types.
30
- * There are numerous hooks and filters, allowing you to modify many aspects of the library (without editing it directly).
31
- * Repeatable fields for most field types are supported, as well as repeatable field groups.
32
-
33
- ##### Field Types:
34
- 1. [`title`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#title) An arbitrary title field *
35
- 1. [`text`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#text)
36
- 1. [`text_small`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#text_small)
37
- 1. [`text_medium`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#text_medium)
38
- 1. [`text_email`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#text_email)
39
- 1. [`text_url`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#text_url)
40
- 1. [`text_money`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#text_money)
41
- 1. [`textarea`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#textarea)
42
- 1. [`textarea_small`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#textarea_small)
43
- 1. [`textarea_code`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#textarea_code)
44
- 1. [`text_date`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#text_date) Date Picker
45
- 1. [`text_time`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#text_time) Time picker
46
- 1. [`select_timezone`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#select_timezone) Time zone dropdown
47
- 1. [`text_date_timestamp`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#text_date_timestamp) Date Picker (UNIX timestamp)
48
- 1. [`text_datetime_timestamp`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#text_datetime_timestamp) Test Date/Time Picker Combo (UNIX timestamp)
49
- 1. [`text_datetime_timestamp_timezone`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#text_datetime_timestamp_timezone) Test Date/Time Picker/Time zone Combo (serialized DateTime object)
50
- 1. [`colorpicker`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#colorpicker) Color picker
51
- 1. [`radio`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#radio) *
52
- 1. [`radio_inline`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#radio_inline) *
53
- 1. [`taxonomy_radio`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#taxonomy_radio) *
54
- 1. [`taxonomy_radio_inline`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#taxonomy_radio_inline) *
55
- 1. [`select`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#select)
56
- 1. [`taxonomy_select`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#taxonomy_select) *
57
- 1. [`checkbox`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#checkbox) *
58
- 1. [`multicheck`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#multicheck)
59
- 1. [`taxonomy_multicheck`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#taxonomy_multicheck) *
60
- 1. [`taxonomy_multicheck_inline`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#taxonomy_multicheck_inline)
61
- 1. [`wysiwyg`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#wysiwyg) (TinyMCE) *
62
- 1. [`file`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#file) Image/File upload *†
63
- 1. [`file_list`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#file_list) Image/File list upload
64
- 1. [`oembed`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#oembed) Converts oembed urls (instagram, twitter, youtube, etc. [oEmbed in the Codex](https://codex.wordpress.org/Embeds))
65
- 1. [`group`](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#group) Hybrid field that supports adding other fields as a repeatable group. *
66
- 1. [Create your own custom field type](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#Custom)
67
-
68
- \* Not available as a repeatable field
69
- † Use `file_list` for repeatable
70
-
71
- [More on field types (GitHub wiki)](https://github.com/webdevstudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types)
72
-
73
- ##### 3rd Party Resources
74
- * [CMB Attached Posts Field](https://github.com/coreymcollins/cmb-attached-posts) from [coreymcollins](https://github.com/coreymcollins): Custom field type for attaching posts to a page.
75
- * [CMB Field Type: Google Maps](https://github.com/mustardBees/cmb_field_map) from [mustardBees](https://github.com/mustardBees): Custom field type for Google Maps.
76
- > The `pw_map` field stores the latitude/longitude values which you can then use to display a map in your theme.
77
- * [CMB Field Type: Select2](https://github.com/mustardBees/cmb-field-select2) from [mustardBees](https://github.com/mustardBees): Custom field types which use the [Select2](http://ivaynberg.github.io/select2/) script:
78
-
79
- > 1. The `pw_select field` acts much like the default select field. However, it adds typeahead-style search allowing you to quickly make a selection from a large list
80
- > 2. The `pw_multiselect` field allows you to select multiple values with typeahead-style search. The values can be dragged and dropped to reorder
81
- * [Taxonomy_MetaData](https://github.com/jtsternberg/Taxonomy_MetaData#to-use-taxonomy_metadata-with-custom-metaboxes-and-fields): WordPress Helper Class for saving pseudo-metadata for taxonomy terms. Includes an extended class for using CMB to generate the actual form fields.
82
-
83
- ##### Contribution
84
- All contributions welcome. If you would like to submit a pull request, please check out the [trunk branch](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/tree/trunk) and pull request against it.
85
-
86
- ##### Links
87
- * [Github project page](https://github.com/webdevstudios/Custom-Metaboxes-and-Fields-for-WordPress)
88
- * [Documentation (GitHub wiki)](https://github.com/webdevstudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki)
89
-
90
-
91
- ## Installation
92
-
93
- 1. Place the CMB directory inside of your theme or plugin.
94
- 2. Copy (and rename if desired) `example-functions.php` into a folder *above* the CMB directory OR copy the entirety of its contents to your theme's `functions.php` file.
95
- 2. Edit to only include the fields you need and rename the functions (CMB directory should be left unedited in order to easily update the library).
96
- 4. Profit.
97
-
98
- ## Changelog
99
-
100
- ### 1.2.0
101
-
102
- **Enhancements**
103
-
104
- * Add support for custom date/time formats. Props [@Scrent](https://github.com/Scrent). ([#506](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/506))
105
- * Simplify `wysiwyg` escaping and allow it to be overridden via the `escape_cb` parameter. ([#491](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/491))
106
- * Add a 'Select/Deselect all' button for the `multicheck` field type.
107
- * Add title option for [repeatable groups](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#group). Title field takes an optional replacement hash, "{#}" that will be replaced by the row number.
108
- * New field parameter, `show_on_cb`, allows you to conditionally display a field via a callback. ([#47](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/47))
109
- * Unit testing (the beginning). Props [@brichards](https://github.com/brichards) and [@camdensegal](https://github.com/camdensegal).
110
-
111
- **Bug Fixes**
112
-
113
- * Fixed issue where remove file button wouldn't clear the url field. ([#514](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/514))
114
- * `wysiwyg` fields now allow underscores. Fixes some wysiwyg display issues in WordPress 3.8. Props [@lswilson](https://github.com/lswilson). ([#491](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/491))
115
- * Nonce field should only be added once per page. ([#521](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/521))
116
- * Fix `in_array` issue when a post does not have any saved terms for a taxonomy multicheck. ([#527](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/527))
117
- * Fixed error: 'Uninitialized string offset: 0 in cmb_Meta_Box_field.php...`. Props [@DevinWalker](https://github.com/DevinWalker). ([#539](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/539), [#549](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/549)))
118
- * Fix missing `file` field description. ([#543](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/543), [#547](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/547))
119
-
120
-
121
-
122
- ### 1.1.3
123
- **Bug Fixes**
124
-
125
- * Update `cmb_get_field_value` function as it was passing the parameters to `cmb_get_field` in the wrong order.
126
- * Fix repeating fields not working correctly if meta key or prefix contained an integer. ([#503](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/503))
127
-
128
- ### 1.1.2
129
-
130
- **Bug Fixes**
131
-
132
- * Fix issue with `cmb_Meta_Box_types.php` calling a missing method, `image_id_from_url`. ([#502](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/502))
133
-
134
-
135
- ### 1.1.1
136
-
137
- **Bug Fixes**
138
-
139
- * Radio button values were not showing saved value. ([#500](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/500))
140
-
141
- ### 1.1.0
142
-
143
- **Enhancements**
144
-
145
- * [Repeatable groups](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#group)
146
- * Support for more fields to be repeatable, including oEmbed field, and date, time, and color picker fields, etc.
147
- * Codebase has been revamped to be more modular and object-oriented.
148
- * New filter, `"cmb_{$element}_attributes" ` for modifying an element's attributes.
149
- * Every field now supports an `attributes` parameter that takes an array of attributes. [Read more](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Field-Types#attributes).
150
- * Removed `cmb_std_filter` in favor of `cmb_default_filter`. **THIS IS A BREAKING CHANGE**
151
- * Better handling of labels in sidebar. They are now placed on top of the input rather than adjacent.
152
- * Added i18n compatibility to text_money. props [@ArchCarrier](https://github.com/ArchCarrier), ([#485](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/485))
153
- * New helper functions: `cmb_get_field` and `cmb_get_field_value` for getting access to CMB's field object and/or value.
154
- * New JavaScript events, `cmb_add_row` and `cmb_remove_row` for hooking in and manipulating the new row's data.
155
- * New filter, `cmb_localized_data`, for modifiying localized data passed to the CMB JS.
156
-
157
- **Bug Fixes**
158
- * Resolved occasional issue where only the first character of the label/value was diplayed. props [@mustardBees](https://github.com/mustardBees), ([#486](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/486))
159
-
160
-
161
- ### 1.0.2
162
-
163
- **Enhancements**
164
-
165
- * Change the way the `'cmb_validate_{$field['type']}'` filter works.
166
- It is now passed a null value vs saved value. If null is returned, default sanitization will follow. **THIS IS A BREAKING CHANGE**. If you're already using this filter, take note.
167
- * All field types that take an option array have been simplified to take `key => value` pairs (vs `array( 'name' => 'value', 'value' => 'key', )`). This effects the 'select', 'radio', 'radio_inline' field types. The 'multicheck' field type was already using the `key => value` format. Backwards compatibility has been maintained for those using the older style.
168
- * Added default value option for `taxonomy_select` field type. props [@darlantc](https://github.com/darlantc), ([#473](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/473))
169
- * Added `preview_size` parameter for `file_list` field type. props [@IgorCode](https://github.com/IgorCode), ([#471](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/471))
170
- * Updated `file_list` images to be displayed horizontally instead of vertically. props [@IgorCode](https://github.com/IgorCode), ([#467](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/467))
171
- * Use `get_the_terms` where possible since the data is cached.
172
-
173
- **Bug Fixes**
174
-
175
- * Fixed wysiwyg escaping slashes. props [@gregrickaby](https://github.com/gregrickaby), ([#465](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/465))
176
- * Replaced `__DIR__`, as `dirname( __FILE__ )` is easier to maintain back-compatibility.
177
- * Fixed missing table styling on new posts. props [@mustardBees](https://github.com/mustardBees), ([#438](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/438))
178
- * Fix undeclared JS variable. [@veelen](https://github.com/veelen), ([#451](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/451))
179
- * Fix `file_list` errors when removing all files and saving.
180
- * Set correct `object_id` to be used later in `cmb_show_on` filter. [@lauravaq](https://github.com/lauravaq), ([#445](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/445))
181
- * Fix sanitization recursion memeory issues.
182
-
183
- ### 1.0.1
184
-
185
- **Enhancements**
186
-
187
- * Now works with option pages and site settings. ([view example in wiki](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/wiki/Using-CMB-to-create-an-Admin-Theme-Options-Page))
188
- * two filters to override the setting and getting of options, `cmb_override_option_get_$option_key` and `cmb_override_option_save_$option_key` respectively. Handy for using plugins like [WP Large Options](https://github.com/voceconnect/wp-large-options/) ([also here](http://vip.wordpress.com/plugins/wp-large-options/)).
189
- * Improved styling on taxonomy (\*tease\*) and options pages and for new 3.8 admin UI.
190
- * New sanitization class to sanitize data when saved.
191
- * New callback field parameter, `sanitization_cb`, for performing your own sanitization.
192
- * new `cmb_Meta_Box_types::esc()` method that handles escaping data for display.
193
- * New callback field parameter, `escape_cb`, for performing your own data escaping, as well as a new filter, `'cmb_types_esc_'. $field['type']`.
194
-
195
- **Bug Fixes**
196
-
197
- * Fixed wysiwyg editor button padding. props [@corvannoorloos](https://github.com/corvannoorloos), ([#391](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/pull/391))
198
- * A few php < 5.3 errors were addressed.
199
- * Fields with quotation marks no longer break the input/textarea fields.
200
- * metaboxes for Attachment pages now save correctly. Thanks [@nciske](https://github.com/nciske) for reporting. ([#412](https://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress/issues/412))
201
- * Occasionally fields wouldn't save because of the admin show_on filter.
202
- * Smaller images loaded to the file field type will no longer be blown up larger than their dimensions.
203
-
204
- ### 1.0.0
205
- * Added `text_datetime_timestamp_timezone` type, a datetime combo field with an additional timezone drop down, props [@dessibelle](https://github.com/dessibelle)
206
- * Added `select_timezone` type, a standalone time zone select dropdown. The time zone select can be used with standalone `text_datetime_timestamp` if desired. Props [@dessibelle](https://github.com/dessibelle)
207
- * Added `text_url` type, a basic url field. Props [@dessibelle](https://github.com/dessibelle)
208
- * Added `text_email` type, a basic email field. Props [@dessibelle](https://github.com/dessibelle)
209
- * Added ability to display metabox fields in frontend. Default is true, but can be overriden using the `cmb_allow_frontend filter`. If set to true, an entire metabox form can be output with the `cmb_metabox_form( $meta_box, $object_id, $echo )` function. Props [@dessibelle](https://github.com/dessibelle), [@messenlehner](https://github.com/messenlehner) & [@jtsternberg](https://github.com/jtsternberg).
210
- * Added hook `cmb_after_table` after all metabox output. Props [@wpsmith](https://github.com/wpsmith)
211
- * `file_list` now works like a repeatable field. Add as many files as you want. Props [@coreymcollins](https://github.com/coreymcollins)
212
- * `text`, `text_small`, `text_medium`, `text_url`, `text_email`, & `text_money` fields now all have the option to be repeatable. Props [@jtsternberg](https://github.com/jtsternberg)
213
- * Custom metaboxes can now be added for user meta. Add them on the user add/edit screen, or in a custom user profile edit page on the front-end. Props [@tw2113](https://github.com/tw2113), [@jtsternberg](https://github.com/jtsternberg)
214
-
215
- ### 0.9.4
216
- * Added field "before" and "after" options for each field. Solves issue with '$' not being the desired text_money monetary symbol, props [@GaryJones](https://github.com/GaryJones)
217
- * Added filter for 'std' default fallback value, props [@messenlehner](https://github.com/messenlehner)
218
- * Ensure oEmbed videos fit in their respective metaboxes, props [@jtsternberg](https://github.com/jtsternberg)
219
- * Fixed issue where an upload field with 'show_names' disabled wouldn't have the correct button label, props [@jtsternberg](https://github.com/jtsternberg)
220
- * Better file-extension check for images, props [@GhostToast](https://github.com/GhostToast)
221
- * New filter, `cmb_valid_img_types`, for whitelisted image file-extensions, props [@jtsternberg](https://github.com/jtsternberg)
222
-
223
- ### 0.9.3
224
- * Added field type and field id classes to each cmb table row, props [@jtsternberg](https://github.com/jtsternberg)
225
-
226
- ### 0.9.2
227
- * Added post type comparison to prevent storing null values for taxonomy selectors, props [@norcross](https://github.com/norcross)
228
-
229
- ### 0.9.1
230
- * Added `oEmbed` field type with ajax display, props [@jtsternberg](https://github.com/jtsternberg)
231
-
232
- ### 0.9
233
- * __Note: This release requires WordPress 3.3+__
234
- * Cleaned up scripts being queued, props [@jaredatch](https://github.com/jaredatch)
235
- * Cleaned up and reorganized jQuery, props [@GaryJones](https://github.com/GaryJones)
236
- * Use $pagenow instead of custom $current_page, props [@jaredatch](https://github.com/jaredatch)
237
- * Fixed CSS, removed inline styles, now all in style.css, props [@jaredatch](https://github.com/jaredatch)
238
- * Fixed multicheck issues (issue #48), props [@jaredatch](https://github.com/jaredatch)
239
- * Fixed jQuery UI datepicker CSS conflicting with WordPress UI elements, props [@jaredatch](https://github.com/jaredatch)
240
- * Fixed zeros not saving in fields, props [@GaryJones](https://github.com/GaryJones)
241
- * Fixed improper labels on radio and multicheck fields, props [@jaredatch](https://github.com/jaredatch)
242
- * Fixed fields not rendering properly when in sidebar, props [@jaredatch](https://github.com/jaredatch)
243
- * Fixed bug where datepicker triggers extra space after footer in Firefox (issue #14), props [@jaredatch](https://github.com/jaredatch)
244
- * Added jQuery UI datepicker packaged with 3.3 core, props [@jaredatch](https://github.com/jaredatch)
245
- * Added date time combo picker, props [@jaredatch](https://github.com/jaredatch)
246
- * Added color picker, props [@jaredatch](https://github.com/jaredatch)
247
- * Added readme.md markdown file, props [@jaredatch](https://github.com/jaredatch)
248
-
249
- ### 0.8
250
- * Added jQuery timepicker, props [@norcross](https://github.com/norcross)
251
- * Added 'raw' textarea to convert special HTML entities back to characters, props [@norcross](https://github.com/norcross)
252
- * Added missing examples on example-functions.php, props [@norcross](https://github.com/norcross)
253
-
254
- ### 0.7
255
- * Added the new wp_editor() function for the WYSIWYG dialog box, props [@jcpry](https://github.com/jcpry)
256
- * Created 'cmb_show_on' filter to define your own Show On Filters, props [@billerickson](https://github.com/billerickson)
257
- * Added page template show_on filter, props [@billerickson](https://github.com/billerickson)
258
- * Improvements to the 'file' field type, props [@randyhoyt](https://github.com/randyhoyt)
259
- * Allow for default values on 'radio' and 'radio_inline' field types, props [@billerickson](https://github.com/billerickson)
260
-
261
- ### 0.6.1
262
- * Enabled the ability to define your own custom field types (issue #28). props [@randyhoyt](https://github.com/randyhoyt)
263
-
264
- ### 0.6
265
- * Added the ability to limit metaboxes to certain posts by id. props [@billerickson](https://github.com/billerickson)
266
-
267
- ### 0.5
268
- * Fixed define to prevent notices. props [@destos](https://github.com/destos)
269
- * Added text_date_timestap option. props [@andrewyno](https://github.com/andrewyno)
270
- * Fixed WYSIWYG paragraph breaking/spacing bug. props [@wpsmith](https://github.com/wpsmith)
271
- * Added taxonomy_radio and taxonomies_select options. props [@c3mdigital](https://github.com/c3mdigital)
272
- * Fixed script causing the dashboard widgets to not be collapsible.
273
- * Fixed various spacing and whitespace inconsistencies
274
-
275
- ### 0.4
276
- * Think we have a release that is mostly working. We'll say the initial release :)
277
-
278
- ## Known Issues
279
-
280
- * Problem inserting file url inside field for image with caption (issue #50) May be fixed, needs testing.
281
- * `CMB_META_BOX_URL` does not define properly in WAMP/XAMP (Windows) (issue #31) May be fixed, needs testing.
282
- * Metabox containing WYSIWYG editor cannot be moved (this is a TinyMCE issue)
283
-
284
- ## To-do
285
- **Enhancements**
286
-
287
- * Fix known issues (above)
288
- * move timepicker and datepicker jQuery inline
289
- * support for multiple configurable timepickers/datepickers
290
- * add ability to save fields in a single custom field
291
- * add ability to mark fields as required
292
- * repeatable fields (halfway there)
293
- * look at possiblity of tabs
294
- * look at preserving taxonomy hierarchies
295
- * Add input attributes filter
296
- * Always load newest version of CMB
297
- * Helper function to easily get oembed from stored oEmbed field
298
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cmb/style.css DELETED
@@ -1,652 +0,0 @@
1
- /**
2
- * CMB Styling
3
- */
4
-
5
- table.cmb_metabox {
6
- clear: both;
7
- }
8
-
9
- table.cmb_metabox > tr:first-of-type > td,
10
- table.cmb_metabox > tr:first-of-type > th,
11
- table.cmb_metabox tbody > tr:first-of-type > td,
12
- table.cmb_metabox tbody > tr:first-of-type > th,
13
- .post-php table.cmb_metabox .cmb-nested-table td,
14
- .post-new-php table.cmb_metabox .cmb-nested-table td,
15
- .post-php table.cmb_metabox .repeatable-group th,
16
- .post-new-php table.cmb_metabox .repeatable-group th,
17
- .post-php table.cmb_metabox .repeatable-group:first-of-type,
18
- .post-new-php table.cmb_metabox .repeatable-group:first-of-type {
19
- border: 0;
20
- }
21
-
22
- .post-php table.cmb_metabox td,
23
- .post-new-php table.cmb_metabox td,
24
- .post-php table.cmb_metabox th,
25
- .post-new-php table.cmb_metabox th,
26
- .post-php table.cmb_metabox .repeatable-group,
27
- .post-new-php table.cmb_metabox .repeatable-group,
28
- .post-php table.cmb_metabox .repeatable-group,
29
- .post-new-php table.cmb_metabox .repeatable-group {
30
- border-top: 1px solid #E9E9E9;
31
- }
32
-
33
- .repeatable-group th {
34
- padding: 0px;
35
- }
36
-
37
- .repeatable-group .shift-rows {
38
- text-decoration: none;
39
- margin-right: 5px;
40
- font-size: 1.2em;
41
- }
42
-
43
- .repeatable-group .cmb_upload_button {
44
- margin: 3px 0px 0px 9px !important;
45
- }
46
-
47
- #poststuff .repeatable-group h2 {
48
- margin: 0;
49
- }
50
-
51
- .cmb-group-title h4 {
52
- font-size: 1.8em;
53
- margin-top: 0px;
54
- margin-bottom: 0px;
55
- border-bottom:solid 7px whitesmoke;
56
- text-align: center;
57
- padding: 9px 10px;
58
- font-weight:400;
59
- color: black;
60
- }
61
-
62
- .post-php table.cmb_metabox th, .post-new-php table.cmb_metabox th {
63
- text-align: right;
64
- font-weight:bold;
65
- }
66
-
67
- .post-php table.cmb_metabox table th, .post-new-php table.cmb_metabox table th {
68
- text-align: left;
69
- }
70
-
71
- table.cmb_metabox th label {
72
- padding-left:10px;
73
- margin-top:14px;
74
- display:block;
75
- font-weight:400;
76
- font-size:13px;
77
- color:#333;
78
- }
79
-
80
- p.cmb_metabox_description {
81
- color: #AAA;
82
- font-style: italic;
83
- margin: 2px 0 !important
84
- }
85
-
86
- span.cmb_metabox_description {
87
- color: #AAA;
88
- font-style: italic
89
- }
90
-
91
- table.cmb_metabox input, table.cmb_metabox textarea {
92
- font-size:14px;
93
- padding: 5px;
94
- }
95
-
96
- table.cmb_metabox input[type=text], table.cmb_metabox textarea {
97
- width: 97%;
98
- }
99
-
100
- table.cmb_metabox textarea.cmb_textarea_code {
101
- font-family: Consolas,Monaco,monospace;
102
- line-height: 16px;
103
- }
104
-
105
- table.cmb_metabox input.cmb_text_small {
106
- width: 100px;
107
- margin-right: 15px
108
- }
109
-
110
- table.cmb_metabox input.cmb_timepicker {
111
- width: 100px;
112
- margin-right: 15px
113
- }
114
-
115
- table.cmb_metabox input.cmb_text_money {
116
- width: 90px;
117
- margin-right: 15px
118
- }
119
-
120
- table.cmb_metabox input.cmb_text_medium {
121
- width: 230px;
122
- margin-right: 15px
123
- }
124
-
125
- table.cmb_metabox input.cmb_upload_file {
126
- width: 65%;
127
- }
128
-
129
- table.cmb_metabox input.ed_button{
130
- padding:2px 4px
131
- }
132
-
133
- table.cmb_metabox li {
134
- font-size:14px;
135
- margin: 1px 0 5px 0;
136
- line-height: 16px;
137
- }
138
-
139
- table.cmb_metabox ul {
140
- padding-top:5px;
141
- margin: 0;
142
- }
143
-
144
- table.cmb_metabox select {
145
- font-size:14px;
146
- margin-top: 3px
147
- }
148
-
149
- table.cmb_metabox input:focus, table.cmb_metabox textarea:focus {
150
- background: #fffff8
151
- }
152
-
153
- .cmb_metabox_title {
154
- margin: 0 0 5px 0;
155
- padding: 5px 0 0 0;
156
- }
157
-
158
- .edit-tags-php .cmb_metabox_title, .profile-php .cmb_metabox_title, .user-edit-php .cmb_metabox_title {
159
- margin-left: -10px;
160
- }
161
-
162
- .cmb-inline ul {
163
- padding: 4px 0 0 0
164
- }
165
-
166
- .cmb-inline li {display: inline-block;
167
- padding-right: 18px
168
- }
169
-
170
- table.cmb_metabox input[type="radio"] {
171
- margin: 0 5px 0 0;
172
- padding: 0
173
- }
174
-
175
- table.cmb_metabox input[type="checkbox"] {
176
- margin: 0 5px 0 0;
177
- padding: 0
178
- }
179
-
180
- table.cmb_metabox .mceLayout {
181
- border:1px solid #DFDFDF !important
182
- }
183
-
184
- table.cmb_metabox .mceIframeContainer {
185
- background:#FFF
186
- }
187
-
188
- table.cmb_metabox .meta_mce {
189
- width:97%
190
- }
191
-
192
- table.cmb_metabox .meta_mce textarea {
193
- width:100%
194
- }
195
-
196
- table.cmb_metabox .cmb_media_status {
197
- margin: 10px 0 0 0
198
- }
199
-
200
- table.cmb_metabox .cmb_media_status .img_status {
201
- clear: none;
202
- float: left;
203
- display: inline-block;
204
- margin-right: 10px;
205
- width: auto;
206
- }
207
-
208
- table.cmb_metabox .cmb-type-file_list .cmb_media_status .img_status {
209
- clear: none;
210
- float: left;
211
- margin-right: 10px;
212
- width: auto;
213
- }
214
-
215
- table.cmb_metabox .cmb_media_status .img_status, table.cmb_metabox .cmb_media_status .embed_status {
216
- position: relative;
217
- }
218
-
219
- table.cmb_metabox .cmb_media_status .img_status img, table.cmb_metabox .cmb_media_status .embed_status {
220
- border:1px solid #DFDFDF;
221
- background: #FAFAFA;
222
- max-width:350px;
223
- padding: 5px;
224
- -moz-border-radius: 2px;
225
- border-radius: 2px
226
- }
227
-
228
- table.cmb_metabox .cmb_media_status .embed_status {
229
- float: left;
230
- max-width:800px
231
- }
232
-
233
- table.cmb_metabox .cmb_media_status .img_status .cmb_remove_file_button, table.cmb_metabox .cmb_media_status .embed_status .cmb_remove_file_button {
234
- text-indent: -9999px;
235
- background: url(images/ico-delete.png);
236
- width: 16px;
237
- height: 16px;
238
- position: absolute;
239
- top: -5px;
240
- left: -5px
241
- }
242
-
243
- table.cmb_metabox .attach_list li {
244
- clear: both;
245
- display: inline-block;
246
- margin-bottom: 25px;
247
- width: 100%;
248
- }
249
-
250
- table.cmb_metabox .attach_list li img {
251
- float: left;
252
- margin-right: 10px;
253
- }
254
-
255
- /**
256
- * Sidebar placement adjustments
257
- */
258
- .inner-sidebar table.cmb_metabox input[type=text],
259
- #side-sortables table.cmb_metabox input[type=text],
260
- table.cmb_metabox textarea {
261
- width: 95%;
262
- }
263
-
264
- .inner-sidebar table.cmb_metabox .cmb_media_status .img_status img,
265
- #side-sortables table.cmb_metabox .cmb_media_status .img_status img,
266
- .inner-sidebar table.cmb_metabox .cmb_media_status .embed_status img,
267
- #side-sortables table.cmb_metabox .cmb_media_status .embed_status img {
268
- width: 90%;
269
- }
270
-
271
- .inner-sidebar table.cmb_metabox label,
272
- #side-sortables table.cmb_metabox label {
273
- display: block;
274
- font-weight: bold;
275
- padding: 0 0 5px;
276
- }
277
-
278
- .inner-sidebar table.cmb_metabox .cmb_list label,
279
- #side-sortables table.cmb_metabox .cmb_list label {
280
- display: inline;
281
- font-weight: normal;
282
- }
283
-
284
- .inner-sidebar table.cmb_metabox .cmb_metabox_description,
285
- #side-sortables table.cmb_metabox .cmb_metabox_description {
286
- display: block;
287
- padding: 7px 0 0;
288
- }
289
-
290
- .inner-sidebar table.cmb_metabox .cmb_metabox_title,
291
- #side-sortables table.cmb_metabox .cmb_metabox_title {
292
- font-size: 1.2em;
293
- font-style: italic;
294
- }
295
-
296
- .postbox table.cmb_metabox .cmb-spinner {
297
- float: left;
298
- }
299
-
300
- /**
301
- * Color picker
302
- */
303
- table.cmb_metabox .wp-color-result, table.cmb_metabox .wp-picker-input-wrap {
304
- vertical-align: middle;
305
- }
306
-
307
- table.cmb_metabox .wp-color-result, table.cmb_metabox .wp-picker-container {
308
- margin: 0 10px 0 0;
309
- }
310
-
311
-
312
- /**
313
- * Timepicker
314
- */
315
- div.time-picker {
316
- position: absolute;
317
- height: 191px;
318
- width:6em;
319
- /* needed for IE */overflow: auto;
320
- background: #fff;
321
- border: 1px solid #aaa;
322
- z-index: 99;
323
- margin: 0
324
- }
325
-
326
- div.time-picker-12hours {
327
- width:8em; /* needed for IE */
328
- }
329
-
330
- div.time-picker ul {
331
- list-style-type: none;
332
- margin: 0;
333
- padding: 0;
334
- }
335
-
336
- div.time-picker li {
337
- cursor: pointer;
338
- height: 10px;
339
- font: 14px/1 Helvetica, Arial, sans-serif;
340
- padding: 4px 3px;
341
- }
342
-
343
- div.time-picker li.selected {
344
- background: #0063CE;
345
- color: #fff;
346
- }
347
-
348
- /**
349
- * jQuery UI CSS Framework 1.8.16
350
- *
351
- * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
352
- * Dual licensed under the MIT or GPL Version 2 licenses.
353
- * http://jquery.org/license
354
- *
355
- * http://docs.jquery.com/UI/Theming/API
356
- */
357
- .cmb_element .ui-helper-hidden { display: none; }
358
- .cmb_element .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
359
- .cmb_element .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
360
- .cmb_element .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
361
- .cmb_element .ui-helper-clearfix { display: inline-block; }
362
- * html .ui-helper-clearfix { height:1%; }
363
- .cmb_element .ui-helper-clearfix { display:block; }
364
- .cmb_element .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
365
- .cmb_element .ui-state-disabled { cursor: default !important; }
366
- .cmb_element .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
367
- .cmb_element .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
368
- .cmb_element .ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
369
- .cmb_element .ui-widget .ui-widget { font-size: 1em; }
370
- .cmb_element .ui-widget input, .cmb_element .ui-widget select, .cmb_element .ui-widget textarea, .cmb_element .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
371
- .cmb_element .ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
372
- .cmb_element .ui-widget-content a { color: #222222; }
373
- .cmb_element .ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
374
- .cmb_element .ui-widget-header a { color: #222222; }
375
- .cmb_element .ui-state-default, .cmb_element .ui-widget-content .ui-state-default, .cmb_element .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
376
- .cmb_element .ui-state-default a, .cmb_element .ui-state-default a:link, .cmb_element .ui-state-default a:visited { color: #555555; text-decoration: none; }
377
- .cmb_element .ui-state-hover, .cmb_element .ui-widget-content .ui-state-hover, .cmb_element .ui-widget-header .ui-state-hover, .cmb_element .ui-state-focus, .cmb_element .ui-widget-content .ui-state-focus, .cmb_element .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
378
- .cmb_element .ui-state-hover a, .cmb_element .ui-state-hover a:hover { color: #212121; text-decoration: none; }
379
- .cmb_element .ui-state-active, .cmb_element .ui-widget-content .ui-state-active, .cmb_element .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
380
- .cmb_element .ui-state-active a, .cmb_element .ui-state-active a:link, .cmb_element .ui-state-active a:visited { color: #212121; text-decoration: none; }
381
- .cmb_element .ui-widget :active { outline: none; }
382
- .cmb_element .ui-state-highlight, .cmb_element .ui-widget-content .ui-state-highlight, .cmb_element .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
383
- .cmb_element .ui-state-highlight a, .cmb_element .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
384
- .cmb_element .ui-state-error, .cmb_element .ui-widget-content .ui-state-error, .cmb_element .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
385
- .cmb_element .ui-state-error a, .cmb_element .ui-widget-content .ui-state-error a, .cmb_element .ui-widget-header .ui-state-error a { color: #cd0a0a; }
386
- .cmb_element .ui-state-error-text, .cmb_element .ui-widget-content .ui-state-error-text, .cmb_element .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
387
- .cmb_element .ui-priority-primary, .cmb_element .ui-widget-content .ui-priority-primary, .cmb_element .ui-widget-header .ui-priority-primary { font-weight: bold; }
388
- .cmb_element .ui-priority-secondary, .cmb_element .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
389
- .cmb_element .ui-state-disabled, .cmb_element .ui-widget-content .ui-state-disabled, .cmb_element .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
390
- .cmb_element .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
391
- .cmb_element .ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
392
- .cmb_element .ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
393
- .cmb_element .ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
394
- .cmb_element .ui-state-hover .ui-icon, .cmb_element .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
395
- .cmb_element .ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
396
- .cmb_element .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
397
- .cmb_element .ui-state-error .ui-icon, .cmb_element .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
398
- .cmb_element .ui-icon-carat-1-n { background-position: 0 0; }
399
- .cmb_element .ui-icon-carat-1-ne { background-position: -16px 0; }
400
- .cmb_element .ui-icon-carat-1-e { background-position: -32px 0; }
401
- .cmb_element .ui-icon-carat-1-se { background-position: -48px 0; }
402
- .cmb_element .ui-icon-carat-1-s { background-position: -64px 0; }
403
- .cmb_element .ui-icon-carat-1-sw { background-position: -80px 0; }
404
- .cmb_element .ui-icon-carat-1-w { background-position: -96px 0; }
405
- .cmb_element .ui-icon-carat-1-nw { background-position: -112px 0; }
406
- .cmb_element .ui-icon-carat-2-n-s { background-position: -128px 0; }
407
- .cmb_element .ui-icon-carat-2-e-w { background-position: -144px 0; }
408
- .cmb_element .ui-icon-triangle-1-n { background-position: 0 -16px; }
409
- .cmb_element .ui-icon-triangle-1-ne { background-position: -16px -16px; }
410
- .cmb_element .ui-icon-triangle-1-e { background-position: -32px -16px; }
411
- .cmb_element .ui-icon-triangle-1-se { background-position: -48px -16px; }
412
- .cmb_element .ui-icon-triangle-1-s { background-position: -64px -16px; }
413
- .cmb_element .ui-icon-triangle-1-sw { background-position: -80px -16px; }
414
- .cmb_element .ui-icon-triangle-1-w { background-position: -96px -16px; }
415
- .cmb_element .ui-icon-triangle-1-nw { background-position: -112px -16px; }
416
- .cmb_element .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
417
- .cmb_element .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
418
- .cmb_element .ui-icon-arrow-1-n { background-position: 0 -32px; }
419
- .cmb_element .ui-icon-arrow-1-ne { background-position: -16px -32px; }
420
- .cmb_element .ui-icon-arrow-1-e { background-position: -32px -32px; }
421
- .cmb_element .ui-icon-arrow-1-se { background-position: -48px -32px; }
422
- .cmb_element .ui-icon-arrow-1-s { background-position: -64px -32px; }
423
- .cmb_element .ui-icon-arrow-1-sw { background-position: -80px -32px; }
424
- .cmb_element .ui-icon-arrow-1-w { background-position: -96px -32px; }
425
- .cmb_element .ui-icon-arrow-1-nw { background-position: -112px -32px; }
426
- .cmb_element .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
427
- .cmb_element .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
428
- .cmb_element .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
429
- .cmb_element .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
430
- .cmb_element .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
431
- .cmb_element .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
432
- .cmb_element .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
433
- .cmb_element .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
434
- .cmb_element .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
435
- .cmb_element .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
436
- .cmb_element .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
437
- .cmb_element .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
438
- .cmb_element .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
439
- .cmb_element .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
440
- .cmb_element .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
441
- .cmb_element .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
442
- .cmb_element .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
443
- .cmb_element .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
444
- .cmb_element .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
445
- .cmb_element .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
446
- .cmb_element .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
447
- .cmb_element .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
448
- .cmb_element .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
449
- .cmb_element .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
450
- .cmb_element .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
451
- .cmb_element .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
452
- .cmb_element .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
453
- .cmb_element .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
454
- .cmb_element .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
455
- .cmb_element .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
456
- .cmb_element .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
457
- .cmb_element .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
458
- .cmb_element .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
459
- .cmb_element .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
460
- .cmb_element .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
461
- .cmb_element .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
462
- .cmb_element .ui-icon-arrow-4 { background-position: 0 -80px; }
463
- .cmb_element .ui-icon-arrow-4-diag { background-position: -16px -80px; }
464
- .cmb_element .ui-icon-extlink { background-position: -32px -80px; }
465
- .cmb_element .ui-icon-newwin { background-position: -48px -80px; }
466
- .cmb_element .ui-icon-refresh { background-position: -64px -80px; }
467
- .cmb_element .ui-icon-shuffle { background-position: -80px -80px; }
468
- .cmb_element .ui-icon-transfer-e-w { background-position: -96px -80px; }
469
- .cmb_element .ui-icon-transferthick-e-w { background-position: -112px -80px; }
470
- .cmb_element .ui-icon-folder-collapsed { background-position: 0 -96px; }
471
- .cmb_element .ui-icon-folder-open { background-position: -16px -96px; }
472
- .cmb_element .ui-icon-document { background-position: -32px -96px; }
473
- .cmb_element .ui-icon-document-b { background-position: -48px -96px; }
474
- .cmb_element .ui-icon-note { background-position: -64px -96px; }
475
- .cmb_element .ui-icon-mail-closed { background-position: -80px -96px; }
476
- .cmb_element .ui-icon-mail-open { background-position: -96px -96px; }
477
- .cmb_element .ui-icon-suitcase { background-position: -112px -96px; }
478
- .cmb_element .ui-icon-comment { background-position: -128px -96px; }
479
- .cmb_element .ui-icon-person { background-position: -144px -96px; }
480
- .cmb_element .ui-icon-print { background-position: -160px -96px; }
481
- .cmb_element .ui-icon-trash { background-position: -176px -96px; }
482
- .cmb_element .ui-icon-locked { background-position: -192px -96px; }
483
- .cmb_element .ui-icon-unlocked { background-position: -208px -96px; }
484
- .cmb_element .ui-icon-bookmark { background-position: -224px -96px; }
485
- .cmb_element .ui-icon-tag { background-position: -240px -96px; }
486
- .cmb_element .ui-icon-home { background-position: 0 -112px; }
487
- .cmb_element .ui-icon-flag { background-position: -16px -112px; }
488
- .cmb_element .ui-icon-calendar { background-position: -32px -112px; }
489
- .cmb_element .ui-icon-cart { background-position: -48px -112px; }
490
- .cmb_element .ui-icon-pencil { background-position: -64px -112px; }
491
- .cmb_element .ui-icon-clock { background-position: -80px -112px; }
492
- .cmb_element .ui-icon-disk { background-position: -96px -112px; }
493
- .cmb_element .ui-icon-calculator { background-position: -112px -112px; }
494
- .cmb_element .ui-icon-zoomin { background-position: -128px -112px; }
495
- .cmb_element .ui-icon-zoomout { background-position: -144px -112px; }
496
- .cmb_element .ui-icon-search { background-position: -160px -112px; }
497
- .cmb_element .ui-icon-wrench { background-position: -176px -112px; }
498
- .cmb_element .ui-icon-gear { background-position: -192px -112px; }
499
- .cmb_element .ui-icon-heart { background-position: -208px -112px; }
500
- .cmb_element .ui-icon-star { background-position: -224px -112px; }
501
- .cmb_element .ui-icon-link { background-position: -240px -112px; }
502
- .cmb_element .ui-icon-cancel { background-position: 0 -128px; }
503
- .cmb_element .ui-icon-plus { background-position: -16px -128px; }
504
- .cmb_element .ui-icon-plusthick { background-position: -32px -128px; }
505
- .cmb_element .ui-icon-minus { background-position: -48px -128px; }
506
- .cmb_element .ui-icon-minusthick { background-position: -64px -128px; }
507
- .cmb_element .ui-icon-close { background-position: -80px -128px; }
508
- .cmb_element .ui-icon-closethick { background-position: -96px -128px; }
509
- .cmb_element .ui-icon-key { background-position: -112px -128px; }
510
- .cmb_element .ui-icon-lightbulb { background-position: -128px -128px; }
511
- .cmb_element .ui-icon-scissors { background-position: -144px -128px; }
512
- .cmb_element .ui-icon-clipboard { background-position: -160px -128px; }
513
- .cmb_element .ui-icon-copy { background-position: -176px -128px; }
514
- .cmb_element .ui-icon-contact { background-position: -192px -128px; }
515
- .cmb_element .ui-icon-image { background-position: -208px -128px; }
516
- .cmb_element .ui-icon-video { background-position: -224px -128px; }
517
- .cmb_element .ui-icon-script { background-position: -240px -128px; }
518
- .cmb_element .ui-icon-alert { background-position: 0 -144px; }
519
- .cmb_element .ui-icon-info { background-position: -16px -144px; }
520
- .cmb_element .ui-icon-notice { background-position: -32px -144px; }
521
- .cmb_element .ui-icon-help { background-position: -48px -144px; }
522
- .cmb_element .ui-icon-check { background-position: -64px -144px; }
523
- .cmb_element .ui-icon-bullet { background-position: -80px -144px; }
524
- .cmb_element .ui-icon-radio-off { background-position: -96px -144px; }
525
- .cmb_element .ui-icon-radio-on { background-position: -112px -144px; }
526
- .cmb_element .ui-icon-pin-w { background-position: -128px -144px; }
527
- .cmb_element .ui-icon-pin-s { background-position: -144px -144px; }
528
- .cmb_element .ui-icon-play { background-position: 0 -160px; }
529
- .cmb_element .ui-icon-pause { background-position: -16px -160px; }
530
- .cmb_element .ui-icon-seek-next { background-position: -32px -160px; }
531
- .cmb_element .ui-icon-seek-prev { background-position: -48px -160px; }
532
- .cmb_element .ui-icon-seek-end { background-position: -64px -160px; }
533
- .cmb_element .ui-icon-seek-start { background-position: -80px -160px; }
534
- .cmb_element .ui-icon-seek-first { background-position: -80px -160px; }
535
- .cmb_element .ui-icon-stop { background-position: -96px -160px; }
536
- .cmb_element .ui-icon-eject { background-position: -112px -160px; }
537
- .cmb_element .ui-icon-volume-off { background-position: -128px -160px; }
538
- .cmb_element .ui-icon-volume-on { background-position: -144px -160px; }
539
- .cmb_element .ui-icon-power { background-position: 0 -176px; }
540
- .cmb_element .ui-icon-signal-diag { background-position: -16px -176px; }
541
- .cmb_element .ui-icon-signal { background-position: -32px -176px; }
542
- .cmb_element .ui-icon-battery-0 { background-position: -48px -176px; }
543
- .cmb_element .ui-icon-battery-1 { background-position: -64px -176px; }
544
- .cmb_element .ui-icon-battery-2 { background-position: -80px -176px; }
545
- .cmb_element .ui-icon-battery-3 { background-position: -96px -176px; }
546
- .cmb_element .ui-icon-circle-plus { background-position: 0 -192px; }
547
- .cmb_element .ui-icon-circle-minus { background-position: -16px -192px; }
548
- .cmb_element .ui-icon-circle-close { background-position: -32px -192px; }
549
- .cmb_element .ui-icon-circle-triangle-e { background-position: -48px -192px; }
550
- .cmb_element .ui-icon-circle-triangle-s { background-position: -64px -192px; }
551
- .cmb_element .ui-icon-circle-triangle-w { background-position: -80px -192px; }
552
- .cmb_element .ui-icon-circle-triangle-n { background-position: -96px -192px; }
553
- .cmb_element .ui-icon-circle-arrow-e { background-position: -112px -192px; }
554
- .cmb_element .ui-icon-circle-arrow-s { background-position: -128px -192px; }
555
- .cmb_element .ui-icon-circle-arrow-w { background-position: -144px -192px; }
556
- .cmb_element .ui-icon-circle-arrow-n { background-position: -160px -192px; }
557
- .cmb_element .ui-icon-circle-zoomin { background-position: -176px -192px; }
558
- .cmb_element .ui-icon-circle-zoomout { background-position: -192px -192px; }
559
- .cmb_element .ui-icon-circle-check { background-position: -208px -192px; }
560
- .cmb_element .ui-icon-circlesmall-plus { background-position: 0 -208px; }
561
- .cmb_element .ui-icon-circlesmall-minus { background-position: -16px -208px; }
562
- .cmb_element .ui-icon-circlesmall-close { background-position: -32px -208px; }
563
- .cmb_element .ui-icon-squaresmall-plus { background-position: -48px -208px; }
564
- .cmb_element .ui-icon-squaresmall-minus { background-position: -64px -208px; }
565
- .cmb_element .ui-icon-squaresmall-close { background-position: -80px -208px; }
566
- .cmb_element .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
567
- .cmb_element .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
568
- .cmb_element .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
569
- .cmb_element .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
570
- .cmb_element .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
571
- .cmb_element .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
572
- .cmb_element .ui-corner-all, .cmb_element .ui-corner-top, .cmb_element .ui-corner-left, .cmb_element .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
573
- .cmb_element .ui-corner-all, .cmb_element .ui-corner-top, .cmb_element .ui-corner-right, .cmb_element .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
574
- .cmb_element .ui-corner-all, .cmb_element .ui-corner-bottom, .cmb_element .ui-corner-left, .cmb_element .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
575
- .cmb_element .ui-corner-all, .cmb_element .ui-corner-bottom, .cmb_element .ui-corner-right, .cmb_element .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
576
- .cmb_element .ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
577
- .cmb_element .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
578
- .cmb_element .ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
579
- .cmb_element .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
580
- .cmb_element .ui-datepicker .ui-datepicker-prev, .cmb_element .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
581
- .cmb_element .ui-datepicker .ui-datepicker-prev-hover, .cmb_element .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
582
- .cmb_element .ui-datepicker .ui-datepicker-prev { left:2px; }
583
- .cmb_element .ui-datepicker .ui-datepicker-next { right:2px; }
584
- .cmb_element .ui-datepicker .ui-datepicker-prev-hover { left:1px; }
585
- .cmb_element .ui-datepicker .ui-datepicker-next-hover { right:1px; }
586
- .cmb_element .ui-datepicker .ui-datepicker-prev span, .cmb_element .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
587
- .cmb_element .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
588
- .cmb_element .ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
589
- .cmb_element .ui-datepicker select.ui-datepicker-month-year {width: 100%;}
590
- .cmb_element .ui-datepicker select.ui-datepicker-month,
591
- .cmb_element .ui-datepicker select.ui-datepicker-year { width: 49%;}
592
- .cmb_element .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
593
- .cmb_element .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
594
- .cmb_element .ui-datepicker td { border: 0; padding: 1px; }
595
- .cmb_element .ui-datepicker td span, .cmb_element .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
596
- .cmb_element .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
597
- .cmb_element .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
598
- .cmb_element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
599
- .cmb_element .ui-datepicker.ui-datepicker-multi { width:auto; }
600
- .cmb_element .ui-datepicker-multi .ui-datepicker-group { float:left; }
601
- .cmb_element .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
602
- .cmb_element .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
603
- .cmb_element .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
604
- .cmb_element .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
605
- .cmb_element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
606
- .cmb_element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
607
- .cmb_element .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
608
- .cmb_element .ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
609
- .cmb_element .ui-datepicker-rtl { direction: rtl; }
610
- .cmb_element .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
611
- .cmb_element .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
612
- .cmb_element .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
613
- .cmb_element .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
614
- .cmb_element .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
615
- .cmb_element .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
616
- .cmb_element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
617
- .cmb_element .ui-datepicker-rtl .ui-datepicker-group { float:right; }
618
- .cmb_element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
619
- .cmb_element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
620
- .cmb_element .ui-datepicker-cover {
621
- display: none; /*sorry for IE5*/
622
- display/**/: block; /*sorry for IE5*/
623
- position: absolute; /*must have*/
624
- z-index: -1; /*must have*/
625
- filter: mask(); /*must have*/
626
- top: -4px; /*must have*/
627
- left: -4px; /*must have*/
628
- width: 200px; /*must have*/
629
- height: 200px; /*must have*/
630
- }
631
-
632
- .post-new-php table.cmb_metabox .cmb-nested-table td {padding:7px;}
633
-
634
- .cmb-repeat-table tr td {padding:7px 15px 10px 8px;}
635
-
636
- .cmb-repeat > td {padding:0px 15px 10px 0px;}
637
- .form-table td p.add-row {margin-left:11px !important;}
638
- .form-table td {padding:10px 0px 10px;}
639
-
640
- .cmb_id__dkpdk_short_text h5 {font-size:18px; font-style:normal !important;}
641
- .cmb_id__dkpdk_shortcode_code h5 {font-size:16px; color:green; font-style:normal;}
642
-
643
- .cmb_metabox_title {font-size:16px !important; margin-bottom:0px; padding-left:0px; text-align:center; padding:18px 0px 0px; color:#999999; font-weight:500; margin-top:-6px; text-transform:uppercase;}
644
-
645
-
646
- .cmb_metabox td {width: 100%; padding: 10px 0px 14px;}
647
- .repeatable-group {padding: 0px 10px !important;}
648
-
649
- .cmb-type-title td {padding-top:0px;}
650
- .cmb-type-checkbox td {padding-top:13px !important;}
651
-
652
- #side-sortables table.cmb_metabox .cmb_metabox_title {font-style:normal;}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cmb/style.min.css DELETED
@@ -1 +0,0 @@
1
- table.cmb_metabox{clear:both}.post-new-php table.cmb_metabox .cmb-nested-table td,.post-new-php table.cmb_metabox .repeatable-group th,.post-new-php table.cmb_metabox .repeatable-group:first-of-type,.post-php table.cmb_metabox .cmb-nested-table td,.post-php table.cmb_metabox .repeatable-group th,.post-php table.cmb_metabox .repeatable-group:first-of-type,table.cmb_metabox tbody>tr:first-of-type>td,table.cmb_metabox tbody>tr:first-of-type>th,table.cmb_metabox>tr:first-of-type>td,table.cmb_metabox>tr:first-of-type>th{border:0}.post-new-php table.cmb_metabox .repeatable-group,.post-new-php table.cmb_metabox td,.post-new-php table.cmb_metabox th,.post-php table.cmb_metabox .repeatable-group,.post-php table.cmb_metabox td,.post-php table.cmb_metabox th{border-top:1px solid #E9E9E9}.repeatable-group th{padding:0}.repeatable-group .shift-rows{text-decoration:none;margin-right:5px;font-size:1.2em}.repeatable-group .cmb_upload_button{margin:3px 0 0 9px!important}#poststuff .repeatable-group h2{margin:0}.cmb-group-title h4{font-size:1.8em;margin-top:0;margin-bottom:0;border-bottom:solid 7px #f5f5f5;text-align:center;padding:9px 10px;font-weight:400;color:#000}.post-new-php table.cmb_metabox th,.post-php table.cmb_metabox th{text-align:right;font-weight:700}.post-new-php table.cmb_metabox table th,.post-php table.cmb_metabox table th{text-align:left}table.cmb_metabox th label{padding-left:10px;margin-top:14px;display:block;font-weight:400;font-size:13px;color:#333}p.cmb_metabox_description{color:#AAA;font-style:italic;margin:2px 0!important}span.cmb_metabox_description{color:#AAA;font-style:italic}table.cmb_metabox input,table.cmb_metabox textarea{font-size:14px;padding:5px}table.cmb_metabox input[type=text],table.cmb_metabox textarea{width:97%}table.cmb_metabox textarea.cmb_textarea_code{font-family:Consolas,Monaco,monospace;line-height:16px}table.cmb_metabox input.cmb_text_small,table.cmb_metabox input.cmb_timepicker{width:100px;margin-right:15px}table.cmb_metabox input.cmb_text_money{width:90px;margin-right:15px}table.cmb_metabox input.cmb_text_medium{width:230px;margin-right:15px}table.cmb_metabox input.cmb_upload_file{width:65%}table.cmb_metabox input.ed_button{padding:2px 4px}table.cmb_metabox li{font-size:14px;margin:1px 0 5px;line-height:16px}table.cmb_metabox ul{padding-top:5px;margin:0}table.cmb_metabox select{font-size:14px;margin-top:3px}table.cmb_metabox input:focus,table.cmb_metabox textarea:focus{background:#fffff8}.cmb_metabox_title{margin:0 0 5px}.edit-tags-php .cmb_metabox_title,.profile-php .cmb_metabox_title,.user-edit-php .cmb_metabox_title{margin-left:-10px}.cmb-inline ul{padding:4px 0 0}.cmb-inline li{display:inline-block;padding-right:18px}table.cmb_metabox input[type=checkbox],table.cmb_metabox input[type=radio]{margin:0 5px 0 0;padding:0}table.cmb_metabox .mceLayout{border:1px solid #DFDFDF!important}table.cmb_metabox .mceIframeContainer{background:#FFF}table.cmb_metabox .meta_mce{width:97%}table.cmb_metabox .meta_mce textarea{width:100%}table.cmb_metabox .cmb_media_status{margin:10px 0 0}table.cmb_metabox .cmb_media_status .img_status{clear:none;float:left;display:inline-block;margin-right:10px;width:auto}table.cmb_metabox .cmb-type-file_list .cmb_media_status .img_status{clear:none;float:left;margin-right:10px;width:auto}table.cmb_metabox .cmb_media_status .embed_status,table.cmb_metabox .cmb_media_status .img_status{position:relative}table.cmb_metabox .cmb_media_status .embed_status,table.cmb_metabox .cmb_media_status .img_status img{border:1px solid #DFDFDF;background:#FAFAFA;max-width:350px;padding:5px;-moz-border-radius:2px;border-radius:2px}table.cmb_metabox .cmb_media_status .embed_status{float:left;max-width:800px}table.cmb_metabox .cmb_media_status .embed_status .cmb_remove_file_button,table.cmb_metabox .cmb_media_status .img_status .cmb_remove_file_button{text-indent:-9999px;background:url(images/ico-delete.png);width:16px;height:16px;position:absolute;top:-5px;left:-5px}table.cmb_metabox .attach_list li{clear:both;display:inline-block;margin-bottom:25px;width:100%}table.cmb_metabox .attach_list li img{float:left;margin-right:10px}#side-sortables table.cmb_metabox input[type=text],.inner-sidebar table.cmb_metabox input[type=text],table.cmb_metabox textarea{width:95%}#side-sortables table.cmb_metabox .cmb_media_status .embed_status img,#side-sortables table.cmb_metabox .cmb_media_status .img_status img,.inner-sidebar table.cmb_metabox .cmb_media_status .embed_status img,.inner-sidebar table.cmb_metabox .cmb_media_status .img_status img{width:90%}#side-sortables table.cmb_metabox label,.inner-sidebar table.cmb_metabox label{display:block;font-weight:700;padding:0 0 5px}#side-sortables table.cmb_metabox .cmb_list label,.inner-sidebar table.cmb_metabox .cmb_list label{display:inline;font-weight:400}#side-sortables table.cmb_metabox .cmb_metabox_description,.inner-sidebar table.cmb_metabox .cmb_metabox_description{display:block;padding:7px 0 0}#side-sortables table.cmb_metabox .cmb_metabox_title,.inner-sidebar table.cmb_metabox .cmb_metabox_title{font-size:1.2em;font-style:italic}.postbox table.cmb_metabox .cmb-spinner{float:left}table.cmb_metabox .wp-color-result,table.cmb_metabox .wp-picker-input-wrap{vertical-align:middle}table.cmb_metabox .wp-color-result,table.cmb_metabox .wp-picker-container{margin:0 10px 0 0}div.time-picker{position:absolute;height:191px;width:6em;overflow:auto;background:#fff;border:1px solid #aaa;z-index:99;margin:0}div.time-picker-12hours{width:8em}div.time-picker ul{list-style-type:none;margin:0;padding:0}div.time-picker li{cursor:pointer;height:10px;font:14px/1 Helvetica,Arial,sans-serif;padding:4px 3px}div.time-picker li.selected{background:#0063CE;color:#fff}.cmb_element .ui-helper-hidden{display:none}.cmb_element .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.cmb_element .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.cmb_element .ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}* html .ui-helper-clearfix{height:1%}.cmb_element .ui-helper-clearfix{display:block}.cmb_element .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.cmb_element .ui-state-disabled{cursor:default!important}.cmb_element .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.cmb_element .ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.cmb_element .ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.cmb_element .ui-widget .ui-widget{font-size:1em}.cmb_element .ui-widget button,.cmb_element .ui-widget input,.cmb_element .ui-widget select,.cmb_element .ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.cmb_element .ui-widget-content{border:1px solid #aaa;background:url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x #fff;color:#222}.cmb_element .ui-widget-content a{color:#222}.cmb_element .ui-widget-header{border:1px solid #aaa;background:url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x #ccc;color:#222;font-weight:700}.cmb_element .ui-widget-header a{color:#222}.cmb_element .ui-state-default,.cmb_element .ui-widget-content .ui-state-default,.cmb_element .ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x #e6e6e6;font-weight:400;color:#555}.cmb_element .ui-state-default a,.cmb_element .ui-state-default a:link,.cmb_element .ui-state-default a:visited{color:#555;text-decoration:none}.cmb_element .ui-state-focus,.cmb_element .ui-state-hover,.cmb_element .ui-widget-content .ui-state-focus,.cmb_element .ui-widget-content .ui-state-hover,.cmb_element .ui-widget-header .ui-state-focus,.cmb_element .ui-widget-header .ui-state-hover{border:1px solid #999;background:url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x #dadada;font-weight:400;color:#212121}.cmb_element .ui-state-hover a,.cmb_element .ui-state-hover a:hover{color:#212121;text-decoration:none}.cmb_element .ui-state-active,.cmb_element .ui-widget-content .ui-state-active,.cmb_element .ui-widget-header .ui-state-active{border:1px solid #aaa;background:url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x #fff;font-weight:400;color:#212121}.cmb_element .ui-state-active a,.cmb_element .ui-state-active a:link,.cmb_element .ui-state-active a:visited{color:#212121;text-decoration:none}.cmb_element .ui-widget :active{outline:0}.cmb_element .ui-state-highlight,.cmb_element .ui-widget-content .ui-state-highlight,.cmb_element .ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x #fbf9ee;color:#363636}.cmb_element .ui-state-highlight a,.cmb_element .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.cmb_element .ui-state-error,.cmb_element .ui-widget-content .ui-state-error,.cmb_element .ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x #fef1ec;color:#cd0a0a}.cmb_element .ui-state-error a,.cmb_element .ui-state-error-text,.cmb_element .ui-widget-content .ui-state-error a,.cmb_element .ui-widget-content .ui-state-error-text,.cmb_element .ui-widget-header .ui-state-error a,.cmb_element .ui-widget-header .ui-state-error-text{color:#cd0a0a}.cmb_element .ui-priority-primary,.cmb_element .ui-widget-content .ui-priority-primary,.cmb_element .ui-widget-header .ui-priority-primary{font-weight:700}.cmb_element .ui-priority-secondary,.cmb_element .ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.cmb_element .ui-state-disabled,.cmb_element .ui-widget-content .ui-state-disabled,.cmb_element .ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.cmb_element .ui-icon{width:16px;height:16px;background-image:url(images/ui-icons_222222_256x240.png)}.cmb_element .ui-widget-content .ui-icon,.cmb_element .ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.cmb_element .ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.cmb_element .ui-state-active .ui-icon,.cmb_element .ui-state-focus .ui-icon,.cmb_element .ui-state-hover .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.cmb_element .ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.cmb_element .ui-state-error .ui-icon,.cmb_element .ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.cmb_element .ui-icon-carat-1-n{background-position:0 0}.cmb_element .ui-icon-carat-1-ne{background-position:-16px 0}.cmb_element .ui-icon-carat-1-e{background-position:-32px 0}.cmb_element .ui-icon-carat-1-se{background-position:-48px 0}.cmb_element .ui-icon-carat-1-s{background-position:-64px 0}.cmb_element .ui-icon-carat-1-sw{background-position:-80px 0}.cmb_element .ui-icon-carat-1-w{background-position:-96px 0}.cmb_element .ui-icon-carat-1-nw{background-position:-112px 0}.cmb_element .ui-icon-carat-2-n-s{background-position:-128px 0}.cmb_element .ui-icon-carat-2-e-w{background-position:-144px 0}.cmb_element .ui-icon-triangle-1-n{background-position:0 -16px}.cmb_element .ui-icon-triangle-1-ne{background-position:-16px -16px}.cmb_element .ui-icon-triangle-1-e{background-position:-32px -16px}.cmb_element .ui-icon-triangle-1-se{background-position:-48px -16px}.cmb_element .ui-icon-triangle-1-s{background-position:-64px -16px}.cmb_element .ui-icon-triangle-1-sw{background-position:-80px -16px}.cmb_element .ui-icon-triangle-1-w{background-position:-96px -16px}.cmb_element .ui-icon-triangle-1-nw{background-position:-112px -16px}.cmb_element .ui-icon-triangle-2-n-s{background-position:-128px -16px}.cmb_element .ui-icon-triangle-2-e-w{background-position:-144px -16px}.cmb_element .ui-icon-arrow-1-n{background-position:0 -32px}.cmb_element .ui-icon-arrow-1-ne{background-position:-16px -32px}.cmb_element .ui-icon-arrow-1-e{background-position:-32px -32px}.cmb_element .ui-icon-arrow-1-se{background-position:-48px -32px}.cmb_element .ui-icon-arrow-1-s{background-position:-64px -32px}.cmb_element .ui-icon-arrow-1-sw{background-position:-80px -32px}.cmb_element .ui-icon-arrow-1-w{background-position:-96px -32px}.cmb_element .ui-icon-arrow-1-nw{background-position:-112px -32px}.cmb_element .ui-icon-arrow-2-n-s{background-position:-128px -32px}.cmb_element .ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.cmb_element .ui-icon-arrow-2-e-w{background-position:-160px -32px}.cmb_element .ui-icon-arrow-2-se-nw{background-position:-176px -32px}.cmb_element .ui-icon-arrowstop-1-n{background-position:-192px -32px}.cmb_element .ui-icon-arrowstop-1-e{background-position:-208px -32px}.cmb_element .ui-icon-arrowstop-1-s{background-position:-224px -32px}.cmb_element .ui-icon-arrowstop-1-w{background-position:-240px -32px}.cmb_element .ui-icon-arrowthick-1-n{background-position:0 -48px}.cmb_element .ui-icon-arrowthick-1-ne{background-position:-16px -48px}.cmb_element .ui-icon-arrowthick-1-e{background-position:-32px -48px}.cmb_element .ui-icon-arrowthick-1-se{background-position:-48px -48px}.cmb_element .ui-icon-arrowthick-1-s{background-position:-64px -48px}.cmb_element .ui-icon-arrowthick-1-sw{background-position:-80px -48px}.cmb_element .ui-icon-arrowthick-1-w{background-position:-96px -48px}.cmb_element .ui-icon-arrowthick-1-nw{background-position:-112px -48px}.cmb_element .ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.cmb_element .ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.cmb_element .ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.cmb_element .ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.cmb_element .ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.cmb_element .ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.cmb_element .ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.cmb_element .ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.cmb_element .ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.cmb_element .ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.cmb_element .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.cmb_element .ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.cmb_element .ui-icon-arrowreturn-1-w{background-position:-64px -64px}.cmb_element .ui-icon-arrowreturn-1-n{background-position:-80px -64px}.cmb_element .ui-icon-arrowreturn-1-e{background-position:-96px -64px}.cmb_element .ui-icon-arrowreturn-1-s{background-position:-112px -64px}.cmb_element .ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.cmb_element .ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.cmb_element .ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.cmb_element .ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.cmb_element .ui-icon-arrow-4{background-position:0 -80px}.cmb_element .ui-icon-arrow-4-diag{background-position:-16px -80px}.cmb_element .ui-icon-extlink{background-position:-32px -80px}.cmb_element .ui-icon-newwin{background-position:-48px -80px}.cmb_element .ui-icon-refresh{background-position:-64px -80px}.cmb_element .ui-icon-shuffle{background-position:-80px -80px}.cmb_element .ui-icon-transfer-e-w{background-position:-96px -80px}.cmb_element .ui-icon-transferthick-e-w{background-position:-112px -80px}.cmb_element .ui-icon-folder-collapsed{background-position:0 -96px}.cmb_element .ui-icon-folder-open{background-position:-16px -96px}.cmb_element .ui-icon-document{background-position:-32px -96px}.cmb_element .ui-icon-document-b{background-position:-48px -96px}.cmb_element .ui-icon-note{background-position:-64px -96px}.cmb_element .ui-icon-mail-closed{background-position:-80px -96px}.cmb_element .ui-icon-mail-open{background-position:-96px -96px}.cmb_element .ui-icon-suitcase{background-position:-112px -96px}.cmb_element .ui-icon-comment{background-position:-128px -96px}.cmb_element .ui-icon-person{background-position:-144px -96px}.cmb_element .ui-icon-print{background-position:-160px -96px}.cmb_element .ui-icon-trash{background-position:-176px -96px}.cmb_element .ui-icon-locked{background-position:-192px -96px}.cmb_element .ui-icon-unlocked{background-position:-208px -96px}.cmb_element .ui-icon-bookmark{background-position:-224px -96px}.cmb_element .ui-icon-tag{background-position:-240px -96px}.cmb_element .ui-icon-home{background-position:0 -112px}.cmb_element .ui-icon-flag{background-position:-16px -112px}.cmb_element .ui-icon-calendar{background-position:-32px -112px}.cmb_element .ui-icon-cart{background-position:-48px -112px}.cmb_element .ui-icon-pencil{background-position:-64px -112px}.cmb_element .ui-icon-clock{background-position:-80px -112px}.cmb_element .ui-icon-disk{background-position:-96px -112px}.cmb_element .ui-icon-calculator{background-position:-112px -112px}.cmb_element .ui-icon-zoomin{background-position:-128px -112px}.cmb_element .ui-icon-zoomout{background-position:-144px -112px}.cmb_element .ui-icon-search{background-position:-160px -112px}.cmb_element .ui-icon-wrench{background-position:-176px -112px}.cmb_element .ui-icon-gear{background-position:-192px -112px}.cmb_element .ui-icon-heart{background-position:-208px -112px}.cmb_element .ui-icon-star{background-position:-224px -112px}.cmb_element .ui-icon-link{background-position:-240px -112px}.cmb_element .ui-icon-cancel{background-position:0 -128px}.cmb_element .ui-icon-plus{background-position:-16px -128px}.cmb_element .ui-icon-plusthick{background-position:-32px -128px}.cmb_element .ui-icon-minus{background-position:-48px -128px}.cmb_element .ui-icon-minusthick{background-position:-64px -128px}.cmb_element .ui-icon-close{background-position:-80px -128px}.cmb_element .ui-icon-closethick{background-position:-96px -128px}.cmb_element .ui-icon-key{background-position:-112px -128px}.cmb_element .ui-icon-lightbulb{background-position:-128px -128px}.cmb_element .ui-icon-scissors{background-position:-144px -128px}.cmb_element .ui-icon-clipboard{background-position:-160px -128px}.cmb_element .ui-icon-copy{background-position:-176px -128px}.cmb_element .ui-icon-contact{background-position:-192px -128px}.cmb_element .ui-icon-image{background-position:-208px -128px}.cmb_element .ui-icon-video{background-position:-224px -128px}.cmb_element .ui-icon-script{background-position:-240px -128px}.cmb_element .ui-icon-alert{background-position:0 -144px}.cmb_element .ui-icon-info{background-position:-16px -144px}.cmb_element .ui-icon-notice{background-position:-32px -144px}.cmb_element .ui-icon-help{background-position:-48px -144px}.cmb_element .ui-icon-check{background-position:-64px -144px}.cmb_element .ui-icon-bullet{background-position:-80px -144px}.cmb_element .ui-icon-radio-off{background-position:-96px -144px}.cmb_element .ui-icon-radio-on{background-position:-112px -144px}.cmb_element .ui-icon-pin-w{background-position:-128px -144px}.cmb_element .ui-icon-pin-s{background-position:-144px -144px}.cmb_element .ui-icon-play{background-position:0 -160px}.cmb_element .ui-icon-pause{background-position:-16px -160px}.cmb_element .ui-icon-seek-next{background-position:-32px -160px}.cmb_element .ui-icon-seek-prev{background-position:-48px -160px}.cmb_element .ui-icon-seek-end{background-position:-64px -160px}.cmb_element .ui-icon-seek-first,.cmb_element .ui-icon-seek-start{background-position:-80px -160px}.cmb_element .ui-icon-stop{background-position:-96px -160px}.cmb_element .ui-icon-eject{background-position:-112px -160px}.cmb_element .ui-icon-volume-off{background-position:-128px -160px}.cmb_element .ui-icon-volume-on{background-position:-144px -160px}.cmb_element .ui-icon-power{background-position:0 -176px}.cmb_element .ui-icon-signal-diag{background-position:-16px -176px}.cmb_element .ui-icon-signal{background-position:-32px -176px}.cmb_element .ui-icon-battery-0{background-position:-48px -176px}.cmb_element .ui-icon-battery-1{background-position:-64px -176px}.cmb_element .ui-icon-battery-2{background-position:-80px -176px}.cmb_element .ui-icon-battery-3{background-position:-96px -176px}.cmb_element .ui-icon-circle-plus{background-position:0 -192px}.cmb_element .ui-icon-circle-minus{background-position:-16px -192px}.cmb_element .ui-icon-circle-close{background-position:-32px -192px}.cmb_element .ui-icon-circle-triangle-e{background-position:-48px -192px}.cmb_element .ui-icon-circle-triangle-s{background-position:-64px -192px}.cmb_element .ui-icon-circle-triangle-w{background-position:-80px -192px}.cmb_element .ui-icon-circle-triangle-n{background-position:-96px -192px}.cmb_element .ui-icon-circle-arrow-e{background-position:-112px -192px}.cmb_element .ui-icon-circle-arrow-s{background-position:-128px -192px}.cmb_element .ui-icon-circle-arrow-w{background-position:-144px -192px}.cmb_element .ui-icon-circle-arrow-n{background-position:-160px -192px}.cmb_element .ui-icon-circle-zoomin{background-position:-176px -192px}.cmb_element .ui-icon-circle-zoomout{background-position:-192px -192px}.cmb_element .ui-icon-circle-check{background-position:-208px -192px}.cmb_element .ui-icon-circlesmall-plus{background-position:0 -208px}.cmb_element .ui-icon-circlesmall-minus{background-position:-16px -208px}.cmb_element .ui-icon-circlesmall-close{background-position:-32px -208px}.cmb_element .ui-icon-squaresmall-plus{background-position:-48px -208px}.cmb_element .ui-icon-squaresmall-minus{background-position:-64px -208px}.cmb_element .ui-icon-squaresmall-close{background-position:-80px -208px}.cmb_element .ui-icon-grip-dotted-vertical{background-position:0 -224px}.cmb_element .ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.cmb_element .ui-icon-grip-solid-vertical{background-position:-32px -224px}.cmb_element .ui-icon-grip-solid-horizontal{background-position:-48px -224px}.cmb_element .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.cmb_element .ui-icon-grip-diagonal-se{background-position:-80px -224px}.cmb_element .ui-corner-all,.cmb_element .ui-corner-left,.cmb_element .ui-corner-tl,.cmb_element .ui-corner-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.cmb_element .ui-corner-all,.cmb_element .ui-corner-right,.cmb_element .ui-corner-top,.cmb_element .ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.cmb_element .ui-corner-all,.cmb_element .ui-corner-bl,.cmb_element .ui-corner-bottom,.cmb_element .ui-corner-left{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.cmb_element .ui-corner-all,.cmb_element .ui-corner-bottom,.cmb_element .ui-corner-br,.cmb_element .ui-corner-right{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.cmb_element .ui-widget-overlay{background:url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x #aaa;opacity:.3;filter:Alpha(Opacity=30)}.cmb_element .ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x #aaa;opacity:.3;filter:Alpha(Opacity=30);-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.cmb_element .ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.cmb_element .ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.cmb_element .ui-datepicker .ui-datepicker-next,.cmb_element .ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.cmb_element .ui-datepicker .ui-datepicker-next-hover,.cmb_element .ui-datepicker .ui-datepicker-prev-hover{top:1px}.cmb_element .ui-datepicker .ui-datepicker-prev{left:2px}.cmb_element .ui-datepicker .ui-datepicker-next{right:2px}.cmb_element .ui-datepicker .ui-datepicker-prev-hover{left:1px}.cmb_element .ui-datepicker .ui-datepicker-next-hover{right:1px}.cmb_element .ui-datepicker .ui-datepicker-next span,.cmb_element .ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.cmb_element .ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.cmb_element .ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.cmb_element .ui-datepicker select.ui-datepicker-month-year{width:100%}.cmb_element .ui-datepicker select.ui-datepicker-month,.cmb_element .ui-datepicker select.ui-datepicker-year{width:49%}.cmb_element .ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.cmb_element .ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.cmb_element .ui-datepicker td{border:0;padding:1px}.cmb_element .ui-datepicker td a,.cmb_element .ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.cmb_element .ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.cmb_element .ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.cmb_element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.cmb_element .ui-datepicker.ui-datepicker-multi{width:auto}.cmb_element .ui-datepicker-multi .ui-datepicker-group{float:left}.cmb_element .ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.cmb_element .ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.cmb_element .ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.cmb_element .ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.cmb_element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.cmb_element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.cmb_element .ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.cmb_element .ui-datepicker-row-break{clear:both;width:100%;font-size:0}.cmb_element .ui-datepicker-rtl{direction:rtl}.cmb_element .ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.cmb_element .ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.cmb_element .ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.cmb_element .ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.cmb_element .ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.cmb_element .ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.cmb_element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.cmb_element .ui-datepicker-rtl .ui-datepicker-group{float:right}.cmb_element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.cmb_element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.cmb_element .ui-datepicker-cover{display:none;display:block;position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.post-new-php table.cmb_metabox .cmb-nested-table td{padding:7px}.cmb-repeat-table tr td{padding:7px 15px 10px 8px}.cmb-repeat>td{padding:0 15px 10px 0}.form-table td p.add-row{margin-left:11px!important}.form-table td{padding:10px 0}.cmb_id__dkpdk_short_text h5{font-size:18px;font-style:normal!important}.cmb_id__dkpdk_shortcode_code h5{font-size:16px;color:green;font-style:normal}.cmb_metabox_title{font-size:16px!important;margin-bottom:0;text-align:center;padding:18px 0 0;color:#999;font-weight:500;margin-top:-6px;text-transform:uppercase}.cmb_metabox td{width:100%;padding:10px 0 14px}.repeatable-group{padding:0 10px!important}.cmb-type-title td{padding-top:0}.cmb-type-checkbox td{padding-top:13px!important}#side-sortables table.cmb_metabox .cmb_metabox_title{font-style:normal}
 
cmb/tests/README.md DELETED
@@ -1,52 +0,0 @@
1
- # CMB Test Suite
2
-
3
-
4
- The CMB Test Suite uses PHPUnit to help us maintain the best possible code quality.
5
-
6
- Travis-CI Automated Testing
7
- -----------------------------
8
-
9
- The master branch of CMB is automatically tested on [travis-ci.org](http://travis-ci.org). The image above will show you the latest test's output. Travis-CI will also automatically test all new Pull Requests to make sure they will not break our build.
10
-
11
- Quick Start (For Manual Runs)
12
- -----------------------------
13
-
14
- ### 1. Clone this repository
15
- ```bash
16
- git clone git://github.com/WebDevStudios/Custom-Metaboxes-and-Fields-for-WordPress.git ./
17
- ```
18
-
19
- ### 2. [Install PHPUnit](https://github.com/sebastianbergmann/phpunit#installation)
20
- This might be tricky. We recommend using [homebrew](http://brew.sh/) because it lets you install lots of things very easily.
21
-
22
- If you use homebrew, you can just run `brew install phpunit`.
23
-
24
- ### 3. Initialize local testing environment
25
- If you haven't already installed the WordPress testing library, we have a helpful script to do so for you.
26
-
27
- Note: you'll need to already have `svn`, `wget`, and `mysql` available.
28
-
29
- ```bash
30
- ./tests/bin/install-wp-tests.sh wordpress_test root '' localhost latest
31
- ```
32
- * `wordpress_test` is the name of the test database (**all data will be deleted!**)
33
- * `root` is the MySQL user name
34
- * `''` is the MySQL user password
35
- * `localhost` is the MySQL server host
36
- * `latest` is the WordPress version; could also be `3.7`, `3.6.2` etc.
37
-
38
- ### 4. Run the tests manually
39
- Note: MySQL must be running in order for tests to run.
40
- ```bash
41
- phpunit
42
- ```
43
-
44
- ### 5. Bonus Round: Run tests automatically before each commit
45
- All you need to do is run these two commands, and then priort to accepting any commit grunt will run phpunit.
46
- If a test fails, the commit will be rejected, giving you the opportunity to fix the problem first.
47
-
48
- ```bash
49
- npm install
50
- grunt githooks
51
- ```
52
- **Note:** You'll need to install [npm](https://www.npmjs.org/) if that's not available. You could also install this via [homebrew](http://brew.sh/) using `brew install npm`.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cmb/tests/bin/install-wp-tests.sh DELETED
@@ -1,78 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- if [ $# -lt 3 ]; then
4
- echo "usage: $0 <db-name> <db-user> <db-pass> [db-host] [wp-version]"
5
- exit 1
6
- fi
7
-
8
- DB_NAME=$1
9
- DB_USER=$2
10
- DB_PASS=$3
11
- DB_HOST=${4-localhost}
12
- WP_VERSION=${5-latest}
13
-
14
- WP_TESTS_DIR=${WP_TESTS_DIR-/tmp/wordpress-tests-lib}
15
- WP_CORE_DIR=/tmp/wordpress/
16
-
17
- set -ex
18
-
19
- install_wp() {
20
- mkdir -p $WP_CORE_DIR
21
-
22
- if [ $WP_VERSION == 'latest' ]; then
23
- local ARCHIVE_NAME='latest'
24
- else
25
- local ARCHIVE_NAME="wordpress-$WP_VERSION"
26
- fi
27
-
28
- wget -nv -O /tmp/wordpress.tar.gz http://wordpress.org/${ARCHIVE_NAME}.tar.gz
29
- tar --strip-components=1 -zxmf /tmp/wordpress.tar.gz -C $WP_CORE_DIR
30
-
31
- wget -nv -O $WP_CORE_DIR/wp-content/db.php https://raw.github.com/markoheijnen/wp-mysqli/master/db.php
32
- }
33
-
34
- install_test_suite() {
35
- # portable in-place argument for both GNU sed and Mac OSX sed
36
- if [[ $(uname -s) == 'Darwin' ]]; then
37
- local ioption='-i .bak'
38
- else
39
- local ioption='-i'
40
- fi
41
-
42
- # set up testing suite
43
- mkdir -p $WP_TESTS_DIR
44
- cd $WP_TESTS_DIR
45
- svn co --quiet http://develop.svn.wordpress.org/trunk/tests/phpunit/includes/
46
-
47
- wget -nv -O wp-tests-config.php http://develop.svn.wordpress.org/trunk/wp-tests-config-sample.php
48
- sed $ioption "s:dirname( __FILE__ ) . '/src/':'$WP_CORE_DIR':" wp-tests-config.php
49
- sed $ioption "s/youremptytestdbnamehere/$DB_NAME/" wp-tests-config.php
50
- sed $ioption "s/yourusernamehere/$DB_USER/" wp-tests-config.php
51
- sed $ioption "s/yourpasswordhere/$DB_PASS/" wp-tests-config.php
52
- sed $ioption "s|localhost|${DB_HOST}|" wp-tests-config.php
53
- }
54
-
55
- install_db() {
56
- # parse DB_HOST for port or socket references
57
- local PARTS=(${DB_HOST//\:/ })
58
- local DB_HOSTNAME=${PARTS[0]};
59
- local DB_SOCK_OR_PORT=${PARTS[1]};
60
- local EXTRA=""
61
-
62
- if ! [ -z $DB_HOSTNAME ] ; then
63
- if [[ "$DB_SOCK_OR_PORT" =~ ^[0-9]+$ ]] ; then
64
- EXTRA=" --host=$DB_HOSTNAME --port=$DB_SOCK_OR_PORT --protocol=tcp"
65
- elif ! [ -z $DB_SOCK_OR_PORT ] ; then
66
- EXTRA=" --socket=$DB_SOCK_OR_PORT"
67
- elif ! [ -z $DB_HOSTNAME ] ; then
68
- EXTRA=" --host=$DB_HOSTNAME --protocol=tcp"
69
- fi
70
- fi
71
-
72
- # create database
73
- mysqladmin create $DB_NAME --user="$DB_USER" --password="$DB_PASS"$EXTRA
74
- }
75
-
76
- install_wp
77
- install_test_suite
78
- install_db
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cmb/tests/phpunit/includes/bootstrap.php DELETED
@@ -1,62 +0,0 @@
1
- <?php
2
- /**
3
- * CMB Unit Test Bootstrap
4
- *
5
- * @package CMB
6
- * @subpackage Tests
7
- * @author LearningTimes, LLC
8
- * @license http://www.gnu.org/licenses/agpl.txt GNU AGPL v3.0
9
- * @link https://credly.com
10
- */
11
-
12
- ini_set('display_errors','on');
13
- error_reporting(E_ALL);
14
-
15
- /**
16
- * Set `WP_TESTS_DIR` to the base directory of WordPress:
17
- * `svn export http://develop.svn.wordpress.org/trunk/ /tmp/wordpress-tests`
18
- *
19
- * Then add this to your bash environment:
20
- *
21
- * export WP_TESTS_DIR=/tmp/wordpress/tests
22
- */
23
- if ( ! $wp_test_dir = getenv('WP_TESTS_DIR') ) {
24
-
25
- $wp_test_dir = '/tmp/wordpress-tests-lib';
26
-
27
- if ( ! file_exists( $wp_test_dir . '/includes' ) ) {
28
- die( "Fatal Error: Could not find the WordPress tests directory.\n" );
29
- }
30
- }
31
-
32
- /**
33
- * Loads WP utility functions like `tests_add_filter` and `_delete_all_posts`.
34
- */
35
- require_once $wp_test_dir . '/includes/functions.php';
36
-
37
- /**
38
- * Preset wp_options before loading the WordPress stack.
39
- *
40
- * Used to activate themes, plugins, as well as other settings in `wp_options`.
41
- *
42
- * @see wp_tests_options
43
- */
44
- $GLOBALS['wp_tests_options'] = array(
45
- 'active_plugins' => array(
46
- 'hello.php',
47
- ),
48
- );
49
-
50
- /**
51
- * Run custom functionality after mu-plugins are loaded.
52
- */
53
- function _tests_load_badgeos() {
54
- define( 'CMB_DIRECTORY_PATH', trailingslashit( dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) ) );
55
- require CMB_DIRECTORY_PATH . 'init.php';
56
- }
57
- tests_add_filter( 'muplugins_loaded', '_tests_load_badgeos' );
58
-
59
- /**
60
- * Bootstraps the WordPress stack.
61
- */
62
- require $wp_test_dir . '/includes/bootstrap.php';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cmb/tests/phpunit/tests/CMB_Core_Test.php DELETED
@@ -1,9 +0,0 @@
1
- <?php
2
-
3
- class CMB_Core_Test extends WP_UnitTestCase {
4
-
5
- public function test_cmb_has_version_number() {
6
- $this->assertNotNull( cmb_Meta_Box::CMB_VERSION );
7
- }
8
-
9
- }
 
 
 
 
 
 
 
 
 
{cmb → dkrpt}/Gruntfile.js RENAMED
@@ -20,8 +20,8 @@ module.exports = function(grunt) {
20
  // },
21
  // '': {
22
  // src: [
23
- // 'js/cmb.js',
24
- // 'js/cmb.js',
25
  // ],
26
  // dest: 'assets/js/{%= dir_name %}.js'
27
  // }
@@ -44,7 +44,7 @@ module.exports = function(grunt) {
44
  jshint: {
45
  all: [
46
  'Gruntfile.js',
47
- 'js/cmb.js'
48
  ],
49
  options: {
50
  curly : true,
@@ -62,13 +62,13 @@ module.exports = function(grunt) {
62
  exports : true,
63
  module : false
64
  },
65
- predef :['document','window','jQuery','cmb_l10','wp','tinyMCEPreInit','tinyMCE','console']
66
  }
67
  },
68
  uglify: {
69
  all: {
70
  files: {
71
- 'js/cmb.min.js': ['js/cmb.js']
72
  },
73
  options: {
74
  // banner: '/*! <%= pkg.title %> - v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %>\n' +
@@ -88,7 +88,7 @@ module.exports = function(grunt) {
88
  },
89
 
90
  scripts: {
91
- files: ['js/cmb.js'],
92
  tasks: ['jshint', 'uglify'],
93
  options: {
94
  debounceDelay: 500
20
  // },
21
  // '': {
22
  // src: [
23
+ // 'js/dkrpt.js',
24
+ // 'js/dkrpt.js',
25
  // ],
26
  // dest: 'assets/js/{%= dir_name %}.js'
27
  // }
44
  jshint: {
45
  all: [
46
  'Gruntfile.js',
47
+ 'js/dkrpt.js'
48
  ],
49
  options: {
50
  curly : true,
62
  exports : true,
63
  module : false
64
  },
65
+ predef :['document','window','jQuery','dkrpt_l10','wp','tinyMCEPreInit','tinyMCE','console']
66
  }
67
  },
68
  uglify: {
69
  all: {
70
  files: {
71
+ 'js/dkrpt.min.js': ['js/dkrpt.js']
72
  },
73
  options: {
74
  // banner: '/*! <%= pkg.title %> - v<%= pkg.version %> - <%= grunt.template.today("yyyy-mm-dd") %>\n' +
88
  },
89
 
90
  scripts: {
91
+ files: ['js/dkrpt.js'],
92
  tasks: ['jshint', 'uglify'],
93
  options: {
94
  debounceDelay: 500
cmb/helpers/cmb_Meta_Box_Sanitize.php → dkrpt/helpers/dkrpt_Meta_Box_Sanitize.php RENAMED
@@ -1,14 +1,14 @@
1
  <?php
2
 
3
  /**
4
- * CMB field validation
5
  * @since 0.0.4
6
  */
7
- class cmb_Meta_Box_Sanitize {
8
 
9
  /**
10
- * A CMB field object
11
- * @var cmb_Meta_Box_field object
12
  */
13
  public $field;
14
 
@@ -21,14 +21,14 @@ class cmb_Meta_Box_Sanitize {
21
  /**
22
  * Setup our class vars
23
  * @since 1.1.0
24
- * @param object $field A CMB field object
25
  * @param mixed $value Field value
26
  */
27
  public function __construct( $field, $value ) {
28
  $this->field = $field;
29
  $this->value = $value;
30
- $this->object_id = cmb_Meta_Box::get_object_id();
31
- $this->object_type = cmb_Meta_Box::get_object_type();
32
  }
33
 
34
  /**
@@ -50,7 +50,7 @@ class cmb_Meta_Box_Sanitize {
50
  public function default_sanitization( $value ) {
51
 
52
  // Allow field type validation via filter
53
- $updated = apply_filters( 'cmb_validate_'. $this->field->type(), null, $value, $this->object_id, $this->field->args(), $this );
54
 
55
  if ( null !== $updated )
56
  return $updated;
@@ -225,9 +225,9 @@ class cmb_Meta_Box_Sanitize {
225
  $tzstring = $value['timezone'];
226
 
227
  if ( empty( $tzstring ) )
228
- $tzstring = cmb_Meta_Box::timezone_string();
229
 
230
- $offset = cmb_Meta_Box::timezone_offset( $tzstring, true );
231
 
232
  if ( substr( $tzstring, 0, 3 ) === 'UTC' )
233
  $tzstring = timezone_name_from_abbr( '', $offset, 0 );
@@ -273,7 +273,7 @@ class cmb_Meta_Box_Sanitize {
273
 
274
  unset( $args['_id'], $args['_name'] );
275
  // And get new field object
276
- $field = new cmb_Meta_Box_field( $args, $group );
277
  $id_key = $field->_id();
278
  $id_val_old = $field->escaped_value( 'absint' );
279
 
@@ -291,7 +291,7 @@ class cmb_Meta_Box_Sanitize {
291
 
292
  // If there is no ID saved yet, try to get it from the url
293
  if ( $value && ! $id_val ) {
294
- $id_val = cmb_Meta_Box::image_id_from_url( $value );
295
  }
296
 
297
  if ( $group ) {
1
  <?php
2
 
3
  /**
4
+ * dkrpt field validation
5
  * @since 0.0.4
6
  */
7
+ class dkrpt_Meta_Box_Sanitize {
8
 
9
  /**
10
+ * A dkrpt field object
11
+ * @var dkrpt_Meta_Box_field object
12
  */
13
  public $field;
14
 
21
  /**
22
  * Setup our class vars
23
  * @since 1.1.0
24
+ * @param object $field A dkrpt field object
25
  * @param mixed $value Field value
26
  */
27
  public function __construct( $field, $value ) {
28
  $this->field = $field;
29
  $this->value = $value;
30
+ $this->object_id = dkrpt_Meta_Box::get_object_id();
31
+ $this->object_type = dkrpt_Meta_Box::get_object_type();
32
  }
33
 
34
  /**
50
  public function default_sanitization( $value ) {
51
 
52
  // Allow field type validation via filter
53
+ $updated = apply_filters( 'dkrpt_validate_'. $this->field->type(), null, $value, $this->object_id, $this->field->args(), $this );
54
 
55
  if ( null !== $updated )
56
  return $updated;
225
  $tzstring = $value['timezone'];
226
 
227
  if ( empty( $tzstring ) )
228
+ $tzstring = dkrpt_Meta_Box::timezone_string();
229
 
230
+ $offset = dkrpt_Meta_Box::timezone_offset( $tzstring, true );
231
 
232
  if ( substr( $tzstring, 0, 3 ) === 'UTC' )
233
  $tzstring = timezone_name_from_abbr( '', $offset, 0 );
273
 
274
  unset( $args['_id'], $args['_name'] );
275
  // And get new field object
276
+ $field = new dkrpt_Meta_Box_field( $args, $group );
277
  $id_key = $field->_id();
278
  $id_val_old = $field->escaped_value( 'absint' );
279
 
291
 
292
  // If there is no ID saved yet, try to get it from the url
293
  if ( $value && ! $id_val ) {
294
+ $id_val = dkrpt_Meta_Box::image_id_from_url( $value );
295
  }
296
 
297
  if ( $group ) {
cmb/helpers/cmb_Meta_Box_Show_Filters.php → dkrpt/helpers/dkrpt_Meta_Box_Show_Filters.php RENAMED
@@ -2,14 +2,14 @@
2
 
3
  /**
4
  * Show On Filters
5
- * Use the 'cmb_show_on' filter to further refine the conditions under which a metabox is displayed.
6
  * Below you can limit it by ID and page template
7
  *
8
  * All methods in this class are automatically filtered
9
  *
10
  * @since 1.0.0
11
  */
12
- class cmb_Meta_Box_Show_Filters {
13
 
14
  /**
15
  * Add metaboxes for an specific ID
@@ -23,7 +23,7 @@ class cmb_Meta_Box_Show_Filters {
23
  if ( ! isset( $meta_box['show_on']['key'] ) || 'id' !== $meta_box['show_on']['key'] )
24
  return $display;
25
 
26
- $object_id = is_admin() ? cmb_Meta_Box::get_object_id() : @get_the_id();
27
 
28
  if ( ! $object_id )
29
  return false;
@@ -44,9 +44,9 @@ class cmb_Meta_Box_Show_Filters {
44
  if ( ! isset( $meta_box['show_on']['key'] ) || 'page-template' !== $meta_box['show_on']['key'] )
45
  return $display;
46
 
47
- $object_id = cmb_Meta_Box::get_object_id();
48
 
49
- if ( ! $object_id || cmb_Meta_Box::get_object_type() !== 'post' )
50
  return false;
51
 
52
  // Get current template
2
 
3
  /**
4
  * Show On Filters
5
+ * Use the 'dkrpt_show_on' filter to further refine the conditions under which a metabox is displayed.
6
  * Below you can limit it by ID and page template
7
  *
8
  * All methods in this class are automatically filtered
9
  *
10
  * @since 1.0.0
11
  */
12
+ class dkrpt_Meta_Box_Show_Filters {
13
 
14
  /**
15
  * Add metaboxes for an specific ID
23
  if ( ! isset( $meta_box['show_on']['key'] ) || 'id' !== $meta_box['show_on']['key'] )
24
  return $display;
25
 
26
+ $object_id = is_admin() ? dkrpt_Meta_Box::get_object_id() : @get_the_id();
27
 
28
  if ( ! $object_id )
29
  return false;
44
  if ( ! isset( $meta_box['show_on']['key'] ) || 'page-template' !== $meta_box['show_on']['key'] )
45
  return $display;
46
 
47
+ $object_id = dkrpt_Meta_Box::get_object_id();
48
 
49
+ if ( ! $object_id || dkrpt_Meta_Box::get_object_type() !== 'post' )
50
  return false;
51
 
52
  // Get current template
cmb/helpers/cmb_Meta_Box_ajax.php → dkrpt/helpers/dkrpt_Meta_Box_ajax.php RENAMED
@@ -1,12 +1,12 @@
1
  <?php
2
 
3
  /**
4
- * CMB ajax methods
5
  * (i.e. a lot of work to get oEmbeds to work with non-post objects)
6
  *
7
  * @since 0.9.5
8
  */
9
- class cmb_Meta_Box_ajax {
10
 
11
  // A single instance of this class.
12
  public static $instance = null;
@@ -19,7 +19,7 @@ class cmb_Meta_Box_ajax {
19
  /**
20
  * Creates or returns an instance of this class.
21
  * @since 0.1.0
22
- * @return cmb_Meta_Box_ajax A single instance of this class.
23
  */
24
  public static function get() {
25
  if ( self::$instance === null )
@@ -36,7 +36,7 @@ class cmb_Meta_Box_ajax {
36
  public function oembed_handler() {
37
 
38
  // verify our nonce
39
- if ( ! ( isset( $_REQUEST['cmb_ajax_nonce'], $_REQUEST['oembed_url'] ) && wp_verify_nonce( $_REQUEST['cmb_ajax_nonce'], 'ajax_nonce' ) ) )
40
  die();
41
 
42
  // sanitize our search string
@@ -44,7 +44,7 @@ class cmb_Meta_Box_ajax {
44
 
45
  // send back error if empty
46
  if ( empty( $oembed_string ) )
47
- self::send_result( '<p class="ui-state-error-text">'. __( 'Please Try Again', 'cmb' ) .'</p>', false );
48
 
49
  // Set width of embed
50
  $embed_width = isset( $_REQUEST['oembed_width'] ) && intval( $_REQUEST['oembed_width'] ) < 640 ? intval( $_REQUEST['oembed_width'] ) : '640';
@@ -109,9 +109,9 @@ class cmb_Meta_Box_ajax {
109
  self::$object_type = $args['object_type'];
110
 
111
  // Gets ombed cache from our object's meta (vs postmeta)
112
- add_filter( 'get_post_metadata', array( 'cmb_Meta_Box_ajax', 'hijack_oembed_cache_get' ), 10, 3 );
113
  // Sets ombed cache in our object's meta (vs postmeta)
114
- add_filter( 'update_post_metadata', array( 'cmb_Meta_Box_ajax', 'hijack_oembed_cache_set' ), 10, 4 );
115
 
116
  }
117
 
@@ -128,10 +128,10 @@ class cmb_Meta_Box_ajax {
128
 
129
  // Send back our embed
130
  if ( $check_embed && $check_embed != $fallback )
131
- return '<div class="embed_status">'. $check_embed .'<p class="cmb_remove_wrapper"><a href="#" class="cmb_remove_file_button" rel="'. $args['field_id'] .'">'. __( 'Remove Embed', 'cmb' ) .'</a></p></div>';
132
 
133
  // Otherwise, send back error info that no oEmbeds were found
134
- return '<p class="ui-state-error-text">'. sprintf( __( 'No oEmbed Results Found for %s. View more info at', 'cmb' ), $fallback ) .' <a href="http://codex.wordpress.org/Embeds" target="_blank">codex.wordpress.org/Embeds</a>.</p>';
135
 
136
  }
137
 
@@ -152,7 +152,7 @@ class cmb_Meta_Box_ajax {
152
 
153
  // get cached data
154
  $data = 'options-page' === self::$object_type
155
- ? cmb_Meta_Box::get_option( self::$object_id, self::$embed_args['cache_key'] )
156
  : get_metadata( self::$object_type, self::$object_id, $meta_key, true );
157
 
158
  return $data;
@@ -176,9 +176,9 @@ class cmb_Meta_Box_ajax {
176
  // Cache the result to our metadata
177
  if ( 'options-page' === self::$object_type ) {
178
  // Set the option
179
- cmb_Meta_Box::update_option( self::$object_id, self::$embed_args['cache_key'], $meta_value, array( 'type' => 'oembed' ) );
180
  // Save the option
181
- cmb_Meta_Box::save_option( self::$object_id );
182
  } else {
183
  update_metadata( self::$object_type, self::$object_id, $meta_key, $meta_value );
184
  }
1
  <?php
2
 
3
  /**
4
+ * dkrpt ajax methods
5
  * (i.e. a lot of work to get oEmbeds to work with non-post objects)
6
  *
7
  * @since 0.9.5
8
  */
9
+ class dkrpt_Meta_Box_ajax {
10
 
11
  // A single instance of this class.
12
  public static $instance = null;
19
  /**
20
  * Creates or returns an instance of this class.
21
  * @since 0.1.0
22
+ * @return dkrpt_Meta_Box_ajax A single instance of this class.
23
  */
24
  public static function get() {
25
  if ( self::$instance === null )
36
  public function oembed_handler() {
37
 
38
  // verify our nonce
39
+ if ( ! ( isset( $_REQUEST['dkrpt_ajax_nonce'], $_REQUEST['oembed_url'] ) && wp_verify_nonce( $_REQUEST['dkrpt_ajax_nonce'], 'ajax_nonce' ) ) )
40
  die();
41
 
42
  // sanitize our search string
44
 
45
  // send back error if empty
46
  if ( empty( $oembed_string ) )
47
+ self::send_result( '<p class="ui-state-error-text">'. __( 'Please Try Again', 'dkrpt' ) .'</p>', false );
48
 
49
  // Set width of embed
50
  $embed_width = isset( $_REQUEST['oembed_width'] ) && intval( $_REQUEST['oembed_width'] ) < 640 ? intval( $_REQUEST['oembed_width'] ) : '640';
109
  self::$object_type = $args['object_type'];
110
 
111
  // Gets ombed cache from our object's meta (vs postmeta)
112
+ add_filter( 'get_post_metadata', array( 'dkrpt_Meta_Box_ajax', 'hijack_oembed_cache_get' ), 10, 3 );
113
  // Sets ombed cache in our object's meta (vs postmeta)
114
+ add_filter( 'update_post_metadata', array( 'dkrpt_Meta_Box_ajax', 'hijack_oembed_cache_set' ), 10, 4 );
115
 
116
  }
117
 
128
 
129
  // Send back our embed
130
  if ( $check_embed && $check_embed != $fallback )
131
+ return '<div class="embed_status">'. $check_embed .'<p class="dkrpt_remove_wrapper"><a href="#" class="dkrpt_remove_file_button" rel="'. $args['field_id'] .'">'. __( 'Remove Embed', 'dkrpt' ) .'</a></p></div>';
132
 
133
  // Otherwise, send back error info that no oEmbeds were found
134
+ return '<p class="ui-state-error-text">'. sprintf( __( 'No oEmbed Results Found for %s. View more info at', 'dkrpt' ), $fallback ) .' <a href="http://codex.wordpress.org/Embeds" target="_blank">codex.wordpress.org/Embeds</a>.</p>';
135
 
136
  }
137
 
152
 
153
  // get cached data
154
  $data = 'options-page' === self::$object_type
155
+ ? dkrpt_Meta_Box::get_option( self::$object_id, self::$embed_args['cache_key'] )
156
  : get_metadata( self::$object_type, self::$object_id, $meta_key, true );
157
 
158
  return $data;
176
  // Cache the result to our metadata
177
  if ( 'options-page' === self::$object_type ) {
178
  // Set the option
179
+ dkrpt_Meta_Box::update_option( self::$object_id, self::$embed_args['cache_key'], $meta_value, array( 'type' => 'oembed' ) );
180
  // Save the option
181
+ dkrpt_Meta_Box::save_option( self::$object_id );
182
  } else {
183
  update_metadata( self::$object_type, self::$object_id, $meta_key, $meta_value );
184
  }
cmb/helpers/cmb_Meta_Box_field.php → dkrpt/helpers/dkrpt_Meta_Box_field.php RENAMED
@@ -1,10 +1,10 @@
1
  <?php
2
 
3
  /**
4
- * CMB field class
5
  * @since 1.1.0
6
  */
7
- class cmb_Meta_Box_field {
8
 
9
  /**
10
  * Metabox object id
@@ -48,17 +48,17 @@ class cmb_Meta_Box_field {
48
  * @param array $group_field (optional) Group field object
49
  */
50
  public function __construct( $field_args, $group_field = null ) {
51
- $this->object_id = cmb_Meta_Box::get_object_id();
52
- $this->object_type = cmb_Meta_Box::get_object_type();
53
  $this->group = ! empty( $group_field ) ? $group_field : false;
54
  $this->args = $this->_set_field_defaults( $field_args );
55
 
56
  // Allow an override for the field's value
57
- // (assuming no one would want to save 'cmb_no_override_val' as a value)
58
- $this->value = apply_filters( 'cmb_override_meta_value', 'cmb_no_override_val', $this->object_id, $this->args(), $this->object_type, $this );
59
 
60
  // If no override, get our meta
61
- $this->value = 'cmb_no_override_val' === $this->value
62
  ? $this->get_data()
63
  : $this->value;
64
  }
@@ -141,7 +141,7 @@ class cmb_Meta_Box_field {
141
  extract( $this->data_args( $args ) );
142
 
143
  $data = 'options-page' === $type
144
- ? cmb_Meta_Box::get_option( $id, $field_id )
145
  : get_metadata( $type, $id, $field_id, ( $single || $repeat ) /* If multicheck this can be multiple values */ );
146
 
147
  if ( $this->group && $data ) {
@@ -164,7 +164,7 @@ class cmb_Meta_Box_field {
164
  $new_value = $repeat ? array_values( $new_value ) : $new_value;
165
 
166
  if ( 'options-page' === $type )
167
- return cmb_Meta_Box::update_option( $id, $field_id, $new_value, $single );
168
 
169
  if ( ! $single )
170
  return add_metadata( $type, $id, $field_id, $new_value, false );
@@ -181,7 +181,7 @@ class cmb_Meta_Box_field {
181
  extract( $this->data_args() );
182
 
183
  return 'options-page' === $type
184
- ? cmb_Meta_Box::remove_option( $id, $field_id )
185
  : delete_metadata( $type, $id, $field_id, $old );
186
  }
187
 
@@ -222,8 +222,8 @@ class cmb_Meta_Box_field {
222
  return call_user_func( $cb, $meta_value, $this->args(), $this );
223
  }
224
 
225
- $clean = new cmb_Meta_Box_Sanitize( $this, $meta_value );
226
- // Validation via 'cmb_Meta_Box_Sanitize' (with fallback filter)
227
  return $clean->{$this->type()}( $meta_value );
228
  }
229
 
@@ -310,7 +310,7 @@ class cmb_Meta_Box_field {
310
  }
311
 
312
  // Or custom escaping filter can be used
313
- $esc = apply_filters( 'cmb_types_esc_'. $this->type(), null, $meta_value, $this->args(), $this );
314
  if ( null !== $esc ) {
315
  return $esc;
316
  }
@@ -337,7 +337,7 @@ class cmb_Meta_Box_field {
337
  * @return string Offset time string
338
  */
339
  public function field_timezone_offset() {
340
- return cmb_Meta_Box::timezone_offset( $this->field_timezone() );
341
  }
342
 
343
  /**
@@ -373,11 +373,11 @@ class cmb_Meta_Box_field {
373
  if ( is_callable( $this->args( 'show_on_cb' ) ) && ! call_user_func( $this->args( 'show_on_cb' ), $this ) )
374
  return;
375
 
376
- $classes = 'cmb-type-'. sanitize_html_class( $this->type() );
377
- $classes .= ' cmb_id_'. sanitize_html_class( $this->id() );
378
- $classes .= $this->args( 'repeatable' ) ? ' cmb-repeat' : '';
379
  // 'inline' flag, or _inline in the field type, set to true
380
- $classes .= $this->args( 'inline' ) ? ' cmb-inline' : '';
381
  $is_side = 'side' === $this->args( 'context' );
382
 
383
  printf( "<tr class=\"%s\">\n", $classes );
@@ -401,7 +401,7 @@ class cmb_Meta_Box_field {
401
 
402
  echo $this->args( 'before' );
403
 
404
- $this_type = new cmb_Meta_Box_types( $this );
405
  $this_type->render();
406
 
407
  echo $this->args( 'after' );
@@ -444,7 +444,7 @@ class cmb_Meta_Box_field {
444
  if ( ! isset( $args['date_format'] ) ) $args['date_format'] = 'm\/d\/Y';
445
  if ( ! isset( $args['time_format'] ) ) $args['time_format'] = 'h:i A';
446
  // Allow a filter override of the default value
447
- $args['default'] = apply_filters( 'cmb_default_filter', $args['default'], $args, $this->object_type, $this->object_type );
448
  $args['allow'] = 'file' == $args['type'] && ! isset( $args['allow'] ) ? array( 'url', 'attachment' ) : array();
449
  $args['save_id'] = 'file' == $args['type'] && ! ( isset( $args['save_id'] ) && ! $args['save_id'] );
450
  // $args['multiple'] = isset( $args['multiple'] ) ? $args['multiple'] : ( 'multicheck' == $args['type'] ? true : false );
@@ -456,8 +456,8 @@ class cmb_Meta_Box_field {
456
  $args['options'] = isset( $args['options'] ) && is_array( $args['options'] ) ? $args['options'] : array();
457
 
458
  $args['options'] = 'group' == $args['type'] ? wp_parse_args( $args['options'], array(
459
- 'add_button' => __( 'Add Group', 'cmb' ),
460
- 'remove_button' => __( 'Remove Group', 'cmb' ),
461
  ) ) : $args['options'];
462
 
463
  $args['_id'] = $args['id'];
1
  <?php
2
 
3
  /**
4
+ * dkrpt field class
5
  * @since 1.1.0
6
  */
7
+ class dkrpt_Meta_Box_field {
8
 
9
  /**
10
  * Metabox object id
48
  * @param array $group_field (optional) Group field object
49
  */
50
  public function __construct( $field_args, $group_field = null ) {
51
+ $this->object_id = dkrpt_Meta_Box::get_object_id();
52
+ $this->object_type = dkrpt_Meta_Box::get_object_type();
53
  $this->group = ! empty( $group_field ) ? $group_field : false;
54
  $this->args = $this->_set_field_defaults( $field_args );
55
 
56
  // Allow an override for the field's value
57
+ // (assuming no one would want to save 'dkrpt_no_override_val' as a value)
58
+ $this->value = apply_filters( 'dkrpt_override_meta_value', 'dkrpt_no_override_val', $this->object_id, $this->args(), $this->object_type, $this );
59
 
60
  // If no override, get our meta
61
+ $this->value = 'dkrpt_no_override_val' === $this->value
62
  ? $this->get_data()
63
  : $this->value;
64
  }
141
  extract( $this->data_args( $args ) );
142
 
143
  $data = 'options-page' === $type
144
+ ? dkrpt_Meta_Box::get_option( $id, $field_id )
145
  : get_metadata( $type, $id, $field_id, ( $single || $repeat ) /* If multicheck this can be multiple values */ );
146
 
147
  if ( $this->group && $data ) {
164
  $new_value = $repeat ? array_values( $new_value ) : $new_value;
165
 
166
  if ( 'options-page' === $type )
167
+ return dkrpt_Meta_Box::update_option( $id, $field_id, $new_value, $single );
168
 
169
  if ( ! $single )
170
  return add_metadata( $type, $id, $field_id, $new_value, false );
181
  extract( $this->data_args() );
182
 
183
  return 'options-page' === $type
184
+ ? dkrpt_Meta_Box::remove_option( $id, $field_id )
185
  : delete_metadata( $type, $id, $field_id, $old );
186
  }
187
 
222
  return call_user_func( $cb, $meta_value, $this->args(), $this );
223
  }
224
 
225
+ $clean = new dkrpt_Meta_Box_Sanitize( $this, $meta_value );
226
+ // Validation via 'dkrpt_Meta_Box_Sanitize' (with fallback filter)
227
  return $clean->{$this->type()}( $meta_value );
228
  }
229
 
310
  }
311
 
312
  // Or custom escaping filter can be used
313
+ $esc = apply_filters( 'dkrpt_types_esc_'. $this->type(), null, $meta_value, $this->args(), $this );
314
  if ( null !== $esc ) {
315
  return $esc;
316
  }
337
  * @return string Offset time string
338
  */
339
  public function field_timezone_offset() {
340
+ return dkrpt_Meta_Box::timezone_offset( $this->field_timezone() );
341
  }
342
 
343
  /**
373
  if ( is_callable( $this->args( 'show_on_cb' ) ) && ! call_user_func( $this->args( 'show_on_cb' ), $this ) )
374
  return;
375
 
376
+ $classes = 'dkrpt-type-'. sanitize_html_class( $this->type() );
377
+ $classes .= ' dkrpt_id_'. sanitize_html_class( $this->id() );
378
+ $classes .= $this->args( 'repeatable' ) ? ' dkrpt-repeat' : '';
379
  // 'inline' flag, or _inline in the field type, set to true
380
+ $classes .= $this->args( 'inline' ) ? ' dkrpt-inline' : '';
381
  $is_side = 'side' === $this->args( 'context' );
382
 
383
  printf( "<tr class=\"%s\">\n", $classes );
401
 
402
  echo $this->args( 'before' );
403
 
404
+ $this_type = new dkrpt_Meta_Box_types( $this );
405
  $this_type->render();
406
 
407
  echo $this->args( 'after' );
444
  if ( ! isset( $args['date_format'] ) ) $args['date_format'] = 'm\/d\/Y';
445
  if ( ! isset( $args['time_format'] ) ) $args['time_format'] = 'h:i A';
446
  // Allow a filter override of the default value
447
+ $args['default'] = apply_filters( 'dkrpt_default_filter', $args['default'], $args, $this->object_type, $this->object_type );
448
  $args['allow'] = 'file' == $args['type'] && ! isset( $args['allow'] ) ? array( 'url', 'attachment' ) : array();
449
  $args['save_id'] = 'file' == $args['type'] && ! ( isset( $args['save_id'] ) && ! $args['save_id'] );
450
  // $args['multiple'] = isset( $args['multiple'] ) ? $args['multiple'] : ( 'multicheck' == $args['type'] ? true : false );
456
  $args['options'] = isset( $args['options'] ) && is_array( $args['options'] ) ? $args['options'] : array();
457
 
458
  $args['options'] = 'group' == $args['type'] ? wp_parse_args( $args['options'], array(
459
+ 'add_button' => __( 'Add Group', 'dkrpt' ),
460
+ 'remove_button' => __( 'Remove Group', 'dkrpt' ),
461
  ) ) : $args['options'];
462
 
463
  $args['_id'] = $args['id'];
cmb/helpers/cmb_Meta_Box_types.php → dkrpt/helpers/dkrpt_Meta_Box_types.php RENAMED
@@ -1,7 +1,7 @@
1
  <?php
2
 
3
  /**
4
- * CMB field types
5
  *
6
  * @todo test taxonomy methods with non-post objects
7
  * @todo test all methods with non-post objects
@@ -9,7 +9,7 @@
9
  *
10
  * @since 1.0.0
11
  */
12
- class cmb_Meta_Box_types {
13
 
14
  /**
15
  * An iterator value for repeatable fields
@@ -30,14 +30,14 @@ class cmb_Meta_Box_types {
30
  }
31
 
32
  /**
33
- * Default fallback. Allows rendering fields via "cmb_render_$name" hook
34
  * @since 1.0.0
35
  * @param string $name Non-existent method name
36
  * @param array $arguments All arguments passed to the method
37
  */
38
  public function __call( $name, $arguments ) {
39
  // When a non-registered field is called, send it through an action.
40
- do_action( "cmb_render_$name", $this->field->args(), $this->field->escaped_value(), $this->field->object_id, $this->field->object_type, $this );
41
  }
42
 
43
  /**
@@ -71,7 +71,7 @@ class cmb_Meta_Box_types {
71
 
72
  if ( ! $post = get_post( $object_id ) ) {
73
 
74
- $cache_key = 'cmb-cache-'. $taxonomy .'-'. $object_id;
75
 
76
  // Check cache
77
  $cached = $test = get_transient( $cache_key );
@@ -110,7 +110,7 @@ class cmb_Meta_Box_types {
110
  $file_ext = $this->get_file_ext( $file );
111
 
112
  $this->valid = empty( $this->valid )
113
- ? (array) apply_filters( 'cmb_valid_img_types', array( 'jpg', 'jpeg', 'png', 'gif', 'ico', 'icon' ) )
114
  : $this->valid;
115
 
116
  return ( $file_ext && in_array( $file_ext, $this->valid ) );
@@ -125,7 +125,7 @@ class cmb_Meta_Box_types {
125
  * @return array Parsed and filtered arguments
126
  */
127
  public function parse_args( $args, $element, $defaults ) {
128
- return wp_parse_args( apply_filters( "cmb_{$element}_attributes", $this->field->maybe_set_attributes( $args ), $this->field, $this ), $defaults );
129
  }
130
 
131
  /**
@@ -205,7 +205,7 @@ class cmb_Meta_Box_types {
205
  public function list_input( $args = array(), $i ) {
206
  $args = $this->parse_args( $args, 'list_input', array(
207
  'type' => 'radio',
208
- 'class' => 'cmb_option',
209
  'name' => $this->_name(),
210
  'id' => $this->_id( $i ),
211
  'value' => $this->field->escaped_value(),
@@ -241,13 +241,13 @@ class cmb_Meta_Box_types {
241
  $this->_desc( true, true );
242
  ?>
243
 
244
- <table id="<?php echo $table_id; ?>" class="cmb-repeat-table">
245
  <tbody>
246
  <?php $this->repeatable_rows(); ?>
247
  </tbody>
248
  </table>
249
  <p class="add-row">
250
- <a data-selector="<?php echo $table_id; ?>" class="add-row-button button" href="#"><?php _e( 'Add Row', 'cmb' ); ?></a>
251
  </p>
252
 
253
  <?php
@@ -303,7 +303,7 @@ class cmb_Meta_Box_types {
303
  <?php $this->_render(); ?>
304
  </td>
305
  <td class="remove-row">
306
- <a class="button remove-row-button" href="#"><?php _e( 'Remove', 'cmb' ); ?></a>
307
  </td>
308
  </tr>
309
 
@@ -323,7 +323,7 @@ class cmb_Meta_Box_types {
323
  return '';
324
  }
325
  $tag = $paragraph ? 'p' : 'span';
326
- $desc = "\n<$tag class=\"cmb_metabox_description\">{$this->field->args( 'description' )}</$tag>\n";
327
  if ( $echo )
328
  echo $desc;
329
  return $desc;
@@ -376,7 +376,7 @@ class cmb_Meta_Box_types {
376
  */
377
  public function textarea( $args = array() ) {
378
  $args = $this->parse_args( $args, 'textarea', array(
379
- 'class' => 'cmb_textarea',
380
  'name' => $this->_name(),
381
  'id' => $this->_id(),
382
  'cols' => 60,
@@ -396,39 +396,39 @@ class cmb_Meta_Box_types {
396
  }
397
 
398
  public function text_small() {
399
- return $this->input( array( 'class' => 'cmb_text_small', 'desc' => $this->_desc() ) );
400
  }
401
 
402
  public function text_medium() {
403
- return $this->input( array( 'class' => 'cmb_text_medium', 'desc' => $this->_desc() ) );
404
  }
405
 
406
  public function text_email() {
407
- return $this->input( array( 'class' => 'cmb_text_email cmb_text_medium', 'type' => 'email' ) );
408
  }
409
 
410
  public function text_url() {
411
- return $this->input( array( 'class' => 'cmb_text_url cmb_text_medium regular-text', 'value' => $this->field->escaped_value( 'esc_url' ) ) );
412
  }
413
 
414
  public function text_date() {
415
- return $this->input( array( 'class' => 'cmb_text_small cmb_datepicker', 'desc' => $this->_desc() ) );
416
  }
417
 
418
  public function text_time() {
419
- return $this->input( array( 'class' => 'cmb_timepicker text_time', 'desc' => $this->_desc() ) );
420
  }
421
 
422
  public function text_money() {
423
- return ( ! $this->field->args( 'before' ) ? '$ ' : ' ' ) . $this->input( array( 'class' => 'cmb_text_money', 'desc' => $this->_desc() ) );
424
  }
425
 
426
  public function textarea_small() {
427
- return $this->textarea( array( 'class' => 'cmb_textarea_small', 'rows' => 4 ) );
428
  }
429
 
430
  public function textarea_code() {
431
- return sprintf( '<pre>%s</pre>', $this->textarea( array( 'class' => 'cmb_textarea_code' ) ) );
432
  }
433
 
434
  public function wysiwyg( $args = array() ) {
@@ -446,7 +446,7 @@ class cmb_Meta_Box_types {
446
  public function text_date_timestamp() {
447
  $meta_value = $this->field->escaped_value();
448
  $value = ! empty( $meta_value ) ? date( $this->field->args( 'date_format' ), $meta_value ) : '';
449
- return $this->input( array( 'class' => 'cmb_text_small cmb_datepicker', 'value' => $value ) );
450
  }
451
 
452
  public function text_datetime_timestamp( $meta_value = '' ) {
@@ -463,14 +463,14 @@ class cmb_Meta_Box_types {
463
 
464
  $inputs = array(
465
  $this->input( array(
466
- 'class' => 'cmb_text_small cmb_datepicker',
467
  'name' => $this->_name( '[date]' ),
468
  'id' => $this->_id( '_date' ),
469
  'value' => ! empty( $meta_value ) ? date( $this->field->args( 'date_format' ), $meta_value ) : '',
470
  'desc' => '',
471
  ) ),
472
  $this->input( array(
473
- 'class' => 'cmb_timepicker text_time',
474
  'name' => $this->_name( '[time]' ),
475
  'id' => $this->_id( '_time' ),
476
  'value' => ! empty( $meta_value ) ? date( $this->field->args( 'time_format' ), $meta_value ) : '',
@@ -503,7 +503,7 @@ class cmb_Meta_Box_types {
503
  public function select_timezone() {
504
  $this->field->args['default'] = $this->field->args( 'default' )
505
  ? $this->field->args( 'default' )
506
- : cmb_Meta_Box::timezone_string();
507
 
508
  $meta_value = $this->field->escaped_value();
509
 
@@ -518,13 +518,13 @@ class cmb_Meta_Box_types {
518
  elseif ( ! preg_match( '/^#' . $hex_color . '/i', $meta_value ) ) // Value doesn't match #123abc, so sanitize to just #.
519
  $meta_value = "#";
520
 
521
- return $this->input( array( 'class' => 'cmb_colorpicker cmb_text_small', 'value' => $meta_value ) );
522
  }
523
 
524
  public function title() {
525
  extract( $this->parse_args( array(), 'title', array(
526
  'tag' => $this->field->object_type == 'post' ? 'h5' : 'h3',
527
- 'class' => 'cmb_metabox_title',
528
  'name' => $this->field->args( 'name' ),
529
  'desc' => $this->_desc( true ),
530
  ) ) );
@@ -534,7 +534,7 @@ class cmb_Meta_Box_types {
534
 
535
  public function select( $args = array() ) {
536
  $args = $this->parse_args( $args, 'select', array(
537
- 'class' => 'cmb_select',
538
  'name' => $this->_name(),
539
  'id' => $this->_id(),
540
  'desc' => $this->_desc( true ),
@@ -562,7 +562,7 @@ class cmb_Meta_Box_types {
562
 
563
  public function radio( $args = array(), $type = 'radio' ) {
564
  extract( $this->parse_args( $args, $type, array(
565
- 'class' => 'cmb_radio_list cmb_list',
566
  'options' => $this->concat_options( array( 'label' => 'test' ) ),
567
  'desc' => $this->_desc( true ),
568
  ) ) );
@@ -575,7 +575,7 @@ class cmb_Meta_Box_types {
575
  }
576
 
577
  public function multicheck( $type = 'checkbox' ) {
578
- return $this->radio( array( 'class' => 'cmb_checkbox_list cmb_list', 'options' => $this->concat_options( array( 'type' => 'checkbox', 'name' => $this->_name() .'[]' ), 'list_input_checkbox' ) ), $type );
579
  }
580
 
581
  public function multicheck_inline() {
@@ -584,7 +584,7 @@ class cmb_Meta_Box_types {
584
 
585
  public function checkbox() {
586
  $meta_value = $this->field->escaped_value();
587
- $args = array( 'type' => 'checkbox', 'class' => 'cmb_option cmb_list', 'value' => 'on', 'desc' => '' );
588
  if ( ! empty( $meta_value ) ) {
589
  $args['checked'] = 'checked';
590
  }
@@ -598,7 +598,7 @@ class cmb_Meta_Box_types {
598
  $options = ''; $i = 1;
599
 
600
  if ( ! $terms ) {
601
- $options .= '<li><label>'. __( 'No terms', 'cmb' ) .'</label></li>';
602
  } else {
603
  foreach ( $terms as $term ) {
604
  $args = array(
@@ -632,7 +632,7 @@ class cmb_Meta_Box_types {
632
  $options = ''; $i = 1;
633
 
634
  if ( ! $terms ) {
635
- $options .= '<li><label>'. __( 'No terms', 'cmb' ) .'</label></li>';
636
  } else {
637
 
638
  foreach ( $terms as $term ) {
@@ -651,7 +651,7 @@ class cmb_Meta_Box_types {
651
  }
652
  }
653
 
654
- return $this->radio( array( 'class' => 'cmb_checkbox_list cmb_list', 'options' => $options ), 'taxonomy_multicheck' );
655
  }
656
 
657
  public function taxonomy_multicheck_inline() {
@@ -665,17 +665,17 @@ class cmb_Meta_Box_types {
665
 
666
  echo $this->input( array(
667
  'type' => 'hidden',
668
- 'class' => 'cmb_upload_file cmb_upload_list',
669
  'size' => 45, 'desc' => '', 'value' => '',
670
  ) ),
671
  $this->input( array(
672
  'type' => 'button',
673
- 'class' => 'cmb_upload_button button cmb_upload_list',
674
- 'value' => __( 'Add or Upload File', 'cmb' ),
675
  'name' => '', 'id' => '',
676
  ) );
677
 
678
- echo '<ul id="', $this->_id( '_status' ) ,'" class="cmb_media_status attach_list">';
679
 
680
  if ( $meta_value && is_array( $meta_value ) ) {
681
 
@@ -692,7 +692,7 @@ class cmb_Meta_Box_types {
692
  echo
693
  '<li class="img_status">',
694
  wp_get_attachment_image( $id, $this->field->args( 'preview_size' ) ),
695
- '<p class="cmb_remove_wrapper"><a href="#" class="cmb_remove_file_button">'. __( 'Remove Image', 'cmb' ) .'</a></p>
696
  '. $id_input .'
697
  </li>';
698
 
@@ -703,7 +703,7 @@ class cmb_Meta_Box_types {
703
  }
704
  echo
705
  '<li>',
706
- __( 'File:', 'cmb' ), ' <strong>', $title, '</strong>&nbsp;&nbsp;&nbsp; (<a href="', $fullurl, '" target="_blank" rel="external">'. __( 'Download', 'cmb' ) .'</a> / <a href="#" class="cmb_remove_file_button">'. __( 'Remove', 'cmb' ) .'</a>)
707
  '. $id_input .'
708
  </li>';
709
  }
@@ -721,11 +721,11 @@ class cmb_Meta_Box_types {
721
 
722
  echo $this->input( array(
723
  'type' => $input_type,
724
- 'class' => 'cmb_upload_file',
725
  'size' => 45,
726
  'desc' => '',
727
  ) ),
728
- '<input class="cmb_upload_button button" type="button" value="'. __( 'Add or Upload File', 'cmb' ) .'" />',
729
  $this->_desc( true );
730
 
731
  $cached_id = $this->_id();
@@ -735,29 +735,29 @@ class cmb_Meta_Box_types {
735
  unset( $args['_id'], $args['_name'] );
736
 
737
  // And get new field object
738
- $this->field = new cmb_Meta_Box_field( $args, $this->field->group );
739
 
740
  // Get ID value
741
  $_id_value = $this->field->escaped_value( 'absint' );
742
 
743
  // If there is no ID saved yet, try to get it from the url
744
  if ( $meta_value && ! $_id_value ) {
745
- $_id_value = cmb_Meta_Box::image_id_from_url( esc_url_raw( $meta_value ) );
746
  }
747
 
748
  echo $this->input( array(
749
  'type' => 'hidden',
750
- 'class' => 'cmb_upload_file_id',
751
  'value' => $_id_value,
752
  'desc' => '',
753
  ) ),
754
- '<div id="', $this->_id( '_status' ) ,'" class="cmb_media_status">';
755
  if ( ! empty( $meta_value ) ) {
756
 
757
  if ( $this->is_valid_img_ext( $meta_value ) ) {
758
  echo '<div class="img_status">';
759
  echo '<img style="max-width: 350px; width: 100%; height: auto;" src="', $meta_value, '" alt="" />';
760
- echo '<p class="cmb_remove_wrapper"><a href="#" class="cmb_remove_file_button" rel="', $cached_id, '">'. __( 'Remove Image', 'cmb' ) .'</a></p>';
761
  echo '</div>';
762
  } else {
763
  // $file_ext = $this->get_file_ext( $meta_value );
@@ -765,7 +765,7 @@ class cmb_Meta_Box_types {
765
  for ( $i = 0; $i < count( $parts ); ++$i ) {
766
  $title = $parts[$i];
767
  }
768
- echo __( 'File:', 'cmb' ), ' <strong>', $title, '</strong>&nbsp;&nbsp;&nbsp; (<a href="', $meta_value, '" target="_blank" rel="external">'. __( 'Download', 'cmb' ) .'</a> / <a href="#" class="cmb_remove_file_button" rel="', $cached_id, '">'. __( 'Remove', 'cmb' ) .'</a>)';
769
  }
770
  }
771
  echo '</div>';
@@ -773,15 +773,15 @@ class cmb_Meta_Box_types {
773
 
774
  public function oembed() {
775
  echo $this->input( array(
776
- 'class' => 'cmb_oembed regular-text',
777
  'data-objectid' => $this->field->object_id,
778
  'data-objecttype' => $this->field->object_type
779
  ) ),
780
- '<p class="cmb-spinner spinner" style="display:none;"><img src="'. admin_url( '/images/wpspin_light.gif' ) .'" alt="spinner"/></p>',
781
- '<div id="',$this->_id( '_status' ) ,'" class="cmb_media_status ui-helper-clearfix embed_wrap">';
782
 
783
  if ( $meta_value = $this->field->escaped_value() ) {
784
- echo cmb_Meta_Box_ajax::get_oembed( $meta_value, $this->field->object_id, array(
785
  'object_type' => $this->field->object_type,
786
  'oembed_args' => array( 'width' => '640' ),
787
  'field_id' => $this->_id(),
1
  <?php
2
 
3
  /**
4
+ * dkrpt field types
5
  *
6
  * @todo test taxonomy methods with non-post objects
7
  * @todo test all methods with non-post objects
9
  *
10
  * @since 1.0.0
11
  */
12
+ class dkrpt_Meta_Box_types {
13
 
14
  /**
15
  * An iterator value for repeatable fields
30
  }
31
 
32
  /**
33
+ * Default fallback. Allows rendering fields via "dkrpt_render_$name" hook
34
  * @since 1.0.0
35
  * @param string $name Non-existent method name
36
  * @param array $arguments All arguments passed to the method
37
  */
38
  public function __call( $name, $arguments ) {
39
  // When a non-registered field is called, send it through an action.
40
+ do_action( "dkrpt_render_$name", $this->field->args(), $this->field->escaped_value(), $this->field->object_id, $this->field->object_type, $this );
41
  }
42
 
43
  /**
71
 
72
  if ( ! $post = get_post( $object_id ) ) {
73
 
74
+ $cache_key = 'dkrpt-cache-'. $taxonomy .'-'. $object_id;
75
 
76
  // Check cache
77
  $cached = $test = get_transient( $cache_key );
110
  $file_ext = $this->get_file_ext( $file );
111
 
112
  $this->valid = empty( $this->valid )
113
+ ? (array) apply_filters( 'dkrpt_valid_img_types', array( 'jpg', 'jpeg', 'png', 'gif', 'ico', 'icon' ) )
114
  : $this->valid;
115
 
116
  return ( $file_ext && in_array( $file_ext, $this->valid ) );
125
  * @return array Parsed and filtered arguments
126
  */
127
  public function parse_args( $args, $element, $defaults ) {
128
+ return wp_parse_args( apply_filters( "dkrpt_{$element}_attributes", $this->field->maybe_set_attributes( $args ), $this->field, $this ), $defaults );
129
  }
130
 
131
  /**
205
  public function list_input( $args = array(), $i ) {
206
  $args = $this->parse_args( $args, 'list_input', array(
207
  'type' => 'radio',
208
+ 'class' => 'dkrpt_option',
209
  'name' => $this->_name(),
210
  'id' => $this->_id( $i ),
211
  'value' => $this->field->escaped_value(),
241
  $this->_desc( true, true );
242
  ?>
243
 
244
+ <table id="<?php echo $table_id; ?>" class="dkrpt-repeat-table">
245
  <tbody>
246
  <?php $this->repeatable_rows(); ?>
247
  </tbody>
248
  </table>
249
  <p class="add-row">
250
+ <a data-selector="<?php echo $table_id; ?>" class="add-row-button button" href="#"><?php _e( 'Add Row', 'dkrpt' ); ?></a>
251
  </p>
252
 
253
  <?php
303
  <?php $this->_render(); ?>
304
  </td>
305
  <td class="remove-row">
306
+ <a class="button remove-row-button" href="#"><?php _e( 'Remove', 'dkrpt' ); ?></a>
307
  </td>
308
  </tr>
309
 
323
  return '';
324
  }
325
  $tag = $paragraph ? 'p' : 'span';
326
+ $desc = "\n<$tag class=\"dkrpt_metabox_description\">{$this->field->args( 'description' )}</$tag>\n";
327
  if ( $echo )
328
  echo $desc;
329
  return $desc;
376
  */
377
  public function textarea( $args = array() ) {
378
  $args = $this->parse_args( $args, 'textarea', array(
379
+ 'class' => 'dkrpt_textarea',
380
  'name' => $this->_name(),
381
  'id' => $this->_id(),
382
  'cols' => 60,
396
  }
397
 
398
  public function text_small() {
399
+ return $this->input( array( 'class' => 'dkrpt_text_small', 'desc' => $this->_desc() ) );
400
  }
401
 
402
  public function text_medium() {
403
+ return $this->input( array( 'class' => 'dkrpt_text_medium', 'desc' => $this->_desc() ) );
404
  }
405
 
406
  public function text_email() {
407
+ return $this->input( array( 'class' => 'dkrpt_text_email dkrpt_text_medium', 'type' => 'email' ) );
408
  }
409
 
410
  public function text_url() {
411
+ return $this->input( array( 'class' => 'dkrpt_text_url dkrpt_text_medium regular-text', 'value' => $this->field->escaped_value( 'esc_url' ) ) );
412
  }
413
 
414
  public function text_date() {
415
+ return $this->input( array( 'class' => 'dkrpt_text_small dkrpt_datepicker', 'desc' => $this->_desc() ) );
416
  }
417
 
418
  public function text_time() {
419
+ return $this->input( array( 'class' => 'dkrpt_timepicker text_time', 'desc' => $this->_desc() ) );
420
  }
421
 
422
  public function text_money() {
423
+ return ( ! $this->field->args( 'before' ) ? '$ ' : ' ' ) . $this->input( array( 'class' => 'dkrpt_text_money', 'desc' => $this->_desc() ) );
424
  }
425
 
426
  public function textarea_small() {
427
+ return $this->textarea( array( 'class' => 'dkrpt_textarea_small', 'rows' => 4 ) );
428
  }
429
 
430
  public function textarea_code() {
431
+ return sprintf( '<pre>%s</pre>', $this->textarea( array( 'class' => 'dkrpt_textarea_code' ) ) );
432
  }
433
 
434
  public function wysiwyg( $args = array() ) {
446
  public function text_date_timestamp() {
447
  $meta_value = $this->field->escaped_value();
448
  $value = ! empty( $meta_value ) ? date( $this->field->args( 'date_format' ), $meta_value ) : '';
449
+ return $this->input( array( 'class' => 'dkrpt_text_small dkrpt_datepicker', 'value' => $value ) );
450
  }
451
 
452
  public function text_datetime_timestamp( $meta_value = '' ) {
463
 
464
  $inputs = array(
465
  $this->input( array(
466
+ 'class' => 'dkrpt_text_small dkrpt_datepicker',
467
  'name' => $this->_name( '[date]' ),
468
  'id' => $this->_id( '_date' ),
469
  'value' => ! empty( $meta_value ) ? date( $this->field->args( 'date_format' ), $meta_value ) : '',
470
  'desc' => '',
471
  ) ),
472
  $this->input( array(
473
+ 'class' => 'dkrpt_timepicker text_time',
474
  'name' => $this->_name( '[time]' ),
475
  'id' => $this->_id( '_time' ),
476
  'value' => ! empty( $meta_value ) ? date( $this->field->args( 'time_format' ), $meta_value ) : '',
503
  public function select_timezone() {
504
  $this->field->args['default'] = $this->field->args( 'default' )
505
  ? $this->field->args( 'default' )
506
+ : dkrpt_Meta_Box::timezone_string();
507
 
508
  $meta_value = $this->field->escaped_value();
509
 
518
  elseif ( ! preg_match( '/^#' . $hex_color . '/i', $meta_value ) ) // Value doesn't match #123abc, so sanitize to just #.
519
  $meta_value = "#";
520
 
521
+ return $this->input( array( 'class' => 'dkrpt_colorpicker dkrpt_text_small', 'value' => $meta_value ) );
522
  }
523
 
524
  public function title() {
525
  extract( $this->parse_args( array(), 'title', array(
526
  'tag' => $this->field->object_type == 'post' ? 'h5' : 'h3',
527
+ 'class' => 'dkrpt_metabox_title',
528
  'name' => $this->field->args( 'name' ),
529
  'desc' => $this->_desc( true ),
530
  ) ) );
534
 
535
  public function select( $args = array() ) {
536
  $args = $this->parse_args( $args, 'select', array(
537
+ 'class' => 'dkrpt_select',
538
  'name' => $this->_name(),
539
  'id' => $this->_id(),
540
  'desc' => $this->_desc( true ),
562
 
563
  public function radio( $args = array(), $type = 'radio' ) {
564
  extract( $this->parse_args( $args, $type, array(
565
+ 'class' => 'dkrpt_radio_list dkrpt_list',
566
  'options' => $this->concat_options( array( 'label' => 'test' ) ),
567
  'desc' => $this->_desc( true ),
568
  ) ) );
575
  }
576
 
577
  public function multicheck( $type = 'checkbox' ) {
578
+ return $this->radio( array( 'class' => 'dkrpt_checkbox_list dkrpt_list', 'options' => $this->concat_options( array( 'type' => 'checkbox', 'name' => $this->_name() .'[]' ), 'list_input_checkbox' ) ), $type );
579
  }
580
 
581
  public function multicheck_inline() {
584
 
585
  public function checkbox() {
586
  $meta_value = $this->field->escaped_value();
587
+ $args = array( 'type' => 'checkbox', 'class' => 'dkrpt_option dkrpt_list', 'value' => 'on', 'desc' => '' );
588
  if ( ! empty( $meta_value ) ) {
589
  $args['checked'] = 'checked';
590
  }
598
  $options = ''; $i = 1;
599
 
600
  if ( ! $terms ) {
601
+ $options .= '<li><label>'. __( 'No terms', 'dkrpt' ) .'</label></li>';
602
  } else {
603
  foreach ( $terms as $term ) {
604
  $args = array(
632
  $options = ''; $i = 1;
633
 
634
  if ( ! $terms ) {
635
+ $options .= '<li><label>'. __( 'No terms', 'dkrpt' ) .'</label></li>';
636
  } else {
637
 
638
  foreach ( $terms as $term ) {
651
  }
652
  }
653
 
654
+ return $this->radio( array( 'class' => 'dkrpt_checkbox_list dkrpt_list', 'options' => $options ), 'taxonomy_multicheck' );
655
  }
656
 
657
  public function taxonomy_multicheck_inline() {
665
 
666
  echo $this->input( array(
667
  'type' => 'hidden',
668
+ 'class' => 'dkrpt_upload_file dkrpt_upload_list',
669
  'size' => 45, 'desc' => '', 'value' => '',
670
  ) ),
671
  $this->input( array(
672
  'type' => 'button',
673
+ 'class' => 'dkrpt_upload_button button dkrpt_upload_list',
674
+ 'value' => __( 'Add or Upload File', 'dkrpt' ),
675
  'name' => '', 'id' => '',
676
  ) );
677
 
678
+ echo '<ul id="', $this->_id( '_status' ) ,'" class="dkrpt_media_status attach_list">';
679
 
680
  if ( $meta_value && is_array( $meta_value ) ) {
681
 
692
  echo
693
  '<li class="img_status">',
694
  wp_get_attachment_image( $id, $this->field->args( 'preview_size' ) ),
695
+ '<p class="dkrpt_remove_wrapper"><a href="#" class="dkrpt_remove_file_button">'. __( 'Remove Image', 'dkrpt' ) .'</a></p>
696
  '. $id_input .'
697
  </li>';
698
 
703
  }
704
  echo
705
  '<li>',
706
+ __( 'File:', 'dkrpt' ), ' <strong>', $title, '</strong>&nbsp;&nbsp;&nbsp; (<a href="', $fullurl, '" target="_blank" rel="external">'. __( 'Download', 'dkrpt' ) .'</a> / <a href="#" class="dkrpt_remove_file_button">'. __( 'Remove', 'dkrpt' ) .'</a>)
707
  '. $id_input .'
708
  </li>';
709
  }
721
 
722
  echo $this->input( array(
723
  'type' => $input_type,
724
+ 'class' => 'dkrpt_upload_file',
725
  'size' => 45,
726
  'desc' => '',
727
  ) ),
728
+ '<input class="dkrpt_upload_button button" type="button" value="'. __( 'Add or Upload File', 'dkrpt' ) .'" />',
729
  $this->_desc( true );
730
 
731
  $cached_id = $this->_id();
735
  unset( $args['_id'], $args['_name'] );
736
 
737
  // And get new field object
738
+ $this->field = new dkrpt_Meta_Box_field( $args, $this->field->group );
739
 
740
  // Get ID value
741
  $_id_value = $this->field->escaped_value( 'absint' );
742
 
743
  // If there is no ID saved yet, try to get it from the url
744
  if ( $meta_value && ! $_id_value ) {
745
+ $_id_value = dkrpt_Meta_Box::image_id_from_url( esc_url_raw( $meta_value ) );
746
  }
747
 
748
  echo $this->input( array(
749
  'type' => 'hidden',
750
+ 'class' => 'dkrpt_upload_file_id',
751
  'value' => $_id_value,
752
  'desc' => '',
753
  ) ),
754
+ '<div id="', $this->_id( '_status' ) ,'" class="dkrpt_media_status">';
755
  if ( ! empty( $meta_value ) ) {
756
 
757
  if ( $this->is_valid_img_ext( $meta_value ) ) {
758
  echo '<div class="img_status">';
759
  echo '<img style="max-width: 350px; width: 100%; height: auto;" src="', $meta_value, '" alt="" />';
760
+ echo '<p class="dkrpt_remove_wrapper"><a href="#" class="dkrpt_remove_file_button" rel="', $cached_id, '">'. __( 'Remove Image', 'dkrpt' ) .'</a></p>';
761
  echo '</div>';
762
  } else {
763
  // $file_ext = $this->get_file_ext( $meta_value );
765
  for ( $i = 0; $i < count( $parts ); ++$i ) {
766
  $title = $parts[$i];
767
  }
768
+ echo __( 'File:', 'dkrpt' ), ' <strong>', $title, '</strong>&nbsp;&nbsp;&nbsp; (<a href="', $meta_value, '" target="_blank" rel="external">'. __( 'Download', 'dkrpt' ) .'</a> / <a href="#" class="dkrpt_remove_file_button" rel="', $cached_id, '">'. __( 'Remove', 'dkrpt' ) .'</a>)';
769
  }
770
  }
771
  echo '</div>';
773
 
774
  public function oembed() {
775
  echo $this->input( array(
776
+ 'class' => 'dkrpt_oembed regular-text',
777
  'data-objectid' => $this->field->object_id,
778
  'data-objecttype' => $this->field->object_type
779
  ) ),
780
+ '<p class="dkrpt-spinner spinner" style="display:none;"><img src="'. admin_url( '/images/wpspin_light.gif' ) .'" alt="spinner"/></p>',
781
+ '<div id="',$this->_id( '_status' ) ,'" class="dkrpt_media_status ui-helper-clearfix embed_wrap">';
782
 
783
  if ( $meta_value = $this->field->escaped_value() ) {
784
+ echo dkrpt_Meta_Box_ajax::get_oembed( $meta_value, $this->field->object_id, array(
785
  'object_type' => $this->field->object_type,
786
  'oembed_args' => array( 'width' => '640' ),
787
  'field_id' => $this->_id(),
{cmb → dkrpt}/images/ico-delete.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-bg_flat_0_aaaaaa_40x100.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-bg_flat_75_ffffff_40x100.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-bg_glass_55_fbf9ee_1x400.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-bg_glass_65_ffffff_1x400.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-bg_glass_75_dadada_1x400.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-bg_glass_75_e6e6e6_1x400.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-bg_glass_95_fef1ec_1x400.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-bg_highlight-soft_75_cccccc_1x100.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-icons_222222_256x240.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-icons_2e83ff_256x240.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-icons_454545_256x240.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-icons_888888_256x240.png RENAMED
File without changes
{cmb → dkrpt}/images/ui-icons_cd0a0a_256x240.png RENAMED
File without changes
{cmb → dkrpt}/init.php RENAMED
@@ -35,27 +35,27 @@ Version: 1.2.0
35
  *************************************************************************/
36
 
37
  // Autoload helper classes
38
- spl_autoload_register('cmb_Meta_Box::autoload_helpers');
39
 
40
  $meta_boxes = array();
41
- $meta_boxes = apply_filters( 'cmb_meta_boxes', $meta_boxes );
42
  foreach ( $meta_boxes as $meta_box ) {
43
- $my_box = new cmb_Meta_Box( $meta_box );
44
  }
45
 
46
- define( 'CMB_META_BOX_URL', cmb_Meta_Box::get_meta_box_url() );
47
 
48
  /**
49
  * Create meta boxes
50
  */
51
- class cmb_Meta_Box {
52
 
53
  /**
54
  * Current version number
55
  * @var string
56
  * @since 1.0.0
57
  */
58
- const CMB_VERSION = '1.2.0';
59
 
60
  /**
61
  * Metabox Config array
@@ -78,7 +78,7 @@ class cmb_Meta_Box {
78
  'priority' => 'high',
79
  'show_names' => true, // Show field names on the left
80
  'show_on' => array( 'key' => false, 'value' => false ), // Specific post IDs or page templates to display this metabox
81
- 'cmb_styles' => true, // Include cmb bundled stylesheet
82
  'fields' => array(),
83
  );
84
 
@@ -118,7 +118,7 @@ class cmb_Meta_Box {
118
  protected static $is_enqueued = false;
119
 
120
  /**
121
- * Whether CMB nonce has been added to the page. (oly add once)
122
  * @var bool
123
  * @since 1.2.0
124
  */
@@ -152,7 +152,7 @@ class cmb_Meta_Box {
152
 
153
  $meta_box = self::set_mb_defaults( $meta_box );
154
 
155
- $allow_frontend = apply_filters( 'cmb_allow_frontend', true, $meta_box );
156
 
157
  if ( ! is_admin() && ! $allow_frontend )
158
  return;
@@ -166,12 +166,12 @@ class cmb_Meta_Box {
166
 
167
  global $pagenow;
168
 
169
- $show_filters = 'cmb_Meta_Box_Show_Filters';
170
  foreach ( get_class_methods( $show_filters ) as $filter ) {
171
- add_filter( 'cmb_show_on', array( $show_filters, $filter ), 10, 2 );
172
  }
173
 
174
- // register our scripts and styles for cmb
175
  add_action( 'admin_enqueue_scripts', array( $this, 'register_scripts' ), 8 );
176
 
177
  if ( self::get_object_type() == 'post' ) {
@@ -228,7 +228,7 @@ class cmb_Meta_Box {
228
  }
229
 
230
  /**
231
- * Registers scripts and styles for CMB
232
  * @since 1.0.0
233
  */
234
  public function register_scripts() {
@@ -241,9 +241,9 @@ class cmb_Meta_Box {
241
  // Only use minified files if SCRIPT_DEBUG is off
242
  $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
243
 
244
- // scripts required for cmb
245
- $scripts = array( 'jquery', 'jquery-ui-core', 'cmb-datepicker', /*'media-upload', */'cmb-timepicker' );
246
- // styles required for cmb
247
  $styles = array();
248
 
249
  // if we're 3.5 or later, user wp-color-picker
@@ -252,8 +252,8 @@ class cmb_Meta_Box {
252
  $styles[] = 'wp-color-picker';
253
  if ( ! is_admin() ) {
254
  // we need to register colorpicker on the front-end
255
- wp_register_script( 'iris', admin_url( 'js/iris.min.js' ), array( 'jquery-ui-draggable', 'jquery-ui-slider', 'jquery-touch-punch' ), self::CMB_VERSION );
256
- wp_register_script( 'wp-color-picker', admin_url( 'js/color-picker.min.js' ), array( 'iris' ), self::CMB_VERSION );
257
  wp_localize_script( 'wp-color-picker', 'wpColorPickerL10n', array(
258
  'clear' => __( 'Clear' ),
259
  'defaultString' => __( 'Default' ),
@@ -266,13 +266,13 @@ class cmb_Meta_Box {
266
  $scripts[] = 'farbtastic';
267
  $styles[] = 'farbtastic';
268
  }
269
- wp_register_script( 'cmb-datepicker', CMB_META_BOX_URL . 'js/jquery.datePicker.min.js' );
270
- wp_register_script( 'cmb-timepicker', CMB_META_BOX_URL . 'js/jquery.timePicker.min.js' );
271
- wp_register_script( 'cmb-scripts', CMB_META_BOX_URL .'js/cmb'. $min .'.js', $scripts, self::CMB_VERSION );
272
 
273
  wp_enqueue_media();
274
 
275
- wp_localize_script( 'cmb-scripts', 'cmb_l10', apply_filters( 'cmb_localized_data', array(
276
  'ajax_nonce' => wp_create_nonce( 'ajax_nonce' ),
277
  'script_debug' => defined('SCRIPT_DEBUG') && SCRIPT_DEBUG,
278
  'new_admin_style' => version_compare( $wp_version, '3.7', '>' ),
@@ -285,27 +285,27 @@ class cmb_Meta_Box {
285
  'ajaxurl' => admin_url( '/admin-ajax.php' ),
286
  'up_arrow' => '[ ↑ ]&nbsp;',
287
  'down_arrow' => '&nbsp;[ ↓ ]',
288
- 'check_toggle' => __( 'Select / Deselect All', 'cmb' ),
289
  ) ) );
290
 
291
- wp_register_style( 'cmb-styles', CMB_META_BOX_URL . 'style'. $min .'.css', $styles );
292
 
293
  // Ok, we've enqueued our scripts/styles
294
  self::$is_enqueued = true;
295
  }
296
 
297
  /**
298
- * Enqueues scripts and styles for CMB
299
  * @since 1.0.0
300
  */
301
  public function do_scripts( $hook ) {
302
  // only enqueue our scripts/styles on the proper pages
303
  if ( $hook == 'post.php' || $hook == 'post-new.php' || $hook == 'page-new.php' || $hook == 'page.php' ) {
304
- wp_enqueue_script( 'cmb-scripts' );
305
 
306
- // default is to show cmb styles on post pages
307
- if ( $this->_meta_box['cmb_styles'] )
308
- wp_enqueue_style( 'cmb-styles' );
309
  }
310
  }
311
 
@@ -328,7 +328,7 @@ class cmb_Meta_Box {
328
  public function add_metaboxes() {
329
 
330
  foreach ( $this->_meta_box['pages'] as $page ) {
331
- if ( apply_filters( 'cmb_show_on', true, $this->_meta_box ) )
332
  add_meta_box( $this->_meta_box['id'], $this->_meta_box['title'], array( $this, 'post_metabox' ), $page, $this->_meta_box['context'], $this->_meta_box['priority']) ;
333
  }
334
  }
@@ -356,14 +356,14 @@ class cmb_Meta_Box {
356
  if ( 'user' != self::set_mb_type( $this->_meta_box ) )
357
  return;
358
 
359
- if ( ! apply_filters( 'cmb_show_on', true, $this->_meta_box ) )
360
  return;
361
 
362
- wp_enqueue_script( 'cmb-scripts' );
363
 
364
- // default is to NOT show cmb styles on user profile page
365
- if ( $this->_meta_box['cmb_styles'] != false )
366
- wp_enqueue_style( 'cmb-styles' );
367
 
368
  self::show_form( $this->_meta_box );
369
 
@@ -390,9 +390,9 @@ class cmb_Meta_Box {
390
  }
391
 
392
  // Use nonce for verification
393
- echo "\n<!-- Begin CMB Fields -->\n";
394
- do_action( 'cmb_before_table', $meta_box, $object_id, $object_type );
395
- echo '<table class="form-table cmb_metabox">';
396
 
397
  foreach ( $meta_box['fields'] as $field_args ) {
398
 
@@ -408,13 +408,13 @@ class cmb_Meta_Box {
408
 
409
  $field_args['show_names'] = $meta_box['show_names'];
410
  // Render default fields
411
- $field = new cmb_Meta_Box_field( $field_args );
412
  $field->render_field();
413
  }
414
  }
415
  echo '</table>';
416
- do_action( 'cmb_after_table', $meta_box, $object_id, $object_type );
417
- echo "\n<!-- End CMB Fields -->\n";
418
 
419
  }
420
 
@@ -426,7 +426,7 @@ class cmb_Meta_Box {
426
  return;
427
 
428
  $args['count'] = 0;
429
- $field_group = new cmb_Meta_Box_field( $args );
430
  $desc = $field_group->args( 'description' );
431
  $label = $field_group->args( 'name' );
432
  $sortable = $field_group->options( 'sortable' ) ? ' sortable' : '';
@@ -438,9 +438,9 @@ class cmb_Meta_Box {
438
  if ( $desc || $label ) {
439
  echo '<tr><th>';
440
  if ( $label )
441
- echo '<h2 class="cmb-group-name">'. $label .'</h2>';
442
  if ( $desc )
443
- echo '<p class="cmb_metabox_description">'. $desc .'</p>';
444
  echo '</th></tr>';
445
  }
446
 
@@ -464,10 +464,10 @@ class cmb_Meta_Box {
464
  echo '
465
  <tr class="repeatable-grouping" data-iterator="'. $field_group->count() .'">
466
  <td>
467
- <table class="cmb-nested-table" style="width: 100%;">';
468
  if ( $field_group->options( 'group_title' ) ) {
469
  echo '
470
- <tr class="cmb-group-title">
471
  <th colspan="2">
472
  ', sprintf( '<h4>%1$s</h4>', $field_group->replace_hash( $field_group->options( 'group_title' ) ) ), '
473
  <th>
@@ -478,7 +478,7 @@ class cmb_Meta_Box {
478
  foreach ( array_values( $field_group->args( 'fields' ) ) as $field_args ) {
479
  $field_args['show_names'] = $field_group->args( 'show_names' );
480
  $field_args['context'] = $field_group->args( 'context' );
481
- $field = new cmb_Meta_Box_field( $field_args, $field_group );
482
  $field->render_field();
483
  }
484
  echo '
@@ -553,7 +553,7 @@ class cmb_Meta_Box {
553
  // Set/get type
554
  $object_type = self::set_object_type( $object_type ? $object_type : self::set_mb_type( $meta_box ) );
555
 
556
- if ( ! apply_filters( 'cmb_show_on', true, $meta_box ) )
557
  return;
558
 
559
  // save field ids of those that are updated
@@ -565,7 +565,7 @@ class cmb_Meta_Box {
565
  self::save_group( $field_args );
566
  } else {
567
  // Save default fields
568
- $field = new cmb_Meta_Box_field( $field_args );
569
  self::save_field( self::sanitize_field( $field ), $field );
570
  }
571
 
@@ -575,7 +575,7 @@ class cmb_Meta_Box {
575
  if ( $object_type == 'options-page' )
576
  self::save_option( $object_id );
577
 
578
- do_action( "cmb_save_{$object_type}_fields", $object_id, $meta_box['id'], self::$updated, $meta_box );
579
 
580
  }
581
 
@@ -586,7 +586,7 @@ class cmb_Meta_Box {
586
  if ( ! isset( $args['id'], $args['fields'], $_POST[ $args['id'] ] ) || ! is_array( $args['fields'] ) )
587
  return;
588
 
589
- $field_group = new cmb_Meta_Box_field( $args );
590
  $base_id = $field_group->id();
591
  $old = $field_group->get_data();
592
  $group_vals = $_POST[ $base_id ];
@@ -596,7 +596,7 @@ class cmb_Meta_Box {
596
 
597
  // $group_vals[0]['color'] = '333';
598
  foreach ( array_values( $field_group->fields() ) as $field_args ) {
599
- $field = new cmb_Meta_Box_field( $field_args, $field_group );
600
  $sub_id = $field->id( true );
601
 
602
  foreach ( (array) $group_vals as $field_group->index => $post_vals ) {
@@ -832,7 +832,7 @@ class cmb_Meta_Box {
832
  * This may need to be filtered for local Window installations.
833
  * If resources do not load, please check the wiki for details.
834
  * @since 1.0.1
835
- * @return string URL to CMB resources
836
  */
837
  public static function get_meta_box_url() {
838
 
@@ -840,19 +840,19 @@ class cmb_Meta_Box {
840
  // Windows
841
  $content_dir = str_replace( '/', DIRECTORY_SEPARATOR, WP_CONTENT_DIR );
842
  $content_url = str_replace( $content_dir, WP_CONTENT_URL, dirname(__FILE__) );
843
- $cmb_url = str_replace( DIRECTORY_SEPARATOR, '/', $content_url );
844
 
845
  } else {
846
- $cmb_url = str_replace(
847
  array(WP_CONTENT_DIR, WP_PLUGIN_DIR),
848
  array(WP_CONTENT_URL, WP_PLUGIN_URL),
849
  dirname( __FILE__ )
850
  );
851
  }
852
 
853
- $cmb_url = set_url_scheme( $cmb_url );
854
 
855
- return trailingslashit( apply_filters('cmb_meta_box_url', $cmb_url ) );
856
  }
857
 
858
  /**
@@ -923,7 +923,7 @@ class cmb_Meta_Box {
923
 
924
  /**
925
  * Retrieve option value based on name of option.
926
- * @uses apply_filters() Calls 'cmb_override_option_get_$option_key' hook to allow
927
  * overwriting the option value to be retrieved.
928
  *
929
  * @since 1.0.1
@@ -933,9 +933,9 @@ class cmb_Meta_Box {
933
  */
934
  public static function _get_option( $option_key, $default = false ) {
935
 
936
- $test_get = apply_filters( "cmb_override_option_get_$option_key", 'cmb_no_override_option_get', $default );
937
 
938
- if ( $test_get !== 'cmb_no_override_option_get' )
939
  return $test_get;
940
 
941
  // If no override, get the option
@@ -945,7 +945,7 @@ class cmb_Meta_Box {
945
  /**
946
  * Saves the option array
947
  * Needs to be run after finished using remove/update_option
948
- * @uses apply_filters() Calls 'cmb_override_option_save_$option_key' hook to allow
949
  * overwriting the option value to be stored.
950
  *
951
  * @since 1.0.1
@@ -956,9 +956,9 @@ class cmb_Meta_Box {
956
 
957
  $to_save = self::get_option( $option_key );
958
 
959
- $test_save = apply_filters( "cmb_override_option_save_$option_key", 'cmb_no_override_option_save', $to_save );
960
 
961
- if ( $test_save !== 'cmb_no_override_option_save' )
962
  return $test_save;
963
 
964
  // If no override, update the option
@@ -1044,35 +1044,35 @@ class cmb_Meta_Box {
1044
  }
1045
 
1046
  // Handle oembed Ajax
1047
- add_action( 'wp_ajax_cmb_oembed_handler', array( 'cmb_Meta_Box_ajax', 'oembed_handler' ) );
1048
- add_action( 'wp_ajax_nopriv_cmb_oembed_handler', array( 'cmb_Meta_Box_ajax', 'oembed_handler' ) );
1049
 
1050
  /**
1051
- * A helper function to get an option from a CMB options array
1052
  * @since 1.0.1
1053
  * @param string $option_key Option key
1054
  * @param string $field_id Option array field key
1055
  * @return array Options array or specific field
1056
  */
1057
- function cmb_get_option( $option_key, $field_id = '' ) {
1058
- return cmb_Meta_Box::get_option( $option_key, $field_id );
1059
  }
1060
 
1061
  /**
1062
- * Get a CMB field object.
1063
  * @since 1.1.0
1064
  * @param array $field_args Field arguments
1065
  * @param int $object_id Object ID
1066
  * @param string $object_type Type of object being saved. (e.g., post, user, or comment)
1067
- * @return object cmb_Meta_Box_field object
1068
  */
1069
- function cmb_get_field( $field_args, $object_id = 0, $object_type = 'post' ) {
1070
  // Default to the loop post ID
1071
  $object_id = $object_id ? $object_id : get_the_ID();
1072
- cmb_Meta_Box::set_object_id( $object_id );
1073
- cmb_Meta_Box::set_object_type( $object_type );
1074
  // Send back field object
1075
- return new cmb_Meta_Box_field( $field_args );
1076
  }
1077
 
1078
  /**
@@ -1083,8 +1083,8 @@ function cmb_get_field( $field_args, $object_id = 0, $object_type = 'post' ) {
1083
  * @param string $object_type Type of object being saved. (e.g., post, user, comment, or options-page)
1084
  * @return mixed Maybe escaped value
1085
  */
1086
- function cmb_get_field_value( $field_args, $object_id = 0, $object_type = 'post' ) {
1087
- $field = cmb_get_field( $field_args, $object_id, $object_type );
1088
  return $field->escaped_value();
1089
  }
1090
 
@@ -1094,9 +1094,9 @@ function cmb_get_field_value( $field_args, $object_id = 0, $object_type = 'post'
1094
  * @param array $meta_boxes Metaboxes config array
1095
  * @param int $object_id Object ID
1096
  */
1097
- function cmb_print_metaboxes( $meta_boxes, $object_id ) {
1098
  foreach ( (array) $meta_boxes as $meta_box ) {
1099
- cmb_print_metabox( $meta_box, $object_id );
1100
  }
1101
  }
1102
 
@@ -1106,22 +1106,22 @@ function cmb_print_metaboxes( $meta_boxes, $object_id ) {
1106
  * @param array $meta_box Metabox config array
1107
  * @param int $object_id Object ID
1108
  */
1109
- function cmb_print_metabox( $meta_box, $object_id ) {
1110
- $cmb = new cmb_Meta_Box( $meta_box );
1111
- if ( $cmb ) {
1112
 
1113
- cmb_Meta_Box::set_object_id( $object_id );
1114
 
1115
- if ( ! wp_script_is( 'cmb-scripts', 'registered' ) )
1116
- $cmb->register_scripts();
1117
 
1118
- wp_enqueue_script( 'cmb-scripts' );
1119
 
1120
- // default is to show cmb styles
1121
- if ( $meta_box['cmb_styles'] != false )
1122
- wp_enqueue_style( 'cmb-styles' );
1123
 
1124
- cmb_Meta_Box::show_form( $meta_box );
1125
  }
1126
 
1127
  }
@@ -1132,8 +1132,8 @@ function cmb_print_metabox( $meta_box, $object_id ) {
1132
  * @param array $meta_box Metabox config array
1133
  * @param int $object_id Object ID
1134
  */
1135
- function cmb_save_metabox_fields( $meta_box, $object_id ) {
1136
- cmb_Meta_Box::save_fields( $meta_box, $object_id );
1137
  }
1138
 
1139
  /**
@@ -1142,39 +1142,39 @@ function cmb_save_metabox_fields( $meta_box, $object_id ) {
1142
  * @param array $meta_box Metabox config array
1143
  * @param int $object_id Object ID
1144
  * @param boolean $return Whether to return or echo form
1145
- * @return string CMB html form markup
1146
  */
1147
- function cmb_metabox_form( $meta_box, $object_id, $echo = true ) {
1148
 
1149
- $meta_box = cmb_Meta_Box::set_mb_defaults( $meta_box );
1150
 
1151
  // Make sure form should be shown
1152
- if ( ! apply_filters( 'cmb_show_on', true, $meta_box ) )
1153
  return '';
1154
 
1155
  // Make sure that our object type is explicitly set by the metabox config
1156
- cmb_Meta_Box::set_object_type( cmb_Meta_Box::set_mb_type( $meta_box ) );
1157
 
1158
  // Save the metabox if it's been submitted
1159
  // check permissions
1160
  // @todo more hardening?
1161
  if (
1162
  // check nonce
1163
- isset( $_POST['submit-cmb'], $_POST['object_id'], $_POST['wp_meta_box_nonce'] )
1164
- && wp_verify_nonce( $_POST['wp_meta_box_nonce'], cmb_Meta_Box::nonce() )
1165
  && $_POST['object_id'] == $object_id
1166
  )
1167
- cmb_save_metabox_fields( $meta_box, $object_id );
1168
 
1169
  // Show specific metabox form
1170
 
1171
- // Get cmb form
1172
  ob_start();
1173
- cmb_print_metabox( $meta_box, $object_id );
1174
  $form = ob_get_contents();
1175
  ob_end_clean();
1176
 
1177
- $form_format = apply_filters( 'cmb_frontend_form_format', '<form class="cmb-form" method="post" id="%s" enctype="multipart/form-data" encoding="multipart/form-data"><input type="hidden" name="object_id" value="%s">%s<input type="submit" name="submit-cmb" value="%s" class="button-primary"></form>', $object_id, $meta_box, $form );
1178
 
1179
  $form = sprintf( $form_format, $meta_box['id'], $object_id, $form, __( 'Save' ) );
1180
 
35
  *************************************************************************/
36
 
37
  // Autoload helper classes
38
+ spl_autoload_register('dkrpt_Meta_Box::autoload_helpers');
39
 
40
  $meta_boxes = array();
41
+ $meta_boxes = apply_filters( 'dkrpt_meta_boxes', $meta_boxes );
42
  foreach ( $meta_boxes as $meta_box ) {
43
+ $my_box = new dkrpt_Meta_Box( $meta_box );
44
  }
45
 
46
+ define( 'dkrpt_META_BOX_URL', dkrpt_Meta_Box::get_meta_box_url() );
47
 
48
  /**
49
  * Create meta boxes
50
  */
51
+ class dkrpt_Meta_Box {
52
 
53
  /**
54
  * Current version number
55
  * @var string
56
  * @since 1.0.0
57
  */
58
+ const dkrpt_VERSION = '1.2.0';
59
 
60
  /**
61
  * Metabox Config array
78
  'priority' => 'high',
79
  'show_names' => true, // Show field names on the left
80
  'show_on' => array( 'key' => false, 'value' => false ), // Specific post IDs or page templates to display this metabox
81
+ 'dkrpt_styles' => true, // Include dkrpt bundled stylesheet
82
  'fields' => array(),
83
  );
84
 
118
  protected static $is_enqueued = false;
119
 
120
  /**
121
+ * Whether dkrpt nonce has been added to the page. (oly add once)
122
  * @var bool
123
  * @since 1.2.0
124
  */
152
 
153
  $meta_box = self::set_mb_defaults( $meta_box );
154
 
155
+ $allow_frontend = apply_filters( 'dkrpt_allow_frontend', true, $meta_box );
156
 
157
  if ( ! is_admin() && ! $allow_frontend )
158
  return;
166
 
167
  global $pagenow;
168
 
169
+ $show_filters = 'dkrpt_Meta_Box_Show_Filters';
170
  foreach ( get_class_methods( $show_filters ) as $filter ) {
171
+ add_filter( 'dkrpt_show_on', array( $show_filters, $filter ), 10, 2 );
172
  }
173
 
174
+ // register our scripts and styles for dkrpt
175
  add_action( 'admin_enqueue_scripts', array( $this, 'register_scripts' ), 8 );
176
 
177
  if ( self::get_object_type() == 'post' ) {
228
  }
229
 
230
  /**
231
+ * Registers scripts and styles for dkrpt
232
  * @since 1.0.0
233
  */
234
  public function register_scripts() {
241
  // Only use minified files if SCRIPT_DEBUG is off
242
  $min = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
243
 
244
+ // scripts required for dkrpt
245
+ $scripts = array( 'jquery', 'jquery-ui-core', 'dkrpt-datepicker', /*'media-upload', */'dkrpt-timepicker' );
246
+ // styles required for dkrpt
247
  $styles = array();
248
 
249
  // if we're 3.5 or later, user wp-color-picker
252
  $styles[] = 'wp-color-picker';
253
  if ( ! is_admin() ) {
254
  // we need to register colorpicker on the front-end
255
+ wp_register_script( 'iris', admin_url( 'js/iris.min.js' ), array( 'jquery-ui-draggable', 'jquery-ui-slider', 'jquery-touch-punch' ), self::dkrpt_VERSION );
256
+ wp_register_script( 'wp-color-picker', admin_url( 'js/color-picker.min.js' ), array( 'iris' ), self::dkrpt_VERSION );
257
  wp_localize_script( 'wp-color-picker', 'wpColorPickerL10n', array(
258
  'clear' => __( 'Clear' ),
259
  'defaultString' => __( 'Default' ),
266
  $scripts[] = 'farbtastic';
267
  $styles[] = 'farbtastic';
268
  }
269
+ wp_register_script( 'dkrpt-datepicker', dkrpt_META_BOX_URL . 'js/jquery.datePicker.min.js' );
270
+ wp_register_script( 'dkrpt-timepicker', dkrpt_META_BOX_URL . 'js/jquery.timePicker.min.js' );
271
+ wp_register_script( 'dkrpt-scripts', dkrpt_META_BOX_URL .'js/dkrpt'. $min .'.js', $scripts, self::dkrpt_VERSION );
272
 
273
  wp_enqueue_media();
274
 
275
+ wp_localize_script( 'dkrpt-scripts', 'dkrpt_l10', apply_filters( 'dkrpt_localized_data', array(
276
  'ajax_nonce' => wp_create_nonce( 'ajax_nonce' ),
277
  'script_debug' => defined('SCRIPT_DEBUG') && SCRIPT_DEBUG,
278
  'new_admin_style' => version_compare( $wp_version, '3.7', '>' ),
285
  'ajaxurl' => admin_url( '/admin-ajax.php' ),
286
  'up_arrow' => '[ ↑ ]&nbsp;',
287
  'down_arrow' => '&nbsp;[ ↓ ]',
288
+ 'check_toggle' => __( 'Select / Deselect All', 'dkrpt' ),
289
  ) ) );
290
 
291
+ wp_register_style( 'dkrpt-styles', dkrpt_META_BOX_URL . 'style'. $min .'.css', $styles );
292
 
293
  // Ok, we've enqueued our scripts/styles
294
  self::$is_enqueued = true;
295
  }
296
 
297
  /**
298
+ * Enqueues scripts and styles for dkrpt
299
  * @since 1.0.0
300
  */
301
  public function do_scripts( $hook ) {
302
  // only enqueue our scripts/styles on the proper pages
303
  if ( $hook == 'post.php' || $hook == 'post-new.php' || $hook == 'page-new.php' || $hook == 'page.php' ) {
304
+ wp_enqueue_script( 'dkrpt-scripts' );
305
 
306
+ // default is to show dkrpt styles on post pages
307
+ if ( $this->_meta_box['dkrpt_styles'] )
308
+ wp_enqueue_style( 'dkrpt-styles' );
309
  }
310
  }
311
 
328
  public function add_metaboxes() {
329
 
330
  foreach ( $this->_meta_box['pages'] as $page ) {
331
+ if ( apply_filters( 'dkrpt_show_on', true, $this->_meta_box ) )
332
  add_meta_box( $this->_meta_box['id'], $this->_meta_box['title'], array( $this, 'post_metabox' ), $page, $this->_meta_box['context'], $this->_meta_box['priority']) ;
333
  }
334
  }
356
  if ( 'user' != self::set_mb_type( $this->_meta_box ) )
357
  return;
358
 
359
+ if ( ! apply_filters( 'dkrpt_show_on', true, $this->_meta_box ) )
360
  return;
361
 
362
+ wp_enqueue_script( 'dkrpt-scripts' );
363
 
364
+ // default is to NOT show dkrpt styles on user profile page
365
+ if ( $this->_meta_box['dkrpt_styles'] != false )
366
+ wp_enqueue_style( 'dkrpt-styles' );
367
 
368
  self::show_form( $this->_meta_box );
369
 
390
  }
391
 
392
  // Use nonce for verification
393
+ echo "\n<!-- Begin dkrpt Fields -->\n";
394
+ do_action( 'dkrpt_before_table', $meta_box, $object_id, $object_type );
395
+ echo '<table class="form-table dkrpt_metabox">';
396
 
397
  foreach ( $meta_box['fields'] as $field_args ) {
398
 
408
 
409
  $field_args['show_names'] = $meta_box['show_names'];
410
  // Render default fields
411
+ $field = new dkrpt_Meta_Box_field( $field_args );
412
  $field->render_field();
413
  }
414
  }
415
  echo '</table>';
416
+ do_action( 'dkrpt_after_table', $meta_box, $object_id, $object_type );
417
+ echo "\n<!-- End dkrpt Fields -->\n";
418
 
419
  }
420
 
426
  return;
427
 
428
  $args['count'] = 0;
429
+ $field_group = new dkrpt_Meta_Box_field( $args );
430
  $desc = $field_group->args( 'description' );
431
  $label = $field_group->args( 'name' );
432
  $sortable = $field_group->options( 'sortable' ) ? ' sortable' : '';
438
  if ( $desc || $label ) {
439
  echo '<tr><th>';
440
  if ( $label )
441
+ echo '<h2 class="dkrpt-group-name">'. $label .'</h2>';
442
  if ( $desc )
443
+ echo '<p class="dkrpt_metabox_description">'. $desc .'</p>';
444
  echo '</th></tr>';
445
  }
446
 
464
  echo '
465
  <tr class="repeatable-grouping" data-iterator="'. $field_group->count() .'">
466
  <td>
467
+ <table class="dkrpt-nested-table" style="width: 100%;">';
468
  if ( $field_group->options( 'group_title' ) ) {
469
  echo '
470
+ <tr class="dkrpt-group-title">
471
  <th colspan="2">
472
  ', sprintf( '<h4>%1$s</h4>', $field_group->replace_hash( $field_group->options( 'group_title' ) ) ), '
473
  <th>
478
  foreach ( array_values( $field_group->args( 'fields' ) ) as $field_args ) {
479
  $field_args['show_names'] = $field_group->args( 'show_names' );
480
  $field_args['context'] = $field_group->args( 'context' );
481
+ $field = new dkrpt_Meta_Box_field( $field_args, $field_group );
482
  $field->render_field();
483
  }
484
  echo '
553
  // Set/get type
554
  $object_type = self::set_object_type( $object_type ? $object_type : self::set_mb_type( $meta_box ) );
555
 
556
+ if ( ! apply_filters( 'dkrpt_show_on', true, $meta_box ) )
557
  return;
558
 
559
  // save field ids of those that are updated
565
  self::save_group( $field_args );
566
  } else {
567
  // Save default fields
568
+ $field = new dkrpt_Meta_Box_field( $field_args );
569
  self::save_field( self::sanitize_field( $field ), $field );
570
  }
571
 
575
  if ( $object_type == 'options-page' )
576
  self::save_option( $object_id );
577
 
578
+ do_action( "dkrpt_save_{$object_type}_fields", $object_id, $meta_box['id'], self::$updated, $meta_box );
579
 
580
  }
581
 
586
  if ( ! isset( $args['id'], $args['fields'], $_POST[ $args['id'] ] ) || ! is_array( $args['fields'] ) )
587
  return;
588
 
589
+ $field_group = new dkrpt_Meta_Box_field( $args );
590
  $base_id = $field_group->id();
591
  $old = $field_group->get_data();
592
  $group_vals = $_POST[ $base_id ];
596
 
597
  // $group_vals[0]['color'] = '333';
598
  foreach ( array_values( $field_group->fields() ) as $field_args ) {
599
+ $field = new dkrpt_Meta_Box_field( $field_args, $field_group );
600
  $sub_id = $field->id( true );
601
 
602
  foreach ( (array) $group_vals as $field_group->index => $post_vals ) {
832
  * This may need to be filtered for local Window installations.
833
  * If resources do not load, please check the wiki for details.
834
  * @since 1.0.1
835
+ * @return string URL to dkrpt resources
836
  */
837
  public static function get_meta_box_url() {
838
 
840
  // Windows
841
  $content_dir = str_replace( '/', DIRECTORY_SEPARATOR, WP_CONTENT_DIR );
842
  $content_url = str_replace( $content_dir, WP_CONTENT_URL, dirname(__FILE__) );
843
+ $dkrpt_url = str_replace( DIRECTORY_SEPARATOR, '/', $content_url );
844
 
845
  } else {
846
+ $dkrpt_url = str_replace(
847
  array(WP_CONTENT_DIR, WP_PLUGIN_DIR),
848
  array(WP_CONTENT_URL, WP_PLUGIN_URL),
849
  dirname( __FILE__ )
850
  );
851
  }
852
 
853
+ $dkrpt_url = set_url_scheme( $dkrpt_url );
854
 
855
+ return trailingslashit( apply_filters('dkrpt_meta_box_url', $dkrpt_url ) );
856
  }
857
 
858
  /**
923
 
924
  /**
925
  * Retrieve option value based on name of option.
926
+ * @uses apply_filters() Calls 'dkrpt_override_option_get_$option_key' hook to allow
927
  * overwriting the option value to be retrieved.
928
  *
929
  * @since 1.0.1
933
  */
934
  public static function _get_option( $option_key, $default = false ) {
935
 
936
+ $test_get = apply_filters( "dkrpt_override_option_get_$option_key", 'dkrpt_no_override_option_get', $default );
937
 
938
+ if ( $test_get !== 'dkrpt_no_override_option_get' )
939
  return $test_get;
940
 
941
  // If no override, get the option
945
  /**
946
  * Saves the option array
947
  * Needs to be run after finished using remove/update_option
948
+ * @uses apply_filters() Calls 'dkrpt_override_option_save_$option_key' hook to allow
949
  * overwriting the option value to be stored.
950
  *
951
  * @since 1.0.1
956
 
957
  $to_save = self::get_option( $option_key );
958
 
959
+ $test_save = apply_filters( "dkrpt_override_option_save_$option_key", 'dkrpt_no_override_option_save', $to_save );
960
 
961
+ if ( $test_save !== 'dkrpt_no_override_option_save' )
962
  return $test_save;
963
 
964
  // If no override, update the option
1044
  }
1045
 
1046
  // Handle oembed Ajax
1047
+ add_action( 'wp_ajax_dkrpt_oembed_handler', array( 'dkrpt_Meta_Box_ajax', 'oembed_handler' ) );
1048
+ add_action( 'wp_ajax_nopriv_dkrpt_oembed_handler', array( 'dkrpt_Meta_Box_ajax', 'oembed_handler' ) );
1049
 
1050
  /**
1051
+ * A helper function to get an option from a dkrpt options array
1052
  * @since 1.0.1
1053
  * @param string $option_key Option key
1054
  * @param string $field_id Option array field key
1055
  * @return array Options array or specific field
1056
  */
1057
+ function dkrpt_get_option( $option_key, $field_id = '' ) {
1058
+ return dkrpt_Meta_Box::get_option( $option_key, $field_id );
1059
  }
1060
 
1061
  /**
1062
+ * Get a dkrpt field object.
1063
  * @since 1.1.0
1064
  * @param array $field_args Field arguments
1065
  * @param int $object_id Object ID
1066
  * @param string $object_type Type of object being saved. (e.g., post, user, or comment)
1067
+ * @return object dkrpt_Meta_Box_field object
1068
  */
1069
+ function dkrpt_get_field( $field_args, $object_id = 0, $object_type = 'post' ) {
1070
  // Default to the loop post ID
1071
  $object_id = $object_id ? $object_id : get_the_ID();
1072
+ dkrpt_Meta_Box::set_object_id( $object_id );
1073
+ dkrpt_Meta_Box::set_object_type( $object_type );
1074
  // Send back field object
1075
+ return new dkrpt_Meta_Box_field( $field_args );
1076
  }
1077
 
1078
  /**
1083
  * @param string $object_type Type of object being saved. (e.g., post, user, comment, or options-page)
1084
  * @return mixed Maybe escaped value
1085
  */
1086
+ function dkrpt_get_field_value( $field_args, $object_id = 0, $object_type = 'post' ) {
1087
+ $field = dkrpt_get_field( $field_args, $object_id, $object_type );
1088
  return $field->escaped_value();
1089
  }
1090
 
1094
  * @param array $meta_boxes Metaboxes config array
1095
  * @param int $object_id Object ID
1096
  */
1097
+ function dkrpt_print_metaboxes( $meta_boxes, $object_id ) {
1098
  foreach ( (array) $meta_boxes as $meta_box ) {
1099
+ dkrpt_print_metabox( $meta_box, $object_id );
1100
  }
1101
  }
1102
 
1106
  * @param array $meta_box Metabox config array
1107
  * @param int $object_id Object ID
1108
  */
1109
+ function dkrpt_print_metabox( $meta_box, $object_id ) {
1110
+ $dkrpt = new dkrpt_Meta_Box( $meta_box );
1111
+ if ( $dkrpt ) {
1112
 
1113
+ dkrpt_Meta_Box::set_object_id( $object_id );
1114
 
1115
+ if ( ! wp_script_is( 'dkrpt-scripts', 'registered' ) )
1116
+ $dkrpt->register_scripts();
1117
 
1118
+ wp_enqueue_script( 'dkrpt-scripts' );
1119
 
1120
+ // default is to show dkrpt styles
1121
+ if ( $meta_box['dkrpt_styles'] != false )
1122
+ wp_enqueue_style( 'dkrpt-styles' );
1123
 
1124
+ dkrpt_Meta_Box::show_form( $meta_box );
1125
  }
1126
 
1127
  }
1132
  * @param array $meta_box Metabox config array
1133
  * @param int $object_id Object ID
1134
  */
1135
+ function dkrpt_save_metabox_fields( $meta_box, $object_id ) {
1136
+ dkrpt_Meta_Box::save_fields( $meta_box, $object_id );
1137
  }
1138
 
1139
  /**
1142
  * @param array $meta_box Metabox config array
1143
  * @param int $object_id Object ID
1144
  * @param boolean $return Whether to return or echo form
1145
+ * @return string dkrpt html form markup
1146
  */
1147
+ function dkrpt_metabox_form( $meta_box, $object_id, $echo = true ) {
1148
 
1149
+ $meta_box = dkrpt_Meta_Box::set_mb_defaults( $meta_box );
1150
 
1151
  // Make sure form should be shown
1152
+ if ( ! apply_filters( 'dkrpt_show_on', true, $meta_box ) )
1153
  return '';
1154
 
1155
  // Make sure that our object type is explicitly set by the metabox config
1156
+ dkrpt_Meta_Box::set_object_type( dkrpt_Meta_Box::set_mb_type( $meta_box ) );
1157
 
1158
  // Save the metabox if it's been submitted
1159
  // check permissions
1160
  // @todo more hardening?
1161
  if (
1162
  // check nonce
1163
+ isset( $_POST['submit-dkrpt'], $_POST['object_id'], $_POST['wp_meta_box_nonce'] )
1164
+ && wp_verify_nonce( $_POST['wp_meta_box_nonce'], dkrpt_Meta_Box::nonce() )
1165
  && $_POST['object_id'] == $object_id
1166
  )
1167
+ dkrpt_save_metabox_fields( $meta_box, $object_id );
1168
 
1169
  // Show specific metabox form
1170
 
1171
+ // Get dkrpt form
1172
  ob_start();
1173
+ dkrpt_print_metabox( $meta_box, $object_id );
1174
  $form = ob_get_contents();
1175
  ob_end_clean();
1176
 
1177
+ $form_format = apply_filters( 'dkrpt_frontend_form_format', '<form class="dkrpt-form" method="post" id="%s" enctype="multipart/form-data" encoding="multipart/form-data"><input type="hidden" name="object_id" value="%s">%s<input type="submit" name="submit-dkrpt" value="%s" class="button-primary"></form>', $object_id, $meta_box, $form );
1178
 
1179
  $form = sprintf( $form_format, $meta_box['id'], $object_id, $form, __( 'Save' ) );
1180
 
dkrpt/js/dkrpt.min.js ADDED
@@ -0,0 +1 @@
 
1
+ window.dkrpt=function(e,t,n,r){"use strict";var i=e.dkrpt_l10;var s=e.setTimeout;var o={formfield:"",idNumber:false,file_frames:{},repeatEls:'input:not([type="button"]),select,textarea,.dkrpt_media_status'};o.metabox=function(){if(o.$metabox){return o.$metabox}o.$metabox=n("table.dkrpt_metabox");return o.$metabox};o.init=function(){var t=o.metabox();var r=t.find(".repeatable-group");if(i.new_admin_style){t.find(".dkrpt-spinner img").hide()}o.initPickers(t.find("input:text.dkrpt_timepicker"),t.find("input:text.dkrpt_datepicker"),t.find("input:text.dkrpt_colorpicker"));n("#ui-datepicker-div").wrap('<div class="dkrpt_element" />');n('<p><span class="button dkrpt-multicheck-toggle">'+i.check_toggle+"</span></p>").insertBefore("ul.dkrpt_checkbox_list");t.on("change",".dkrpt_upload_file",function(){o.formfield=n(this).attr("id");n("#"+o.formfield+"_id").val("")}).on("click",".dkrpt-multicheck-toggle",o.toggleCheckBoxes).on("click",".dkrpt_upload_button",o.handleMedia).on("click",".dkrpt_remove_file_button",o.handleRemoveMedia).on("click",".add-group-row",o.addGroupRow).on("click",".add-row-button",o.addAjaxRow).on("click",".remove-group-row",o.removeGroupRow).on("click",".remove-row-button",o.removeAjaxRow).on("keyup paste focusout",".dkrpt_oembed",o.maybeOembed).on("dkrpt_remove_row",".repeatable-group",o.resetTitlesAndIterator);if(r.length){r.filter(".sortable").each(function(){n(this).find(".remove-group-row").before('<a class="shift-rows move-up alignleft" href="#">'+i.up_arrow+'</a> <a class="shift-rows move-down alignleft" href="#">'+i.down_arrow+"</a>")}).on("click",".shift-rows",o.shiftRows).on("dkrpt_add_row",o.emptyValue)}s(o.resizeoEmbeds,500);n(e).on("resize",o.resizeoEmbeds)};o.resetTitlesAndIterator=function(){n(".repeatable-group").each(function(){var e=n(this);e.find(".repeatable-grouping").each(function(t){var r=n(this);r.data("iterator",t);r.find(".dkrpt-group-title h4").text(e.find(".add-group-row").data("grouptitle").replace("{#}",t+1))})})};o.toggleCheckBoxes=function(e){e.preventDefault();var t=n(this);var r=t.parents("td").find("input[type=checkbox]");if(t.data("checked")){r.prop("checked",false);t.data("checked",false)}else{r.prop("checked",true);t.data("checked",true)}};o.handleMedia=function(e){if(!wp){return}e.preventDefault();var t=o.metabox();var r=n(this);o.formfield=r.prev("input").attr("id");var s=n("#"+o.formfield);var u=s.attr("name");var a=true;var f=true;var l=r.hasClass("dkrpt_upload_list");if(o.formfield in o.file_frames){o.file_frames[o.formfield].open();return}o.file_frames[o.formfield]=wp.media.frames.file_frame=wp.media({title:t.find("label[for="+o.formfield+"]").text(),button:{text:i.upload_file},multiple:l?true:false});var c={list:function(e){f=e.toJSON();s.val(f.url);n("#"+o.formfield+"_id").val(f.id);var t=[];n(f).each(function(){if(this.type&&this.type==="image"){a='<li class="img_status">'+'<img width="50" height="50" src="'+this.url+'" class="attachment-50x50" alt="'+this.filename+'">'+'<p><a href="#" class="dkrpt_remove_file_button" rel="'+o.formfield+"["+this.id+']">'+i.remove_image+"</a></p>"+'<input type="hidden" id="filelist-'+this.id+'" name="'+u+"["+this.id+']" value="'+this.url+'">'+"</li>"}else{a="<li>"+i.file+" <strong>"+this.filename+'</strong>&nbsp;&nbsp;&nbsp; (<a href="'+this.url+'" target="_blank" rel="external">'+i.download+'</a> / <a href="#" class="dkrpt_remove_file_button" rel="'+o.formfield+"["+this.id+']">'+i.remove_file+"</a>)"+'<input type="hidden" id="filelist-'+this.id+'" name="'+u+"["+this.id+']" value="'+this.url+'">'+"</li>"}t.push(a)});n(t).each(function(){s.siblings(".dkrpt_media_status").slideDown().append(this)})},single:function(e){f=e.first().toJSON();s.val(f.url);n("#"+o.formfield+"_id").val(f.id);if(f.type&&f.type==="image"){a='<div class="img_status"><img style="max-width: 350px; width: 100%; height: auto;" src="'+f.url+'" alt="'+f.filename+'" title="'+f.filename+'" /><p><a href="#" class="dkrpt_remove_file_button" rel="'+o.formfield+'">'+i.remove_image+"</a></p></div>"}else{a=i.file+" <strong>"+f.filename+'</strong>&nbsp;&nbsp;&nbsp; (<a href="'+f.url+'" target="_blank" rel="external">'+i.download+'</a> / <a href="#" class="dkrpt_remove_file_button" rel="'+o.formfield+'">'+i.remove_file+"</a>)"}s.siblings(".dkrpt_media_status").slideDown().html(a)}};o.file_frames[o.formfield].on("select",function(){var e=o.file_frames[o.formfield].state().get("selection");var t=l?"list":"single";c[t](e)});o.file_frames[o.formfield].open()};o.handleRemoveMedia=function(e){e.preventDefault();var t=n(this);if(t.is(".attach_list .dkrpt_remove_file_button")){t.parents("li").remove();return false}o.formfield=t.attr("rel");var r=t.parents(".img_status");o.metabox().find("input#"+o.formfield).val("");o.metabox().find("input#"+o.formfield+"_id").val("");if(!r.length){t.parents(".dkrpt_media_status").html("")}else{r.html("")}return false};n.fn.replaceText=function(e,t,r){return this.each(function(){var i=this.firstChild,s,o,u=[];if(i){do{if(i.nodeType===3){s=i.nodeValue;o=s.replace(e,t);if(o!==s){if(!r&&/</.test(o)){n(i).before(o);u.push(i)}else{i.nodeValue=o}}}}while(i=i.nextSibling)}if(u.length){n(u).remove()}})};n.fn.cleanRow=function(e,t){var r=n(this);var i=r.find('input:not([type="button"]), select, textarea, label');if(t){r.find(".dkrpt-repeat-table .repeat-row:not(:first-child)").remove()}o.$focus=false;o.neweditor_id=[];i.filter(":checked").removeAttr("checked");i.filter(":selected").removeAttr("selected");if(t){if(r.find(".dkrpt-group-title")){r.find(".dkrpt-group-title h4").text(r.data("title").replace("{#}",o.idNumber+1))}}i.each(function(){var t=n(this);var r=t.hasClass("wp-editor-area");var i=t.attr("for");var s={};var u,a;if(i){s={"for":i.replace("_"+e,"_"+o.idNumber)}}else{var f=t.attr("name");var l=f?f.replace("["+e+"]","["+o.idNumber+"]"):"";a=t.attr("id");u=a?a.replace("_"+e,"_"+o.idNumber):"";s={id:u,name:l,"data-iterator":o.idNumber}}t.removeClass("hasDatepicker").attr(s).val("");if(r){u=u?a.replace("zx"+e,"zx"+o.idNumber):"";t.html("");var c=t.parents(".dkrpt-type-wysiwyg");c.find(".mce-tinymce:not(:first-child)").remove();var h=c.html().replace(new RegExp(a,"g"),u);c.html(h);o.neweditor_id.push({id:u,old:a})}o.$focus=o.$focus?o.$focus:t});return this};n.fn.newRowHousekeeping=function(){var e=n(this);var t=e.find(".wp-picker-container");var r=e.find(".dkrpt_media_status");if(t.length){t.each(function(){var e=n(this).parent();e.html(e.find("input:text.dkrpt_colorpicker").attr("style",""))})}if(r.length){r.empty()}return this};o.afterRowInsert=function(e){if(o.$focus){o.$focus.focus()}var t;if(o.neweditor_id.length){var n;for(n=o.neweditor_id.length-1;n>=0;n--){var r=o.neweditor_id[n].id;var i=o.neweditor_id[n].old;if(typeof tinyMCEPreInit.mceInit[r]==="undefined"){var s=jQuery.extend({},tinyMCEPreInit.mceInit[i]);for(t in s){if("string"===typeof s[t]){s[t]=s[t].replace(new RegExp(i,"g"),r)}}tinyMCEPreInit.mceInit[r]=s}if(typeof tinyMCEPreInit.qtInit[r]==="undefined"){var u=jQuery.extend({},tinyMCEPreInit.qtInit[i]);for(t in u){if("string"===typeof u[t]){u[t]=u[t].replace(new RegExp(i,"g"),r)}}tinyMCEPreInit.qtInit[r]=u}tinyMCE.init({id:tinyMCEPreInit.mceInit[r]})}}o.initPickers(e.find("input:text.dkrpt_timepicker"),e.find("input:text.dkrpt_datepicker"),e.find("input:text.dkrpt_colorpicker"))};o.updateNameAttr=function(){var e=n(this);var t=e.attr("name");if(typeof t==="undefined"){return false}var r=parseInt(e.parents(".repeatable-grouping").data("iterator"));var i=r-1;var s=t.replace("["+r+"]","["+i+"]");e.attr("name",s)};o.emptyValue=function(e,t){n('input:not([type="button"]), textarea',t).val("")};o.addGroupRow=function(e){e.preventDefault();var t=n(this);var r=n("#"+t.data("selector"));var i=r.find(".repeatable-grouping").last();var s=parseInt(i.data("iterator"));var u=r.find(".repeatable-grouping").length;o.idNumber=s+1;var a=i.clone();a.data("title",t.data("grouptitle")).newRowHousekeeping().cleanRow(s,true);var f=n('<tr class="repeatable-grouping" data-iterator="'+o.idNumber+'">'+a.html()+"</tr>");i.after(f);o.afterRowInsert(f);if(r.find(".repeatable-grouping").length<=1){r.find(".remove-group-row").prop("disabled",true)}else{r.find(".remove-group-row").removeAttr("disabled")}r.trigger("dkrpt_add_row",f);if(u>3){var l='<div class="143413253" style="margin-bottom:18px; color:#97473d;">The number of plans is limited to <strong>5</strong>.</div>';n(".add-group-row").before(l);n(".add-group-row").remove()}};o.addAjaxRow=function(e){e.preventDefault();var t=n(this);var r="#"+t.data("selector");var i=n(r);var s=i.find(".empty-row");var u=parseInt(s.find("[data-iterator]").data("iterator"));o.idNumber=u+1;var a=s.clone();a.newRowHousekeeping().cleanRow(u);s.removeClass("empty-row").addClass("repeat-row");s.after(a);o.afterRowInsert(a);i.trigger("dkrpt_add_row",a)};o.removeGroupRow=function(e){e.preventDefault();var t=n(this);var r=n("#"+t.data("selector"));var i=t.parents(".repeatable-grouping");var s=r.find(".repeatable-grouping").length;i.nextAll(".repeatable-grouping").find(o.repeatEls).each(o.updateNameAttr);if(s>1){i.remove();if(s<3){r.find(".remove-group-row").prop("disabled",true)}else{r.find(".remove-group-row").prop("disabled",false)}r.trigger("dkrpt_remove_row")}};o.removeAjaxRow=function(e){e.preventDefault();var t=n(this);var r=t.parents("tr");var i=t.parents(".dkrpt-repeat-table");if(i.find("tr").length>1){if(r.hasClass("empty-row")){r.prev().addClass("empty-row").removeClass("repeat-row")}t.parents(".dkrpt-repeat-table tr").remove();i.trigger("dkrpt_remove_row")}};o.shiftRows=function(e){e.preventDefault();var t=n(this);var r=t.parents(".repeatable-grouping");var i=t.hasClass("move-up")?r.prev(".repeatable-grouping"):r.next(".repeatable-grouping");if(!i.length){return}var s=[];r.find(o.repeatEls).each(function(){var e=n(this);var t;if(e.hasClass("dkrpt_media_status")){t=e.html()}else if("checkbox"===e.attr("type")){t=e.is(":checked");o.log("checked",t)}else if("select"===e.prop("tagName")){t=e.is(":selected");o.log("checked",t)}else{t=e.val()}s.push({val:t,$:e})});i.find(o.repeatEls).each(function(e){var t=n(this);var r;if(t.hasClass("dkrpt_media_status")){r=t.html();t.html(s[e]["val"]);s[e]["$"].html(r)}else if("checkbox"===t.attr("type")){s[e]["$"].prop("checked",t.is(":checked"));t.prop("checked",s[e]["val"])}else if("select"===t.prop("tagName")){s[e]["$"].prop("selected",t.is(":selected"));t.prop("selected",s[e]["val"])}else{s[e]["$"].val(t.val());t.val(s[e]["val"])}})};o.initPickers=function(e,t,n){o.initTimePickers(e);o.initDatePickers(t);o.initColorPickers(n)};o.initTimePickers=function(e){if(!e.length){return}e.timePicker({startTime:"00:00",endTime:"23:59",show24Hours:false,separator:":",step:30})};o.initDatePickers=function(e){if(!e.length){return}e.datepicker("destroy");e.datepicker()};o.initColorPickers=function(e){if(!e.length){return}if(typeof jQuery.wp==="object"&&typeof jQuery.wp.wpColorPicker==="function"){e.wpColorPicker()}else{e.each(function(e){n(this).after('<div id="picker-'+e+'" style="z-index: 1000; background: #EEE; border: 1px solid #CCC; position: absolute; display: block;"></div>');n("#picker-"+e).hide().farbtastic(n(this))}).focus(function(){n(this).next().show()}).blur(function(){n(this).next().hide()})}};o.maybeOembed=function(e){var t=n(this);var r=e.type;var i={focusout:function(){s(function(){o.spinner(".postbox table.dkrpt_metabox",true)},2e3)},keyup:function(){var n=function(t,n){return e.which<=n&&e.which>=t};if(n(48,90)||n(96,111)||n(8,9)||e.which===187||e.which===190){o.doAjax(t,e)}},paste:function(){s(function(){o.doAjax(t)},100)}};i[r]()};o.resizeoEmbeds=function(){o.metabox().each(function(){var e=n(this);var t=e.parents(".inside");if(!t.length){return true}var r=Math.round(t.width()*.82*.97)-30;if(r>639){return true}var i=e.find(".dkrpt-type-oembed .embed_status");var s=i.children().not(".dkrpt_remove_wrapper");if(!s.length){return true}s.each(function(){var e=n(this);var t=e.width();var i=e.height();var s=r;if(e.parents(".repeat-row").length){s=r-91}var o=Math.round(s*i/t);e.width(s).height(o)})})};o.log=function(){if(i.script_debug&&console&&typeof console.log==="function"){console.log.apply(console,arguments)}};o.spinner=function(e,t){if(t){n(".dkrpt-spinner",e).hide()}else{n(".dkrpt-spinner",e).show()}};o.doAjax=function(e){var t=e.val();if(t.length<6){return}var r=e.attr("id");var u=e.parents(".dkrpt-repeat-table tr td");u=u.length?u:e.parents(".dkrpt_metabox tr td");var a=n(".embed_status",u);var f=e.width();var l=n(":first-child",a);o.log("oembed_url",t,r);f=a.length&&l.length?l.width():e.width();o.spinner(u);n(".embed_wrap",u).html("");s(function(){if(n(".dkrpt_oembed:focus").val()!==t){return}n.ajax({type:"post",dataType:"json",url:i.ajaxurl,data:{action:"dkrpt_oembed_handler",oembed_url:t,oembed_width:f>300?f:300,field_id:r,object_id:e.data("objectid"),object_type:e.data("objecttype"),dkrpt_ajax_nonce:i.ajax_nonce},success:function(e){o.log(e);if(typeof e.id==="undefined"){return}o.spinner(u,true);n(".embed_wrap",u).html(e.result)}})},500)};n(t).ready(o.init);return o}(window,document,jQuery)
{cmb → dkrpt}/js/jquery.datePicker.min.js RENAMED
File without changes
{cmb → dkrpt}/js/jquery.timePicker.min.js RENAMED
File without changes
{cmb → dkrpt}/phpunit.xml RENAMED
File without changes
dkrpt/style.css ADDED
@@ -0,0 +1,652 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * dkrpt Styling
3
+ */
4
+
5
+ table.dkrpt_metabox {
6
+ clear: both;
7
+ }
8
+
9
+ table.dkrpt_metabox > tr:first-of-type > td,
10
+ table.dkrpt_metabox > tr:first-of-type > th,
11
+ table.dkrpt_metabox tbody > tr:first-of-type > td,
12
+ table.dkrpt_metabox tbody > tr:first-of-type > th,
13
+ .post-php table.dkrpt_metabox .dkrpt-nested-table td,
14
+ .post-new-php table.dkrpt_metabox .dkrpt-nested-table td,
15
+ .post-php table.dkrpt_metabox .repeatable-group th,
16
+ .post-new-php table.dkrpt_metabox .repeatable-group th,
17
+ .post-php table.dkrpt_metabox .repeatable-group:first-of-type,
18
+ .post-new-php table.dkrpt_metabox .repeatable-group:first-of-type {
19
+ border: 0;
20
+ }
21
+
22
+ .post-php table.dkrpt_metabox td,
23
+ .post-new-php table.dkrpt_metabox td,
24
+ .post-php table.dkrpt_metabox th,
25
+ .post-new-php table.dkrpt_metabox th,
26
+ .post-php table.dkrpt_metabox .repeatable-group,
27
+ .post-new-php table.dkrpt_metabox .repeatable-group,
28
+ .post-php table.dkrpt_metabox .repeatable-group,
29
+ .post-new-php table.dkrpt_metabox .repeatable-group {
30
+ border-top: 1px solid #E9E9E9;
31
+ }
32
+
33
+ .repeatable-group th {
34
+ padding: 0px;
35
+ }
36
+
37
+ .repeatable-group .shift-rows {
38
+ text-decoration: none;
39
+ margin-right: 5px;
40
+ font-size: 1.2em;
41
+ }
42
+
43
+ .repeatable-group .dkrpt_upload_button {
44
+ margin: 3px 0px 0px 9px !important;
45
+ }
46
+
47
+ #poststuff .repeatable-group h2 {
48
+ margin: 0;
49
+ }
50
+
51
+ .dkrpt-group-title h4 {
52
+ font-size: 1.8em;
53
+ margin-top: 0px;
54
+ margin-bottom: 0px;
55
+ border-bottom:solid 7px whitesmoke;
56
+ text-align: center;
57
+ padding: 9px 10px;
58
+ font-weight:400;
59
+ color: black;
60
+ }
61
+
62
+ .post-php table.dkrpt_metabox th, .post-new-php table.dkrpt_metabox th {
63
+ text-align: right;
64
+ font-weight:bold;
65
+ }
66
+
67
+ .post-php table.dkrpt_metabox table th, .post-new-php table.dkrpt_metabox table th {
68
+ text-align: left;
69
+ }
70
+
71
+ table.dkrpt_metabox th label {
72
+ padding-left:10px;
73
+ margin-top:14px;
74
+ display:block;
75
+ font-weight:400;
76
+ font-size:13px;
77
+ color:#333;
78
+ }
79
+
80
+ p.dkrpt_metabox_description {
81
+ color: #AAA;
82
+ font-style: italic;
83
+ margin: 2px 0 !important
84
+ }
85
+
86
+ span.dkrpt_metabox_description {
87
+ color: #AAA;
88
+ font-style: italic
89
+ }
90
+
91
+ table.dkrpt_metabox input, table.dkrpt_metabox textarea {
92
+ font-size:14px;
93
+ padding: 5px;
94
+ }
95
+
96
+ table.dkrpt_metabox input[type=text], table.dkrpt_metabox textarea {
97
+ width: 97%;
98
+ }
99
+
100
+ table.dkrpt_metabox textarea.dkrpt_textarea_code {
101
+ font-family: Consolas,Monaco,monospace;
102
+ line-height: 16px;
103
+ }
104
+
105
+ table.dkrpt_metabox input.dkrpt_text_small {
106
+ width: 100px;
107
+ margin-right: 15px
108
+ }
109
+
110
+ table.dkrpt_metabox input.dkrpt_timepicker {
111
+ width: 100px;
112
+ margin-right: 15px
113
+ }
114
+
115
+ table.dkrpt_metabox input.dkrpt_text_money {
116
+ width: 90px;
117
+ margin-right: 15px
118
+ }
119
+
120
+ table.dkrpt_metabox input.dkrpt_text_medium {
121
+ width: 230px;
122
+ margin-right: 15px
123
+ }
124
+
125
+ table.dkrpt_metabox input.dkrpt_upload_file {
126
+ width: 65%;
127
+ }
128
+
129
+ table.dkrpt_metabox input.ed_button{
130
+ padding:2px 4px
131
+ }
132
+
133
+ table.dkrpt_metabox li {
134
+ font-size:14px;
135
+ margin: 1px 0 5px 0;
136
+ line-height: 16px;
137
+ }
138
+
139
+ table.dkrpt_metabox ul {
140
+ padding-top:5px;
141
+ margin: 0;
142
+ }
143
+
144
+ table.dkrpt_metabox select {
145
+ font-size:14px;
146
+ margin-top: 3px
147
+ }
148
+
149
+ table.dkrpt_metabox input:focus, table.dkrpt_metabox textarea:focus {
150
+ background: #fffff8
151
+ }
152
+
153
+ .dkrpt_metabox_title {
154
+ margin: 0 0 5px 0;
155
+ padding: 5px 0 0 0;
156
+ }
157
+
158
+ .edit-tags-php .dkrpt_metabox_title, .profile-php .dkrpt_metabox_title, .user-edit-php .dkrpt_metabox_title {
159
+ margin-left: -10px;
160
+ }
161
+
162
+ .dkrpt-inline ul {
163
+ padding: 4px 0 0 0
164
+ }
165
+
166
+ .dkrpt-inline li {display: inline-block;
167
+ padding-right: 18px
168
+ }
169
+
170
+ table.dkrpt_metabox input[type="radio"] {
171
+ margin: 0 5px 0 0;
172
+ padding: 0
173
+ }
174
+
175
+ table.dkrpt_metabox input[type="checkbox"] {
176
+ margin: 0 5px 0 0;
177
+ padding: 0
178
+ }
179
+
180
+ table.dkrpt_metabox .mceLayout {
181
+ border:1px solid #DFDFDF !important
182
+ }
183
+
184
+ table.dkrpt_metabox .mceIframeContainer {
185
+ background:#FFF
186
+ }
187
+
188
+ table.dkrpt_metabox .meta_mce {
189
+ width:97%
190
+ }
191
+
192
+ table.dkrpt_metabox .meta_mce textarea {
193
+ width:100%
194
+ }
195
+
196
+ table.dkrpt_metabox .dkrpt_media_status {
197
+ margin: 10px 0 0 0
198
+ }
199
+
200
+ table.dkrpt_metabox .dkrpt_media_status .img_status {
201
+ clear: none;
202
+ float: left;
203
+ display: inline-block;
204
+ margin-right: 10px;
205
+ width: auto;
206
+ }
207
+
208
+ table.dkrpt_metabox .dkrpt-type-file_list .dkrpt_media_status .img_status {
209
+ clear: none;
210
+ float: left;
211
+ margin-right: 10px;
212
+ width: auto;
213
+ }
214
+
215
+ table.dkrpt_metabox .dkrpt_media_status .img_status, table.dkrpt_metabox .dkrpt_media_status .embed_status {
216
+ position: relative;
217
+ }
218
+
219
+ table.dkrpt_metabox .dkrpt_media_status .img_status img, table.dkrpt_metabox .dkrpt_media_status .embed_status {
220
+ border:1px solid #DFDFDF;
221
+ background: #FAFAFA;
222
+ max-width:350px;
223
+ padding: 5px;
224
+ -moz-border-radius: 2px;
225
+ border-radius: 2px
226
+ }
227
+
228
+ table.dkrpt_metabox .dkrpt_media_status .embed_status {
229
+ float: left;
230
+ max-width:800px
231
+ }
232
+
233
+ table.dkrpt_metabox .dkrpt_media_status .img_status .dkrpt_remove_file_button, table.dkrpt_metabox .dkrpt_media_status .embed_status .dkrpt_remove_file_button {
234
+ text-indent: -9999px;
235
+ background: url(images/ico-delete.png);
236
+ width: 16px;
237
+ height: 16px;
238
+ position: absolute;
239
+ top: -5px;
240
+ left: -5px
241
+ }
242
+
243
+ table.dkrpt_metabox .attach_list li {
244
+ clear: both;
245
+ display: inline-block;
246
+ margin-bottom: 25px;
247
+ width: 100%;
248
+ }
249
+
250
+ table.dkrpt_metabox .attach_list li img {
251
+ float: left;
252
+ margin-right: 10px;
253
+ }
254
+
255
+ /**
256
+ * Sidebar placement adjustments
257
+ */
258
+ .inner-sidebar table.dkrpt_metabox input[type=text],
259
+ #side-sortables table.dkrpt_metabox input[type=text],
260
+ table.dkrpt_metabox textarea {
261
+ width: 95%;
262
+ }
263
+
264
+ .inner-sidebar table.dkrpt_metabox .dkrpt_media_status .img_status img,
265
+ #side-sortables table.dkrpt_metabox .dkrpt_media_status .img_status img,
266
+ .inner-sidebar table.dkrpt_metabox .dkrpt_media_status .embed_status img,
267
+ #side-sortables table.dkrpt_metabox .dkrpt_media_status .embed_status img {
268
+ width: 90%;
269
+ }
270
+
271
+ .inner-sidebar table.dkrpt_metabox label,
272
+ #side-sortables table.dkrpt_metabox label {
273
+ display: block;
274
+ font-weight: bold;
275
+ padding: 0 0 5px;
276
+ }
277
+
278
+ .inner-sidebar table.dkrpt_metabox .dkrpt_list label,
279
+ #side-sortables table.dkrpt_metabox .dkrpt_list label {
280
+ display: inline;
281
+ font-weight: normal;
282
+ }
283
+
284
+ .inner-sidebar table.dkrpt_metabox .dkrpt_metabox_description,
285
+ #side-sortables table.dkrpt_metabox .dkrpt_metabox_description {
286
+ display: block;
287
+ padding: 7px 0 0;
288
+ }
289
+
290
+ .inner-sidebar table.dkrpt_metabox .dkrpt_metabox_title,
291
+ #side-sortables table.dkrpt_metabox .dkrpt_metabox_title {
292
+ font-size: 1.2em;
293
+ font-style: italic;
294
+ }
295
+
296
+ .postbox table.dkrpt_metabox .dkrpt-spinner {
297
+ float: left;
298
+ }
299
+
300
+ /**
301
+ * Color picker
302
+ */
303
+ table.dkrpt_metabox .wp-color-result, table.dkrpt_metabox .wp-picker-input-wrap {
304
+ vertical-align: middle;
305
+ }
306
+
307
+ table.dkrpt_metabox .wp-color-result, table.dkrpt_metabox .wp-picker-container {
308
+ margin: 0 10px 0 0;
309
+ }
310
+
311
+
312
+ /**
313
+ * Timepicker
314
+ */
315
+ div.time-picker {
316
+ position: absolute;
317
+ height: 191px;
318
+ width:6em;
319
+ /* needed for IE */overflow: auto;
320
+ background: #fff;
321
+ border: 1px solid #aaa;
322
+ z-index: 99;
323
+ margin: 0
324
+ }
325
+
326
+ div.time-picker-12hours {
327
+ width:8em; /* needed for IE */
328
+ }
329
+
330
+ div.time-picker ul {
331
+ list-style-type: none;
332
+ margin: 0;
333
+ padding: 0;
334
+ }
335
+
336
+ div.time-picker li {
337
+ cursor: pointer;
338
+ height: 10px;
339
+ font: 14px/1 Helvetica, Arial, sans-serif;
340
+ padding: 4px 3px;
341
+ }
342
+
343
+ div.time-picker li.selected {
344
+ background: #0063CE;
345
+ color: #fff;
346
+ }
347
+
348
+ /**
349
+ * jQuery UI CSS Framework 1.8.16
350
+ *
351
+ * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)
352
+ * Dual licensed under the MIT or GPL Version 2 licenses.
353
+ * http://jquery.org/license
354
+ *
355
+ * http://docs.jquery.com/UI/Theming/API
356
+ */
357
+ .dkrpt_element .ui-helper-hidden { display: none; }
358
+ .dkrpt_element .ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); }
359
+ .dkrpt_element .ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; }
360
+ .dkrpt_element .ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
361
+ .dkrpt_element .ui-helper-clearfix { display: inline-block; }
362
+ * html .ui-helper-clearfix { height:1%; }
363
+ .dkrpt_element .ui-helper-clearfix { display:block; }
364
+ .dkrpt_element .ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); }
365
+ .dkrpt_element .ui-state-disabled { cursor: default !important; }
366
+ .dkrpt_element .ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; }
367
+ .dkrpt_element .ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
368
+ .dkrpt_element .ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
369
+ .dkrpt_element .ui-widget .ui-widget { font-size: 1em; }
370
+ .dkrpt_element .ui-widget input, .dkrpt_element .ui-widget select, .dkrpt_element .ui-widget textarea, .dkrpt_element .ui-widget button { font-family: Verdana,Arial,sans-serif; font-size: 1em; }
371
+ .dkrpt_element .ui-widget-content { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x; color: #222222; }
372
+ .dkrpt_element .ui-widget-content a { color: #222222; }
373
+ .dkrpt_element .ui-widget-header { border: 1px solid #aaaaaa; background: #cccccc url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x; color: #222222; font-weight: bold; }
374
+ .dkrpt_element .ui-widget-header a { color: #222222; }
375
+ .dkrpt_element .ui-state-default, .dkrpt_element .ui-widget-content .ui-state-default, .dkrpt_element .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3; background: #e6e6e6 url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #555555; }
376
+ .dkrpt_element .ui-state-default a, .dkrpt_element .ui-state-default a:link, .dkrpt_element .ui-state-default a:visited { color: #555555; text-decoration: none; }
377
+ .dkrpt_element .ui-state-hover, .dkrpt_element .ui-widget-content .ui-state-hover, .dkrpt_element .ui-widget-header .ui-state-hover, .dkrpt_element .ui-state-focus, .dkrpt_element .ui-widget-content .ui-state-focus, .dkrpt_element .ui-widget-header .ui-state-focus { border: 1px solid #999999; background: #dadada url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
378
+ .dkrpt_element .ui-state-hover a, .dkrpt_element .ui-state-hover a:hover { color: #212121; text-decoration: none; }
379
+ .dkrpt_element .ui-state-active, .dkrpt_element .ui-widget-content .ui-state-active, .dkrpt_element .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa; background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; font-weight: normal; color: #212121; }
380
+ .dkrpt_element .ui-state-active a, .dkrpt_element .ui-state-active a:link, .dkrpt_element .ui-state-active a:visited { color: #212121; text-decoration: none; }
381
+ .dkrpt_element .ui-widget :active { outline: none; }
382
+ .dkrpt_element .ui-state-highlight, .dkrpt_element .ui-widget-content .ui-state-highlight, .dkrpt_element .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1; background: #fbf9ee url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x; color: #363636; }
383
+ .dkrpt_element .ui-state-highlight a, .dkrpt_element .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636; }
384
+ .dkrpt_element .ui-state-error, .dkrpt_element .ui-widget-content .ui-state-error, .dkrpt_element .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a; background: #fef1ec url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x; color: #cd0a0a; }
385
+ .dkrpt_element .ui-state-error a, .dkrpt_element .ui-widget-content .ui-state-error a, .dkrpt_element .ui-widget-header .ui-state-error a { color: #cd0a0a; }
386
+ .dkrpt_element .ui-state-error-text, .dkrpt_element .ui-widget-content .ui-state-error-text, .dkrpt_element .ui-widget-header .ui-state-error-text { color: #cd0a0a; }
387
+ .dkrpt_element .ui-priority-primary, .dkrpt_element .ui-widget-content .ui-priority-primary, .dkrpt_element .ui-widget-header .ui-priority-primary { font-weight: bold; }
388
+ .dkrpt_element .ui-priority-secondary, .dkrpt_element .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; }
389
+ .dkrpt_element .ui-state-disabled, .dkrpt_element .ui-widget-content .ui-state-disabled, .dkrpt_element .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; }
390
+ .dkrpt_element .ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png); }
391
+ .dkrpt_element .ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
392
+ .dkrpt_element .ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png); }
393
+ .dkrpt_element .ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png); }
394
+ .dkrpt_element .ui-state-hover .ui-icon, .dkrpt_element .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
395
+ .dkrpt_element .ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png); }
396
+ .dkrpt_element .ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png); }
397
+ .dkrpt_element .ui-state-error .ui-icon, .dkrpt_element .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png); }
398
+ .dkrpt_element .ui-icon-carat-1-n { background-position: 0 0; }
399
+ .dkrpt_element .ui-icon-carat-1-ne { background-position: -16px 0; }
400
+ .dkrpt_element .ui-icon-carat-1-e { background-position: -32px 0; }
401
+ .dkrpt_element .ui-icon-carat-1-se { background-position: -48px 0; }
402
+ .dkrpt_element .ui-icon-carat-1-s { background-position: -64px 0; }
403
+ .dkrpt_element .ui-icon-carat-1-sw { background-position: -80px 0; }
404
+ .dkrpt_element .ui-icon-carat-1-w { background-position: -96px 0; }
405
+ .dkrpt_element .ui-icon-carat-1-nw { background-position: -112px 0; }
406
+ .dkrpt_element .ui-icon-carat-2-n-s { background-position: -128px 0; }
407
+ .dkrpt_element .ui-icon-carat-2-e-w { background-position: -144px 0; }
408
+ .dkrpt_element .ui-icon-triangle-1-n { background-position: 0 -16px; }
409
+ .dkrpt_element .ui-icon-triangle-1-ne { background-position: -16px -16px; }
410
+ .dkrpt_element .ui-icon-triangle-1-e { background-position: -32px -16px; }
411
+ .dkrpt_element .ui-icon-triangle-1-se { background-position: -48px -16px; }
412
+ .dkrpt_element .ui-icon-triangle-1-s { background-position: -64px -16px; }
413
+ .dkrpt_element .ui-icon-triangle-1-sw { background-position: -80px -16px; }
414
+ .dkrpt_element .ui-icon-triangle-1-w { background-position: -96px -16px; }
415
+ .dkrpt_element .ui-icon-triangle-1-nw { background-position: -112px -16px; }
416
+ .dkrpt_element .ui-icon-triangle-2-n-s { background-position: -128px -16px; }
417
+ .dkrpt_element .ui-icon-triangle-2-e-w { background-position: -144px -16px; }
418
+ .dkrpt_element .ui-icon-arrow-1-n { background-position: 0 -32px; }
419
+ .dkrpt_element .ui-icon-arrow-1-ne { background-position: -16px -32px; }
420
+ .dkrpt_element .ui-icon-arrow-1-e { background-position: -32px -32px; }
421
+ .dkrpt_element .ui-icon-arrow-1-se { background-position: -48px -32px; }
422
+ .dkrpt_element .ui-icon-arrow-1-s { background-position: -64px -32px; }
423
+ .dkrpt_element .ui-icon-arrow-1-sw { background-position: -80px -32px; }
424
+ .dkrpt_element .ui-icon-arrow-1-w { background-position: -96px -32px; }
425
+ .dkrpt_element .ui-icon-arrow-1-nw { background-position: -112px -32px; }
426
+ .dkrpt_element .ui-icon-arrow-2-n-s { background-position: -128px -32px; }
427
+ .dkrpt_element .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }
428
+ .dkrpt_element .ui-icon-arrow-2-e-w { background-position: -160px -32px; }
429
+ .dkrpt_element .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }
430
+ .dkrpt_element .ui-icon-arrowstop-1-n { background-position: -192px -32px; }
431
+ .dkrpt_element .ui-icon-arrowstop-1-e { background-position: -208px -32px; }
432
+ .dkrpt_element .ui-icon-arrowstop-1-s { background-position: -224px -32px; }
433
+ .dkrpt_element .ui-icon-arrowstop-1-w { background-position: -240px -32px; }
434
+ .dkrpt_element .ui-icon-arrowthick-1-n { background-position: 0 -48px; }
435
+ .dkrpt_element .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }
436
+ .dkrpt_element .ui-icon-arrowthick-1-e { background-position: -32px -48px; }
437
+ .dkrpt_element .ui-icon-arrowthick-1-se { background-position: -48px -48px; }
438
+ .dkrpt_element .ui-icon-arrowthick-1-s { background-position: -64px -48px; }
439
+ .dkrpt_element .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }
440
+ .dkrpt_element .ui-icon-arrowthick-1-w { background-position: -96px -48px; }
441
+ .dkrpt_element .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }
442
+ .dkrpt_element .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }
443
+ .dkrpt_element .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }
444
+ .dkrpt_element .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }
445
+ .dkrpt_element .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }
446
+ .dkrpt_element .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }
447
+ .dkrpt_element .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }
448
+ .dkrpt_element .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }
449
+ .dkrpt_element .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }
450
+ .dkrpt_element .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }
451
+ .dkrpt_element .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }
452
+ .dkrpt_element .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }
453
+ .dkrpt_element .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }
454
+ .dkrpt_element .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }
455
+ .dkrpt_element .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }
456
+ .dkrpt_element .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }
457
+ .dkrpt_element .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }
458
+ .dkrpt_element .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }
459
+ .dkrpt_element .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }
460
+ .dkrpt_element .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }
461
+ .dkrpt_element .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }
462
+ .dkrpt_element .ui-icon-arrow-4 { background-position: 0 -80px; }
463
+ .dkrpt_element .ui-icon-arrow-4-diag { background-position: -16px -80px; }
464
+ .dkrpt_element .ui-icon-extlink { background-position: -32px -80px; }
465
+ .dkrpt_element .ui-icon-newwin { background-position: -48px -80px; }
466
+ .dkrpt_element .ui-icon-refresh { background-position: -64px -80px; }
467
+ .dkrpt_element .ui-icon-shuffle { background-position: -80px -80px; }
468
+ .dkrpt_element .ui-icon-transfer-e-w { background-position: -96px -80px; }
469
+ .dkrpt_element .ui-icon-transferthick-e-w { background-position: -112px -80px; }
470
+ .dkrpt_element .ui-icon-folder-collapsed { background-position: 0 -96px; }
471
+ .dkrpt_element .ui-icon-folder-open { background-position: -16px -96px; }
472
+ .dkrpt_element .ui-icon-document { background-position: -32px -96px; }
473
+ .dkrpt_element .ui-icon-document-b { background-position: -48px -96px; }
474
+ .dkrpt_element .ui-icon-note { background-position: -64px -96px; }
475
+ .dkrpt_element .ui-icon-mail-closed { background-position: -80px -96px; }
476
+ .dkrpt_element .ui-icon-mail-open { background-position: -96px -96px; }
477
+ .dkrpt_element .ui-icon-suitcase { background-position: -112px -96px; }
478
+ .dkrpt_element .ui-icon-comment { background-position: -128px -96px; }
479
+ .dkrpt_element .ui-icon-person { background-position: -144px -96px; }
480
+ .dkrpt_element .ui-icon-print { background-position: -160px -96px; }
481
+ .dkrpt_element .ui-icon-trash { background-position: -176px -96px; }
482
+ .dkrpt_element .ui-icon-locked { background-position: -192px -96px; }
483
+ .dkrpt_element .ui-icon-unlocked { background-position: -208px -96px; }
484
+ .dkrpt_element .ui-icon-bookmark { background-position: -224px -96px; }
485
+ .dkrpt_element .ui-icon-tag { background-position: -240px -96px; }
486
+ .dkrpt_element .ui-icon-home { background-position: 0 -112px; }
487
+ .dkrpt_element .ui-icon-flag { background-position: -16px -112px; }
488
+ .dkrpt_element .ui-icon-calendar { background-position: -32px -112px; }
489
+ .dkrpt_element .ui-icon-cart { background-position: -48px -112px; }
490
+ .dkrpt_element .ui-icon-pencil { background-position: -64px -112px; }
491
+ .dkrpt_element .ui-icon-clock { background-position: -80px -112px; }
492
+ .dkrpt_element .ui-icon-disk { background-position: -96px -112px; }
493
+ .dkrpt_element .ui-icon-calculator { background-position: -112px -112px; }
494
+ .dkrpt_element .ui-icon-zoomin { background-position: -128px -112px; }
495
+ .dkrpt_element .ui-icon-zoomout { background-position: -144px -112px; }
496
+ .dkrpt_element .ui-icon-search { background-position: -160px -112px; }
497
+ .dkrpt_element .ui-icon-wrench { background-position: -176px -112px; }
498
+ .dkrpt_element .ui-icon-gear { background-position: -192px -112px; }
499
+ .dkrpt_element .ui-icon-heart { background-position: -208px -112px; }
500
+ .dkrpt_element .ui-icon-star { background-position: -224px -112px; }
501
+ .dkrpt_element .ui-icon-link { background-position: -240px -112px; }
502
+ .dkrpt_element .ui-icon-cancel { background-position: 0 -128px; }
503
+ .dkrpt_element .ui-icon-plus { background-position: -16px -128px; }
504
+ .dkrpt_element .ui-icon-plusthick { background-position: -32px -128px; }
505
+ .dkrpt_element .ui-icon-minus { background-position: -48px -128px; }
506
+ .dkrpt_element .ui-icon-minusthick { background-position: -64px -128px; }
507
+ .dkrpt_element .ui-icon-close { background-position: -80px -128px; }
508
+ .dkrpt_element .ui-icon-closethick { background-position: -96px -128px; }
509
+ .dkrpt_element .ui-icon-key { background-position: -112px -128px; }
510
+ .dkrpt_element .ui-icon-lightbulb { background-position: -128px -128px; }
511
+ .dkrpt_element .ui-icon-scissors { background-position: -144px -128px; }
512
+ .dkrpt_element .ui-icon-clipboard { background-position: -160px -128px; }
513
+ .dkrpt_element .ui-icon-copy { background-position: -176px -128px; }
514
+ .dkrpt_element .ui-icon-contact { background-position: -192px -128px; }
515
+ .dkrpt_element .ui-icon-image { background-position: -208px -128px; }
516
+ .dkrpt_element .ui-icon-video { background-position: -224px -128px; }
517
+ .dkrpt_element .ui-icon-script { background-position: -240px -128px; }
518
+ .dkrpt_element .ui-icon-alert { background-position: 0 -144px; }
519
+ .dkrpt_element .ui-icon-info { background-position: -16px -144px; }
520
+ .dkrpt_element .ui-icon-notice { background-position: -32px -144px; }
521
+ .dkrpt_element .ui-icon-help { background-position: -48px -144px; }
522
+ .dkrpt_element .ui-icon-check { background-position: -64px -144px; }
523
+ .dkrpt_element .ui-icon-bullet { background-position: -80px -144px; }
524
+ .dkrpt_element .ui-icon-radio-off { background-position: -96px -144px; }
525
+ .dkrpt_element .ui-icon-radio-on { background-position: -112px -144px; }
526
+ .dkrpt_element .ui-icon-pin-w { background-position: -128px -144px; }
527
+ .dkrpt_element .ui-icon-pin-s { background-position: -144px -144px; }
528
+ .dkrpt_element .ui-icon-play { background-position: 0 -160px; }
529
+ .dkrpt_element .ui-icon-pause { background-position: -16px -160px; }
530
+ .dkrpt_element .ui-icon-seek-next { background-position: -32px -160px; }
531
+ .dkrpt_element .ui-icon-seek-prev { background-position: -48px -160px; }
532
+ .dkrpt_element .ui-icon-seek-end { background-position: -64px -160px; }
533
+ .dkrpt_element .ui-icon-seek-start { background-position: -80px -160px; }
534
+ .dkrpt_element .ui-icon-seek-first { background-position: -80px -160px; }
535
+ .dkrpt_element .ui-icon-stop { background-position: -96px -160px; }
536
+ .dkrpt_element .ui-icon-eject { background-position: -112px -160px; }
537
+ .dkrpt_element .ui-icon-volume-off { background-position: -128px -160px; }
538
+ .dkrpt_element .ui-icon-volume-on { background-position: -144px -160px; }
539
+ .dkrpt_element .ui-icon-power { background-position: 0 -176px; }
540
+ .dkrpt_element .ui-icon-signal-diag { background-position: -16px -176px; }
541
+ .dkrpt_element .ui-icon-signal { background-position: -32px -176px; }
542
+ .dkrpt_element .ui-icon-battery-0 { background-position: -48px -176px; }
543
+ .dkrpt_element .ui-icon-battery-1 { background-position: -64px -176px; }
544
+ .dkrpt_element .ui-icon-battery-2 { background-position: -80px -176px; }
545
+ .dkrpt_element .ui-icon-battery-3 { background-position: -96px -176px; }
546
+ .dkrpt_element .ui-icon-circle-plus { background-position: 0 -192px; }
547
+ .dkrpt_element .ui-icon-circle-minus { background-position: -16px -192px; }
548
+ .dkrpt_element .ui-icon-circle-close { background-position: -32px -192px; }
549
+ .dkrpt_element .ui-icon-circle-triangle-e { background-position: -48px -192px; }
550
+ .dkrpt_element .ui-icon-circle-triangle-s { background-position: -64px -192px; }
551
+ .dkrpt_element .ui-icon-circle-triangle-w { background-position: -80px -192px; }
552
+ .dkrpt_element .ui-icon-circle-triangle-n { background-position: -96px -192px; }
553
+ .dkrpt_element .ui-icon-circle-arrow-e { background-position: -112px -192px; }
554
+ .dkrpt_element .ui-icon-circle-arrow-s { background-position: -128px -192px; }
555
+ .dkrpt_element .ui-icon-circle-arrow-w { background-position: -144px -192px; }
556
+ .dkrpt_element .ui-icon-circle-arrow-n { background-position: -160px -192px; }
557
+ .dkrpt_element .ui-icon-circle-zoomin { background-position: -176px -192px; }
558
+ .dkrpt_element .ui-icon-circle-zoomout { background-position: -192px -192px; }
559
+ .dkrpt_element .ui-icon-circle-check { background-position: -208px -192px; }
560
+ .dkrpt_element .ui-icon-circlesmall-plus { background-position: 0 -208px; }
561
+ .dkrpt_element .ui-icon-circlesmall-minus { background-position: -16px -208px; }
562
+ .dkrpt_element .ui-icon-circlesmall-close { background-position: -32px -208px; }
563
+ .dkrpt_element .ui-icon-squaresmall-plus { background-position: -48px -208px; }
564
+ .dkrpt_element .ui-icon-squaresmall-minus { background-position: -64px -208px; }
565
+ .dkrpt_element .ui-icon-squaresmall-close { background-position: -80px -208px; }
566
+ .dkrpt_element .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }
567
+ .dkrpt_element .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
568
+ .dkrpt_element .ui-icon-grip-solid-vertical { background-position: -32px -224px; }
569
+ .dkrpt_element .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }
570
+ .dkrpt_element .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }
571
+ .dkrpt_element .ui-icon-grip-diagonal-se { background-position: -80px -224px; }
572
+ .dkrpt_element .ui-corner-all, .dkrpt_element .ui-corner-top, .dkrpt_element .ui-corner-left, .dkrpt_element .ui-corner-tl { -moz-border-radius-topleft: 4px; -webkit-border-top-left-radius: 4px; -khtml-border-top-left-radius: 4px; border-top-left-radius: 4px; }
573
+ .dkrpt_element .ui-corner-all, .dkrpt_element .ui-corner-top, .dkrpt_element .ui-corner-right, .dkrpt_element .ui-corner-tr { -moz-border-radius-topright: 4px; -webkit-border-top-right-radius: 4px; -khtml-border-top-right-radius: 4px; border-top-right-radius: 4px; }
574
+ .dkrpt_element .ui-corner-all, .dkrpt_element .ui-corner-bottom, .dkrpt_element .ui-corner-left, .dkrpt_element .ui-corner-bl { -moz-border-radius-bottomleft: 4px; -webkit-border-bottom-left-radius: 4px; -khtml-border-bottom-left-radius: 4px; border-bottom-left-radius: 4px; }
575
+ .dkrpt_element .ui-corner-all, .dkrpt_element .ui-corner-bottom, .dkrpt_element .ui-corner-right, .dkrpt_element .ui-corner-br { -moz-border-radius-bottomright: 4px; -webkit-border-bottom-right-radius: 4px; -khtml-border-bottom-right-radius: 4px; border-bottom-right-radius: 4px; }
576
+ .dkrpt_element .ui-widget-overlay { background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); }
577
+ .dkrpt_element .ui-widget-shadow { margin: -8px 0 0 -8px; padding: 8px; background: #aaaaaa url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x; opacity: .30;filter:Alpha(Opacity=30); -moz-border-radius: 8px; -khtml-border-radius: 8px; -webkit-border-radius: 8px; border-radius: 8px; }
578
+ .dkrpt_element .ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; }
579
+ .dkrpt_element .ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; }
580
+ .dkrpt_element .ui-datepicker .ui-datepicker-prev, .dkrpt_element .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; }
581
+ .dkrpt_element .ui-datepicker .ui-datepicker-prev-hover, .dkrpt_element .ui-datepicker .ui-datepicker-next-hover { top: 1px; }
582
+ .dkrpt_element .ui-datepicker .ui-datepicker-prev { left:2px; }
583
+ .dkrpt_element .ui-datepicker .ui-datepicker-next { right:2px; }
584
+ .dkrpt_element .ui-datepicker .ui-datepicker-prev-hover { left:1px; }
585
+ .dkrpt_element .ui-datepicker .ui-datepicker-next-hover { right:1px; }
586
+ .dkrpt_element .ui-datepicker .ui-datepicker-prev span, .dkrpt_element .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; }
587
+ .dkrpt_element .ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; }
588
+ .dkrpt_element .ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; }
589
+ .dkrpt_element .ui-datepicker select.ui-datepicker-month-year {width: 100%;}
590
+ .dkrpt_element .ui-datepicker select.ui-datepicker-month,
591
+ .dkrpt_element .ui-datepicker select.ui-datepicker-year { width: 49%;}
592
+ .dkrpt_element .ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; }
593
+ .dkrpt_element .ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; }
594
+ .dkrpt_element .ui-datepicker td { border: 0; padding: 1px; }
595
+ .dkrpt_element .ui-datepicker td span, .dkrpt_element .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; }
596
+ .dkrpt_element .ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; }
597
+ .dkrpt_element .ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; }
598
+ .dkrpt_element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; }
599
+ .dkrpt_element .ui-datepicker.ui-datepicker-multi { width:auto; }
600
+ .dkrpt_element .ui-datepicker-multi .ui-datepicker-group { float:left; }
601
+ .dkrpt_element .ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; }
602
+ .dkrpt_element .ui-datepicker-multi-2 .ui-datepicker-group { width:50%; }
603
+ .dkrpt_element .ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; }
604
+ .dkrpt_element .ui-datepicker-multi-4 .ui-datepicker-group { width:25%; }
605
+ .dkrpt_element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; }
606
+ .dkrpt_element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; }
607
+ .dkrpt_element .ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; }
608
+ .dkrpt_element .ui-datepicker-row-break { clear:both; width:100%; font-size:0em; }
609
+ .dkrpt_element .ui-datepicker-rtl { direction: rtl; }
610
+ .dkrpt_element .ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; }
611
+ .dkrpt_element .ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; }
612
+ .dkrpt_element .ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; }
613
+ .dkrpt_element .ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; }
614
+ .dkrpt_element .ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; }
615
+ .dkrpt_element .ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; }
616
+ .dkrpt_element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; }
617
+ .dkrpt_element .ui-datepicker-rtl .ui-datepicker-group { float:right; }
618
+ .dkrpt_element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
619
+ .dkrpt_element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; }
620
+ .dkrpt_element .ui-datepicker-cover {
621
+ display: none; /*sorry for IE5*/
622
+ display/**/: block; /*sorry for IE5*/
623
+ position: absolute; /*must have*/
624
+ z-index: -1; /*must have*/
625
+ filter: mask(); /*must have*/
626
+ top: -4px; /*must have*/
627
+ left: -4px; /*must have*/
628
+ width: 200px; /*must have*/
629
+ height: 200px; /*must have*/
630
+ }
631
+
632
+ .post-new-php table.dkrpt_metabox .dkrpt-nested-table td {padding:7px;}
633
+
634
+ .dkrpt-repeat-table tr td {padding:7px 15px 10px 8px;}
635
+
636
+ .dkrpt-repeat > td {padding:0px 15px 10px 0px;}
637
+ .form-table td p.add-row {margin-left:11px !important;}
638
+ .form-table td {padding:10px 0px 10px;}
639
+
640
+ .dkrpt_id__dkpdk_short_text h5 {font-size:18px; font-style:normal !important;}
641
+ .dkrpt_id__dkpdk_shortcode_code h5 {font-size:16px; color:green; font-style:normal;}
642
+
643
+ .dkrpt_metabox_title {font-size:16px !important; margin-bottom:0px; padding-left:0px; text-align:center; padding:18px 0px 0px; color:#999999; font-weight:500; margin-top:-6px; text-transform:uppercase;}
644
+
645
+
646
+ .dkrpt_metabox td {width: 100%; padding: 10px 0px 14px;}
647
+ .repeatable-group {padding: 0px 10px !important;}
648
+
649
+ .dkrpt-type-title td {padding-top:0px;}
650
+ .dkrpt-type-checkbox td {padding-top:13px !important;}
651
+
652
+ #side-sortables table.dkrpt_metabox .dkrpt_metabox_title {font-style:normal;}
dkrpt/style.min.css ADDED
@@ -0,0 +1 @@
 
1
+ table.dkrpt_metabox{clear:both}.post-new-php table.dkrpt_metabox .dkrpt-nested-table td,.post-new-php table.dkrpt_metabox .repeatable-group th,.post-new-php table.dkrpt_metabox .repeatable-group:first-of-type,.post-php table.dkrpt_metabox .dkrpt-nested-table td,.post-php table.dkrpt_metabox .repeatable-group th,.post-php table.dkrpt_metabox .repeatable-group:first-of-type,table.dkrpt_metabox tbody>tr:first-of-type>td,table.dkrpt_metabox tbody>tr:first-of-type>th,table.dkrpt_metabox>tr:first-of-type>td,table.dkrpt_metabox>tr:first-of-type>th{border:0}.post-new-php table.dkrpt_metabox .repeatable-group,.post-new-php table.dkrpt_metabox td,.post-new-php table.dkrpt_metabox th,.post-php table.dkrpt_metabox .repeatable-group,.post-php table.dkrpt_metabox td,.post-php table.dkrpt_metabox th{border-top:1px solid #E9E9E9}.repeatable-group th{padding:0}.repeatable-group .shift-rows{text-decoration:none;margin-right:5px;font-size:1.2em}.repeatable-group .dkrpt_upload_button{margin:3px 0 0 9px!important}#poststuff .repeatable-group h2{margin:0}.dkrpt-group-title h4{font-size:1.8em;margin-top:0;margin-bottom:0;border-bottom:solid 7px #f5f5f5;text-align:center;padding:9px 10px;font-weight:400;color:#000}.post-new-php table.dkrpt_metabox th,.post-php table.dkrpt_metabox th{text-align:right;font-weight:700}.post-new-php table.dkrpt_metabox table th,.post-php table.dkrpt_metabox table th{text-align:left}table.dkrpt_metabox th label{padding-left:10px;margin-top:14px;display:block;font-weight:400;font-size:13px;color:#333}p.dkrpt_metabox_description{color:#AAA;font-style:italic;margin:2px 0!important}span.dkrpt_metabox_description{color:#AAA;font-style:italic}table.dkrpt_metabox input,table.dkrpt_metabox textarea{font-size:14px;padding:5px}table.dkrpt_metabox input[type=text],table.dkrpt_metabox textarea{width:97%}table.dkrpt_metabox textarea.dkrpt_textarea_code{font-family:Consolas,Monaco,monospace;line-height:16px}table.dkrpt_metabox input.dkrpt_text_small,table.dkrpt_metabox input.dkrpt_timepicker{width:100px;margin-right:15px}table.dkrpt_metabox input.dkrpt_text_money{width:90px;margin-right:15px}table.dkrpt_metabox input.dkrpt_text_medium{width:230px;margin-right:15px}table.dkrpt_metabox input.dkrpt_upload_file{width:65%}table.dkrpt_metabox input.ed_button{padding:2px 4px}table.dkrpt_metabox li{font-size:14px;margin:1px 0 5px;line-height:16px}table.dkrpt_metabox ul{padding-top:5px;margin:0}table.dkrpt_metabox select{font-size:14px;margin-top:3px}table.dkrpt_metabox input:focus,table.dkrpt_metabox textarea:focus{background:#fffff8}.dkrpt_metabox_title{margin:0 0 5px}.edit-tags-php .dkrpt_metabox_title,.profile-php .dkrpt_metabox_title,.user-edit-php .dkrpt_metabox_title{margin-left:-10px}.dkrpt-inline ul{padding:4px 0 0}.dkrpt-inline li{display:inline-block;padding-right:18px}table.dkrpt_metabox input[type=checkbox],table.dkrpt_metabox input[type=radio]{margin:0 5px 0 0;padding:0}table.dkrpt_metabox .mceLayout{border:1px solid #DFDFDF!important}table.dkrpt_metabox .mceIframeContainer{background:#FFF}table.dkrpt_metabox .meta_mce{width:97%}table.dkrpt_metabox .meta_mce textarea{width:100%}table.dkrpt_metabox .dkrpt_media_status{margin:10px 0 0}table.dkrpt_metabox .dkrpt_media_status .img_status{clear:none;float:left;display:inline-block;margin-right:10px;width:auto}table.dkrpt_metabox .dkrpt-type-file_list .dkrpt_media_status .img_status{clear:none;float:left;margin-right:10px;width:auto}table.dkrpt_metabox .dkrpt_media_status .embed_status,table.dkrpt_metabox .dkrpt_media_status .img_status{position:relative}table.dkrpt_metabox .dkrpt_media_status .embed_status,table.dkrpt_metabox .dkrpt_media_status .img_status img{border:1px solid #DFDFDF;background:#FAFAFA;max-width:350px;padding:5px;-moz-border-radius:2px;border-radius:2px}table.dkrpt_metabox .dkrpt_media_status .embed_status{float:left;max-width:800px}table.dkrpt_metabox .dkrpt_media_status .embed_status .dkrpt_remove_file_button,table.dkrpt_metabox .dkrpt_media_status .img_status .dkrpt_remove_file_button{text-indent:-9999px;background:url(images/ico-delete.png);width:16px;height:16px;position:absolute;top:-5px;left:-5px}table.dkrpt_metabox .attach_list li{clear:both;display:inline-block;margin-bottom:25px;width:100%}table.dkrpt_metabox .attach_list li img{float:left;margin-right:10px}#side-sortables table.dkrpt_metabox input[type=text],.inner-sidebar table.dkrpt_metabox input[type=text],table.dkrpt_metabox textarea{width:95%}#side-sortables table.dkrpt_metabox .dkrpt_media_status .embed_status img,#side-sortables table.dkrpt_metabox .dkrpt_media_status .img_status img,.inner-sidebar table.dkrpt_metabox .dkrpt_media_status .embed_status img,.inner-sidebar table.dkrpt_metabox .dkrpt_media_status .img_status img{width:90%}#side-sortables table.dkrpt_metabox label,.inner-sidebar table.dkrpt_metabox label{display:block;font-weight:700;padding:0 0 5px}#side-sortables table.dkrpt_metabox .dkrpt_list label,.inner-sidebar table.dkrpt_metabox .dkrpt_list label{display:inline;font-weight:400}#side-sortables table.dkrpt_metabox .dkrpt_metabox_description,.inner-sidebar table.dkrpt_metabox .dkrpt_metabox_description{display:block;padding:7px 0 0}#side-sortables table.dkrpt_metabox .dkrpt_metabox_title,.inner-sidebar table.dkrpt_metabox .dkrpt_metabox_title{font-size:1.2em;font-style:italic}.postbox table.dkrpt_metabox .dkrpt-spinner{float:left}table.dkrpt_metabox .wp-color-result,table.dkrpt_metabox .wp-picker-input-wrap{vertical-align:middle}table.dkrpt_metabox .wp-color-result,table.dkrpt_metabox .wp-picker-container{margin:0 10px 0 0}div.time-picker{position:absolute;height:191px;width:6em;overflow:auto;background:#fff;border:1px solid #aaa;z-index:99;margin:0}div.time-picker-12hours{width:8em}div.time-picker ul{list-style-type:none;margin:0;padding:0}div.time-picker li{cursor:pointer;height:10px;font:14px/1 Helvetica,Arial,sans-serif;padding:4px 3px}div.time-picker li.selected{background:#0063CE;color:#fff}.dkrpt_element .ui-helper-hidden{display:none}.dkrpt_element .ui-helper-hidden-accessible{position:absolute!important;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px)}.dkrpt_element .ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.dkrpt_element .ui-helper-clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden}* html .ui-helper-clearfix{height:1%}.dkrpt_element .ui-helper-clearfix{display:block}.dkrpt_element .ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.dkrpt_element .ui-state-disabled{cursor:default!important}.dkrpt_element .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.dkrpt_element .ui-widget-overlay{position:absolute;top:0;left:0;width:100%;height:100%}.dkrpt_element .ui-widget{font-family:Verdana,Arial,sans-serif;font-size:1.1em}.dkrpt_element .ui-widget .ui-widget{font-size:1em}.dkrpt_element .ui-widget button,.dkrpt_element .ui-widget input,.dkrpt_element .ui-widget select,.dkrpt_element .ui-widget textarea{font-family:Verdana,Arial,sans-serif;font-size:1em}.dkrpt_element .ui-widget-content{border:1px solid #aaa;background:url(images/ui-bg_flat_75_ffffff_40x100.png) 50% 50% repeat-x #fff;color:#222}.dkrpt_element .ui-widget-content a{color:#222}.dkrpt_element .ui-widget-header{border:1px solid #aaa;background:url(images/ui-bg_highlight-soft_75_cccccc_1x100.png) 50% 50% repeat-x #ccc;color:#222;font-weight:700}.dkrpt_element .ui-widget-header a{color:#222}.dkrpt_element .ui-state-default,.dkrpt_element .ui-widget-content .ui-state-default,.dkrpt_element .ui-widget-header .ui-state-default{border:1px solid #d3d3d3;background:url(images/ui-bg_glass_75_e6e6e6_1x400.png) 50% 50% repeat-x #e6e6e6;font-weight:400;color:#555}.dkrpt_element .ui-state-default a,.dkrpt_element .ui-state-default a:link,.dkrpt_element .ui-state-default a:visited{color:#555;text-decoration:none}.dkrpt_element .ui-state-focus,.dkrpt_element .ui-state-hover,.dkrpt_element .ui-widget-content .ui-state-focus,.dkrpt_element .ui-widget-content .ui-state-hover,.dkrpt_element .ui-widget-header .ui-state-focus,.dkrpt_element .ui-widget-header .ui-state-hover{border:1px solid #999;background:url(images/ui-bg_glass_75_dadada_1x400.png) 50% 50% repeat-x #dadada;font-weight:400;color:#212121}.dkrpt_element .ui-state-hover a,.dkrpt_element .ui-state-hover a:hover{color:#212121;text-decoration:none}.dkrpt_element .ui-state-active,.dkrpt_element .ui-widget-content .ui-state-active,.dkrpt_element .ui-widget-header .ui-state-active{border:1px solid #aaa;background:url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x #fff;font-weight:400;color:#212121}.dkrpt_element .ui-state-active a,.dkrpt_element .ui-state-active a:link,.dkrpt_element .ui-state-active a:visited{color:#212121;text-decoration:none}.dkrpt_element .ui-widget :active{outline:0}.dkrpt_element .ui-state-highlight,.dkrpt_element .ui-widget-content .ui-state-highlight,.dkrpt_element .ui-widget-header .ui-state-highlight{border:1px solid #fcefa1;background:url(images/ui-bg_glass_55_fbf9ee_1x400.png) 50% 50% repeat-x #fbf9ee;color:#363636}.dkrpt_element .ui-state-highlight a,.dkrpt_element .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#363636}.dkrpt_element .ui-state-error,.dkrpt_element .ui-widget-content .ui-state-error,.dkrpt_element .ui-widget-header .ui-state-error{border:1px solid #cd0a0a;background:url(images/ui-bg_glass_95_fef1ec_1x400.png) 50% 50% repeat-x #fef1ec;color:#cd0a0a}.dkrpt_element .ui-state-error a,.dkrpt_element .ui-state-error-text,.dkrpt_element .ui-widget-content .ui-state-error a,.dkrpt_element .ui-widget-content .ui-state-error-text,.dkrpt_element .ui-widget-header .ui-state-error a,.dkrpt_element .ui-widget-header .ui-state-error-text{color:#cd0a0a}.dkrpt_element .ui-priority-primary,.dkrpt_element .ui-widget-content .ui-priority-primary,.dkrpt_element .ui-widget-header .ui-priority-primary{font-weight:700}.dkrpt_element .ui-priority-secondary,.dkrpt_element .ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:400}.dkrpt_element .ui-state-disabled,.dkrpt_element .ui-widget-content .ui-state-disabled,.dkrpt_element .ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.dkrpt_element .ui-icon{width:16px;height:16px;background-image:url(images/ui-icons_222222_256x240.png)}.dkrpt_element .ui-widget-content .ui-icon,.dkrpt_element .ui-widget-header .ui-icon{background-image:url(images/ui-icons_222222_256x240.png)}.dkrpt_element .ui-state-default .ui-icon{background-image:url(images/ui-icons_888888_256x240.png)}.dkrpt_element .ui-state-active .ui-icon,.dkrpt_element .ui-state-focus .ui-icon,.dkrpt_element .ui-state-hover .ui-icon{background-image:url(images/ui-icons_454545_256x240.png)}.dkrpt_element .ui-state-highlight .ui-icon{background-image:url(images/ui-icons_2e83ff_256x240.png)}.dkrpt_element .ui-state-error .ui-icon,.dkrpt_element .ui-state-error-text .ui-icon{background-image:url(images/ui-icons_cd0a0a_256x240.png)}.dkrpt_element .ui-icon-carat-1-n{background-position:0 0}.dkrpt_element .ui-icon-carat-1-ne{background-position:-16px 0}.dkrpt_element .ui-icon-carat-1-e{background-position:-32px 0}.dkrpt_element .ui-icon-carat-1-se{background-position:-48px 0}.dkrpt_element .ui-icon-carat-1-s{background-position:-64px 0}.dkrpt_element .ui-icon-carat-1-sw{background-position:-80px 0}.dkrpt_element .ui-icon-carat-1-w{background-position:-96px 0}.dkrpt_element .ui-icon-carat-1-nw{background-position:-112px 0}.dkrpt_element .ui-icon-carat-2-n-s{background-position:-128px 0}.dkrpt_element .ui-icon-carat-2-e-w{background-position:-144px 0}.dkrpt_element .ui-icon-triangle-1-n{background-position:0 -16px}.dkrpt_element .ui-icon-triangle-1-ne{background-position:-16px -16px}.dkrpt_element .ui-icon-triangle-1-e{background-position:-32px -16px}.dkrpt_element .ui-icon-triangle-1-se{background-position:-48px -16px}.dkrpt_element .ui-icon-triangle-1-s{background-position:-64px -16px}.dkrpt_element .ui-icon-triangle-1-sw{background-position:-80px -16px}.dkrpt_element .ui-icon-triangle-1-w{background-position:-96px -16px}.dkrpt_element .ui-icon-triangle-1-nw{background-position:-112px -16px}.dkrpt_element .ui-icon-triangle-2-n-s{background-position:-128px -16px}.dkrpt_element .ui-icon-triangle-2-e-w{background-position:-144px -16px}.dkrpt_element .ui-icon-arrow-1-n{background-position:0 -32px}.dkrpt_element .ui-icon-arrow-1-ne{background-position:-16px -32px}.dkrpt_element .ui-icon-arrow-1-e{background-position:-32px -32px}.dkrpt_element .ui-icon-arrow-1-se{background-position:-48px -32px}.dkrpt_element .ui-icon-arrow-1-s{background-position:-64px -32px}.dkrpt_element .ui-icon-arrow-1-sw{background-position:-80px -32px}.dkrpt_element .ui-icon-arrow-1-w{background-position:-96px -32px}.dkrpt_element .ui-icon-arrow-1-nw{background-position:-112px -32px}.dkrpt_element .ui-icon-arrow-2-n-s{background-position:-128px -32px}.dkrpt_element .ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.dkrpt_element .ui-icon-arrow-2-e-w{background-position:-160px -32px}.dkrpt_element .ui-icon-arrow-2-se-nw{background-position:-176px -32px}.dkrpt_element .ui-icon-arrowstop-1-n{background-position:-192px -32px}.dkrpt_element .ui-icon-arrowstop-1-e{background-position:-208px -32px}.dkrpt_element .ui-icon-arrowstop-1-s{background-position:-224px -32px}.dkrpt_element .ui-icon-arrowstop-1-w{background-position:-240px -32px}.dkrpt_element .ui-icon-arrowthick-1-n{background-position:0 -48px}.dkrpt_element .ui-icon-arrowthick-1-ne{background-position:-16px -48px}.dkrpt_element .ui-icon-arrowthick-1-e{background-position:-32px -48px}.dkrpt_element .ui-icon-arrowthick-1-se{background-position:-48px -48px}.dkrpt_element .ui-icon-arrowthick-1-s{background-position:-64px -48px}.dkrpt_element .ui-icon-arrowthick-1-sw{background-position:-80px -48px}.dkrpt_element .ui-icon-arrowthick-1-w{background-position:-96px -48px}.dkrpt_element .ui-icon-arrowthick-1-nw{background-position:-112px -48px}.dkrpt_element .ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.dkrpt_element .ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.dkrpt_element .ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.dkrpt_element .ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.dkrpt_element .ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.dkrpt_element .ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.dkrpt_element .ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.dkrpt_element .ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.dkrpt_element .ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.dkrpt_element .ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.dkrpt_element .ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.dkrpt_element .ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.dkrpt_element .ui-icon-arrowreturn-1-w{background-position:-64px -64px}.dkrpt_element .ui-icon-arrowreturn-1-n{background-position:-80px -64px}.dkrpt_element .ui-icon-arrowreturn-1-e{background-position:-96px -64px}.dkrpt_element .ui-icon-arrowreturn-1-s{background-position:-112px -64px}.dkrpt_element .ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.dkrpt_element .ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.dkrpt_element .ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.dkrpt_element .ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.dkrpt_element .ui-icon-arrow-4{background-position:0 -80px}.dkrpt_element .ui-icon-arrow-4-diag{background-position:-16px -80px}.dkrpt_element .ui-icon-extlink{background-position:-32px -80px}.dkrpt_element .ui-icon-newwin{background-position:-48px -80px}.dkrpt_element .ui-icon-refresh{background-position:-64px -80px}.dkrpt_element .ui-icon-shuffle{background-position:-80px -80px}.dkrpt_element .ui-icon-transfer-e-w{background-position:-96px -80px}.dkrpt_element .ui-icon-transferthick-e-w{background-position:-112px -80px}.dkrpt_element .ui-icon-folder-collapsed{background-position:0 -96px}.dkrpt_element .ui-icon-folder-open{background-position:-16px -96px}.dkrpt_element .ui-icon-document{background-position:-32px -96px}.dkrpt_element .ui-icon-document-b{background-position:-48px -96px}.dkrpt_element .ui-icon-note{background-position:-64px -96px}.dkrpt_element .ui-icon-mail-closed{background-position:-80px -96px}.dkrpt_element .ui-icon-mail-open{background-position:-96px -96px}.dkrpt_element .ui-icon-suitcase{background-position:-112px -96px}.dkrpt_element .ui-icon-comment{background-position:-128px -96px}.dkrpt_element .ui-icon-person{background-position:-144px -96px}.dkrpt_element .ui-icon-print{background-position:-160px -96px}.dkrpt_element .ui-icon-trash{background-position:-176px -96px}.dkrpt_element .ui-icon-locked{background-position:-192px -96px}.dkrpt_element .ui-icon-unlocked{background-position:-208px -96px}.dkrpt_element .ui-icon-bookmark{background-position:-224px -96px}.dkrpt_element .ui-icon-tag{background-position:-240px -96px}.dkrpt_element .ui-icon-home{background-position:0 -112px}.dkrpt_element .ui-icon-flag{background-position:-16px -112px}.dkrpt_element .ui-icon-calendar{background-position:-32px -112px}.dkrpt_element .ui-icon-cart{background-position:-48px -112px}.dkrpt_element .ui-icon-pencil{background-position:-64px -112px}.dkrpt_element .ui-icon-clock{background-position:-80px -112px}.dkrpt_element .ui-icon-disk{background-position:-96px -112px}.dkrpt_element .ui-icon-calculator{background-position:-112px -112px}.dkrpt_element .ui-icon-zoomin{background-position:-128px -112px}.dkrpt_element .ui-icon-zoomout{background-position:-144px -112px}.dkrpt_element .ui-icon-search{background-position:-160px -112px}.dkrpt_element .ui-icon-wrench{background-position:-176px -112px}.dkrpt_element .ui-icon-gear{background-position:-192px -112px}.dkrpt_element .ui-icon-heart{background-position:-208px -112px}.dkrpt_element .ui-icon-star{background-position:-224px -112px}.dkrpt_element .ui-icon-link{background-position:-240px -112px}.dkrpt_element .ui-icon-cancel{background-position:0 -128px}.dkrpt_element .ui-icon-plus{background-position:-16px -128px}.dkrpt_element .ui-icon-plusthick{background-position:-32px -128px}.dkrpt_element .ui-icon-minus{background-position:-48px -128px}.dkrpt_element .ui-icon-minusthick{background-position:-64px -128px}.dkrpt_element .ui-icon-close{background-position:-80px -128px}.dkrpt_element .ui-icon-closethick{background-position:-96px -128px}.dkrpt_element .ui-icon-key{background-position:-112px -128px}.dkrpt_element .ui-icon-lightbulb{background-position:-128px -128px}.dkrpt_element .ui-icon-scissors{background-position:-144px -128px}.dkrpt_element .ui-icon-clipboard{background-position:-160px -128px}.dkrpt_element .ui-icon-copy{background-position:-176px -128px}.dkrpt_element .ui-icon-contact{background-position:-192px -128px}.dkrpt_element .ui-icon-image{background-position:-208px -128px}.dkrpt_element .ui-icon-video{background-position:-224px -128px}.dkrpt_element .ui-icon-script{background-position:-240px -128px}.dkrpt_element .ui-icon-alert{background-position:0 -144px}.dkrpt_element .ui-icon-info{background-position:-16px -144px}.dkrpt_element .ui-icon-notice{background-position:-32px -144px}.dkrpt_element .ui-icon-help{background-position:-48px -144px}.dkrpt_element .ui-icon-check{background-position:-64px -144px}.dkrpt_element .ui-icon-bullet{background-position:-80px -144px}.dkrpt_element .ui-icon-radio-off{background-position:-96px -144px}.dkrpt_element .ui-icon-radio-on{background-position:-112px -144px}.dkrpt_element .ui-icon-pin-w{background-position:-128px -144px}.dkrpt_element .ui-icon-pin-s{background-position:-144px -144px}.dkrpt_element .ui-icon-play{background-position:0 -160px}.dkrpt_element .ui-icon-pause{background-position:-16px -160px}.dkrpt_element .ui-icon-seek-next{background-position:-32px -160px}.dkrpt_element .ui-icon-seek-prev{background-position:-48px -160px}.dkrpt_element .ui-icon-seek-end{background-position:-64px -160px}.dkrpt_element .ui-icon-seek-first,.dkrpt_element .ui-icon-seek-start{background-position:-80px -160px}.dkrpt_element .ui-icon-stop{background-position:-96px -160px}.dkrpt_element .ui-icon-eject{background-position:-112px -160px}.dkrpt_element .ui-icon-volume-off{background-position:-128px -160px}.dkrpt_element .ui-icon-volume-on{background-position:-144px -160px}.dkrpt_element .ui-icon-power{background-position:0 -176px}.dkrpt_element .ui-icon-signal-diag{background-position:-16px -176px}.dkrpt_element .ui-icon-signal{background-position:-32px -176px}.dkrpt_element .ui-icon-battery-0{background-position:-48px -176px}.dkrpt_element .ui-icon-battery-1{background-position:-64px -176px}.dkrpt_element .ui-icon-battery-2{background-position:-80px -176px}.dkrpt_element .ui-icon-battery-3{background-position:-96px -176px}.dkrpt_element .ui-icon-circle-plus{background-position:0 -192px}.dkrpt_element .ui-icon-circle-minus{background-position:-16px -192px}.dkrpt_element .ui-icon-circle-close{background-position:-32px -192px}.dkrpt_element .ui-icon-circle-triangle-e{background-position:-48px -192px}.dkrpt_element .ui-icon-circle-triangle-s{background-position:-64px -192px}.dkrpt_element .ui-icon-circle-triangle-w{background-position:-80px -192px}.dkrpt_element .ui-icon-circle-triangle-n{background-position:-96px -192px}.dkrpt_element .ui-icon-circle-arrow-e{background-position:-112px -192px}.dkrpt_element .ui-icon-circle-arrow-s{background-position:-128px -192px}.dkrpt_element .ui-icon-circle-arrow-w{background-position:-144px -192px}.dkrpt_element .ui-icon-circle-arrow-n{background-position:-160px -192px}.dkrpt_element .ui-icon-circle-zoomin{background-position:-176px -192px}.dkrpt_element .ui-icon-circle-zoomout{background-position:-192px -192px}.dkrpt_element .ui-icon-circle-check{background-position:-208px -192px}.dkrpt_element .ui-icon-circlesmall-plus{background-position:0 -208px}.dkrpt_element .ui-icon-circlesmall-minus{background-position:-16px -208px}.dkrpt_element .ui-icon-circlesmall-close{background-position:-32px -208px}.dkrpt_element .ui-icon-squaresmall-plus{background-position:-48px -208px}.dkrpt_element .ui-icon-squaresmall-minus{background-position:-64px -208px}.dkrpt_element .ui-icon-squaresmall-close{background-position:-80px -208px}.dkrpt_element .ui-icon-grip-dotted-vertical{background-position:0 -224px}.dkrpt_element .ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.dkrpt_element .ui-icon-grip-solid-vertical{background-position:-32px -224px}.dkrpt_element .ui-icon-grip-solid-horizontal{background-position:-48px -224px}.dkrpt_element .ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.dkrpt_element .ui-icon-grip-diagonal-se{background-position:-80px -224px}.dkrpt_element .ui-corner-all,.dkrpt_element .ui-corner-left,.dkrpt_element .ui-corner-tl,.dkrpt_element .ui-corner-top{-moz-border-radius-topleft:4px;-webkit-border-top-left-radius:4px;-khtml-border-top-left-radius:4px;border-top-left-radius:4px}.dkrpt_element .ui-corner-all,.dkrpt_element .ui-corner-right,.dkrpt_element .ui-corner-top,.dkrpt_element .ui-corner-tr{-moz-border-radius-topright:4px;-webkit-border-top-right-radius:4px;-khtml-border-top-right-radius:4px;border-top-right-radius:4px}.dkrpt_element .ui-corner-all,.dkrpt_element .ui-corner-bl,.dkrpt_element .ui-corner-bottom,.dkrpt_element .ui-corner-left{-moz-border-radius-bottomleft:4px;-webkit-border-bottom-left-radius:4px;-khtml-border-bottom-left-radius:4px;border-bottom-left-radius:4px}.dkrpt_element .ui-corner-all,.dkrpt_element .ui-corner-bottom,.dkrpt_element .ui-corner-br,.dkrpt_element .ui-corner-right{-moz-border-radius-bottomright:4px;-webkit-border-bottom-right-radius:4px;-khtml-border-bottom-right-radius:4px;border-bottom-right-radius:4px}.dkrpt_element .ui-widget-overlay{background:url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x #aaa;opacity:.3;filter:Alpha(Opacity=30)}.dkrpt_element .ui-widget-shadow{margin:-8px 0 0 -8px;padding:8px;background:url(images/ui-bg_flat_0_aaaaaa_40x100.png) 50% 50% repeat-x #aaa;opacity:.3;filter:Alpha(Opacity=30);-moz-border-radius:8px;-khtml-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.dkrpt_element .ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.dkrpt_element .ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.dkrpt_element .ui-datepicker .ui-datepicker-next,.dkrpt_element .ui-datepicker .ui-datepicker-prev{position:absolute;top:2px;width:1.8em;height:1.8em}.dkrpt_element .ui-datepicker .ui-datepicker-next-hover,.dkrpt_element .ui-datepicker .ui-datepicker-prev-hover{top:1px}.dkrpt_element .ui-datepicker .ui-datepicker-prev{left:2px}.dkrpt_element .ui-datepicker .ui-datepicker-next{right:2px}.dkrpt_element .ui-datepicker .ui-datepicker-prev-hover{left:1px}.dkrpt_element .ui-datepicker .ui-datepicker-next-hover{right:1px}.dkrpt_element .ui-datepicker .ui-datepicker-next span,.dkrpt_element .ui-datepicker .ui-datepicker-prev span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.dkrpt_element .ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.dkrpt_element .ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.dkrpt_element .ui-datepicker select.ui-datepicker-month-year{width:100%}.dkrpt_element .ui-datepicker select.ui-datepicker-month,.dkrpt_element .ui-datepicker select.ui-datepicker-year{width:49%}.dkrpt_element .ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.dkrpt_element .ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:700;border:0}.dkrpt_element .ui-datepicker td{border:0;padding:1px}.dkrpt_element .ui-datepicker td a,.dkrpt_element .ui-datepicker td span{display:block;padding:.2em;text-align:right;text-decoration:none}.dkrpt_element .ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.dkrpt_element .ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em;width:auto;overflow:visible}.dkrpt_element .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.dkrpt_element .ui-datepicker.ui-datepicker-multi{width:auto}.dkrpt_element .ui-datepicker-multi .ui-datepicker-group{float:left}.dkrpt_element .ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.dkrpt_element .ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.dkrpt_element .ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.dkrpt_element .ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.dkrpt_element .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.dkrpt_element .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.dkrpt_element .ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.dkrpt_element .ui-datepicker-row-break{clear:both;width:100%;font-size:0}.dkrpt_element .ui-datepicker-rtl{direction:rtl}.dkrpt_element .ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.dkrpt_element .ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.dkrpt_element .ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.dkrpt_element .ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.dkrpt_element .ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.dkrpt_element .ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.dkrpt_element .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.dkrpt_element .ui-datepicker-rtl .ui-datepicker-group{float:right}.dkrpt_element .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.dkrpt_element .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.dkrpt_element .ui-datepicker-cover{display:none;display:block;position:absolute;z-index:-1;filter:mask();top:-4px;left:-4px;width:200px;height:200px}.post-new-php table.dkrpt_metabox .dkrpt-nested-table td{padding:7px}.dkrpt-repeat-table tr td{padding:7px 15px 10px 8px}.dkrpt-repeat>td{padding:0 15px 10px 0}.form-table td p.add-row{margin-left:11px!important}.form-table td{padding:10px 0}.dkrpt_id__dkpdk_short_text h5{font-size:18px;font-style:normal!important}.dkrpt_id__dkpdk_shortcode_code h5{font-size:16px;color:green;font-style:normal}.dkrpt_metabox_title{font-size:16px!important;margin-bottom:0;text-align:center;padding:18px 0 0;color:#999;font-weight:500;margin-top:-6px;text-transform:uppercase}.dkrpt_metabox td{width:100%;padding:10px 0 14px}.repeatable-group{padding:0 10px!important}.dkrpt-type-title td{padding-top:0}.dkrpt-type-checkbox td{padding-top:13px!important}#side-sortables table.dkrpt_metabox .dkrpt_metabox_title{font-style:normal}
readme.txt CHANGED
@@ -70,21 +70,29 @@ The free version of the Responsive Pricing Table plugin is **not limited** and d
70
 
71
 
72
  == Changelog ==
 
 
 
 
73
  = 3.0 =
74
  * WARNING: FOR THOSE WHO UPGRADE FROM AN EARLIER VERSION TO THIS VERSION, YOU WILL NEED TO RE-CREATE YOUR PRICING TABLES!
75
  * Cleaner plugin admin
76
  * Cleaner code
77
 
78
  = 2.3 =
 
79
  * Modified CSS - fits better on small-width websites (or websites with sidebars)
80
 
81
  = 2.2 =
 
82
  * Links behavior can be changed
83
 
84
  = 2.1 =
 
85
  * Font sizes can be changed in case some word doesn’t fit
86
 
87
  = 2.0 =
 
88
  * Use custom post type feature to create pricing tables
89
  * Plans can be set to Free
90
  * Plans can be set to Recommended
70
 
71
 
72
  == Changelog ==
73
+ = 3.1 =
74
+ * SAFE UPDATE: No data loss for those upgrading from version 3.0
75
+ * Preventing plugin conflicts
76
+
77
  = 3.0 =
78
  * WARNING: FOR THOSE WHO UPGRADE FROM AN EARLIER VERSION TO THIS VERSION, YOU WILL NEED TO RE-CREATE YOUR PRICING TABLES!
79
  * Cleaner plugin admin
80
  * Cleaner code
81
 
82
  = 2.3 =
83
+ * SAFE UPDATE: No data loss for those upgrading from version 2.2
84
  * Modified CSS - fits better on small-width websites (or websites with sidebars)
85
 
86
  = 2.2 =
87
+ * SAFE UPDATE: No data loss for those upgrading from version 2.1
88
  * Links behavior can be changed
89
 
90
  = 2.1 =
91
+ * SAFE UPDATE: No data loss for those upgrading from version 2.0
92
  * Font sizes can be changed in case some word doesn’t fit
93
 
94
  = 2.0 =
95
+ * WARNING: FOR THOSE WHO UPGRADE FROM AN EARLIER VERSION TO THIS VERSION, YOU WILL NEED TO RE-CREATE YOUR PRICING TABLES!
96
  * Use custom post type feature to create pricing tables
97
  * Plans can be set to Free
98
  * Plans can be set to Recommended
rpt.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: Responsive Pricing Table
4
  * Plugin URI: http://wpdarko.com/darko-tools/responsive-pricing-table/
5
  * Description: A responsive, easy and elegant way to present your offer to your visitors. Just create a new pricing table (custom type) and copy-paste the shortcode into your posts/pages. Find support and information on the <a href="http://wpdarko.com/darko-tools/responsive-pricing-table/">plugin's page</a>. This free version is NOT limited and does not contain any ad. Check out the <a href='http://wpdarko.com/darko-tools/responsive-pricing-table-pro/'>PRO version</a> for more great features.
6
- * Version: 3.0
7
  * Author: WP Darko
8
  * Author URI: http://wpdarko.com
9
  * License: GPL2
@@ -39,7 +39,7 @@ function create_rpt_pricing_table_type() {
39
  * @package Metaboxes
40
  */
41
 
42
- add_filter( 'cmb_meta_boxes', 'rpt_metaboxes' );
43
 
44
  /*
45
  * Define the metabox and field configurations.
@@ -51,12 +51,12 @@ function rpt_metaboxes( array $meta_boxes ) {
51
  //hiding fields from custom fields list
52
  $prefix = '_rpt_';
53
 
54
- //price table single metabox (built with CMB)
55
  $meta_boxes['rpt_tables_group'] = array(
56
  'id' => 'tables_group',
57
  'title' => 'Create / Remove your plans',
58
  'pages' => array( 'rpt_pricing_table', ),
59
- 'cmb_styles' => true,
60
  'fields' => array(
61
  array(
62
  'id' => $prefix . 'plan_group',
@@ -174,12 +174,12 @@ function rpt_metaboxes( array $meta_boxes ) {
174
  ),
175
  );
176
 
177
- //price table single metabox (built with CMB)
178
  $meta_boxes['rpt_settings_group'] = array(
179
  'id' => $prefix . 'settings_group',
180
  'title' => 'Pricing table settings',
181
  'pages' => array( 'rpt_pricing_table', ),
182
- 'cmb_styles' => true,
183
  'context' => 'side',
184
  'fields' => array(
185
  array(
@@ -287,19 +287,19 @@ function rpt_metaboxes( array $meta_boxes ) {
287
  return $meta_boxes;
288
  }
289
 
290
- add_action( 'init', 'rpt_initialize_cmb_meta_boxes', 9999 );
291
 
292
  //metabox class
293
- function rpt_initialize_cmb_meta_boxes() {
294
 
295
- if ( ! class_exists( 'cmb_Meta_Box' ) )
296
- require_once 'cmb/init.php';
297
  }
298
 
299
  //shortcode columns
300
- add_action( 'manage_rpt_pricing_table_posts_custom_column' , 'custom_columns', 10, 2 );
301
 
302
- function custom_columns( $column, $post_id ) {
303
  switch ( $column ) {
304
  case 'shortcode' :
305
  global $post;
3
  * Plugin Name: Responsive Pricing Table
4
  * Plugin URI: http://wpdarko.com/darko-tools/responsive-pricing-table/
5
  * Description: A responsive, easy and elegant way to present your offer to your visitors. Just create a new pricing table (custom type) and copy-paste the shortcode into your posts/pages. Find support and information on the <a href="http://wpdarko.com/darko-tools/responsive-pricing-table/">plugin's page</a>. This free version is NOT limited and does not contain any ad. Check out the <a href='http://wpdarko.com/darko-tools/responsive-pricing-table-pro/'>PRO version</a> for more great features.
6
+ * Version: 3.1
7
  * Author: WP Darko
8
  * Author URI: http://wpdarko.com
9
  * License: GPL2
39
  * @package Metaboxes
40
  */
41
 
42
+ add_filter( 'dkrpt_meta_boxes', 'rpt_metaboxes' );
43
 
44
  /*
45
  * Define the metabox and field configurations.
51
  //hiding fields from custom fields list
52
  $prefix = '_rpt_';
53
 
54
+ //price table single metabox (built with dkrpt)
55
  $meta_boxes['rpt_tables_group'] = array(
56
  'id' => 'tables_group',
57
  'title' => 'Create / Remove your plans',
58
  'pages' => array( 'rpt_pricing_table', ),
59
+ 'dkrpt_styles' => true,
60
  'fields' => array(
61
  array(
62
  'id' => $prefix . 'plan_group',
174
  ),
175
  );
176
 
177
+ //price table single metabox (built with dkrpt)
178
  $meta_boxes['rpt_settings_group'] = array(
179
  'id' => $prefix . 'settings_group',
180
  'title' => 'Pricing table settings',
181
  'pages' => array( 'rpt_pricing_table', ),
182
+ 'dkrpt_styles' => true,
183
  'context' => 'side',
184
  'fields' => array(
185
  array(
287
  return $meta_boxes;
288
  }
289
 
290
+ add_action( 'init', 'rpt_initialize_dkrpt_meta_boxes', 9999 );
291
 
292
  //metabox class
293
+ function rpt_initialize_dkrpt_meta_boxes() {
294
 
295
+ if ( ! class_exists( 'dkrpt_Meta_Box' ) )
296
+ require_once 'dkrpt/init.php';
297
  }
298
 
299
  //shortcode columns
300
+ add_action( 'manage_rpt_pricing_table_posts_custom_column' , 'rpt_custom_columns', 10, 2 );
301
 
302
+ function rpt_custom_columns( $column, $post_id ) {
303
  switch ( $column ) {
304
  case 'shortcode' :
305
  global $post;