diff --git a/boot.php b/boot.php index 866e7165c7..d0215e81f2 100644 --- a/boot.php +++ b/boot.php @@ -530,6 +530,7 @@ class App { public $videoheight = 350; public $force_max_items = 0; public $theme_thread_allow = true; + public $theme_richtext_editor = true; public $theme_events_in_profile = true; /** diff --git a/include/features.php b/include/features.php index 4856f0f19e..64ab932d00 100644 --- a/include/features.php +++ b/include/features.php @@ -7,20 +7,27 @@ /** * @brief check if feature is enabled - * + * * @return boolean */ -function feature_enabled($uid,$feature) { +function feature_enabled($uid, $feature) { - $x = get_config('feature_lock',$feature); - if($x === false) { - $x = get_pconfig($uid,'feature',$feature); - if($x === false) { - $x = get_config('feature',$feature); - if($x === false) + if (($feature == 'richtext') AND !get_app()->theme_richtext_editor) { + return false; + } + + $x = get_config('feature_lock', $feature); + + if ($x === false) { + $x = get_pconfig($uid, 'feature', $feature); + if ($x === false) { + $x = get_config('feature', $feature); + if ($x === false) { $x = get_feature_default($feature); + } } } + $arr = array('uid' => $uid, 'feature' => $feature, 'enabled' => $x); call_hooks('feature_enabled',$arr); return($arr['enabled']); @@ -135,6 +142,11 @@ function get_features($filtered = true) { } } + // Remove the richtext editor setting if the theme doesn't support it + if (!get_app()->theme_richtext_editor) { + unset($arr['composition'][1]); + } + call_hooks('get_features',$arr); return $arr; } diff --git a/view/theme/frio/theme.php b/view/theme/frio/theme.php index 0547fdff14..085d4d941f 100644 --- a/view/theme/frio/theme.php +++ b/view/theme/frio/theme.php @@ -16,6 +16,9 @@ function frio_init(&$a) { // disable the events module link in the profile tab $a->theme_events_in_profile = false; + // Disallow the richtext editor + $a->theme_richtext_editor = false; + set_template_engine($a, 'smarty3'); $baseurl = $a->get_baseurl();