Guest User

Untitled

a guest
Dec 11th, 2018
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.39 KB | None | 0 0
  1. // Get salary for user id: 10
  2. $salary = Salary::getSalary([10], '2018-12-01', '2018-12-31');
  3.  
  4. echo $salary->user->fullname;
  5. echo $salary->salary->total;
  6. echo $salary->checked;
  7.  
  8. // Get salary for users - 10, 20, 30
  9. $salaries = Salary::getSalary([10, 20, 30, '2018-12-01', '2018-12-31');
  10.  
  11. foreach ($salaries as $salary) {
  12. echo $salary->user->fullname;
  13. echo $salary->salary->total;
  14. echo $salary->checked;
  15. }
  16.  
  17. public function getSalary($user_id, $date_from, $date_to)
  18. {
  19. $salary = new stdClass;
  20.  
  21. if ( count($user_id) == 1 ) {
  22. $salary->user = new stdClass;
  23. $salary->user->fullname = self::getUserById($user_id)->fullname;
  24. $salary->user->phone = self::getPhone($user_id);
  25. $salary->user->email = self::getUserById($user_id)->e_mail;
  26.  
  27. $salary->salary = self::getSalary($user_id, $date_from, $date_to);
  28. $salary->checked = self::isChecked($user_id, $date_from, $date_to);
  29. } else if ( count($user_id) > 1 ) {
  30. foreach ($user_id as $employee)
  31. {
  32. $salary->employee = new stdClass;
  33. $salary->employee->fullname = self::getUserById($user_id)->fullname;
  34. $salary->employee->phone = self::getPhone($user_id);
  35. $salary->employee->email = self::getUserById($user_id)->e_mail;
  36. $salary->employee->siawork = self::getUserById($user_id)->siawork;
  37.  
  38. $salary->salary = self::getSalary($user_id, $date_from, $date_to);
  39. $salary->checked = self::isChecked($user_id, $date_from, $date_to);
  40. }
  41. }
  42.  
  43. return $salary;
  44. }
  45.  
  46. public function getSalary($user_id, $date_from, $date_to)
  47. {
  48. //Return an array of salary objects to match your array of id inputs
  49. $salary = [];
  50.  
  51. if ( ! is_array($user_id) ) {
  52. //In case a non-array is entered
  53. $user_id = [$user_id];
  54. }
  55.  
  56. // A foreach will work even if there's only one user ID given,
  57. // as long as it's an array (which it should be by this point)
  58. foreach ($user_id as $id)
  59. {
  60. //Get your salary object by id
  61. $this_user = new stdClass;
  62. $this_user->user = new stdClass;
  63. $this_user->user->fullname = self::getUserById($id)->fullname;
  64. $this_user->user->phone = self::getPhone($id);
  65. $this_user->user->email = self::getUserById($id)->e_mail;
  66.  
  67. $this_user->salary = self::getSalary($id, $date_from, $date_to);
  68. $this_user->checked = self::isChecked($id, $date_from, $date_to);
  69.  
  70. //Put it in the output array
  71. $salary[] = $this_user;
  72. }
  73.  
  74. return $salary;
  75. }
  76.  
  77. public function getSalary($user_id, $date_from, $date_to)
  78. {
  79. $salaries = [];
  80.  
  81. if ( !is_array($user_id) ) {
  82. $user_id = [$user_id];
  83. }
  84. foreach ($user_id as $employee)
  85. {
  86. $salary->employee = new stdClass;
  87. $salary->employee->fullname = self::getUserById($user_id)->fullname;
  88. $salary->employee->phone = self::getPhone($user_id);
  89. $salary->employee->email = self::getUserById($user_id)->e_mail;
  90. $salary->employee->siawork = self::getUserById($user_id)->siawork;
  91.  
  92. $salary->salary = self::getSalary($user_id, $date_from, $date_to);
  93. $salary->checked = self::isChecked($user_id, $date_from, $date_to);
  94.  
  95. $salaries[] = $salary;
  96. }
  97.  
  98. return $salaries;
  99. }
  100.  
  101. if ( count($user_id) == 1 ) {
  102. $salaries = $salaries[0];
  103. }
  104. return $salaries;
  105. }
Add Comment
Please, Sign In to add comment