+ public static function makeHrid($firstname, $lastname, $category)
+ {
+ $cat = self::stripBadChars($category);
+ if (!cat) {
+ Platal::page()->kill("$category is not a suitable category.");
+ }
+
+ return self::makeUserName($firstname, $lastname) . '.' . $cat;
+ }
+
+ /** Reformats the firstname so that all letters are in lower case,
+ * except the first letter of each part of the name.
+ */
+ public static function fixFirstnameCase($firstname)
+ {
+ $firstname = strtolower($firstname);
+ $pieces = explode('-', $firstname);
+
+ foreach ($pieces as $piece) {
+ $subpieces = explode("'", $piece);
+ $usubpieces = '';
+
+ foreach ($subpieces as $subpiece) {
+ $usubpieces[] = ucwords($subpiece);
+ }
+ $upieces[] = implode("'", $usubpieces);
+ }
+ return implode('-', $upieces);
+ }