Version Description
From now on when you clone/edit/publish pages, posts and custom posts in a specific folder, you'll stay in that folder
Download this release
Release Info
Developer | galdub |
Plugin | Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager |
Version | 2.4.4 |
Comparing to | |
See all releases |
Code changes from version 2.4.3 to 2.4.4
- assets/js/custom.js +64 -10
- folders.php +2 -2
- includes/folders.class.php +103 -3
- readme.txt +4 -1
assets/js/custom.js
CHANGED
@@ -31,6 +31,11 @@ jQuery(document).ready(function(){
|
|
31 |
// alert("submitted");
|
32 |
// return false;
|
33 |
//});
|
|
|
|
|
|
|
|
|
|
|
34 |
jQuery(document).on("click", ".select-all-item-btn", function(e){
|
35 |
if(jQuery("ul.attachments li.selected").length == 0) {
|
36 |
jQuery(".custom-media-select").removeClass("active");
|
@@ -367,8 +372,19 @@ function triggerInlineUpdate() {
|
|
367 |
inlineEditPost.revert(thisID);
|
368 |
});
|
369 |
}
|
|
|
370 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
371 |
|
|
|
|
|
372 |
}
|
373 |
|
374 |
function ajaxAnimation() {
|
@@ -493,6 +509,8 @@ function resetMediaAndPosts() {
|
|
493 |
jQuery(".folder-loader-ajax").addClass("active");
|
494 |
if(jQuery("#folder-posts-filter").length) {
|
495 |
jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
|
|
|
|
|
496 |
if (!jQuery(".tree-structure").length) {
|
497 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
498 |
}
|
@@ -501,6 +519,8 @@ function resetMediaAndPosts() {
|
|
501 |
});
|
502 |
} else {
|
503 |
jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", false, function (res) {
|
|
|
|
|
504 |
if (!jQuery(".tree-structure").length) {
|
505 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
506 |
}
|
@@ -649,6 +669,9 @@ jQuery(document).ready(function(){
|
|
649 |
jQuery(".form-loader-count").css("width", "100%");
|
650 |
if(jQuery("#folder-posts-filter").length) {
|
651 |
jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
|
|
|
|
|
|
|
652 |
if (!jQuery(".tree-structure").length) {
|
653 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
654 |
}
|
@@ -656,6 +679,9 @@ jQuery(document).ready(function(){
|
|
656 |
});
|
657 |
} else {
|
658 |
jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
|
|
|
|
|
|
|
659 |
if (!jQuery(".tree-structure").length) {
|
660 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
661 |
}
|
@@ -666,9 +692,11 @@ jQuery(document).ready(function(){
|
|
666 |
var thisIndex = jQuery(this).closest("li.route").data("folder-id");
|
667 |
jQuery("#media-attachment-taxonomy-filter").val(thisIndex);
|
668 |
jQuery("#media-attachment-taxonomy-filter").trigger("change");
|
669 |
-
|
670 |
-
|
671 |
-
|
|
|
|
|
672 |
jQuery(".custom-media-select").removeClass("active");
|
673 |
//add_menu_to_list();
|
674 |
}
|
@@ -691,6 +719,9 @@ jQuery(document).ready(function(){
|
|
691 |
jQuery(".form-loader-count").css("width", "100%");
|
692 |
if(jQuery("#folder-posts-filter").length) {
|
693 |
jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
|
|
|
|
|
|
|
694 |
if (!jQuery(".tree-structure").length) {
|
695 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
696 |
}
|
@@ -698,6 +729,9 @@ jQuery(document).ready(function(){
|
|
698 |
});
|
699 |
} else {
|
700 |
jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
|
|
|
|
|
|
|
701 |
if (!jQuery(".tree-structure").length) {
|
702 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
703 |
}
|
@@ -841,6 +875,9 @@ jQuery(document).ready(function(){
|
|
841 |
jQuery(".form-loader-count").css("width", "100%");
|
842 |
if(jQuery("#folder-posts-filter").length) {
|
843 |
jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
|
|
|
|
|
|
|
844 |
if (!jQuery(".tree-structure").length) {
|
845 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
846 |
}
|
@@ -849,6 +886,9 @@ jQuery(document).ready(function(){
|
|
849 |
});
|
850 |
} else {
|
851 |
jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
|
|
|
|
|
|
|
852 |
if (!jQuery(".tree-structure").length) {
|
853 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
854 |
}
|
@@ -860,6 +900,9 @@ jQuery(document).ready(function(){
|
|
860 |
activeRecordID = "";
|
861 |
jQuery("#media-attachment-taxonomy-filter").val("all");
|
862 |
jQuery("#media-attachment-taxonomy-filter").trigger("change");
|
|
|
|
|
|
|
863 |
add_active_item_to_list();
|
864 |
}
|
865 |
});
|
@@ -874,6 +917,9 @@ jQuery(document).ready(function(){
|
|
874 |
jQuery(".form-loader-count").css("width", "100%");
|
875 |
if(jQuery("#folder-posts-filter").length) {
|
876 |
jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
|
|
|
|
|
|
|
877 |
if (!jQuery(".tree-structure").length) {
|
878 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
879 |
}
|
@@ -882,6 +928,9 @@ jQuery(document).ready(function(){
|
|
882 |
});
|
883 |
} else {
|
884 |
jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
|
|
|
|
|
|
|
885 |
if (!jQuery(".tree-structure").length) {
|
886 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
887 |
}
|
@@ -892,6 +941,9 @@ jQuery(document).ready(function(){
|
|
892 |
} else {
|
893 |
jQuery("#media-attachment-taxonomy-filter").val("unassigned");
|
894 |
jQuery("#media-attachment-taxonomy-filter").trigger("change");
|
|
|
|
|
|
|
895 |
add_active_item_to_list();
|
896 |
}
|
897 |
});
|
@@ -1756,13 +1808,15 @@ if(wcp_settings.post_type == "attachment") {
|
|
1756 |
selectedVal = jQuery("#media-attachment-taxonomy-filter").val();
|
1757 |
if(selectedVal != "all" && loadData == 1) {
|
1758 |
var wp1 = parent.wp;
|
1759 |
-
|
1760 |
-
|
1761 |
-
|
1762 |
-
|
1763 |
-
|
1764 |
-
|
1765 |
-
|
|
|
|
|
1766 |
}
|
1767 |
if(res.taxonomies.length) {
|
1768 |
if(jQuery("#media-attachment-taxonomy-filter").length) {
|
31 |
// alert("submitted");
|
32 |
// return false;
|
33 |
//});
|
34 |
+
|
35 |
+
if(wcp_settings.page_url != wcp_settings.current_url) {
|
36 |
+
folderCurrentURL = wcp_settings.current_url;
|
37 |
+
}
|
38 |
+
activeRecordID = wcp_settings.selected_taxonomy;
|
39 |
jQuery(document).on("click", ".select-all-item-btn", function(e){
|
40 |
if(jQuery("ul.attachments li.selected").length == 0) {
|
41 |
jQuery(".custom-media-select").removeClass("active");
|
372 |
inlineEditPost.revert(thisID);
|
373 |
});
|
374 |
}
|
375 |
+
}
|
376 |
|
377 |
+
function set_default_folders(post_id) {
|
378 |
+
jQuery.ajax({
|
379 |
+
url: wcp_settings.ajax_url,
|
380 |
+
type: 'post',
|
381 |
+
data: 'action=save_folder_last_status&post_type='+wcp_settings.post_type+"&post_id="+post_id,
|
382 |
+
cache: false,
|
383 |
+
async: false,
|
384 |
+
success: function(){
|
385 |
|
386 |
+
}
|
387 |
+
})
|
388 |
}
|
389 |
|
390 |
function ajaxAnimation() {
|
509 |
jQuery(".folder-loader-ajax").addClass("active");
|
510 |
if(jQuery("#folder-posts-filter").length) {
|
511 |
jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
|
512 |
+
var obj = { Title: "", Url: folderCurrentURL };
|
513 |
+
history.pushState(obj, obj.Title, obj.Url);
|
514 |
if (!jQuery(".tree-structure").length) {
|
515 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
516 |
}
|
519 |
});
|
520 |
} else {
|
521 |
jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", false, function (res) {
|
522 |
+
var obj = { Title: "", Url: folderCurrentURL };
|
523 |
+
history.pushState(obj, obj.Title, obj.Url);
|
524 |
if (!jQuery(".tree-structure").length) {
|
525 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
526 |
}
|
669 |
jQuery(".form-loader-count").css("width", "100%");
|
670 |
if(jQuery("#folder-posts-filter").length) {
|
671 |
jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
|
672 |
+
var obj = { Title: jQuery("#wcp_folder_"+activeRecordID).data("slug"), Url: folderCurrentURL };
|
673 |
+
history.pushState(obj, obj.Title, obj.Url);
|
674 |
+
set_default_folders(jQuery("#wcp_folder_"+activeRecordID).data("slug"));
|
675 |
if (!jQuery(".tree-structure").length) {
|
676 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
677 |
}
|
679 |
});
|
680 |
} else {
|
681 |
jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
|
682 |
+
var obj = { Title: jQuery("#wcp_folder_"+activeRecordID).data("slug"), Url: folderCurrentURL };
|
683 |
+
history.pushState(obj, obj.Title, obj.Url);
|
684 |
+
set_default_folders(jQuery("#wcp_folder_"+activeRecordID).data("slug"));
|
685 |
if (!jQuery(".tree-structure").length) {
|
686 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
687 |
}
|
692 |
var thisIndex = jQuery(this).closest("li.route").data("folder-id");
|
693 |
jQuery("#media-attachment-taxonomy-filter").val(thisIndex);
|
694 |
jQuery("#media-attachment-taxonomy-filter").trigger("change");
|
695 |
+
thisSlug = jQuery(this).closest("li.route").data("slug");
|
696 |
+
folderCurrentURL = wcp_settings.page_url + jQuery(this).closest("li.route").data("slug");
|
697 |
+
var obj = { Title: thisSlug, Url: folderCurrentURL };
|
698 |
+
history.pushState(obj, obj.Title, obj.Url);
|
699 |
+
set_default_folders(thisSlug);
|
700 |
jQuery(".custom-media-select").removeClass("active");
|
701 |
//add_menu_to_list();
|
702 |
}
|
719 |
jQuery(".form-loader-count").css("width", "100%");
|
720 |
if(jQuery("#folder-posts-filter").length) {
|
721 |
jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
|
722 |
+
var obj = { Title: "", Url: folderCurrentURL };
|
723 |
+
history.pushState(obj, obj.Title, obj.Url);
|
724 |
+
set_default_folders("all");
|
725 |
if (!jQuery(".tree-structure").length) {
|
726 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
727 |
}
|
729 |
});
|
730 |
} else {
|
731 |
jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
|
732 |
+
var obj = { Title: "", Url: folderCurrentURL };
|
733 |
+
history.pushState(obj, obj.Title, obj.Url);
|
734 |
+
set_default_folders("all");
|
735 |
if (!jQuery(".tree-structure").length) {
|
736 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
737 |
}
|
875 |
jQuery(".form-loader-count").css("width", "100%");
|
876 |
if(jQuery("#folder-posts-filter").length) {
|
877 |
jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
|
878 |
+
var obj = { Title: "", Url: folderCurrentURL };
|
879 |
+
history.pushState(obj, obj.Title, obj.Url);
|
880 |
+
set_default_folders("all");
|
881 |
if (!jQuery(".tree-structure").length) {
|
882 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
883 |
}
|
886 |
});
|
887 |
} else {
|
888 |
jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
|
889 |
+
var obj = { Title: "", Url: folderCurrentURL };
|
890 |
+
history.pushState(obj, obj.Title, obj.Url);
|
891 |
+
set_default_folders("all");
|
892 |
if (!jQuery(".tree-structure").length) {
|
893 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
894 |
}
|
900 |
activeRecordID = "";
|
901 |
jQuery("#media-attachment-taxonomy-filter").val("all");
|
902 |
jQuery("#media-attachment-taxonomy-filter").trigger("change");
|
903 |
+
var obj = { Title: "", Url: wcp_settings.page_url };
|
904 |
+
history.pushState(obj, obj.Title, obj.Url);
|
905 |
+
set_default_folders("all");
|
906 |
add_active_item_to_list();
|
907 |
}
|
908 |
});
|
917 |
jQuery(".form-loader-count").css("width", "100%");
|
918 |
if(jQuery("#folder-posts-filter").length) {
|
919 |
jQuery("#folder-posts-filter").load(folderCurrentURL + " #posts-filter", function () {
|
920 |
+
var obj = { Title: "", Url: folderCurrentURL };
|
921 |
+
history.pushState(obj, obj.Title, obj.Url);
|
922 |
+
set_default_folders("-1");
|
923 |
if (!jQuery(".tree-structure").length) {
|
924 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
925 |
}
|
928 |
});
|
929 |
} else {
|
930 |
jQuery("#wpbody").load(folderCurrentURL + " #wpbody-content", function () {
|
931 |
+
var obj = { Title: "", Url: folderCurrentURL };
|
932 |
+
history.pushState(obj, obj.Title, obj.Url);
|
933 |
+
set_default_folders("-1");
|
934 |
if (!jQuery(".tree-structure").length) {
|
935 |
jQuery(".wp-header-end").before('<div class="tree-structure"><ul></ul><div class="clear clearfix"></div></div>');
|
936 |
}
|
941 |
} else {
|
942 |
jQuery("#media-attachment-taxonomy-filter").val("unassigned");
|
943 |
jQuery("#media-attachment-taxonomy-filter").trigger("change");
|
944 |
+
var obj = { Title: "", Url: wcp_settings.page_url+"-1" };
|
945 |
+
history.pushState(obj, obj.Title, obj.Url);
|
946 |
+
set_default_folders("-1");
|
947 |
add_active_item_to_list();
|
948 |
}
|
949 |
});
|
1808 |
selectedVal = jQuery("#media-attachment-taxonomy-filter").val();
|
1809 |
if(selectedVal != "all" && loadData == 1) {
|
1810 |
var wp1 = parent.wp;
|
1811 |
+
if(wp1.media != undefined) {
|
1812 |
+
wp1.media.frame.setState('insert');
|
1813 |
+
if (wp1.media.frame.content.get() !== null) {
|
1814 |
+
wp1.media.frame.content.get().collection.props.set({ignore: (+new Date())});
|
1815 |
+
wp1.media.frame.content.get().options.selection.reset();
|
1816 |
+
} else {
|
1817 |
+
wp1.media.frame.library.props.set({ignore: (+new Date())});
|
1818 |
+
}
|
1819 |
+
}
|
1820 |
}
|
1821 |
if(res.taxonomies.length) {
|
1822 |
if(jQuery("#media-attachment-taxonomy-filter").length) {
|
folders.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
/**
|
3 |
* Plugin Name: Folders
|
4 |
* Description: Arrange media, pages, custom post types and posts into folders
|
5 |
-
* Version: 2.4.
|
6 |
* Author: Premio
|
7 |
* Author URI: https://premio.io/downloads/folders/
|
8 |
* Text Domain: folders
|
@@ -30,7 +30,7 @@ if(!defined("WCP_FOLDER_URL")) {
|
|
30 |
define('WCP_FOLDER_URL', plugin_dir_url(__FILE__));
|
31 |
}
|
32 |
if(!defined("WCP_FOLDER_VERSION")) {
|
33 |
-
define('WCP_FOLDER_VERSION', "2.4.
|
34 |
}
|
35 |
|
36 |
include_once plugin_dir_path(__FILE__)."includes/folders.class.php";
|
2 |
/**
|
3 |
* Plugin Name: Folders
|
4 |
* Description: Arrange media, pages, custom post types and posts into folders
|
5 |
+
* Version: 2.4.4
|
6 |
* Author: Premio
|
7 |
* Author URI: https://premio.io/downloads/folders/
|
8 |
* Text Domain: folders
|
30 |
define('WCP_FOLDER_URL', plugin_dir_url(__FILE__));
|
31 |
}
|
32 |
if(!defined("WCP_FOLDER_VERSION")) {
|
33 |
+
define('WCP_FOLDER_VERSION', "2.4.4");
|
34 |
}
|
35 |
|
36 |
include_once plugin_dir_path(__FILE__)."includes/folders.class.php";
|
includes/folders.class.php
CHANGED
@@ -63,6 +63,8 @@ class WCP_Folders
|
|
63 |
add_action('wp_ajax_wcp_change_folder_display_status', array($this, 'wcp_change_folder_display_status'));
|
64 |
/* Update width Data */
|
65 |
add_action('wp_ajax_wcp_change_all_status', array($this, 'wcp_change_all_status'));
|
|
|
|
|
66 |
self::$folders = 10;
|
67 |
|
68 |
/* Send message on plugin deactivate */
|
@@ -137,6 +139,15 @@ class WCP_Folders
|
|
137 |
add_filter('mla_media_modal_query_final_terms', array( $this, 'media_modal_query_final_terms'), 10, 3);
|
138 |
}
|
139 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
public function media_modal_query_final_terms($request) {
|
141 |
if(isset($_REQUEST['action']) && $_REQUEST['action'] == "mla-query-attachments") {
|
142 |
$query = isset($_REQUEST['query'])?$_REQUEST['query']:array();
|
@@ -207,7 +218,50 @@ class WCP_Folders
|
|
207 |
$options = get_option('folders_settings');
|
208 |
$options = (empty($options) || !is_array($options))?array():$options;
|
209 |
$post_status = filter_input(INPUT_GET, 'post_status', FILTER_SANITIZE_STRING);
|
210 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
211 |
|
212 |
$default_folders = get_option('default_folders');
|
213 |
$default_folders = (empty($default_folders) || !is_array($default_folders))?array():$default_folders;
|
@@ -635,11 +689,41 @@ class WCP_Folders
|
|
635 |
$isAjax = (defined('DOING_AJAX') && DOING_AJAX)?1:0;
|
636 |
$options = get_option('folders_settings');
|
637 |
$options = (empty($options) || !is_array($options))?array():$options;
|
638 |
-
|
|
|
639 |
|
640 |
$default_folders = get_option('default_folders');
|
641 |
$default_folders = (empty($default_folders) || !is_array($default_folders))?array():$default_folders;
|
642 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
643 |
$status = 1;
|
644 |
if(isset($default_folders[$typenow]) && !empty($default_folders[$typenow])) {
|
645 |
$type = self::get_custom_post_type($typenow);
|
@@ -2253,6 +2337,9 @@ class WCP_Folders
|
|
2253 |
wp_register_script('wcp-folders-alert', plugin_dir_url(dirname(__FILE__)) . 'assets/js/livequery.min.js', array(), WCP_FOLDER_VERSION);
|
2254 |
wp_register_script('wcp-folders-custom', plugin_dir_url(dirname(__FILE__)) . 'assets/js/custom.js', array('jquery', 'jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-sortable', 'backbone'), WCP_FOLDER_VERSION);
|
2255 |
|
|
|
|
|
|
|
2256 |
if ($typenow == "attachment") {
|
2257 |
$admin_url = admin_url("upload.php?post_type=attachment&media_folder=");
|
2258 |
} else {
|
@@ -2260,10 +2347,15 @@ class WCP_Folders
|
|
2260 |
if (isset($_GET['s']) && !empty($_GET['s'])) {
|
2261 |
$admin_url .= "&s=" . $_GET['s'];
|
2262 |
}
|
2263 |
-
$post_type = self::get_custom_post_type($typenow);
|
2264 |
$admin_url .= "&{$post_type}=";
|
2265 |
}
|
2266 |
|
|
|
|
|
|
|
|
|
|
|
|
|
2267 |
$is_active = 1;
|
2268 |
$folders = -1;
|
2269 |
if (!self::check_has_valid_key()) {
|
@@ -2288,12 +2380,20 @@ class WCP_Folders
|
|
2288 |
$taxonomy_status = 1;
|
2289 |
} else if(isset($_GET[$post_type]) && !empty($_GET[$post_type])) {
|
2290 |
$selected_taxonomy = $_GET[$post_type];
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2291 |
}
|
2292 |
wp_localize_script('wcp-folders-custom', 'wcp_settings', array(
|
2293 |
'ajax_url' => admin_url('admin-ajax.php'),
|
2294 |
'upgrade_url' => admin_url('admin.php?page=wcp_folders_upgrade'),
|
2295 |
'post_type' => $typenow,
|
2296 |
'page_url' => $admin_url,
|
|
|
2297 |
'ajax_image' => plugin_dir_url(dirname(__FILE__)) . "assets/images/ajax-loader.gif",
|
2298 |
'is_key_active' => $is_active,
|
2299 |
'folders' => $folders,
|
63 |
add_action('wp_ajax_wcp_change_folder_display_status', array($this, 'wcp_change_folder_display_status'));
|
64 |
/* Update width Data */
|
65 |
add_action('wp_ajax_wcp_change_all_status', array($this, 'wcp_change_all_status'));
|
66 |
+
/* Update width Data */
|
67 |
+
add_action('wp_ajax_save_folder_last_status', array($this, 'save_folder_last_status'));
|
68 |
self::$folders = 10;
|
69 |
|
70 |
/* Send message on plugin deactivate */
|
139 |
add_filter('mla_media_modal_query_final_terms', array( $this, 'media_modal_query_final_terms'), 10, 3);
|
140 |
}
|
141 |
|
142 |
+
public function save_folder_last_status(){
|
143 |
+
$post_type = filter_input(INPUT_POST, 'post_type', FILTER_SANITIZE_STRING);
|
144 |
+
$post_id = filter_input(INPUT_POST, 'post_id', FILTER_SANITIZE_STRING);
|
145 |
+
if(!empty($post_type) && !empty($post_id)) {
|
146 |
+
delete_option("last_folder_status_for".$post_type);
|
147 |
+
add_option("last_folder_status_for".$post_type, $post_id);
|
148 |
+
}
|
149 |
+
}
|
150 |
+
|
151 |
public function media_modal_query_final_terms($request) {
|
152 |
if(isset($_REQUEST['action']) && $_REQUEST['action'] == "mla-query-attachments") {
|
153 |
$query = isset($_REQUEST['query'])?$_REQUEST['query']:array();
|
218 |
$options = get_option('folders_settings');
|
219 |
$options = (empty($options) || !is_array($options))?array():$options;
|
220 |
$post_status = filter_input(INPUT_GET, 'post_status', FILTER_SANITIZE_STRING);
|
221 |
+
$last_status = get_option("last_folder_status_for".$typenow);
|
222 |
+
if(empty($post_status) && !$isAjax && (in_array($typenow, $options) || !empty($last_status)) && (isset($current_screen->base) && ($current_screen->base == "edit" || ($current_screen->base == "upload")))) {
|
223 |
+
|
224 |
+
if(!empty($last_status)) {
|
225 |
+
$status = 1;
|
226 |
+
if($last_status != "-1" && $last_status != "all") {
|
227 |
+
$type = self::get_custom_post_type($typenow);
|
228 |
+
$term = get_term_by('slug', $last_status, $type);
|
229 |
+
if (empty($term) || !is_object($term)) {
|
230 |
+
$status = 0;
|
231 |
+
}
|
232 |
+
}
|
233 |
+
delete_option("last_folder_status_for".$typenow);
|
234 |
+
if($last_status == "all") {
|
235 |
+
$last_status = "";
|
236 |
+
}
|
237 |
+
if($status) {
|
238 |
+
if ($typenow == "attachment") {
|
239 |
+
if (!isset($_REQUEST['media_folder'])) {
|
240 |
+
$admin_url = admin_url("upload.php?post_type=attachment&media_folder=");
|
241 |
+
$admin_url .= $last_status;
|
242 |
+
?>
|
243 |
+
<script>
|
244 |
+
window.location = '<?php echo $admin_url ?>';
|
245 |
+
</script>
|
246 |
+
<?php
|
247 |
+
exit;
|
248 |
+
}
|
249 |
+
} else {
|
250 |
+
$post_type = self::get_custom_post_type($typenow);
|
251 |
+
$admin_url = admin_url("edit.php?post_type=" . $typenow);
|
252 |
+
$admin_url .= "&{$post_type}=";
|
253 |
+
if (!isset($_REQUEST[$post_type])) {
|
254 |
+
$admin_url .= $last_status;
|
255 |
+
?>
|
256 |
+
<script>
|
257 |
+
window.location = '<?php echo $admin_url ?>';
|
258 |
+
</script>
|
259 |
+
<?php
|
260 |
+
exit;
|
261 |
+
}
|
262 |
+
}
|
263 |
+
}
|
264 |
+
}
|
265 |
|
266 |
$default_folders = get_option('default_folders');
|
267 |
$default_folders = (empty($default_folders) || !is_array($default_folders))?array():$default_folders;
|
689 |
$isAjax = (defined('DOING_AJAX') && DOING_AJAX)?1:0;
|
690 |
$options = get_option('folders_settings');
|
691 |
$options = (empty($options) || !is_array($options))?array():$options;
|
692 |
+
$last_status = get_option("last_folder_status_for".$typenow);
|
693 |
+
if(!$isAjax && (in_array($typenow, $options) || !empty($last_status)) && (isset($current_screen->base) && ($current_screen->base == "edit" || ($current_screen->base == "upload")))) {
|
694 |
|
695 |
$default_folders = get_option('default_folders');
|
696 |
$default_folders = (empty($default_folders) || !is_array($default_folders))?array():$default_folders;
|
697 |
|
698 |
+
if(!empty($last_status)) {
|
699 |
+
$status = 1;
|
700 |
+
if($last_status != "-1" && $last_status != "all") {
|
701 |
+
$type = self::get_custom_post_type($typenow);
|
702 |
+
$term = get_term_by('slug', $last_status, $type);
|
703 |
+
if (empty($term) || !is_object($term)) {
|
704 |
+
$status = 0;
|
705 |
+
}
|
706 |
+
}
|
707 |
+
delete_option("last_folder_status_for".$typenow);
|
708 |
+
if($last_status == "all") {
|
709 |
+
$last_status = "";
|
710 |
+
}
|
711 |
+
if($status) {
|
712 |
+
if ($typenow == "attachment") {
|
713 |
+
if (!isset($_REQUEST['media_folder'])) {
|
714 |
+
$admin_url = admin_url("upload.php?post_type=attachment&media_folder=");
|
715 |
+
$admin_url .= $last_status;
|
716 |
+
?>
|
717 |
+
<script>
|
718 |
+
window.location = '<?php echo $admin_url ?>';
|
719 |
+
</script>
|
720 |
+
<?php
|
721 |
+
exit;
|
722 |
+
}
|
723 |
+
}
|
724 |
+
}
|
725 |
+
}
|
726 |
+
|
727 |
$status = 1;
|
728 |
if(isset($default_folders[$typenow]) && !empty($default_folders[$typenow])) {
|
729 |
$type = self::get_custom_post_type($typenow);
|
2337 |
wp_register_script('wcp-folders-alert', plugin_dir_url(dirname(__FILE__)) . 'assets/js/livequery.min.js', array(), WCP_FOLDER_VERSION);
|
2338 |
wp_register_script('wcp-folders-custom', plugin_dir_url(dirname(__FILE__)) . 'assets/js/custom.js', array('jquery', 'jquery-ui-resizable', 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-sortable', 'backbone'), WCP_FOLDER_VERSION);
|
2339 |
|
2340 |
+
|
2341 |
+
$post_type = self::get_custom_post_type($typenow);
|
2342 |
+
|
2343 |
if ($typenow == "attachment") {
|
2344 |
$admin_url = admin_url("upload.php?post_type=attachment&media_folder=");
|
2345 |
} else {
|
2347 |
if (isset($_GET['s']) && !empty($_GET['s'])) {
|
2348 |
$admin_url .= "&s=" . $_GET['s'];
|
2349 |
}
|
|
|
2350 |
$admin_url .= "&{$post_type}=";
|
2351 |
}
|
2352 |
|
2353 |
+
$current_url = $admin_url;
|
2354 |
+
if(isset($_GET[$post_type]) && !empty($_GET[$post_type])) {
|
2355 |
+
$current_url .= $_GET[$post_type];
|
2356 |
+
}
|
2357 |
+
|
2358 |
+
|
2359 |
$is_active = 1;
|
2360 |
$folders = -1;
|
2361 |
if (!self::check_has_valid_key()) {
|
2380 |
$taxonomy_status = 1;
|
2381 |
} else if(isset($_GET[$post_type]) && !empty($_GET[$post_type])) {
|
2382 |
$selected_taxonomy = $_GET[$post_type];
|
2383 |
+
|
2384 |
+
$term = get_term_by('slug', $selected_taxonomy, $post_type );
|
2385 |
+
if (!empty($term) && is_object($term)) {
|
2386 |
+
$selected_taxonomy = $term->term_id;
|
2387 |
+
} else {
|
2388 |
+
$selected_taxonomy = "";
|
2389 |
+
}
|
2390 |
}
|
2391 |
wp_localize_script('wcp-folders-custom', 'wcp_settings', array(
|
2392 |
'ajax_url' => admin_url('admin-ajax.php'),
|
2393 |
'upgrade_url' => admin_url('admin.php?page=wcp_folders_upgrade'),
|
2394 |
'post_type' => $typenow,
|
2395 |
'page_url' => $admin_url,
|
2396 |
+
'current_url' => $current_url,
|
2397 |
'ajax_image' => plugin_dir_url(dirname(__FILE__)) . "assets/images/ajax-loader.gif",
|
2398 |
'is_key_active' => $is_active,
|
2399 |
'folders' => $folders,
|
readme.txt
CHANGED
@@ -3,7 +3,7 @@ Contributors: galdub, tomeraharon, premio
|
|
3 |
Tags: folder, folders, organize, pages folders, media library, posts folders, media folders, subfolders, file manager, directories
|
4 |
Requires at least: 3.0.0
|
5 |
Tested up to: 5.3
|
6 |
-
Stable tag: 2.4.
|
7 |
Plugin URI: https://premio.io/downloads/folders/
|
8 |
|
9 |
Folders is a WordPress plugin that will help you quickly organize and manage all of your Pages, Posts and Media library files in folders.
|
@@ -143,6 +143,9 @@ A live demo for the Folders plugin is available at <a href="https://demo.premio.
|
|
143 |
|
144 |
== Changelog ==
|
145 |
|
|
|
|
|
|
|
146 |
= 2.4.3 =
|
147 |
Small bugs fixed including: folder filtering bugs (trash, draft etc), WooCommerce products duplicate bug, quick edit in folders, Media Library Assistant compatibility and more
|
148 |
|
3 |
Tags: folder, folders, organize, pages folders, media library, posts folders, media folders, subfolders, file manager, directories
|
4 |
Requires at least: 3.0.0
|
5 |
Tested up to: 5.3
|
6 |
+
Stable tag: 2.4.4
|
7 |
Plugin URI: https://premio.io/downloads/folders/
|
8 |
|
9 |
Folders is a WordPress plugin that will help you quickly organize and manage all of your Pages, Posts and Media library files in folders.
|
143 |
|
144 |
== Changelog ==
|
145 |
|
146 |
+
= 2.4.4 =
|
147 |
+
From now on when you clone/edit/publish pages, posts and custom posts in a specific folder, you'll stay in that folder
|
148 |
+
|
149 |
= 2.4.3 =
|
150 |
Small bugs fixed including: folder filtering bugs (trash, draft etc), WooCommerce products duplicate bug, quick edit in folders, Media Library Assistant compatibility and more
|
151 |
|