@@ -139,4 +139,8 @@ $readonly = $active ? 1 : 0;
#acf_pro_licence {
width: 75%;
}
+
+ #acf-update-information td h4 {
+ display: none;
+ }
diff --git a/pro/api/api-pro.php b/pro/api/api-pro.php
index e1ad128..985b205 100644
--- a/pro/api/api-pro.php
+++ b/pro/api/api-pro.php
@@ -114,16 +114,12 @@ function acf_pro_get_remote_response( $action = '', $post = array() ) {
function acf_pro_is_update_available() {
// vars
- $info = acf_pro_get_remote_info();
+ $info = acf_get_remote_plugin_info();
$version = acf_get_setting('version');
// return false if no info
- if( empty($info['version']) ) {
-
- return false;
-
- }
+ if( empty($info['version']) ) return false;
// return false if the external version is '<=' the current version
diff --git a/pro/assets/css/acf-pro-input.css b/pro/assets/css/acf-pro-input.css
index ea2bb6f..e1f5de3 100644
--- a/pro/assets/css/acf-pro-input.css
+++ b/pro/assets/css/acf-pro-input.css
@@ -3,68 +3,89 @@
* Repeater
*
*---------------------------------------------------------------------------------------------*/
-.acf-repeater .acf-row.acf-clone {
- display: none !important;
+.acf-repeater {
+ /* table */
+ /* row handle (add/remove) */
+ /* add in spacer to th (force correct width) */
+ /* row */
+ /* sortable */
+ /* layouts */
+ /*
+ &.-row > table > tbody > tr:before,
+ &.-block > table > tbody > tr:before {
+ content: "";
+ display: table-row;
+ height: 2px;
+ background: #f00;
+ }
+*/
+ /* empty */
+ /* collapsed */
+ /* collapsed (block layout) */
+ /* collapsed (table layout) */
}
.acf-repeater > table {
margin: 0 0 8px;
background: #F9F9F9;
}
-/* handle */
-.acf-row-handle {
+.acf-repeater .acf-row-handle {
width: 16px;
text-align: center !important;
vertical-align: middle !important;
position: relative;
+ /* icons */
+ /* .order */
+ /* remove */
}
-th.acf-row-handle span {
- width: 16px;
- display: block;
- height: 1px;
-}
-/* handle icons */
-.acf-row-handle .acf-icon {
- display: block;
+.acf-repeater .acf-row-handle .acf-icon {
+ display: none;
position: absolute;
- -webkit-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;
- -moz-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;
- -o-transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;
- transition: opacity 0.25s 0s ease-in-out, visibility 0s linear 0.25s;
- visibility: hidden;
- opacity: 0;
top: 0;
margin: -8px 0 0 -2px;
+ /* minus icon */
}
-.acf-row-handle .acf-icon.-minus {
+.acf-repeater .acf-row-handle .acf-icon.-minus {
top: 50%;
+ /* ie fix */
}
-.acf-row:hover > .acf-row-handle .acf-icon {
- -webkit-transition-delay: 0s;
- -moz-transition-delay: 0s;
- -o-transition-delay: 0s;
- transition-delay: 0s;
- visibility: visible;
- opacity: 1;
+body.browser-msie .acf-repeater .acf-row-handle .acf-icon.-minus {
+ top: 25px;
}
-/* order */
-.acf-row-handle.order {
+.acf-repeater .acf-row-handle.order {
background: #f4f4f4;
cursor: move;
color: #aaa;
text-shadow: #fff 0 1px 0;
}
-.acf-row-handle.order:hover {
+.acf-repeater .acf-row-handle.order:hover {
color: #666;
}
-.acf-row-handle.order + td {
+.acf-repeater .acf-row-handle.order + td {
border-left-color: #DFDFDF;
}
-/* remove */
-.acf-row-handle.remove {
+.acf-repeater .acf-row-handle.remove {
background: #F9F9F9;
border-left-color: #DFDFDF;
}
-/* sortable */
+.acf-repeater th.acf-row-handle:before {
+ content: "";
+ width: 16px;
+ display: block;
+ height: 1px;
+}
+.acf-repeater .acf-row {
+ /* hide clone */
+ /* hover */
+}
+.acf-repeater .acf-row.acf-clone {
+ display: none !important;
+}
+.acf-repeater .acf-row:hover {
+ /* icons */
+}
+.acf-repeater .acf-row:hover > .acf-row-handle .acf-icon {
+ display: block;
+}
.acf-repeater > table > tbody > tr.ui-sortable-helper {
box-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
}
@@ -74,12 +95,10 @@ th.acf-row-handle span {
.acf-repeater > table > tbody > tr.ui-sortable-placeholder td {
background: #F9F9F9;
}
-/* layouts */
.acf-repeater.-row > table > tbody > tr > td,
.acf-repeater.-block > table > tbody > tr > td {
border-top-color: #E1E1E1;
}
-/* empty */
.acf-repeater.-empty > table {
border-bottom: 0 none;
}
@@ -87,21 +106,18 @@ th.acf-row-handle span {
.acf-repeater.-empty.-block > table {
display: none;
}
-/* collapsed */
.acf-repeater .acf-row.-collapsed > .acf-field {
display: none !important;
}
.acf-repeater .acf-row.-collapsed > td.acf-field.-collapsed-target {
display: table-cell !important;
}
-/* collapsed (block layout) */
.acf-repeater .acf-row.-collapsed > .acf-fields > * {
display: none !important;
}
.acf-repeater .acf-row.-collapsed > .acf-fields > .acf-field.-collapsed-target {
display: block !important;
}
-/* collapsed (table layout) */
.acf-repeater.-table .acf-row.-collapsed .acf-field.-collapsed-target {
border-left-color: #dfdfdf;
}
diff --git a/pro/assets/js/acf-pro-input.js b/pro/assets/js/acf-pro-input.js
index b14e965..c530b47 100644
--- a/pro/assets/js/acf-pro-input.js
+++ b/pro/assets/js/acf-pro-input.js
@@ -489,6 +489,10 @@
var $tr = e.$el.closest('.acf-row');
+ // reference
+ var $field = this.$field;
+
+
// open row
if( $tr.hasClass('-collapsed') ) {
@@ -506,7 +510,7 @@
// sync
- this.sync();
+ this.set('$field', $field).sync();
// refersh field (hide/show columns)
diff --git a/pro/assets/js/acf-pro-input.min.js b/pro/assets/js/acf-pro-input.min.js
index 760dbf7..b9e916d 100644
--- a/pro/assets/js/acf-pro-input.min.js
+++ b/pro/assets/js/acf-pro-input.min.js
@@ -1 +1 @@
-!function($){acf.pro=acf.model.extend({actions:{refresh:"refresh"},filters:{get_fields:"get_fields"},get_fields:function(t){return t=t.not(".acf-clone .acf-field")},refresh:function(t){var e=this;return t=t||!1,t&&t.is("tr")?void e.render_table(t.closest("table")):void $(".acf-table",t).each(function(){e.render_table($(this))})},render_table:function(t){var e=t.find("> thead th.acf-th"),a=1,i=100;e.exists()&&(e.each(function(){var e=$(this),a=e.attr("data-key"),i=t.find('td[data-key="'+a+'"]');i.removeClass("appear-empty"),e.removeClass("hidden-by-conditional-logic"),i.exists()&&(0==i.not(".hidden-by-conditional-logic").length?e.addClass("hidden-by-conditional-logic"):i.filter(".hidden-by-conditional-logic").addClass("appear-empty"))}),e.css("width","auto"),e=e.not(".hidden-by-conditional-logic"),a=e.length,e.filter("[data-width]").each(function(){var t=parseInt($(this).attr("data-width"));i-=t,$(this).css("width",t+"%")}),e=e.not("[data-width]"),e.each(function(){var t=i/e.length;$(this).css("width",t+"%")}),t.find(".acf-row .acf-field.-collapsed-target").removeAttr("colspan"),t.find(".acf-row.-collapsed .acf-field.-collapsed-target").attr("colspan",a))}})}(jQuery),function($){acf.fields.repeater=acf.field.extend({type:"repeater",$el:null,$input:null,$table:null,$tbody:null,$clone:null,actions:{ready:"initialize",append:"initialize",show:"show"},events:{'click a[data-event="add-row"]':"_add",'click a[data-event="remove-row"]':"_remove",'click a[data-event="collapse-row"]':"_collapse","mouseenter td.order":"_mouseenter"},focus:function(){this.$el=this.$field.find(".acf-repeater:first"),this.$input=this.$field.find("input:first"),this.$table=this.$field.find("table:first"),this.$tbody=this.$table.children("tbody"),this.$clone=this.$tbody.children("tr.acf-clone"),this.o=acf.get_data(this.$el),this.o.min=this.o.min||0,this.o.max=this.o.max||0},initialize:function(){this.$clone.find("input, textarea, select").attr("disabled","disabled"),this.render()},show:function(){this.$tbody.find(".acf-field:visible").each(function(){acf.do_action("show_field",$(this))})},count:function(){return this.$tbody.children().length-1},render:function(){this.$tbody.children().each(function(t){$(this).find("> td.order > span").html(t+1)}),0==this.count()?this.$el.addClass("-empty"):this.$el.removeClass("-empty"),this.o.max>0&&this.count()>=this.o.max?this.$el.find("> .acf-actions .button").addClass("disabled"):this.$el.find("> .acf-actions .button").removeClass("disabled")},add:function(t){if(t=t||this.$clone,this.o.max>0&&this.count()>=this.o.max)return alert(acf._e("repeater","max").replace("{max}",this.o.max)),!1;var e=this.$field;return $el=acf.duplicate(this.$clone),$el.removeClass("acf-clone"),$el.find("input, textarea, select").not(".acf-disabled").removeAttr("disabled"),t.before($el),this.doFocus(e),this.render(),acf.validation.remove_error(this.$field),this.sync(),$el},remove:function(t){var e=this;return this.count()<=this.o.min?(alert(acf._e("repeater","min").replace("{min}",this.o.min)),!1):(acf.do_action("remove",t),void acf.remove_tr(t,function(){e.$input.trigger("change"),e.render(),e.sync(),acf.do_action("refresh",e.$field)}))},sync:function(){var t="collapsed_"+this.$field.data("key"),e=[];this.$tbody.children().each(function(t){$(this).hasClass("-collapsed")&&e.push(t)}),acf.update_user_setting(t,e.join(","))},_mouseenter:function(t){if(!this.$tbody.hasClass("ui-sortable")&&1!=this.o.max){var e=this;this.$tbody.sortable({items:"> tr",handle:"> td.order",forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,start:function(t,e){acf.do_action("sortstart",e.item,e.placeholder)},stop:function(t,a){e.render(),acf.do_action("sortstop",a.item,a.placeholder)},update:function(t,a){e.$input.trigger("change")}})}},_add:function(t){$row=!1,t.$el.hasClass("acf-icon")&&($row=t.$el.closest(".acf-row")),this.add($row)},_remove:function(t){this.remove(t.$el.closest(".acf-row"))},_collapse:function(t){var e=t.$el.closest(".acf-row");e.hasClass("-collapsed")?(e.removeClass("-collapsed"),acf.do_action("show",e,"collapse")):(e.addClass("-collapsed"),acf.do_action("hide",e,"collapse")),this.sync(),acf.do_action("refresh",this.$field)}})}(jQuery),function($){acf.fields.flexible_content=acf.field.extend({type:"flexible_content",$el:null,$input:null,$values:null,$clones:null,actions:{ready:"initialize",append:"initialize",show:"show"},events:{'click [data-event="add-layout"]':"_open",'click [data-event="remove-layout"]':"_remove",'click [data-event="collapse-layout"]':"_collapse","click .acf-fc-layout-handle":"_collapse","click .acf-fc-popup a":"_add","blur .acf-fc-popup .focus":"_close","mouseenter .acf-fc-layout-handle":"_mouseenter"},focus:function(){this.$el=this.$field.find(".acf-flexible-content:first"),this.$input=this.$el.siblings("input"),this.$values=this.$el.children(".values"),this.$clones=this.$el.children(".clones"),this.o=acf.get_data(this.$el),this.o.min=this.o.min||0,this.o.max=this.o.max||0},count:function(){return this.$values.children(".layout").length},initialize:function(){this.$clones.find("input, textarea, select").attr("disabled","disabled"),this.render()},show:function(){this.$values.find(".acf-field:visible").each(function(){acf.do_action("show_field",$(this))})},render:function(){var t=this;this.$values.children(".layout").each(function(t){$(this).find("> .acf-fc-layout-handle .acf-fc-layout-order").html(t+1)}),0==this.count()?this.$el.addClass("empty"):this.$el.removeClass("empty"),this.o.max>0&&this.count()>=this.o.max?this.$el.find("> .acf-actions .button").addClass("disabled"):this.$el.find("> .acf-actions .button").removeClass("disabled")},render_layout:function(t){},validate_add:function(t){if(this.o.max>0&&this.count()>=this.o.max){var e=1==this.o.max?"layout":"layouts",a=acf._e("flexible_content","max");return a=a.replace("{max}",this.o.max),a=a.replace("{identifier}",acf._e("flexible_content",e)),alert(a),!1}var i=$(this.$el.children(".tmpl-popup").html()),l=i.find('[data-layout="'+t+'"]'),s=parseInt(l.attr("data-max")),n=this.$values.children('.layout[data-layout="'+t+'"]').length;if(s>0&&n>=s){var e=1==s?"layout":"layouts",a=acf._e("flexible_content","max_layout");return a=a.replace("{max}",n),a=a.replace("{label}",'"'+l.text()+'"'),a=a.replace("{identifier}",acf._e("flexible_content",e)),alert(a),!1}return!0},validate_remove:function(t){if(this.o.min>0&&this.count()<=this.o.min){var e=1==this.o.min?"layout":"layouts",a=acf._e("flexible_content","min")+", "+acf._e("flexible_content","remove");return a=a.replace("{min}",this.o.min),a=a.replace("{identifier}",acf._e("flexible_content",e)),a=a.replace("{layout}",acf._e("flexible_content","layout")),confirm(a)}var i=$(this.$el.children(".tmpl-popup").html()),l=i.find('[data-layout="'+t+'"]'),s=parseInt(l.attr("data-min")),n=this.$values.children('.layout[data-layout="'+t+'"]').length;if(s>0&&s>=n){var e=1==s?"layout":"layouts",a=acf._e("flexible_content","min_layout")+", "+acf._e("flexible_content","remove");return a=a.replace("{min}",n),a=a.replace("{label}",'"'+l.text()+'"'),a=a.replace("{identifier}",acf._e("flexible_content",e)),a=a.replace("{layout}",acf._e("flexible_content","layout")),confirm(a)}return!0},sync:function(){var t="collapsed_"+this.$field.data("key"),e=[];this.$values.children(".layout").each(function(t){$(this).hasClass("-collapsed")&&e.push(t)}),acf.update_user_setting(t,e.join(","))},add:function(t,e){if(e=e||!1,!this.validate_add(t))return!1;var a=this.$field,i=this.$clones.children('.layout[data-layout="'+t+'"]');$el=acf.duplicate(i),$el.find("input, textarea, select").not(".acf-disabled").removeAttr("disabled"),this.$el.children(".no-value-message").hide(),e?e.before($el):this.$values.append($el),this.doFocus(a),this.render(),acf.validation.remove_error(this.$field),this.sync()},_mouseenter:function(t){if(!this.$values.hasClass("ui-sortable")&&1!=this.o.max){var e=this;this.$values.sortable({items:"> .layout",handle:"> .acf-fc-layout-handle",forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,start:function(t,e){acf.do_action("sortstart",e.item,e.placeholder)},stop:function(t,a){e.render(),acf.do_action("sortstop",a.item,a.placeholder)},update:function(t,a){e.$input.trigger("change")}})}},_open:function(t){var e=this.$values,a=$(this.$el.children(".tmpl-popup").html());a.find("a").each(function(){var t=parseInt($(this).attr("data-min")),a=parseInt($(this).attr("data-max")),i=$(this).attr("data-layout"),l=$(this).text(),s=e.children('.layout[data-layout="'+i+'"]').length,n=$(this).children(".status");if(a>0){var c=a-s,o=acf._e("flexible_content","available"),r=1==c?"layout":"layouts",o=o.replace("{available}",c);o=o.replace("{max}",a),o=o.replace("{label}",'"'+l+'"'),o=o.replace("{identifier}",acf._e("flexible_content",r)),n.show().text(c).attr("title",o),0==c&&n.addClass("warning")}if(t>0){var d=t-s,o=acf._e("flexible_content","required"),r=1==d?"layout":"layouts",o=o.replace("{required}",d);o=o.replace("{min}",t),o=o.replace("{label}",'"'+l+'"'),o=o.replace("{identifier}",acf._e("flexible_content",r)),d>0&&n.addClass("warning").show().text(d).attr("title",o)}}),t.$el.after(a),t.$el.closest(".acf-fc-layout-controlls").exists()&&a.closest(".layout").addClass("-open"),a.css({"margin-top":0-a.height()-t.$el.outerHeight()-14,"margin-left":(t.$el.outerWidth()-a.width())/2});var i=a.offset().top;30>i&&(a.css({"margin-top":15}),a.find(".bit").addClass("top")),a.children(".focus").trigger("focus")},_close:function(t){var e=t.$el.parent(),a=e.closest(".layout");a.removeClass("-open"),setTimeout(function(){e.remove()},200)},_add:function(t){var e=t.$el.closest(".acf-fc-popup"),a=t.$el.attr("data-layout"),i=!1;e.closest(".acf-fc-layout-controlls").exists()&&(i=e.closest(".layout")),this.add(a,i)},_remove:function(t){var e=this,a=t.$el.closest(".layout");if(this.validate_remove(a.attr("data-layout"))){var i=0,l=this.$el.children(".no-value-message");0==a.siblings(".layout").length&&(i=l.outerHeight()),acf.do_action("remove",a),acf.remove_el(a,function(){e.render(),e.$input.trigger("change"),i>0&&l.show(),e.sync()},i)}},_collapse:function(t){var e=t.$el.closest(".layout");e.hasClass("-collapsed")?(e.removeClass("-collapsed"),acf.do_action("refresh",e)):e.addClass("-collapsed"),this.sync();var a=acf.serialize(e);$.extend(a,{action:"acf/fields/flexible_content/layout_title",field_key:this.$field.data("key"),post_id:acf.get("post_id"),i:e.index(),layout:e.data("layout")}),$.ajax({url:acf.get("ajaxurl"),dataType:"html",type:"post",data:a,success:function(t){t&&e.find("> .acf-fc-layout-handle").html(t)}})}})}(jQuery),function($){acf.fields.gallery=acf.field.extend({type:"gallery",$el:null,$main:null,$side:null,$attachments:null,actions:{ready:"initialize",append:"initialize",submit:"close_sidebar",show:"resize"},events:{"click .acf-gallery-attachment":"_select","click .acf-gallery-add":"_add","click .acf-gallery-remove":"_remove","click .acf-gallery-close":"_close","change .acf-gallery-sort":"_sort","click .acf-gallery-edit":"_edit","click .acf-gallery-update":"_update","change .acf-gallery-side input":"_update","change .acf-gallery-side textarea":"_update","change .acf-gallery-side select":"_update"},focus:function(){this.$el=this.$field.find(".acf-gallery:first"),this.$main=this.$el.children(".acf-gallery-main"),this.$side=this.$el.children(".acf-gallery-side"),this.$attachments=this.$main.children(".acf-gallery-attachments"),this.o=acf.get_data(this.$el),this.o.min=this.o.min||0,this.o.max=this.o.max||0},initialize:function(){var t=this,e=this.$field;this.$attachments.unbind("sortable").sortable({items:".acf-gallery-attachment",forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,start:function(t,e){e.placeholder.html(e.item.html()),e.placeholder.removeAttr("style"),acf.do_action("sortstart",e.item,e.placeholder)},stop:function(t,e){acf.do_action("sortstop",e.item,e.placeholder)}}),this.$el.unbind("resizable").resizable({handles:"s",minHeight:200,stop:function(t,e){acf.update_user_setting("gallery_height",e.size.height)}}),$(window).on("resize",function(){t.set("$field",e).resize()}),this.render(),this.resize()},resize:function(){for(var t=100,e=175,a=4,i=this.$el.width(),l=4;20>l;l++){var s=i/l;if(s>t&&e>s){a=l;break}}a=Math.min(a,8),this.$el.attr("data-columns",a)},render:function(){var t=this.$main.find(".acf-gallery-sort"),e=this.$main.find(".acf-gallery-add");this.o.max>0&&this.count()>=this.o.max?e.addClass("disabled"):e.removeClass("disabled"),this.count()?t.removeClass("disabled"):t.addClass("disabled")},open_sidebar:function(){this.$el.addClass("sidebar-open"),this.$main.find(".acf-gallery-sort").hide();var t=this.$el.width()/3;t=parseInt(t),t=Math.max(t,350),this.$side.children(".acf-gallery-side-inner").css({width:t-1}),this.$side.animate({width:t-1},250),this.$main.animate({right:t},250)},_close:function(t){this.close_sidebar()},close_sidebar:function(){this.$el.removeClass("sidebar-open");var t=this.$el.find(".acf-gallery-sort");this.get_attachment("active").removeClass("active"),this.$side.find("input, textarea, select").attr("disabled","disabled"),this.$main.animate({right:0},250),this.$side.animate({width:0},250,function(){t.show(),$(this).find(".acf-gallery-side-data").html("")})},count:function(){return this.get_attachments().length},get_attachments:function(){return this.$attachments.children(".acf-gallery-attachment")},get_attachment:function(t){return t=t||0,t="active"===t?".active":'[data-id="'+t+'"]',this.$attachments.children(".acf-gallery-attachment"+t)},render_attachment:function(t,e){e=this.prepare(e);var a=this.get_attachment(t),i=a.find(".margin"),l=a.find("img"),s=a.find(".filename"),n=a.find('input[type="hidden"]'),c=e.url;"image"!==e.type&&(c=acf._e("media","default_icon"),a.addClass("-icon")),l.attr({src:c,alt:e.alt,title:e.title}),s.text(e.filename);var o="";e.id&&(o=e.id),acf.val(n,o)},_add:function(t){if(this.o.max>0&&this.count()>=this.o.max)return void acf.validation.add_warning(this.$field,acf._e("gallery","max"));var e=this,a=this.$field,i=acf.media.popup({title:acf._e("gallery","select"),mode:"select",type:"",field:this.$field.data("key"),multiple:"add",library:this.o.library,mime_types:this.o.mime_types,select:function(t,i){e.set("$field",a).add_attachment(t,i)}});i.on("content:activate:browse",function(){e.render_collection(i),i.content.get().collection.on("reset add",function(){e.render_collection(i)})})},add_attachment:function(t,e){if(e=e||0,t=this.prepare(t),!(this.o.max>0&&this.count()>=this.o.max||this.get_attachment(t.id).exists())){var a=this.$el.find('input[type="hidden"]:first').attr("name"),i=['
','
','
','
','
',"
",'
',"
",'
","
"].join(""),l=$(i);if(this.$attachments.append(l),"prepend"===this.o.insert){var s=this.$attachments.children(":eq("+e+")");s.exists()&&s.before(l)}this.render_attachment(t.id,t),this.render()}},_select:function(t){var e=t.$el.data("id");this.select_attachment(e)},select_attachment:function(t){var e=this.get_attachment(t);e.hasClass("active")||(this.get_attachment("active").removeClass("active"),e.addClass("active"),this.fetch(t),this.open_sidebar())},prepare:function(t){if(t=t||{},t._valid)return t;var e={id:"",url:"",alt:"",title:"",filename:""};return t.id&&(e=t.attributes,e.url=acf.maybe_get(e,"sizes."+this.o.preview_size+".url",e.url)),e._valid=!0,e},fetch:function(t){var e=acf.prepare_for_ajax({action:"acf/fields/gallery/get_attachment",field_key:this.$field.data("key"),nonce:acf.get("nonce"),post_id:acf.get("post_id"),id:t});if(this.$el.data("xhr")&&this.$el.data("xhr").abort(),"string"==typeof t&&0===t.indexOf("_")){var a=this.get_attachment(t).find('input[type="hidden"]').val();a=$.parseJSON(a),e.attachment=a}var i=$.ajax({url:acf.get("ajaxurl"),dataType:"html",type:"post",cache:!1,data:e,context:this,success:this.fetch_success});this.$el.data("xhr",i)},fetch_success:function(t){if(t){var e=this.$side.find(".acf-gallery-side-data");e.html(t),e.find(".compat-field-acf-form-data").remove();var a=e.find("> .compat-attachment-fields > tbody > tr").detach();e.find("> table.form-table > tbody").append(a),e.find("> .compat-attachment-fields").remove(),acf.do_action("append",e)}},_sort:function(t){var e=t.$el.val();if(e){var a=acf.prepare_for_ajax({action:"acf/fields/gallery/get_sort_order",field_key:this.$field.data("key"),post_id:acf.get("post_id"),ids:[],sort:e});this.get_attachments().each(function(){var t=$(this).attr("data-id");t&&a.ids.push(t)});var i=$.ajax({url:acf.get("ajaxurl"),dataType:"json",type:"post",cache:!1,data:a,context:this,success:this._sort_success})}},_sort_success:function(t){if(acf.is_ajax_success(t)){t.data.reverse();for(i in t.data){var e=t.data[i],a=this.get_attachment(e);this.$attachments.prepend(a)}}},_update:function(){var t=this.$side.find(".acf-gallery-update"),e=this.$side.find(".acf-gallery-edit"),a=this.$side.find(".acf-gallery-side-data"),i=e.data("id"),l=acf.serialize_form(a);return t.attr("disabled")?!1:(t.attr("disabled","disabled"),t.before('
'),l.action="acf/fields/gallery/update_attachment",acf.prepare_for_ajax(l),void $.ajax({url:acf.get("ajaxurl"),data:l,type:"post",dataType:"json",complete:function(e){t.removeAttr("disabled"),t.prev(".acf-loading").remove()}}))},_remove:function(t){t.stopPropagation();var e=t.$el.data("id");this.remove_attachment(e)},remove_attachment:function(t){this.close_sidebar(),this.get_attachment(t).remove(),this.render()},_edit:function(t){var e=t.$el.data("id");this.edit_attachment(e)},edit_attachment:function(t){var e=this,a=this.$field,i=t,l=this.get_attachment(t),s=acf.media.popup({mode:"edit",title:acf._e("image","edit"),button:acf._e("image","update"),attachment:i,select:function(i){e.set("$field",a).render_attachment(t,i),e.fetch(t)}})},render_collection:function(t){var e=this;setTimeout(function(){var a=t.content.get().$el;if(collection=t.content.get().collection||null,collection){var i=-1;collection.each(function(t){i++;var l=a.find(".attachments > .attachment:eq("+i+")");e.get_attachment(t.id).exists()&&(t.off("selection:single"),l.addClass("acf-selected"))})}},10)}})}(jQuery);
+!function($){acf.pro=acf.model.extend({actions:{refresh:"refresh"},filters:{get_fields:"get_fields"},get_fields:function(t){return t=t.not(".acf-clone .acf-field")},refresh:function(t){var e=this;return t=t||!1,t&&t.is("tr")?void e.render_table(t.closest("table")):void $(".acf-table",t).each(function(){e.render_table($(this))})},render_table:function(t){var e=t.find("> thead th.acf-th"),a=1,i=100;e.exists()&&(e.each(function(){var e=$(this),a=e.attr("data-key"),i=t.find('td[data-key="'+a+'"]');i.removeClass("appear-empty"),e.removeClass("hidden-by-conditional-logic"),i.exists()&&(0==i.not(".hidden-by-conditional-logic").length?e.addClass("hidden-by-conditional-logic"):i.filter(".hidden-by-conditional-logic").addClass("appear-empty"))}),e.css("width","auto"),e=e.not(".hidden-by-conditional-logic"),a=e.length,e.filter("[data-width]").each(function(){var t=parseInt($(this).attr("data-width"));i-=t,$(this).css("width",t+"%")}),e=e.not("[data-width]"),e.each(function(){var t=i/e.length;$(this).css("width",t+"%")}),t.find(".acf-row .acf-field.-collapsed-target").removeAttr("colspan"),t.find(".acf-row.-collapsed .acf-field.-collapsed-target").attr("colspan",a))}})}(jQuery),function($){acf.fields.repeater=acf.field.extend({type:"repeater",$el:null,$input:null,$table:null,$tbody:null,$clone:null,actions:{ready:"initialize",append:"initialize",show:"show"},events:{'click a[data-event="add-row"]':"_add",'click a[data-event="remove-row"]':"_remove",'click a[data-event="collapse-row"]':"_collapse","mouseenter td.order":"_mouseenter"},focus:function(){this.$el=this.$field.find(".acf-repeater:first"),this.$input=this.$field.find("input:first"),this.$table=this.$field.find("table:first"),this.$tbody=this.$table.children("tbody"),this.$clone=this.$tbody.children("tr.acf-clone"),this.o=acf.get_data(this.$el),this.o.min=this.o.min||0,this.o.max=this.o.max||0},initialize:function(){this.$clone.find("input, textarea, select").attr("disabled","disabled"),this.render()},show:function(){this.$tbody.find(".acf-field:visible").each(function(){acf.do_action("show_field",$(this))})},count:function(){return this.$tbody.children().length-1},render:function(){this.$tbody.children().each(function(t){$(this).find("> td.order > span").html(t+1)}),0==this.count()?this.$el.addClass("-empty"):this.$el.removeClass("-empty"),this.o.max>0&&this.count()>=this.o.max?this.$el.find("> .acf-actions .button").addClass("disabled"):this.$el.find("> .acf-actions .button").removeClass("disabled")},add:function(t){if(t=t||this.$clone,this.o.max>0&&this.count()>=this.o.max)return alert(acf._e("repeater","max").replace("{max}",this.o.max)),!1;var e=this.$field;return $el=acf.duplicate(this.$clone),$el.removeClass("acf-clone"),$el.find("input, textarea, select").not(".acf-disabled").removeAttr("disabled"),t.before($el),this.doFocus(e),this.render(),acf.validation.remove_error(this.$field),this.sync(),$el},remove:function(t){var e=this;return this.count()<=this.o.min?(alert(acf._e("repeater","min").replace("{min}",this.o.min)),!1):(acf.do_action("remove",t),void acf.remove_tr(t,function(){e.$input.trigger("change"),e.render(),e.sync(),acf.do_action("refresh",e.$field)}))},sync:function(){var t="collapsed_"+this.$field.data("key"),e=[];this.$tbody.children().each(function(t){$(this).hasClass("-collapsed")&&e.push(t)}),acf.update_user_setting(t,e.join(","))},_mouseenter:function(t){if(!this.$tbody.hasClass("ui-sortable")&&1!=this.o.max){var e=this;this.$tbody.sortable({items:"> tr",handle:"> td.order",forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,start:function(t,e){acf.do_action("sortstart",e.item,e.placeholder)},stop:function(t,a){e.render(),acf.do_action("sortstop",a.item,a.placeholder)},update:function(t,a){e.$input.trigger("change")}})}},_add:function(t){$row=!1,t.$el.hasClass("acf-icon")&&($row=t.$el.closest(".acf-row")),this.add($row)},_remove:function(t){this.remove(t.$el.closest(".acf-row"))},_collapse:function(t){var e=t.$el.closest(".acf-row"),a=this.$field;e.hasClass("-collapsed")?(e.removeClass("-collapsed"),acf.do_action("show",e,"collapse")):(e.addClass("-collapsed"),acf.do_action("hide",e,"collapse")),this.set("$field",a).sync(),acf.do_action("refresh",this.$field)}})}(jQuery),function($){acf.fields.flexible_content=acf.field.extend({type:"flexible_content",$el:null,$input:null,$values:null,$clones:null,actions:{ready:"initialize",append:"initialize",show:"show"},events:{'click [data-event="add-layout"]':"_open",'click [data-event="remove-layout"]':"_remove",'click [data-event="collapse-layout"]':"_collapse","click .acf-fc-layout-handle":"_collapse","click .acf-fc-popup a":"_add","blur .acf-fc-popup .focus":"_close","mouseenter .acf-fc-layout-handle":"_mouseenter"},focus:function(){this.$el=this.$field.find(".acf-flexible-content:first"),this.$input=this.$el.siblings("input"),this.$values=this.$el.children(".values"),this.$clones=this.$el.children(".clones"),this.o=acf.get_data(this.$el),this.o.min=this.o.min||0,this.o.max=this.o.max||0},count:function(){return this.$values.children(".layout").length},initialize:function(){this.$clones.find("input, textarea, select").attr("disabled","disabled"),this.render()},show:function(){this.$values.find(".acf-field:visible").each(function(){acf.do_action("show_field",$(this))})},render:function(){var t=this;this.$values.children(".layout").each(function(t){$(this).find("> .acf-fc-layout-handle .acf-fc-layout-order").html(t+1)}),0==this.count()?this.$el.addClass("empty"):this.$el.removeClass("empty"),this.o.max>0&&this.count()>=this.o.max?this.$el.find("> .acf-actions .button").addClass("disabled"):this.$el.find("> .acf-actions .button").removeClass("disabled")},render_layout:function(t){},validate_add:function(t){if(this.o.max>0&&this.count()>=this.o.max){var e=1==this.o.max?"layout":"layouts",a=acf._e("flexible_content","max");return a=a.replace("{max}",this.o.max),a=a.replace("{identifier}",acf._e("flexible_content",e)),alert(a),!1}var i=$(this.$el.children(".tmpl-popup").html()),l=i.find('[data-layout="'+t+'"]'),s=parseInt(l.attr("data-max")),n=this.$values.children('.layout[data-layout="'+t+'"]').length;if(s>0&&n>=s){var e=1==s?"layout":"layouts",a=acf._e("flexible_content","max_layout");return a=a.replace("{max}",n),a=a.replace("{label}",'"'+l.text()+'"'),a=a.replace("{identifier}",acf._e("flexible_content",e)),alert(a),!1}return!0},validate_remove:function(t){if(this.o.min>0&&this.count()<=this.o.min){var e=1==this.o.min?"layout":"layouts",a=acf._e("flexible_content","min")+", "+acf._e("flexible_content","remove");return a=a.replace("{min}",this.o.min),a=a.replace("{identifier}",acf._e("flexible_content",e)),a=a.replace("{layout}",acf._e("flexible_content","layout")),confirm(a)}var i=$(this.$el.children(".tmpl-popup").html()),l=i.find('[data-layout="'+t+'"]'),s=parseInt(l.attr("data-min")),n=this.$values.children('.layout[data-layout="'+t+'"]').length;if(s>0&&s>=n){var e=1==s?"layout":"layouts",a=acf._e("flexible_content","min_layout")+", "+acf._e("flexible_content","remove");return a=a.replace("{min}",n),a=a.replace("{label}",'"'+l.text()+'"'),a=a.replace("{identifier}",acf._e("flexible_content",e)),a=a.replace("{layout}",acf._e("flexible_content","layout")),confirm(a)}return!0},sync:function(){var t="collapsed_"+this.$field.data("key"),e=[];this.$values.children(".layout").each(function(t){$(this).hasClass("-collapsed")&&e.push(t)}),acf.update_user_setting(t,e.join(","))},add:function(t,e){if(e=e||!1,!this.validate_add(t))return!1;var a=this.$field,i=this.$clones.children('.layout[data-layout="'+t+'"]');$el=acf.duplicate(i),$el.find("input, textarea, select").not(".acf-disabled").removeAttr("disabled"),this.$el.children(".no-value-message").hide(),e?e.before($el):this.$values.append($el),this.doFocus(a),this.render(),acf.validation.remove_error(this.$field),this.sync()},_mouseenter:function(t){if(!this.$values.hasClass("ui-sortable")&&1!=this.o.max){var e=this;this.$values.sortable({items:"> .layout",handle:"> .acf-fc-layout-handle",forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,start:function(t,e){acf.do_action("sortstart",e.item,e.placeholder)},stop:function(t,a){e.render(),acf.do_action("sortstop",a.item,a.placeholder)},update:function(t,a){e.$input.trigger("change")}})}},_open:function(t){var e=this.$values,a=$(this.$el.children(".tmpl-popup").html());a.find("a").each(function(){var t=parseInt($(this).attr("data-min")),a=parseInt($(this).attr("data-max")),i=$(this).attr("data-layout"),l=$(this).text(),s=e.children('.layout[data-layout="'+i+'"]').length,n=$(this).children(".status");if(a>0){var c=a-s,o=acf._e("flexible_content","available"),d=1==c?"layout":"layouts",o=o.replace("{available}",c);o=o.replace("{max}",a),o=o.replace("{label}",'"'+l+'"'),o=o.replace("{identifier}",acf._e("flexible_content",d)),n.show().text(c).attr("title",o),0==c&&n.addClass("warning")}if(t>0){var r=t-s,o=acf._e("flexible_content","required"),d=1==r?"layout":"layouts",o=o.replace("{required}",r);o=o.replace("{min}",t),o=o.replace("{label}",'"'+l+'"'),o=o.replace("{identifier}",acf._e("flexible_content",d)),r>0&&n.addClass("warning").show().text(r).attr("title",o)}}),t.$el.after(a),t.$el.closest(".acf-fc-layout-controlls").exists()&&a.closest(".layout").addClass("-open"),a.css({"margin-top":0-a.height()-t.$el.outerHeight()-14,"margin-left":(t.$el.outerWidth()-a.width())/2});var i=a.offset().top;30>i&&(a.css({"margin-top":15}),a.find(".bit").addClass("top")),a.children(".focus").trigger("focus")},_close:function(t){var e=t.$el.parent(),a=e.closest(".layout");a.removeClass("-open"),setTimeout(function(){e.remove()},200)},_add:function(t){var e=t.$el.closest(".acf-fc-popup"),a=t.$el.attr("data-layout"),i=!1;e.closest(".acf-fc-layout-controlls").exists()&&(i=e.closest(".layout")),this.add(a,i)},_remove:function(t){var e=this,a=t.$el.closest(".layout");if(this.validate_remove(a.attr("data-layout"))){var i=0,l=this.$el.children(".no-value-message");0==a.siblings(".layout").length&&(i=l.outerHeight()),acf.do_action("remove",a),acf.remove_el(a,function(){e.render(),e.$input.trigger("change"),i>0&&l.show(),e.sync()},i)}},_collapse:function(t){var e=t.$el.closest(".layout");e.hasClass("-collapsed")?(e.removeClass("-collapsed"),acf.do_action("refresh",e)):e.addClass("-collapsed"),this.sync();var a=acf.serialize(e);$.extend(a,{action:"acf/fields/flexible_content/layout_title",field_key:this.$field.data("key"),post_id:acf.get("post_id"),i:e.index(),layout:e.data("layout")}),$.ajax({url:acf.get("ajaxurl"),dataType:"html",type:"post",data:a,success:function(t){t&&e.find("> .acf-fc-layout-handle").html(t)}})}})}(jQuery),function($){acf.fields.gallery=acf.field.extend({type:"gallery",$el:null,$main:null,$side:null,$attachments:null,actions:{ready:"initialize",append:"initialize",submit:"close_sidebar",show:"resize"},events:{"click .acf-gallery-attachment":"_select","click .acf-gallery-add":"_add","click .acf-gallery-remove":"_remove","click .acf-gallery-close":"_close","change .acf-gallery-sort":"_sort","click .acf-gallery-edit":"_edit","click .acf-gallery-update":"_update","change .acf-gallery-side input":"_update","change .acf-gallery-side textarea":"_update","change .acf-gallery-side select":"_update"},focus:function(){this.$el=this.$field.find(".acf-gallery:first"),this.$main=this.$el.children(".acf-gallery-main"),this.$side=this.$el.children(".acf-gallery-side"),this.$attachments=this.$main.children(".acf-gallery-attachments"),this.o=acf.get_data(this.$el),this.o.min=this.o.min||0,this.o.max=this.o.max||0},initialize:function(){var t=this,e=this.$field;this.$attachments.unbind("sortable").sortable({items:".acf-gallery-attachment",forceHelperSize:!0,forcePlaceholderSize:!0,scroll:!0,start:function(t,e){e.placeholder.html(e.item.html()),e.placeholder.removeAttr("style"),acf.do_action("sortstart",e.item,e.placeholder)},stop:function(t,e){acf.do_action("sortstop",e.item,e.placeholder)}}),this.$el.unbind("resizable").resizable({handles:"s",minHeight:200,stop:function(t,e){acf.update_user_setting("gallery_height",e.size.height)}}),$(window).on("resize",function(){t.set("$field",e).resize()}),this.render(),this.resize()},resize:function(){for(var t=100,e=175,a=4,i=this.$el.width(),l=4;20>l;l++){var s=i/l;if(s>t&&e>s){a=l;break}}a=Math.min(a,8),this.$el.attr("data-columns",a)},render:function(){var t=this.$main.find(".acf-gallery-sort"),e=this.$main.find(".acf-gallery-add");this.o.max>0&&this.count()>=this.o.max?e.addClass("disabled"):e.removeClass("disabled"),this.count()?t.removeClass("disabled"):t.addClass("disabled")},open_sidebar:function(){this.$el.addClass("sidebar-open"),this.$main.find(".acf-gallery-sort").hide();var t=this.$el.width()/3;t=parseInt(t),t=Math.max(t,350),this.$side.children(".acf-gallery-side-inner").css({width:t-1}),this.$side.animate({width:t-1},250),this.$main.animate({right:t},250)},_close:function(t){this.close_sidebar()},close_sidebar:function(){this.$el.removeClass("sidebar-open");var t=this.$el.find(".acf-gallery-sort");this.get_attachment("active").removeClass("active"),this.$side.find("input, textarea, select").attr("disabled","disabled"),this.$main.animate({right:0},250),this.$side.animate({width:0},250,function(){t.show(),$(this).find(".acf-gallery-side-data").html("")})},count:function(){return this.get_attachments().length},get_attachments:function(){return this.$attachments.children(".acf-gallery-attachment")},get_attachment:function(t){return t=t||0,t="active"===t?".active":'[data-id="'+t+'"]',this.$attachments.children(".acf-gallery-attachment"+t)},render_attachment:function(t,e){e=this.prepare(e);var a=this.get_attachment(t),i=a.find(".margin"),l=a.find("img"),s=a.find(".filename"),n=a.find('input[type="hidden"]'),c=e.url;"image"!==e.type&&(c=acf._e("media","default_icon"),a.addClass("-icon")),l.attr({src:c,alt:e.alt,title:e.title}),s.text(e.filename);var o="";e.id&&(o=e.id),acf.val(n,o)},_add:function(t){if(this.o.max>0&&this.count()>=this.o.max)return void acf.validation.add_warning(this.$field,acf._e("gallery","max"));var e=this,a=this.$field,i=acf.media.popup({title:acf._e("gallery","select"),mode:"select",type:"",field:this.$field.data("key"),multiple:"add",library:this.o.library,mime_types:this.o.mime_types,select:function(t,i){e.set("$field",a).add_attachment(t,i)}});i.on("content:activate:browse",function(){e.render_collection(i),i.content.get().collection.on("reset add",function(){e.render_collection(i)})})},add_attachment:function(t,e){if(e=e||0,t=this.prepare(t),!(this.o.max>0&&this.count()>=this.o.max||this.get_attachment(t.id).exists())){var a=this.$el.find('input[type="hidden"]:first').attr("name"),i=['
','
','
','
','
',"
",'
',"
",'
","
"].join(""),l=$(i);if(this.$attachments.append(l),"prepend"===this.o.insert){var s=this.$attachments.children(":eq("+e+")");s.exists()&&s.before(l)}this.render_attachment(t.id,t),this.render()}},_select:function(t){var e=t.$el.data("id");this.select_attachment(e)},select_attachment:function(t){var e=this.get_attachment(t);e.hasClass("active")||(this.get_attachment("active").removeClass("active"),e.addClass("active"),this.fetch(t),this.open_sidebar())},prepare:function(t){if(t=t||{},t._valid)return t;var e={id:"",url:"",alt:"",title:"",filename:""};return t.id&&(e=t.attributes,e.url=acf.maybe_get(e,"sizes."+this.o.preview_size+".url",e.url)),e._valid=!0,e},fetch:function(t){var e=acf.prepare_for_ajax({action:"acf/fields/gallery/get_attachment",field_key:this.$field.data("key"),nonce:acf.get("nonce"),post_id:acf.get("post_id"),id:t});if(this.$el.data("xhr")&&this.$el.data("xhr").abort(),"string"==typeof t&&0===t.indexOf("_")){var a=this.get_attachment(t).find('input[type="hidden"]').val();a=$.parseJSON(a),e.attachment=a}var i=$.ajax({url:acf.get("ajaxurl"),dataType:"html",type:"post",cache:!1,data:e,context:this,success:this.fetch_success});this.$el.data("xhr",i)},fetch_success:function(t){if(t){var e=this.$side.find(".acf-gallery-side-data");e.html(t),e.find(".compat-field-acf-form-data").remove();var a=e.find("> .compat-attachment-fields > tbody > tr").detach();e.find("> table.form-table > tbody").append(a),e.find("> .compat-attachment-fields").remove(),acf.do_action("append",e)}},_sort:function(t){var e=t.$el.val();if(e){var a=acf.prepare_for_ajax({action:"acf/fields/gallery/get_sort_order",field_key:this.$field.data("key"),post_id:acf.get("post_id"),ids:[],sort:e});this.get_attachments().each(function(){var t=$(this).attr("data-id");t&&a.ids.push(t)});var i=$.ajax({url:acf.get("ajaxurl"),dataType:"json",type:"post",cache:!1,data:a,context:this,success:this._sort_success})}},_sort_success:function(t){if(acf.is_ajax_success(t)){t.data.reverse();for(i in t.data){var e=t.data[i],a=this.get_attachment(e);this.$attachments.prepend(a)}}},_update:function(){var t=this.$side.find(".acf-gallery-update"),e=this.$side.find(".acf-gallery-edit"),a=this.$side.find(".acf-gallery-side-data"),i=e.data("id"),l=acf.serialize_form(a);return t.attr("disabled")?!1:(t.attr("disabled","disabled"),t.before('
'),l.action="acf/fields/gallery/update_attachment",acf.prepare_for_ajax(l),void $.ajax({url:acf.get("ajaxurl"),data:l,type:"post",dataType:"json",complete:function(e){t.removeAttr("disabled"),t.prev(".acf-loading").remove()}}))},_remove:function(t){t.stopPropagation();var e=t.$el.data("id");this.remove_attachment(e)},remove_attachment:function(t){this.close_sidebar(),this.get_attachment(t).remove(),this.render()},_edit:function(t){var e=t.$el.data("id");this.edit_attachment(e)},edit_attachment:function(t){var e=this,a=this.$field,i=t,l=this.get_attachment(t),s=acf.media.popup({mode:"edit",title:acf._e("image","edit"),button:acf._e("image","update"),attachment:i,select:function(i){e.set("$field",a).render_attachment(t,i),e.fetch(t)}})},render_collection:function(t){var e=this;setTimeout(function(){var a=t.content.get().$el;if(collection=t.content.get().collection||null,collection){var i=-1;collection.each(function(t){i++;var l=a.find(".attachments > .attachment:eq("+i+")");e.get_attachment(t.id).exists()&&(t.off("selection:single"),l.addClass("acf-selected"))})}},10)}})}(jQuery);
diff --git a/pro/core/updates.php b/pro/core/updates.php
index fcd257e..a327273 100644
--- a/pro/core/updates.php
+++ b/pro/core/updates.php
@@ -22,29 +22,63 @@ class acf_pro_updates {
function __construct() {
- // append plugin information
- // Note: is_admin() was used previously, however this prevents jetpack manage & ManageWP from working
- add_filter('plugins_api', array($this, 'inject_info'), 20, 3);
-
-
- // append update information
- add_filter('pre_set_site_transient_update_plugins', array($this, 'inject_update'));
-
-
- // add custom message when PRO not activated but update available
- add_action('in_plugin_update_message-' . acf_get_setting('basename'), array($this, 'in_plugin_update_message'), 10, 2 );
+ // filters
+ add_filter('acf/get_remote_plugin_info', array($this, 'get_remote_plugin_info'), 10, 1);
+ add_filter('acf/updates/plugin_details', array($this, 'plugin_details'), 10, 3);
+ add_filter('acf/updates/plugin_update', array($this, 'plugin_update'), 10, 2);
+ add_filter('acf/updates/plugin_update_message', array($this, 'plugin_update_message'), 10, 3);
}
/*
- * inject_info
+ * get_remote_plugin_info
+ *
+ * This function will return an array of data from the plugin's readme.txt file (remote)
+ * The data returned will be stored in a transient and used to display plugin update info
+ *
+ * @type function
+ * @date 8/06/2016
+ * @since 5.3.8
+ *
+ * @param $info (array)
+ * @return $info
+ */
+
+ function get_remote_plugin_info( $info ) {
+
+ // vars
+ $info = acf_pro_get_remote_response('get-info');
+
+
+ // bail ealry if no info
+ if( empty($info) ) return 0;
+
+
+ // json decode
+ $info = json_decode($info, true);
+
+
+ // remove unused data to save DB transient space
+ unset( $info['description'] );
+ unset( $info['installation'] );
+ unset( $info['tags'] );
+
+
+ // return
+ return $info;
+
+ }
+
+
+ /*
+ * plugin_details
*
* This function will populate the plugin data visible in the 'View details' popup
*
* @type function
- * @date 17/01/2014
- * @since 5.0.0
+ * @date 8/06/2016
+ * @since 5.3.8
*
* @param $result (bool|object)
* @param $action (string)
@@ -52,85 +86,68 @@ class acf_pro_updates {
* @return $result
*/
- function inject_info( $result, $action = null, $args = null ) {
+ function plugin_details( $result = false, $action = null, $args = null ) {
// vars
$slug = acf_get_setting('slug');
+ $info = acf_pro_get_remote_response('get-info');
+
+
+ // bail ealry if no info
+ if( empty($info) ) return false;
+
+
+ // json decode
+ $info = json_decode($info);
+
+
+ // sections
+ $sections = array(
+ 'description' => '',
+ 'installation' => '',
+ 'changelog' => '',
+ 'upgrade_notice' => ''
+ );
+
+ foreach( $sections as $k => $v ) {
+
+ $sections[ $k ] = $info->$k;
+
+ unset( $info->$k );
+
+ }
+
+ $info->sections = $sections;
- // validate
- if( isset($args->slug) && $args->slug == $slug ) {
-
- $info = acf_pro_get_remote_info();
- $sections = acf_extract_vars($info, array(
- 'description',
- 'installation',
- 'changelog',
- 'upgrade_notice',
- ));
-
- $obj = new stdClass();
-
- foreach( $info as $k => $v ) {
-
- $obj->$k = $v;
-
- }
-
- $obj->sections = $sections;
-
- return $obj;
-
- }
-
-
// return
- return $result;
-
+ return $info;
+
}
/*
- * inject_update
+ * plugin_update
*
- * This function will connect to the ACF website and find release details
+ * This function will return an object of data saved in transient and used by WP do perform an update
*
* @type function
* @date 16/01/2014
* @since 5.0.0
*
+ * @param $update (object)
* @param $transient (object)
- * @return $transient
+ * @return $update
*/
- function inject_update( $transient ) {
+ function plugin_update( $update, $transient ) {
+
+ // bail early if no update available
+ if( !acf_pro_is_update_available() ) return false;
+
// vars
- $basename = acf_get_setting('basename');
-
-
- // bail early if no show_updates
- if( !acf_get_setting('show_updates') ) return $transient;
-
-
- // ensure is_plugin_active() exists (not on frontend)
- if( !function_exists('is_plugin_active') ) {
-
- include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
-
- }
-
-
- // bail early if not a plugin (included in theme)
- if( !is_plugin_active($basename) ) return $transient;
-
-
- // bail early if no update available
- if( !acf_pro_is_update_available() ) return $transient;
-
-
- // vars
- $info = acf_pro_get_remote_info();
+ $info = acf_get_remote_plugin_info();
$basename = acf_get_setting('basename');
$slug = acf_get_setting('slug');
@@ -156,47 +173,46 @@ class acf_pro_updates {
}
-
- // add to transient
- $transient->response[ $basename ] = $obj;
-
// return
- return $transient;
+ return $obj;
}
/*
- * in_plugin_update_message
+ * plugin_update_message
*
* Displays an update message for plugin list screens.
- * Shows only the version updates from the current until the newest version
*
* @type function
- * @date 5/06/13
+ * @date 14/06/2016
+ * @since 5.3.8
*
- * @param {array} $plugin_data
- * @param {object} $r
+ * @param $message (string)
+ * @param $plugin_data (array)
+ * @param $r (object)
+ * @return $message
*/
-
- function in_plugin_update_message( $plugin_data, $r ) {
+
+ function plugin_update_message( $message, $plugin_data, $r ) {
// validate
- if( acf_pro_is_license_active() ) {
-
- return;
-
- }
+ if( acf_pro_is_license_active() ) return $message;
// vars
- $m = __('To enable updates, please enter your license key on the
Updates page. If you don\'t have a licence key, please see
details & pricing .', 'acf');
+ $activate_message = sprintf(
+ __('To enable updates, please enter your license key on the
Updates page. If you don\'t have a licence key, please see
details & pricing .', 'acf'),
+ admin_url('edit.php?post_type=acf-field-group&page=acf-settings-updates'),
+ 'https://www.advancedcustomfields.com/pro'
+ );
- // show message
- echo '
' . sprintf( $m, admin_url('edit.php?post_type=acf-field-group&page=acf-settings-updates'), 'https://www.advancedcustomfields.com/pro');
-
+ // return
+ // override $message (if plugin is not active, there is no need to see upgrade_notice)
+ return '
' . $activate_message;
+
}
}
diff --git a/pro/fields/repeater.php b/pro/fields/repeater.php
index 683bb5c..2e5e702 100644
--- a/pro/fields/repeater.php
+++ b/pro/fields/repeater.php
@@ -241,7 +241,7 @@ class acf_field_repeater extends acf_field {
-
+
-
+
diff --git a/readme.txt b/readme.txt
index 7b9365c..3570f8a 100644
--- a/readme.txt
+++ b/readme.txt
@@ -106,6 +106,35 @@ http://support.advancedcustomfields.com/
== Changelog ==
+= 5.3.9.2 =
+* Time Picker field: Added compatibility with previous 3rd party field settings
+* Core: Fixed JS error setting l10n for Select2 with 3rd party libraries
+
+= 5.3.9.1 =
+* Time Picker field: Fixed bug causing value to appear as current time
+* API: Fixed bug causing `have_rows()` to fail when using an object as $post_id parameter
+
+= 5.3.9 =
+* Date Time Picker field: Added new field
+* Time Picker field: Added new field
+* Taxonomy field: Fixed bug preventing saved terms from being loaded during save/update actions
+* API: Added new function `the_row_index()` to output the current row number (1,2,3)
+* Core: Improved import tool to update existing field groups
+* Core: Added upgrade_notice message to plugins page for future announcements
+* Core: Fixed bug where updating value did not clear persistent cache
+* Core: Added Select2 JS strings to .pot for translation
+* Core: Added Date and Time picker JS strings to .pot for translation
+* Core: Improved compatibility with WPML during AJAX calls
+* Core: Fixed bug preventing access to network database upgrade page
+* Core: Minor fixes and improvements
+* Language: Updated Swedish translation - thanks to Jonathan de Jong
+* Language: Updated Russian translation - thanks to Andy Toniyevych
+* Language: Updated Portuguese translation - thanks to Pedro Mendonca
+* Language: Updated Polish translation - thanks to Michal Lepiarz
+* Language: Updated Italian translation - thanks to Davide Pantè
+* Language: Updated German translation - thanks to Ralf Koller
+* Language: Added Arabic translation - thanks to Adil el hallaoui
+
= 5.3.8.1 =
* Image field: Fixed JS bug causing errors when 'Uploaded to post' library setting is checked
* File field: Same as above