PluginProbe ʕ •ᴥ•ʔ
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager / 2.7
Folders – Unlimited Folders to Organize Media Library Folder, Pages, Posts, File Manager v2.7
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 5 years ago includes 5 years ago languages 6 years ago templates 5 years ago folders.php 5 years ago readme.txt 5 years ago
folders.php
184 lines
1 <?php
2 /**
3 * Plugin Name: Folders
4 * Description: Arrange media, pages, custom post types and posts into folders
5 * Version: 2.7
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.7");
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 include_once plugin_dir_path(__FILE__)."includes/plugins.class.php";
102 include_once plugin_dir_path(__FILE__)."includes/media.replace.php";
103 include_once plugin_dir_path(__FILE__)."includes/folders.class.php";
104 register_activation_hook( __FILE__, array( 'WCP_Folders', 'activate' ) );
105 register_deactivation_hook( __FILE__, array( 'WCP_Folders', 'deactivate' ) );
106
107 WCP_Folders::get_instance();
108
109 /* Affiliate Class*/
110 if(is_admin()) {
111 include_once plugin_dir_path(__FILE__)."includes/class-affiliate.php";
112 include_once plugin_dir_path(__FILE__) . "includes/class-review-box.php";
113 }
114
115 if(!function_exists('premio_folders_plugin_check_for_setting')) {
116 function premio_folders_plugin_check_for_setting() {
117 $status = get_option("folders_settings_updated");
118 if($status === false) {
119 add_option("folders_settings_updated", "1");
120 $customize_folders = get_option("customize_folders");
121 $customize_folders = !is_array($customize_folders)?array():$customize_folders;
122
123 $default_folders = get_option("default_folders");
124 $default_folders = !is_array($default_folders)?array():$default_folders;
125
126 $folders_settings = get_option("folders_settings");
127 $folders_settings = !is_array($folders_settings)?array():$folders_settings;
128
129 $general = array(
130 'has_stars' => 0,
131 'has_child' => 0
132 );
133
134 global $wpdb;
135
136 $total_stars = $wpdb->get_var("SELECT COUNT($wpdb->termmeta.term_id) AS total_records FROM {$wpdb->termmeta} WHERE meta_key = 'is_highlighted'");
137 if(!empty($total_stars)) {
138 $general['has_stars'] = 1;
139 }
140
141 $eCondition = "($wpdb->term_taxonomy.taxonomy = 'folder'
142 OR $wpdb->term_taxonomy.taxonomy = 'media_folder'
143 OR $wpdb->term_taxonomy.taxonomy = 'post_folder'";
144 $post_types = get_post_types( array( ), 'objects' );
145 $post_array = array("page", "post", "attachment");
146 foreach ( $post_types as $post_type ) {
147 if(!in_array($post_type->name, $post_array)) {
148 $eCondition .= "OR $wpdb->term_taxonomy.taxonomy = '{$post_type->name}_folder'";
149 }
150 }
151 $eCondition .= ")";
152 $total_records = $wpdb->get_var("SELECT COUNT($wpdb->terms.term_id) AS total_records
153 FROM $wpdb->terms
154 INNER JOIN $wpdb->term_taxonomy
155 ON $wpdb->terms.term_id = $wpdb->term_taxonomy.term_id
156 WHERE $wpdb->terms.term_id NOT IN(
157 SELECT $wpdb->term_taxonomy.parent
158 FROM $wpdb->term_taxonomy
159 )
160 AND {$eCondition}");
161
162 $total_parents = $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 {$eCondition}");
167
168 if(!empty($total_parents) && $total_parents != $total_records) {
169 $general['has_child'] = 1;
170 }
171
172 $folder_options = array(
173 'customize_folders' => $customize_folders,
174 'default_folders' => $default_folders,
175 'folders_settings' => $folders_settings,
176 'general' => $general
177 );
178
179 add_option("premio_folder_options", $folder_options);
180 }
181 }
182
183 add_action( 'plugins_loaded', 'premio_folders_plugin_check_for_setting' );
184 }