upgrade to codeigniter 1.7.2 for f12
[www-register-wizard.git] / database / DB_forge.php
index f708910..4050e30 100644 (file)
@@ -6,7 +6,7 @@
  *
  * @package            CodeIgniter
  * @author             ExpressionEngine Dev Team
- * @copyright  Copyright (c) 2008, EllisLab, Inc.
+ * @copyright  Copyright (c) 2008 - 2009, EllisLab, Inc.
  * @license            http://codeigniter.com/user_guide/license.html
  * @link               http://codeigniter.com
  * @since              Version 1.0
@@ -257,18 +257,28 @@ class CI_DB_forge {
                }
 
                // add field info into field array, but we can only do one at a time
-               // so only grab the first field in the event there are more then one
-               $this->add_field(array_slice($field, 0, 1));
+               // so we cycle through
 
-               if (count($this->fields) == 0)
-               {       
-                       show_error('Field information is required.');
-               }
+               foreach ($field as $k => $v)
+               {
+                       $this->add_field(array($k => $field[$k]));              
 
-               $sql = $this->_alter_table('ADD', $this->db->dbprefix.$table, $this->fields, $after_field);
+                       if (count($this->fields) == 0)
+                       {       
+                               show_error('Field information is required.');
+                       }
+                       
+                       $sql = $this->_alter_table('ADD', $this->db->dbprefix.$table, $this->fields, $after_field);
 
-               $this->_reset();
-               return $this->db->query($sql);
+                       $this->_reset();
+       
+                       if ($this->db->query($sql) === FALSE)
+                       {
+                               return FALSE;
+                       }
+               }
+               
+               return TRUE;
        }
 
        // --------------------------------------------------------------------
@@ -318,18 +328,28 @@ class CI_DB_forge {
                }
 
                // add field info into field array, but we can only do one at a time
-               // so only grab the first field in the event there are more then one
-               $this->add_field(array_slice($field, 0, 1));
+               // so we cycle through
 
-               if (count($this->fields) == 0)
-               {       
-                       show_error('Field information is required.');
-               }
+               foreach ($field as $k => $v)
+               {
+                       $this->add_field(array($k => $field[$k]));
 
-               $sql = $this->_alter_table('CHANGE', $this->db->dbprefix.$table, $this->fields);
+                       if (count($this->fields) == 0)
+                       {       
+                               show_error('Field information is required.');
+                       }
+               
+                       $sql = $this->_alter_table('CHANGE', $this->db->dbprefix.$table, $this->fields);
 
-               $this->_reset();
-               return $this->db->query($sql);
+                       $this->_reset();
+       
+                       if ($this->db->query($sql) === FALSE)
+                       {
+                               return FALSE;
+                       }
+               }
+               
+               return TRUE;
        }
 
        // --------------------------------------------------------------------