plugin install
This commit is contained in:
@@ -0,0 +1,2 @@
|
||||
<?php
|
||||
//Nothing to see here
|
||||
@@ -0,0 +1,55 @@
|
||||
(function (gflocking, $) {
|
||||
var objectType;
|
||||
|
||||
$(document).ready(function () {
|
||||
objectType = gflockingVars.objectType;
|
||||
gflocking.init();
|
||||
|
||||
});
|
||||
|
||||
gflocking.init = function () {
|
||||
initHeartbeat();
|
||||
};
|
||||
|
||||
function initHeartbeat() {
|
||||
|
||||
var checkLocksKey = 'gform-check-locked-objects-' + objectType;
|
||||
|
||||
wp.heartbeat.interval( 30 );
|
||||
|
||||
$(document).on('heartbeat-tick.' + checkLocksKey,function (e, data) {
|
||||
var locked = data[checkLocksKey] || {};
|
||||
|
||||
$('.gf-locking').each(function (i, el) {
|
||||
var id , $row = $(el), lock_data, avatar;
|
||||
id = $row.data("id");
|
||||
if (locked.hasOwnProperty(id)) {
|
||||
if (!$row.hasClass('wp-locked')) {
|
||||
lock_data = locked[id];
|
||||
$row.find('.locked-text').text(lock_data.text);
|
||||
$row.find('.check-column input[type=checkbox]').prop('checked', false);
|
||||
|
||||
if (lock_data.avatar_src) {
|
||||
avatar = $('<img class="avatar avatar-18 photo" width="18" height="18" />').attr('src', lock_data.avatar_src.replace(/&/g, '&'));
|
||||
$row.find('.locked-avatar').empty().append(avatar);
|
||||
}
|
||||
$row.addClass('wp-locked');
|
||||
}
|
||||
} else if ($row.hasClass('wp-locked')) {
|
||||
$row.removeClass('wp-locked').delay(1000).find('.locked-info span').empty();
|
||||
}
|
||||
});
|
||||
}).on('heartbeat-send.' + checkLocksKey, function (e, data) {
|
||||
var check = [];
|
||||
|
||||
$('.gf-locking').each(function (i, row) {
|
||||
check.push($(row).data("id"));
|
||||
});
|
||||
|
||||
if (check.length)
|
||||
data[checkLocksKey] = check;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}(window.gflocking = window.gflocking || {}, jQuery));
|
||||
1
wp/wp-content/plugins/gravityforms/includes/locking/js/locking-list.min.js
vendored
Normal file
1
wp/wp-content/plugins/gravityforms/includes/locking/js/locking-list.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(a,o){var e;o(document).ready(function(){e=gflockingVars.objectType,a.init()}),a.init=function(){var n;n="gform-check-locked-objects-"+e,wp.heartbeat.interval(30),o(document).on("heartbeat-tick."+n,function(a,e){var c=e[n]||{};o(".gf-locking").each(function(a,e){var e=o(e),t=e.data("id");c.hasOwnProperty(t)?e.hasClass("wp-locked")||(t=c[t],e.find(".locked-text").text(t.text),e.find(".check-column input[type=checkbox]").prop("checked",!1),t.avatar_src&&(t=o('<img class="avatar avatar-18 photo" width="18" height="18" />').attr("src",t.avatar_src.replace(/&/g,"&")),e.find(".locked-avatar").empty().append(t)),e.addClass("wp-locked")):e.hasClass("wp-locked")&&e.removeClass("wp-locked").delay(1e3).find(".locked-info span").empty()})}).on("heartbeat-send."+n,function(a,e){var t=[];o(".gf-locking").each(function(a,e){t.push(o(e).data("id"))}),t.length&&(e[n]=t)})}}(window.gflocking=window.gflocking||{},jQuery);
|
||||
@@ -0,0 +1,42 @@
|
||||
(function (gflocking, $) {
|
||||
var objectID, objectType;
|
||||
|
||||
$(document).ready( function() {
|
||||
|
||||
objectID = gflockingVars.objectID;
|
||||
objectType = gflockingVars.objectType;
|
||||
gflocking.init();
|
||||
});
|
||||
|
||||
gflocking.init = function () {
|
||||
initHeartbeat();
|
||||
};
|
||||
|
||||
function initHeartbeat() {
|
||||
wp.heartbeat.interval( 30 );
|
||||
var checkLocksKey = 'gform-check-locked-objects-' + objectType;
|
||||
$( document ).on( 'heartbeat-tick.' + checkLocksKey, function( e, data ) {
|
||||
var locked = data[checkLocksKey] || {};
|
||||
|
||||
if ( locked.hasOwnProperty( objectID ) ) {
|
||||
var lock_data = locked[objectID];
|
||||
$('.locked-text').text( lock_data.text );
|
||||
if ( lock_data.avatar_src ) {
|
||||
var avatar = $('<img class="avatar avatar-18 photo" width="18" height="18" />').attr( 'src', lock_data.avatar_src.replace(/&/g, '&') );
|
||||
$('.locked-avatar').empty().append( avatar );
|
||||
}
|
||||
} else {
|
||||
$(".locked-info span").empty();
|
||||
}
|
||||
|
||||
}).on( 'heartbeat-send.' + checkLocksKey, function( e, data ) {
|
||||
var check = [];
|
||||
|
||||
check.push( objectID);
|
||||
|
||||
data[checkLocksKey] = check;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}(window.gflocking = window.gflocking || {}, jQuery));
|
||||
1
wp/wp-content/plugins/gravityforms/includes/locking/js/locking-view.min.js
vendored
Normal file
1
wp/wp-content/plugins/gravityforms/includes/locking/js/locking-view.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(t,e){var o,a;e(document).ready(function(){o=gflockingVars.objectID,a=gflockingVars.objectType,t.init()}),t.init=function(){var n;wp.heartbeat.interval(30),n="gform-check-locked-objects-"+a,e(document).on("heartbeat-tick."+n,function(t,a){var a=a[n]||{};a.hasOwnProperty(o)?(a=a[o],e(".locked-text").text(a.text),a.avatar_src&&(a=e('<img class="avatar avatar-18 photo" width="18" height="18" />').attr("src",a.avatar_src.replace(/&/g,"&")),e(".locked-avatar").empty().append(a))):e(".locked-info span").empty()}).on("heartbeat-send."+n,function(t,a){var e=[];e.push(o),a[n]=e})}}(window.gflocking=window.gflocking||{},jQuery);
|
||||
@@ -0,0 +1,192 @@
|
||||
(function (gflocking, $) {
|
||||
|
||||
$(document).ready(function () {
|
||||
gflocking.init();
|
||||
});
|
||||
|
||||
var objectID, objectType, strings, hasLock, lockUI, rejectionCountdown, rejectionRequestTimeout, lockRequestInProgress = false;
|
||||
|
||||
gflocking.init = function () {
|
||||
hasLock = gflockingVars.hasLock;
|
||||
objectID = gflockingVars.objectID;
|
||||
objectType = gflockingVars.objectType;
|
||||
lockUI = gflockingVars.lockUI;
|
||||
strings = gflockingVars.strings;
|
||||
|
||||
initHeartbeat();
|
||||
|
||||
initUI();
|
||||
|
||||
};
|
||||
|
||||
function lock_request_timedout() {
|
||||
$("#gform-lock-request-status").html( gform.utils.escapeHtml( strings.noResponse ) );
|
||||
$("#gform-lock-request-button").attr("disabled", false).text( strings.requestAgain );
|
||||
lockRequestInProgress = false;
|
||||
rejectionRequestTimeout = true;
|
||||
rejectionCountdown = false;
|
||||
wp.heartbeat.interval( 30 );
|
||||
}
|
||||
|
||||
function initUI() {
|
||||
$("#gform-lock-request-button").click(function () {
|
||||
var $this = $(this), key;
|
||||
$this.text("Request sent");
|
||||
$this.attr("disabled", true);
|
||||
$("#gform-lock-request-status").html("");
|
||||
rejectionRequestTimeout = false;
|
||||
lockRequestInProgress = true;
|
||||
wp.heartbeat.interval( 5 );
|
||||
rejectionCountdown = setTimeout(lock_request_timedout, 120000);
|
||||
$.getJSON(ajaxurl, { action: "gf_lock_request_" + objectType, object_id: objectID })
|
||||
.done(function (json) {
|
||||
$("#gform-lock-request-status").html( gform.utils.escapeScripts( json.html ) );
|
||||
})
|
||||
.fail(function (jqxhr, textStatus, error) {
|
||||
var err = textStatus + ', ' + error;
|
||||
$("#gform-lock-request-status").html( gform.utils.escapeScripts( strings.requestError + ": " + err ) );
|
||||
});
|
||||
});
|
||||
|
||||
$("#gform-reject-lock-request-button").click(function () {
|
||||
$.getJSON(ajaxurl, { action: "gf_reject_lock_request_" + objectType, object_id: objectID, object_type: objectType })
|
||||
.done(function (json) {
|
||||
$('#gform-lock-dialog').hide();
|
||||
})
|
||||
.fail(function (jqxhr, textStatus, error) {
|
||||
var err = textStatus + ', ' + error;
|
||||
$("#gform-lock-request-status").html( gform.utils.escapeScripts( strings.requestError + ": " + err ) );
|
||||
$('#gform-lock-dialog').hide();
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
function initHeartbeat() {
|
||||
|
||||
wp.heartbeat.interval( 30 );
|
||||
|
||||
$( "#wpwrap" ).append( lockUI );
|
||||
|
||||
// todo: refresh nonces
|
||||
|
||||
var refreshLockKey = 'gform-refresh-lock-' + objectType;
|
||||
|
||||
var requestLockKey = 'gform-request-lock-' + objectType;
|
||||
|
||||
$(document).on('heartbeat-send.' + refreshLockKey, function (e, data) {
|
||||
var send = {};
|
||||
|
||||
if (!objectID || !$('#gform-lock-dialog').length)
|
||||
return;
|
||||
|
||||
if (hasLock == 0)
|
||||
return;
|
||||
|
||||
send['objectID'] = objectID;
|
||||
|
||||
data[refreshLockKey] = send;
|
||||
});
|
||||
|
||||
$(document).on('heartbeat-send.' + requestLockKey, function (e, data) {
|
||||
var send = {};
|
||||
|
||||
if (!lockRequestInProgress)
|
||||
return data;
|
||||
|
||||
send['objectID'] = objectID;
|
||||
|
||||
data[requestLockKey] = send;
|
||||
});
|
||||
|
||||
// update the lock or show the dialog if somebody has taken over editing
|
||||
|
||||
$(document).on('heartbeat-tick.' + refreshLockKey, function (e, data) {
|
||||
var received, wrap, avatar, details;
|
||||
|
||||
if (data[refreshLockKey]) {
|
||||
received = data[refreshLockKey];
|
||||
|
||||
if (received.lock_error || received.lock_request) {
|
||||
details = received.lock_error ? received.lock_error : received.lock_request;
|
||||
wrap = $('#gform-lock-dialog');
|
||||
if (!wrap.length)
|
||||
return;
|
||||
if (!wrap.is(':visible')) {
|
||||
|
||||
if (details.avatar_src) {
|
||||
avatar = $('<img class="avatar avatar-64 photo" width="64" height="64" />').attr('src', details.avatar_src.replace(/&/g, '&'));
|
||||
wrap.find('div.gform-locked-avatar').empty().append(avatar);
|
||||
}
|
||||
|
||||
wrap.show().find('.currently-editing').text(details.text);
|
||||
if (received.lock_request) {
|
||||
$("#gform-reject-lock-request-button").show();
|
||||
} else {
|
||||
$("#gform-reject-lock-request-button").hide();
|
||||
}
|
||||
wrap.find('.wp-tab-first').focus();
|
||||
|
||||
} else {
|
||||
|
||||
// dialog is already visible so the context is different
|
||||
|
||||
if (received.lock_error) {
|
||||
if ($("#gform-reject-lock-request-button").is(":visible")) {
|
||||
if (received.lock_error.avatar_src) {
|
||||
avatar = $('<img class="avatar avatar-64 photo" width="64" height="64" />').attr('src', received.lock_error.avatar_src.replace(/&/g, '&'));
|
||||
wrap.find('div.gform-locked-avatar').empty().append(avatar);
|
||||
}
|
||||
$("#gform-reject-lock-request-button").hide();
|
||||
wrap.show().find('.currently-editing').text(received.lock_error.text);
|
||||
}
|
||||
} else if (received.lock_request) {
|
||||
$("#gform-lock-request-status").html( gform.utils.escapeScripts( received.lock_request.text ) );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$(document).on('heartbeat-tick.' + requestLockKey, function (e, data) {
|
||||
var received, wrap, status;
|
||||
|
||||
if (data[requestLockKey]) {
|
||||
received = data[requestLockKey];
|
||||
|
||||
if (received.status) {
|
||||
status = received.status;
|
||||
wrap = $('#gform-lock-dialog');
|
||||
if (!wrap.length)
|
||||
return;
|
||||
|
||||
if (status != 'pending') {
|
||||
clearTimeout(rejectionCountdown);
|
||||
rejectionCountdown = false;
|
||||
lockRequestInProgress = false
|
||||
}
|
||||
|
||||
switch (status) {
|
||||
case "granted" :
|
||||
$("#gform-lock-request-status").html(strings.gainedControl);
|
||||
$("#gform-take-over-button").show();
|
||||
$("#gform-lock-request-button").hide();
|
||||
hasLock = true;
|
||||
break;
|
||||
case "deleted" :
|
||||
$("#gform-lock-request-button").text(strings.requestAgain).attr("disabled", false);
|
||||
$("#gform-lock-request-status").html(strings.rejected);
|
||||
break;
|
||||
case "pending" :
|
||||
$("#gform-lock-request-status").html(strings.pending);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}(window.gflocking = window.gflocking || {}, jQuery));
|
||||
1
wp/wp-content/plugins/gravityforms/includes/locking/js/locking.min.js
vendored
Normal file
1
wp/wp-content/plugins/gravityforms/includes/locking/js/locking.min.js
vendored
Normal file
@@ -0,0 +1 @@
|
||||
!function(t,s){s(document).ready(function(){t.init()});var a,e,i,n,r,l,u=!1;function g(){s("#gform-lock-request-status").html(gform.utils.escapeHtml(i.noResponse)),s("#gform-lock-request-button").attr("disabled",!1).text(i.requestAgain),l=!!(u=!1),wp.heartbeat.interval(30)}t.init=function(){var c,o;n=gflockingVars.hasLock,a=gflockingVars.objectID,e=gflockingVars.objectType,r=gflockingVars.lockUI,i=gflockingVars.strings,wp.heartbeat.interval(30),s("#wpwrap").append(r),c="gform-refresh-lock-"+e,o="gform-request-lock-"+e,s(document).on("heartbeat-send."+c,function(t,e){var r={};a&&s("#gform-lock-dialog").length&&0!=n&&(r.objectID=a,e[c]=r)}),s(document).on("heartbeat-send."+o,function(t,e){var r={};if(!u)return e;r.objectID=a,e[o]=r}),s(document).on("heartbeat-tick."+c,function(t,e){var r,o,a;e[c]&&((e=e[c]).lock_error||e.lock_request)&&(a=e.lock_error||e.lock_request,(r=s("#gform-lock-dialog")).length)&&(r.is(":visible")?e.lock_error?s("#gform-reject-lock-request-button").is(":visible")&&(e.lock_error.avatar_src&&(o=s('<img class="avatar avatar-64 photo" width="64" height="64" />').attr("src",e.lock_error.avatar_src.replace(/&/g,"&")),r.find("div.gform-locked-avatar").empty().append(o)),s("#gform-reject-lock-request-button").hide(),r.show().find(".currently-editing").text(e.lock_error.text)):e.lock_request&&s("#gform-lock-request-status").html(gform.utils.escapeScripts(e.lock_request.text)):(a.avatar_src&&(o=s('<img class="avatar avatar-64 photo" width="64" height="64" />').attr("src",a.avatar_src.replace(/&/g,"&")),r.find("div.gform-locked-avatar").empty().append(o)),r.show().find(".currently-editing").text(a.text),e.lock_request?s("#gform-reject-lock-request-button").show():s("#gform-reject-lock-request-button").hide(),r.find(".wp-tab-first").focus()))}),s(document).on("heartbeat-tick."+o,function(t,e){if(e[o]&&(e=e[o]).status&&(e=e.status,s("#gform-lock-dialog").length))switch("pending"!=e&&(clearTimeout(l),u=l=!1),e){case"granted":s("#gform-lock-request-status").html(i.gainedControl),s("#gform-take-over-button").show(),s("#gform-lock-request-button").hide(),n=!0;break;case"deleted":s("#gform-lock-request-button").text(i.requestAgain).attr("disabled",!1),s("#gform-lock-request-status").html(i.rejected);break;case"pending":s("#gform-lock-request-status").html(i.pending)}}),s("#gform-lock-request-button").click(function(){var t=s(this);t.text("Request sent"),t.attr("disabled",!0),s("#gform-lock-request-status").html(""),u=!!1,wp.heartbeat.interval(5),l=setTimeout(g,12e4),s.getJSON(ajaxurl,{action:"gf_lock_request_"+e,object_id:a}).done(function(t){s("#gform-lock-request-status").html(gform.utils.escapeScripts(t.html))}).fail(function(t,e,r){e=e+", "+r;s("#gform-lock-request-status").html(gform.utils.escapeScripts(i.requestError+": "+e))})}),s("#gform-reject-lock-request-button").click(function(){s.getJSON(ajaxurl,{action:"gf_reject_lock_request_"+e,object_id:a,object_type:e}).done(function(t){s("#gform-lock-dialog").hide()}).fail(function(t,e,r){e=e+", "+r;s("#gform-lock-request-status").html(gform.utils.escapeScripts(i.requestError+": "+e)),s("#gform-lock-dialog").hide()})})}}(window.gflocking=window.gflocking||{},jQuery);
|
||||
Reference in New Issue
Block a user