2022-02-16 02:15:29 +09:00
< ? php
declare ( strict_types = 1 );
// {{{ License
// This file is part of GNU social - https://www.gnu.org/software/social
//
// GNU social 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.
//
// GNU social 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 GNU social. If not, see <http://www.gnu.org/licenses/>.
// }}}
2022-03-29 01:06:53 +09:00
namespace Plugin\Blog ;
2022-02-16 02:15:29 +09:00
use App\Core\Event ;
use App\Core\Modules\Plugin ;
2022-03-28 00:43:59 +09:00
use App\Core\Router ;
2022-03-29 01:06:53 +09:00
use App\Util\Common ;
use App\Util\HTML ;
use Plugin\Blog\Controller as C ;
use function App\Core\I18n\_m ;
2022-02-16 02:15:29 +09:00
class Blog extends Plugin
{
2022-03-28 00:43:59 +09:00
public function onAddRoute ( Router $r ) : bool
2022-02-16 02:15:29 +09:00
{
$r -> connect ( id : 'blog_post' , uri_path : '/blog/post' , target : [ C\Post :: class , 'makePost' ]);
return Event :: next ;
}
2022-03-29 01:06:53 +09:00
public function onAppendCardProfile ( array $vars , array & $res ) : bool
{
$actor = Common :: actor ();
$group = $vars [ 'actor' ];
if ( ! \is_null ( $actor ) && $group -> isGroup ()) {
$res [] = HTML :: html ([ 'a' => [ 'attrs' => [ 'href' => Router :: url ( 'blog_post' , [ 'in' => $group -> getId ()]), 'title' => _m ( 'Make a new blog post' ), 'class' => 'profile-extra-actions' ], _m ( 'Post in blog' )]]);
}
return Event :: next ;
}
2022-02-16 02:15:29 +09:00
}