UserModel::profileCount PHP Method

profileCount() public method

Get a user's counter.
public profileCount ( integer | string | object $User, string $Column ) : integer | false
$User integer | string | object
$Column string
return integer | false
    public function profileCount($User, $Column)
    {
        if (is_numeric($User)) {
            $User = $this->SQL->getWhere('User', ['UserID' => $User])->firstRow(DATASET_TYPE_ARRAY);
        } elseif (is_string($User)) {
            $User = $this->SQL->getWhere('User', ['Name' => $User])->firstRow(DATASET_TYPE_ARRAY);
        } elseif (is_object($User)) {
            $User = (array) $User;
        }
        if (!$User) {
            return false;
        }
        if (array_key_exists($Column, $User) && $User[$Column] === null) {
            $UserID = $User['UserID'];
            switch ($Column) {
                case 'CountComments':
                    $Count = $this->SQL->getCount('Comment', ['InsertUserID' => $UserID]);
                    $this->setField($UserID, 'CountComments', $Count);
                    break;
                case 'CountDiscussions':
                    $Count = $this->SQL->getCount('Discussion', ['InsertUserID' => $UserID]);
                    $this->setField($UserID, 'CountDiscussions', $Count);
                    break;
                case 'CountBookmarks':
                    $Count = $this->SQL->getCount('UserDiscussion', ['UserID' => $UserID, 'Bookmarked' => '1']);
                    $this->setField($UserID, 'CountBookmarks', $Count);
                    break;
                default:
                    $Count = false;
                    break;
            }
            return $Count;
        } elseif ($User[$Column]) {
            return $User[$Column];
        } else {
            return false;
        }
    }
UserModel