* @category Plugin
* @package StatusNet
* @author Craig Andrews <candrews@integralblue.com>
+ * @copyright 2009 Free Software Foundation, Inc http://www.fsf.org
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
* @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
* @link http://status.net/
*/
-
abstract class AuthenticationPlugin extends Plugin
{
//is this plugin authoritative for authentication?
public $authoritative = false;
-
+
//should accounts be automatically created after a successful login attempt?
public $autoregistration = false;
$nickname = $username;
}
$registration_data = array();
- $registration_data['nickname'] = $nickname ;
+ $registration_data['nickname'] = $nickname;
return User::register($registration_data);
}
* Used during autoregistration
* Useful if your usernames are ugly, and you want to suggest
* nice looking nicknames when users initially sign on
+ * All nicknames returned by this function should be valid
+ * implementations may want to use common_nicknamize() to ensure validity
* @param username
* @return string nickname
*/
function suggestNicknameForUsername($username)
{
- return $username;
+ return common_nicknamize($username);
}
//------------Below are the methods that connect StatusNet to the implementing Auth plugin------------\\
$test_user = User::staticGet('nickname', $suggested_nickname);
if($test_user) {
//someone already exists with the suggested nickname, so used the passed nickname
- $suggested_nickname = $nickname;
+ $suggested_nickname = common_nicknamize($nickname);
}
$test_user = User::staticGet('nickname', $suggested_nickname);
if($test_user) {
//stop handling of other handlers, because what was requested was done
return false;
}else{
- throw new Exception(_('Password changing failed'));
+ // TRANS: Exception thrown when a password change fails.
+ throw new Exception(_('Password changing failed.'));
}
}else{
if($this->authoritative){
//since we're authoritative, no other plugin could do this
- throw new Exception(_('Password changing failed'));
+ // TRANS: Exception thrown when a password change fails.
+ throw new Exception(_('Password changing failed.'));
}else{
//let another handler try
return null;
}else{
if($this->authoritative){
//since we're authoritative, no other plugin could do this
- throw new Exception(_('Password changing is not allowed'));
+ // TRANS: Exception thrown when a password change attempt fails because it is not allowed.
+ throw new Exception(_('Password changing is not allowed.'));
}
}
}
return true;
}
}
-