]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Refs #2428 added elgg_get_config(), elgg_set_config(), and elgg_save_config()
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Mon, 29 Nov 2010 12:36:38 +0000 (12:36 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Mon, 29 Nov 2010 12:36:38 +0000 (12:36 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@7470 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/configuration.php
views/default/page_shells/admin.php
views/default/page_shells/default.php
views/default/page_shells/walled_garden.php

index b222b6b4fef197190ef74675844dfe0d63211d2a..bf5122653b36440646ac32a8ec86f9abaad9a316 100644 (file)
  * @subpackage Configuration
  */
 
+/**
+ * Get an Elgg configuration value
+ *
+ * @param string $name      Name of the configuration value
+ * @param int    $site_guid NULL for installation setting, 0 for default site
+ *
+ * @return mixed Configuration value or false if it does not exist
+ * @since 1.8.0
+ */
+function elgg_get_config($name, $site_guid = 0) {
+       global $CONFIG;
+
+       $name = trim($name);
+
+       if (isset($CONFIG->$name)) {
+               return $CONFIG->$name;
+       }
+
+       if ($site_guid === NULL) {
+               // installation wide setting
+               $value = datalist_get($name);
+       } else {
+               // site specific setting
+               if ($site_guid == 0) {
+                       $site_guid = (int) $CONFIG->site_id;
+               }
+               $value = get_config($name, $site_guid);
+       }
+
+       if ($value !== false) {
+               $CONFIG->$name = $value;
+               return $value;
+       }
+       
+       return false;
+}
+
+/**
+ * Set an Elgg configuration value
+ *
+ * @warning This does not persist the configuration setting. Use elgg_save_config()
+ *
+ * @param string $name  Name of the configuration value
+ * @param mixed  $value Value
+ *
+ * @return void
+ * @since 1.8.0
+ */
+function elgg_set_config($name, $value) {
+       global $CONFIG;
+
+       $name = trim($name);
+
+       $CONFIG->$name = $value;
+}
+
+/**
+ * Save a configuration setting
+ *
+ * @param string $name      Configuration name
+ * @param mixed  $value     Configuration value. Should be string for installation setting
+ * @param int    $site_guid NULL for installation setting, 0 for default site
+ *
+ * @return bool
+ * @since 1.8.0
+ */
+function elgg_save_config($name, $value, $site_guid = 0) {
+       global $CONFIG;
+
+       $name = trim($name);
+
+       elgg_set_config($name, $value);
+
+       if ($site_guid === NULL) {
+               if (is_array($value) || is_object($value)) {
+                       return false;
+               }
+               return datalist_set($name, $value);
+       } else {
+               if ($site_guid == 0) {
+                       $site_guid = (int) $CONFIG->site_id;
+               }
+               return set_config($name, $value, $site_guid);
+       }
+}
+
 /**
  * Check that installation has completed and the database is populated.
  *
index cc65b6fda6ec424c6e4624104fb79dd04a7921d1..9fdbf2e289caa3c7fdcb153b3ff0bdc452ebb461 100644 (file)
@@ -5,22 +5,22 @@
  * @package Elgg\r
  * @subpackage Core\r
  *\r
- * @uses $vars['config'] The site configuration settings, imported\r
  * @uses $vars['title'] The page title\r
  * @uses $vars['body'] The main content of the page\r
- * @uses $vars['messages'] A 2d array of various message registers, passed from system_messages()\r
+ * @uses $vars['sysmessages'] A 2d array of various message registers, passed from system_messages()\r
  */\r
 \r
 // Set the content type\r
 header("Content-type: text/html; charset=UTF-8");\r
 \r
 // Set title\r
+$site_title = elgg_get_config('sitename');\r
 if (empty($vars['title'])) {\r
-       $title = $vars['config']->sitename;\r
-} else if (empty($vars['config']->sitename)) {\r
+       $title = $site_title;\r
+} else if (empty($site_title)) {\r
        $title = $vars['title'];\r
 } else {\r
-       $title = $vars['config']->sitename . ": " . $vars['title'];\r
+       $title = $site_title . ": " . $vars['title'];\r
 }\r
 \r
 echo elgg_view('page_elements/html_begin', $vars);\r
index 30196a1397a5eca51660905673f0bd4bb0ff089d..0fd407a3d200e6c6b4076f48caa5dc19038d81bf 100644 (file)
@@ -6,22 +6,22 @@
  * @package Elgg
  * @subpackage Core
  *
- * @uses $vars['config'] The site configuration settings, imported
  * @uses $vars['title'] The page title
  * @uses $vars['body'] The main content of the page
- * @uses $vars['messages'] A 2d array of various message registers, passed from system_messages()
+ * @uses $vars['sysmessages'] A 2d array of various message registers, passed from system_messages()
  */
 
 // Set the content type
 header("Content-type: text/html; charset=UTF-8");
 
 // Set title
+$site_title = elgg_get_config('sitename');
 if (empty($vars['title'])) {
-       $title = $vars['config']->sitename;
-} else if (empty($vars['config']->sitename)) {
+       $title = $site_title;
+} else if (empty($site_title)) {
        $title = $vars['title'];
 } else {
-       $title = $vars['config']->sitename . ": " . $vars['title'];
+       $title = $site_title . ": " . $vars['title'];
 }
 
 echo elgg_view('page_elements/html_begin', $vars);
index 0da1aeb67d8190748fda33f73e1e0b52072a221b..cdd3982ecd15d46fdbf209d480a858184d25a27e 100644 (file)
@@ -7,12 +7,13 @@
 header("Content-type: text/html; charset=UTF-8");
 
 // Set title
+$site_title = elgg_get_config('sitename');
 if (empty($vars['title'])) {
-       $title = $vars['config']->sitename;
-} elseif (empty($vars['config']->sitename)) {
+       $title = $site_title;
+} else if (empty($site_title)) {
        $title = $vars['title'];
 } else {
-       $title = $vars['config']->sitename . ": " . $vars['title'];
+       $title = $site_title . ": " . $vars['title'];
 }
 
 echo elgg_view('page_elements/html_begin', $vars);