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; }
/** * Accepts payment made by user * * This function is executed by wpjb_payment_accept filter in Wpjb_Model_Payment::accepted() * * @see wpjb_payment_accept filter * @see Wpjb_Model_Payment::accepted(); * * @param boolean $accepted * @param Wpjb_Model_Payment $payment Payment object * @return boolean True if payment was accepted properly, false otherwise */ function custom_payment_type_accept($accepted, $payment) { if ($accepted === true) { // most likely one of default payment types return true; } $pricing = new Wpjb_Model_Pricing($payment->pricing_id); $list = new Wpjb_List_Pricing(); $listing = $list->getBy("id", $pricing->price_for); if (is_null($listing) || $listing['id'] != 210) { return $accepted; } $payment->log("Success!!!"); return true; }
protected function _premium() { $object = Wpjb_Model_Employer::current(); $buy = (int) $this->_request->get("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(); if ($buy != 1) { 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 = "PayPal"; $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 = new Wpjb_Payment_PayPal($payment); $this->view->paypal = $paypal; $this->view->purchase = 1; }
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; }