Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Checks to see if a value has changed to any value from any value
- * @param SugarBean $bean
- * @param string $fieldName
- * @return bool
- */
- function hasFieldChanged(SugarBean $bean, $fieldName) {
- if(!isset($bean->$fieldName)) {
- //field does not exist
- $GLOBALS['log']->fatal(__FUNCTION__ . ": Field {$fieldName} does not exist in {$bean->object_name}.");
- return false;
- }
- if(isset($bean->fetched_row)) {
- if(isset($bean->fetched_row[$fieldName])) {
- if($bean->fetched_row[$fieldName] == $bean->$fieldName) {
- return false;
- } else {
- return true;
- }
- } else {
- //Field had no value and now it does
- return true;
- }
- } else {
- //No way to tell if the field has changed
- return false;
- }
- }
- /**
- * Checks to see if a value has change to a specific value and
- * optionally from a specific value
- * @param SugarBean $bean
- * @param string $fieldName
- * @param string $newValue
- * @param string $oldValue
- * @return bool
- */
- function hasFieldChangedTo(SugarBean $bean, $fieldName, $newValue, $oldValue='') {
- if($bean->$fieldName != $newValue ||
- $bean->fetched_row[$fieldName] == $bean->$fieldName) {
- //It has not changed to the new value or changed at all
- return false;
- } else {
- if(isset($bean->fetched_row)) {
- if (!empty($oldValue) && $bean->fetched_row[$fieldName] != $oldValue) {
- //it didn't switch from the old value specified
- return false;
- } else {
- //It changed to the new value from some other value
- return true;
- }
- } else {
- //There is no way to tell
- return false;
- }
- }
- }
Add Comment
Please, Sign In to add comment