Ejemplo n.º 1
0
 public function notifyAction()
 {
     $payment = $this->getObject();
     $payment->made_at = date("Y-m-d H:i:s");
     $paypal = Wpjb_Payment_Factory::factory($payment);
     try {
         $paypal->processTransaction($this->getRequest()->getAll());
         if ($payment->object_type == Wpjb_Model_Payment::FOR_JOB) {
             $this->_notifyJob($payment->object_id);
         } elseif ($payment->object_type == Wpjb_Model_Payment::FOR_RESUMES) {
             $this->_notifyResume($payment->object_id);
         } else {
             // wtf?
         }
         $payment->payment_paid = $this->getRequest()->post("mc_gross");
         $payment->external_id = $this->getRequest()->post("txn_id");
         $payment->is_valid = 1;
         $payment->save();
     } catch (Exception $e) {
         $payment->message = $e->getMessage();
         $payment->is_valid = 0;
         $payment->save();
     }
     exit;
     return false;
 }
Ejemplo n.º 2
0
 protected function _premiumRequest()
 {
     $object = Wpjb_Model_Employer::current();
     $buy = (int) $this->_request->post("purchase", 0);
     $curr = Wpjb_List_Currency::getCurrencySymbol(Wpjb_Project::getInstance()->conf("cv_access_curr"));
     $this->view->payment = $curr . number_format(Wpjb_Project::getInstance()->conf("cv_access_cost"), 2);
     $this->view->active_until = $this->_activeUntil();
     $this->view->purchase = 0;
     $this->view->form = new Wpjb_Form_Frontend_ResumesAccess();
     if (!$this->isPost()) {
         return;
     }
     if (!$this->view->form->isValid($this->getRequest()->getAll())) {
         return;
     }
     $access = new Wpjb_Model_ResumesAccess();
     $access->employer_id = Wpjb_Model_Employer::current()->getId();
     $access->extend = Wpjb_Project::getInstance()->conf("cv_extend");
     $access->created_at = date("Y-m-d H:i:s");
     $access->save();
     $payment = new Wpjb_Model_Payment();
     $payment->object_type = Wpjb_Model_Payment::FOR_RESUMES;
     $payment->object_id = $access->getId();
     $payment->user_id = $access->employer_id;
     $payment->engine = $this->view->form->getElement("payment_method")->getValue();
     $payment->payment_currency = Wpjb_Project::getInstance()->conf("cv_access_curr");
     $payment->payment_sum = Wpjb_Project::getInstance()->conf("cv_access_cost");
     $payment->payment_paid = 0;
     $payment->save();
     $paypal = Wpjb_Payment_Factory::factory($payment);
     $this->view->paypal = $paypal;
     $this->view->purchase = 1;
 }
Ejemplo n.º 3
0
 public function paymentAction()
 {
     $payment = $this->getObject();
     $button = Wpjb_Payment_Factory::factory($payment);
     $this->_setTitle(__("Payment", WPJB_DOMAIN));
     if ($payment->payment_sum == $payment->payment_paid) {
         $this->view->_flash->addInfo(__("This payment was already processed correctly.", WPJB_DOMAIN));
         return false;
     }
     if ($payment->object_type == 1) {
         $this->view->job = new Wpjb_Model_Job($payment->object_id);
     }
     $this->view->payment = $payment;
     $this->view->button = $button;
     $this->view->currency = Wpjb_List_Currency::getCurrencySymbol($payment->payment_currency);
 }
Ejemplo n.º 4
0
 public function saveAction()
 {
     if (!$this->_canPost()) {
         wp_redirect($this->_stepAdd);
     }
     $this->view->current_step = 3;
     $form = new Wpjb_Form_AddJob();
     $request = $this->getRequest();
     $id = $request->session("wpjb.job_id");
     if ($id < 1) {
         if ($form->isValid($request->session("wpjb.job", array()))) {
             $paymentMethod = $form->getElement("payment_method")->getValue();
             $form->save();
             $job = $form->getObject();
             if (strlen($request->session("wpjb.job_logo_ext")) > 0) {
                 $ext = $request->session("wpjb.job_logo_ext");
                 $path1 = Wpjb_List_Path::getPath("tmp_images");
                 $path2 = Wpjb_List_Path::getPath("user_images");
                 $oldName = $path1 . "/temp_" . session_id() . "." . $ext;
                 $newName = $path2 . "/job_" . $job->getId() . "." . $ext;
                 $job->company_logo_ext = $ext;
                 $job->save();
                 rename($oldName, $newName);
             }
             if ($job->payment_sum > 0) {
                 $uid = null;
                 if (wp_get_current_user()->ID > 0) {
                     $uid = wp_get_current_user()->ID;
                 }
                 $payment = new Wpjb_Model_Payment();
                 $payment->user_id = $uid;
                 $payment->object_id = $job->getId();
                 $payment->object_type = Wpjb_Model_Payment::FOR_JOB;
                 $payment->engine = $paymentMethod;
                 $payment->payment_currency = $job->payment_currency;
                 $payment->payment_sum = $job->payment_sum;
                 $payment->payment_paid = 0;
                 $payment->save();
             }
             $request->setSessionParam("wpjb.job", null);
             $request->setSessionParam("wpjb.job_logo_ext", null);
             $request->setSessionParam("wpjb.job_id", $job->getId());
         } else {
             wp_redirect(Wpjb_Project::getInstance()->getUrl() . "/" . $this->_getRouter()->linkTo("step_add"));
         }
     } else {
         $job = new Wpjb_Model_Job($id);
     }
     if ($job->payment_sum > 0) {
         if ($job->payment_sum != $job->payment_paid) {
             $action = "payment_form";
         } else {
             $action = "payment_already_sent";
         }
     } else {
         $action = "job_online";
         if ($job->is_active && $job->is_approved) {
             $online = true;
         } else {
             $online = false;
         }
         $this->view->online = $online;
     }
     if ($action == "payment_form") {
         $payment = Wpjb_Payment_Factory::factory($job->getPayment(true));
         $this->view->payment = $payment->render();
     }
     $this->view->action = $action;
     $this->view->job = $job;
 }