/wp-content/plugins/kali-forms/Inc/Backend/class-predefined-forms.php
PHP | 267 lines | 213 code | 26 blank | 28 comment | 19 complexity | 8cc46ae54b6be223c9e148eb117e3b54 MD5 | raw file
- <?php
- namespace KaliForms\Inc\Backend;
- if (!defined('ABSPATH')) {
- exit;
- }
- /**
- * Class Predefined_Forms is used to translate stuff
- *
- * @package App\Libraries
- */
- class Predefined_Forms
- {
- /**
- * Plugin slug
- *
- * @var string
- */
- public $slug = 'kaliforms';
- /**
- * Forms array
- *
- * @var array
- */
- public $forms = [];
- /**
- * Class constructor
- */
- public function __construct()
- {
- add_action(
- 'wp_ajax_kaliforms_get_form_data',
- [$this, 'get_form_data']
- );
- }
- /**
- * Gets form data
- *
- * @return void
- */
- public function get_form_data()
- {
- if (!isset($_POST['args'], $_POST['args']['nonce'])) {
- wp_die('Denied');
- }
- if (!wp_verify_nonce(sanitize_key(wp_unslash($_POST['args']['nonce'])), 'kaliforms_nonce')) {
- wp_die('Denied');
- }
- $this->set_forms(true);
- $_POST['args'] = stripslashes_deep($_POST['args']);
- if (!isset($this->forms[$_POST['args']['id']])) {
- wp_die('wrong id');
- }
- $form = $this->forms[$_POST['args']['id']]['instance'];
- if ($form === null) {
- wp_die('something went wrong');
- }
- wp_die(wp_json_encode(
- [
- 'name' => $form->name,
- 'emails' => $form->emails,
- 'thank_you_message' => $form->thank_you_message,
- 'conditional_logic' => isset($form->conditional_logic) ? $form->conditional_logic : [],
- 'form_calculator' => isset($form->form_calculator) ? $form->form_calculator : [],
- 'grid' => $form->grid,
- 'field_components' => $form->field_components,
- 'form_info' => $form->form_info,
- ]
- ));
- }
- /**
- * Sets the default forms
- *
- * @return void
- */
- public function set_forms($full = false)
- {
- $contactForm = new PredefinedForms\Contact_Form();
- $this->forms['contact'] = [
- 'name' => $contactForm->name,
- 'description' => $contactForm->description,
- 'class' => 'PredefinedForms\Contact_Form',
- 'pro' => false,
- 'premium' => false,
- 'instance' => $full ? $contactForm : null,
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/contact-form.png',
- 'demo' => 'https://kaliforms.dev/contact-form/',
- ];
- $employeeInformation = new PredefinedForms\Employee_Information_Form();
- $this->forms['employeeInformation'] = [
- 'name' => $employeeInformation->name,
- 'description' => $employeeInformation->description,
- 'pro' => false,
- 'premium' => false,
- 'class' => 'PredefinedForms\Employee_Information_Form',
- 'instance' => $full ? $employeeInformation : null,
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/employee-info-form.png',
- 'demo' => 'https://kaliforms.dev/employee-information-form/',
- ];
- $this->forms['gdpr-contact'] = [
- 'name' => esc_html__('GDPR-Friendly contact form', 'kaliforms'),
- 'description' => esc_html__('A simple gdpr-friendly form meant to help you comunicate with your site users.', 'kaliforms'),
- 'class' => 'PredefinedForms\GDPR_Friendly_Contact_Form',
- 'pro' => true,
- 'premium' => true,
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/gdpr-contact-form.png',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\GDPR_Friendly_Contact_Form') ? new PredefinedForms\GDPR_Friendly_Contact_Form() : null,
- 'demo' => 'https://kaliforms.dev/gdpr-friendly-contact-form/',
- ];
- $this->forms['appointment'] = [
- 'name' => esc_html__('Appointment form', 'kaliforms'),
- 'description' => esc_html__('Use this as a starting point in building an appointment service on your site.', 'kaliforms'),
- 'class' => 'PredefinedForms\Appointment_Form',
- 'pro' => true,
- 'premium' => true,
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/appointment-form.png',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Appointment_Form') ? new PredefinedForms\Appointment_Form() : null,
- 'demo' => 'https://kaliforms.dev/appointment-form/',
- ];
- $this->forms['customerSatisfaction'] = [
- 'name' => esc_html__('Customer feedback form', 'kaliforms'),
- 'description' => esc_html__('Collect feedback from customers and improve your services.', 'kaliforms'),
- 'pro' => true,
- 'premium' => true,
- 'class' => 'PredefinedForms\Customer_Satisfaction_Form',
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/customer-feedback-form.png',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Customer_Satisfaction_Form') ? new PredefinedForms\Customer_Satisfaction_Form() : null,
- 'demo' => 'https://kaliforms.dev/customer-feedback-form/',
- ];
- $this->forms['artContest'] = [
- 'name' => esc_html__('Art contest', 'kaliforms'),
- 'description' => esc_html__('This form will help you accept registrations for an art contest event.', 'kaliforms'),
- 'pro' => true,
- 'premium' => true,
- 'class' => 'PredefinedForms\Art_Contest_Form',
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/art-contest.png',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Art_Contest_Form') ? new PredefinedForms\Art_Contest_Form() : null,
- 'demo' => 'https://kaliforms.dev/art-contest/',
- ];
- $this->forms['jobApplication'] = [
- 'name' => esc_html__('Job application', 'kaliforms'),
- 'description' => esc_html__('Collect resumes for the positions available in your company', 'kaliforms'),
- 'pro' => true,
- 'premium' => true,
- 'class' => 'PredefinedForms\Job_Application_Form',
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/job-application.png',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Job_Application_Form') ? new PredefinedForms\Job_Application_Form() : null,
- 'demo' => 'https://kaliforms.dev/job-application/',
- ];
- $this->forms['gamingTournamentRegistration'] = [
- 'name' => esc_html__('Gaming tournament registration', 'kaliforms'),
- 'description' => esc_html__('Allow ESL teams to join your tournament through this form.', 'kaliforms'),
- 'pro' => true,
- 'premium' => true,
- 'class' => 'PredefinedForms\Gaming_Tournament_Registration_Form',
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/gaming-tournament.png',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Gaming_Tournament_Registration_Form') ? new PredefinedForms\Gaming_Tournament_Registration_Form() : null,
- 'demo' => 'https://kaliforms.dev/gaming-tournament-registration/',
- ];
- $this->forms['runningCalculators'] = [
- 'name' => esc_html__('Running calculator form', 'kaliforms'),
- 'description' => esc_html__('Easily calculate pace/time/distance using our calculator.', 'kaliforms'),
- 'pro' => true,
- 'premium' => true,
- 'class' => 'PredefinedForms\Running_Calculators',
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/pace-calculator.jpg',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Running_Calculators') ? new PredefinedForms\Running_Calculators() : null,
- 'demo' => 'https://kaliforms.dev/running-calculators/',
- ];
- $this->forms['donationForm'] = [
- 'name' => esc_html__('Donation form', 'kaliforms'),
- 'description' => esc_html__('Create donation collect form.', 'kaliforms'),
- 'pro' => true,
- 'premium' => true,
- 'class' => 'PredefinedForms\Donation_Form',
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/donation-form.jpg',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Donation_Form') ? new PredefinedForms\Donation_Form() : null,
- 'demo' => 'https://kaliforms.dev/donation_form/',
- ];
- $this->forms['requestAQuote'] = [
- 'name' => esc_html__('Request quote form', 'kaliforms'),
- 'description' => esc_html__('A simple example of using the calculator to create a quote estimate and request.', 'kaliforms'),
- 'pro' => true,
- 'premium' => true,
- 'class' => 'PredefinedForms\Request_A_Quote',
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/request-a-quote.jpg',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Request_A_Quote') ? new PredefinedForms\Request_A_Quote() : null,
- 'demo' => 'https://kaliforms.dev/request-a-quote/',
- ];
- $this->forms['reservationForm'] = [
- 'name' => esc_html__('Reservation form', 'kaliforms'),
- 'description' => esc_html__('A form that can be used as to reserve rooms at your hotel.', 'kaliforms'),
- 'pro' => true,
- 'premium' => true,
- 'class' => 'PredefinedForms\Reservation_Form',
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/hotel-reservation-form.jpg',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Reservation_Form') ? new PredefinedForms\Reservation_Form() : null,
- 'demo' => 'https://kaliforms.dev/reservation-form/',
- ];
- $this->forms['gymMembershipApplication'] = [
- 'name' => esc_html__('Gym membership form', 'kaliforms'),
- 'description' => esc_html__('A form that can collect information about your gym customers.', 'kaliforms'),
- 'pro' => true,
- 'premium' => true,
- 'class' => 'PredefinedForms\Gym_Membership_Application',
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/gym-membership-application.jpg',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Gym_Membership_Application') ? new PredefinedForms\Gym_Membership_Application() : null,
- 'demo' => 'https://kaliforms.dev/gym-membership-application/',
- ];
- $this->forms['simpleBookingForm'] = [
- 'name' => esc_html__('Simple booking form', 'kaliforms'),
- 'description' => esc_html__('Use our date picker to book certain dates in a calendar. Dates are disabled automatically based on previous submissions.', 'kaliforms'),
- 'pro' => true,
- 'premium' => true,
- 'class' => 'PredefinedForms\Simple_Booking_Form',
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/simple-booking-form.jpg',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Simple_Booking_Form') ? new PredefinedForms\Simple_Booking_Form() : null,
- 'demo' => 'https://kaliforms.dev/simple-booking-form/',
- ];
- $this->forms['simpleBookingFormWithPayment'] = [
- 'name' => esc_html__('Simple booking form with payment', 'kaliforms'),
- 'description' => esc_html__('Use our date picker to book certain dates in a calendar. Dates are disabled automatically based on previous submissions.', 'kaliforms'),
- 'pro' => true,
- 'premium' => true,
- 'class' => 'PredefinedForms\Simple_Booking_Form_With_Payment',
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/simple-booking-form-with-payment.jpg',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Simple_Booking_Form_With_Payment') ? new PredefinedForms\Simple_Booking_Form_With_Payment() : null,
- 'demo' => 'https://kaliforms.dev/simple-booking-form-with-payment/',
- ];
- $this->forms['packageDeliveryRequestForm'] = [
- 'name' => esc_html__('Package delivery request', 'kaliforms'),
- 'description' => esc_html__('A simple form to fill up some details to pick up a package from a certain location.', 'kaliforms'),
- 'pro' => true,
- 'premium' => true,
- 'class' => 'PredefinedForms\Package_Delivery_Request_Form',
- 'thumb' => KALIFORMS_URL . '/assets/img/predefined-forms/package-delivery-request-form.jpg',
- 'instance' => $full && class_exists('KaliForms\Inc\Backend\PredefinedForms\Package_Delivery_Request_Form') ? new PredefinedForms\Package_Delivery_Request_Form() : null,
- 'demo' => 'https://kaliforms.dev/package-delivery-request-form/',
- ];
- $this->forms = apply_filters($this->slug . '_predefined_forms', $this->forms);
- }
- }