comicpress-2.8/wpmu/comicpress_manager_wpmu.php

144 lines
4.0 KiB
PHP

<?php
/*
Plugin Name: ComicPress WPMU Functionality
Plugin URI: http://comicpress.org/
Description: Provide the functionality to use ComicPress and ComicPress Manager on a WordPress MU site.
Version: 1.1 - For WPMU 2.9.1
Author: John Bintz
Author URI: http://www.coswellproductions.org/wordpress/
Copyright 2008 John Bintz (email : jcoswell@coswellproductions.org), All Rights Reserved.
*/
/* Functions for ComicPress Themes */
$comicpress_options = get_option('comicpress_options');
extract($comicpress_options['comicpress_config']);
/**
* Fix the search path for comics.
*/
function cpm_wpmu_fix_folder_to_use($folder) {
$wpmu_path = get_option('upload_path');
if (!empty($wpmu_path)) {
$folder = get_option('siteurl') . '/files';
}
return $folder;
}
/**
* Fix the search path for comics.
*/
function cpm_wpmu_fix_comic_path($comic) {
if (($wpmu_path = get_option('upload_path')) !== false) {
$comic = str_replace($wpmu_path, "files", $comic);
}
return $comic;
}
/* Functions for ComicPress Manager */
function cp_option($name) { return get_option("comicpress-${name}"); }
/**
* Add additional parameters to every ComicPress Manager object created.
*/
function cpm_wpmu_config_setup($cpm_config) {
$cpm_config->wpmu_disk_space_message = __("<strong>You've exceeded your disk space quota!</strong> Either delete files you don't need, or find out how to get more disk space for your account.", 'comicpress-manager');
}
/**
* Add WPMU path information to the document root.
*/
function cpm_wpmu_modify_path($document_root) {
$result = get_option('upload_path');
$root_path = str_replace('\wp-admin','',getcwd());
$root_path = str_replace('/wp-admin','',$root_path);
if (!empty($result)) { $document_root = $root_path . '/' . $result; }
return $document_root;
}
/**
* Load ComicPress options from the options table.
*/
function cpm_wpmu_load_options() {
global $cpm_config;
include(ABSPATH . 'wp-content/plugins/comicpress-manager/cp_configuration_options.php');
foreach ($comicpress_configuration_options as $field_info) {
$config_id = (isset($field_info['variable_name'])) ? $field_info['variable_name'] : $field_info['id'];
$result = cp_option($field_info['id']);
if ($result === false) {
update_option("comicpress-" . $field_info['id'], $field_info['default']);
$result = $field_info['default'];
}
$cpm_config->properties[$config_id] = $result;
}
}
/**
* Save ComicPress options to the options table.
*/
function cpm_wpmu_save_options() {
global $cpm_config;
include(ABSPATH . 'wp-content/plugins/comicpress-manager/cp_configuration_options.php');
foreach ($comicpress_configuration_options as $field_info) {
$config_id = (isset($field_info['variable_name'])) ? $field_info['variable_name'] : $field_info['id'];
update_option("comicpress-" . $field_info['id'], $cpm_config->properties[$config_id]);
}
}
/**
* Return the first run directory.
*/
function cpm_wpmu_first_run_root_dir() {
global $blog_id;
return "wp-content/blogs.dir/${blog_id}";
}
/**
* Get the list of directories to create.
*/
function cpm_wpmu_first_run_dir_list() {
$root_dir = ABSPATH . cpm_wpmu_first_run_root_dir();
return array("$root_dir",
"$root_dir/files",
"$root_dir/files/comics",
"$root_dir/files/comics-rss",
"$root_dir/files/comics-archive",
"$root_dir/files/comics-mini");
}
/**
* Action to perform on the end of the first run.
*/
function cpm_wpmu_complete_first_run() {
update_option("upload_path", cpm_wpmu_first_run_root_dir() . "/files");
}
/**
* Get the available disk space for this account.
*/
function cpm_wpmu_get_available_disk_space() {
$space_allowed = 1048576 * get_space_allowed();
$space_used = get_dirsize( constant( "ABSPATH" ) . constant( "UPLOADS" ) );
return $space_allowed - $space_used;
}
/**
* Returns true if current blog is over storage limit.
*/
function cpm_wpmu_is_over_storage_limit() {
return cpm_wpmu_get_available_disk_space() < 0;
}
?>