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:
parent
0784227411
commit
88e32d34fc
|
@ -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’ 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') ?> »" />
|
||||
</p>
|
||||
</form>
|
||||
|
|
|
@ -47,20 +47,21 @@ case 'update':
|
|||
// Options that if not there have 0 value but need to be something like "closed"
|
||||
$nonbools = array('default_ping_status', 'default_comment_status');
|
||||
if ($options) {
|
||||
foreach ($options as $option) {
|
||||
$option = trim($option);
|
||||
$value = trim(stripslashes($_POST[$option]));
|
||||
if( in_array($option, $nonbools) && ( $value == '0' || $value == '') )
|
||||
$value = 'closed';
|
||||
foreach ($options as $option) {
|
||||
$option = trim($option);
|
||||
$value = trim(stripslashes($_POST[$option]));
|
||||
if( in_array($option, $nonbools) && ( $value == '0' || $value == '') )
|
||||
$value = 'closed';
|
||||
|
||||
if( $option == 'blogdescription' || $option == 'blogname' )
|
||||
if (current_user_can('unfiltered_html') == false)
|
||||
$value = wp_filter_post_kses( $value );
|
||||
if( $option == 'blogdescription' || $option == 'blogname' )
|
||||
if (current_user_can('unfiltered_html') == false)
|
||||
$value = wp_filter_post_kses( $value );
|
||||
|
||||
if ( update_option($option, $value) )
|
||||
$any_changed++;
|
||||
}
|
||||
}
|
||||
if (update_option($option, $value) ) {
|
||||
$any_changed++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($any_changed) {
|
||||
// If siteurl or home changed, reset cookies.
|
||||
|
@ -78,10 +79,10 @@ case 'update':
|
|||
//$message = sprintf(__('%d setting(s) saved... '), $any_changed);
|
||||
}
|
||||
|
||||
$referred = remove_query_arg('updated' , $_SERVER['HTTP_REFERER']);
|
||||
$goback = add_query_arg('updated', 'true', $_SERVER['HTTP_REFERER']);
|
||||
$goback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $goback);
|
||||
wp_redirect($goback);
|
||||
$referred = remove_query_arg('updated' , $_SERVER['HTTP_REFERER']);
|
||||
$goback = add_query_arg('updated', 'true', $_SERVER['HTTP_REFERER']);
|
||||
$goback = preg_replace('|[^a-z0-9-~+_.?#=&;,/:]|i', '', $goback);
|
||||
wp_redirect($goback);
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
|
@ -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');
|
||||
|
|
|
@ -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 );
|
||||
|
|
|
@ -355,12 +355,13 @@ 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);
|
||||
return true;
|
||||
if ( false === $oldvalue ) {
|
||||
add_option($option_name, $newvalue);
|
||||
return true;
|
||||
}
|
||||
|
||||
if ( is_array($newvalue) || is_object($newvalue) )
|
||||
|
|
Loading…
Reference in New Issue