* Author: Hypolite Petovan * License: 3-clause BSD license */ use Friendica\App; use Friendica\Core\Addon; use Friendica\Core\L10n; use Friendica\Core\PConfig; function mathjax_install() { Addon::registerHook('footer' , __FILE__, 'mathjax_footer'); Addon::registerHook('addon_settings' , __FILE__, 'mathjax_settings'); Addon::registerHook('addon_settings_post', __FILE__, 'mathjax_settings_post'); } function mathjax_uninstall() { Addon::unregisterHook('footer' , __FILE__, 'mathjax_footer'); Addon::unregisterHook('addon_settings' , __FILE__, 'mathjax_settings'); Addon::unregisterHook('addon_settings_post', __FILE__, 'mathjax_settings_post'); // Legacy hooks Addon::unregisterHook('load_config' , __FILE__, 'mathjax_load_config'); Addon::unregisterHook('page_header' , __FILE__, 'mathjax_page_header'); Addon::unregisterHook('template_vars' , __FILE__, 'mathjax_template_vars'); } function mathjax_settings_post($a) { if (!local_user()) { return; } if (empty($_POST['mathjax-submit'])) { return; } PConfig::set(local_user(), 'mathjax', 'use', intval($_POST['mathjax_use'])); } function mathjax_settings(App $a, &$s) { if (!local_user()) { return; } $use = PConfig::get(local_user(), 'mathjax', 'use', false); $usetext = $use ? ' checked="checked" ' : ''; $s .= ''; $s .= '

MathJax ' . L10n::t('Settings') . '

'; $s .= '
'; $s .= ''; } function mathjax_footer(App $a, &$b) { // if the visitor of the page is not a local_user, use MathJax // otherwise check the users settings. if (!local_user() || PConfig::get(local_user(), 'mathjax', 'use', false)) { $a->registerFooterScript(__DIR__ . '/asset/MathJax.js?config=TeX-MML-AM_CHTML'); $a->registerFooterScript(__DIR__ . '/mathjax.js'); } }