2009-11-13 10:12:00 +09:00
< ? php
/**
* StatusNet , the distributed open - source microblogging tool
*
* Plugin that checks if the password is the reverse of username
*
* PHP version 5
*
* LICENCE : This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation , either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU Affero General Public License for more details .
*
* You should have received a copy of the GNU Affero General Public License
* along with this program . If not , see < http :// www . gnu . org / licenses />.
*
* @ category Plugin
* @ package StatusNet
* @ author Craig Andrews < candrews @ integralblue . com >
2010-05-28 07:26:47 +09:00
* @ copyright 2009 Free Software Foundation , Inc http :// www . fsf . org
2009-11-13 10:12:00 +09:00
* @ license http :// www . fsf . org / licensing / licenses / agpl - 3.0 . html GNU Affero General Public License version 3.0
* @ link http :// status . net /
*/
if ( ! defined ( 'STATUSNET' ) && ! defined ( 'LACONICA' )) {
exit ( 1 );
}
class ReverseUsernameAuthenticationPlugin extends AuthenticationPlugin
{
2019-06-03 09:56:52 +09:00
const PLUGIN_VERSION = '2.0.0' ;
2009-11-13 10:12:00 +09:00
//---interface implementation---//
function onInitializePlugin (){
parent :: onInitializePlugin ();
if ( ! isset ( $this -> password_changeable ) && $this -> password_changeable ){
throw new Exception ( " password_changeable cannot be set to true. This plugin does not support changing passwords. " );
}
}
function checkPassword ( $username , $password )
{
return $username == strrev ( $password );
}
2010-01-30 10:43:16 +09:00
function autoRegister ( $username , $nickname )
2009-11-13 10:12:00 +09:00
{
2010-01-30 10:43:16 +09:00
if ( is_null ( $nickname )){
$nickname = $username ;
}
2009-11-13 10:12:00 +09:00
$registration_data = array ();
2010-01-30 10:43:16 +09:00
$registration_data [ 'nickname' ] = $nickname ;
2009-11-13 10:12:00 +09:00
return User :: register ( $registration_data );
}
2010-01-10 08:58:40 +09:00
2019-08-12 23:03:30 +09:00
public function onPluginVersion ( array & $versions ) : bool
2010-01-10 08:58:40 +09:00
{
$versions [] = array ( 'name' => 'Reverse Username Authentication' ,
2019-06-03 09:56:52 +09:00
'version' => self :: PLUGIN_VERSION ,
2010-01-10 08:58:40 +09:00
'author' => 'Craig Andrews' ,
2019-11-21 09:21:22 +09:00
'homepage' => GNUSOCIAL_ENGINE_REPO_URL . 'tree/master/plugins/ReverseUsernameAuthentication' ,
2010-01-10 08:58:40 +09:00
'rawdescription' =>
2011-06-06 02:59:50 +09:00
// TRANS: Plugin description.
2010-01-10 08:58:40 +09:00
_m ( 'The Reverse Username Authentication plugin allows for StatusNet to handle authentication by checking if the provided password is the same as the reverse of the username.' ));
return true ;
}
2009-11-13 10:12:00 +09:00
}