2012-02-16 03:15:10 +01:00
< ? php
/**
* Name : Quick Comment
* Description : Two click comments
* Version : 1.0
* Author : Mike Macgirvin < http :// macgirvin . com / profile / mike >
2018-01-22 20:03:11 +01:00
*
2012-02-17 05:00:35 +01:00
* Provides a set of text " snippets " which can be inserted into a comment window by clicking on them .
2018-01-22 20:03:11 +01:00
* First enable the addon in the system admin panel .
* Then each person can tailor their choice of words in Settings -> Addon Settings in the Qcomment
2012-02-17 05:00:35 +01:00
* pane . Initially no qcomments are provided , but on viewing the settings page , a default set of
2018-01-22 20:03:11 +01:00
* of words is suggested . These can be accepted ( click Submit ) or edited first . Each text line represents
* a different qcomment .
2012-02-17 05:00:35 +01:00
* Many themes will hide the qcomments above or immediately adjacent to the comment input box until
* you wish to use them . On some themes they may be visible .
2018-01-22 20:03:11 +01:00
* Wave the mouse around near the comment input box and the qcomments will show up . Click on any of
2012-02-17 05:00:35 +01:00
* them to open the comment window fully and insert the qcomment . Then " Submit " will submit it .
*
2012-02-16 03:15:10 +01:00
*/
2018-12-26 08:28:16 +01:00
use Friendica\Core\Hook ;
2018-01-22 20:03:11 +01:00
use Friendica\Core\L10n ;
2017-11-07 00:55:24 +01:00
use Friendica\Core\PConfig ;
2019-12-30 03:55:10 +01:00
use Friendica\DI ;
2018-11-05 13:47:04 +01:00
use Friendica\Util\XML ;
2017-11-07 00:55:24 +01:00
2012-02-16 03:15:10 +01:00
function qcomment_install () {
2018-12-26 08:28:16 +01:00
Hook :: register ( 'addon_settings' , 'addon/qcomment/qcomment.php' , 'qcomment_addon_settings' );
Hook :: register ( 'addon_settings_post' , 'addon/qcomment/qcomment.php' , 'qcomment_addon_settings_post' );
2012-02-16 03:15:10 +01:00
}
function qcomment_uninstall () {
2018-12-26 08:28:16 +01:00
Hook :: unregister ( 'addon_settings' , 'addon/qcomment/qcomment.php' , 'qcomment_addon_settings' );
Hook :: unregister ( 'addon_settings_post' , 'addon/qcomment/qcomment.php' , 'qcomment_addon_settings_post' );
2012-02-16 03:15:10 +01:00
}
2017-12-06 22:27:55 +01:00
function qcomment_addon_settings ( & $a , & $s )
{
if ( ! local_user ()) {
2012-02-16 03:15:10 +01:00
return ;
2017-12-06 22:27:55 +01:00
}
2012-02-16 03:15:10 +01:00
2017-12-06 22:27:55 +01:00
/* Add our stylesheet to the page so we can make our settings look nice */
2012-02-16 03:15:10 +01:00
2019-12-30 21:53:43 +01:00
DI :: page ()[ 'htmlhead' ] .= '<link rel="stylesheet" type="text/css" href="' . DI :: baseUrl () -> get () . '/addon/qcomment/qcomment.css' . '" media="all" />' . " \r \n " ;
2012-02-16 03:15:10 +01:00
2020-01-18 16:50:56 +01:00
$words = DI :: pConfig () -> get ( local_user (), 'qcomment' , 'words' , L10n :: t ( ':-)' ) . " \n " . L10n :: t ( ':-(' ) . " \n " . L10n :: t ( 'lol' ));
2012-02-16 03:15:10 +01:00
2017-12-06 22:27:55 +01:00
$s .= '<div class="settings-block">' ;
2018-01-22 20:03:11 +01:00
$s .= '<h3>' . L10n :: t ( 'Quick Comment Settings' ) . '</h3>' ;
2017-12-06 22:27:55 +01:00
$s .= '<div id="qcomment-wrapper">' ;
2018-01-22 20:03:11 +01:00
$s .= '<div id="qcomment-desc">' . L10n :: t ( " Quick comments are found near comment boxes, sometimes hidden. Click them to provide simple replies. " ) . '</div>' ;
$s .= '<label id="qcomment-label" for="qcomment-words">' . L10n :: t ( 'Enter quick comments, one per line' ) . ' </label>' ;
2018-11-05 13:47:04 +01:00
$s .= '<textarea id="qcomment-words" type="text" name="qcomment-words" >' . htmlspecialchars ( XML :: unescape ( $words )) . '</textarea>' ;
2017-12-06 22:27:55 +01:00
$s .= '</div><div class="clear"></div>' ;
2012-02-16 03:15:10 +01:00
2018-01-22 20:03:11 +01:00
$s .= '<div class="settings-submit-wrapper" ><input type="submit" id="qcomment-submit" name="qcomment-submit" class="settings-submit" value="' . L10n :: t ( 'Save Settings' ) . '" /></div>' ;
2012-02-16 03:15:10 +01:00
$s .= '</div>' ;
return ;
}
2018-11-03 18:16:21 +01:00
function qcomment_addon_settings_post ( & $a , & $b )
{
if ( ! local_user ()) {
2012-02-16 03:15:10 +01:00
return ;
2018-11-03 18:16:21 +01:00
}
2012-02-16 03:15:10 +01:00
2018-11-03 18:16:21 +01:00
if ( $_POST [ 'qcomment-submit' ]) {
2020-01-18 16:54:49 +01:00
DI :: pConfig () -> set ( local_user (), 'qcomment' , 'words' , XML :: escape ( $_POST [ 'qcomment-words' ]));
2018-01-22 20:03:11 +01:00
info ( L10n :: t ( 'Quick Comment settings saved.' ) . EOL );
2012-02-16 03:15:10 +01:00
}
}