/** * Gets the object value at a specific date * * @param CMbObject $object The object to get the value of * @param datetime $date The date * @param string $field Field name * * @return mixed */ static function getObjectValueAtDate(CMbObject $object, $date, $field) { $where = array("object_class" => "= '{$object->_class}'", "object_id" => "= '{$object->_id}'", "type" => "IN('store', 'merge')", "extra IS NOT NULL AND extra != '[]'"); if ($date) { $where["date"] = ">= '{$date}'"; } $where[] = "\n fields LIKE '{$field}' OR \n fields LIKE '{$field} %' OR \n fields LIKE '% {$field}' OR \n fields LIKE '% {$field} %'"; $user_log = new self(); $user_log->loadObject($where, "date ASC"); if ($user_log->_id) { $user_log->getOldValues(); } return CValue::read($user_log->_old_values, $field, $object->{$field}); }