2014-06-01 14:39:46 +02:00
< ? php
/***
* Name : New Member Widget
* Description : Adds a widget for new members into the sidebar of the network page . The widget will be displayed for the 1 st 14 days of a account existance and contains a link to the new member page and a free - form text the admin can define .
* Version : 1
* Author : Tobias Diekershoff < https :// f . diekershoff . de / profile / tobias >
***/
require_once ( 'include/bbcode.php' );
2018-01-17 01:51:12 +01:00
use Friendica\Core\Addon ;
2017-11-07 00:55:24 +01:00
use Friendica\Core\Config ;
2014-06-01 14:39:46 +02:00
function newmemberwidget_install () {
2018-01-17 01:51:12 +01:00
Addon :: registerHook ( 'network_mod_init' , 'addon/newmemberwidget/newmemberwidget.php' , 'newmemberwidget_network_mod_init' );
2014-06-01 14:39:46 +02:00
logger ( 'newmemberwidget installed' );
}
function newmemberwidget_uninstall () {
2018-01-17 01:51:12 +01:00
Addon :: unregisterHook ( 'network_mod_init' , 'addon/newmemberwidget/newmemberwidget.php' , 'newmemberwidget_network_mod_init' );
2014-06-01 14:39:46 +02:00
}
function newmemberwidget_network_mod_init ( $a , $b ) {
if ( x ( $_SESSION [ 'new_member' ])) {
$t = '<div id="newmember_widget" class="widget">' . EOL ;
$t .= '<h3>' . t ( 'New Member' ) . '</h3>' . EOL ;
2014-06-09 17:38:15 +02:00
$t .= '<a href="newmember" id="newmemberwidget-tips">' . t ( 'Tips for New Members' ) . '</a><br />' . EOL ;
2017-11-07 00:55:24 +01:00
if ( Config :: get ( 'newmemberwidget' , 'linkglobalsupport' ) == 1 )
2017-10-12 15:44:00 +02:00
$t .= '<a href="https://forum.friendi.ca/profile/helpers" target="_new">' . t ( 'Global Support Forum' ) . '</a><br />' . EOL ;
2017-11-07 00:55:24 +01:00
if ( Config :: get ( 'newmemberwidget' , 'linklocalsupport' ) == 1 )
$t .= '<a href="' . $a -> get_baseurl () . '/profile/' . Config :: get ( 'newmemberwidget' , 'localsupport' ) . '" target="_new">' . t ( 'Local Support Forum' ) . '</a><br />' . EOL ;
$ft = Config :: get ( 'newmemberwidget' , 'freetext' );
2014-06-01 14:39:46 +02:00
if ( ! trim ( $ft ) == " " )
$t .= '<p>' . bbcode ( trim ( $ft )) . '</p>' ;
$t .= '</div><div class="clear"></div>' ;
$a -> page [ 'aside' ] = $t . $a -> page [ 'aside' ];
}
}
2018-01-20 14:57:41 +01:00
function newmemberwidget_addon_admin_post ( & $a ) {
2014-06-01 14:39:46 +02:00
$ft = (( x ( $_POST , 'freetext' )) ? trim ( $_POST [ 'freetext' ]) : " " );
$lsn = (( x ( $_POST , 'localsupportname' )) ? notags ( trim ( $_POST [ 'localsupportname' ])) : " " );
$gs = intval ( $_POST [ 'linkglobalsupport' ]);
$ls = intval ( $_POST [ 'linklocalsupport' ]);
2017-11-07 00:55:24 +01:00
Config :: set ( 'newmemberwidget' , 'freetext' , trim ( $ft ));
Config :: set ( 'newmemberwidget' , 'linkglobalsupport' , $gs );
Config :: set ( 'newmemberwidget' , 'linklocalsupport' , $ls );
Config :: set ( 'newmemberwidget' , 'localsupport' , trim ( $lsn ));
2014-06-01 14:39:46 +02:00
}
2018-01-20 14:57:41 +01:00
function newmemberwidget_addon_admin ( & $a , & $o ){
2014-06-01 14:39:46 +02:00
$t = get_markup_template ( 'admin.tpl' , 'addon/newmemberwidget' );
2018-01-15 14:15:33 +01:00
$o = replace_macros ( $t , [
2014-06-01 14:39:46 +02:00
'$submit' => t ( 'Save Settings' ),
2018-01-15 14:15:33 +01:00
'$freetext' => [ " freetext " , t ( " Message " ), Config :: get ( " newmemberwidget " , " freetext " ), t ( " Your message for new members. You can use bbcode here. " )],
'$linkglobalsupport' => [ " linkglobalsupport " , t ( 'Add a link to global support forum' ), Config :: get ( 'newmemberwidget' , 'linkglobalsupport' ), t ( 'Should a link to the global support forum be displayed?' ) . " (<a href='https://forum.friendi.ca/profile/helpers'>@helpers</a>) " ],
'$linklocalsupport' => [ " linklocalsupport " , t ( 'Add a link to the local support forum' ), Config :: get ( 'newmemberwidget' , 'linklocalsupport' ), t ( 'If you have a local support forum and want to have a link displayed in the widget, check this box.' )],
'$localsupportname' => [ " localsupportname " , t ( 'Name of the local support group' ), Config :: get ( 'newmemberwidget' , 'localsupport' ), t ( 'If you checked the above, specify the <em>nickname</em> of the local support group here (i.e. helpers)' )],
]);
2014-06-01 14:39:46 +02:00
}