Guest User

Untitled

a guest
Jan 23rd, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. <?php
  2. /**
  3. * Checks to see if a value has changed to any value from any value
  4. * @param SugarBean $bean
  5. * @param string $fieldName
  6. * @return bool
  7. */
  8. function hasFieldChanged(SugarBean $bean, $fieldName) {
  9. if(!isset($bean->$fieldName)) {
  10. //field does not exist
  11. $GLOBALS['log']->fatal(__FUNCTION__ . ": Field {$fieldName} does not exist in {$bean->object_name}.");
  12. return false;
  13. }
  14. if(isset($bean->fetched_row)) {
  15. if(isset($bean->fetched_row[$fieldName])) {
  16. if($bean->fetched_row[$fieldName] == $bean->$fieldName) {
  17. return false;
  18. } else {
  19. return true;
  20. }
  21. } else {
  22. //Field had no value and now it does
  23. return true;
  24. }
  25. } else {
  26. //No way to tell if the field has changed
  27. return false;
  28. }
  29. }
  30.  
  31. /**
  32. * Checks to see if a value has change to a specific value and
  33. * optionally from a specific value
  34. * @param SugarBean $bean
  35. * @param string $fieldName
  36. * @param string $newValue
  37. * @param string $oldValue
  38. * @return bool
  39. */
  40. function hasFieldChangedTo(SugarBean $bean, $fieldName, $newValue, $oldValue='') {
  41. if($bean->$fieldName != $newValue ||
  42. $bean->fetched_row[$fieldName] == $bean->$fieldName) {
  43. //It has not changed to the new value or changed at all
  44. return false;
  45. } else {
  46. if(isset($bean->fetched_row)) {
  47. if (!empty($oldValue) && $bean->fetched_row[$fieldName] != $oldValue) {
  48. //it didn't switch from the old value specified
  49. return false;
  50. } else {
  51. //It changed to the new value from some other value
  52. return true;
  53. }
  54. } else {
  55. //There is no way to tell
  56. return false;
  57. }
  58. }
  59. }
Add Comment
Please, Sign In to add comment