<?php /*
+--------------------------------------------------------------------+
- | CiviCRM version 4.3 |
+ | CiviCRM version 4.5 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2013 |
+ | Copyright CiviCRM LLC (c) 2004-2014 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
return self::$_singleton;
}
+ /**
+ * @param $newFrame
+ */
public function push($newFrame) {
$this->backups[] = $this->createBackup($newFrame);
$this->applyFrame($newFrame);
public function createBackup($new) {
$frame = array();
foreach ($new as $globalKey => $values) {
- foreach ($values as $key => $value) {
- $frame[$globalKey][$key] = CRM_Utils_Array::value($key, $GLOBALS[$globalKey]);
+ if (is_array($values)) {
+ foreach ($values as $key => $value) {
+ $frame[$globalKey][$key] = CRM_Utils_Array::value($key, $GLOBALS[$globalKey]);
+ }
+ } else {
+ $frame[$globalKey] = CRM_Utils_Array::value($globalKey, $GLOBALS);
}
}
return $frame;
}
+ /**
+ * @param $newFrame
+ */
public function applyFrame($newFrame) {
foreach ($newFrame as $globalKey => $values) {
- foreach ($values as $key => $value) {
- $GLOBALS[$globalKey][$key] = $value;
+ if (is_array($values)) {
+ foreach ($values as $key => $value) {
+ $GLOBALS[$globalKey][$key] = $value;
+ }
+ } else {
+ $GLOBALS[$globalKey] = $values;
}
}
}
-}
\ No newline at end of file
+}