Пример #1
0
 public function init()
 {
     $e1 = new Daq_Form_Element("id", Daq_Form_Element::TYPE_HIDDEN);
     $e1->setValue($this->_object->id);
     $e1->addFilter(new Daq_Filter_Int());
     $this->addElement($e1);
     $e3 = new Daq_Form_Element("title");
     $e3->setRequired(true);
     $e3->setValue($this->_object->title);
     $e3->setLabel(__("Category Title", WPJB_DOMAIN));
     $e3->setHint(__("The name is used to identify the category almost everywhere, for example under the post or in the category widget.", WPJB_DOMAIN));
     $this->addElement($e3);
     $e2 = new Daq_Form_Element("slug");
     $e2->setRequired(true);
     $e2->setValue($this->_object->slug);
     $e2->setLabel(__("Category Slug", WPJB_DOMAIN));
     $e2->setHint(__("The “slug” is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.", WPJB_DOMAIN));
     $e2->addValidator(new Daq_Validate_Slug());
     $e2->addValidator(new Daq_Validate_Db_NoRecordExists("Wpjb_Model_Category", "slug", $this->_exclude()));
     $this->addElement($e2);
     $e4 = new Daq_Form_Element("description", Daq_Form_Element::TYPE_TEXTAREA);
     $e4->setValue($this->_object->description);
     $e4->setLabel(__("Category Description", WPJB_DOMAIN));
     $e4->setHint(__("Briefly describe  category. (You can use HTML tags.)", WPJB_DOMAIN));
     $this->addElement($e4);
     apply_filters("wpja_form_init_category", $this);
 }
Пример #2
0
 public function init()
 {
     $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");
     }
 }
Пример #3
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);
 }
Пример #4
0
 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();
     }
 }
Пример #5
0
 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);
 }
Пример #6
0
 public function init()
 {
     $e = new Daq_Form_Element("id", Daq_Form_Element::TYPE_HIDDEN);
     $e->setValue($this->_object->id);
     $e->addFilter(new Daq_Filter_Int());
     $this->addElement($e);
     $e = new Daq_Form_Element("applicant_name");
     $e->setRequired(true);
     $e->setValue($this->_object->applicant_name);
     $e->setLabel(__("Applicant Name", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("email");
     $e->setRequired(true);
     $e->setValue($this->_object->email);
     $e->setLabel(__("E-mail", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("resume", Daq_Form_Element::TYPE_TEXTAREA);
     $e->setValue($this->_object->resume);
     $e->setLabel(__("Resume/Message", WPJB_DOMAIN));
     $this->addElement($e);
     $e = new Daq_Form_Element("is_rejected", Daq_Form_Element::TYPE_SELECT);
     $e->setValue($this->_object->is_rejected);
     $e->setLabel(__("Reject application", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $e->addValidator(new Daq_Validate_InArray(array(0, 1)));
     $e->addOption(1, 1, __("Yes", WPJB_DOMAIN));
     $e->addOption(0, 0, __("No", WPJB_DOMAIN));
     $this->addElement($e);
     apply_filters("wpja_form_init_application", $this);
 }
Пример #7
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);
 }
Пример #8
0
 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);
 }
Пример #9
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);
 }
Пример #10
0
 public function init()
 {
     $this->addGroup("default", __("Register", WPJB_DOMAIN));
     $e = new Daq_Form_Element("user_login", Daq_Form_Element::TYPE_TEXT);
     $e->setLabel(__("Username", WPJB_DOMAIN));
     $e->setRequired(true);
     $e->addFilter(new Daq_Filter_Trim());
     $e->addValidator(new Daq_Validate_WP_Username());
     $this->addElement($e, "default");
     $e = new Daq_Form_Element("user_password", Daq_Form_Element::TYPE_PASSWORD);
     $e->setLabel(__("Password", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Trim());
     $e->addValidator(new Daq_Validate_StringLength(4, 32));
     $e->addValidator(new Daq_Validate_PasswordEqual("user_password2"));
     $e->setRequired(true);
     $this->addElement($e, "default");
     $e = new Daq_Form_Element("user_password2", Daq_Form_Element::TYPE_PASSWORD);
     $e->setLabel(__("Password (repeat)", WPJB_DOMAIN));
     $e->setRequired(true);
     $this->addElement($e, "default");
     $e = new Daq_Form_Element("user_email", Daq_Form_Element::TYPE_TEXT);
     $e->setLabel(__("E-mail", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Trim());
     $e->addValidator(new Daq_Validate_WP_Email());
     $e->setRequired(true);
     $this->addElement($e, "default");
     apply_filters("wpjr_form_init_register", $this);
 }
Пример #11
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);
 }
Пример #12
0
 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();
     }
 }
Пример #13
0
 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);
 }
Пример #14
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);
 }
Пример #15
0
 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);
 }
