Make WordPress Core

Opened 7 years ago

Last modified 3 years ago

#40736 new defect (bug)

Ensure that `get_blog_count()` and `get_user_count()` return an integer

Reported by: flixos90's profile flixos90 Owned by:
Milestone: Future Release Priority: normal
Severity: normal Version:
Component: Networks and Sites Keywords: 2nd-opinion
Focuses: multisite Cc:

Description

The documentation for the functions get_blog_count() and get_user_count() states that the return type is an integer, however the functions only call get_network_option() without any typecast.

The functions should be adjusted to actually reflect their documentation. While this might theoretically be problematic in terms of backward-compatibility, in #40724 some initial thoughts of this being a viable change were expressed, so let's think about it on this ticket.

Attachments (11)

40736.patch (736 bytes) - added by desrosj 7 years ago.
Type cast return values as integers.
ms-functions.php.patch (750 bytes) - added by pmbaldha 7 years ago.
make sure return values are interger by intval function
40736.2.patch (750 bytes) - added by pmbaldha 7 years ago.
make sure return values are interger by intval function
php33xaUA (1.6 KB) - added by pmbaldha 7 years ago.
Deprecated get_blog_count() function and developed get_site_count function
phpomrpum (1.6 KB) - added by pmbaldha 7 years ago.
Deprecated get_blog_count() function and developed get_site_count function
phpGrxrzT (1.6 KB) - added by pmbaldha 7 years ago.
Deprecated get_blog_count() function and developed get_site_count function
40736.3.patch (1.6 KB) - added by pmbaldha 7 years ago.
Deprecated get_blog_count() function and developed get_site_count function. This is final.
40736.4.patch (2.0 KB) - added by pmbaldha 7 years ago.
int typecating for get_user_count(). Deprecated get_blog_count() function.Developed get_site_count() function.
40736.5.patch (2.0 KB) - added by pmbaldha 7 years ago.
int typecating for get_user_count(). Deprecated get_blog_count() function.Developed get_site_count() function. All changes done.
40736.6.patch (2.0 KB) - added by pmbaldha 7 years ago.
int typecating for get_user_count(). Deprecated get_blog_count() function.Developed get_site_count() function.Final patch
40736.7.patch (2.0 KB) - added by desrosj 6 years ago.
Refreshed patch to apply cleanly

Download all attachments as: .zip

Change History (21)

@desrosj
7 years ago

Type cast return values as integers.

@pmbaldha
7 years ago

make sure return values are interger by intval function

#1 @pmbaldha
7 years ago

Sorry my mistake. patch nameshouldbe ticket number.

@pmbaldha
7 years ago

make sure return values are interger by intval function

#2 follow-up: @flixos90
7 years ago

Since we're striving towards an API with site/network terminology in favor of blog/site long-term, we should consider deprecating get_blog_count() in favor of a get_site_count(). The change of the return type, whether it was specified in the docs or not, is a breaking change anyway, so I suggest to deprecate the function at the same time and replace their usage in core with calls to get_site_count().

@pmbaldha
7 years ago

Deprecated get_blog_count() function and developed get_site_count function

@pmbaldha
7 years ago

Deprecated get_blog_count() function and developed get_site_count function

@pmbaldha
7 years ago

Deprecated get_blog_count() function and developed get_site_count function

#3 in reply to: ↑ 2 @pmbaldha
7 years ago

I have done all chanmges. I am not able to login with my current internetc connection. It gives me erroe like:
Your IP (103.217.85.2) has been flagged for potential security violations. Find out more...

I am trying to upload patch by proxy, but it changesname. I will try to give patch again tommorow morning again
Replying to flixos90:

Since we're striving towards an API with site/network terminology in favor of blog/site long-term, we should consider deprecating get_blog_count() in favor of a get_site_count(). The change of the return type, whether it was specified in the docs or not, is a breaking change anyway, so I suggest to deprecate the function at the same time and replace their usage in core with calls to get_site_count().

@pmbaldha
7 years ago

Deprecated get_blog_count() function and developed get_site_count function. This is final.

This ticket was mentioned in Slack in #core by pmbaldha. View the logs.


7 years ago

#5 @flixos90
7 years ago

Thanks for the patch @pmbaldha!

Looks good except for a few minor issues:

  • Let's cast the values to integers with (int) instead of using the old intval().
  • For version numbers, the 4.8 and 4.8.0 should be replaced with 4.9.0, as this change won't make it into 4.8.
  • MU should not be used in the @since annotation for new functions.
  • The function get_blog_count() should be moved to the ms-deprecated.php file.

@pmbaldha
7 years ago

int typecating for get_user_count(). Deprecated get_blog_count() function.Developed get_site_count() function.

@pmbaldha
7 years ago

int typecating for get_user_count(). Deprecated get_blog_count() function.Developed get_site_count() function. All changes done.

@pmbaldha
7 years ago

int typecating for get_user_count(). Deprecated get_blog_count() function.Developed get_site_count() function.Final patch

#6 @pmbaldha
7 years ago

May i know is thee any progress on this ticket?

#7 @flixos90
7 years ago

Highlighting https://core.trac.wordpress.org/ticket/40736#comment:2 again: Is it reasonable to change the name from get_blog_count() to the more appropriate get_site_count()? In my opinion it's fine since we're practically breaking back-compatibility anyway, so we might as well deprecate the function in favor of the new one (and of course also adjust its old calls in core).

Alternatively, we may even aim for get_network_site_count() (would also need a get_network_user_count()) in order to have parity with the other functions that deal with these settings (such as wp_update_network_site_counts()). This is only an idea though.

Last edited 7 years ago by flixos90 (previous) (diff)

#8 @pmbaldha
7 years ago

wp_update_network_site_counts() function is used or called by internal wordpress code. Generally, Normal Wordpress developer doesn't know about wp_update_network_site_counts() function. He/she are are familiar wth get_blog_count() function. There is no worth to change get_site_count() to get_network_site_count().
This is my personal opinion.

If community like get_network_site_count() (would also need a get_network_user_count()) function name, Please tell me. I will create new patch.

May i know what is opinion of other contributors?

This ticket was mentioned in Slack in #core-multisite by pmbaldha. View the logs.


7 years ago

#10 @flixos90
7 years ago

  • Milestone changed from Awaiting Review to Future Release

@desrosj
6 years ago

Refreshed patch to apply cleanly

Note: See TracTickets for help on using tickets.