$markerline ) { if (strpos($markerline, '# BEGIN ' . $marker) !== false) $state = false; if ( $state ) { if ( $n + 1 < count( $markerdata ) ) fwrite( $f, "{$markerline}\n" ); else fwrite( $f, "{$markerline}" ); } if (strpos($markerline, '# END ' . $marker) !== false) { fwrite( $f, "# BEGIN {$marker}\n" ); if ( is_array( $insertion )) foreach ( $insertion as $insertline ) fwrite( $f, "{$insertline}\n" ); fwrite( $f, "# END {$marker}\n" ); $state = true; $foundit = true; } } } if (!$foundit) { fwrite( $f, "\n# BEGIN {$marker}\n" ); foreach ( $insertion as $insertline ) fwrite( $f, "{$insertline}\n" ); fwrite( $f, "# END {$marker}\n" ); } fclose( $f ); return true; } else { return false; } } /** * Updates the htaccess file with the current rules if it is writable. * * Always writes to the file if it exists and is writable to ensure that we * blank out old rules. * * @since unknown */ function save_mod_rewrite_rules() { global $wp_rewrite; $home_path = get_home_path(); $htaccess_file = $home_path.'.htaccess'; // If the file doesn't already exists check for write access to the directory and whether of not we have some rules. // else check for write access to the file. if ((!file_exists($htaccess_file) && is_writable($home_path) && $wp_rewrite->using_mod_rewrite_permalinks()) || is_writable($htaccess_file)) { if ( got_mod_rewrite() ) { $rules = explode( "\n", $wp_rewrite->mod_rewrite_rules() ); return insert_with_markers( $htaccess_file, 'WordPress', $rules ); } } return false; } /** * {@internal Missing Short Description}} * * @since unknown * * @param unknown_type $file */ function update_recently_edited( $file ) { $oldfiles = (array ) get_option( 'recently_edited' ); if ( $oldfiles ) { $oldfiles = array_reverse( $oldfiles ); $oldfiles[] = $file; $oldfiles = array_reverse( $oldfiles ); $oldfiles = array_unique( $oldfiles ); if ( 5 < count( $oldfiles )) array_pop( $oldfiles ); } else { $oldfiles[] = $file; } update_option( 'recently_edited', $oldfiles ); } /** * If siteurl or home changed, flush rewrite rules. * * @since unknown * * @param unknown_type $old_value * @param unknown_type $value */ function update_home_siteurl( $old_value, $value ) { global $wp_rewrite; if ( defined( "WP_INSTALLING" ) ) return; // If home changed, write rewrite rules to new location. $wp_rewrite->flush_rules(); } add_action( 'update_option_home', 'update_home_siteurl', 10, 2 ); add_action( 'update_option_siteurl', 'update_home_siteurl', 10, 2 ); /** * {@internal Missing Short Description}} * * @since unknown * * @param unknown_type $url * @return unknown */ function url_shorten( $url ) { $short_url = str_replace( 'http://', '', stripslashes( $url )); $short_url = str_replace( 'www.', '', $short_url ); if ('/' == substr( $short_url, -1 )) $short_url = substr( $short_url, 0, -1 ); if ( strlen( $short_url ) > 35 ) $short_url = substr( $short_url, 0, 32 ).'...'; return $short_url; } /** * {@internal Missing Short Description}} * * @since unknown * * @param unknown_type $vars */ function wp_reset_vars( $vars ) { for ( $i=0; $iget_error_data() ) $message = $message->get_error_message() . ': ' . $message->get_error_data(); else $message = $message->get_error_message(); } echo "

$message

\n"; } /* Whitelist functions */ /** * {@internal Missing Short Description}} * * @since unknown * * @param unknown_type $option_group * @param unknown_type $option_name * @param unknown_type $sanitize_callback * @return unknown */ function register_setting($option_group, $option_name, $sanitize_callback = '') { return add_option_update_handler($option_group, $option_name, $sanitize_callback); } /** * {@internal Missing Short Description}} * * @since unknown * * @param unknown_type $option_group * @param unknown_type $option_name * @param unknown_type $sanitize_callback * @return unknown */ function unregister_setting($option_group, $option_name, $sanitize_callback = '') { return remove_option_update_handler($option_group, $option_name, $sanitize_callback); } /** * {@internal Missing Short Description}} * * @since unknown * * @param unknown_type $option_group * @param unknown_type $option_name * @param unknown_type $sanitize_callback */ function add_option_update_handler($option_group, $option_name, $sanitize_callback = '') { global $new_whitelist_options; $new_whitelist_options[ $option_group ][] = $option_name; if ( $sanitize_callback != '' ) add_filter( "sanitize_option_{$option_name}", $sanitize_callback ); } /** * {@internal Missing Short Description}} * * @since unknown * * @param unknown_type $option_group * @param unknown_type $option_name * @param unknown_type $sanitize_callback */ function remove_option_update_handler($option_group, $option_name, $sanitize_callback = '') { global $new_whitelist_options; $pos = array_search( $option_name, $new_whitelist_options ); if ( $pos !== false ) unset( $new_whitelist_options[ $option_group ][ $pos ] ); if ( $sanitize_callback != '' ) remove_filter( "sanitize_option_{$option_name}", $sanitize_callback ); } /** * {@internal Missing Short Description}} * * @since unknown * * @param unknown_type $options * @return unknown */ function option_update_filter( $options ) { global $new_whitelist_options; if ( is_array( $new_whitelist_options ) ) $options = add_option_whitelist( $new_whitelist_options, $options ); return $options; } add_filter( 'whitelist_options', 'option_update_filter' ); /** * {@internal Missing Short Description}} * * @since unknown * * @param unknown_type $new_options * @param unknown_type $options * @return unknown */ function add_option_whitelist( $new_options, $options = '' ) { if( $options == '' ) { global $whitelist_options; } else { $whitelist_options = $options; } foreach( $new_options as $page => $keys ) { foreach( $keys as $key ) { $pos = array_search( $key, $whitelist_options[ $page ] ); if( $pos === false ) $whitelist_options[ $page ][] = $key; } } return $whitelist_options; } /** * {@internal Missing Short Description}} * * @since unknown * * @param unknown_type $del_options * @param unknown_type $options * @return unknown */ function remove_option_whitelist( $del_options, $options = '' ) { if( $options == '' ) { global $whitelist_options; } else { $whitelist_options = $options; } foreach( $del_options as $page => $keys ) { foreach( $keys as $key ) { $pos = array_search( $key, $whitelist_options[ $page ] ); if( $pos !== false ) unset( $whitelist_options[ $page ][ $pos ] ); } } return $whitelist_options; } ?>