PluginProbe ʕ •ᴥ•ʔ
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager / 3.0.9
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager v3.0.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 1 year ago includes 1 year ago languages 6 years ago libraries 1 year ago templates 1 year ago folders.php 1 year ago readme.txt 1 year ago
folders.php
195 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.0.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.0.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 include_once plugin_dir_path(__FILE__) . "includes/svg.class.php";
112 register_activation_hook( __FILE__, array( 'WCP_Folders', 'activate' ) );
113 register_deactivation_hook( __FILE__, array( 'WCP_Folders', 'deactivate' ) );
114
115 WCP_Folders::get_instance();
116
117
118 /* Affiliate Class*/
119 if(is_admin()) {
120 include_once plugin_dir_path(__FILE__)."includes/class-affiliate.php";
121 include_once plugin_dir_path(__FILE__) . "includes/class-review-box.php";
122 include_once plugin_dir_path(__FILE__) . "includes/class-email-signup.php";
123 }
124
125 if(!function_exists('premio_folders_plugin_check_for_setting')) {
126 function premio_folders_plugin_check_for_setting() {
127 $status = get_option("folders_settings_updated");
128 if($status === false) {
129 add_option("folders_settings_updated", "1");
130 $customize_folders = get_option("customize_folders");
131 $customize_folders = !is_array($customize_folders)?array():$customize_folders;
132
133 $default_folders = get_option("default_folders");
134 $default_folders = !is_array($default_folders)?array():$default_folders;
135
136 $folders_settings = get_option("folders_settings");
137 $folders_settings = !is_array($folders_settings)?array():$folders_settings;
138
139 $general = array(
140 'has_stars' => 0,
141 'has_child' => 0
142 );
143
144 global $wpdb;
145
146 $total_stars = $wpdb->get_var("SELECT COUNT($wpdb->termmeta.term_id) AS total_records FROM {$wpdb->termmeta} WHERE meta_key = 'is_highlighted'");
147 if(!empty($total_stars)) {
148 $general['has_stars'] = 1;
149 }
150
151 $eCondition = "($wpdb->term_taxonomy.taxonomy = 'folder'
152 OR $wpdb->term_taxonomy.taxonomy = 'media_folder'
153 OR $wpdb->term_taxonomy.taxonomy = 'post_folder'";
154 $post_types = get_post_types( array( ), 'objects' );
155 $post_array = array("page", "post", "attachment");
156 foreach ( $post_types as $post_type ) {
157 if(!in_array($post_type->name, $post_array)) {
158 $eCondition .= "OR $wpdb->term_taxonomy.taxonomy = '".esc_attr($post_type->name)."_folder'";
159 }
160 }
161 $eCondition .= ")";
162 $total_records = $wpdb->get_var("SELECT COUNT($wpdb->terms.term_id) AS total_records
163 FROM $wpdb->terms
164 INNER JOIN $wpdb->term_taxonomy
165 ON $wpdb->terms.term_id = $wpdb->term_taxonomy.term_id
166 WHERE $wpdb->terms.term_id NOT IN(
167 SELECT $wpdb->term_taxonomy.parent
168 FROM $wpdb->term_taxonomy
169 )
170 AND {$eCondition}");
171
172 $total_parents = $wpdb->get_var("SELECT COUNT($wpdb->terms.term_id) AS total_records
173 FROM $wpdb->terms
174 INNER JOIN $wpdb->term_taxonomy
175 ON $wpdb->terms.term_id = $wpdb->term_taxonomy.term_id
176 WHERE {$eCondition}");
177
178 if(!empty($total_parents) && $total_parents != $total_records) {
179 $general['has_child'] = 1;
180 }
181
182 $folder_options = array(
183 'customize_folders' => $customize_folders,
184 'default_folders' => $default_folders,
185 'folders_settings' => $folders_settings,
186 'general' => $general
187 );
188
189 add_option("premio_folder_options", $folder_options);
190 }
191 }
192
193 add_action( 'plugins_loaded', 'premio_folders_plugin_check_for_setting' );
194 }
195