]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #3123. Datalists and config names can now be up to 255 chars long. Debug mode...
authorbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Thu, 17 Mar 2011 02:38:19 +0000 (02:38 +0000)
committerbrettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544>
Thu, 17 Mar 2011 02:38:19 +0000 (02:38 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@8746 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/cache.php
engine/lib/configuration.php
engine/lib/upgrades/2011031600-1.8_svn-datalist_grows_up-0b8aec5a55cc1e1c.php [new file with mode: 0644]
engine/schema/mysql.sql
version.php

index bc279e8eacc1829e648d64e142cb1fd6ba1570d9..d4888f9d96758aba94c312c1903dd3cf55345fa7 100644 (file)
@@ -213,6 +213,10 @@ function elgg_regenerate_simplecache($viewtype = NULL) {
 
        $original_viewtype = elgg_get_viewtype();
 
+       // disable error reporting so we don't cache problems
+       $old_debug = elgg_get_config('debug');
+       elgg_set_config('debug', null);
+
        foreach ($viewtypes as $viewtype) {
                elgg_set_viewtype($viewtype);
                foreach ($CONFIG->views->simplecache as $view) {
@@ -228,6 +232,7 @@ function elgg_regenerate_simplecache($viewtype = NULL) {
                datalist_set("simplecache_lastcached_$viewtype", $lastcached);
        }
 
+       elgg_set_config('debug', $old_debug);
        elgg_set_viewtype($original_viewtype);
 
        // needs to be set for links in html head
index 7e660c34b3b4c6f31597d5e1f6594f7b861b6e79..4679a70d8c7c2407ddff14c497483d040e802434 100644 (file)
@@ -143,8 +143,8 @@ function elgg_save_config($name, $value, $site_guid = 0) {
 
        $name = trim($name);
 
-       if (strlen($name) > 32) {
-               elgg_log("The name length for configuration variables cannot be greater than 32", "ERROR");
+       if (strlen($name) > 255) {
+               elgg_log("The name length for configuration variables cannot be greater than 255", "ERROR");
                return false;
        }
 
@@ -277,8 +277,8 @@ function datalist_set($name, $value) {
        global $CONFIG, $DATALIST_CACHE;
 
        // cannot store anything longer than 32 characters in db, so catch before we set
-       if (elgg_strlen($name) > 32) {
-               elgg_log("The name length for configuration variables cannot be greater than 32", "ERROR");
+       if (elgg_strlen($name) > 255) {
+               elgg_log("The name length for configuration variables cannot be greater than 255", "ERROR");
                return false;
        }
 
diff --git a/engine/lib/upgrades/2011031600-1.8_svn-datalist_grows_up-0b8aec5a55cc1e1c.php b/engine/lib/upgrades/2011031600-1.8_svn-datalist_grows_up-0b8aec5a55cc1e1c.php
new file mode 100644 (file)
index 0000000..379244b
--- /dev/null
@@ -0,0 +1,18 @@
+<?php
+/**
+ * Elgg 1.8-svn upgrade 2011031600
+ * datalist_grows_up
+ *
+ * Ups the varchar to 256 for the datalist and config table.
+ *
+ * Keeping it as a varchar because of the trailing whitespace trimming it apparently does:
+ * http://dev.mysql.com/doc/refman/5.0/en/char.html
+ */
+
+$db_prefix = elgg_get_config('dbprefix');
+
+$q = "ALTER TABLE {$db_prefix}datalists CHANGE name name VARCHAR(255)";
+update_data($q);
+
+$q = "ALTER TABLE {$db_prefix}config CHANGE name name VARCHAR(255)";
+update_data($q);
index 526cc8ce6cda69c0b2589b9cf2f4959f1170809d..74cf2ce74e30ede49aa78cbeb0cc67e25cf3c9a3 100644 (file)
@@ -94,7 +94,7 @@ CREATE TABLE `prefix_api_users` (
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!40101 SET character_set_client = utf8 */;
 CREATE TABLE `prefix_config` (
-  `name` varchar(32) NOT NULL,
+  `name` varchar(255) NOT NULL,
   `value` text NOT NULL,
   `site_guid` int(11) NOT NULL,
   PRIMARY KEY (`name`,`site_guid`)
@@ -108,7 +108,7 @@ CREATE TABLE `prefix_config` (
 /*!40101 SET @saved_cs_client     = @@character_set_client */;
 /*!40101 SET character_set_client = utf8 */;
 CREATE TABLE `prefix_datalists` (
-  `name` varchar(32) NOT NULL,
+  `name` varchar(255) NOT NULL,
   `value` text NOT NULL,
   PRIMARY KEY (`name`)
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
index b284525e64447331dd2a991020538e3ce7bc0dd2..d639949e2b3c49c48ad4545db777bb25683b0d24 100644 (file)
@@ -11,7 +11,7 @@
 
 // YYYYMMDD = Elgg Date
 // XX = Interim incrementer
-$version = 2011031400;
+$version = 2011031600;
 
 // Human-friendly version name
 $release = '1.8-svn';