function index() { if ($this->input->post('emails')) { $this->load->library('validation'); $rules['emails'] = 'valid_emails|required'; $fields['emails'] = 'referree emails'; $this->validation->set_fields($fields); $this->validation->set_rules($rules); $this->validation->set_message('valid_emails', 'All email addresses entered into %s must be valid, seperated by commas'); if ($this->validation->run() === TRUE) { $emails = explode(',', $this->input->post('emails')); $this->load->model('referral'); foreach ($emails as $email) { $referral = new Referral(); $referral->set('user', $this->_getUser()); $referral->set('referee', trim($email)); $referral->set('ipRequested', @$_SERVER['REMOTE_ADDR']); if ($referral->create()) { $viewData['checkpoints'][] = "You have successfully sent a referral email to {$email}."; } else { $viewData['errors'][] = "A referral email has already been sent to {$email}."; } } } } if ($this->validation->error_string) { $viewData['errors'][] = $this->validation->error_string; } $viewData['token'] = $this->_token(); $this->load->library('templatedata'); $templateData = new TemplateData(); $templateData->setHead('Refer a friend and get cash back'); $templateData->setView($viewData); $this->_template('user/referral', $templateData); }
$mysqli->transact($query); ?> <script type="text/javascript">top.stop_quick_refer_upload('-6');</script><?php exit; } // 2. create referral with pre-approvals from the referrer's side $data = array(); $data['member'] = $member->id(); $data['job'] = $_POST['qr_job_id']; $data['referred_on'] = $today; $data['referee'] = $candidate_email; $data['member_confirmed_on'] = $today; $data['member_read_resume_on'] = $today; $data['testimony'] = $testimony; $data['resume'] = $resume->id(); if (!Referral::create($data)) { ?> <script type="text/javascript">top.stop_quick_refer_upload('-7');</script><?php exit; } $lines = file(dirname(__FILE__) . '/private/mail/member_referred.txt'); if (!$is_friend) { $lines = file(dirname(__FILE__) . '/private/mail/member_referred_approval.txt'); } $message = ''; foreach ($lines as $line) { $message .= $line; } $position = '- ' . htmlspecialchars_decode($job) . ' at ' . htmlspecialchars_decode($employer); $message = str_replace('%member_name%', htmlspecialchars_decode($member->get_name()), $message); $message = str_replace('%member_email_addr%', $member->id(), $message);
$data['member'] = $_POST['id']; $data['job'] = $jobs; $data['referred_on'] = now(); $data['member_confirmed_on'] = $data['referred_on']; $data['member_rejected_on'] = 'NULL'; $data['testimony'] = $_POST['testimony']; $data['referee'] = $_POST['referee']; } if (isset($_POST['request'])) { $data['job'] = $jobs[0]['id']; $data['resume'] = $_POST['resume']; $data['referee_acknowledged_on'] = $_POST['requested_on']; $query = "SELECT referrer_read_resume_on FROM referral_requests WHERE id = " . $_POST['request_id'] . " LIMIT 1"; $result = $mysqli->query($query); $data['member_read_resume_on'] = $result[0]['referrer_read_resume_on']; $referral_id = Referral::create($data); if ($referral_id === false || $referral_id <= 0) { echo 'ko'; exit; } if (!Referral::close_similar_referrals_with_id($referral_id)) { echo 'ko'; exit; } } elseif (isset($_POST['referral_id'])) { if (Referral::update($data) !== false) { if (!Referral::close_similar_referrals_with_id($referral_id)) { echo 'ko'; exit; } } else {
$job_ids = array_unique($job_ids); $referral = new Referral(); $timestamp = date('Y-m-d h:i:s'); $failed_jobs = array(); $data = array(); $data['member'] = $member; $data['referee'] = $referee; $data['resume'] = $resume; $data['referred_on'] = $timestamp; $data['referee_acknowledged_on'] = $timestamp; $data['member_confirmed_on'] = $timestamp; $data['member_read_resume_on'] = $timestamp; $data['job'] = 0; foreach ($job_ids as $job) { $data['job'] = $job; if ($referral->create($data) === false) { $criteria = array("columns" => "id", "match" => "member = '" . $member . "' AND \n referee = '" . $referee . "' AND \n job = " . $job, "limit" => "1"); $result = $referral->find($criteria); if (is_null($result) || count($result) <= 0 || $result === false) { $failed_jobs[] = $job; continue; } $existing_referral = new Referral($result[0]['id']); if ($existing_referral->update($data) === false) { $failed_jobs[] = $job; } } } if (!empty($failed_jobs) && count($failed_jobs) > 0) { $criteria = array("columns" => "jobs.id, jobs.title, employers.id, employers.name AS employer, \n jobs.expire_on", "joins" => "employers ON employers.id = jobs.employer", "match" => "jobs.id IN (" . implode(',', $failed_jobs) . ")"); $job = new Job();