File manager - Edit - /home/palg2351/public_html/wp-content/plugins/bit-integrations/includes/Triggers/WPF/WPFController.php
Back
<?php namespace BitCode\FI\Triggers\WPF; use BitCode\FI\Flow\Flow; use BitCode\FI\Core\Util\DateTimeHelper; final class WPFController { public function __construct() { // } public static function info() { $plugin_path = 'wpforms-lite/wpforms.php'; return [ 'name' => 'WPForms', 'title' => __('Contact Form by WPForms - Drag & Drop Form Builder for WordPress', 'bit-integrations'), 'slug' => $plugin_path, 'pro' => 'wpforms/wpforms.php', 'type' => 'form', 'is_active' => \function_exists('WPForms'), 'activation_url' => wp_nonce_url(self_admin_url('plugins.php?action=activate&plugin=' . $plugin_path . '&plugin_status=all&paged=1&s'), 'activate-plugin_' . $plugin_path), 'install_url' => wp_nonce_url(self_admin_url('update.php?action=install-plugin&plugin=' . $plugin_path), 'install-plugin_' . $plugin_path), 'list' => [ 'action' => 'wpf/get', 'method' => 'get', ], 'fields' => [ 'action' => 'wpf/get/form', 'method' => 'post', 'data' => ['id'] ], 'isPro' => false ]; } public static function isExists() { return ! (!\function_exists('WPForms')) ; } public function getAll() { if (!\function_exists('WPForms')) { wp_send_json_error(wp_sprintf(__('%s is not installed or activated.', 'bit-integrations'), 'WPForms')); } $forms = WPForms()->form->get(); $all_forms = []; if ($forms) { foreach ($forms as $form) { $all_forms[] = (object) [ 'id' => $form->ID, 'title' => $form->post_title, ]; } } wp_send_json_success($all_forms); } public function get_a_form($data) { if (!\function_exists('WPForms')) { wp_send_json_error(wp_sprintf(__('%s is not installed or activated.', 'bit-integrations'), 'WPForms')); } if (empty($data->id)) { wp_send_json_error(__('Form doesn\'t exists', 'bit-integrations')); } $fields = self::fields($data->id); if (empty($fields)) { wp_send_json_error(__('Form doesn\'t exists any field', 'bit-integrations')); } $responseData['fields'] = $fields; wp_send_json_success($responseData); } public static function fields($form_id) { if (!self::isExists()) { return []; } $form = wpforms()->form->get($form_id, ['content_only' => true]); $fieldDetails = $form['fields']; if (empty($fieldDetails)) { return $fieldDetails; } $fields = []; $fieldToExclude = ['divider', 'html', 'address', 'page-break', 'pagebreak', 'payment-single', 'payment-multiple', 'payment-checkbox', 'payment-dropdown', 'payment-credit-card', 'payment-total']; foreach ($fieldDetails as $id => $field) { if (\in_array($field['type'], $fieldToExclude)) { continue; } if ($field['type'] == 'name' && $field['format'] != 'simple') { if ($field['format'] == 'first-last') { $names = ['first' => 'First', 'last' => 'Last']; } else { $names = ['first' => 'First', 'last' => 'Last', 'middle' => 'Middle']; } foreach ($names as $key => $value) { $fields[] = [ 'name' => "{$id}:{$key}", 'type' => 'text', 'label' => "{$value} " . $field['label'], ]; } } elseif ($field['type'] == 'address' && $field['format'] != 'simple') { $address = ['address1' => 'Address1', 'address2' => 'Address2', 'city' => 'City', 'state' => 'State', 'postal' => 'Zip Code']; foreach ($address as $key => $value) { $fields[] = [ 'name' => "{$id}=>{$key}", 'type' => 'text', 'label' => "{$value}", ]; } } else { $fields[] = [ 'name' => $id, 'type' => $field['type'] === 'file-upload' ? 'file' : $field['type'], 'separator' => isset($field['multiple']) && $field['multiple'] == 1 || \in_array($field['type'], ['checkbox', 'file-upload']) ? "\n" : '', 'label' => $field['label'], ]; } } return $fields; } public static function wpforms_process_complete($fields, $entry, $form_data, $entry_id) { $form_id = $form_data['id']; if (!empty($form_id)) { $data = []; if (isset($entry['post_id'])) { $data['post_id'] = $entry['post_id']; } $dateTimeHelper = new DateTimeHelper(); foreach ($fields as $fldDetail) { if ($fldDetail['type'] == 'name') { $data[$fldDetail['id']] = $fldDetail['value']; $data[$fldDetail['id'] . ':first'] = $fldDetail['first']; $data[$fldDetail['id'] . ':last'] = $fldDetail['last']; $data[$fldDetail['id'] . ':middle'] = $fldDetail['middle']; } elseif ($fldDetail['type'] == 'date-time') { $data[$fldDetail['id']] = $fldDetail['value']; // if (!is_null($fldDetail['time'])) { // $date_format = $form_data['fields'][$fldDetail['id']]['date_format'] . " " . $form_data['fields'][$fldDetail['id']]['time_format']; // } else { // $date_format = $form_data['fields'][$fldDetail['id']]['date_format']; // } // $data[$fldDetail['id']] = $dateTimeHelper->getFormated($fldDetail['value'], $date_format, wp_timezone(), 'Y-m-d\TH:i', null); } elseif ($fldDetail['type'] == 'file-upload') { $data[$fldDetail['id']] = self::setFiles($fldDetail['value_raw']); } else { $data[$fldDetail['id']] = $fldDetail['value']; } } if ($flows = Flow::exists('WPF', $form_id)) { Flow::execute('WPF', $form_id, $data, $flows); } } } private static function setFiles($files) { if (empty($files) || !\is_array($files)) { return []; } $allFiles = []; foreach ($files as $file) { $allFiles[] = $file['value']; } return $allFiles; } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0.07 |
proxy
|
phpinfo
|
Settings