Hi, new around these parts. I'm in the process of switching from IPB and I'm having a hard time with missing features that I get from
IPBSDK. By no means is IPBSDK perfect, but it does make things much easier. I hope you'll have a look at the functions it provides and consider making similar for SSI.
Below are some functions I find very useful and would like to see in SSI (remember I'm new to SMF so if these are already there forgive me). They're not directly from IPBSDK but inspired by it, and it's how I would have done it (probably add "ssi_" infront of the function names):
list_members($group = '') returns an array of user ids with all the members in that group (or all members if $group is left blank).
list_online_members() returns an array of the members that are currently online.
topic_info($topic_id) returns an array with info on the topic, such as subject, topic starter, array of post ids in topic, array user ids who posted in it (perhaps have the user id as the key and the value as the number of post in the topic by that user).
post_info($post_id) returns an array with info on the post, just like mentioned earlier in this topic.
member_info($user_id = '') returns an array with info about the member. False if no $user_id is specified and if the current person is not logged in.
is_online($user_id = '') returns a true or false depending on if the specified user is online. If $user_id is blank, check to see if the person viewing the page is logged in. Sort of like a reverse is_guest() function.
is_admin($user_id = '') returns a true or false depending on the specified user (or current user if blank) is an admin.
is_in_group($group_array, $user_id = '') returns a true or false depending on if the specified user (or current user if blank) is in any of the member groups specified.
I know the last few you can get through $user_info, but not for any user specified and with a bit more code. I should also note that I find (as I'm sure many do), for example, that
if (is_admin())
is more convenient than
if ($user_info['is_admin'])
even though it's just a small change. Functions like that are easy to code so I suggest they be included for the sake of convenience.
Thanks for your time, and keep up the good work!