head	1.2;
access;
symbols;
locks; strict;
comment	@# @;


1.2
date	99.08.04.04.15.59;	author chuck;	state dead;
branches;
next	1.1;

1.1
date	99.07.20.07.36.26;	author jon;	state Exp;
branches;
next	;


desc
@@


1.2
log
@cjh: pruning out all the code that either isn't used or is only used for
maintaining/creating users - all of which is moving to Horde proper. Also a
few more fixes for the new session/user stuff, though I haven't quite gotten
rid of the "users" table yet - that's coming, though.

babel.php3 is a nice bit shorter, now... ;)

Anyway, a bit more work, and a better Horde user framework, and babel should
be more or less ready for primetime. oh, there's that whole customization
thing, too.

Speaking of which, what do people prefer: imp-style defaults.php3, or
babel-style babel.conf. I figure we should standardize on one; they're both
easy to auto-generate; babel's is maybe a little bit more overhead to parse,
but it's a bit more user friendly as well. Thoughts?
@
text
@function generate_username (&$request_ref, &$username_ref) {
  global $firstname, $lastname;
  
  if (!$firstname)
    return error("firstname not found");
  
  if (!$lastname)
    return error("lastname not found");
  
  $username = strtolower($firstname[0] . substr($lastname, 0, 17));
  
  if (!(username_is_valid($username)))
    return error("username is not valid");
  
  if (!(does_username_exist($request_ref, $username, $username_exists)))
    return error("could not determine whether username exists");
  
  while ($username_exists) {
    if (ereg("[[:alnum:]]_[[:digit:]]$", $username, $match)) {
      $username = $match[1] . "_" . ($match[2] + 1);
    } else {
      $username .= "_2";
    }
    
    if (!(does_username_exist($request_ref, $username, $username_exists)))
      return error("could not determine whether username exists");
  }
  
  $username_ref = $username;
  
  return success();
}
@


1.1
log
@
jon: alrighty, babel.php3.in is now broken down into seperate
     function files.  they're jusy dying to be combined into
     objects and seperate source files.
@
text
@@

