public static function create($userid, $apiuserid) { $token = new Kingboard_ApiActivationToken(); $token['userid'] = $userid; $token['apiuserid'] = $apiuserid; // ensure this key isnt in use yet do { $keyset = "abcdefghijklmABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; $randkey = ""; for ($i = 0; $i < Kingboard_ApiActivationToken::TOKEN_LENGTH; $i++) { $randkey .= substr($keyset, rand(0, strlen($keyset) - 1), 1); } } while (!is_null(Kingboard_ApiActivationToken::findOneByToken($randkey))); $token['token'] = $randkey; $token->save(); return $token; }