Welcome to the Question2Answer Q&A. There's also a demo if you just want to try it out.
+4 votes
in Q2A Core by
edited by

Just a Q2A Core question. Is there any particular reason to have so similar different methods in these classes?

qa-app-posts.php (line 329)

// Return the handle corresponding to $userid, unless it is null in which case return null
function qa_post_userid_to_handle($userid) {
    if (isset($userid)) {
            require_once QA_INCLUDE_DIR.'qa-app-users.php';
            return @$handles[$userid];
        } else {
            $user=qa_db_single_select(qa_db_user_account_selectspec($userid, true));
            if (!is_array($user))
                qa_fatal_error('User ID could not be found: '.$userid);
            return $user['handle'];
    return null;

qa-app-users.php (line 616)

// Return an array mapping each userid in $userids to that user's handle (public username), or to null if not found

function qa_userids_to_handles($userids) {

    else {
        require_once QA_INCLUDE_DIR.'qa-db-users.php';
    foreach ($userids as $userid)
    return $gotuseridhandles;

If the intention was to overload a method that received an array into one that could also receive an int, the best approach I can think of to enforce code reuse, would be to check the paramter type (eg: is_array()). Or maybe I'm missing something :)

Q2A version: 1.6.2
Agree .. +1          .

1 Answer

+1 vote
Best answer
The function was indeed duplicated and deprecated in 1.7.0.
I can not fully understand it. What you're worried about? And, did you what changes to Q2A?
In 1.6.2 there were 2 functions that fulfilled the same purpose. I was asking if they were actually duplicated. They were. During 1.7.0-alpha (if I remember correctly) I suggested removing one of them and so it was. A year later I stumbled with my own question and answered it :)
edited by
I understood your changes by checking source code of V1.7. But, many users may not be able to understand it. qa_userid_to_handle() which is added in users.php is good. it should be added in Q2A functions lists.
In addtion, configuration of the source files has been changed largely in V1.7. But, document is unspoiled. I'm worried about document is not updated.