remove js, add php hook
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* Name: Link
|
||||
* Description: Using short links on whole hub
|
||||
* Version: 0.05
|
||||
* Version: 0.55
|
||||
* Author: ivan zlax <@zlax@ussr.win>
|
||||
* Maintainer: ivan zlax <@zlax@ussr.win>
|
||||
*/
|
||||
@@ -12,37 +12,38 @@ use Zotlabs\Extend\Hook;
|
||||
use Zotlabs\Extend\Route;
|
||||
|
||||
function link_load() {
|
||||
Route::register('addon/link/Mod_Link.php','link');
|
||||
if (get_config('link','linkonhub'))
|
||||
register_hook('page_end', 'addon/link/link.php', 'link_active');
|
||||
set_config('link','linkenabled',1);
|
||||
Route::register('addon/link/Mod_Link.php','link');
|
||||
if (get_config('link','linkonhub'))
|
||||
Hook::register('dropdown_extras', 'addon/link/link.php', 'dropdown_link', 1, 5000);
|
||||
set_config('link','linkenabled',1);
|
||||
}
|
||||
|
||||
function link_unload() {
|
||||
Route::unregister('addon/link/Mod_Link.php','link');
|
||||
unregister_hook('page_end', 'addon/link/link.php', 'link_active');
|
||||
del_config('link','linkenabled');
|
||||
Route::unregister('addon/link/Mod_Link.php','link');
|
||||
Hook::unregister('dropdown_extras', 'addon/link/link.php', 'dropdown_link');
|
||||
del_config('link','linkenabled');
|
||||
}
|
||||
|
||||
function link_plugin_admin(&$a,&$o) {
|
||||
$t = get_markup_template( "admin.tpl", "addon/link/" );
|
||||
$o = replace_macros($t, array(
|
||||
'$submit' => t('Submit'),
|
||||
'$linkonhub' => array('linkonhub', t('Show "Link on Hub" button'), get_config('link', 'linkonhub'), t('Currently used temporarily javascript code for the integrating with wall-item-menu (will be fixed later)')),
|
||||
));
|
||||
|
||||
$t = get_markup_template( "admin.tpl", "addon/link/" );
|
||||
$o = replace_macros($t, array(
|
||||
'$submit' => t('Submit'),
|
||||
'$linkonhub' => array('linkonhub', t('Show "Link on Hub" in the dropdown menu'), get_config('link', 'linkonhub')),
|
||||
));
|
||||
}
|
||||
|
||||
function link_plugin_admin_post(&$a) {
|
||||
set_config('link','linkonhub',trim($_POST['linkonhub']));
|
||||
info( t('Settings updated.') . EOL);
|
||||
if (get_config('link','linkonhub'))
|
||||
register_hook('page_end', 'addon/link/link.php', 'link_active');
|
||||
else
|
||||
unregister_hook('page_end', 'addon/link/link.php', 'link_active');
|
||||
set_config('link','linkonhub',trim($_POST['linkonhub']));
|
||||
if (get_config('link','linkonhub'))
|
||||
Hook::register('dropdown_extras', 'addon/link/link.php', 'dropdown_link', 1, 5000);
|
||||
else
|
||||
Hook::unregister('dropdown_extras', 'addon/link/link.php', 'dropdown_link');
|
||||
info( t('Settings updated.') . EOL );
|
||||
}
|
||||
|
||||
function link_active(&$a,&$b) {
|
||||
// Javascript code for "Link on Hub" button insert - it is not good, it is temporarily, works not good
|
||||
$b .= "\n<script>window.buttonsnotedited = true; setInterval(addButtons, 1000); function addButtons() { if (window.buttonsnotedited == true) { if (loadingPage == false) { let visibleitems = document.querySelectorAll('.btn-group [aria-labelledby]'); for (currentitem of visibleitems) { if (currentitem.getAttribute('aria-labelledby').substr(0,15) == 'wall-item-menu-') currentitem.querySelector('[title=\"Link to Source\"]').outerHTML += '<a class=\"dropdown-item\" href=\"/link/' + currentitem.getAttribute('aria-labelledby').substr(15) + '\" title=\"Link on Hub\"><i class=\"generic-icons-nav fa fa-fw fa-external-link\"></i>Link on Hub</a>';} window.buttonsnotedited = false; } } }</script>\n";
|
||||
function dropdown_link(&$extras) {
|
||||
$arr = $extras;
|
||||
$item_id = $extras['item']['item_id'];
|
||||
$arr['dropdown_extras'] .= '<a class="dropdown-item" href="'.z_root().'/link/'.$item_id.'" title="'.t('Link on Hub').'" class="u-url"><i class="generic-icons-nav fa fa-fw fa-link"></i>'.t('Link on Hub').'</a>';
|
||||
$extras = $arr;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user