public static function GivePoints($UserID, $Points, $Source = 'Other', $CategoryID = 0, $Timestamp = FALSE) {
      // Figure out whether or not the category tracks points seperately.
      if ($CategoryID) {
         $Category = self::Categories($CategoryID);
         if ($Category)
            $CategoryID = GetValue('PointsCategoryID', $Category);
         else
            $CategoryID = 0;
      }
      
      UserModel::GivePoints($UserID, $Points, array($Source, 'CategoryID' => $CategoryID), $Timestamp);
   }