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