function availability_calendars_get_settings in Availability Calendars 6.2
Same name and namespace in other branches
- 7.2 availability_calendars.inc \availability_calendars_get_settings()
Utility function to get settings related to nodes or administration.
Parameters
string $scope type of settings to get: node or system:
int|NULL $arg nid:
Return value
object An object with all settings for the given scope
7 calls to availability_calendars_get_settings()
- availability_calendars_admin_settings in ./
availability_calendars.admin.inc - Retrieve form callback for the admin/settings/availability-calendars/settings page.
- availability_calendars_admin_settings_submit in ./
availability_calendars.admin.inc - Form submit callback for the admin_settings form
- availability_calendars_edit_calendar in ./
availability_calendars.node.inc - Show the availability calendar. (callback for path availability-calendars/%)
- availability_calendars_handler_filter_availability::query_available in ./
availability_calendars_handler_filter_availability.inc - * Add where clauses to the query to filter on availability.
- availability_calendars_node_edit_form_alter in ./
availability_calendars.node.inc - Alters the form for node edit forms for supported content types.
File
- ./
availability_calendars.inc, line 71 - General helper methods for Availability Calendars, like database access and settings.
Code
function availability_calendars_get_settings($scope = NULL, $arg = NULL) {
// Default settings
$firststatus = reset(availability_calendars_get_states());
$settings = array(
'startofweek' => 1,
'showteaser' => 1,
'showkey' => 1,
'showweeknotes' => 1,
'firstletter' => 0,
'hideold' => 0,
'defaultstatus' => $firststatus['class'],
'monthcount' => 12,
'editormonthcount' => 18,
'splitday' => 0,
'nodeview' => variable_get('availability_calendars_settings_system_nodeview', 1),
'pernodeoverride' => variable_get('availability_calendars_settings_system_pernodeoverride', 0),
);
// Override and extend with system wide settings.
$settings = array_merge($settings, variable_get('availability_calendars_settings_system', array()));
$settings['contenttypes'] = variable_get('availability_calendars_settings_content_types', array());
// Override with node specific settings if we are in an existing node scope and allow to override per node.
if ($settings['pernodeoverride'] && $scope === 'node' && $arg !== NULL) {
$settings = array_merge($settings, variable_get('availability_calendars_settings_node_' . $arg, array()));
}
return (object) $settings;
}