PluginProbe ʕ •ᴥ•ʔ
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager / 2.8.9
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager v2.8.9
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 / folders.php
folders Last commit date
assets 3 years ago includes 3 years ago languages 6 years ago templates 3 years ago folders.php 3 years ago readme.txt 3 years ago
folders.php
187 lines
1 <?php
2 /**
3 * Plugin Name: Folders
4 * Description: Organize your Media library, Pages, and Posts into folders. You can easily drag and drop items into directories and change the folders tree view.
5 * Version: 2.8.8
6 * Author: Premio
7 * Author URI: https://premio.io/downloads/folders/
8 * Text Domain: folders
9 * Domain Path: /languages
10 */
11
12 if ( ! defined( 'ABSPATH' ) ) exit;
13
14 if(!defined("WCP_FOLDERS_PLUGIN_FILE")) {
15 define('WCP_FOLDERS_PLUGIN_FILE', __FILE__);
16 }
17 if(!defined("WCP_FOLDERS_PLUGIN_BASE")) {
18 define('WCP_FOLDERS_PLUGIN_BASE', plugin_basename(WCP_FOLDERS_PLUGIN_FILE));
19 }
20 if(!defined("WCP_DS")) {
21 define("WCP_DS", DIRECTORY_SEPARATOR);
22 }
23 if(!defined("WCP_FOLDER_URL")) {
24 define('WCP_FOLDER_URL', plugin_dir_url(__FILE__));
25 }
26 if(!defined("WCP_FOLDER_VERSION")) {
27 define('WCP_FOLDER_VERSION', "2.8.9");
28 }
29
30
31 if(!function_exists("folders_clear_all_caches")) {
32 function folders_clear_all_caches()
33 {
34 /* Clear cookies from browser */
35 try {
36 global $wp_fastest_cache;
37 // if W3 Total Cache is being used, clear the cache
38 if (function_exists('w3tc_flush_all')) {
39 w3tc_flush_all();
40 /* if WP Super Cache is being used, clear the cache */
41 } else if (function_exists('wp_cache_clean_cache')) {
42 global $file_prefix, $supercachedir;
43 if (empty($supercachedir) && function_exists('get_supercache_dir')) {
44 $supercachedir = get_supercache_dir();
45 }
46 wp_cache_clean_cache($file_prefix);
47 } else if (class_exists('WpeCommon')) {
48 //be extra careful, just in case 3rd party changes things on us
49 if (method_exists('WpeCommon', 'purge_memcached')) {
50 //WpeCommon::purge_memcached();
51 }
52 if (method_exists('WpeCommon', 'clear_maxcdn_cache')) {
53 //WpeCommon::clear_maxcdn_cache();
54 }
55 if (method_exists('WpeCommon', 'purge_varnish_cache')) {
56 //WpeCommon::purge_varnish_cache();
57 }
58 } else if (method_exists('WpFastestCache', 'deleteCache') && !empty($wp_fastest_cache)) {
59 $wp_fastest_cache->deleteCache();
60 } else if (function_exists('rocket_clean_domain')) {
61 rocket_clean_domain();
62 // Preload cache.
63 if (function_exists('run_rocket_sitemap_preload')) {
64 run_rocket_sitemap_preload();
65 }
66 } else if (class_exists("autoptimizeCache") && method_exists("autoptimizeCache", "clearall")) {
67 autoptimizeCache::clearall();
68 } else if (class_exists("LiteSpeed_Cache_API") && method_exists("autoptimizeCache", "purge_all")) {
69 LiteSpeed_Cache_API::purge_all();
70 }
71
72 if (class_exists("Breeze_PurgeCache") && method_exists("Breeze_PurgeCache", "breeze_cache_flush")) {
73 Breeze_PurgeCache::breeze_cache_flush();
74 }
75
76
77 if (class_exists( '\Hummingbird\Core\Utils' ) ) {
78 $modules = \Hummingbird\Core\Utils::get_active_cache_modules();
79 foreach ( $modules as $module => $name ) {
80 $mod = \Hummingbird\Core\Utils::get_module( $module );
81 if ( $mod->is_active() ) {
82 if ( 'minify' === $module ) {
83 $mod->clear_files();
84 } else {
85 $mod->clear_cache();
86 }
87 }
88 }
89 }
90
91 if ( function_exists( 'wp_cache_clean_cache' ) ) {
92 global $file_prefix;
93 wp_cache_clean_cache( $file_prefix, true );
94 }
95 } catch (Exception $e) {
96 return 1;
97 }
98 }
99 }
100
101
102 include_once plugin_dir_path(__FILE__) . "includes/plugins.class.php";
103 include_once plugin_dir_path(__FILE__) . "includes/media.replace.php";
104 include_once plugin_dir_path(__FILE__) . "includes/folders.class.php";
105 register_activation_hook( __FILE__, array( 'WCP_Folders', 'activate' ) );
106 register_deactivation_hook( __FILE__, array( 'WCP_Folders', 'deactivate' ) );
107
108 WCP_Folders::get_instance();
109
110
111 /* Affiliate Class*/
112 if(is_admin()) {
113 include_once plugin_dir_path(__FILE__)."includes/class-affiliate.php";
114 include_once plugin_dir_path(__FILE__) . "includes/class-review-box.php";
115 }
116
117 if(!function_exists('premio_folders_plugin_check_for_setting')) {
118 function premio_folders_plugin_check_for_setting() {
119 $status = get_option("folders_settings_updated");
120 if($status === false) {
121 add_option("folders_settings_updated", "1");
122 $customize_folders = get_option("customize_folders");
123 $customize_folders = !is_array($customize_folders)?array():$customize_folders;
124
125 $default_folders = get_option("default_folders");
126 $default_folders = !is_array($default_folders)?array():$default_folders;
127
128 $folders_settings = get_option("folders_settings");
129 $folders_settings = !is_array($folders_settings)?array():$folders_settings;
130
131 $general = array(
132 'has_stars' => 0,
133 'has_child' => 0
134 );
135
136 global $wpdb;
137
138 $total_stars = $wpdb->get_var("SELECT COUNT($wpdb->termmeta.term_id) AS total_records FROM {$wpdb->termmeta} WHERE meta_key = 'is_highlighted'");
139 if(!empty($total_stars)) {
140 $general['has_stars'] = 1;
141 }
142
143 $eCondition = "($wpdb->term_taxonomy.taxonomy = 'folder'
144 OR $wpdb->term_taxonomy.taxonomy = 'media_folder'
145 OR $wpdb->term_taxonomy.taxonomy = 'post_folder'";
146 $post_types = get_post_types( array( ), 'objects' );
147 $post_array = array("page", "post", "attachment");
148 foreach ( $post_types as $post_type ) {
149 if(!in_array($post_type->name, $post_array)) {
150 $eCondition .= "OR $wpdb->term_taxonomy.taxonomy = '".esc_attr($post_type->name)."_folder'";
151 }
152 }
153 $eCondition .= ")";
154 $total_records = $wpdb->get_var("SELECT COUNT($wpdb->terms.term_id) AS total_records
155 FROM $wpdb->terms
156 INNER JOIN $wpdb->term_taxonomy
157 ON $wpdb->terms.term_id = $wpdb->term_taxonomy.term_id
158 WHERE $wpdb->terms.term_id NOT IN(
159 SELECT $wpdb->term_taxonomy.parent
160 FROM $wpdb->term_taxonomy
161 )
162 AND {$eCondition}");
163
164 $total_parents = $wpdb->get_var("SELECT COUNT($wpdb->terms.term_id) AS total_records
165 FROM $wpdb->terms
166 INNER JOIN $wpdb->term_taxonomy
167 ON $wpdb->terms.term_id = $wpdb->term_taxonomy.term_id
168 WHERE {$eCondition}");
169
170 if(!empty($total_parents) && $total_parents != $total_records) {
171 $general['has_child'] = 1;
172 }
173
174 $folder_options = array(
175 'customize_folders' => $customize_folders,
176 'default_folders' => $default_folders,
177 'folders_settings' => $folders_settings,
178 'general' => $general
179 );
180
181 add_option("premio_folder_options", $folder_options);
182 }
183 }
184
185 add_action( 'plugins_loaded', 'premio_folders_plugin_check_for_setting' );
186 }
187