Пример #16
0
 public function init()
 {
     parent::init();
     $this->addGroup("other", "Other");
     $e = new Daq_Form_Element("is_filled", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setLabel(__("Is Filled", WPJB_DOMAIN));
     $e->setValue($this->getObject()->is_filled);
     $e->addOption(1, 1, __("Yes, this position is taken", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Int());
     $this->addElement($e, "other");
     apply_filters("wpja_form_init_editjob", $this);
     $this->setModifiedScheme(Wpjb_Project::getInstance()->conf("form_add_job", true));
 }
Пример #17
0
 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);
 }
Пример #18
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);
 }
Пример #19
0
 public function isValid($values)
 {
     if (!$this->hasElement("listing")) {
         $listing = new Daq_Db_Query();
         $listing->select("*")->from("Wpjb_Model_Listing t")->limit(1);
         list($listing) = $listing->execute();
         $e = new Daq_Form_Element("listing");
         $e->setValue($listing->id);
         $this->addElement($e);
         $values["listing"] = $listing->id;
     }
     if (!$this->hasElement("payment_method")) {
         $payment = new Wpjb_Payment_Factory();
         $engine = new ArrayIterator($payment->getEngines());
         $engine = $engine->key();
         $e = new Daq_Form_Element("payment_method");
         $e->setValue($engine);
         $this->addElement($e);
         $values["payment_method"] = $engine;
     }
     $listing = new Wpjb_Model_Listing($values["listing"]);
     $validator = new Wpjb_Validate_Coupon($listing->currency);
     if ($this->hasElement("coupon")) {
         $this->getElement("coupon")->addValidator($validator);
     }
     $valid = parent::isValid($values);
     $discountObject = null;
     if (strlen($values['coupon']) > 0 && $valid) {
         $query = new Daq_Db_Query();
         $result = $query->select("*")->from("Wpjb_Model_Discount t")->where("code = ?", $values['coupon'])->limit(1)->execute();
         $discountObject = $result[0];
         $listing->addDiscount($discountObject);
     }
     if ($valid) {
         list($price, $discount) = $listing->calculatePrice();
         if ($discountObject) {
             $e = new Daq_Form_Element("discount_id");
             $e->setValue($discountObject->id);
             $this->addElement($e);
         }
         $e = new Daq_Form_Element("job_modified_at");
         $e->setValue(date("Y-m-d H:i:s"));
         $this->addElement($e);
         $e = new Daq_Form_Element("job_created_at");
         $e->setValue(date("Y-m-d H:i:s"));
         $this->addElement($e);
         $e = new Daq_Form_Element("job_expires_at");
         if ($listing->visible == 0) {
             $expiresAt = "9999-12-31 23:59:59";
         } else {
             $expiresAt = strtotime("now +" . $listing->visible . " days");
             $expiresAt = date("Y-m-d H:i:s", $expiresAt);
         }
         $e->setValue($expiresAt);
         $this->addElement($e);
         $e = new Daq_Form_Element("job_visible");
         $e->setValue($listing->visible);
         $this->addElement($e);
         $e = new Daq_Form_Element("job_source");
         $e->setValue(1);
         $this->addElement($e);
         $e = new Daq_Form_Element("is_filled");
         $e->setValue(0);
         $this->addElement($e);
         $isActive = Wpjb_Project::getInstance()->getConfig("posting_moderation");
         $isActive = !(bool) $isActive;
         if ($price > 0) {
             $isActive = false;
         }
         $e = new Daq_Form_Element("is_approved");
         $e->setValue($isActive);
         $this->addElement($e);
         $e = new Daq_Form_Element("is_active");
         $e->setValue($isActive);
         $this->addElement($e);
         $e = new Daq_Form_Element("is_featured");
         $e->setValue($listing->is_featured);
         $this->addElement($e);
         $e = new Daq_Form_Element("payment_sum");
         $e->setValue($price);
         $this->addElement($e);
         $e = new Daq_Form_Element("payment_paid");
         $e->setValue(0);
         $this->addElement($e);
         $e = new Daq_Form_Element("payment_currency");
         $e->setValue($listing->currency);
         $this->addElement($e);
         $e = new Daq_Form_Element("payment_discount");
         $e->setValue($discount);
         $this->addElement($e);
         $slug = Wpjb_Utility_Slug::generate(Wpjb_Utility_Slug::MODEL_JOB, $values['job_title']);
         $e = new Daq_Form_Element("job_slug");
         $e->setValue($slug);
         $this->addElement($e);
         $e = new Daq_Form_Element("employer_id");
         $e->setValue($this->_getEmployerId());
         $this->addElement($e);
     }
     return $valid;
 }
Пример #20
0
 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;
 }
Пример #21
0
 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;
 }
Пример #22
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);
 }
Пример #23
0
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 
    }
}
Пример #24
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");
     }
 }
Пример #25
0
 public function init()
 {
     $e = new Daq_Form_Element("file", Daq_Form_Element::TYPE_FILE);
     $e->isRequired(true);
     $this->addElement($e);
 }
Пример #26
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);
 }
Пример #27
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);
 }
Пример #28
0
 protected function _quickAdd($name, $value)
 {
     $e = new Daq_Form_Element($name);
     $e->setValue($value);
     $this->addElement($e);
 }
