Skip to content
Snippets Groups Projects
Commit d957a4ff authored by Lucas García's avatar Lucas García
Browse files

feat: dropdown form id select

parent af931aa3
No related branches found
No related tags found
No related merge requests found
......@@ -15,4 +15,34 @@ class Settings extends Abstract\Settings
$this->register_field('endpoints', $setting_name);
}
public function input_render($setting, $field, $value)
{
if (preg_match('/^endpoints.*form_id$/', $field)) {
return $this->render_forms_dropdown($setting, $field, $value);
}
return parent::input_render($setting, $field, $value);
}
private function render_forms_dropdown($setting, $field, $value)
{
$forms = $this->get_forms();
$options = array_map(function ($form) use ($value) {
$selected = $form->id == $value ? 'selected' : '';
return "<option value='{$form->id}' {$selected}>{$form->title}</option>";
}, $forms);
return "<select name='{$setting}[{$field}]'>" . implode('', $options) . '</select>';
}
private function get_forms()
{
global $wpdb;
if (apply_filters('wpct_dc_is_plugin_active', false, 'contact-form-7/wp-contact-form-7.php')) {
return $wpdb->get_results("SELECT id, post_title title FROM wp_posts WHERE post_status = 'publish'");
} elseif (apply_filters('wpct_dc_is_plugin_active', false, 'gravityforms/gravityforms.php')) {
return $wpdb->get_results("SELECT id, title FROM wp_gf_form WHERE is_active = TRUE");
}
}
}
......@@ -36,9 +36,6 @@ require_once 'includes/class-settings.php';
require_once 'custom-blocks/form/form.php';
require_once 'custom-blocks/form-control/form-control.php';
require_once 'includes/fields/gf/iban/class-field-adapter.php';
require_once 'includes/fields/gf/vat-id/class-field-adapter.php';
class Wpct_Erp_Forms extends Abstract\Plugin
{
private $_integrations = [];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment