From 13039434240e7738d8c9a75d2c0e8a45c2f7d239 Mon Sep 17 00:00:00 2001 From: Mikael Nordfeldth Date: Fri, 6 Mar 2015 23:52:25 +0100 Subject: [PATCH] Choose whether to prerender the inline reply forms The DefaultLayout plugin will come with options to render various parts of the page by default or not. The expected default behaviour will try to imitate the original StatusNet/GNU social looks as far as possible. --- plugins/DefaultLayout/DefaultLayoutPlugin.php | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 plugins/DefaultLayout/DefaultLayoutPlugin.php diff --git a/plugins/DefaultLayout/DefaultLayoutPlugin.php b/plugins/DefaultLayout/DefaultLayoutPlugin.php new file mode 100644 index 0000000000..9ff21c6e50 --- /dev/null +++ b/plugins/DefaultLayout/DefaultLayoutPlugin.php @@ -0,0 +1,57 @@ +. + * + * @category Plugin + * @package GNUsocial + * @author Mikael Nordfeldth + * @copyright 2014 Free Software Foundation http://fsf.org + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link https://www.gnu.org/software/social/ + */ + +if (!defined('GNUSOCIAL')) { exit(1); } + +class DefaultLayoutPlugin extends Plugin +{ + public $replyforms = false; + + public function onEndShowThreadedNoticeTail(NoticeListItem $nli, Notice $notice, array $notices) { + if ($this->replyforms) { + $nli->out->elementStart('li', array('class'=>'notice-reply', 'style'=>'display: none;')); + $replyForm = new NoticeForm($nli->out, array('inreplyto' => $notice->getID())); + $replyForm->show(); + $nli->out->elementEnd('li'); + } + return true; + } + + public function onPluginVersion(&$versions) + { + $versions[] = array('name' => 'Default Layout', + 'version' => GNUSOCIAL_VERSION, + 'author' => 'Mikael Nordfeldth', + 'homepage' => 'https://www.gnu.org/software/social/', + 'rawdescription' => + // TRANS: Plugin description. + _m('Optional default layout elements.')); + return true; + } +} -- 2.39.5