2010-01-25 19:50:01 +01:00
< ? php
2010-01-25 20:46:24 +01:00
/**
* Deprecated admin functions from past WordPress versions . You shouldn ' t use these
2010-01-27 15:10:32 +01:00
* functions and look for the alternatives instead . The functions will be removed
* in a later version .
2010-01-25 20:46:24 +01:00
*
* @ package WordPress
* @ subpackage Deprecated
*/
2010-01-25 19:50:01 +01:00
2010-01-27 15:10:32 +01:00
/*
* Deprecated functions come here to die .
*/
/**
2013-09-02 13:19:10 +02:00
* @ since 2.1 . 0
* @ deprecated 2.1 . 0
2011-08-03 12:19:00 +02:00
* @ deprecated Use wp_editor () .
* @ see wp_editor ()
2010-01-27 15:10:32 +01:00
*/
function tinymce_include () {
2011-08-03 12:19:00 +02:00
_deprecated_function ( __FUNCTION__ , '2.1' , 'wp_editor()' );
2010-01-27 15:10:32 +01:00
2011-11-22 22:47:01 +01:00
wp_tiny_mce ();
2010-01-27 15:10:32 +01:00
}
/**
* Unused Admin function .
*
2013-09-02 13:19:10 +02:00
* @ since 2.0 . 0
* @ deprecated 2.5 . 0
2010-01-27 15:10:32 +01:00
*
*/
function documentation_link () {
2010-06-28 12:11:41 +02:00
_deprecated_function ( __FUNCTION__ , '2.5' );
2010-01-27 15:10:32 +01:00
return ;
}
2010-01-25 19:50:01 +01:00
/**
2011-09-03 16:18:10 +02:00
* Calculates the new dimensions for a downsampled image .
2010-01-25 19:50:01 +01:00
*
* @ since 2.0 . 0
* @ deprecated 3.0 . 0
* @ deprecated Use wp_constrain_dimensions ()
2012-09-13 19:09:41 +02:00
* @ see wp_constrain_dimensions ()
2010-01-25 19:50:01 +01:00
*
* @ param int $width Current width of the image
* @ param int $height Current height of the image
* @ param int $wmax Maximum wanted width
* @ param int $hmax Maximum wanted height
2012-09-13 19:09:41 +02:00
* @ return array Shrunk dimensions ( width , height ) .
2010-01-25 19:50:01 +01:00
*/
function wp_shrink_dimensions ( $width , $height , $wmax = 128 , $hmax = 96 ) {
_deprecated_function ( __FUNCTION__ , '3.0' , 'wp_constrain_dimensions()' );
return wp_constrain_dimensions ( $width , $height , $wmax , $hmax );
}
2012-09-11 03:38:26 +02:00
/**
* Calculated the new dimensions for a downsampled image .
*
* @ since 2.0 . 0
* @ deprecated 3.5 . 0
2012-09-13 19:09:41 +02:00
* @ deprecated Use wp_constrain_dimensions ()
2012-09-11 03:38:26 +02:00
* @ see wp_constrain_dimensions ()
*
* @ param int $width Current width of the image
* @ param int $height Current height of the image
2012-09-13 19:09:41 +02:00
* @ return array Shrunk dimensions ( width , height ) .
2012-09-11 03:38:26 +02:00
*/
function get_udims ( $width , $height ) {
_deprecated_function ( __FUNCTION__ , '3.5' , 'wp_constrain_dimensions()' );
return wp_constrain_dimensions ( $width , $height , 128 , 96 );
}
2010-02-13 08:42:02 +01:00
/**
* { @ internal Missing Short Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 0.71
2010-06-28 12:11:41 +02:00
* @ deprecated 2.6 . 0
2010-02-13 08:42:02 +01:00
* @ deprecated Use wp_category_checklist ()
* @ see wp_category_checklist ()
*
* @ param unknown_type $default
* @ param unknown_type $parent
* @ param unknown_type $popular_ids
*/
function dropdown_categories ( $default = 0 , $parent = 0 , $popular_ids = array () ) {
2010-06-28 12:11:41 +02:00
_deprecated_function ( __FUNCTION__ , '2.6' , 'wp_category_checklist()' );
2010-02-13 08:42:02 +01:00
global $post_ID ;
wp_category_checklist ( $post_ID );
}
/**
* { @ internal Missing Short Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-06-28 12:11:41 +02:00
* @ deprecated 2.6 . 0
2010-02-13 08:42:02 +01:00
* @ deprecated Use wp_link_category_checklist ()
* @ see wp_link_category_checklist ()
*
* @ param unknown_type $default
*/
function dropdown_link_categories ( $default = 0 ) {
2010-06-28 12:11:41 +02:00
_deprecated_function ( __FUNCTION__ , '2.6' , 'wp_link_category_checklist()' );
2010-02-13 08:42:02 +01:00
global $link_id ;
wp_link_category_checklist ( $link_id );
}
2013-09-02 13:19:10 +02:00
/**
* Get the real filesystem path to a file to edit within the admin .
*
* @ since 1.5 . 0
* @ deprecated 2.9 . 0
* @ uses WP_CONTENT_DIR Full filesystem path to the wp - content directory .
2013-09-17 11:08:08 +02:00
*
2013-09-02 13:19:10 +02:00
* @ param string $file Filesystem path relative to the wp - content directory .
* @ return string Full filesystem path to edit .
*/
function get_real_file_to_edit ( $file ) {
_deprecated_function ( __FUNCTION__ , '2.9' );
return WP_CONTENT_DIR . $file ;
}
2010-02-13 08:42:02 +01:00
/**
* { @ internal Missing Short Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 1.2 . 0
2010-02-13 08:42:02 +01:00
* @ deprecated 3.0 . 0
* @ deprecated Use wp_dropdown_categories ()
* @ see wp_dropdown_categories ()
*
* @ param unknown_type $currentcat
* @ param unknown_type $currentparent
* @ param unknown_type $parent
* @ param unknown_type $level
* @ param unknown_type $categories
* @ return unknown
*/
function wp_dropdown_cats ( $currentcat = 0 , $currentparent = 0 , $parent = 0 , $level = 0 , $categories = 0 ) {
_deprecated_function ( __FUNCTION__ , '3.0' , 'wp_dropdown_categories()' );
if ( ! $categories )
$categories = get_categories ( array ( 'hide_empty' => 0 ) );
if ( $categories ) {
foreach ( $categories as $category ) {
if ( $currentcat != $category -> term_id && $parent == $category -> parent ) {
$pad = str_repeat ( '– ' , $level );
$category -> name = esc_html ( $category -> name );
echo " \n \t <option value=' $category->term_id ' " ;
if ( $currentparent == $category -> term_id )
echo " selected='selected' " ;
echo " > $pad $category->name </option> " ;
wp_dropdown_cats ( $currentcat , $currentparent , $category -> term_id , $level + 1 , $categories );
}
}
} else {
return false ;
}
}
2010-03-23 00:03:31 +01:00
/**
* Register a setting and its sanitization callback
*
* @ since 2.7 . 0
* @ deprecated 3.0 . 0
* @ deprecated Use register_setting ()
* @ see register_setting ()
*
2011-12-14 00:45:31 +01:00
* @ param string $option_group A settings group name . Should correspond to a whitelisted option key name .
2010-03-23 00:03:31 +01:00
* Default whitelisted option key names include " general, " " discussion, " and " reading, " among others .
* @ param string $option_name The name of an option to sanitize and save .
* @ param unknown_type $sanitize_callback A callback function that sanitizes the option ' s value .
* @ return unknown
*/
function add_option_update_handler ( $option_group , $option_name , $sanitize_callback = '' ) {
_deprecated_function ( __FUNCTION__ , '3.0' , 'register_setting()' );
return register_setting ( $option_group , $option_name , $sanitize_callback );
}
/**
* Unregister a setting
*
* @ since 2.7 . 0
* @ deprecated 3.0 . 0
* @ deprecated Use unregister_setting ()
* @ see unregister_setting ()
*
* @ param unknown_type $option_group
* @ param unknown_type $option_name
* @ param unknown_type $sanitize_callback
* @ return unknown
*/
function remove_option_update_handler ( $option_group , $option_name , $sanitize_callback = '' ) {
_deprecated_function ( __FUNCTION__ , '3.0' , 'unregister_setting()' );
return unregister_setting ( $option_group , $option_name , $sanitize_callback );
}
2010-05-18 05:48:22 +02:00
/**
* Determines the language to use for CodePress syntax highlighting .
*
* @ since 2.8 . 0
* @ deprecated 3.0 . 0
*
* @ param string $filename
**/
function codepress_get_lang ( $filename ) {
_deprecated_function ( __FUNCTION__ , '3.0' );
return ;
}
/**
* Adds Javascript required to make CodePress work on the theme / plugin editors .
*
* @ since 2.8 . 0
* @ deprecated 3.0 . 0
**/
function codepress_footer_js () {
_deprecated_function ( __FUNCTION__ , '3.0' );
return ;
}
/**
* Determine whether to use CodePress .
*
2013-09-02 13:19:10 +02:00
* @ since 2.8 . 0
2010-05-18 05:48:22 +02:00
* @ deprecated 3.0 . 0
**/
function use_codepress () {
_deprecated_function ( __FUNCTION__ , '3.0' );
return ;
}
2010-08-27 02:22:29 +02:00
/**
* @ deprecated 3.1 . 0
*
* @ return array List of user IDs .
*/
function get_author_user_ids () {
2010-11-29 06:39:39 +01:00
_deprecated_function ( __FUNCTION__ , '3.1' , 'get_users()' );
2010-08-27 02:22:29 +02:00
global $wpdb ;
if ( ! is_multisite () )
$level_key = $wpdb -> get_blog_prefix () . 'user_level' ;
else
$level_key = $wpdb -> get_blog_prefix () . 'capabilities' ; // wpmu site admins don't have user_levels
return $wpdb -> get_col ( $wpdb -> prepare ( " SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s AND meta_value != '0' " , $level_key ) );
}
/**
* @ deprecated 3.1 . 0
*
* @ param int $user_id User ID .
* @ return array | bool List of editable authors . False if no editable users .
*/
function get_editable_authors ( $user_id ) {
2010-11-29 06:39:39 +01:00
_deprecated_function ( __FUNCTION__ , '3.1' , 'get_users()' );
2010-08-27 02:22:29 +02:00
global $wpdb ;
$editable = get_editable_user_ids ( $user_id );
if ( ! $editable ) {
return false ;
} else {
$editable = join ( ',' , $editable );
$authors = $wpdb -> get_results ( " SELECT * FROM $wpdb->users WHERE ID IN ( $editable ) ORDER BY display_name " );
}
return apply_filters ( 'get_editable_authors' , $authors );
}
2010-08-27 03:07:21 +02:00
/**
* @ deprecated 3.1 . 0
*
* @ param int $user_id User ID .
* @ param bool $exclude_zeros Optional , default is true . Whether to exclude zeros .
* @ return unknown
*/
function get_editable_user_ids ( $user_id , $exclude_zeros = true , $post_type = 'post' ) {
2010-11-29 06:39:39 +01:00
_deprecated_function ( __FUNCTION__ , '3.1' , 'get_users()' );
2010-08-27 03:07:21 +02:00
global $wpdb ;
2012-08-03 03:06:05 +02:00
if ( ! $user = get_userdata ( $user_id ) )
return array ();
2010-08-27 03:07:21 +02:00
$post_type_obj = get_post_type_object ( $post_type );
if ( ! $user -> has_cap ( $post_type_obj -> cap -> edit_others_posts ) ) {
if ( $user -> has_cap ( $post_type_obj -> cap -> edit_posts ) || ! $exclude_zeros )
2011-08-04 05:09:27 +02:00
return array ( $user -> ID );
2010-08-27 03:07:21 +02:00
else
return array ();
}
if ( ! is_multisite () )
$level_key = $wpdb -> get_blog_prefix () . 'user_level' ;
else
$level_key = $wpdb -> get_blog_prefix () . 'capabilities' ; // wpmu site admins don't have user_levels
$query = $wpdb -> prepare ( " SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s " , $level_key );
if ( $exclude_zeros )
$query .= " AND meta_value != '0' " ;
return $wpdb -> get_col ( $query );
}
/**
* @ deprecated 3.1 . 0
*/
function get_nonauthor_user_ids () {
2010-11-29 06:39:39 +01:00
_deprecated_function ( __FUNCTION__ , '3.1' , 'get_users()' );
2010-08-27 03:07:21 +02:00
global $wpdb ;
if ( ! is_multisite () )
$level_key = $wpdb -> get_blog_prefix () . 'user_level' ;
else
$level_key = $wpdb -> get_blog_prefix () . 'capabilities' ; // wpmu site admins don't have user_levels
return $wpdb -> get_col ( $wpdb -> prepare ( " SELECT user_id FROM $wpdb->usermeta WHERE meta_key = %s AND meta_value = '0' " , $level_key ) );
}
2010-10-07 22:13:11 +02:00
if ( ! class_exists ( 'WP_User_Search' ) ) :
/**
* WordPress User Search class .
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ deprecated 3.1 . 0
*/
class WP_User_Search {
/**
* { @ internal Missing Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access private
* @ var unknown_type
*/
var $results ;
/**
* { @ internal Missing Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access private
* @ var unknown_type
*/
var $search_term ;
/**
* Page number .
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access private
* @ var int
*/
var $page ;
/**
* Role name that users have .
*
2010-12-20 10:25:21 +01:00
* @ since 2.5 . 0
2010-10-07 22:13:11 +02:00
* @ access private
* @ var string
*/
var $role ;
/**
* Raw page number .
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access private
* @ var int | bool
*/
var $raw_page ;
/**
* Amount of users to display per page .
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access public
* @ var int
*/
var $users_per_page = 50 ;
/**
* { @ internal Missing Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access private
* @ var unknown_type
*/
var $first_user ;
/**
* { @ internal Missing Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access private
* @ var int
*/
var $last_user ;
/**
* { @ internal Missing Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access private
* @ var string
*/
var $query_limit ;
/**
* { @ internal Missing Description }}
*
* @ since 3.0 . 0
* @ access private
* @ var string
*/
var $query_orderby ;
/**
* { @ internal Missing Description }}
*
* @ since 3.0 . 0
* @ access private
* @ var string
*/
var $query_from ;
/**
* { @ internal Missing Description }}
*
* @ since 3.0 . 0
* @ access private
* @ var string
*/
var $query_where ;
/**
* { @ internal Missing Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access private
* @ var int
*/
var $total_users_for_query = 0 ;
/**
* { @ internal Missing Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access private
* @ var bool
*/
var $too_many_total_users = false ;
/**
* { @ internal Missing Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access private
* @ var unknown_type
*/
var $search_errors ;
/**
* { @ internal Missing Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.7 . 0
2010-10-07 22:13:11 +02:00
* @ access private
* @ var unknown_type
*/
var $paging_text ;
/**
* PHP4 Constructor - Sets up the object properties .
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
*
* @ param string $search_term Search terms string .
* @ param int $page Optional . Page ID .
* @ param string $role Role name .
* @ return WP_User_Search
*/
function WP_User_Search ( $search_term = '' , $page = '' , $role = '' ) {
_deprecated_function ( __FUNCTION__ , '3.1' , 'WP_User_Query' );
2013-03-01 18:00:25 +01:00
$this -> search_term = wp_unslash ( $search_term );
2010-10-07 22:13:11 +02:00
$this -> raw_page = ( '' == $page ) ? false : ( int ) $page ;
$this -> page = ( int ) ( '' == $page ) ? 1 : $page ;
$this -> role = $role ;
$this -> prepare_query ();
$this -> query ();
$this -> do_paging ();
}
/**
* { @ internal Missing Short Description }}
*
* { @ internal Missing Long Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access public
*/
function prepare_query () {
global $wpdb ;
$this -> first_user = ( $this -> page - 1 ) * $this -> users_per_page ;
$this -> query_limit = $wpdb -> prepare ( " LIMIT %d, %d " , $this -> first_user , $this -> users_per_page );
$this -> query_orderby = ' ORDER BY user_login' ;
$search_sql = '' ;
if ( $this -> search_term ) {
$searches = array ();
$search_sql = 'AND (' ;
foreach ( array ( 'user_login' , 'user_nicename' , 'user_email' , 'user_url' , 'display_name' ) as $col )
2011-06-27 22:47:04 +02:00
$searches [] = $wpdb -> prepare ( $col . ' LIKE %s' , '%' . like_escape ( $this -> search_term ) . '%' );
2010-10-07 22:13:11 +02:00
$search_sql .= implode ( ' OR ' , $searches );
$search_sql .= ')' ;
}
$this -> query_from = " FROM $wpdb->users " ;
$this -> query_where = " WHERE 1=1 $search_sql " ;
if ( $this -> role ) {
$this -> query_from .= " INNER JOIN $wpdb->usermeta ON $wpdb->users .ID = $wpdb->usermeta .user_id " ;
$this -> query_where .= $wpdb -> prepare ( " AND $wpdb->usermeta .meta_key = ' { $wpdb -> prefix } capabilities' AND $wpdb->usermeta .meta_value LIKE %s " , '%' . $this -> role . '%' );
} elseif ( is_multisite () ) {
$level_key = $wpdb -> prefix . 'capabilities' ; // wpmu site admins don't have user_levels
$this -> query_from .= " , $wpdb->usermeta " ;
$this -> query_where .= " AND $wpdb->users .ID = $wpdb->usermeta .user_id AND meta_key = ' { $level_key } ' " ;
}
do_action_ref_array ( 'pre_user_search' , array ( & $this ) );
}
/**
* { @ internal Missing Short Description }}
*
* { @ internal Missing Long Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access public
*/
function query () {
global $wpdb ;
$this -> results = $wpdb -> get_col ( " SELECT DISTINCT( $wpdb->users .ID) " . $this -> query_from . $this -> query_where . $this -> query_orderby . $this -> query_limit );
if ( $this -> results )
$this -> total_users_for_query = $wpdb -> get_var ( " SELECT COUNT(DISTINCT( $wpdb->users .ID)) " . $this -> query_from . $this -> query_where ); // no limit
else
$this -> search_errors = new WP_Error ( 'no_matching_users_found' , __ ( 'No matching users were found!' ));
}
/**
* { @ internal Missing Short Description }}
*
* { @ internal Missing Long Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access public
*/
2013-03-01 18:57:49 +01:00
function prepare_vars_for_template_usage () {}
2010-10-07 22:13:11 +02:00
/**
* { @ internal Missing Short Description }}
*
* { @ internal Missing Long Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access public
*/
function do_paging () {
if ( $this -> total_users_for_query > $this -> users_per_page ) { // have to page the results
$args = array ();
if ( ! empty ( $this -> search_term ) )
$args [ 'usersearch' ] = urlencode ( $this -> search_term );
if ( ! empty ( $this -> role ) )
$args [ 'role' ] = urlencode ( $this -> role );
$this -> paging_text = paginate_links ( array (
'total' => ceil ( $this -> total_users_for_query / $this -> users_per_page ),
'current' => $this -> page ,
'base' => 'users.php?%_%' ,
'format' => 'userspage=%#%' ,
'add_args' => $args
) );
if ( $this -> paging_text ) {
$this -> paging_text = sprintf ( '<span class="displaying-num">' . __ ( 'Displaying %s–%s of %s' ) . '</span>%s' ,
number_format_i18n ( ( $this -> page - 1 ) * $this -> users_per_page + 1 ),
number_format_i18n ( min ( $this -> page * $this -> users_per_page , $this -> total_users_for_query ) ),
number_format_i18n ( $this -> total_users_for_query ),
$this -> paging_text
);
}
}
}
/**
* { @ internal Missing Short Description }}
*
* { @ internal Missing Long Description }}
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access public
*
* @ return unknown
*/
function get_results () {
return ( array ) $this -> results ;
}
/**
* Displaying paging text .
*
* @ see do_paging () Builds paging text .
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access public
*/
function page_links () {
echo $this -> paging_text ;
}
/**
* Whether paging is enabled .
*
* @ see do_paging () Builds paging text .
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access public
*
* @ return bool
*/
function results_are_paged () {
if ( $this -> paging_text )
return true ;
return false ;
}
/**
* Whether there are search terms .
*
2010-12-20 10:25:21 +01:00
* @ since 2.1 . 0
2010-10-07 22:13:11 +02:00
* @ access public
*
* @ return bool
*/
function is_search () {
if ( $this -> search_term )
return true ;
return false ;
}
}
endif ;
2010-08-27 03:07:21 +02:00
/**
* Retrieve editable posts from other users .
*
* @ deprecated 3.1 . 0
*
* @ param int $user_id User ID to not retrieve posts from .
* @ param string $type Optional , defaults to 'any' . Post type to retrieve , can be 'draft' or 'pending' .
* @ return array List of posts from others .
*/
function get_others_unpublished_posts ( $user_id , $type = 'any' ) {
_deprecated_function ( __FUNCTION__ , '3.1' );
global $wpdb ;
$editable = get_editable_user_ids ( $user_id );
if ( in_array ( $type , array ( 'draft' , 'pending' )) )
$type_sql = " post_status = ' $type ' " ;
else
$type_sql = " ( post_status = 'draft' OR post_status = 'pending' ) " ;
$dir = ( 'pending' == $type ) ? 'ASC' : 'DESC' ;
if ( ! $editable ) {
$other_unpubs = '' ;
} else {
$editable = join ( ',' , $editable );
$other_unpubs = $wpdb -> get_results ( $wpdb -> prepare ( " SELECT ID, post_title, post_author FROM $wpdb->posts WHERE post_type = 'post' AND $type_sql AND post_author IN ( $editable ) AND post_author != %d ORDER BY post_modified $dir " , $user_id ) );
}
return apply_filters ( 'get_others_drafts' , $other_unpubs );
}
/**
* Retrieve drafts from other users .
*
* @ deprecated 3.1 . 0
*
* @ param int $user_id User ID .
* @ return array List of drafts from other users .
*/
function get_others_drafts ( $user_id ) {
_deprecated_function ( __FUNCTION__ , '3.1' );
return get_others_unpublished_posts ( $user_id , 'draft' );
}
/**
* Retrieve pending review posts from other users .
*
* @ deprecated 3.1 . 0
*
* @ param int $user_id User ID .
* @ return array List of posts with pending review post type from other users .
*/
function get_others_pending ( $user_id ) {
_deprecated_function ( __FUNCTION__ , '3.1' );
return get_others_unpublished_posts ( $user_id , 'pending' );
}
2011-04-28 14:02:24 +02:00
/**
* Output the QuickPress dashboard widget .
*
* @ since 3.0 . 0
* @ deprecated 3.2 . 0
* @ deprecated Use wp_dashboard_quick_press ()
* @ see wp_dashboard_quick_press ()
*/
function wp_dashboard_quick_press_output () {
_deprecated_function ( __FUNCTION__ , '3.2' , 'wp_dashboard_quick_press()' );
wp_dashboard_quick_press ();
2011-06-27 22:47:04 +02:00
}
2011-08-03 12:19:00 +02:00
/**
2011-10-01 20:07:41 +02:00
* @ since 2.7 . 0
2013-09-02 13:19:10 +02:00
* @ deprecated 3.3 . 0
2011-10-01 20:07:41 +02:00
* @ deprecated Use wp_editor ()
2011-08-03 12:19:00 +02:00
* @ see wp_editor ()
*/
2011-11-22 22:47:01 +01:00
function wp_tiny_mce ( $teeny = false , $settings = false ) {
2011-08-03 12:19:00 +02:00
_deprecated_function ( __FUNCTION__ , '3.3' , 'wp_editor()' );
2011-10-24 21:13:23 +02:00
2011-11-22 22:47:01 +01:00
static $num = 1 ;
2011-11-23 20:06:52 +01:00
if ( ! class_exists ( '_WP_Editors' ) )
require_once ( ABSPATH . WPINC . '/class-wp-editor.php' );
2011-11-22 22:47:01 +01:00
2011-11-23 20:06:52 +01:00
$editor_id = 'content' . $num ++ ;
2011-11-22 22:47:01 +01:00
$set = array (
'teeny' => $teeny ,
'tinymce' => $settings ? $settings : true ,
'quicktags' => false
);
2011-11-23 20:06:52 +01:00
$set = _WP_Editors :: parse_settings ( $editor_id , $set );
_WP_Editors :: editor_settings ( $editor_id , $set );
2011-08-03 12:19:00 +02:00
}
2011-10-01 20:07:41 +02:00
/**
* @ deprecated 3.3 . 0
* @ deprecated Use wp_editor ()
* @ see wp_editor ()
*/
2011-08-03 12:19:00 +02:00
function wp_preload_dialogs () {
2011-10-01 20:07:41 +02:00
_deprecated_function ( __FUNCTION__ , '3.3' , 'wp_editor()' );
2011-08-03 12:19:00 +02:00
}
2011-10-01 20:07:41 +02:00
/**
* @ deprecated 3.3 . 0
* @ deprecated Use wp_editor ()
* @ see wp_editor ()
*/
2011-08-03 12:19:00 +02:00
function wp_print_editor_js () {
2011-10-01 20:07:41 +02:00
_deprecated_function ( __FUNCTION__ , '3.3' , 'wp_editor()' );
2011-08-03 12:19:00 +02:00
}
2011-10-01 20:07:41 +02:00
/**
* @ deprecated 3.3 . 0
* @ deprecated Use wp_editor ()
* @ see wp_editor ()
*/
2011-08-03 12:19:00 +02:00
function wp_quicktags () {
2011-10-01 20:07:41 +02:00
_deprecated_function ( __FUNCTION__ , '3.3' , 'wp_editor()' );
2011-08-03 12:19:00 +02:00
}
2011-10-01 20:07:41 +02:00
/**
* Returns the screen layout options .
*
2011-10-06 18:24:14 +02:00
* @ since 2.8 . 0
2011-10-01 20:07:41 +02:00
* @ deprecated 3.3 . 0
* @ deprecated Use $current_screen -> render_screen_layout ()
* @ see WP_Screen :: render_screen_layout ()
*/
function screen_layout ( $screen ) {
_deprecated_function ( __FUNCTION__ , '3.3' , '$current_screen->render_screen_layout()' );
$current_screen = get_current_screen ();
if ( ! $current_screen )
return '' ;
ob_start ();
$current_screen -> render_screen_layout ();
return ob_get_clean ();
2011-08-03 12:19:00 +02:00
}
2011-10-01 20:07:41 +02:00
/**
* Returns the screen ' s per - page options .
*
2011-10-06 18:24:14 +02:00
* @ since 2.8 . 0
2011-10-01 20:07:41 +02:00
* @ deprecated 3.3 . 0
* @ deprecated Use $current_screen -> render_per_page_options ()
* @ see WP_Screen :: render_per_page_options ()
*/
function screen_options ( $screen ) {
_deprecated_function ( __FUNCTION__ , '3.3' , '$current_screen->render_per_page_options()' );
$current_screen = get_current_screen ();
if ( ! $current_screen )
return '' ;
ob_start ();
$current_screen -> render_per_page_options ();
return ob_get_clean ();
2011-10-01 20:13:27 +02:00
}
/**
* Renders the screen ' s help .
*
2011-10-06 18:24:14 +02:00
* @ since 2.7 . 0
2011-10-01 20:13:27 +02:00
* @ deprecated 3.3 . 0
* @ deprecated Use $current_screen -> render_screen_meta ()
* @ see WP_Screen :: render_screen_meta ()
*/
function screen_meta ( $screen ) {
$current_screen = get_current_screen ();
$current_screen -> render_screen_meta ();
2011-10-23 19:58:06 +02:00
}
2011-10-24 08:10:36 +02:00
/**
* Favorite actions were deprecated in version 3.2 . Use the admin bar instead .
*
* @ since 2.7 . 0
* @ deprecated 3.2 . 0
*/
function favorite_actions () {
_deprecated_function ( __FUNCTION__ , '3.2' , 'WP_Admin_Bar' );
}
2011-10-23 19:58:06 +02:00
function media_upload_image () {
__deprecated_function ( __FUNCTION__ , '3.3' , 'wp_media_upload_handler()' );
return wp_media_upload_handler ();
}
function media_upload_audio () {
__deprecated_function ( __FUNCTION__ , '3.3' , 'wp_media_upload_handler()' );
return wp_media_upload_handler ();
}
function media_upload_video () {
__deprecated_function ( __FUNCTION__ , '3.3' , 'wp_media_upload_handler()' );
return wp_media_upload_handler ();
}
function media_upload_file () {
__deprecated_function ( __FUNCTION__ , '3.3' , 'wp_media_upload_handler()' );
return wp_media_upload_handler ();
}
function type_url_form_image () {
__deprecated_function ( __FUNCTION__ , '3.3' , " wp_media_insert_url_form('image') " );
return wp_media_insert_url_form ( 'image' );
}
function type_url_form_audio () {
__deprecated_function ( __FUNCTION__ , '3.3' , " wp_media_insert_url_form('audio') " );
return wp_media_insert_url_form ( 'audio' );
}
function type_url_form_video () {
__deprecated_function ( __FUNCTION__ , '3.3' , " wp_media_insert_url_form('video') " );
return wp_media_insert_url_form ( 'video' );
}
function type_url_form_file () {
__deprecated_function ( __FUNCTION__ , '3.3' , " wp_media_insert_url_form('file') " );
return wp_media_insert_url_form ( 'file' );
2011-11-22 22:47:01 +01:00
}
2011-12-01 04:29:55 +01:00
/**
* Add contextual help text for a page .
*
* Creates an 'Overview' help tab .
*
* @ since 2.7 . 0
* @ deprecated 3.3 . 0
* @ deprecated Use get_current_screen () -> add_help_tab ()
* @ see WP_Screen
*
2011-12-14 00:45:31 +01:00
* @ param string $screen The handle for the screen to add help to . This is usually the hook name returned by the add_ * _page () functions .
2011-12-01 04:29:55 +01:00
* @ param string $help The content of an 'Overview' help tab .
*/
function add_contextual_help ( $screen , $help ) {
_deprecated_function ( __FUNCTION__ , '3.3' , 'get_current_screen()->add_help_tab()' );
if ( is_string ( $screen ) )
$screen = convert_to_screen ( $screen );
WP_Screen :: add_old_compat_help ( $screen , $help );
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 22:24:44 +01:00
}
/**
* Get the allowed themes for the current blog .
*
* @ since 3.0 . 0
* @ deprecated 3.4 . 0
* @ deprecated Use wp_get_themes ()
* @ see wp_get_themes ()
*
* @ return array $themes Array of allowed themes .
*/
function get_allowed_themes () {
_deprecated_function ( __FUNCTION__ , '3.4' , " wp_get_themes( array( 'allowed' => true ) ) " );
$themes = wp_get_themes ( array ( 'allowed' => true ) );
$wp_themes = array ();
foreach ( $themes as $theme ) {
$wp_themes [ $theme -> get ( 'Name' ) ] = $theme ;
}
return $wp_themes ;
}
/**
* { @ internal Missing Short Description }}
*
* @ since 1.5 . 0
2013-09-02 13:19:10 +02:00
* @ deprecated 3.4 . 0
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 22:24:44 +01:00
*
* @ return unknown
*/
function get_broken_themes () {
_deprecated_function ( __FUNCTION__ , '3.4' , " wp_get_themes( array( 'errors' => true ) " );
$themes = wp_get_themes ( array ( 'errors' => true ) );
$broken = array ();
foreach ( $themes as $theme ) {
Updates to WP_Theme, wp_get_themes(), and related deprecated functions, after [UT570] [UT578] [UT579]. see #20103.
* ['Template Files'] and ['Stylesheet Files'] need to return files from the parent theme as well.
* Don't strip links from the Author header. Some themes rely on the previous behavior, such as to link multiple authors (Sandbox, for example.) Don't restore links to the Name, that's just a bad idea.
* Ensure we are always passing around arrays in get_files/scandir.
* Better inline doc for wp_get_themes() arguments.
* Introduce a 'force' flag for search_theme_directories() to re-scan, rather than return the cache. We will use this to re-build the theme_roots transient in get_theme_roots(), but it is more helpful for unit tests. Since search_theme_directories() is cached, don't cache again in wp_get_themes(). (Again benefits testing.)
* Handle duplicate theme names in the old get_themes() when two themes match (and neither are a default theme, which is already handled). wp_get_themes() will consider both names to be the same; this is just for back compat since get_themes() is keyed by name.
* Include an old array key in wp_broken_themes().
git-svn-id: http://svn.automattic.com/wordpress/trunk@20193 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-03-15 16:39:21 +01:00
$name = $theme -> get ( 'Name' );
$broken [ $name ] = array (
'Name' => $name ,
'Title' => $name ,
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 22:24:44 +01:00
'Description' => $theme -> errors () -> get_error_message (),
);
}
return $broken ;
}
/**
* { @ internal Missing Short Description }}
*
* @ since 2.0 . 0
2013-09-02 13:19:10 +02:00
* @ deprecated 3.4 . 0
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates.
* Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816.
* Error Handling: Broken themes have a WP_Error object attached to them.
* Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces.
* Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info().
* i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858.
* PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214.
Functions deprecated:
* get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes()
* get_theme() and current_theme_info() -- use wp_get_theme()
* get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network()
* wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site()
see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244.
see #20103.
git-svn-id: http://svn.automattic.com/wordpress/trunk@20029 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-28 22:24:44 +01:00
*
* @ return unknown
*/
function current_theme_info () {
_deprecated_function ( __FUNCTION__ , '3.4' , 'wp_get_theme()' );
return wp_get_theme ();
2012-07-26 23:30:06 +02:00
}
/**
* This was once used to display an 'Insert into Post' button . Now it is deprecated and stubbed .
2012-08-28 21:08:28 +02:00
*
2012-07-26 23:30:06 +02:00
* @ deprecated 3.5 . 0
*/
function _insert_into_post_button ( $type ) {
_deprecated_function ( __FUNCTION__ , '3.5' );
}
2012-07-26 23:33:01 +02:00
/**
* This was once used to display a media button . Now it is deprecated and stubbed .
2012-08-28 21:08:28 +02:00
*
2012-07-26 23:33:01 +02:00
* @ deprecated 3.5 . 0
*/
function _media_button ( $title , $icon , $type , $id ) {
_deprecated_function ( __FUNCTION__ , '3.5' );
}
2012-08-28 21:08:28 +02:00
/**
* Get an existing post and format it for editing .
*
* @ since 2.0 . 0
* @ deprecated 3.5 . 0
*
* @ param int $id
* @ return object
*/
function get_post_to_edit ( $id ) {
_deprecated_function ( __FUNCTION__ , '3.5' , 'get_post()' );
return get_post ( $id , OBJECT , 'edit' );
}
2012-09-10 22:39:45 +02:00
/**
* Get the default page information to use .
*
* @ since 2.5 . 0
* @ deprecated 3.5 . 0
2012-09-23 19:48:24 +02:00
* @ deprecated Use get_default_post_to_edit ()
2012-09-10 22:39:45 +02:00
*
* @ return WP_Post Post object containing all the default post data as attributes
*/
function get_default_page_to_edit () {
_deprecated_function ( __FUNCTION__ , '3.5' , " get_default_post_to_edit( 'page' ) " );
$page = get_default_post_to_edit ();
$page -> post_type = 'page' ;
return $page ;
}
2012-09-23 19:48:24 +02:00
/**
* This was once used to create a thumbnail from an Image given a maximum side size .
*
* @ since 1.2 . 0
* @ deprecated 3.5 . 0
* @ deprecated Use image_resize ()
2013-02-16 03:52:57 +01:00
* @ see image_resize ()
2012-09-23 19:48:24 +02:00
*
* @ param mixed $file Filename of the original image , Or attachment id .
* @ param int $max_side Maximum length of a single side for the thumbnail .
* @ param mixed $deprecated Never used .
* @ return string Thumbnail path on success , Error string on failure .
*/
function wp_create_thumbnail ( $file , $max_side , $deprecated = '' ) {
2013-02-16 03:52:57 +01:00
_deprecated_function ( __FUNCTION__ , '3.5' , 'image_resize()' );
2012-09-23 19:48:24 +02:00
return apply_filters ( 'wp_create_thumbnail' , image_resize ( $file , $max_side , $max_side ) );
}
2013-09-02 13:26:09 +02:00
/**
* This was once used to display a metabox for the nav menu theme locations .
*
* Deprecated in favor of a 'Manage Locations' tab added to nav menus management screen .
*
* @ since 3.0 . 0
* @ deprecated 3.6 . 0
*/
function wp_nav_menu_locations_meta_box () {
2013-09-17 11:08:08 +02:00
_deprecated_function ( __FUNCTION__ , '3.6' );
2013-09-02 13:26:09 +02:00
}
2013-09-09 08:45:08 +02:00
/**
* This was once used to kick - off the Core Updater .
*
* Deprecated in favor of instantating a Core_Upgrader instance directly ,
* and calling the 'upgrade' method .
*
* @ since 2.7 . 0
* @ deprecated 3.7 . 0
*/
function wp_update_core ( $current , $feedback = '' ) {
_deprecated_function ( __FUNCTION__ , '3.7' , 'new Core_Upgrader();' );
if ( ! empty ( $feedback ) )
add_filter ( 'update_feedback' , $feedback );
include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ;
$upgrader = new Core_Upgrader ();
return $upgrader -> upgrade ( $current );
}
/**
* This was once used to kick - off the Plugin Updater .
*
* Deprecated in favor of instantating a Plugin_Upgrader instance directly ,
* and calling the 'upgrade' method .
* Unused since 2.8 . 0.
*
* @ since 2.5 . 0
* @ deprecated 3.7 . 0
*/
function wp_update_plugin ( $plugin , $feedback = '' ) {
_deprecated_function ( __FUNCTION__ , '3.7' , 'new Plugin_Upgrader();' );
if ( ! empty ( $feedback ) )
add_filter ( 'update_feedback' , $feedback );
include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ;
$upgrader = new Plugin_Upgrader ();
return $upgrader -> upgrade ( $plugin );
}
/**
* This was once used to kick - off the Plugin Updater .
*
* Deprecated in favor of instantating a Plugin_Upgrader instance directly ,
* and calling the 'upgrade' method .
* Unused since 2.8 . 0.
*
* @ since 2.7 . 0
* @ deprecated 3.7 . 0
*/
function wp_update_theme ( $theme , $feedback = '' ) {
_deprecated_function ( __FUNCTION__ , '3.7' , 'new Theme_Upgrader();' );
if ( ! empty ( $feedback ) )
add_filter ( 'update_feedback' , $feedback );
include ABSPATH . 'wp-admin/includes/class-wp-upgrader.php' ;
$upgrader = new Theme_Upgrader ();
return $upgrader -> upgrade ( $theme );
}
2013-09-17 11:08:08 +02:00
/**
* This was once used to display attachment links . Now it is deprecated and stubbed .
*
* { @ internal Missing Short Description }}
2013-10-23 16:40:10 +02:00
*
* @ since 2.0 . 0
2013-09-17 11:08:08 +02:00
* @ deprecated 3.7 . 0
*
* @ param unknown_type $id
* @ return unknown
*/
function the_attachment_links ( $id = false ) {
_deprecated_function ( __FUNCTION__ , '3.7' );
}