Пример #1
0
 public function init()
 {
     $e1 = new Daq_Form_Element("id", Daq_Form_Element::TYPE_HIDDEN);
     $e1->setValue($this->_object->id);
     $e1->addFilter(new Daq_Filter_Int());
     $this->addElement($e1);
     $e3 = new Daq_Form_Element("title");
     $e3->setRequired(true);
     $e3->setValue($this->_object->title);
     $e3->setLabel(__("Category Title", WPJB_DOMAIN));
     $e3->setHint(__("The name is used to identify the category almost everywhere, for example under the post or in the category widget.", WPJB_DOMAIN));
     $this->addElement($e3);
     $e2 = new Daq_Form_Element("slug");
     $e2->setRequired(true);
     $e2->setValue($this->_object->slug);
     $e2->setLabel(__("Category Slug", WPJB_DOMAIN));
     $e2->setHint(__("The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.", WPJB_DOMAIN));
     $e2->addValidator(new Daq_Validate_Slug());
     $e2->addValidator(new Daq_Validate_Db_NoRecordExists("Wpjb_Model_Category", "slug", $this->_exclude()));
     $this->addElement($e2);
     $e4 = new Daq_Form_Element("description", Daq_Form_Element::TYPE_TEXTAREA);
     $e4->setValue($this->_object->description);
     $e4->setLabel(__("Category Description", WPJB_DOMAIN));
     $e4->setHint(__("Briefly describe  category. (You can use HTML tags.)", WPJB_DOMAIN));
     $this->addElement($e4);
     apply_filters("wpja_form_init_category", $this);
 }
