CMS  Version 3.9
SettingsManager Class Reference

Public Member Functions

 SettingsManager ()
 

Static Public Member Functions

static registerExtension ($component, $handler)
 
static getExtension ($component)
 
static setDefaults ()
 
static configurationBootstrap ()
 Sets the Fakoli framework configuration variables according to the settings stored in the database. More...
 
static getSubTabs ($component)
 
static upgradeComponent ($version)
 
static registerSerializationHandler ()
 

Static Public Attributes

static $extensionMap = array()
 

Detailed Description

Definition at line 59 of file settings_manager.inc.

Member Function Documentation

◆ configurationBootstrap()

static SettingsManager::configurationBootstrap ( )
static

Sets the Fakoli framework configuration variables according to the settings stored in the database.

If a configuration variable already has a value (i.e. manually specified in the config.inc file) then the value is not overwritten.

The goal of this function is to aid with the migration of application-specific settings out of configuration files and into the application settings in the database.

Definition at line 152 of file settings_manager.inc.

153  {
154  global $auto_form_defaults;
155  global $fontawesome;
156 
157  $afDefaults = Cache::get("auto_form_defaults");
158  if (!$afDefaults)
159  {
160  $afDefaults = array();
161  $autoFormSettings = Query::create(Settings, "WHERE component='settings' AND category='AutoForm'")
162  ->filter(new InclusionFilter("name", "value"))
163  ->execute();
164 
165  foreach($autoFormSettings as $setting)
166  {
167  $afDefaults[$setting->name] = $setting->value;
168  }
169 
170  Cache::put("auto_form_defaults", $afDefaults);
171  }
172 
173  foreach($afDefaults as $name => $value)
174  {
175  if (!isset($auto_form_defaults[$name])) $auto_form_defaults[$name] = $value;
176  }
177 
178  $fontawesomeURL = Cache::get("font_awesome_URL");
179  if (!$fontawesomeURL)
180  {
181  $fontawesomeURL = Settings::getValue("settings", "font_awesome_URL");
182  if (!$fontawesomeURL) $fontawesomeURL = $fontawesome;
183  Cache::put("font_awesome_URL", $fontawesomeURL);
184  }
185 
186  $fontawesome = $fontawesomeURL;
187  }
$name
Definition: upload.inc:54
The Settings class provides components with a common API for specifying application settings and conf...
Definition: settings.inc:49
static getValue($component, $name)
Retrieve the value of the specified Setting.
Definition: settings.inc:104
$fontawesome
Definition: core.inc:45
$setting

◆ getExtension()

static SettingsManager::getExtension (   $component)
static

Definition at line 68 of file settings_manager.inc.

69  {
71  }
$component
Definition: help.inc:38

◆ getSubTabs()

static SettingsManager::getSubTabs (   $component)
static

Definition at line 189 of file settings_manager.inc.

190  {
191  $tabs = null;
192  $settingCategories = array();
193 
194  $categories = Query::create(Settings, "WHERE component = :component && (category != '' OR category != null)")
195  ->bind("component", $component->name)
196  ->execute();
197 
198  if(count($categories) > 0)
199  {
200  $categories = removeDuplicates($categories, "category");
201  if(count($categories) > 1)
202  {
203  $idx = 1;
204  foreach($categories as $category)
205  {
206  $settingCategory = new SettingsCategory();
207  $settingCategory->component_id = $component->component_id;
208  $settingCategory->category_id = $idx;
209  $settingCategory->component = $component->name;
210  $settingCategory->category = $category->category;
211  $settingCategories[] = $settingCategory;
212  $idx++;
213  }
214 
215  $tabs = new DataItemTabBar("subtabs", $settingCategories);
216  }
217  }
218  return $tabs;
219  }
$tabs

◆ registerExtension()

static SettingsManager::registerExtension (   $component,
  $handler 
)
static

Definition at line 63 of file settings_manager.inc.

◆ registerSerializationHandler()

static SettingsManager::registerSerializationHandler ( )
static

Definition at line 227 of file settings_manager.inc.

228  {
229  SerializationManager::registerHandler("settings", "Settings and Permissions", new SettingsSerializationHandler());
230  return true;
231  }
registerHandler($component, $title, $handler)
Registers a serialization handler for a component.

◆ setDefaults()

static SettingsManager::setDefaults ( )
static

Definition at line 95 of file settings_manager.inc.

