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