PluginProbe ʕ •ᴥ•ʔ
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager / trunk
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager vtrunk
3.1.9 3.1.8 3.1.7 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 2.9.8 3.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 trunk 1.3.7 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.2.7 2.2.8 2.2.9 2.3 2.3.1 2.3.2 2.3.3 2.3.4 2.3.5 2.3.6 2.3.7 2.3.8 2.3.9 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6 2.6.1 2.6.2 2.6.3 2.6.4 2.6.5 2.6.6 2.6.7 2.6.8 2.6.9 2.7 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8 2.8.1 2.8.2 2.8.3 2.8.4 2.8.5 2.8.6 2.8.7 2.8.8 2.8.9 2.9 2.9.1 2.9.2
folders / templates / admin / general-settings.php
folders / templates / admin Last commit date
settings-tabs 10 months ago admin-content.php 7 months ago email-signup.php 10 months ago folder-deactivate-form.php 10 months ago folder-popup.php 1 year ago general-settings.php 10 months ago help.php 2 months ago media-cleaning.php 1 year ago media-replace.php 9 months ago modals.php 9 months ago recommended-plugins.php 1 year ago update.php 10 months ago upgrade-table.php 1 year ago upgrade-to-pro.php 1 year ago
general-settings.php
958 lines
1 <?php
2 /**
3 * Admin folders settings
4 *
5 * @author : Premio <contact@premio.io>
6 * @license : GPL2
7 * */
8
9 if (! defined('ABSPATH')) {
10 exit;
11 }
12 ?>
13 <!-- do not change here, Free/Pro URL Change -->
14 <style>
15 <?php if (function_exists('is_rtl') && is_rtl()) { ?>
16 #setting-form {
17 float: right;
18 }
19 <?php } ?>
20 </style>
21 <script>
22 (function (factory) {
23 "use strict";
24 if (typeof define === 'function' && define.amd) {
25 define(['jquery'], factory);
26 }
27 else if(typeof module !== 'undefined' && module.exports) {
28 module.exports = factory(require('jquery'));
29 }
30 else {
31 factory(jQuery);
32 }
33 }(function ($, undefined) {
34 var selectedItem;
35 var importTitle = "<?php esc_html_e("Import folders from %plugin%", "folders"); ?>";
36 var importDesc = "<?php esc_html_e("Are you sure you'd like to import %1\$d folders from %plugin%?", "folders"); ?>";
37 var removeTitle = "<?php esc_html_e("Are you sure?", "folders"); ?>";
38 var removeDesc = "<?php esc_html_e("You're about to delete %plugin%'s folders. Are you sure you'd like to proceed?", "folders"); ?>";
39 $(document).ready(function(){
40 <?php if ($setting_page == "folder-settings") { ?>
41 $(".select2-box").select2();
42 $("#folders_post_type").select2();
43 $(".folder-post-select").select2();
44 $(".folder-post-select").on("change", function (e) {
45 $(this).val()
46 var thisID = $(this).attr("id");
47 var folderURL = $("#"+thisID+" option:selected").data("url");
48 var folderType = $(this).data("folder");
49 $("#link-for-"+folderType).attr("href", folderURL);
50 });
51 $("#folders_post_type").on("change", function (e) {
52 $(".folder-post-type").addClass("hide-option");
53 if($(this).find("option:selected[value='folders-pro']").length) {
54 e.preventDefault();
55 $(this).find("option:selected[value='folders-pro']").prop("selected", false);
56 $(this).trigger("change");
57 window.open(<?php echo json_encode($this->getFoldersUpgradeURL()); ?>, "_blank");
58 }
59 $(this).find("option:selected").each(function () {
60 $("#folders-for-" + $(this).attr("value")).removeClass("hide-option");
61 });
62 });
63 $(".folder-post-select").on("change", function () {
64 if ($(this).val() == "folders-pro") {
65 $(this).val("").trigger("change");
66 window.open(<?php echo json_encode($this->getFoldersUpgradeURL()); ?>, "_blank");
67 }
68 });
69 <?php } ?>
70 <?php
71 $focus = filter_input(INPUT_GET, 'focus');
72 if($focus == "icon-color") {
73 $hide_folder_color_pop_up = get_option("hide_folder_color_pop_up");
74 if(!($hide_folder_color_pop_up)) {
75 add_option("hide_folder_color_pop_up", "yes");
76 } else {
77 update_option("hide_folder_color_pop_up", "yes");
78 }
79 ?>
80 $(".default-icon-color").addClass("add-focus-animate");
81 <?php } ?>
82 $(document).on("click",".form-cancel-btn, .close-popup-button, .folder-popup-form",function(){
83 if($(this).hasClass("cancel-folders") || $(this).hasClass("remove-folders-box") || $(this).hasClass("close-remove-folders")) {
84 $("#remove_folders_when_removed").prop("checked", false);
85 setFoldersRemoveStatus("off");
86 }
87 if($(this).hasClass("delete-button")) {
88 setFoldersRemoveStatus("on");
89 }
90 $(".folder-popup-form").hide();
91 if($(this).closest(".folder-popup-form").attr("id") == "import-third-party-plugin-data") {
92 if($("#wordpress-popup").length) {
93 $("#wordpress-popup").show();
94 }
95 }
96 });
97 $("#save-settings").on("click", function(){
98 $("#setting-form #submit").trigger("click");
99 });
100
101 <?php if ($setting_page == "folder-settings" || $setting_page == "customize-folders") { ?>
102 const form = document.getElementById('setting-form');
103 let isFormDirty = false;
104 const formOldValues = $('#setting-form').serialize();
105
106 $(document).on("change", "#setting-form", function () {
107 isFormDirty = formOldValues !== $('#setting-form').serialize()
108 });
109
110 window.addEventListener('beforeunload', (event) => {
111 if (isFormDirty) {
112 const confirmationMessage = 'You have unsaved changes. Are you sure you want to leave this page?';
113 event.returnValue = confirmationMessage;
114 return confirmationMessage;
115 }
116 });
117
118 // Reset isFormDirty on form submit
119 form.addEventListener('submit', () => {
120 isFormDirty = false;
121 });
122 <?php } ?>
123
124 $(document).on("click",".import-folders-button", function(e){
125 $("#import-folders-popup").show();
126 });
127 $(document).on("click",".popup-form-content", function(e){
128 e.stopPropagation();
129 e.stopImmediatePropagation();
130 });
131 $(document).on("click",".folder-select",function(){
132 if($(this).is(":checked")) {
133 $(this).closest("tr").find(".hide-show-option").removeClass("hide-option");
134 } else {
135 $(this).closest("tr").find(".hide-show-option").addClass("hide-option");
136 }
137 });
138 $(document).on("click", ".accordion-header", function(){
139 if($(this).hasClass("active")) {
140 $(this).closest(".accordion").find(".accordion-content").slideUp();
141 $(this).removeClass("active");
142 } else {
143 $(this).closest(".accordion").find(".accordion-content").slideDown();
144 $(this).addClass("active");
145 }
146 });
147 $(document).on("change", ".hide-show-option", function(){
148 if($(this).val() == "folders-pro") {
149 $(this).find("option").prop("selected", false);
150 $(this).find("option:first").prop("selected", true);
151 window.open(<?php echo json_encode($this->getFoldersUpgradeURL()); ?>, "_blank");
152 }
153 });
154 $(document).on("change", "#folder_font", function(){
155 if($(this).val() == "folders-pro") {
156 $(this).val("").trigger("change");
157 window.open(<?php echo json_encode($this->getFoldersUpgradeURL()); ?>, "_blank");
158 }
159 });
160 $(document).on("click",".view-shortcodes", function(e){
161 e.preventDefault();
162 $("#keyboard-shortcut").show();
163 });
164 $(document).on("change", "#folder_size", function(){
165 if($(this).val() == "folders-pro" || $(this).val() == "folders-pro-item" || $(this).val() == "folders-item-pro") {
166 $(this).val("16").trigger("change");
167 window.open(<?php echo json_encode($this->getFoldersUpgradeURL()); ?>, "_blank");
168 }
169 });
170 $(".accordion-header:first").trigger("click");
171 $("#folder_font, #folder_size").change(function(){
172 setCSSProperties();
173 });
174 $(document).on("click", "input[name='customize_folders[show_media_details]']", function(){
175 if($("#show_media_details").is(":checked")) {
176 $(".media-setting-box").addClass("active");
177 } else {
178 $(".media-setting-box").removeClass("active");
179 }
180 });
181 $(document).on("change", "input[name='customize_folders[default_icon_color]']:checked", function(){
182 setCSSProperties();
183 });
184 setCSSProperties();
185 $('.color-field').spectrum({
186 chooseText: "Submit",
187 preferredFormat: "hex",
188 showInput: true,
189 cancelText: "Cancel",
190 move: function (color) {
191 $(this).val(color.toHexString());
192 setCSSProperties();
193 },
194 change: function (color) {
195 $(this).val(color.toHexString());
196 setCSSProperties();
197 }
198 });
199 $(document).on("click", "input[name='customize_folders[remove_folders_when_removed]']", function(e){
200 if($(this).is(":checked")) {
201 $("#remove-folders-data-box").show();
202 //setFoldersRemoveStatus("on");
203 } else {
204 setFoldersRemoveStatus("off");
205 }
206 })
207 $(document).on("click", ".import-folder-data", function(e){
208 selectedItem = $(this).closest("tr").data("plugin");
209 if(!$(this).hasClass("in-popup")) {
210 var pluginName = $(this).closest("tr").find(".plugin-name").html();
211 var pluginFolders = parseInt($(this).closest("tr").data("folders"));
212 var popupTitle = importTitle.replace("%plugin%", pluginName);
213 $(".import-folder-title").html(popupTitle);
214 var popupDesc = importDesc.replace("%plugin%", "<b>" + pluginName + "</b>");
215 popupDesc = popupDesc.replace("%d", "<b>" + pluginFolders + "</b>");
216 $(".import-folder-note").html(popupDesc);
217 $("#import-plugin-data").show();
218 } else {
219 importPluginData();
220 }
221 });
222 $(document).on("click", ".remove-folders-data", function(e){
223 e.preventDefault();
224 $("#remove-confirmation-box").show();
225 $("#delete-input").focus();
226 });
227 $(document).on("keyup", "#delete-input", function(){
228 if($.trim($(this).val()) != "") {
229 var inputVal = $.trim($(this).val()).toLowerCase();
230 if (inputVal == "delete") {
231 $("#remove-folders-data-button").prop("disabled", false);
232 $(".delete-confirmation-message").html("<?php esc_html_e('This will delete all existing folders & settings', 'folders'); ?>");
233 } else {
234 $("#remove-folders-data-button").prop("disabled", true);
235 if (inputVal != "") {
236 var textLen = inputVal.length;
237 var curStr = ("delete").substring(0, textLen);
238 if (curStr != inputVal) {
239 $(".delete-confirmation-message").html("<?php esc_html_e('Please type DELETE and click on the "Delete" button to confirm', 'folders'); ?>");
240 } else {
241 $(".delete-confirmation-message").html("");
242 }
243 } else {
244 $(".delete-confirmation-message").html("");
245 }
246 }
247 } else {
248 $(".delete-confirmation-message").html("");
249 }
250 });
251 $(document).on("submit", "#remove_folders_data", function(e){
252 e.preventDefault();
253 if($.trim($("#delete-input").val()).toLowerCase() == "delete") {
254 $.ajax({
255 url: "<?php echo esc_url(admin_url("admin-ajax.php")) ?>",
256 data: {
257 action: 'wcp_remove_all_folders_data',
258 nonce: $("#remove-folder-nonce").val()
259 },
260 type: 'post',
261 success: function(res) {
262 <?php
263 $redirectURL = $this->getFolderSettingsURL();
264 if (!empty($redirectURL)) {
265 $page = filter_input(INPUT_POST, 'tab_page');
266 $type = filter_input(INPUT_GET, 'setting_page');
267 $type = empty($type) ? "" : "&setting_page=".esc_attr($type);
268 $redirectURL = $redirectURL.$type;
269 if (!empty($page)) {
270 $redirectURL .= "&setting_page=".esc_attr($page);
271 }
272 }
273
274 $redirectURL = $redirectURL."&note=2";
275 ?>
276 window.location = "<?php echo esc_url($redirectURL) ?>";
277 }
278 });
279 }
280 return false;
281 });
282 $(document).on("change", "#delete-input", function(){
283 if($.trim($(this).val()).toLowerCase() == "delete") {
284 $("#remove-folders-data-button").prop("disabled", false);
285 } else {
286 $("#remove-folders-data-button").prop("disabled", true);
287 }
288 });
289 $(document).on("click", "#import-folder-button", function(e){
290 importPluginData();
291 });
292 $(document).on("click", "#folders_by_user_roles", function(e){
293 if($(this).is(":checked")) {
294 $(".folder-user-settings").addClass("active");
295 } else {
296 $(".folder-user-settings").removeClass("active");
297 }
298 });
299 $(document).on("click", ".remove-folder-data", function(e){
300 selectedItem = $(this).closest("tr").data("plugin");
301 var pluginName = $(this).closest("tr").find(".plugin-name").html();
302 var pluginFolders = parseInt($(this).closest("tr").data("folders"));
303 var popupTitle = removeTitle.replace("%plugin%", pluginName);
304 $(".remove-folder-title").html(popupTitle);
305 var popupDesc = removeDesc.replace("%plugin%", "<b>" + pluginName + "</b>");
306 popupDesc = popupDesc.replace("%d", "<b>" + pluginFolders + "</b>");
307 $(".remove-folder-note").html(popupDesc);
308 $("#remove-plugin-data").show();
309 });
310 $(document).on("click", "#remove-folder-button", function(){
311 removePluginData();
312 });
313 setTooltipPosition();
314
315 $(document).on("click", ".checkbox-color", function(){
316 setCSSProperties();
317 });
318
319 $(document).on("change", ".checkbox-color", function(){
320 setCSSProperties();
321 });
322 $(document).on("click", "#use_folder_undo", function(){
323 if($(this).is(":checked")) {
324 $(".timeout-settings").addClass("active");
325 } else {
326 $(".timeout-settings").removeClass("active");
327 }
328 });
329 $('.enable-replace-media').hover(
330 function(){
331 //$(this).addClass('hover')
332 },
333 function(){
334 $(this).removeClass('show')
335 }
336 )
337 $('.enable-replace-media .html-tooltip').hover(
338 function(){
339 $(this).closest(".enable-replace-media").addClass('show')
340 },
341 function(){
342 //$(this).removeClass('show')
343 }
344 )
345 });
346
347 function setFoldersRemoveStatus(status) {
348 $.ajax({
349 url: "<?php echo esc_url(admin_url("admin-ajax.php")) ?>",
350 data: {
351 'action': 'wcp_update_folders_uninstall_status',
352 'status': status,
353 'nonce': "<?php echo esc_attr(wp_create_nonce("wcp_folders_uninstall_status")) ?>"
354 },
355 type: 'post',
356 success: function (res) {
357
358 }
359 });
360 }
361
362 var totalAttachments = 0;
363
364 function importPluginData() {
365 $("#import-folder-button").addClass("button");
366 $("#import-folder-button").prop("disabled", true);
367 $(".import-folder-data").prop("disabled", true);
368 $(".other-plugins-"+selectedItem+" .import-folder-data .spinner").addClass("active");
369 totalAttachments = 0;
370 importPluginDataByPage(1);
371 }
372
373 function importPluginDataByPage(pageNo) {
374 $.ajax({
375 url: "<?php echo esc_url(admin_url("admin-ajax.php")) ?>",
376 data: {
377 'plugin': $(".other-plugins-"+selectedItem).data("plugin"),
378 'nonce': $(".other-plugins-"+selectedItem).data("nonce"),
379 'action': 'wcp_import_plugin_folders_data',
380 'paged' : pageNo,
381 'attached': totalAttachments
382 },
383 type: 'post',
384 success: function(res){
385 var response = $.parseJSON(res);
386 if(response.status == -1) {
387 totalAttachments = 0;
388 $(".import-folder-data").prop("disabled", false);
389 $(".other-plugins-"+selectedItem+" .import-folder-data .spinner").removeClass("active");
390 $("#import-third-party-plugin-data").hide();
391 $("#no-more-folder-credit").show();
392 $("#import-folder-button").removeClass("button");
393 $("#import-folder-button").prop("disabled", false);
394 } else if(response.status) {
395 $(".other-plugins-"+response.data.plugin+" .import-message").html(response.message).addClass("success-import");
396
397 if(parseInt(response.data.pages) > parseInt(response.data.current)) {
398 totalAttachments = response.data.attachments;
399 importPluginDataByPage(parseInt(response.data.current)+1);
400 } else {
401 totalAttachments = 0;
402 $(".other-plugins-"+response.data.plugin+" .import-folder-data").remove();
403 $(".import-folder-data").prop("disabled", false);
404 }
405 } else {
406 $(".other-plugins-"+response.data.plugin+" .import-message").html(response.message).addClass("error-import");
407 $(".other-plugins-"+response.data.plugin+" .import-folder-data").remove();
408 $(".import-folder-data").prop("disabled", false);
409 totalAttachments = 0;
410 }
411 $("#import-folder-button").prop("disabled", false);
412 $("#import-plugin-data").hide();
413 }
414 });
415 }
416
417 function removePluginData() {
418 $(".other-plugins-"+selectedItem+" .remove-folder-data .spinner").addClass("active");
419 $.ajax({
420 url: "<?php echo esc_url(admin_url("admin-ajax.php")) ?>",
421 data: {
422 'plugin': $(".other-plugins-"+selectedItem).data("plugin"),
423 'nonce': $(".other-plugins-"+selectedItem).data("nonce"),
424 'action': 'wcp_remove_plugin_folders_data'
425 },
426 type: 'post',
427 success: function(res){
428 var response = $.parseJSON(res);
429 $("#remove-plugin-data").hide();
430 if(response.status) {
431 $(".other-plugins-"+response.data.plugin).remove();
432 } else {
433 $(".other-plugins-"+response.data.plugin+" .import-message").html(response.message).addClass("error-import");
434 $(".other-plugins-"+response.data.plugin+" .remove-folder-data .spinner").removeClass("active");
435 }
436
437 if($("#import-folders-popup .plugin-import-table tr").length == 0) {
438 $("#import-folders-popup").hide();
439 $(".has-other-plugins").remove();
440 $(".no-more-plugins").addClass("active");
441 }
442 }
443 });
444 }
445
446 function setCSSProperties() {
447 if(jQuery("#new_folder_color").length && $("#new_folder_color").val() != "") {
448 $("#add-new-folder").css("border-color", $("#new_folder_color").val());
449 $("#add-new-folder").css("background-color", $("#new_folder_color").val());
450 } else if ($("input[name='customize_folders[new_folder_color]']:checked").length) {
451 $("#add-new-folder").css("border-color", $("input[name='customize_folders[new_folder_color]']:checked").val());
452 $("#add-new-folder").css("background-color", $("input[name='customize_folders[new_folder_color]']:checked").val());
453 }
454
455 if($("#bulk_organize_button_color").length && $("#bulk_organize_button_color").val() != "") {
456 $(".organize-button").css("border-color", $("#bulk_organize_button_color").val());
457 $(".organize-button").css("background-color", $("#bulk_organize_button_color").val());
458 $(".organize-button").css("color", "#ffffff");
459 } else if ($("input[name='customize_folders[bulk_organize_button_color]']:checked").length) {
460 $(".organize-button").css("border-color", $("input[name='customize_folders[bulk_organize_button_color]']:checked").val());
461 $(".organize-button").css("background-color", $("input[name='customize_folders[bulk_organize_button_color]']:checked").val());
462 $(".organize-button").css("color", "#ffffff");
463 }
464
465 if($("#dropdown_color").length && $("#dropdown_color").val() != "") {
466 $(".media-select").css("border-color", $("#dropdown_color").val());
467 $(".media-select").css("color", $("#dropdown_color").val());
468 } else if ($("input[name='customize_folders[dropdown_color]']:checked").length) {
469 $(".media-select").css("border-color", $("input[name='customize_folders[dropdown_color]']:checked").val());
470 $(".media-select").css("color", $("input[name='customize_folders[dropdown_color]']:checked").val());
471 }
472
473 if($("#folder_bg_color").length && $("#folder_bg_color").val() != "") {
474 $(".all-posts.active-item-link").css("border-color", $("#folder_bg_color").val());
475 $(".all-posts.active-item-link").css("background-color", $("#folder_bg_color").val());
476 $(".all-posts.active-item-link").css("color", "#ffffff");
477 } else if ($("input[name='customize_folders[folder_bg_color]']:checked").length) {
478 $(".all-posts.active-item-link").css("border-color", $("input[name='customize_folders[folder_bg_color]']:checked").val());
479 $(".all-posts.active-item-link").css("background-color", $("input[name='customize_folders[folder_bg_color]']:checked").val());
480 $(".all-posts.active-item-link").css("color", "#ffffff");
481 }
482
483 $("#custom-css").html("");
484 if($("#folder_font").val() != "") {
485 font_val = $("#folder_font").val();
486 if(font_val == "System Stack") {
487 font_val = "-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif";
488 } else {
489 $('head').append('<link href="https://fonts.googleapis.com/css?family=' + font_val + ':400,600,700" rel="stylesheet" type="text/css" class="chaty-google-font">');
490 }
491 $('.preview-box').css('font-family', font_val);
492 } else {
493 $('.preview-box').css('style', "");
494 }
495 if($("#folder_size").val() != "") {
496 $(".folder-list li a span, .header-posts a, .un-categorised-items a").css("font-size", $("#folder_size").val()+"px");
497 } else {
498 $(".folder-list li a span, .header-posts a, .un-categorised-items a").css("font-size", "14px");
499 }
500
501 var folderColor = "#334155";
502 if($("input[name='customize_folders[default_icon_color]']:checked").length) {
503 folderColor = $("input[name='customize_folders[default_icon_color]']:checked").val();
504 }
505 $(".folder-list i").css("color", folderColor);
506 }
507
508 $(window).on("scroll", function(){
509 setTooltipPosition();
510 }).on("resize", function(){
511 setTooltipPosition();
512 });
513
514 function setTooltipPosition() {
515 if($(".html-tooltip:not(.no-position)").length) {
516 $(".html-tooltip:not(.no-position)").each(function(){
517 if($(this).offset().top - $(window).scrollTop() > 540) {
518 $(this).addClass("top").removeClass("side").removeClass("bottom");
519 $(this).find(".tooltip-text").attr("style","");
520 $(this).find(".tooltip-text").removeClass("hide-arrow");
521 } else if($(window).height() - ($(this).offset().top - $(window).scrollTop()) > 460) {
522 $(this).addClass("bottom").removeClass("top").removeClass("side");
523 $(this).find(".tooltip-text").attr("style","");
524 $(this).find(".tooltip-text").removeClass("hide-arrow");
525 } else {
526 $(this).addClass("side").removeClass("top").removeClass("bottom");
527 if($(this).find(".tooltip-text").length) {
528 $(this).find(".tooltip-text").attr("style","");
529 $(this).find(".tooltip-text").removeClass("hide-arrow");
530
531 if($(this).find(".tooltip-text").offset().top - $(window).scrollTop() - 50 < 0) {
532 $(this).find(".tooltip-text").css("margin-top", Math.abs($(this).find(".tooltip-text").offset().top - $(window).scrollTop() - 50)+"px");
533 $(this).find(".tooltip-text").addClass("hide-arrow");
534 } else {
535 $(this).find(".tooltip-text").attr("style","");
536 if(($(this).find(".tooltip-text").offset().top + parseInt($(this).find(".tooltip-text").outerHeight()) - $(window).scrollTop() - $(window).height()) > 0) {
537 $(this).find(".tooltip-text").css("margin-top", ((-1)*Math.abs($(this).find(".tooltip-text").offset().top + parseInt($(this).find(".tooltip-text").outerHeight()) - $(window).scrollTop() - $(window).height()) - 10)+"px");
538 $(this).find(".tooltip-text").addClass("hide-arrow");
539 }
540 }
541 }
542 }
543 });
544 }
545 }
546 }));
547 </script>
548 <div id="custom-css">
549
550 </div>
551 <?php
552 // Check website is hosted on wp.org or not
553 $wp_status = get_option("is_web_hosted_on_wp");
554 if ($wp_status === false) {
555 $site_url = site_url("/");
556 $domain = wp_parse_url($site_url);
557
558 $options = [
559 'http' => ['ignore_errors' => true],
560 ];
561
562 $webLink = $domain['host'];
563
564 $context = stream_context_create($options);
565 $response = wp_remote_get('https://public-api.wordpress.com/rest/v1/sites/'.$webLink);
566 if (!is_wp_error($response)) {
567 $data = wp_remote_retrieve_body($response);
568 $response = json_decode($data, true);
569
570 if (!empty($response) && is_array($response)) {
571 if (isset($response['ID']) && !empty($response['ID'])) {
572 add_option("is_web_hosted_on_wp", "yes");
573 $wp_status = "yes";
574 }
575 }
576 }
577 }//end if
578
579 if ($wp_status === false) {
580 if (!function_exists("get_current_user_id")) {
581 add_option("is_web_hosted_on_wp", "yes");
582 $wp_status = "yes";
583 }
584 }
585
586 if ($wp_status === false) {
587 add_option("is_web_hosted_on_wp", "no");
588 }
589
590 $show_media_popup = false;
591 if ($wp_status == "yes") {
592 $popup_shown = get_option("is_wp_media_popup_shown");
593 if ($popup_shown === false) {
594 $show_media_popup = true;
595 add_option("is_wp_media_popup_shown", 1);
596 } else {
597 if (!is_numeric($popup_shown)) {
598 $popup_shown = 1;
599 }
600
601 $popup_shown++;
602 if ($popup_shown < 4) {
603 $show_media_popup = true;
604 }
605
606 update_option("is_wp_media_popup_shown", $popup_shown);
607 }
608 }
609
610 ?>
611 <div class="wrap">
612 <h1 class="folders-header">
613 <span><?php esc_html_e('Folders Settings', 'folders'); ?></span>
614 <?php if ($setting_page == "folder-settings" || $setting_page == "customize-folders") { ?>
615 <button class="button button-primary" id="save-settings"><?php esc_html_e('Save Settings', 'folders'); ?></button>
616 <?php } ?>
617 </h1>
618 <?php
619 settings_fields('folders_settings');
620 settings_fields('default_folders');
621 settings_fields('customize_folders');
622 $options = get_option('folders_settings');
623 $default_folders = get_option('default_folders');
624 $customize_folders = get_option('customize_folders');
625 $default_folders = (empty($default_folders) || !is_array($default_folders)) ? [] : $default_folders;
626 do_settings_sections(__FILE__);
627 delete_transient("premio_folders_without_trash");
628 $note = filter_input(INPUT_GET, "note");
629 ?>
630 <?php if ($note == 1) { ?>
631 <div class="folder-notification notice notice-success is-dismissible">
632 <div class="folder-notification-title"><?php esc_html_e("Changes Saved", "folders") ?></div>
633 <div class="folder-notification-note"><?php esc_html_e("Your changes have been saved.", "folders") ?></div>
634 </div>
635 <?php } else if ($note == 2) {?>
636 <div class="folder-notification notice notice-error is-dismissible">
637 <div class="folder-notification-title"><?php esc_html_e("Folders Deleted", "folders") ?></div>
638 <div class="folder-notification-note"><?php esc_html_e("All folders has been successfully deleted.", "folders") ?></div>
639 </div>
640 <?php } ?>
641 <?php if ($setting_page != "license-key") { ?>
642 <form action="options.php" method="post" id="setting-form">
643 <input type="hidden" name="tab_page" value="<?php echo esc_attr($setting_page) ?>">
644 <?php } ?>
645 <div class="folders-tabs">
646 <div class="folder-tab-menu">
647 <ul>
648 <li><a class="<?php echo esc_attr(($setting_page == "folder-settings") ? "active" : "") ?>" href="<?php echo esc_url($settingURL."&setting_page=folder-settings") ?>"><?php esc_html_e('Folders Settings', 'folders'); ?></a></li>
649 <li><a class="<?php echo esc_attr(($setting_page == "folders-by-user") ? "active" : "") ?>" href="<?php echo esc_url($settingURL."&setting_page=folders-by-user") ?>"><?php esc_html_e('User Restrictions', 'folders'); ?></a></li>
650 <li><a class="<?php echo esc_attr(($setting_page == "customize-folders") ? "active" : "") ?>" href="<?php echo esc_url($settingURL."&setting_page=customize-folders") ?>"><?php esc_html_e('Customize Folders', 'folders'); ?></a></li>
651 <li><a class="<?php echo esc_attr(($setting_page == "notification-settings") ? "active" : "") ?>" href="<?php echo esc_url($settingURL."&setting_page=notification-settings") ?>"><?php esc_html_e('Notifications', 'folders'); ?></a></li>
652 <li><a class="<?php echo esc_attr(($setting_page == "folders-import") ? "active" : "") ?>" href="<?php echo esc_url($settingURL."&setting_page=folders-import") ?>"><?php esc_html_e('Tools', 'folders'); ?></a></li>
653 <?php if ($isInSettings) { ?>
654 <li><a class="<?php echo esc_attr(($setting_page == "upgrade-to-pro") ? "active" : "") ?>" href="<?php echo esc_url($settingURL."&setting_page=upgrade-to-pro") ?>"><?php esc_html_e('Upgrade to Pro', 'folders'); ?></a></li>
655 <?php } ?>
656 </ul>
657 </div>
658 <div class="folder-tab-content">
659
660 <?php include_once dirname(dirname(__FILE__))."/admin/settings-tabs/folder-settings.php"; ?>
661
662 <?php include_once dirname(dirname(__FILE__))."/admin/settings-tabs/customize-folders.php"; ?>
663
664 <?php include_once dirname(dirname(__FILE__))."/admin/settings-tabs/folders-import.php"; ?>
665
666 <?php include_once dirname(dirname(__FILE__))."/admin/settings-tabs/notification-settings.php"; ?>
667
668 <div class="tab-content <?php echo esc_attr(($setting_page == "upgrade-to-pro") ? "active" : "") ?>">
669 <?php if ($setting_page == "upgrade-to-pro") { ?>
670 <?php include_once "upgrade-table.php"; ?>
671 <?php } ?>
672 </div>
673
674 <?php include_once dirname(dirname(__FILE__))."/admin/settings-tabs/folders-by-user.php"; ?>
675
676
677 </div>
678 </div>
679 <?php
680 ?>
681 <input type="hidden" name="folder_nonce" value="<?php echo esc_attr(wp_create_nonce("folder_settings")) ?>">
682 <input type="hidden" name="folder_page" value="<?php echo filter_input(INPUT_SERVER, "REQUEST_URI") ?>">
683 <?php if ($setting_page != "upgrade-to-pro") { ?>
684 </form>
685 <?php } ?>
686 </div>
687
688 <div class="folder-popup-form" id="import-plugin-data">
689 <div class="popup-form-content">
690 <div class="folder-modal-content">
691 <div class="close-popup-button">
692 <a class="" href="#"><span></span></a>
693 </div>
694 <div class="import-folder-title"></div>
695 <div class="import-folder-note">Are you sure you'd like to import $x folders from $plugin?</div>
696 <div class="folder-form-buttons">
697 <button type="submit" class="form-submit-btn" id="import-folder-button"><?php esc_html_e("Import", 'folders'); ?></button>
698 <a href="#" class="form-cancel-btn"><?php esc_html_e("Cancel", 'folders'); ?></a>
699 </div>
700 </div>
701 </div>
702 </div>
703
704 <?php
705 // if($plugin['is_exists']) { ?>
706 <div class="folder-popup-form" id="import-folders-popup">
707 <div class="popup-form-content">
708 <div class="folder-modal-content">
709 <div class="close-popup-button">
710 <a class="" href="#"><span></span></a>
711 </div>
712 <div class="import-plugin-title"><?php esc_html_e("Import data", 'folders'); ?></div>
713 <div class="plugin-import-table">
714 <div class="import-folder-table">
715 <table>
716 <tbody>
717 <?php foreach ($plugin_info as $slug => $plugin) { ?>
718 <?php if ($plugin['is_exists']) { ?>
719 <tr class="other-plugins-<?php echo esc_attr($slug) ?>" data-plugin="<?php echo esc_attr($slug) ?>" data-nonce="<?php echo esc_attr(wp_create_nonce("import_data_from_".$slug)) ?>" data-folders="<?php echo esc_attr($plugin['total_folders']) ?>" data-attachments="<?php echo esc_attr($plugin['total_attachments']) ?>">
720 <th class="plugin-name"><?php echo esc_attr($plugin['name']) ?></th>
721 <td>
722 <span class="import-message"><?php printf(esc_html__("%1\$s folder%2\$s and %3\$s attachment%4\$s", "folders"), "<b>".esc_attr($plugin['total_folders'])."</b>", ($plugin['total_folders'] > 1) ? esc_html__("s", 'folders') : "", "<b>".esc_attr($plugin['total_attachments'])."</b>", ($plugin['total_attachments'] > 1) ? esc_html__("s", 'folders') : "") ?></span>
723 <button type="button" class="button button-primary import-folder-data in-popup"><?php esc_html_e("Import", "folders"); ?> <span class="spinner"></span></button>
724 <button type="button" class="button button-secondary remove-folder-data in-popup"><?php esc_html_e("Delete plugin data", "folders"); ?> <span class="spinner"></span></button>
725 </td>
726 </tr>
727 <?php } ?>
728 <?php } ?>
729 </tbody>
730 </table>
731 </div>
732 </div>
733 <div class="folder-form-buttons">
734 <div class=""></div>
735 <a href="#" class="form-cancel-btn"><?php esc_html_e("Close", 'folders'); ?></a>
736 </div>
737 </div>
738 </div>
739 </div>
740 <?php
741 // } ?>
742
743 <div class="folder-popup-form" id="remove-plugin-data">
744 <div class="popup-form-content">
745 <div class="folder-modal-content">
746 <div class="close-popup-button">
747 <a class="" href="#"><span></span></a>
748 </div>
749 <div class="remove-folder-title"><?php esc_html_e("Are you sure?", 'folders'); ?></div>
750 <div class="remove-folder-note"></div>
751 <div class="folder-form-buttons">
752 <button type="submit" class="form-submit-btn delete-folder-plugin" id="remove-folder-button"><?php esc_html_e("Delete plugin data", 'folders'); ?></button>
753 <a href="#" class="form-cancel-btn"><?php esc_html_e("Cancel", 'folders'); ?></a>
754 </div>
755 </div>
756 </div>
757 </div>
758
759 <div class="folder-popup-form remove-folders-box" id="remove-folders-data-box">
760 <div class="popup-form-content">
761 <div class="folder-modal-content">
762 <div class="close-popup-button close-remove-folders">
763 <a class="" href="#"><span></span></a>
764 </div>
765 <div class="remove-folder-title"><?php esc_html_e("Are you sure?", 'folders'); ?></div>
766 <div class="remove-folder-note"><?php printf(esc_html__("Folders will remove all created folders once you remove the plugin. We recommend you %1\$snot to use this feature%2\$s if you plan to use Folders in future.", 'folders'), "<b>", "</b>"); ?></div>
767 <div class="folder-form-buttons">
768 <a href="#" class="form-cancel-btn cancel-folders"><?php esc_html_e("Cancel", 'folders'); ?></a>
769 <button type="submit" class="form-cancel-btn delete-button"><?php esc_html_e("I want to delete anyway", 'folders'); ?></button>
770 </div>
771 </div>
772 </div>
773 </div>
774
775 <div class="folder-popup-form" id="remove-confirmation-box">
776 <div class="popup-form-content">
777 <div class="folder-modal-content">
778 <form id="remove_folders_data" autocomplete="off" >
779 <div class="close-popup-button">
780 <a class="" href="#"><span></span></a>
781 </div>
782 <div class="remove-folder-title"></div>
783 <div class="remove-folder-note text-left">
784 <b><?php esc_html_e("Type DELETE to confirm", 'folders'); ?></b>
785 <div class="input-box">
786 <input autocomplete="off" type="text" id="delete-input" name="delete" >
787 </div>
788 <div class="delete-confirmation-message"></div>
789 </div>
790 <div class="folder-form-buttons">
791 <input type="hidden" name="nonce" id="remove-folder-nonce" value="<?php echo esc_attr(wp_create_nonce("remove_folders_data")) ?>">
792 <input type="hidden" name="action" value="remove_all_folders_data">
793 <button disabled type="submit" class="form-submit-btn delete-button" id="remove-folders-data-button"><?php esc_html_e("Delete", 'folders'); ?></button>
794 <a href="#" class="form-cancel-btn"><?php esc_html_e("Cancel", 'folders'); ?></a>
795 </div>
796 </form>
797 </div>
798 </div>
799 </div>
800
801 <?php
802 if ($wp_status == "yes" && $show_media_popup) {
803 add_option("is_wp_media_popup_shown", "yes");
804 ?>
805 <div class="folder-popup-form" id="wordpress-popup">
806 <div class="popup-form-content">
807 <div class="folder-modal-content">
808 <div class="popup-form-data">
809 <div class="close-popup-button">
810 <a class="" href="#"><span></span></a>
811 </div>
812 <div class="popup-folder-title">
813 <?php esc_html_e("Seems you’re using WordPress.com", "folders") ?>
814 </div>
815 <div class="folder-form-message" style="padding: 25px 10px;" >
816 <?php esc_html_e('You need to alter a setting to make Folders compatible with WordPress.com media library.', "folders") ?>
817 </div>
818 <div class="folder-form-buttons" style="display:block;">
819 <a class="form-submit-btn a-inline" target="_blank" href="https://premio.io/help/folders/how-to-activate-folders-for-wordpress-com-media-library/" ><?php esc_html_e("Learn how to enable Folders on media library", 'folders'); ?></a>
820 </div>
821 </div>
822 </div>
823 </div>
824 </div>
825 <?php }//end if
826 ?>
827
828 <?php
829 $option = get_option("folder_intro_box");
830 if (($option == "show" || get_option("folder_redirect_status") == 2) && $is_plugin_exists) { ?>
831 <div class="folder-popup-form" id="import-third-party-plugin-data" style="display: block" ?>
832 <div class="popup-form-content">
833 <div class="folder-modal-content">
834 <div class="close-popup-button">
835 <a class="" href="#"><span></span></a>
836 </div>
837 <div class="import-plugin-title"><?php esc_html_e("Import data", 'folders'); ?></div>
838 <div class="import-plugin-note"><?php esc_html_e("We've detected that you use another folders plugin. Would you like the Folders plugin to import your current folders? Keep in mind you can always do it in Folders Settings -> Import", 'folders'); ?></div>
839 <div class="plugin-import-table">
840 <div class="import-folder-table">
841 <table>
842 <tbody>
843 <?php foreach ($plugin_info as $slug => $plugin) {
844 if ($plugin['is_exists']) { ?>
845 <tr class="other-plugins-<?php echo esc_attr($slug) ?>" data-plugin="<?php echo esc_attr($slug) ?>" data-nonce="<?php echo esc_attr(wp_create_nonce("import_data_from_".$slug)) ?>" data-folders="<?php echo esc_attr($plugin['total_folders']) ?>" data-attachments="<?php echo esc_attr($plugin['total_attachments']) ?>">
846 <th class="plugin-name"><?php echo esc_attr($plugin['name']) ?></th>
847 <td>
848 <button type="button" class="button button-primary import-folder-data in-popup"><?php esc_html_e("Import", "folders"); ?> <span class="spinner"></span></button>
849 <span class="import-message"><?php printf(esc_html__("%1\$s folder%2\$s and %3\$s attachment%4\$s", "folders"), "<b>".esc_attr($plugin['total_folders'])."</b>", ($plugin['total_folders'] > 1) ? esc_html__("s", 'folders') : "", "<b>".esc_attr($plugin['total_attachments'])."</b>", ($plugin['total_attachments'] > 1) ? esc_html__("s", 'folders') : "") ?></span>
850 </td>
851 </tr>
852 <?php }
853 } ?>
854 </tbody>
855 </table>
856 </div>
857 </div>
858 <div class="folder-form-buttons">
859 <div class=""></div>
860 <a href="#" id="cancel-plugin-import" class="form-cancel-btn"><?php esc_html_e("Close", 'folders'); ?></a>
861 </div>
862 </div>
863 </div>
864 </div>
865 <?php
866 if ($option != "show") {
867 update_option("folder_redirect_status", 3);
868 }
869 }//end if
870 ?>
871
872 <div class="folder-popup-form" id="no-more-folder-credit">
873 <div class="popup-form-content">
874 <div class="folder-modal-content">
875 <div class="close-popup-button">
876 <a class="" href="#"><span></span></a>
877 </div>
878 <div class="add-update-folder-title" id="folder-limitation-message">
879 <?php esc_html_e("You've reached the 10 folder limitation!", 'folders'); ?>
880 </div>
881 <div class="folder-form-message">
882 <?php esc_html_e("Unlock unlimited amount of folders by upgrading to one of our pro plans.", 'folders'); ?>
883 </div>
884 <div class="folder-form-buttons">
885 <a href="#" class="form-cancel-btn"><?php esc_html_e("Cancel", 'folders'); ?></a>
886 <a href="<?php echo esc_url($this->getFoldersUpgradeURL()) ?>" target="_blank" class="form-submit-btn"><?php esc_html_e("See Pro Plans", 'folders'); ?></a>
887 </div>
888 </div>
889 </div>
890 </div>
891
892 <div class="folder-popup-form" id="keyboard-shortcut">
893 <div class="popup-form-content" style="padding: 20px 0 0;">
894 <div class="folder-modal-content">
895 <div class="close-popup-button" style="padding: 0 20px;">
896 <a class="" href="#"><span></span></a>
897 </div>
898 <div class="import-plugin-title"><?php esc_html_e("Keyboard shortcuts (Ctrl+K)", 'folders'); ?></div>
899 <div class="plugin-import-table" style="padding: 0 20px 10px; max-height: calc(100vh - 160px); overflow-y: auto;">
900 <table class="keyboard-shortcut">
901 <tr>
902 <th><?php esc_html_e("Create New Folder", "folders") ?></th>
903 <td><span class="key-button">Shift</span><span class="plus-button">+</span><span class="key-button">N</span> </td>
904 </tr>
905 <tr>
906 <th><?php esc_html_e("Rename Folder", "folders") ?></th>
907 <td><span class="key-button">F2</span></td>
908 </tr>
909 <tr>
910 <th><?php esc_html_e("Copy Folder", "folders") ?></th>
911 <td><span class="key-button">Ctrl</span><span class="plus-button">+</span><span class="key-button">C</span> </td>
912 </tr>
913 <tr>
914 <th><?php esc_html_e("Cut Folder", "folders") ?></th>
915 <td><span class="key-button">Ctrl</span><span class="plus-button">+</span><span class="key-button">X</span> </td>
916 </tr>
917 <tr>
918 <th><?php esc_html_e("Paste Folder", "folders") ?></th>
919 <td><span class="key-button">Ctrl</span><span class="plus-button">+</span><span class="key-button">V</span> </td>
920 </tr>
921 <tr>
922 <th><?php esc_html_e("Duplicate Folder", "folders") ?></th>
923 <td><span class="key-button">Ctrl</span><span class="plus-button">+</span><span class="key-button">D</span> </td>
924 </tr>
925 <tr>
926 <th><?php esc_html_e("Delete Folder", "folders") ?></th>
927 <td><span class="key-button">Delete</span></td>
928 </tr>
929 <tr>
930 <th><?php esc_html_e("Next Folder", "folders") ?></th>
931 <td><span class="key-button"><span class="dashicons dashicons-arrow-down-alt"></span></span> </td>
932 </tr>
933 <tr>
934 <th><?php esc_html_e("Previous Folder", "folders") ?></th>
935 <td><span class="key-button"><span class="dashicons dashicons-arrow-up-alt"></span></span> </td>
936 </tr>
937 <tr>
938 <th><?php esc_html_e("Expand Folder", "folders") ?></th>
939 <td><span class="key-button"><span class="dashicons dashicons-arrow-right-alt"></span></span> </td>
940 </tr>
941 <tr>
942 <th><?php esc_html_e("Collapse Folder", "folders") ?></th>
943 <td><span class="key-button"><span class="dashicons dashicons-arrow-left-alt"></span></span> </td>
944 </tr>
945 <tr>
946 <th><?php esc_html_e("Re-order folders to upwards", "folders") ?></th>
947 <td><span class="key-button">Ctrl</span><span class="plus-button">+</span><span class="key-button"><span class="dashicons dashicons-arrow-up-alt"></span></span></td>
948 </tr>
949 <tr>
950 <th><?php esc_html_e("Re-order folders to downwards", "folders") ?></th>
951 <td><span class="key-button">Ctrl</span><span class="plus-button">+</span><span class="key-button"><span class="dashicons dashicons-arrow-down-alt"></span></span></td>
952 </tr>
953 </table>
954 </div>
955 </div>
956 </div>
957 </div>
958