96  {
97  trace("SettingsManager::setDefaults", 3);
98 
99  global $config;
100 
101  preg_match_all("/([\\w\\d_]+)\.?([^}]*)/", $config["http_host"], $matches, PREG_SET_ORDER);
102  if(count($matches) > 0)
103  {
104  $matches = $matches[0];
105  if(count($matches) > 1)
106  {
107  $path = $matches[1];
108  $sitename = prettify($path);
109  }
110  }
111 
112  Settings::setDefaultValue("settings", "prettyUrls", true, "Boolean", "Whether urls are translated to CMS identifiers", "General");
113  Settings::setDefaultValue("settings", "allow_pdf_download", true, "Boolean", "", "General");
114  Settings::setDefaultValue("settings", "sitename", $sitename, "String", "", "General");
115  Settings::setDefaultValue("settings", "wrap_modules", true, Boolean, "Specifies whether to wrap module output in a div tag, or render them bare", "General");
116  Settings::setDefaultValue("settings", "system_notification_email", $config["email_contact"], String, "The email address to which system notifications should be sent", "General");
117  Settings::setDefaultValue("settings", "local_IP_address", "", String, "Specifies the server's local IP address for environments (such as Microsoft Azure) where this cannot be determined automatically", "General");
118 
119  Settings::setDefaultValue("settings", "formCSS", "form", "String", "", "AutoForm");
120  Settings::setDefaultValue("settings", "labelCSS", "label", "String", "", "AutoForm");
121  Settings::setDefaultValue("settings", "valueCSS", "value", "String", "", "AutoForm");
122  Settings::setDefaultValue("settings", "buttonCSS", "button", "String", "", "AutoForm");
123  Settings::setDefaultValue("settings", "buttonAlignment", "left", "String", "", "AutoForm");
124  Settings::setDefaultValue("settings", "buttonLineCSS", "submit", "String", "", "AutoForm");
125 
126  Settings::setDefaultValue("settings", "componentPath", "/fakoli", "String", "", "AutoForm");
127  Settings::setDefaultValue("settings", "HTMLEditorHideStyleBar", true, "Boolean", "", "AutoForm");
128  Settings::setDefaultValue("settings", "HTMLEditorDefaultWidth", "540px", "String", "", "AutoForm");
129  Settings::setDefaultValue("settings", "HTMLEditorDefaultHeight", "200px", "String", "", "AutoForm");
130  Settings::setDefaultValue("settings", "javascriptEnabled", true, "Boolean", "", "AutoForm");
131  Settings::setDefaultValue("settings", "markRequiredFields", true, "Boolean", "", "AutoForm");
132  Settings::setDefaultValue("settings", "onFormatLabel", "addContextHelp", "String", "Callback function for start of field label", "AutoForm");
133  Settings::setDefaultValue("settings", "requiredFieldsText", "* indicates required field", "String", "", "AutoForm");
134  Settings::setDefaultValue("settings", "passwordEnterLabel", "Enter", "String", "The text of the password entry field label", "AutoForm");
135  Settings::setDefaultValue("settings", "passwordEnterLabel", "Confirm", "String", "The text of the password confirmation field label", "AutoForm");
136  Settings::setDefaultValue("settings", "buttons_at_top", false, "Boolean", "Whether the form's save/cancel buttons appear at the top of the form in addition to the bottom.", "AutoForm");
137  Settings::setDefaultValue("settings", "default_layout", "table", String, "Specifies the default layout manager to use when rendering forms", "AutoForm", "table\nsimple\nmobile");
138  Settings::setDefaultValue("settings", "interstitialSpinner", "/fakoli/images/spinner.gif", String, "Specifies the default spinner animation to use with interstitials", "AutoForm");
139 
140  Settings::setDefaultValue("settings", "font_awesome_URL", "", 'String', "If you want to use a specific version of Font Awesome (for instance if you have a Pro subscription) enter the URL here", "Font Awesome");
141  }
if(! $page) $path
Definition: page.inc:57
static setDefaultValue($component, $name, $value, $field_type="String", $annotation="", $category="", $options="", $weight=0)
Sets the default value of the given component setting.
Definition: settings.inc:174
global $config
Definition: import.inc:4

◆ SettingsManager()

SettingsManager::SettingsManager ( )

Definition at line 73 of file settings_manager.inc.

74  {
75 
76  }

◆ upgradeComponent()

static SettingsManager::upgradeComponent (   $version)
static

Definition at line 221 of file settings_manager.inc.

222  {
224  $mgr->upgrade($version);
225  }

Member Data Documentation

◆ $extensionMap

SettingsManager::$extensionMap = array()
static

Definition at line 61 of file settings_manager.inc.


The documentation for this class was generated from the following file: