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;
}
}