13 * @since 3.0.0 |
13 * @since 3.0.0 |
14 */ |
14 */ |
15 |
15 |
16 add_action( 'init', 'ms_subdomain_constants' ); |
16 add_action( 'init', 'ms_subdomain_constants' ); |
17 |
17 |
18 // Functions |
18 // Functions. |
19 add_action( 'update_option_blog_public', 'update_blog_public', 10, 2 ); |
19 add_action( 'update_option_blog_public', 'update_blog_public', 10, 2 ); |
20 add_filter( 'option_users_can_register', 'users_can_register_signup_filter' ); |
20 add_filter( 'option_users_can_register', 'users_can_register_signup_filter' ); |
21 add_filter( 'site_option_welcome_user_email', 'welcome_user_msg_filter' ); |
21 add_filter( 'site_option_welcome_user_email', 'welcome_user_msg_filter' ); |
22 |
22 |
23 // Users |
23 // Users. |
24 add_filter( 'wpmu_validate_user_signup', 'signup_nonce_check' ); |
24 add_filter( 'wpmu_validate_user_signup', 'signup_nonce_check' ); |
25 add_action( 'init', 'maybe_add_existing_user_to_blog' ); |
25 add_action( 'init', 'maybe_add_existing_user_to_blog' ); |
26 add_action( 'wpmu_new_user', 'newuser_notify_siteadmin' ); |
26 add_action( 'wpmu_new_user', 'newuser_notify_siteadmin' ); |
27 add_action( 'wpmu_activate_user', 'add_new_user_to_blog', 10, 3 ); |
27 add_action( 'wpmu_activate_user', 'add_new_user_to_blog', 10, 3 ); |
28 add_action( 'wpmu_activate_user', 'wpmu_welcome_user_notification', 10, 3 ); |
28 add_action( 'wpmu_activate_user', 'wpmu_welcome_user_notification', 10, 3 ); |
29 add_action( 'after_signup_user', 'wpmu_signup_user_notification', 10, 4 ); |
29 add_action( 'after_signup_user', 'wpmu_signup_user_notification', 10, 4 ); |
30 add_action( 'network_site_new_created_user', 'wp_send_new_user_notifications' ); |
30 add_action( 'network_site_new_created_user', 'wp_send_new_user_notifications' ); |
31 add_action( 'network_site_users_created_user', 'wp_send_new_user_notifications' ); |
31 add_action( 'network_site_users_created_user', 'wp_send_new_user_notifications' ); |
32 add_action( 'network_user_new_created_user', 'wp_send_new_user_notifications' ); |
32 add_action( 'network_user_new_created_user', 'wp_send_new_user_notifications' ); |
33 add_filter( 'sanitize_user', 'strtolower' ); |
33 add_filter( 'sanitize_user', 'strtolower' ); |
|
34 add_action( 'deleted_user', 'wp_delete_signup_on_user_delete', 10, 3 ); |
34 |
35 |
35 // Roles |
36 // Roles. |
36 add_action( 'switch_blog', 'wp_switch_roles_and_user', 1, 2 ); |
37 add_action( 'switch_blog', 'wp_switch_roles_and_user', 1, 2 ); |
37 |
38 |
38 // Blogs |
39 // Blogs. |
39 add_filter( 'wpmu_validate_blog_signup', 'signup_nonce_check' ); |
40 add_filter( 'wpmu_validate_blog_signup', 'signup_nonce_check' ); |
40 add_action( 'wpmu_activate_blog', 'wpmu_welcome_notification', 10, 5 ); |
41 add_action( 'wpmu_activate_blog', 'wpmu_welcome_notification', 10, 5 ); |
41 add_action( 'after_signup_site', 'wpmu_signup_blog_notification', 10, 7 ); |
42 add_action( 'after_signup_site', 'wpmu_signup_blog_notification', 10, 7 ); |
42 add_filter( 'wp_normalize_site_data', 'wp_normalize_site_data', 10, 1 ); |
43 add_filter( 'wp_normalize_site_data', 'wp_normalize_site_data', 10, 1 ); |
43 add_action( 'wp_validate_site_data', 'wp_validate_site_data', 10, 3 ); |
44 add_action( 'wp_validate_site_data', 'wp_validate_site_data', 10, 3 ); |
51 add_action( 'wp_initialize_site', 'wpmu_log_new_registrations', 100, 2 ); |
52 add_action( 'wp_initialize_site', 'wpmu_log_new_registrations', 100, 2 ); |
52 add_action( 'wp_initialize_site', 'newblog_notify_siteadmin', 100, 1 ); |
53 add_action( 'wp_initialize_site', 'newblog_notify_siteadmin', 100, 1 ); |
53 add_action( 'wp_uninitialize_site', 'wp_uninitialize_site', 10, 1 ); |
54 add_action( 'wp_uninitialize_site', 'wp_uninitialize_site', 10, 1 ); |
54 add_action( 'update_blog_public', 'wp_update_blog_public_option_on_site_update', 1, 2 ); |
55 add_action( 'update_blog_public', 'wp_update_blog_public_option_on_site_update', 1, 2 ); |
55 |
56 |
56 // Site meta |
57 // Site meta. |
57 add_action( 'added_blog_meta', 'wp_cache_set_sites_last_changed' ); |
58 add_action( 'added_blog_meta', 'wp_cache_set_sites_last_changed' ); |
58 add_action( 'updated_blog_meta', 'wp_cache_set_sites_last_changed' ); |
59 add_action( 'updated_blog_meta', 'wp_cache_set_sites_last_changed' ); |
59 add_action( 'deleted_blog_meta', 'wp_cache_set_sites_last_changed' ); |
60 add_action( 'deleted_blog_meta', 'wp_cache_set_sites_last_changed' ); |
60 add_filter( 'get_blog_metadata', 'wp_check_site_meta_support_prefilter' ); |
61 add_filter( 'get_blog_metadata', 'wp_check_site_meta_support_prefilter' ); |
61 add_filter( 'add_blog_metadata', 'wp_check_site_meta_support_prefilter' ); |
62 add_filter( 'add_blog_metadata', 'wp_check_site_meta_support_prefilter' ); |
64 add_filter( 'get_blog_metadata_by_mid', 'wp_check_site_meta_support_prefilter' ); |
65 add_filter( 'get_blog_metadata_by_mid', 'wp_check_site_meta_support_prefilter' ); |
65 add_filter( 'update_blog_metadata_by_mid', 'wp_check_site_meta_support_prefilter' ); |
66 add_filter( 'update_blog_metadata_by_mid', 'wp_check_site_meta_support_prefilter' ); |
66 add_filter( 'delete_blog_metadata_by_mid', 'wp_check_site_meta_support_prefilter' ); |
67 add_filter( 'delete_blog_metadata_by_mid', 'wp_check_site_meta_support_prefilter' ); |
67 add_filter( 'update_blog_metadata_cache', 'wp_check_site_meta_support_prefilter' ); |
68 add_filter( 'update_blog_metadata_cache', 'wp_check_site_meta_support_prefilter' ); |
68 |
69 |
69 // Register Nonce |
70 // Register nonce. |
70 add_action( 'signup_hidden_fields', 'signup_nonce_fields' ); |
71 add_action( 'signup_hidden_fields', 'signup_nonce_fields' ); |
71 |
72 |
72 // Template |
73 // Template. |
73 add_action( 'template_redirect', 'maybe_redirect_404' ); |
74 add_action( 'template_redirect', 'maybe_redirect_404' ); |
74 add_filter( 'allowed_redirect_hosts', 'redirect_this_site' ); |
75 add_filter( 'allowed_redirect_hosts', 'redirect_this_site' ); |
75 |
76 |
76 // Administration |
77 // Administration. |
77 add_filter( 'term_id_filter', 'global_terms', 10, 2 ); |
78 add_filter( 'term_id_filter', 'global_terms', 10, 2 ); |
78 add_action( 'delete_post', '_update_posts_count_on_delete' ); |
79 add_action( 'delete_post', '_update_posts_count_on_delete' ); |
79 add_action( 'delete_post', '_update_blog_date_on_post_delete' ); |
80 add_action( 'delete_post', '_update_blog_date_on_post_delete' ); |
80 add_action( 'transition_post_status', '_update_blog_date_on_post_publish', 10, 3 ); |
81 add_action( 'transition_post_status', '_update_blog_date_on_post_publish', 10, 3 ); |
81 add_action( 'transition_post_status', '_update_posts_count_on_transition_post_status', 10, 3 ); |
82 add_action( 'transition_post_status', '_update_posts_count_on_transition_post_status', 10, 3 ); |
82 |
83 |
83 // Counts |
84 // Counts. |
84 add_action( 'admin_init', 'wp_schedule_update_network_counts' ); |
85 add_action( 'admin_init', 'wp_schedule_update_network_counts' ); |
85 add_action( 'update_network_counts', 'wp_update_network_counts', 10, 0 ); |
86 add_action( 'update_network_counts', 'wp_update_network_counts', 10, 0 ); |
86 foreach ( array( 'user_register', 'deleted_user', 'wpmu_new_user', 'make_spam_user', 'make_ham_user' ) as $action ) { |
87 foreach ( array( 'user_register', 'deleted_user', 'wpmu_new_user', 'make_spam_user', 'make_ham_user' ) as $action ) { |
87 add_action( $action, 'wp_maybe_update_network_user_counts', 10, 0 ); |
88 add_action( $action, 'wp_maybe_update_network_user_counts', 10, 0 ); |
88 } |
89 } |
89 foreach ( array( 'make_spam_blog', 'make_ham_blog', 'archive_blog', 'unarchive_blog', 'make_delete_blog', 'make_undelete_blog' ) as $action ) { |
90 foreach ( array( 'make_spam_blog', 'make_ham_blog', 'archive_blog', 'unarchive_blog', 'make_delete_blog', 'make_undelete_blog' ) as $action ) { |
90 add_action( $action, 'wp_maybe_update_network_site_counts', 10, 0 ); |
91 add_action( $action, 'wp_maybe_update_network_site_counts', 10, 0 ); |
91 } |
92 } |
92 unset( $action ); |
93 unset( $action ); |
93 |
94 |
94 // Files |
95 // Files. |
95 add_filter( 'wp_upload_bits', 'upload_is_file_too_big' ); |
96 add_filter( 'wp_upload_bits', 'upload_is_file_too_big' ); |
96 add_filter( 'import_upload_size_limit', 'fix_import_form_size' ); |
97 add_filter( 'import_upload_size_limit', 'fix_import_form_size' ); |
97 add_filter( 'upload_mimes', 'check_upload_mimes' ); |
98 add_filter( 'upload_mimes', 'check_upload_mimes' ); |
98 add_filter( 'upload_size_limit', 'upload_size_limit_filter' ); |
99 add_filter( 'upload_size_limit', 'upload_size_limit_filter' ); |
99 add_action( 'upload_ui_over_quota', 'multisite_over_quota_message' ); |
100 add_action( 'upload_ui_over_quota', 'multisite_over_quota_message' ); |
100 |
101 |
101 // Mail |
102 // Mail. |
102 add_action( 'phpmailer_init', 'fix_phpmailer_messageid' ); |
103 add_action( 'phpmailer_init', 'fix_phpmailer_messageid' ); |
103 |
104 |
104 // Disable somethings by default for multisite |
105 // Disable somethings by default for multisite. |
105 add_filter( 'enable_update_services_configuration', '__return_false' ); |
106 add_filter( 'enable_update_services_configuration', '__return_false' ); |
106 if ( ! defined( 'POST_BY_EMAIL' ) || ! POST_BY_EMAIL ) { // back compat constant. |
107 if ( ! defined( 'POST_BY_EMAIL' ) || ! POST_BY_EMAIL ) { // Back compat constant. |
107 add_filter( 'enable_post_by_email_configuration', '__return_false' ); |
108 add_filter( 'enable_post_by_email_configuration', '__return_false' ); |
108 } |
109 } |
109 if ( ! defined( 'EDIT_ANY_USER' ) || ! EDIT_ANY_USER ) { // back compat constant. |
110 if ( ! defined( 'EDIT_ANY_USER' ) || ! EDIT_ANY_USER ) { // Back compat constant. |
110 add_filter( 'enable_edit_any_user_configuration', '__return_false' ); |
111 add_filter( 'enable_edit_any_user_configuration', '__return_false' ); |
111 } |
112 } |
112 add_filter( 'force_filtered_html_on_import', '__return_true' ); |
113 add_filter( 'force_filtered_html_on_import', '__return_true' ); |
113 |
114 |
114 // WP_HOME and WP_SITEURL should not have any effect in MS |
115 // WP_HOME and WP_SITEURL should not have any effect in MS. |
115 remove_filter( 'option_siteurl', '_config_wp_siteurl' ); |
116 remove_filter( 'option_siteurl', '_config_wp_siteurl' ); |
116 remove_filter( 'option_home', '_config_wp_home' ); |
117 remove_filter( 'option_home', '_config_wp_home' ); |
117 |
118 |
118 // Some options changes should trigger site details refresh. |
119 // Some options changes should trigger site details refresh. |
119 add_action( 'update_option_blogname', 'clean_site_details_cache', 10, 0 ); |
120 add_action( 'update_option_blogname', 'clean_site_details_cache', 10, 0 ); |