/** * create(): creates a new group. * @param string $authtoken Auth token. * @param string $groupname Groupname. * @param string $info Group info. * @return TlonSoapResponse Result */ public function create($authtoken, $groupname, $info) { if (($user = TlonUser::getByAuthToken($authtoken)) && TlonUserGroup::add($user['username'], $groupname, TlonRights::READ_WRITE, $info)) { return $this->returnSuccess($authtoken, array('groupname' => $groupname)); } else { return $this->returnFailure($authtoken); } }
/** * add(): Add a new user to TABLE, auto-generating password-hash and salt, and automatically * adding her to the 'all' group and to a group with the name '${username}_grp'. * @param string $username Username. * @param string $password Unhashed password. * @param string $realname Real name. * @return bool */ public static function add($username, $password, $realname) { list($hash, $salt) = TlonHash::password($password); if (!(TlonUserGroup::add($username, TlonGroup::EVERYONE, TlonRights::READ, TlonGroup::EVERYONEINFO) && TlonUserGroup::add($username, TlonGroup::userGroupname($username), TlonRights::READ_WRITE, $realname))) { return false; } return TlonData::insert(self::$TABLE, array($username, $hash, $realname, $salt, null)); }