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); }
public function init() { $this->addGroup("default"); $this->addGroup("hidden"); $e = new Daq_Form_Element("purchase", Daq_Form_Element::TYPE_HIDDEN); $e->setValue(1); $e->setRequired(true); $this->addElement($e, "hidden"); $payment = new Wpjb_Payment_Factory(); if (count($payment->getEngines()) > 1) { $v = array(); $e = new Daq_Form_Element("payment_method", Daq_Form_Element::TYPE_SELECT); $e->setRequired(true); $e->setLabel(__("Payment Method", WPJB_DOMAIN)); foreach ($payment->getEngines() as $key => $engine) { /* @var $engine Wpjb_Payment_Interface */ $engine = new $engine(); $pTitle = $engine->getTitle(); $e->addOption($key, $key, $pTitle); $v[] = $key; } $e->addValidator(new Daq_Validate_InArray($v)); $this->addElement($e, "default"); } else { $engine = current($payment->getEngines()); $engine = new $engine(); $e = new Daq_Form_Element("payment_method", Daq_Form_Element::TYPE_HIDDEN); $e->setValue($engine->getEngine()); $e->addValidator(new Daq_Validate_InArray(array($engine->getEngine()))); $e->setRequired(true); $this->addElement($e, "hidden"); } }
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); }
public function addElement(Daq_Form_Element $field, $group = null) { $this->_field[$field->getName()] = $field; if ($group !== null) { if (!is_array($this->_group[$group])) { $this->addGroup($group); } $this->_group[$group]["element"][] = $field->getName(); } }
public function init() { $e = new Daq_Form_Element("keyword", Daq_Form_Element::TYPE_TEXT); $e->setRequired(true); $this->addElement($e, "alert"); $e = new Daq_Form_Element("email", Daq_Form_Element::TYPE_TEXT); $e->setRequired(true); $e->addValidator(new Daq_Validate_Email()); $this->addElement($e, "apply"); apply_filters("wpjb_form_init_alert", $this); }
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); }
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); }
public function init() { $e = new Daq_Form_Element("user_login", Daq_Form_Element::TYPE_TEXT); $e->setLabel(__("Username", WPJB_DOMAIN)); $e->setRequired(true); $this->addElement($e, "default"); $e = new Daq_Form_Element("user_password", Daq_Form_Element::TYPE_PASSWORD); $e->setLabel(__("Password", WPJB_DOMAIN)); $e->setRequired(true); $this->addElement($e, "default"); $e = new Daq_Form_Element("remember", Daq_Form_Element::TYPE_CHECKBOX); $e->setLabel(__("Remember me", WPJB_DOMAIN)); $e->addOption(1, 1, ""); $this->addElement($e, "default"); $e = new Daq_Form_Element("redirect_to", Daq_Form_Element::TYPE_HIDDEN); $e->setValue(wpjr_link_to("myresume")); $this->addElement($e, "hidden"); apply_filters("wpjr_form_init_login", $this); }
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); }
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); }
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); }
public function save() { if (Wpjb_Project::getInstance()->conf("cv_approval") == 1) { $e = new Daq_Form_Element("is_approved"); $e->setValue(Wpjb_Model_Resume::RESUME_PENDING); $this->addElement($e); } $e = new Daq_Form_Element("updated_at"); $e->setValue(date("Y-m-d H:i:s")); $this->addElement($e); parent::save(); if (Wpjb_Project::getInstance()->conf("cv_approval") == 1) { $url = rtrim(site_url(), "/"); $url .= "/wp-admin/admin.php?page=wpjb/resumes&action=edit/id/"; $url .= $this->getObject()->id; $mail = new Wpjb_Utility_Message(11); $mail->setParams($this->getObject()->toArray()); $mail->setParam("resume_admin_url", $url); $mail->setTo($mail->getTemplate()->mail_from); $mail->send(); } }
public function init() { global $wp_rewrite; if (!$wp_rewrite->using_permalinks()) { $e = new Daq_Form_Element("job_resumes", Daq_Form_Element::TYPE_HIDDEN); $e->setValue("find"); $this->addElement($e); $e = new Daq_Form_Element("page_id", Daq_Form_Element::TYPE_HIDDEN); $e->setValue(Wpjb_Project::getInstance()->conf("link_resumes")); $this->addElement($e); } $e = new Daq_Form_Element("query"); $e->setLabel(__("Search", WPJB_DOMAIN)); $e->setValue(__("title, experience, education ...", WPJB_DOMAIN)); $e->addClass("wpjb-auto-clear"); $this->addElement($e, "search"); $e = new Daq_Form_Element("degree", Daq_Form_Element::TYPE_SELECT); $e->setLabel(__("Degree", WPJB_DOMAIN)); foreach (Wpjb_Form_Admin_Resume::getDegrees() as $k => $v) { $e->addOption($k, $k, $v); } $this->addElement($e, "search"); $e = new Daq_Form_Element("experience", Daq_Form_Element::TYPE_SELECT); $e->setLabel(__("Years of Experience", WPJB_DOMAIN)); foreach (Wpjb_Form_Admin_Resume::getExperience() as $k => $v) { $e->addOption($k, $k, $v); } $this->addElement($e, "search"); $e = new Daq_Form_Element("category", Daq_Form_Element::TYPE_SELECT); $e->setLabel(__("Category", WPJB_DOMAIN)); $e->addOption(null, null, " "); foreach (Wpjb_Utility_Registry::getCategories() as $obj) { $e->addOption($obj->id, $obj->id, $obj->title); } if (count(Wpjb_Utility_Registry::getCategories()) > 0) { $this->addElement($e, "search"); } $e = new Daq_Form_Element("posted", Daq_Form_Element::TYPE_SELECT); $e->setLabel(__("Last updated", WPJB_DOMAIN)); $e->addOption(null, null, " "); $e->addOption(1, 1, __("Today", WPJB_DOMAIN)); $e->addOption(2, 2, __("Yesterday", WPJB_DOMAIN)); $e->addOption(7, 7, __("Less than 7 days ago", WPJB_DOMAIN)); $e->addOption(30, 30, __("Less than 30 days ago", WPJB_DOMAIN)); $this->addElement($e, "search"); apply_filters("wpjr_form_init_search", $this); }
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); }
public function init() { global $wp_rewrite; if (!$wp_rewrite->using_permalinks()) { $e = new Daq_Form_Element("job_board", Daq_Form_Element::TYPE_HIDDEN); $e->setValue("find"); $this->addElement($e); $e = new Daq_Form_Element("page_id", Daq_Form_Element::TYPE_HIDDEN); $e->setValue(Wpjb_Project::getInstance()->conf("link_jobs")); $this->addElement($e); } $e = new Daq_Form_Element("query"); $e->setLabel(__("Search", WPJB_DOMAIN)); $e->setValue(__("keyword, location, company ...", WPJB_DOMAIN)); $e->addClass("wpjb-auto-clear"); $this->addElement($e, "search"); $e = new Daq_Form_Element("type", Daq_Form_Element::TYPE_SELECT); $e->setLabel(__("Job Type", WPJB_DOMAIN)); $e->addOption(null, null, " "); foreach (Wpjb_Utility_Registry::getJobTypes() as $obj) { $e->addOption($obj->id, $obj->id, $obj->title); } if (count(Wpjb_Utility_Registry::getJobTypes()) > 0) { $this->addElement($e, "search"); } $e = new Daq_Form_Element("category", Daq_Form_Element::TYPE_SELECT); $e->setLabel(__("Job Category", WPJB_DOMAIN)); $e->addOption(null, null, " "); foreach (Wpjb_Utility_Registry::getCategories() as $obj) { $e->addOption($obj->id, $obj->id, $obj->title); } if (count(Wpjb_Utility_Registry::getCategories()) > 0) { $this->addElement($e, "search"); } $e = new Daq_Form_Element("posted", Daq_Form_Element::TYPE_SELECT); $e->setLabel(__("Posted", WPJB_DOMAIN)); $e->addOption(null, null, " "); $e->addOption(1, 1, __("Today", WPJB_DOMAIN)); $e->addOption(2, 2, __("Yesterday", WPJB_DOMAIN)); $e->addOption(7, 7, __("Less then 7 days ago", WPJB_DOMAIN)); $e->addOption(30, 30, __("Less then 30 days ago", WPJB_DOMAIN)); $this->addElement($e, "search"); apply_filters("wpjb_form_init_search", $this); }
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)); }
public function init() { $this->name = __("Payment Settings", WPJB_DOMAIN); $this->_env = array(1 => __("Sandbox (For testing only)", WPJB_DOMAIN), 2 => __("Production (Real money)", WPJB_DOMAIN)); $instance = Wpjb_Project::getInstance(); $e = new Daq_Form_Element("paypal_email"); $e->setValue($instance->getConfig("paypal_email")); $e->setLabel(__("PayPal eMail", WPJB_DOMAIN)); $e->addValidator(new Daq_Validate_Email()); $this->addElement($e); $e = new Daq_Form_Element("paypal_env", Daq_Form_Element::TYPE_SELECT); $e->setValue($instance->getConfig("paypal_env")); $e->setLabel(__("PayPal Environment", WPJB_DOMAIN)); $e->addValidator(new Daq_Validate_InArray(array_keys($this->_env))); foreach ($this->_env as $k => $v) { $e->addOption($k, $k, $v); } $this->addElement($e); apply_filters("wpja_form_init_config_payment", $this); }
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); }
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; }
public function isValid($values) { $isValid = parent::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); } $ext = null; if ($this->hasElement("company_logo")) { $ext = $this->getElement("company_logo")->getExt(); } $value = $this->getValues(); if ($ext) { $e = new Daq_Form_Element("company_logo_ext"); $e->setValue($ext); $this->addElement($e); } $e = new Daq_Form_Element("job_modified_at"); $e->setValue(date("Y-m-d H:i:s")); $this->addElement($e); if ($this->hasElement("job_visible")) { // dokonczyc tutaj poprawne zapisywanie daty $days = $values["job_visible"]; $now = $this->getObject()->job_created_at; $e = new Daq_Form_Element("job_expires_at"); if ($days == 0) { $expiresAt = "9999-12-31 23:59:59"; } else { $expiresAt = strtotime("{$now} +" . $days . " days"); $expiresAt = date("Y-m-d H:i:s", $expiresAt); } $e->setValue($expiresAt); $this->addElement($e); } if ($value['is_active'] == 1) { $e = new Daq_Form_Element("is_approved"); $e->setValue(1); $this->addElement($e); } if ($isValid && $this->getObject()->getId() < 1) { $listing = new Wpjb_Model_Listing($value['listing']); $e = new Daq_Form_Element("job_source"); $e->setValue(2); $this->addElement($e); $e = new Daq_Form_Element("job_visible"); $e->setValue($listing->visible); $this->addElement($e); $e = new Daq_Form_Element("job_created_at"); $e->setValue(date("Y-m-d H:i:s")); $this->addElement($e); $days = $listing->visible; $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("is_filled"); $e->setValue(0); $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($listing->price); $this->addElement($e); $e = new Daq_Form_Element("payment_paid"); $e->setValue($listing->price); $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(0); $this->addElement($e); } return $isValid; }
public function isValid($values) { $isValid = parent::isValid($values); $ext = $this->getElement("company_logo")->getExt(); $value = $this->getValues(); if ($ext) { $e = new Daq_Form_Element("company_logo_ext"); $e->setValue($ext); $this->addElement($e); } return $isValid; }
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); }
function wpjb_form_helper_listing(Daq_Form_Element $field, array $options = array()) { $listing = wpjb_view("listing"); foreach ($field->getOptions() as $option) { $id = $option["value"]; $l = $listing[$id]; ?> <label class="wpjb-listing-type-item" for="listing_<?php echo $id; ?> "> <input name="listing" id="listing_<?php echo $id; ?> " type="radio" value="<?php echo $id; ?> " <?php if ($field->getValue() == $id) { ?> checked="checked"<?php } ?> /> <span class="wpjb-listing-type-item-s1"><?php esc_html_e($l->title); ?> </span> <span class="wpjb-listing-type-item-s2"><?php echo $l->getTextPrice(); ?> </span> <span class="wpjb-listing-type-item-s3"> <?php if ($l->description) { ?> <?php echo $l->description; ?> <?php } else { ?> <?php _e("visible for {$l->visible} days", WPJB_DOMAIN); ?> <?php } ?> </span> </label> <?php } }
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"); } }
public function init() { $e = new Daq_Form_Element("file", Daq_Form_Element::TYPE_FILE); $e->isRequired(true); $this->addElement($e); }
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); }
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); }
protected function _quickAdd($name, $value) { $e = new Daq_Form_Element($name); $e->setValue($value); $this->addElement($e); }
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); }
public function render(Daq_Form_Element $element) { $label = true; if ($element->getType() == Daq_Form_Element::TYPE_CHECKBOX) { $label = false; } if ($element->getType() == Daq_Form_Element::TYPE_RADIO) { $label = false; } if ($element->hasErrors()) { $c = '<tr valign="top" class="error">'; } else { $c = '<tr valign="top">'; } if ($element->isRequired()) { $req = '<span class="wpjb-red"> *</span>'; } else { $req = ''; } $c .= ' <th scope="row">'; if ($label) { $c .= ' <label for="' . $element->getName() . '">' . $element->getLabel() . $req . '</label>'; } else { $c .= ' ' . $element->getLabel() . $req; } $c .= ' </th>'; $c .= ' <td>'; $c .= $this->renderTag($element); $c .= ' <br />'; if ($element->hasHint()) { $c .= ' <span class="setting-description">' . $this->_escape($element->getHint()) . '</span>'; } if ($element->hasErrors()) { $c .= ' <ul class="updated">'; $c .= ' <li><strong>Following errors occured</strong></li>'; foreach ($element->getErrors() as $error) { $c .= ' <li>' . $error . '</li>'; } $c .= ' </ul>'; } $c .= ' </td>'; $c .= '</tr>'; return $c; }