diff --git a/plugins/CasAuthentication/CasAuthenticationPlugin.php b/plugins/CasAuthentication/CasAuthenticationPlugin.php index 7ac3594101..a2a2e95920 100644 --- a/plugins/CasAuthentication/CasAuthenticationPlugin.php +++ b/plugins/CasAuthentication/CasAuthenticationPlugin.php @@ -1,38 +1,30 @@ . + /** - * StatusNet, the distributed open-source microblogging tool - * * Plugin to enable Single Sign On via CAS (Central Authentication Service) * - * 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 . - * * @category Plugin - * @package StatusNet + * @package GNUsocial * @author Craig Andrews * @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 https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -// We bundle the phpCAS library... -set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/extlib/CAS'); +defined('GNUSOCIAL') || die(); class CasAuthenticationPlugin extends AuthenticationPlugin { @@ -44,68 +36,55 @@ class CasAuthenticationPlugin extends AuthenticationPlugin public $takeOverLogin = false; public $user_whitelist = null; - function checkPassword($username, $password) + public function checkPassword($username, $password) { global $casTempPassword; return ($casTempPassword == $password); } - function onAutoload($cls) + public function onArgsInitialize(&$args) { - switch ($cls) - { - case 'phpCAS': - require_once(INSTALLDIR.'/plugins/CasAuthentication/extlib/CAS.php'); - return false; - } - - // if it's not our exception, try standard places - return parent::onAutoload($cls); - } - - function onArgsInitialize(&$args) - { - if($this->takeOverLogin && $args['action'] == 'login') - { + if ($this->takeOverLogin && $args['action'] === 'login') { $args['action'] = 'caslogin'; } } - function onStartInitializeRouter($m) + public function onStartInitializeRouter($m) { $m->connect('main/cas', array('action' => 'caslogin')); return true; } - function onEndLoginGroupNav($action) + public function onEndLoginGroupNav($action) { $action_name = $action->trimmed('action'); - $action->menuItem(common_local_url('caslogin'), - // TRANS: Menu item. CAS is Central Authentication Service. - _m('CAS'), - // TRANS: Tooltip for menu item. CAS is Central Authentication Service. - _m('Login or register with CAS.'), - $action_name === 'caslogin'); + $action->menuItem( + common_local_url('caslogin'), + // TRANS: Menu item. CAS is Central Authentication Service. + _m('CAS'), + // TRANS: Tooltip for menu item. CAS is Central Authentication Service. + _m('Login or register with CAS.'), + ($action_name === 'caslogin') + ); return true; } - function onEndShowPageNotice($action) + public function onEndShowPageNotice($action) { $name = $action->trimmed('action'); - switch ($name) - { - case 'login': - // TRANS: Invitation to users with a CAS account to log in using the service. - // TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL. - // TRANS: These two elements may not be separated. - $instr = _m('(Have an account with CAS? ' . - 'Try our [CAS login](%%action.caslogin%%)!)'); - break; - default: - return true; + switch ($name) { + case 'login': + // TRANS: Invitation to users with a CAS account to log in using the service. + // TRANS: "[CAS login]" is a link description. (%%action.caslogin%%) is the URL. + // TRANS: These two elements may not be separated. + $instr = _m('(Have an account with CAS? ' . + 'Try our [CAS login](%%action.caslogin%%)!)'); + break; + default: + return true; } $output = common_markup_to_html($instr); @@ -113,29 +92,29 @@ class CasAuthenticationPlugin extends AuthenticationPlugin return true; } - function onLoginAction($action, &$login) + public function onLoginAction($action, &$login) { - switch ($action) - { - case 'caslogin': - $login = true; - return false; - default: - return true; + switch ($action) { + case 'caslogin': + $login = true; + return false; + default: + return true; } } - function onInitializePlugin(){ + public function onInitializePlugin() + { parent::onInitializePlugin(); - if(!isset($this->server)){ + if (!isset($this->server)) { // TRANS: Exception thrown when the CAS Authentication plugin has been configured incorrectly. throw new Exception(_m("Specifying a server is required.")); } - if(!isset($this->port)){ + if (!isset($this->port)) { // TRANS: Exception thrown when the CAS Authentication plugin has been configured incorrectly. throw new Exception(_m("Specifying a port is required.")); } - if(!isset($this->path)){ + if (!isset($this->path)) { // TRANS: Exception thrown when the CAS Authentication plugin has been configured incorrectly. throw new Exception(_m("Specifying a path is required.")); } diff --git a/plugins/Embed/EmbedPlugin.php b/plugins/Embed/EmbedPlugin.php index afeb7a413f..e8f5578b30 100644 --- a/plugins/Embed/EmbedPlugin.php +++ b/plugins/Embed/EmbedPlugin.php @@ -373,7 +373,6 @@ class EmbedPlugin extends Plugin case 'link': if (!empty($embed->html) && (GNUsocial::isAjax() || common_config('attachments', 'show_html'))) { - require_once INSTALLDIR.'/extlib/HTMLPurifier/HTMLPurifier.auto.php'; $purifier = new HTMLPurifier(); // FIXME: do we allow and here? we did that when we used htmLawed, // but I'm not sure anymore... @@ -638,12 +637,16 @@ class EmbedPlugin extends Plugin try { $imgData = HTTPClient::quickGet($url); if (isset($imgData)) { - list($filename, $width, $height) = $this->validateAndWriteImage($imgData, $url, $headers, - $thumbnail->file_id); + list($filename, $width, $height) = $this->validateAndWriteImage( + $imgData, + $url, + $headers, + $thumbnail->file_id + ); } else { throw new UnsupportedMediaException('HTTPClient returned an empty result'); } - } catch(UnsupportedMediaException $e) { + } catch (UnsupportedMediaException $e) { // Couldn't find anything that looks like an image, nothing to do common_debug("Embed was not able to find an image for URL `{$url}`: " . $e->getMessage()); return false; diff --git a/plugins/Orbited/OrbitedPlugin.php b/plugins/Orbited/OrbitedPlugin.php index 951a4d7737..d9c12ccc43 100644 --- a/plugins/Orbited/OrbitedPlugin.php +++ b/plugins/Orbited/OrbitedPlugin.php @@ -1,37 +1,32 @@ . + /** - * Laconica, the distributed open-source microblogging tool - * * Plugin to do "real time" updates using Orbited + STOMP * - * 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 . - * * @category Plugin - * @package Laconica - * @author Evan Prodromou - * @copyright 2009 Control Yourself, Inc. - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @package GNUsocial + * @author Evan Prodromou + * @copyright 2009 StatusNet, Inc. + * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ -if (!defined('GNUSOCIAL') && !defined('STATUSNET')) { - exit(1); -} +defined('GNUSOCIAL') || die(); -require_once INSTALLDIR.'/plugins/Realtime/RealtimePlugin.php'; +require_once INSTALLDIR . '/plugins/Realtime/RealtimePlugin.php'; /** * Plugin to do realtime updates using Orbited + STOMP @@ -39,11 +34,10 @@ require_once INSTALLDIR.'/plugins/Realtime/RealtimePlugin.php'; * This plugin pushes data to a STOMP server which is then served to the * browser by the Orbited server. * - * @category Plugin - * @package Laconica - * @author Evan Prodromou - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://laconi.ca/ + * @category Plugin + * @package GNUsocial + * @author Evan Prodromou + * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ class OrbitedPlugin extends RealtimePlugin { @@ -61,13 +55,13 @@ class OrbitedPlugin extends RealtimePlugin protected $con = null; - function onStartShowHeadElements($action) + public function onStartShowHeadElements($action) { // See http://orbited.org/wiki/Deployment#Cross-SubdomainDeployment $action->element('script', null, ' document.domain = document.domain; '); } - function _getScripts() + public function _getScripts() { $scripts = parent::_getScripts(); @@ -85,7 +79,7 @@ class OrbitedPlugin extends RealtimePlugin return $scripts; } - function _updateInitialize($timeline, $user_id) + public function _updateInitialize($timeline, $user_id) { $script = parent::_updateInitialize($timeline, $user_id); @@ -96,10 +90,8 @@ class OrbitedPlugin extends RealtimePlugin "\"{$timeline}\", \"{$this->webuser}\", \"{$this->webpass}\");"; } - function _connect() + public function _connect() { - require_once(INSTALLDIR.'/extlib/Stomp.php'); - $url = $this->_getStompUrl(); $this->con = new Stomp($url); @@ -113,21 +105,20 @@ class OrbitedPlugin extends RealtimePlugin } } - function _publish($channel, $message) + public function _publish($channel, $message) { - $result = $this->con->send($channel, - json_encode($message)); + $result = $this->con->send($channel, json_encode($message)); return $result; // @todo Parse and deal with result. } - function _disconnect() + public function _disconnect() { $this->con->disconnect(); } - function _pathToChannel($path) + public function _pathToChannel($path) { if (!empty($this->channelbase)) { array_unshift($path, $this->channelbase); @@ -135,19 +126,19 @@ class OrbitedPlugin extends RealtimePlugin return '/' . implode('/', $path); } - function _getStompServer() + public function _getStompServer() { return (!is_null($this->stompserver)) ? $this->stompserver : (!is_null($this->webserver)) ? $this->webserver : common_config('site', 'server'); } - function _getStompPort() + public function _getStompPort() { return (!is_null($this->stompport)) ? $this->stompport : 61613; } - function _getStompUrl() + public function _getStompUrl() { $server = $this->_getStompServer(); $port = $this->_getStompPort(); diff --git a/plugins/Xmpp/XmppPlugin.php b/plugins/Xmpp/XmppPlugin.php index 366c1c806c..80d53b8ab7 100644 --- a/plugins/Xmpp/XmppPlugin.php +++ b/plugins/Xmpp/XmppPlugin.php @@ -1,48 +1,39 @@ . + /** - * StatusNet - the distributed open-source microblogging tool - * Copyright (C) 2009, StatusNet, Inc. - * * Send and receive notices using the XMPP network * - * PHP version 7 - * - * 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 . - * * @category IM - * @package StatusNet + * @package GNUsocial * @author Evan Prodromou * @copyright 2009 StatusNet, Inc. - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 - * @link http://status.net/ + * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ -if (!defined('STATUSNET')) { - // This check helps protect against security problems; - // your code file can't be executed directly from the web. - exit(1); -} +defined('GNUSOCIAL') || die(); /** * Plugin for XMPP * * @category Plugin - * @package StatusNet + * @package GNUsocial * @author Evan Prodromou * @copyright 2009 StatusNet, Inc. - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 - * @link http://status.net/ + * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ class XmppPlugin extends ImPlugin { @@ -59,13 +50,13 @@ class XmppPlugin extends ImPlugin public $transport = 'xmpp'; - function getDisplayName() + public function getDisplayName() { // TRANS: Plugin display name. return _m('XMPP/Jabber'); } - function daemonScreenname() + public function daemonScreenname() { $ret = $this->user . '@' . $this->server; if ($this->resource) { @@ -75,7 +66,7 @@ class XmppPlugin extends ImPlugin } } - function validate($screenname) + public function validate($screenname) { return $this->validateBaseJid($screenname, common_config('email', 'check_domain')); } @@ -156,7 +147,7 @@ class XmppPlugin extends ImPlugin $parts = explode("/", $jid, 2); if (count($parts) > 1) { $resource = $parts[1]; - // if ($resource == '') then + // if ($resource == '') then // Warning: empty resource isn't legit. // But if we're normalizing, we may as well take it... } else { @@ -167,7 +158,7 @@ class XmppPlugin extends ImPlugin if ((count($node) > 2) || (count($node) == 0)) { // TRANS: Exception thrown when using too many @ signs in a Jabber ID. throw new Exception(_m('Invalid JID: too many @s.')); - } else if (count($node) == 1) { + } elseif (count($node) == 1) { $domain = $node[0]; $node = null; } else { @@ -236,33 +227,14 @@ class XmppPlugin extends ImPlugin return false; } - /** - * Load related Plugins when needed - * - * @param string $cls Name of the class to be loaded - * - * @return boolean hook value; true means continue processing, false means stop. - */ - - function onAutoload($cls) - { - switch ($cls) { - case 'XMPPHP_XMPP': - require_once __DIR__ . '/extlib/XMPPHP/XMPP.php'; - return false; - } - - return parent::onAutoload($cls); - } - - function onStartImDaemonIoManagers(&$classes) + public function onStartImDaemonIoManagers(&$classes) { parent::onStartImDaemonIoManagers($classes); $classes[] = new XmppManager($this); // handles pings/reconnects return true; } - function sendMessage($screenname, $body) + public function sendMessage($screenname, $body) { $this->queuedConnection()->message($screenname, $body, 'chat'); } @@ -274,7 +246,7 @@ class XmppPlugin extends ImPlugin * @return QueuedXMPP * @throws Exception if server settings are invalid. */ - function queuedConnection() + public function queuedConnection() { if (!isset($this->server)) { // TRANS: Exception thrown when the plugin configuration is incorrect. @@ -293,22 +265,20 @@ class XmppPlugin extends ImPlugin throw new Exception(_m('You must specify a password in the configuration.')); } - return new QueuedXMPP($this, $this->host ? - $this->host : - $this->server, + return new QueuedXMPP( + $this, + ($this->host ?: $this->server), $this->port, $this->user, $this->password, $this->resource, $this->server, - $this->debug ? - true : false, - $this->debug ? - \XMPPHP\Log::LEVEL_VERBOSE : null + ($this->debug ? true : false), + ($this->debug ? \XMPPHP\Log::LEVEL_VERBOSE : null) ); } - function sendNotice($screenname, Notice $notice) + public function sendNotice($screenname, Notice $notice) { try { $msg = $this->formatNotice($notice); @@ -351,12 +321,18 @@ class XmppPlugin extends ImPlugin // FIXME: Why do we replace \t with ''? is it just to make it pretty? shouldn't whitespace be handled well...? $xs->raw(str_replace("\t", "", $notice->getRendered())); $xs->text(" "); - $xs->element('a', array( - 'href' => common_local_url('conversation', - array('id' => $notice->conversation)) . '#notice-' . $notice->id), + $xs->element( + 'a', + [ + 'href' => common_local_url( + 'conversation', + ['id' => $notice->conversation] + ) . '#notice-' . $notice->id, + ], // TRANS: Link description to notice in conversation. // TRANS: %s is a notice ID. - sprintf(_m('[%u]'), $notice->id)); + sprintf(_m('[%u]'), $notice->id) + ); $xs->elementEnd('body'); $xs->elementEnd('html'); @@ -365,7 +341,7 @@ class XmppPlugin extends ImPlugin return $html . ' ' . $entry; } - function receiveRawMessage($pl) + public function receiveRawMessage($pl) { $from = $this->normalize($pl['from']); @@ -390,7 +366,7 @@ class XmppPlugin extends ImPlugin * @param string $jid JID to check * @return string an equivalent JID in normalized (lowercase) form */ - function normalize($jid) + public function normalize($jid) { try { $parts = $this->splitJid($jid); @@ -411,17 +387,15 @@ class XmppPlugin extends ImPlugin * * @return boolean hook return */ - function onGetValidDaemons(&$daemons) + public function onGetValidDaemons(&$daemons) { if (isset($this->server) && isset($this->port) && isset($this->user) && isset($this->password)) { - array_push( $daemons, - INSTALLDIR - . '/scripts/imdaemon.php' + INSTALLDIR . '/scripts/imdaemon.php' ); } @@ -478,4 +452,3 @@ class XmppPlugin extends ImPlugin } } } - diff --git a/plugins/Xmpp/lib/queuedxmpp.php b/plugins/Xmpp/lib/queuedxmpp.php index d0b93e0310..f8e13d6fb0 100644 --- a/plugins/Xmpp/lib/queuedxmpp.php +++ b/plugins/Xmpp/lib/queuedxmpp.php @@ -1,37 +1,30 @@ . + /** - * StatusNet, the distributed open-source microblogging tool - * * Queue-mediated proxy class for outgoing XMPP messages. * - * PHP version 7 - * - * 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 . - * * @category Network - * @package StatusNet + * @package GNUsocial * @author Brion Vibber * @copyright 2010 StatusNet, Inc. - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 - * @link http://status.net/ + * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ -if (!defined('STATUSNET') && !defined('LACONICA')) { - exit(1); -} - -require_once dirname(__DIR__) . '/extlib/XMPPHP/XMPP.php'; +defined('GNUSOCIAL') || die(); use XMPPHP\XMPP; @@ -82,7 +75,7 @@ class QueuedXMPP extends XMPP * @param string $msg * @param null $timeout */ - public function send($msg, $timeout = NULL) + public function send($msg, $timeout = null) { @$this->plugin->enqueueOutgoingRaw($msg); } diff --git a/plugins/Xmpp/lib/sharingxmpp.php b/plugins/Xmpp/lib/sharingxmpp.php index 1992320bc3..6eb62dceb5 100644 --- a/plugins/Xmpp/lib/sharingxmpp.php +++ b/plugins/Xmpp/lib/sharingxmpp.php @@ -1,46 +1,36 @@ . + /** - * StatusNet - the distributed open-source microblogging tool - * Copyright (C) 2009, StatusNet, Inc. + * Send and receive notices using the XMPP network * - * Send and receive notices using the Jabber network - * - * PHP version 7 - * - * 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 . - * - * @category Jabber - * @package StatusNet + * @category XMPP + * @package GNUsocial * @author Evan Prodromou * @copyright 2009 StatusNet, Inc. - * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html AGPL 3.0 - * @link http://status.net/ + * @license https://www.gnu.org/licenses/agpl.html GNU AGPL v3 or later */ -if (!defined('STATUSNET')) { - // This check helps protect against security problems; - // your code file can't be executed directly from the web. - exit(1); -} - -require_once dirname(__DIR__) . '/extlib/XMPPHP/XMPP.php'; +defined('GNUSOCIAL') || die(); use XMPPHP\XMPP; class SharingXMPP extends XMPP { - function getSocket() + public function getSocket() { return $this->socket; }