Exemplo n.º 1
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;
 }
/**
 * 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;
}
Exemplo n.º 3
0
 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;
 }
Exemplo 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;
 }