Harro Verton avatar Harro Verton committed db6ad5f

re-run get_rules after save(), deal with serialize/unserialize internally

Comments (0)

Files changed (1)

application/libraries/datamapper.php

 
 			$this->_refresh_stored_values();
 
+			if (!empty($this->_field_tracking['get_rules']))
+			{
+				$this->_run_get_rules();
+			}
+
 			// Check if a relationship is being saved
 			if ( ! empty($object))
 			{
 			}
 
 			$this->_auto_trans_complete($trans_complete_label);
-
 		}
 
 		$this->_force_save_as_new = FALSE;
 
 	// --------------------------------------------------------------------
 
+	/**
+	 * Serialize
+	 * Custom serialize rule that deals with non-arrays
+	 *
+	 * @ignore
+	 */
+	protected function _serialize($field) {
+		$this->{$field} = is_array($this->{$field}) ? serialize($this->{$field}) : array($this->{$field});
+	}
+
+	// --------------------------------------------------------------------
+
+	/**
+	 * Unserialize
+	 * Custom trim rule that deals with empty strings
+	 *
+	 * @ignore
+	 */
+	protected function _unserialize($field) {
+		$this->{$field} = empty($this->{$field}) ? array() : unserialize($this->{$field});
+	}
+
+	// --------------------------------------------------------------------
+
 
 	/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
 	 *																   *
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.