Пример #2
0
 public function init()
 {
     $e = new Daq_Form_Element("id", Daq_Form_Element::TYPE_HIDDEN);
     $e->setValue($this->_object->id);
     $e->addFilter(new Daq_Filter_Int());
     $this->addElement($e);
     $e = new Daq_Form_Element("applicant_name");
     $e->setRequired(true);
     $e->setValue($this->_object->applicant_name);
     $e->setLabel(__("Applicant Name", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("email");
     $e->setRequired(true);
     $e->setValue($this->_object->email);
     $e->setLabel(__("E-mail", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("resume", Daq_Form_Element::TYPE_TEXTAREA);
     $e->setValue($this->_object->resume);
     $e->setLabel(__("Resume/Message", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("is_rejected", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($this->_object->is_rejected);
     $e->setLabel(__("Reject application", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $e->addValidator(new Daq_Validate_InArray(array(0, 1)));
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $e->addOption(0, 0, __("No", WPJB_DOMAIN));
     $this->addElement($e);
     apply_filters("wpja_form_init_application", $this);
 }
Пример #3
0
 public function init()
 {
     $e = new Daq_Form_Element("id", Daq_Form_Element::TYPE_HIDDEN);
     $e->setRequired(true);
     $e->setValue($this->_object->id);
     $e->addFilter(new Daq_Filter_Int());
     $e->addValidator(new Daq_Validate_Db_RecordExists($this->_model, "id"));
     $this->addElement($e);
     $e = new Daq_Form_Element("mail_from");
     $e->setRequired(true);
     $e->setValue($this->_object->mail_from);
     $e->setLabel(__("Email From", WPJB_DOMAIN));
     $e->setHint(__("This is also email address where email is sent if email is sent to Admin.", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_Email());
     $this->addElement($e);
     $e = new Daq_Form_Element("mail_title");
     $e->setRequired(true);
     $e->setValue($this->_object->mail_title);
     $e->setLabel(__("Email Title", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(1, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("mail_body", Daq_Form_Element::TYPE_TEXTAREA);
     $e->setRequired(true);
     $e->setValue($this->_object->mail_body);
     $e->setLabel(__("Email Body", WPJB_DOMAIN));
     $e->setHint(__("Do NOT use html tags in the email body.", WPJB_DOMAIN));
     $this->addElement($e);
     apply_filters("wpja_form_init_email", $this);
 }
Пример #4
0
 public function init()
 {
     $this->addGroup("default", __("Register", WPJB_DOMAIN));
     $e = new Daq_Form_Element("user_login", Daq_Form_Element::TYPE_TEXT);
     $e->setLabel(__("Username", WPJB_DOMAIN));
     $e->setRequired(true);
     $e->addFilter(new Daq_Filter_Trim());
     $e->addValidator(new Daq_Validate_WP_Username());
     $this->addElement($e, "default");
     $e = new Daq_Form_Element("user_password", Daq_Form_Element::TYPE_PASSWORD);
     $e->setLabel(__("Password", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Trim());
     $e->addValidator(new Daq_Validate_StringLength(4, 32));
     $e->addValidator(new Daq_Validate_PasswordEqual("user_password2"));
     $e->setRequired(true);
     $this->addElement($e, "default");
     $e = new Daq_Form_Element("user_password2", Daq_Form_Element::TYPE_PASSWORD);
     $e->setLabel(__("Password (repeat)", WPJB_DOMAIN));
     $e->setRequired(true);
     $this->addElement($e, "default");
     $e = new Daq_Form_Element("user_email", Daq_Form_Element::TYPE_TEXT);
     $e->setLabel(__("E-mail", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Trim());
     $e->addValidator(new Daq_Validate_WP_Email());
     $e->setRequired(true);
     $this->addElement($e, "default");
     apply_filters("wpjr_form_init_register", $this);
 }
Пример #5
0
 public function init()
 {
     $this->name = __("Resumes Settings", WPJB_DOMAIN);
     $instance = Wpjb_Project::getInstance();
     $e = new Daq_Form_Element("cv_enabled", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($instance->getConfig("cv_enabled"));
     $e->setLabel(__("Enable 'Resumes' Module", WPJB_DOMAIN));
     $e->setHint(__("If NOT checked, users won't be able to post resumes and employers won't be able to browse them", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $e->addOption(1, 1, "Yes");
     $this->addElement($e);
     $e = new Daq_Form_Element("cv_access", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($instance->getConfig("cv_access"));
     $e->setLabel(__("Grant Resumes Access", WPJB_DOMAIN));
     $e->setHint(__("Note that automatically activating employer accounts might cause, potential security issue for employers since anyone will be able to browse their personal data", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $e->addOption(1, 1, __("To all", WPJB_DOMAIN));
     $e->addOption(4, 4, __("To registered members", WPJB_DOMAIN));
     $e->addOption(2, 2, __("To activated employers", WPJB_DOMAIN));
     $e->addOption(3, 3, __("To premium employers", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("cv_privacy", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($instance->getConfig("cv_privacy"));
     $e->setLabel(__("Resumes Privacy", WPJB_DOMAIN));
     $e->addOption(0, 0, __("Hide contact details only.", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Hide resume list and details", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("cv_approval", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($instance->getConfig("cv_approval"));
     $e->setLabel(__("Resumes Approval", WPJB_DOMAIN));
     $e->setHint("");
     $e->addValidator(new Daq_Validate_InArray(array(0, 1)));
     $e->addOption(0, 0, __("Instant", WPJB_DOMAIN));
     $e->addOption(1, 1, __("By Administrator", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("cv_access_cost");
     $e->setValue($instance->getConfig("cv_access_cost"));
     $e->setLabel(__("Resumes Access Cost", WPJB_DOMAIN));
     $e->setHint(__("How much do you want to charge premium members.", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Float());
     $e->addValidator(new Daq_Validate_Float(0));
     $this->addElement($e);
     $e = new Daq_Form_Element("cv_access_curr", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($instance->getConfig("cv_access_curr"));
     $e->setLabel(__("Resumes Cost Currency", WPJB_DOMAIN));
     $e->setHint(__("Currency for 'Resumes Access Cost'", WPJB_DOMAIN));
     foreach ($this->_currArr() as $c) {
         $e->addOption($c[0], $c[1], $c[2]);
     }
     $this->addElement($e);
     $e = new Daq_Form_Element("cv_extend");
     $e->setValue($instance->getConfig("cv_extend"));
     $e->setLabel(__("Grant Access", WPJB_DOMAIN));
     $e->setHint(__("Number of days premium member will have access to resumes after purchase.", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $e->addValidator(new Daq_Validate_Int(0));
     $this->addElement($e);
     apply_filters("wpja_form_init_config_resume", $this);
 }
Пример #6
0
 public function init()
 {
     $e1 = new Daq_Form_Element("id", Daq_Form_Element::TYPE_HIDDEN);
     $e1->setValue($this->_object->id);
     $e1->addFilter(new Daq_Filter_Int());
     $this->addElement($e1);
     $e = new Daq_Form_Element("title");
     $e->setRequired(true);
     $e->setValue($this->_object->title);
     $e->setLabel(__("Listing Title", WPJB_DOMAIN));
     $e->setHint(__('Listing title should be a short name that explains listing details for example "Featured listing".', WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(1, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("price");
     $e->setRequired(true);
     $e->setValue($this->_object->price);
     $e->setLabel(__("Listing Price", WPJB_DOMAIN));
     $e->setHint(__('Listing price, examples of valid values are: "50.00", "140.00".', WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Float());
     $e->addValidator(new Daq_Validate_Float(0));
     $this->addElement($e);
     $e = new Daq_Form_Element("currency", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($this->_object->currency);
     $e->setLabel(__("Currency", WPJB_DOMAIN));
     foreach ($this->_currArr() as $c) {
         $e->addOption($c[0], $c[1], $c[2]);
     }
     $this->addElement($e);
     $e = new Daq_Form_Element("visible");
     $e->setValue($this->_object->visible);
     $e->setLabel(__("Visible", WPJB_DOMAIN));
     $e->setHint(__("Number of days that listing will be visible. (0 = forever)", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $e->addValidator(new Daq_Validate_Int(0));
     $this->addElement($e);
     $e = new Daq_Form_Element("is_featured", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($this->_object->is_featured);
     $e->setLabel(__("Is Featured", WPJB_DOMAIN));
     $e->setHint(__("In short featured listings are listings that are displayed before normal listings (so they usually cost more).", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("is_active", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($this->_object->is_active);
     $e->setLabel(__("Is Active", WPJB_DOMAIN));
     $e->setHint(__("Only active listings can be used by job posters.", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Float());
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $this->addElement($e);
     $e4 = new Daq_Form_Element("description", Daq_Form_Element::TYPE_TEXTAREA);
     $e4->setValue($this->_object->description);
     $e4->setLabel(__("Description", WPJB_DOMAIN));
     $e4->setHint(__("Briefly describe listing type. You can include cost and number of days listing will be visible.", WPJB_DOMAIN));
     $this->addElement($e4);
     apply_filters("wpja_form_init_listing", $this);
 }
Пример #7
0
 public function init()
 {
     parent::init();
     $this->addGroup("other", "Other");
     $e = new Daq_Form_Element("is_filled", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setLabel(__("Is Filled", WPJB_DOMAIN));
     $e->setValue($this->getObject()->is_filled);
     $e->addOption(1, 1, __("Yes, this position is taken", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $this->addElement($e, "other");
     apply_filters("wpja_form_init_editjob", $this);
     $this->setModifiedScheme(Wpjb_Project::getInstance()->conf("form_add_job", true));
 }
Пример #8
0
 public function init()
 {
     $this->addGroup("auth", __("User Account", WPJB_DOMAIN));
     $this->addGroup("default", __("Company", WPJB_DOMAIN));
     $this->addGroup("location", __("Location", WPJB_DOMAIN));
     $e = new Daq_Form_Element("user_login", Daq_Form_Element::TYPE_TEXT);
     $e->setLabel(__("Username", WPJB_DOMAIN));
     $e->setRequired(true);
     $e->addFilter(new Daq_Filter_Trim());
     $e->addFilter(new Daq_Filter_WP_SanitizeUser());
     $e->addValidator(new Daq_Validate_WP_Username());
     $this->addElement($e, "auth");
     $e = new Daq_Form_Element("user_password", Daq_Form_Element::TYPE_PASSWORD);
     $e->setLabel(__("Password", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Trim());
     $e->addValidator(new Daq_Validate_StringLength(4, 32));
     $e->addValidator(new Daq_Validate_PasswordEqual("user_password2"));
     $e->setRequired(true);
     $this->addElement($e, "auth");
     $e = new Daq_Form_Element("user_password2", Daq_Form_Element::TYPE_PASSWORD);
     $e->setLabel(__("Password (repeat)", WPJB_DOMAIN));
     $e->setRequired(true);
     $this->addElement($e, "auth");
     $e = new Daq_Form_Element("user_email", Daq_Form_Element::TYPE_TEXT);
     $e->setLabel(__("E-mail", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Trim());
     $e->addValidator(new Daq_Validate_WP_Email());
     $e->setRequired(true);
     $this->addElement($e, "auth");
     $e = new Daq_Form_Element("company_name");
     $e->setLabel(__("Company name", WPJB_DOMAIN));
     $e->setRequired(true);
     $e->addFilter(new Daq_Filter_Trim());
     $this->addElement($e, "default");
     $e = new Daq_Form_Element("company_website");
     $e->setLabel(__("Company website", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_Url());
     $e->addFilter(new Daq_Filter_WP_Url());
     $e->addFilter(new Daq_Filter_Trim());
     $this->addElement($e, "default");
     $e = new Daq_Form_Element_File("company_logo", Daq_Form_Element::TYPE_FILE);
     $e->setLabel(__("Company Logo", WPJB_DOMAIN));
     $e->setHint(__("Max. file size 30 kB. Image size 300x100 px. File formats *.jpg; *.gif; *.png .", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_File_Default());
     $e->addValidator(new Daq_Validate_File_Ext("jpg,jpeg,gif,png"));
     $e->addValidator(new Daq_Validate_File_Size(30000));
     $e->addValidator(new Daq_Validate_File_ImageSize(300, 100));
     //$this->addElement($e, "default");
     $e = new Daq_Form_Element("company_info", Daq_Form_Element::TYPE_TEXTAREA);
     $e->setLabel(__("Company info", WPJB_DOMAIN));
     $e->setRequired(true);
     $e->addFilter(new Daq_Filter_Trim());
     $this->addElement($e, "default");
     $e = new Daq_Form_Element("is_public", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setLabel(__("Publish Profile", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Allow job seekers to view company profile", WPJB_DOMAIN));
     $e->setValue($this->_object->is_public);
     $e->addFilter(new Daq_Filter_Int());
     $this->addElement($e, "default");
     $def = wpjb_locale();
     $e = new Daq_Form_Element("company_country", Daq_Form_Element::TYPE_SELECT);
     $e->setLabel(__("Company Country", WPJB_DOMAIN));
     $e->setValue($this->_object->company_country ? $this->_object->company_country : $def);
     foreach (Wpjb_List_Country::getAll() as $listing) {
         $e->addOption($listing['code'], $listing['code'], $listing['name']);
     }
     $e->addClass("wpjb-location-country");
     $this->addElement($e, "location");
     $e = new Daq_Form_Element("company_state");
     $e->setLabel(__("Company State", WPJB_DOMAIN));
     $e->setValue($this->_object->company_state);
     $e->addClass("wpjb-location-state");
     $this->addElement($e, "location");
     $e = new Daq_Form_Element("company_zip_code");
     $e->setLabel(__("Company Zip-Code", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(null, 20));
     $e->setValue($this->_object->company_zip_code);
     $this->addElement($e, "location");
     $e = new Daq_Form_Element("company_location");
     $e->setLabel(__("Company Location", WPJB_DOMAIN));
     $e->setValue($this->_object->company_location);
     $e->addClass("wpjb-location-city");
     $this->addElement($e, "location");
     apply_filters("wpjb_form_init_register", $this);
 }
Пример #9
0
 public function init()
 {
     $e = new Daq_Form_Element("id", Daq_Form_Element::TYPE_HIDDEN);
     $e->setValue($this->_object->id);
     $e->addFilter(new Daq_Filter_Int());
     $this->addElement($e);
     $e = new Daq_Form_Element("field_for", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($this->_object->field_for);
     $e->setLabel(__("Field For", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Add job form", WPJB_DOMAIN));
     $e->addOption(2, 2, __("Apply for job form", WPJB_DOMAIN));
     $e->addOption(3, 3, __("Add resume form", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("type", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($this->_object->type);
     $e->setLabel(__("Field Type", WPJB_DOMAIN));
     foreach ($this->_typeArr() as $c) {
         $e->addOption($c[0], $c[1], $c[2]);
     }
     $this->addElement($e);
     $e = new Daq_Form_Element("validator", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($this->_object->validator);
     $e->setLabel(__("Validation", WPJB_DOMAIN));
     $e->setHint(__("Select how field should be validated", WPJB_DOMAIN));
     $inArray = array();
     foreach ($this->_validatorArr() as $c) {
         $inArray[] = $c[0];
         $e->addOption($c[0], $c[1], $c[2]);
     }
     $e->addValidator(new Daq_Validate_InArray($inArray));
     $this->addElement($e);
     $e = new Daq_Form_Element("label");
     $e->setRequired(true);
     $e->setValue($this->_object->label);
     $e->setLabel(__("Label", WPJB_DOMAIN));
     $e->setHint(__('Field Title', WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(1, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("hint");
     $e->setValue($this->_object->hint);
     $e->setLabel(__("Description", WPJB_DOMAIN));
     $e->setHint(__('Short field description (just like this text).', WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(1, 250));
     $this->addElement($e);
     $e = new Daq_Form_Element("default_value");
     $e->setRequired(true);
     $e->setValue($this->_object->default_value);
     $e->setLabel(__("Default Value", WPJB_DOMAIN));
     $e->setHint(__('Default value. Leave empty if there is none.', WPJB_DOMAIN));
     //$this->addElement($e);
     $e = new Daq_Form_Element("is_required", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($this->_object->is_required);
     $e->setLabel(__("Is Required", WPJB_DOMAIN));
     $e->setHint(__("Required fields has to be filled by job poster", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("is_active", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($this->_object->is_active);
     $e->setLabel(__("Is Active", WPJB_DOMAIN));
     $e->setHint(__("Only active fields are visible on job posting form.", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $this->addElement($e);
     apply_filters("wpja_form_init_additionalfield", $this);
 }
Пример #10
0
 public function init()
 {
     $this->addGroup("default", __("Company", WPJB_DOMAIN));
     $this->addGroup("location", __("Location", WPJB_DOMAIN));
     $e = new Daq_Form_Element("company_name");
     $e->setLabel(__("Company Name", WPJB_DOMAIN));
     $e->setRequired(true);
     $e->setValue($this->_object->company_name);
     $this->addElement($e, "default");
     $e = new Daq_Form_Element_File("company_logo", Daq_Form_Element::TYPE_FILE);
     $e->setLabel(__("Company Logo", WPJB_DOMAIN));
     $e->setHint(__("Max. file size 30 kB. Image size 300x100 px. File formats *.jpg; *.gif; *.png .", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_File_Default());
     $e->addValidator(new Daq_Validate_File_Ext("jpg,jpeg,gif,png"));
     $e->addValidator(new Daq_Validate_File_Size(30000));
     $e->addValidator(new Daq_Validate_File_ImageSize(300, 100));
     $this->addElement($e, "default");
     $e = new Daq_Form_Element("company_website");
     $e->setLabel(__("Company Website", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_Url());
     $e->addFilter(new Daq_Filter_WP_Url());
     $e->setValue($this->_object->company_website);
     $this->addElement($e, "default");
     $e = new Daq_Form_Element("company_info", Daq_Form_Element::TYPE_TEXTAREA);
     $e->setLabel(__("Company Info", WPJB_DOMAIN));
     $eDesc = str_replace('{tags}', '<p><a><b><strong><em><i><ul><li><h3><h4><br>', __("Use this field to describe your company profile (what you do, company size etc). Only {tags} HTML tags are allowed", WPJB_DOMAIN));
     $e->setHint($eDesc);
     $e->setValue($this->_object->company_info);
     $this->addElement($e, "default");
     $def = wpjb_locale();
     $e = new Daq_Form_Element("company_country", Daq_Form_Element::TYPE_SELECT);
     $e->setLabel(__("Company Country", WPJB_DOMAIN));
     $e->setValue($this->_object->company_country ? $this->_object->company_country : $def);
     foreach (Wpjb_List_Country::getAll() as $listing) {
         $e->addOption($listing['code'], $listing['code'], $listing['name']);
     }
     $e->addClass("wpjb-location-country");
     $this->addElement($e, "location");
     $e = new Daq_Form_Element("company_state");
     $e->setLabel(__("Company State", WPJB_DOMAIN));
     $e->setValue($this->_object->company_state);
     $e->addClass("wpjb-location-state");
     $this->addElement($e, "location");
     $e = new Daq_Form_Element("company_zip_code");
     $e->setLabel(__("Company Zip-Code", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(null, 20));
     $e->setValue($this->_object->company_zip_code);
     $this->addElement($e, "location");
     $e = new Daq_Form_Element("company_location");
     $e->setLabel(__("Company Location", WPJB_DOMAIN));
     $e->setValue($this->_object->company_location);
     $e->addClass("wpjb-location-city");
     $this->addElement($e, "location");
     $e = new Daq_Form_Element("is_public", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setLabel(__("Publish Profile", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Allow job seekers to view company profile", WPJB_DOMAIN));
     $e->setValue($this->_object->is_public);
     $e->addFilter(new Daq_Filter_Int());
     $this->addElement($e, "default");
     if ($this->_mode != self::MODE_ADMIN) {
         return;
     }
     $e = new Daq_Form_Element("slug");
     $e->setRequired(true);
     $e->setValue($this->_object->slug);
     $e->setLabel("Company Slug");
     $e->setHint("The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.");
     $e->addValidator(new Daq_Validate_Slug());
     $e->addValidator(new Daq_Validate_Db_NoRecordExists("Wpjb_Model_Employer", "slug", $this->_exclude()));
     //$this->addElement($e, "manage");
     $e = new Daq_Form_Element("is_active", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setLabel(__("Is Active", WPJB_DOMAIN));
     $e->setHint(__("Activates company account", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $e->setValue($this->_object->is_active);
     $e->addFilter(new Daq_Filter_Int());
     $this->addElement($e, "default");
     apply_filters("wpja_form_init_company", $this);
 }
Пример #11
0
 protected function _additionalFields()
 {
     $query = new Daq_Db_Query();
     $result = $query->select("*")->from("Wpjb_Model_AdditionalField t")->joinLeft("t.value t2", "job_id=" . $this->getObject()->getId())->where("t.field_for = 3")->where("t.is_active = 1")->execute();
     foreach ($result as $field) {
         $e = new Daq_Form_Element("field_" . $field->getId(), $field->type);
         $e->setLabel($field->label);
         $e->setHint($field->hint);
         if ($field->type == Daq_Form_Element::TYPE_SELECT) {
             $query = new Daq_Db_Query();
             $option = $query->select("*")->from("Wpjb_Model_FieldOption t")->where("field_id=?", $field->getId())->execute();
             foreach ($option as $o) {
                 if ($o->value == $field->getValue()->value) {
                     $e->setValue($o->id);
                     break;
                 }
             }
         } else {
             $e->setValue($field->getValue()->value);
         }
         if ($field->type != Daq_Form_Element::TYPE_CHECKBOX) {
             $e->setRequired((bool) $field->is_required);
         } else {
             $e->addFilter(new Daq_Filter_Int());
         }
         if ($field->type == Daq_Form_Element::TYPE_TEXT) {
             switch ($field->validator) {
                 case 1:
                     $e->addValidator(new Daq_Validate_StringLength(0, 80));
                     break;
                 case 2:
                     $e->addValidator(new Daq_Validate_StringLength(0, 160));
                     break;
                 case 3:
                     $e->addValidator(new Daq_Validate_Int());
                     break;
                 case 4:
                     $e->addValidator(new Daq_Validate_Float());
                     break;
             }
         }
         foreach ((array) $field->getOptionList() as $option) {
             $e->addOption($option->getId(), $option->getId(), $option->value);
         }
         $this->addElement($e, "fields");
     }
 }
Пример #12
0
 protected function _additionalFields()
 {
     $query = new Daq_Db_Query();
     $result = $query->select("*")->from("Wpjb_Model_AdditionalField t")->where("field_for = 2")->where("is_active = 1")->execute();
     foreach ($result as $field) {
         if ($field->type == Daq_Form_Element::TYPE_FILE) {
             $e = new Daq_Form_Element_File("field_" . $field->getId(), Daq_Form_Element::TYPE_FILE);
         } else {
             $e = new Daq_Form_Element("field_" . $field->getId(), $field->type);
         }
         $e->setLabel($field->label);
         $e->setHint($field->hint);
         if ($field->type == Daq_Form_Element::TYPE_FILE) {
             $e->setDestination(Wpjb_List_Path::getPath("apply_file"));
         } else {
             $this->_add[] = "field_" . $field->getId();
         }
         if ($field->type != Daq_Form_Element::TYPE_CHECKBOX) {
             $e->setRequired((bool) $field->is_required);
         } else {
             $e->addFilter(new Daq_Filter_Int());
         }
         if ($field->type == Daq_Form_Element::TYPE_TEXT) {
             switch ($field->validator) {
                 case 1:
                     $e->addValidator(new Daq_Validate_StringLength(0, 80));
                     break;
                 case 2:
                     $e->addValidator(new Daq_Validate_StringLength(0, 160));
                     break;
                 case 3:
                     $e->addValidator(new Daq_Validate_Int());
                     break;
                 case 4:
                     $e->addValidator(new Daq_Validate_Float());
                     break;
             }
         }
         foreach ((array) $field->getOptionList() as $option) {
             $e->addOption($option->getId(), $option->getId(), $option->value);
         }
         $this->addElement($e, "apply");
     }
 }
Пример #13
0
 public function init()
 {
     $this->name = __("Job Board Frontend Configuration", WPJB_DOMAIN);
     $instance = Wpjb_Project::getInstance();
     $e = new Daq_Form_Element("front_jobs_per_page");
     $e->setRequired(true);
     $e->setValue($instance->getConfig("front_jobs_per_page", 20));
     $e->setLabel(__("Job offers per page", WPJB_DOMAIN));
     $e->setHint(__("Number of listings per page.", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_Int(1));
     $this->addElement($e);
     $e = new Daq_Form_Element("front_marked_as_new");
     $e->setRequired(true);
     $e->setValue($instance->getConfig("front_marked_as_new", 7));
     $e->setLabel(__("Days marked as new", WPJB_DOMAIN));
     $e->setHint(__("Number of days since posting job will be displayed as new.", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_Int(1));
     $this->addElement($e);
     $e = new Daq_Form_Element("front_mark_as_old");
     $e->setRequired(true);
     $e->setValue($instance->getConfig("front_mark_as_old", 7));
     $e->setLabel(__("Mark as old after", WPJB_DOMAIN));
     $e->setHint(__("Number of days after which job posting will be marked as old", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_Int(1));
     $this->addElement($e);
     $e = new Daq_Form_Element("front_job_board_url");
     $e->setValue($instance->getConfig("front_job_board_url"));
     $e->setLabel(__("Job Board URL", WPJB_DOMAIN));
     $e->setHint(__("Do NOT modify this setting, unless you read intruction and you know what you are doing!", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_Url());
     //$this->addElement($e);
     $e = new Daq_Form_Element("front_full_rewrite", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($instance->getConfig("front_full_rewrite"));
     $e->setLabel(__("Full URL Rewrite", WPJB_DOMAIN));
     $e->setHint(__("Checking this option will hide index.php in the URL", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     //$this->addElement($e);
     $e = new Daq_Form_Element("front_hide_filled", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($instance->getConfig("front_hide_filled"));
     $e->setLabel(__("Hide Filled Jobs", WPJB_DOMAIN));
     $e->setHint(__("When job is marked as filled it will not be visible to job seekers", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("front_allow_edition", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($instance->getConfig("front_allow_edition"));
     $e->setLabel(__("Allow Job Edition", WPJB_DOMAIN));
     $e->setHint(__("If checked allows employers to edit their job listings.", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("front_apply_members_only", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($instance->getConfig("front_apply_members_only"));
     $e->setLabel(__("Only members can apply", WPJB_DOMAIN));
     $e->setHint(__("Allow only registered members to apply for jobs.", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("front_show_related_jobs", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($instance->getConfig("front_show_related_jobs"));
     $e->setLabel(__("Show Related Jobs", WPJB_DOMAIN));
     $e->setHint(__("If checked related jobs will be listed in job details page.", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("front_listing_tpl");
     $e->setValue($instance->getConfig("front_listing_tpl"));
     $e->setLabel(__("Listing Template", WPJB_DOMAIN));
     $e->setHint(__("You can use variables: {price}, {title}, {visible}", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("front_enable_protection", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($instance->getConfig("front_enable_protection"));
     $e->setLabel(__("Anti SPAM protection", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Simple Anti-SPAM protection", WPJB_DOMAIN));
     $e->addOption(2, 2, __("reCAPTCHA", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("front_protection");
     $e->setValue($instance->getConfig("front_protection"));
     $e->setLabel(__("Anti SPAM key", WPJB_DOMAIN));
     $e->setHint(__("Enter between 6 and 32 random alphanumeric characters here.", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("front_recaptcha_public");
     $e->setValue($instance->getConfig("front_recaptcha_public"));
     $e->setLabel(__("reCAPTCHA Public Key", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("front_recaptcha_private");
     $e->setValue($instance->getConfig("front_recaptcha_private"));
     $e->setLabel(__("reCAPTCHA Private Key", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("show_maps", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($instance->getConfig("show_maps"));
     $e->setLabel(__("Show Google Maps", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $this->addElement($e);
     apply_filters("wpja_form_init_config_frontend", $this);
 }
Пример #14
0
 public function init()
 {
     $e = new Daq_Form_Element("id", Daq_Form_Element::TYPE_HIDDEN);
     $e->setValue($this->_object->id);
     $e->addFilter(new Daq_Filter_Int());
     $this->addElement($e);
     $e = new Daq_Form_Element("title");
     $e->setRequired(true);
     $e->setValue($this->_object->title);
     $e->setLabel(__("Discount Title", WPJB_DOMAIN));
     $e->setHint(__('This is the official promotion name that identifies promotion.', WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(1, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("code");
     $e->setRequired(true);
     $e->setValue($this->_object->code);
     $e->setLabel(__("Code", WPJB_DOMAIN));
     $e->setHint(__('The secret code that client has to know in order to use selected promo code.', WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(1, 20));
     $e->addValidator(new Daq_Validate_Db_NoRecordExists("Wpjb_Model_Discount", "code", $this->_exclude()));
     $this->addElement($e);
     $e = new Daq_Form_Element("discount");
     $e->setRequired(true);
     $e->setValue($this->_object->discount);
     $e->setLabel(__("Discount Value", WPJB_DOMAIN));
     $e->setHint(__('Examples of valid values. "1234.00", "34.00", "45"', WPJB_DOMAIN));
     //$e->addFilter(new Daq_Filter_Float());
     $e->addValidator(new Daq_Validate_Float(0.01));
     $this->addElement($e);
     $e = new Daq_Form_Element("type", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($this->_object->type);
     $e->setLabel(__("Discount Type", WPJB_DOMAIN));
     $e->setHint(__("Specyfing Discount Value is not enough, you have to also select type of discount you can choose either fixed amount of money or percentage of total price.", WPJB_DOMAIN));
     foreach ($this->_typeArr() as $c) {
         $e->addOption($c[0], $c[1], $c[2]);
     }
     $this->addElement($e);
     $e = new Daq_Form_Element("currency", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($this->_object->currency);
     $e->setLabel(__("Currency", WPJB_DOMAIN));
     foreach ($this->_currArr() as $c) {
         $e->addOption($c[0], $c[1], $c[2]);
     }
     $this->addElement($e);
     $e = new Daq_Form_Element("expires_at");
     $e->setRequired(true);
     $e->setValue($this->_object->expires_at);
     $e->setLabel(__("Expiration Date", WPJB_DOMAIN));
     $e->setHint(__('Discount expiration date in format "yyyy-mm-dd".', WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_Date("Y-m-d"));
     $this->addElement($e);
     $e = new Daq_Form_Element("used");
     $e->addFilter(new Daq_Filter_Int());
     $e->setValue($this->_object->used);
     $e->setLabel(__("Used", WPJB_DOMAIN));
     $e->setHint(__("Number of times coupon was already used.", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_Int());
     $this->addElement($e);
     $e = new Daq_Form_Element("max_uses");
     $e->addFilter(new Daq_Filter_Int());
     $e->setValue($this->_object->max_uses);
     $e->setLabel(__("Max uses", WPJB_DOMAIN));
     $e->setHint(__("Maximum number of times coupon can be used. (Zero equal to unlimited uses.)", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_Int());
     $this->addElement($e);
     $e = new Daq_Form_Element("is_active", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($this->_object->is_active);
     $e->setLabel(__("Is Active", WPJB_DOMAIN));
     $e->setHint(__("Only active discounts can be used by job posters.", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Float());
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $this->addElement($e);
     apply_filters("wpja_form_init_discount", $this);
 }
Пример #15
0
 public function init()
 {
     parent::init();
     $this->addGroup("other", "Other");
     $e = new Daq_Form_Element("job_slug");
     $e->setRequired(true);
     $e->setLabel(__("Job Slug", WPJB_DOMAIN));
     $e->setHint(__("The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.", WPJB_DOMAIN));
     $e->setValue($this->_object->job_slug);
     $e->addValidator(new Daq_Validate_StringLength(1, 120));
     $e->addValidator(new Daq_Validate_Slug());
     $e->addValidator(new Daq_Validate_Db_NoRecordExists("Wpjb_Model_Job", "job_slug", $this->_exclude()));
     $this->addElement($e, "other");
     $e = new Daq_Form_Element("is_active", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setLabel(__("Is Active", WPJB_DOMAIN));
     $e->setValue($this->_object->is_active);
     $e->addFilter(new Daq_Filter_Int());
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $this->addElement($e, "other");
     if ($this->getObject()->getId() && $this->isAdminMode()) {
         $e = new Daq_Form_Element("is_featured", Daq_Form_Element::TYPE_CHECKBOX);
         $e->setLabel(__("Is Featured", WPJB_DOMAIN));
         $e->setValue($this->getObject()->is_featured);
         $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
         $e->addFilter(new Daq_Filter_Float());
         $this->addElement($e, "other");
         $e = new Daq_Form_Element("job_visible");
         $e->setLabel(__("Visible", WPJB_DOMAIN));
         $e->setValue($this->getObject()->job_visible);
         $e->setHint(__("Number of days job will be visible (Overwrites listing type settings)", WPJB_DOMAIN));
         $e->addFilter(new Daq_Filter_Int());
         $e->addValidator(new Daq_Validate_Int(0));
         $this->addElement($e, "other");
     }
     if (!$this->getObject()->getId()) {
         $e = new Daq_Form_Element("listing", Daq_Form_Element::TYPE_SELECT);
         $e->setLabel(__("Listing Type", WPJB_DOMAIN));
         $e->addValidator(new Daq_Validate_Db_RecordExists("Wpjb_Model_Listing", "id"));
         foreach ($this->_getListingArr() as $listing) {
             $e->addOption($listing->id, $listing->id, $listing->title);
         }
         $this->addElement($e, "other");
     }
     if (!$this->isAdminMode()) {
         $this->removeElement("is_active");
         $this->removeElement("job_slug");
     }
     $e = new Daq_Form_Element("is_filled", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setLabel(__("Is Filled", WPJB_DOMAIN));
     $e->setValue($this->getObject()->is_filled);
     $e->addOption(1, 1, __("Yes, this position is taken", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $this->addElement($e, "other");
     if ($this->getObject()->getId() > 0 && !$this->getObject()->isFree()) {
         $e = new Daq_Form_Element("payment_paid");
         $e->setValue($this->_object->payment_paid);
         $e->addValidator(new Daq_Validate_Float());
         $this->addElement($e, "unknown");
     }
     apply_filters("wpja_form_init_addjob", $this);
     $this->setModifiedScheme(Wpjb_Project::getInstance()->conf("form_add_job", true));
 }