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