示例#1
0
 public function slugifyAction()
 {
     $list = array("job" => 1, "type" => 1, "category" => 1);
     $id = Daq_Request::getInstance()->post("id");
     $title = Daq_Request::getInstance()->post("title");
     $model = Daq_Request::getInstance()->post("object");
     if (!isset($list[$model])) {
         die;
     }
     die(Wpjb_Utility_Slug::generate($model, $title, $id));
 }
 /**
  * Saves resume data
  * 
  * @param array $append Additional data to save
  * @return int Resume ID
  */
 public function save($append = array())
 {
     $user_email = $this->getElement("user_email")->getValue();
     if (!$this->hasElement("user_login")) {
         $user_login = $user_email;
     } else {
         $user_login = $this->getElement("user_login")->getValue();
     }
     $id = wp_insert_user(array("user_login" => $user_login, "user_email" => $user_email, "user_pass" => $this->getElement("user_password")->getValue(), "first_name" => $this->getFieldValue("first_name"), "last_name" => $this->getFieldValue("ldap_start_tlsname"), "role" => "subscriber"));
     $fullname = $this->value("first_name") . " " . $this->value("last_name");
     if (wpjb_conf("cv_approval") == 1) {
         $active = 0;
         // manual approval
     } else {
         $active = 1;
     }
     $resume = new Wpjb_Model_Resume();
     $resume->candidate_slug = Wpjb_Utility_Slug::generate(Wpjb_Utility_Slug::MODEL_RESUME, $fullname);
     $resume->phone = "";
     $resume->user_id = $id;
     $resume->headline = "";
     $resume->description = "";
     $resume->created_at = date("Y-m-d");
     $resume->modified_at = date("Y-m-d");
     $resume->candidate_country = wpjb_locale();
     $resume->candidate_zip_code = "";
     $resume->candidate_state = "";
     $resume->candidate_location = "";
     $resume->is_public = wpjb_conf("cv_is_public", 1);
     $resume->is_active = $active;
     $resume->save();
     $resume->cpt();
     $this->setObject($resume);
     apply_filters("wpjr_form_save_register", $this);
     parent::save($append);
     $resume->created_at = current_time("mysql");
     $resume->candidate_slug = Wpjb_Utility_Slug::generate(Wpjb_Utility_Slug::MODEL_RESUME, $fullname);
     $resume->save();
     return $resume->id;
 }
示例#3
0
 public function isValid($values)
 {
     if (!$this->hasElement("listing")) {
         $listing = new Daq_Db_Query();
         $listing->select("*")->from("Wpjb_Model_Listing t")->limit(1);
         list($listing) = $listing->execute();
         $e = new Daq_Form_Element("listing");
         $e->setValue($listing->id);
         $this->addElement($e);
         $values["listing"] = $listing->id;
     }
     if (!$this->hasElement("payment_method")) {
         $payment = new Wpjb_Payment_Factory();
         $engine = new ArrayIterator($payment->getEngines());
         $engine = $engine->key();
         $e = new Daq_Form_Element("payment_method");
         $e->setValue($engine);
         $this->addElement($e);
         $values["payment_method"] = $engine;
     }
     $listing = new Wpjb_Model_Listing($values["listing"]);
     $validator = new Wpjb_Validate_Coupon($listing->currency);
     if ($this->hasElement("coupon")) {
         $this->getElement("coupon")->addValidator($validator);
     }
     $valid = parent::isValid($values);
     $discountObject = null;
     if (strlen($values['coupon']) > 0 && $valid) {
         $query = new Daq_Db_Query();
         $result = $query->select("*")->from("Wpjb_Model_Discount t")->where("code = ?", $values['coupon'])->limit(1)->execute();
         $discountObject = $result[0];
         $listing->addDiscount($discountObject);
     }
     if ($valid) {
         list($price, $discount) = $listing->calculatePrice();
         if ($discountObject) {
             $e = new Daq_Form_Element("discount_id");
             $e->setValue($discountObject->id);
             $this->addElement($e);
         }
         $e = new Daq_Form_Element("job_modified_at");
         $e->setValue(date("Y-m-d H:i:s"));
         $this->addElement($e);
         $e = new Daq_Form_Element("job_created_at");
         $e->setValue(date("Y-m-d H:i:s"));
         $this->addElement($e);
         $e = new Daq_Form_Element("job_expires_at");
         if ($listing->visible == 0) {
             $expiresAt = "9999-12-31 23:59:59";
         } else {
             $expiresAt = strtotime("now +" . $listing->visible . " days");
             $expiresAt = date("Y-m-d H:i:s", $expiresAt);
         }
         $e->setValue($expiresAt);
         $this->addElement($e);
         $e = new Daq_Form_Element("job_visible");
         $e->setValue($listing->visible);
         $this->addElement($e);
         $e = new Daq_Form_Element("job_source");
         $e->setValue(1);
         $this->addElement($e);
         $e = new Daq_Form_Element("is_filled");
         $e->setValue(0);
         $this->addElement($e);
         $isActive = Wpjb_Project::getInstance()->getConfig("posting_moderation");
         $isActive = !(bool) $isActive;
         if ($price > 0) {
             $isActive = false;
         }
         $e = new Daq_Form_Element("is_approved");
         $e->setValue($isActive);
         $this->addElement($e);
         $e = new Daq_Form_Element("is_active");
         $e->setValue($isActive);
         $this->addElement($e);
         $e = new Daq_Form_Element("is_featured");
         $e->setValue($listing->is_featured);
         $this->addElement($e);
         $e = new Daq_Form_Element("payment_sum");
         $e->setValue($price);
         $this->addElement($e);
         $e = new Daq_Form_Element("payment_paid");
         $e->setValue(0);
         $this->addElement($e);
         $e = new Daq_Form_Element("payment_currency");
         $e->setValue($listing->currency);
         $this->addElement($e);
         $e = new Daq_Form_Element("payment_discount");
         $e->setValue($discount);
         $this->addElement($e);
         $slug = Wpjb_Utility_Slug::generate(Wpjb_Utility_Slug::MODEL_JOB, $values['job_title']);
         $e = new Daq_Form_Element("job_slug");
         $e->setValue($slug);
         $this->addElement($e);
         $e = new Daq_Form_Element("employer_id");
         $e->setValue($this->_getEmployerId());
         $this->addElement($e);
     }
     return $valid;
 }