* @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;
{
if($provider_name == $this->provider_name && $this->autoregistration){
$suggested_nickname = $this->suggestNicknameForUsername($nickname);
- $test_user = User::staticGet('nickname', $suggested_nickname);
+ $test_user = User::getKV('nickname', $suggested_nickname);
if($test_user) {
//someone already exists with the suggested nickname, so used the passed nickname
$suggested_nickname = common_nicknamize($nickname);
}
- $test_user = User::staticGet('nickname', $suggested_nickname);
+ $test_user = User::getKV('nickname', $suggested_nickname);
if($test_user) {
//someone already exists with the suggested nickname
//not much else we can do
if($user_username->find() && $user_username->fetch()){
$authenticated = $this->checkPassword($user_username->username, $password);
if($authenticated){
- $authenticatedUser = User::staticGet('id', $user_username->user_id);
+ $authenticatedUser = User::getKV('id', $user_username->user_id);
return false;
}
}else{
//$nickname is the username used to login
//$suggested_nickname is the nickname the auth provider suggests for that username
$suggested_nickname = $this->suggestNicknameForUsername($nickname);
- $user = User::staticGet('nickname', $suggested_nickname);
+ $user = User::getKV('nickname', $suggested_nickname);
if($user){
//make sure this user isn't claimed
$user_username = new User_username();
//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.'));
}
}
}
function onCheckSchema() {
$schema = Schema::get();
- $schema->ensureTable('user_username',
- array(new ColumnDef('provider_name', 'varchar',
- '255', false, 'PRI'),
- new ColumnDef('username', 'varchar',
- '255', false, 'PRI'),
- new ColumnDef('user_id', 'integer',
- null, false),
- new ColumnDef('created', 'datetime',
- null, false),
- new ColumnDef('modified', 'timestamp')));
+ $schema->ensureTable('user_username', User_username::schemaDef());
return true;
}
return true;
}
}
-