Пример #29
0
 public function init()
 {
     $this->addGroup("auth", __("User Account", WPJB_DOMAIN));
     $this->addGroup("default", __("Company", WPJB_DOMAIN));
     $this->addGroup("location", __("Location", WPJB_DOMAIN));
     $e = new Daq_Form_Element("user_login", Daq_Form_Element::TYPE_TEXT);
     $e->setLabel(__("Username", WPJB_DOMAIN));
     $e->setRequired(true);
     $e->addFilter(new Daq_Filter_Trim());
     $e->addFilter(new Daq_Filter_WP_SanitizeUser());
     $e->addValidator(new Daq_Validate_WP_Username());
     $this->addElement($e, "auth");
     $e = new Daq_Form_Element("user_password", Daq_Form_Element::TYPE_PASSWORD);
     $e->setLabel(__("Password", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Trim());
     $e->addValidator(new Daq_Validate_StringLength(4, 32));
     $e->addValidator(new Daq_Validate_PasswordEqual("user_password2"));
     $e->setRequired(true);
     $this->addElement($e, "auth");
     $e = new Daq_Form_Element("user_password2", Daq_Form_Element::TYPE_PASSWORD);
     $e->setLabel(__("Password (repeat)", WPJB_DOMAIN));
     $e->setRequired(true);
     $this->addElement($e, "auth");
     $e = new Daq_Form_Element("user_email", Daq_Form_Element::TYPE_TEXT);
     $e->setLabel(__("E-mail", WPJB_DOMAIN));
     $e->addFilter(new Daq_Filter_Trim());
     $e->addValidator(new Daq_Validate_WP_Email());
     $e->setRequired(true);
     $this->addElement($e, "auth");
     $e = new Daq_Form_Element("company_name");
     $e->setLabel(__("Company name", WPJB_DOMAIN));
     $e->setRequired(true);
     $e->addFilter(new Daq_Filter_Trim());
     $this->addElement($e, "default");
     $e = new Daq_Form_Element("company_website");
     $e->setLabel(__("Company website", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_Url());
     $e->addFilter(new Daq_Filter_WP_Url());
     $e->addFilter(new Daq_Filter_Trim());
     $this->addElement($e, "default");
     $e = new Daq_Form_Element_File("company_logo", Daq_Form_Element::TYPE_FILE);
     $e->setLabel(__("Company Logo", WPJB_DOMAIN));
     $e->setHint(__("Max. file size 30 kB. Image size 300x100 px. File formats *.jpg; *.gif; *.png .", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_File_Default());
     $e->addValidator(new Daq_Validate_File_Ext("jpg,jpeg,gif,png"));
     $e->addValidator(new Daq_Validate_File_Size(30000));
     $e->addValidator(new Daq_Validate_File_ImageSize(300, 100));
     //$this->addElement($e, "default");
     $e = new Daq_Form_Element("company_info", Daq_Form_Element::TYPE_TEXTAREA);
     $e->setLabel(__("Company info", WPJB_DOMAIN));
     $e->setRequired(true);
     $e->addFilter(new Daq_Filter_Trim());
     $this->addElement($e, "default");
     $e = new Daq_Form_Element("is_public", Daq_Form_Element::TYPE_CHECKBOX);
     $e->setLabel(__("Publish Profile", WPJB_DOMAIN));
     $e->addOption(1, 1, __("Allow job seekers to view company profile", WPJB_DOMAIN));
     $e->setValue($this->_object->is_public);
     $e->addFilter(new Daq_Filter_Int());
     $this->addElement($e, "default");
     $def = wpjb_locale();
     $e = new Daq_Form_Element("company_country", Daq_Form_Element::TYPE_SELECT);
     $e->setLabel(__("Company Country", WPJB_DOMAIN));
     $e->setValue($this->_object->company_country ? $this->_object->company_country : $def);
     foreach (Wpjb_List_Country::getAll() as $listing) {
         $e->addOption($listing['code'], $listing['code'], $listing['name']);
     }
     $e->addClass("wpjb-location-country");
     $this->addElement($e, "location");
     $e = new Daq_Form_Element("company_state");
     $e->setLabel(__("Company State", WPJB_DOMAIN));
     $e->setValue($this->_object->company_state);
     $e->addClass("wpjb-location-state");
     $this->addElement($e, "location");
     $e = new Daq_Form_Element("company_zip_code");
     $e->setLabel(__("Company Zip-Code", WPJB_DOMAIN));
     $e->addValidator(new Daq_Validate_StringLength(null, 20));
     $e->setValue($this->_object->company_zip_code);
     $this->addElement($e, "location");
     $e = new Daq_Form_Element("company_location");
     $e->setLabel(__("Company Location", WPJB_DOMAIN));
     $e->setValue($this->_object->company_location);
     $e->addClass("wpjb-location-city");
     $this->addElement($e, "location");
     apply_filters("wpjb_form_init_register", $this);
 }
Пример #30
0
 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">&nbsp;*</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;
 }