X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FDomainStatusNetwork%2FDomainStatusNetworkPlugin.php;h=64ea4baec0bd5fd4200dfd5a17905bbb2cc61d14;hb=5c0a3102ff60472f60da76d69b0830dca726cca4;hp=efb1aae4d8c9929b41f529b2c900de256713c865;hpb=2d72a64841ebaae889b723d5e259095cdc1b6389;p=quix0rs-gnu-social.git diff --git a/plugins/DomainStatusNetwork/DomainStatusNetworkPlugin.php b/plugins/DomainStatusNetwork/DomainStatusNetworkPlugin.php index efb1aae4d8..64ea4baec0 100644 --- a/plugins/DomainStatusNetwork/DomainStatusNetworkPlugin.php +++ b/plugins/DomainStatusNetwork/DomainStatusNetworkPlugin.php @@ -52,6 +52,8 @@ require_once $_dir . '/extlib/regDomain.inc.php'; */ class DomainStatusNetworkPlugin extends Plugin { + const PLUGIN_VERSION = '2.0.0'; + static $_thetree = null; function initialize() @@ -66,7 +68,7 @@ class DomainStatusNetworkPlugin extends Plugin } } - $nickname = StatusNet::currentSite(); + $nickname = GNUsocial::currentSite(); if (empty($nickname)) { $this->log(LOG_WARNING, "No current site"); @@ -74,7 +76,7 @@ class DomainStatusNetworkPlugin extends Plugin } try { - $sn = Status_network::staticGet('nickname', $nickname); + $sn = Status_network::getKV('nickname', $nickname); } catch (Exception $e) { $this->log(LOG_ERR, $e->getMessage()); return; @@ -91,28 +93,6 @@ class DomainStatusNetworkPlugin extends Plugin } } - function onAutoload($cls) - { - $dir = dirname(__FILE__); - - switch ($cls) - { - case 'GlobalregisterAction': - case 'GloballoginAction': - case 'GlobalrecoverAction': - include_once $dir . '/actions/' . strtolower(mb_substr($cls, 0, -6)) . '.php'; - return false; - case 'DomainStatusNetworkInstaller': - include_once $dir . '/lib/' . strtolower($cls) . '.php'; - return false; - case 'GlobalApiAction': - include_once $dir . '/lib/' . strtolower($cls) . '.php'; - return false; - default: - return true; - } - } - static function toDomain($raw) { $parts = explode('@', $raw); @@ -135,11 +115,11 @@ class DomainStatusNetworkPlugin extends Plugin static function nicknameAvailable($nickname) { - $sn = Status_network::staticGet('nickname', $nickname); + $sn = Status_network::getKV('nickname', $nickname); if (!empty($sn)) { return false; } - $usn = Unavailable_status_network::staticGet('nickname', $nickname); + $usn = Unavailable_status_network::getKV('nickname', $nickname); if (!empty($usn)) { return false; } @@ -151,12 +131,21 @@ class DomainStatusNetworkPlugin extends Plugin if (common_config('globalapi', 'enabled')) { foreach (array('register', 'login', 'recover') as $method) { $m->connect('api/statusnet/global/'.$method, - array('action' => 'global'.$method)); + ['action' => 'global'.$method]); } } return true; } + function onLoginAction($action, &$login) { + $this->debug($action); + if (in_array($action, array('globalregister', 'globallogin', 'globalrecover'))) { + $login = true; + return false; + } + return true; + } + static function nicknameForDomain($domain) { $registered = self::registeredDomain($domain); @@ -195,7 +184,7 @@ class DomainStatusNetworkPlugin extends Plugin $snt = Status_network_tag::withTag('domain='.$domain); while ($snt->fetch()) { - $sn = Status_network::staticGet('site_id', $snt->site_id); + $sn = Status_network::getKV('site_id', $snt->site_id); if (!empty($sn)) { return $sn; } @@ -203,12 +192,12 @@ class DomainStatusNetworkPlugin extends Plugin return null; } - function onPluginVersion(&$versions) + function onPluginVersion(array &$versions) { $versions[] = array('name' => 'DomainStatusNetwork', - 'version' => STATUSNET_VERSION, + 'version' => self::PLUGIN_VERSION, 'author' => 'Evan Prodromou', - 'homepage' => 'http://status.net/wiki/Plugin:DomainStatusNetwork', + 'homepage' => 'https://git.gnu.io/gnu/gnu-social/tree/master/plugins/DomainStatusNetwork', 'rawdescription' => // TRANS: Plugin description. _m('A plugin that maps a single status_network to an email domain.')); @@ -225,17 +214,21 @@ class DomainStatusNetworkPlugin extends Plugin return false; } - StatusNet::switchSite($sn->nickname); + GNUsocial::switchSite($sn->nickname); - $user = User::staticGet('email', $email); + $user = User::getKV('email', $email); return !empty($user); } - static function registerEmail($email, $sendWelcome, $template) + static function registerEmail($email) { $domain = self::toDomain($email); + if (FreeEmail::isFree($domain)) { + throw new ClientException(_("Use your work email.")); + } + $sn = self::siteForDomain($domain); if (empty($sn)) { @@ -251,7 +244,7 @@ class DomainStatusNetworkPlugin extends Plugin Status_network::$wildcard = $config['WILDCARD']; } - StatusNet::switchSite($sn->nickname); + GNUsocial::switchSite($sn->nickname); $confirm = EmailRegistrationPlugin::registerEmail($email); @@ -268,7 +261,7 @@ class DomainStatusNetworkPlugin extends Plugin throw new ClientException(_("No such site.")); } - StatusNet::switchSite($sn->nickname); + GNUsocial::switchSite($sn->nickname); $user = common_check_user($email, $password); @@ -303,9 +296,9 @@ class DomainStatusNetworkPlugin extends Plugin throw new NoSuchUserException(array('email' => $email)); } - StatusNet::switchSite($sn->nickname); + GNUsocial::switchSite($sn->nickname); - $user = User::staticGet('email', $email); + $user = User::getKV('email', $email); if (empty($user)) { throw new ClientException(_('No such user.'));