MSV FM

dot.antimicrobial@66.96.161.157: ~ $
Path : /hermes/sb_web/b744/hautebeautycom.ipage.com/wp-content/mu-plugins/
File Upload :
Current < : /hermes/sb_web/b744/hautebeautycom.ipage.com/wp-content/mu-plugins/PluginOrganizerMU.class.php

<?php
/*Plugin Name: Plugin Organizer MU
Plugin URI: http://wpmason.com
Description: A plugin for specifying the load order of your plugins.
Version: 2.6.2
Author: Jeff Sterup
Author URI: http://www.jsterup.com
License: GPL2*/

class PluginOrganizerMU {
	function disable_plugins($pluginList) {
		global $wpdb, $pagenow;
		$newPluginList = array();
		if (get_option("PO_disable_plugins") == "1" && ((get_option('PO_admin_disable_plugins') != "1" && !is_admin()) || (get_option('PO_admin_disable_plugins') == "1" && $pagenow != "plugins.php"))) {
			if (get_option("PO_version_num") != "2.6.2" && !is_admin()) {
				$newPluginList = $pluginList;
				update_option("PO_disable_plugins", "0");
				update_option("PO_admin_disable_plugins", "0");
			} else {
				$ignoreProtocol = get_option('PO_ignore_protocol');
				$ignoreArguments = get_option('PO_ignore_arguments');
				$globalPlugins = get_option("PO_disabled_plugins");
				if ($ignoreArguments == '1') {
					$splitPath = explode('?', $_SERVER['REQUEST_URI']);
					$requestedPath = $splitPath[0];
				} else {
					$requestedPath = $_SERVER['REQUEST_URI'];
				}

				if ($ignoreProtocol == '1') {
					$url = $_SERVER['HTTP_HOST'].$requestedPath;
					$postPluginQuery = "SELECT * FROM ".$wpdb->prefix."PO_post_plugins WHERE permalink LIKE %s";
					$postPlugins = $wpdb->get_row($wpdb->prepare($postPluginQuery, '%'.$url), ARRAY_A);
					$urlPluginQuery = "SELECT * FROM ".$wpdb->prefix."PO_url_plugins WHERE permalink LIKE %s";
					$urlPlugins = $wpdb->get_row($wpdb->prepare($urlPluginQuery, '%'.$url), ARRAY_A);
				} else {
					$protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') ? 'https' : 'http';
					$url = $protocol.'://'.$_SERVER['HTTP_HOST'].$requestedPath;
					$postPluginQuery = "SELECT * FROM ".$wpdb->prefix."PO_post_plugins WHERE permalink = %s";
					$postPlugins = $wpdb->get_row($wpdb->prepare($postPluginQuery, $url), ARRAY_A);
					$urlPluginQuery = "SELECT * FROM ".$wpdb->prefix."PO_url_plugins WHERE permalink = %s";
					$urlPlugins = $wpdb->get_row($wpdb->prepare($urlPluginQuery, $url), ARRAY_A);
				}

				$disabledPostPlugins = unserialize($postPlugins['disabled_plugins']);
				$enabledPostPlugins = unserialize($postPlugins['enabled_plugins']);
				$disabledUrlPlugins = unserialize($urlPlugins['disabled_plugins']);
				$enabledUrlPlugins = unserialize($urlPlugins['enabled_plugins']);
				if (!is_array($disabledPostPlugins)) {
					$disabledPostPlugins = array();
				}

				if (!is_array($enabledPostPlugins)) {
					$enabledPostPlugins = array();
				}

				if (!is_array($disabledUrlPlugins)) {
					$disabledUrlPlugins = array();
				}

				if (!is_array($enabledUrlPlugins)) {
					$enabledUrlPlugins = array();
				}

				$disabledPlugins = array_merge($disabledPostPlugins, $disabledUrlPlugins);
				$enabledPlugins = array_merge($enabledPostPlugins, $enabledUrlPlugins);

				if (sizeof($disabledPlugins) == 0 && get_option("PO_fuzzy_url_matching") == "1") {
					$endChar = '';
					if (preg_match('/\/$/', $url)) {
						$endChar = '/';
					}

					$choppedUrl = $url;

					//Dont allow an endless loop
					$loopCount = 0;

					if ($ignoreProtocol == '1') {
						$lastUrl = $_SERVER['HTTP_HOST'].$endChar;
					} else {
						$lastUrl = $protocol.'://'.$_SERVER['HTTP_HOST'].$endChar;
					}

					while ($loopCount < 15 && ($choppedUrl = preg_replace('/\/[^\/]+\/?$/', $endChar, $choppedUrl)) && $choppedUrl != $lastUrl) {
						$loopCount++;
						$matchFound = 0;
						if ($ignoreProtocol == '1') {
							$fuzzyPostPluginQuery = "SELECT * FROM ".$wpdb->prefix."PO_post_plugins WHERE permalink LIKE %s AND children=1";
							$fuzzyPostPlugins = $wpdb->get_row($wpdb->prepare($fuzzyPostPluginQuery, '%'.$choppedUrl), ARRAY_A);
							$matchFound = ($wpdb->num_rows > 0)? 1:$matchFound;
							$fuzzyUrlPluginQuery = "SELECT * FROM ".$wpdb->prefix."PO_url_plugins WHERE permalink LIKE %s AND children=1";
							$fuzzyUrlPlugins = $wpdb->get_row($wpdb->prepare($fuzzyUrlPluginQuery, '%'.$choppedUrl), ARRAY_A);
							$matchFound = ($wpdb->num_rows > 0)? 1:$matchFound;
						} else {
							$fuzzyPostPluginQuery = "SELECT * FROM ".$wpdb->prefix."PO_post_plugins WHERE permalink = %s AND children=1";
							$fuzzyPostPlugins = $wpdb->get_row($wpdb->prepare($fuzzyPostPluginQuery, $choppedUrl), ARRAY_A);
							$matchFound = ($wpdb->num_rows > 0)? 1:$matchFound;
							$fuzzyUrlPluginQuery = "SELECT * FROM ".$wpdb->prefix."PO_url_plugins WHERE permalink = %s AND children=1";
							$fuzzyUrlPlugins = $wpdb->get_row($wpdb->prepare($fuzzyUrlPluginQuery, $choppedUrl), ARRAY_A);
							$matchFound = ($wpdb->num_rows > 0)? 1:$matchFound;
						}

						if ($matchFound > 0) {
							$disabledFuzzyPostPlugins = unserialize($fuzzyPostPlugins['disabled_plugins']);
							$enabledFuzzyPostPlugins = unserialize($fuzzyPostPlugins['enabled_plugins']);
							$disabledFuzzyUrlPlugins = unserialize($fuzzyUrlPlugins['disabled_plugins']);
							$enabledFuzzyUrlPlugins = unserialize($fuzzyUrlPlugins['enabled_plugins']);
							if (!is_array($disabledFuzzyPostPlugins)) {
								$disabledFuzzyPostPlugins = array();
							}

							if (!is_array($enabledFuzzyPostPlugins)) {
								$enabledFuzzyPostPlugins = array();
							}

							if (!is_array($disabledFuzzyUrlPlugins)) {
								$disabledFuzzyUrlPlugins = array();
							}

							if (!is_array($enabledFuzzyUrlPlugins)) {
								$enabledFuzzyUrlPlugins = array();
							}

							$disabledPlugins = array_merge($disabledPlugins, array_merge($disabledFuzzyPostPlugins, $disabledFuzzyUrlPlugins));
							$enabledPlugins = array_merge($enabledPlugins, array_merge($enabledFuzzyPostPlugins, $enabledFuzzyUrlPlugins));
							break;
						}
					}
				}

				if (is_array($globalPlugins)) {
					foreach ($pluginList as $plugin) {
						if (in_array($plugin, $globalPlugins) && (!preg_match('/plugin-organizer.php$/', $plugin) || !is_admin())) {
							if (in_array($plugin, $enabledPlugins)) {
								$newPluginList[] = $plugin;
							}
						} else {
							$newPluginList[] = $plugin;
						}
					}
					$pluginList = $newPluginList;
					$newPluginList = array();
				}

				if (is_array($disabledPlugins)) {
					foreach ($pluginList as $plugin) {
						if (!in_array($plugin, $disabledPlugins)) {
							$newPluginList[] = $plugin;
						}
					}
				} else {
					$newPluginList = $pluginList;
				}
			}
		} else {
			$newPluginList = $pluginList;
		}
		return $newPluginList;
	}
	function disable_network_plugins($pluginList) {
		$newPluginList = array();
		if (is_array($pluginList) && sizeOf($pluginList) > 0) {
			$tempPluginList = array_keys($pluginList);
			$tempPluginList = $this->disable_plugins($tempPluginList);
			foreach($tempPluginList as $pluginFile) {
				$newPluginList[$pluginFile] = $pluginList[$pluginFile];
			}
		}
		
		return $newPluginList;
	}
}
$PluginOrganizerMU = new PluginOrganizerMU();

add_filter('option_active_plugins', array($PluginOrganizerMU, 'disable_plugins'), 10, 1);

add_filter('site_option_active_sitewide_plugins', array($PluginOrganizerMU, 'disable_network_plugins'), 10, 1);
?>