Пример #1
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);
 }
Пример #2
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);
 }
Пример #3
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);
 }
Пример #4
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);
 }
Пример #5
0
 public function init()
 {
     $this->name = __("Integrations", WPJB_DOMAIN);
     $instance = Wpjb_Project::getInstance();
     $e = new Daq_Form_Element("api_cb_key");
     $e->setValue($instance->getConfig("api_cb_key"));
     $e->setLabel(__("Career Builder API Key", WPJB_DOMAIN));
     $e->setHint(__("Claim your key at http://api.careerbuilder.com/RequestDevKey.aspx, It's required to use Import feature", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("indeed_publisher");
     $e->setValue($instance->getConfig("indeed_publisher"));
     $e->setLabel(__("Indeed Publisher API Key", WPJB_DOMAIN));
     $e->setHint(__("Claim your key at https://ads.indeed.com/jobroll/, It's required to use Indeed Import", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("api_twitter_consumer_key");
     $e->setValue($instance->getConfig("api_twitter_consumer_key"));
     $e->setLabel(__("Twitter Consumer Key", WPJB_DOMAIN));
     $e->setHint(__("You must configure both Twitter and Bit.ly in order to automatically post jobs to Twitter", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("api_twitter_consumer_secret");
     $e->setValue($instance->getConfig("api_twitter_consumer_secret"));
     $e->setLabel(__("Twitter Consumer Secret", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("api_twitter_oauth_token");
     $e->setValue($instance->getConfig("api_twitter_oauth_token"));
     $e->setLabel(__("Twitter OAuth Token", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("api_twitter_oauth_secret");
     $e->setValue($instance->getConfig("api_twitter_oauth_secret"));
     $e->setLabel(__("Twitter OAuth Secret", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("api_bitly_login");
     $e->setValue($instance->getConfig("api_bitly_login"));
     $e->setLabel(__("Bit.ly Login", WPJB_DOMAIN));
     $e->setHint(__("Bit.ly is an URL shortening service", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("api_bitly_key");
     $e->setValue($instance->getConfig("api_bitly_key"));
     $e->setLabel(__("Bit.ly API Key", WPJB_DOMAIN));
     $this->addElement($e);
     apply_filters("wpja_form_init_config_integration", $this);
 }
Пример #6
0
 public function init()
 {
     $this->name = __("Job Posting", WPJB_DOMAIN);
     $instance = Wpjb_Project::getInstance();
     $e = new Daq_Form_Element("posting_allow", Daq_Form_Element::TYPE_SELECT);
     $e->setValue(Wpjb_Project::getInstance()->conf("posting_allow"));
     $e->addOption(1, 1, __("Anyone", WPJB_DOMAIN));
     $e->addOption(2, 2, __("Registered Users", WPJB_DOMAIN));
     $e->addOption(3, 3, __("Admin", WPJB_DOMAIN));
     $e->setLabel(__("Who Can Post Jobs", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("posting_moderation", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($instance->getConfig("posting_moderation"));
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $e->setLabel(__("Moderate Jobs", WPJB_DOMAIN));
     $e->setHint(__("Held jobs for moderation until Admin will approve them.", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("posting_encourage_reg", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($instance->getConfig("posting_encourage_reg"));
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $e->setLabel(__("Encourage Registration", WPJB_DOMAIN));
     $e->setHint(__("On job posting page displays a message encouraging registration.", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("posting_tweet", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setValue($instance->getConfig("posting_tweet"));
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $e->setLabel(__("Tweet Jobs", WPJB_DOMAIN));
     $e->setHint(__("Post jobs to Twitter. (Requires that you configure Twitter username and password.)", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("posting_tweet_template");
     $e->setValue($instance->getConfig("posting_tweet_template"));
     $e->setLabel(__("Tweet Template", WPJB_DOMAIN));
     $e->setHint(__('Allowed variables: {title}, {url}, {category}, {type}', WPJB_DOMAIN));
     $this->addElement($e);
     apply_filters("wpja_form_init_config_posting", $this);
 }
Пример #7
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);
 }
Пример #8
0
 public function init()
 {
     $this->name = __("SEO & Titles", WPJB_DOMAIN);
     $instance = Wpjb_Project::getInstance();
     $e = new Daq_Form_Element("seo_job_board_name");
     $e->setValue($instance->getConfig("seo_job_board_name"));
     $e->setLabel(__("Job Board Name", WPJB_DOMAIN));
     $e->setHint(__("Job board name displayed on the job board front page.", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_job_board_title");
     $e->setValue($instance->getConfig("seo_job_board_title"));
     $e->setLabel(__("Job Board Title", WPJB_DOMAIN));
     $e->setHint(__("Text displayed in the <title> tag on the job board front page.", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_step_1");
     $e->setValue($instance->getConfig("seo_step_1"));
     $e->setLabel(__("Add Job: Step #1", WPJB_DOMAIN));
     $e->setHint(__("Name of the step #1. For example 'add job'", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_step_2");
     $e->setValue($instance->getConfig("seo_step_2"));
     $e->setLabel(__("Add Job: Step #2", WPJB_DOMAIN));
     $e->setHint(__("Name of the step #2. For example 'preview'", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_step_3");
     $e->setValue($instance->getConfig("seo_step_3"));
     $e->setLabel(__("Add Job: Step #3", WPJB_DOMAIN));
     $e->setHint(__("Name of the step #3. For example 'done!'", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_single");
     $e->setValue($instance->getConfig("seo_single"));
     $e->setLabel(__("Single Page Title", WPJB_DOMAIN));
     $e->setHint(__("Title on the page with job details. Allowed vars: {job_title}, {id}", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_apply");
     $e->setValue($instance->getConfig("seo_apply"));
     $e->setLabel(__("Apply Page Title", WPJB_DOMAIN));
     $e->setHint(__("Title on the page with apply form. Allowed vars: {job_title}, {id}", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_category");
     $e->setValue($instance->getConfig("seo_category"));
     $e->setLabel(__("Job Category Title", WPJB_DOMAIN));
     $e->setHint(__("Title on the page with listings from selected category. Allowed vars: {category}.", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_search_results");
     $e->setValue($instance->getConfig("seo_search_results"));
     $e->setLabel(__("Search Results Title", WPJB_DOMAIN));
     $e->setHint(__("Title on the page with search results. Allowed vars: {keyword}.", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_job_type");
     $e->setValue($instance->getConfig("seo_job_type"));
     $e->setLabel(__("Job Types Title", WPJB_DOMAIN));
     $e->setHint(__("Title on the page with listings with selected fob type. Allowed vars: {type}", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_job_employer");
     $e->setValue($instance->getConfig("seo_job_employer"));
     $e->setLabel(__("Employer Page Title", WPJB_DOMAIN));
     $e->setHint(__("Title on the page with employer profile. Allowed vars: {company_name}", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_resumes_name");
     $e->setValue($instance->getConfig("seo_resumes_name"));
     $e->setLabel(__("Resumes Title", WPJB_DOMAIN));
     $e->setHint(__("Title on the resumes front page", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_resumes_view");
     $e->setValue($instance->getConfig("seo_resumes_view"));
     $e->setLabel(__("Resumes Details Title", WPJB_DOMAIN));
     $e->setHint(__("Title on the single resume details page. Allowed vars: {full_name}", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_resume_adv_search");
     $e->setValue($instance->getConfig("seo_resume_adv_search"));
     $e->setLabel(__("Resumes Advanced Search", WPJB_DOMAIN));
     $e->setHint(__("The title on the resumes advanced search form", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     $e = new Daq_Form_Element("seo_search_resumes");
     $e->setValue($instance->getConfig("seo_search_resumes"));
     $e->setLabel(__("Resumes Search Results", WPJB_DOMAIN));
     $e->setHint(__("The title on resumes search results page. Allowed vars: {keyword}", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(0, 120));
     $this->addElement($e);
     apply_filters("wpja_form_init_config_seo", $this);
 }
Пример #9
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);
 }
Пример #10
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");
     }
 }
Пример #11
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");
     }
 }
Пример #12
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);
 }
Пример #13
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);
 }
Пример #14
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));
 }