Add upload folder options. Props David House. fixes #2206

git-svn-id: http://svn.automattic.com/wordpress/trunk@3413 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
ryan 2006-01-09 22:24:57 +00:00
parent 0784227411
commit 88e32d34fc
5 changed files with 59 additions and 33 deletions

View File

@ -11,14 +11,33 @@ include('admin-header.php');
<div class="wrap">
<h2><?php _e('Miscellaneous Options') ?></h2>
<form method="post" action="options.php">
<fieldset class="options">
<legend><?php _e('Uploading'); ?></legend>
<table width="100%" cellspacing="2" cellpadding="5" class="editform">
<tr valign="top"><th scope="row" width="33%"><?php _e('Organize uploads:'); ?></th>
<td>
<label for="uploads_use_yearmonth_folders">
<input name="uploads_use_yearmonth_folders" type="checkbox" id="uploads_use_yearmonth_folders" value="1" <?php checked('1', get_settings('uploads_use_yearmonth_folders')); ?> />
<?php _e('Organize my uploads into month- and year-based folders'); ?>
</label>
</td></tr>
<tr valign="top"><th scope="row"><?php _e('Store uploads in this folder (default is wp-content/uploads):'); ?></th>
<td>
<input name="fileupload_realpath" type="text" id="fileupload_realpath" value="<?php echo str_replace(ABSPATH, '', get_settings('fileupload_realpath')); ?>" size="40" />
</td></tr>
</table>
</fieldset>
<p><input name="use_linksupdate" type="checkbox" id="use_linksupdate" value="1" <?php checked('1', get_settings('use_linksupdate')); ?> />
<label for="use_linksupdate"><?php _e('Track Links&#8217; Update Times') ?></label></p>
<p>
<label><input type="checkbox" name="hack_file" value="1" <?php checked('1', get_settings('hack_file')); ?> /> <?php _e('Use legacy <code>my-hacks.php</code> file support') ?></label>
</p>
<p class="submit">
<input type="hidden" name="action" value="update" />
<input type="hidden" name="page_options" value="hack_file,use_linksupdate" />
<input type="hidden" name="page_options" value="hack_file,use_linksupdate,uploads_use_yearmonth_folders,fileupload_realpath" />
<input type="submit" name="Submit" value="<?php _e('Update Options') ?> &raquo;" />
</p>
</form>

View File

@ -57,10 +57,11 @@ case 'update':
if (current_user_can('unfiltered_html') == false)
$value = wp_filter_post_kses( $value );
if ( update_option($option, $value) )
if (update_option($option, $value) ) {
$any_changed++;
}
}
}
if ($any_changed) {
// If siteurl or home changed, reset cookies.

View File

@ -216,10 +216,14 @@ function populate_options() {
add_option('html_type', 'text/html');
// 1.5.1
add_option('use_trackback', 0);
// 1.6
// 2.0
add_option('default_role', 'subscriber');
add_option('rich_editing', 'true');
add_option('db_version', $wp_db_version);
// 2.1
add_option('uploads_use_yearmonth_folders', 1);
add_option('fileupload_realpath', ABSPATH . 'wp-content/uploads');
add_option('fileupload_url', ''); //if this is empty it will be obtained from fileupload_realpath
// Delete unused options
$unusedoptions = array ('blodotgsping_url', 'bodyterminator', 'emailtestonly', 'phoneemail_separator', 'smilies_directory', 'subjectprefix', 'use_bbcode', 'use_blodotgsping', 'use_phoneemail', 'use_quicktags', 'use_weblogsping', 'weblogs_cache_file', 'use_preview', 'use_htmltrans', 'smilies_directory', 'fileupload_allowedusers', 'use_phoneemail', 'default_post_status', 'default_post_category', 'archive_mode', 'time_difference', 'links_minadminlevel', 'links_use_adminlevels', 'links_rating_type', 'links_rating_char', 'links_rating_ignore_zero', 'links_rating_single_image', 'links_rating_image0', 'links_rating_image1', 'links_rating_image2', 'links_rating_image3', 'links_rating_image4', 'links_rating_image5', 'links_rating_image6', 'links_rating_image7', 'links_rating_image8', 'links_rating_image9', 'weblogs_cacheminutes', 'comment_allowed_tags', 'search_engine_friendly_urls', 'default_geourl_lat', 'default_geourl_lon', 'use_default_geourl', 'weblogs_xml_url', 'new_users_can_blog');

View File

@ -876,23 +876,24 @@ function wp_mkdir_p($target) {
// Returns an array containing the current upload directory's path and url, or an error message.
function wp_upload_dir() {
$dir = trim(get_settings('fileupload_realpath'));
$url = trim(get_settings('fileupload_url'));
$siteurl = get_settings('siteurl');
//prepend ABSPATH to $dir and $siteurl to $url if they're not already there
$dir = ABSPATH . str_replace(ABSPATH, '', trim(get_settings('fileupload_realpath')));
$url = $siteurl . str_replace($siteurl, '', trim(get_settings('fileupload_url')));
$custom = true;
if ( empty($dir) || empty($url) ) {
if ( $dir == ABSPATH ) { //the option was empty
$dir = ABSPATH . 'wp-content/uploads';
$url = get_option('siteurl') . '/wp-content/uploads';
$custom = false;
}
if ( $url == $siteurl ) { //the option was empty
$url = get_option('siteurl') . '/' . str_replace(ABSPATH, '', $dir);
}
if ( defined('UPLOADS') ) {
$dir = ABSPATH . UPLOADS;
$url = get_option('siteurl') . '/' . UPLOADS;
$custom = false;
}
if ( ! $custom) {
if ( get_settings('uploads_yearmonth_folders')) {
// Generate the yearly and monthly dirs
$time = current_time( 'mysql' );
$y = substr( $time, 0, 4 );

View File

@ -355,8 +355,9 @@ function update_option($option_name, $newvalue) {
// If the new and old values are the same, no need to update.
$oldvalue = get_option($option_name);
if ( $newvalue == $oldvalue )
if ( $newvalue == $oldvalue ) {
return false;
}
if ( false === $oldvalue ) {
add_option($option_name, $newvalue);