/**
* @brief check if feature is enabled
- *
+ *
* @return boolean
*/
-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)
+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) {
$x = get_feature_default($feature);
+ }
}
}
+
$arr = array('uid' => $uid, 'feature' => $feature, 'enabled' => $x);
call_hooks('feature_enabled',$arr);
return($arr['enabled']);
/**
* @brief check if feature is enabled or disabled by default
- *
+ *
* @param string $feature
* @return boolean
*/
function get_feature_default($feature) {
$f = get_features();
- foreach($f as $cat) {
- foreach($cat as $feat) {
- if(is_array($feat) && $feat[0] === $feature)
+ foreach ($f as $cat) {
+ foreach ($cat as $feat) {
+ if (is_array($feat) && $feat[0] === $feature)
return $feat[3];
}
}
/**
* @brief Get a list of all available features
- *
+ *
* The array includes the setting group, the setting name,
* explainations for the setting and if it's enabled or disabled
* by default
- *
+ *
* @param bool $filtered True removes any locked features
- *
+ *
* @return array
*/
function get_features($filtered = true) {
//array('expire', t('Content Expiration'), t('Remove old posts/comments after a period of time')),
array('multi_profiles', t('Multiple Profiles'), t('Ability to create multiple profiles'), false, get_config('feature_lock','multi_profiles')),
array('photo_location', t('Photo Location'), t('Photo metadata is normally stripped. This extracts the location (if present) prior to stripping metadata and links it to a map.'), false, get_config('feature_lock','photo_location')),
+ array('export_calendar', t('Export Public Calendar'), t('Ability for visitors to download the public calendar'), false, get_config('feature_lock','export_calendar')),
),
// Post composition
'composition' => array(
t('Post Composition Features'),
- array('richtext', t('Richtext Editor'), t('Enable richtext editor'), false, get_config('feature_lock','richtext')),
array('preview', t('Post Preview'), t('Allow previewing posts and comments before publishing them'), false, get_config('feature_lock','preview')),
- array('aclautomention', t('Auto-mention Forums'), t('Add/remove mention when a fourm page is selected/deselected in ACL window.'), false, get_config('feature_lock','aclautomention')),
+ array('aclautomention', t('Auto-mention Forums'), t('Add/remove mention when a forum page is selected/deselected in ACL window.'), false, get_config('feature_lock','aclautomention')),
),
// Network sidebar widgets
// removed any locked features and remove the entire category if this makes it empty
- if($filtered) {
- foreach($arr as $k => $x) {
+ if ($filtered) {
+ foreach ($arr as $k => $x) {
$has_items = false;
$kquantity = count($arr[$k]);
- for($y = 0; $y < $kquantity; $y ++) {
- if(is_array($arr[$k][$y])) {
- if($arr[$k][$y][4] === false) {
+ for ($y = 0; $y < $kquantity; $y ++) {
+ if (is_array($arr[$k][$y])) {
+ if ($arr[$k][$y][4] === false) {
$has_items = true;
}
else {
}
}
}
- if(! $has_items) {
+ if (! $has_items) {
unset($arr[$k]);
}
}