$employer = new Employer($result[0]['employer']); $candidate = new Member($result[0]['referee']); $member = new Member($result[0]['member']); $job = array('id' => $result[0]['job_id'], 'title' => htmlspecialchars_decode(stripslashes($result[0]['title']))); $salary = $_POST['salary']; $irc_id = $member->isIRC() ? $member->getId() : NULL; $total_reward = $referral->calculateRewardFrom($salary, $irc_id); $total_token_reward = $total_reward * 0.3; $total_reward_to_referrer = $total_reward - $total_token_reward; $data = array(); $data['employed_on'] = $_POST['employed_on']; $data['work_commence_on'] = $work_commence_on; $data['salary_per_annum'] = $salary; $data['total_reward'] = $total_reward_to_referrer; $data['total_token_reward'] = $total_token_reward; $data['guarantee_expire_on'] = $referral->getGuaranteeExpiryDateWith($salary, $work_commence_on); // 1.1 Check whether the reward is 0.00 or NULL. If it is, then the employer account is not ready. if ($data['total_reward'] <= 0.0 || $data['guarantee_expire_on'] == '0000-00-00 00:00:00' || is_null($data['guarantee_expire_on'])) { echo '-1'; exit; } if ($referral->update($data) === false) { echo 'ko'; exit; } // 2. Generate an Reference Invoice // 2.1 Check whether this job is a replacement for a previous failed referral. $criteria = array('columns' => 'id', 'match' => "job = " . $job['id'] . " AND \n (replacement_authorized_on IS NOT NULL AND replacement_authorized_on <> '0000-00-00 00:00:00') AND \n (replaced_on IS NULL OR replaced_on = '0000-00-00 00:00:00') AND \n replaced_referral IS NULL", 'limit' => '1'); $result = $referral->find($criteria); if (count($result) > 0 && !is_null($result)) { $is_replacement = true;