From 853229c1ffae749c3738fcd468eb1a47058c7253 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20Garc=C3=ADa?= <lucas@codeccoop.org> Date: Fri, 19 Jan 2024 14:06:41 +0100 Subject: [PATCH] feat: rename plugin --- includes/attachments.php | 22 ++++---- includes/fields-population.php | 8 +-- includes/fields/iban/Addon.php | 6 +-- includes/fields/iban/Field.php | 2 +- includes/fields/iban/index.php | 8 +-- includes/options-page.php | 64 ++++++++++++------------ includes/submissions.php | 26 +++++----- includes/webhooks.php | 26 +++++----- wpct-crm-forms.php => wpct-erp-forms.php | 5 +- 9 files changed, 83 insertions(+), 84 deletions(-) rename wpct-crm-forms.php => wpct-erp-forms.php (85%) diff --git a/includes/attachments.php b/includes/attachments.php index 7541f33..2371e89 100644 --- a/includes/attachments.php +++ b/includes/attachments.php @@ -3,12 +3,12 @@ /** * Store uploads on a custom folder under a custom endpoint */ -add_filter('gform_upload_path', 'wpct_crm_forms_upload_path', 90, 2); -function wpct_crm_forms_upload_path($path_info, $form_id) +add_filter('gform_upload_path', 'wpct_erp_forms_upload_path', 90, 2); +function wpct_erp_forms_upload_path($path_info, $form_id) { $upload_dir = wp_upload_dir(); - $base_path = apply_filters('wpct_crm_forms_upload_path', $upload_dir['basedir'] . '/crm-forms'); - if (!($base_path && is_string($base_path))) throw new Exception('WPCT CRM Forms: Invalid upload path'); + $base_path = apply_filters('wpct_erp_forms_upload_path', $upload_dir['basedir'] . '/erp-forms'); + if (!($base_path && is_string($base_path))) throw new Exception('WPCT ERP Forms: Invalid upload path'); $base_path = preg_replace('/\/$/', '', $base_path); $path = $base_path . '/' . implode('/', [$form_id, date('Y'), date('m')]); @@ -16,7 +16,7 @@ function wpct_crm_forms_upload_path($path_info, $form_id) $path_info['path'] = $path; $url = get_site_url() . '/index.php?'; - $url .= 'crm-forms-attachment=' . urlencode(str_replace($base_path, '', $path) . '/'); + $url .= 'erp-forms-attachment=' . urlencode(str_replace($base_path, '', $path) . '/'); $path_info['url'] = $url; return $path_info; @@ -25,16 +25,16 @@ function wpct_crm_forms_upload_path($path_info, $form_id) /* * Attachments delivery handler */ -add_action('init', 'wpct_crm_forms_download_file'); -function wpct_crm_forms_download_file() +add_action('init', 'wpct_erp_forms_download_file'); +function wpct_erp_forms_download_file() { - if (!isset($_GET['crm-forms-attachment'])) return; + if (!isset($_GET['erp-forms-attachment'])) return; $upload_dir = wp_upload_dir(); - $base_path = apply_filters('wpct_crm_forms_upload_path', $upload_dir['basedir'] . '/crm-forms'); - if (!($base_path && is_string($base_path))) throw new Exception('WPCT CRM Forms: Invalid upload path'); + $base_path = apply_filters('wpct_erp_forms_upload_path', $upload_dir['basedir'] . '/erp-forms'); + if (!($base_path && is_string($base_path))) throw new Exception('WPCT ERP Forms: Invalid upload path'); $base_path = preg_replace('/\/$/', '', $base_path); - $path = $base_path . urldecode($_GET['crm-forms-attachment']); + $path = $base_path . urldecode($_GET['erp-forms-attachment']); if (!(is_user_logged_in() && file_exists($path))) { global $wp_query; diff --git a/includes/fields-population.php b/includes/fields-population.php index ebd329d..bee51fe 100644 --- a/includes/fields-population.php +++ b/includes/fields-population.php @@ -8,11 +8,11 @@ /* return wpct_forms_ce_option_getter('wpct_forms_ce_general', 'coord_id'); */ /* } */ -add_filter('gform_field_value_current_lang', 'wpct_crm_forms_populate_current_lang'); -function wpct_crm_forms_populate_current_lang($value) +add_filter('gform_field_value_current_lang', 'wpct_erp_forms_populate_current_lang'); +function wpct_erp_forms_populate_current_lang($value) { if ($value) { - $locale = wpct_crm_forms_format_current_lang($value); + $locale = wpct_erp_forms_format_current_lang($value); } else { $language = apply_filters('wpml_post_language_details', null); @@ -26,7 +26,7 @@ function wpct_crm_forms_populate_current_lang($value) return $locale; } -function wpct_crm_forms_format_current_lang($code) +function wpct_erp_forms_format_current_lang($code) { $languages = apply_filters('wpml_active_languages', null); if ($languages && !is_wp_error($languages) && isset($languages[$code])) { diff --git a/includes/fields/iban/Addon.php b/includes/fields/iban/Addon.php index 41823e1..885ce0b 100644 --- a/includes/fields/iban/Addon.php +++ b/includes/fields/iban/Addon.php @@ -1,6 +1,6 @@ <?php -namespace WPCT_CRM_FORMS\IBAN_Field; +namespace WPCT_ERP_FORMS\IBAN_Field; use GFForms; use GFAddOn; @@ -10,8 +10,8 @@ GFForms::include_addon_framework(); class Addon extends GFAddOn { - protected $_version = WPCT_CRM_FORMS_IBAN_FIELD; - protected $_slug = 'wpct-crm-forms-iban-field'; + protected $_version = WPCT_ERP_FORMS_IBAN_FIELD; + protected $_slug = 'wpct-erp-forms-iban-field'; protected $_title = 'Gravity Forms IBAN validated text field'; protected $_short_title = 'IBAN field'; diff --git a/includes/fields/iban/Field.php b/includes/fields/iban/Field.php index 2346279..2685c87 100644 --- a/includes/fields/iban/Field.php +++ b/includes/fields/iban/Field.php @@ -1,6 +1,6 @@ <?php -namespace WPCT_CRM_FORMS\IBAN_Field; +namespace WPCT_ERP_FORMS\IBAN_Field; use Exception; use GF_Field; diff --git a/includes/fields/iban/index.php b/includes/fields/iban/index.php index e948e62..f4bcf9d 100644 --- a/includes/fields/iban/index.php +++ b/includes/fields/iban/index.php @@ -4,14 +4,14 @@ if (!defined('ABSPATH')) { exit; } -define('WPCT_CRM_FORMS_IBAN_FIELD', '1.0'); -add_action('gform_loaded', 'wpct_crm_forms_load_iban_field', 5); -function wpct_crm_forms_load_iban_field() +define('wpct_erp_FORMS_IBAN_FIELD', '1.0'); +add_action('gform_loaded', 'wpct_erp_forms_load_iban_field', 5); +function wpct_erp_forms_load_iban_field() { if (!method_exists('GFForms', 'include_addon_framework')) return; require_once 'Addon.php'; require_once 'Field.php'; - GFAddOn::register(\WPCT_CRM_FORMS\IBAN_Field\Addon::class); + GFAddOn::register(\wpct_erp_FORMS\IBAN_Field\Addon::class); } diff --git a/includes/options-page.php b/includes/options-page.php index 5665b6d..a74816a 100644 --- a/includes/options-page.php +++ b/includes/options-page.php @@ -3,28 +3,28 @@ /** * Define menu page. */ -add_action('admin_menu', 'wpct_crm_forms_add_admin_menu'); -function wpct_crm_forms_add_admin_menu() +add_action('admin_menu', 'wpct_erp_forms_add_admin_menu'); +function wpct_erp_forms_add_admin_menu() { add_options_page( - 'WPCT CRM Forms', - 'WPCT CRM Forms', + 'WPCT ERP Forms', + 'WPCT ERP Forms', 'manage_options', - 'wpct_crm_forms', - 'wpct_crm_forms_render' + 'wpct_erp_forms', + 'wpct_erp_forms_render' ); } /** * Paint the settings page */ -function wpct_crm_forms_render() +function wpct_erp_forms_render() { echo '<div class="wrap">'; - echo '<h1>WPCT CE Forms</h1>'; + echo '<h1>WPCT ERP Forms</h1>'; echo '<form action="options.php" method="post">'; - settings_fields('wpct_crm_forms'); - do_settings_sections('wpct_crm_forms'); + settings_fields('wpct_erp_forms'); + do_settings_sections('wpct_erp_forms'); submit_button(); echo '</form>'; echo '</div>'; @@ -33,15 +33,15 @@ function wpct_crm_forms_render() /** * Define settings. */ -add_action('admin_init', 'wpct_crm_forms_init_settings', 50); -function wpct_crm_forms_init_settings() +add_action('admin_init', 'wpct_erp_forms_init_settings', 50); +function wpct_erp_forms_init_settings() { register_setting( - 'wpct_crm_forms', - 'wpct_crm_forms_general', + 'wpct_erp_forms', + 'wpct_erp_forms_general', array( 'type' => 'array', - 'description' => __('Configuració global dels formularis', 'wpct-crm-forms'), + 'description' => __('Configuració global dels formularis', 'wpct-erp-forms'), 'show_in_rest' => false, 'default' => array( 'coord_id' => 0, @@ -52,42 +52,42 @@ function wpct_crm_forms_init_settings() // Secció general add_settings_section( - 'wpct_crm_forms_general_section', - __('Global', 'wpct-crm-forms'), - 'wpct_crm_forms_general_section_render', - 'wpct_crm_forms' + 'wpct_erp_forms_general_section', + __('Global', 'wpct-erp-forms'), + 'wpct_erp_forms_general_section_render', + 'wpct_erp_forms' ); add_settings_field( 'notification_receiver', - __('Error notification receiver', 'wpct-crm-forms'), - fn () => wpct_crm_forms_option_render('notification_receiver'), - 'wpct_crm_forms', - 'wpct_crm_forms_general_section' + __('Error notification receiver', 'wpct-erp-forms'), + fn () => wpct_erp_forms_option_render('notification_receiver'), + 'wpct_erp_forms', + 'wpct_erp_forms_general_section' ); add_settings_field( 'coord_id', - __('ID de la coordinadora', 'wpct-crm-forms'), - fn () => wpct_crm_forms_option_render('coord_id'), - 'wpct_crm_forms', - 'wpct_crm_forms_general_section' + __('ID de la coordinadora', 'wpct-erp-forms'), + fn () => wpct_erp_forms_option_render('coord_id'), + 'wpct_erp_forms', + 'wpct_erp_forms_general_section' ); } -function wpct_crm_forms_option_getter($group, $option) +function wpct_erp_forms_option_getter($group, $option) { $options = get_option($group) ? get_option($group) : []; return key_exists($option, $options) ? $options[$option] : ''; } -function wpct_crm_forms_option_render($option) +function wpct_erp_forms_option_render($option) { - echo '<input type="text" name="wpct_crm_forms_general[' . $option . ']" value="' . wpct_crm_forms_option_getter('wpct_crm_forms_general', $option) . '">'; + echo '<input type="text" name="wpct_erp_forms_general[' . $option . ']" value="' . wpct_erp_forms_option_getter('wpct_erp_forms_general', $option) . '">'; } /** * Callbacks for the settings sections */ -function wpct_crm_forms_general_section_render() +function wpct_erp_forms_general_section_render() { - echo __('General settings', 'wpct-crm-forms'); + echo __('General settings', 'wpct-erp-forms'); } diff --git a/includes/submissions.php b/includes/submissions.php index 61e7b72..5e9c5ac 100644 --- a/includes/submissions.php +++ b/includes/submissions.php @@ -3,7 +3,7 @@ /** * Gent gform entry and form objects and parse it to a form values array */ -function wpct_crm_forms_parse_form_entry($entry, $form) +function wpct_erp_forms_parse_form_entry($entry, $form) { $form_vals = [ 'entry_id' => $entry['id'] @@ -37,7 +37,7 @@ function wpct_crm_forms_parse_form_entry($entry, $form) foreach ($inputs as $input) { $value = rgar($entry, (string) $input['id']); if ($input_name && $value) { - $value = wpct_crm_forms_format_value($value, $field, $input); + $value = wpct_erp_forms_format_value($value, $field, $input); if ($value !== null) $values[] = $value; } } @@ -48,7 +48,7 @@ function wpct_crm_forms_parse_form_entry($entry, $form) // simple fields if ($input_name) { $raw_value = rgar($entry, (string) $field->id); - $form_vals[$input_name] = wpct_crm_forms_format_value($raw_value, $field); + $form_vals[$input_name] = wpct_erp_forms_format_value($raw_value, $field); } } } @@ -56,7 +56,7 @@ function wpct_crm_forms_parse_form_entry($entry, $form) return $form_vals; } -function wpct_crm_forms_format_value($value, $field, $input = null) +function wpct_erp_forms_format_value($value, $field, $input = null) { try { if ($field->type === 'fileupload' && $value && is_string($value)) { @@ -72,10 +72,10 @@ function wpct_crm_forms_format_value($value, $field, $input = null) return $value; } -function wpct_crm_forms_add_cord_id($form_values) +function wpct_erp_forms_add_cord_id($form_values) { if (!isset($form_values['company_id']) || !$form_values['company_id']) { - $form_values['company_id'] = wpct_crm_forms_option_getter('wpct_crm_forms_general', 'coord_id'); + $form_values['company_id'] = wpct_erp_forms_option_getter('wpct_erp_forms_general', 'coord_id'); } return $form_values; @@ -84,7 +84,7 @@ function wpct_crm_forms_add_cord_id($form_values) /** * Remove empty fields from form submission */ -function wpct_crm_forms_cleanup_empties($form_vals) +function wpct_erp_forms_cleanup_empties($form_vals) { foreach ($form_vals as $key => $val) { if (empty($val)) { @@ -99,7 +99,7 @@ function wpct_crm_forms_cleanup_empties($form_vals) /** * Transform form submission array into a payload data structure */ -function wpct_crm_forms_get_submission_payload($form_vals) +function wpct_erp_forms_get_submission_payload($form_vals) { $payload = [ 'name' => $form_vals['source_xml_id'] . ' submission: ' . $form_vals['entry_id'], @@ -128,10 +128,10 @@ function wpct_crm_forms_get_submission_payload($form_vals) /** * Pipe form submission transformations to get the submission post payload */ -add_filter('wpct_crm_forms_prepare_submission', 'wpct_crm_forms_prepare_submission', 10, 2); -function wpct_crm_forms_prepare_submission($form_vals) +add_filter('wpct_erp_forms_prepare_submission', 'wpct_erp_forms_prepare_submission', 10, 2); +function wpct_erp_forms_prepare_submission($form_vals) { - $form_vals = wpct_crm_forms_add_cord_id($form_vals); - $form_vals = wpct_crm_forms_cleanup_empties($form_vals); - return wpct_crm_forms_get_submission_payload($form_vals); + $form_vals = wpct_erp_forms_add_cord_id($form_vals); + $form_vals = wpct_erp_forms_cleanup_empties($form_vals); + return wpct_erp_forms_get_submission_payload($form_vals); } diff --git a/includes/webhooks.php b/includes/webhooks.php index e8800d7..620128a 100644 --- a/includes/webhooks.php +++ b/includes/webhooks.php @@ -1,19 +1,19 @@ <?php -add_action('gform_after_submission', 'wpct_crm_forms_api_submissions', 10, 2); -function wpct_crm_forms_api_submissions($entry, $form) +add_action('gform_after_submission', 'wpct_erp_forms_api_submissions', 10, 2); +function wpct_erp_forms_api_submissions($entry, $form) { - $form_vals = wpct_crm_forms_parse_form_entry($entry, $form); + $form_vals = wpct_erp_forms_parse_form_entry($entry, $form); - // Exit submission if form isn't bound to Odoo - if (!isset($form_vals['source_xml_id'])) return; + // Exit submission if form isn't bound to Odoo + if (!isset($form_vals['source_xml_id'])) return; - $submission_payload = apply_filters('wpct_crm_forms_prepare_submission', $form_vals); + $submission_payload = apply_filters('wpct_erp_forms_prepare_submission', $form_vals); - $response = wpct_oc_post_odoo('/api/private/crm-lead', $submission_payload); - if (!$response) { - $to = wpct_crm_forms_option_getter('wpct_crm_forms_general', 'notification_receiver'); - $subject = 'Odoo subscription request submission error: Form(' . $form['id'] . ') Entry (' . $entry['id'] . ')'; - $body = 'Submission subscription request for entry: ' . $entry['id'] . ' failed.<br/>Form id: ' . $form['id'] . "<br/>Form title: " . $form['title']; - wp_mail($to, $subject, $body); - } + $response = wpct_oc_post_odoo('/api/private/crm-lead', $submission_payload); + if (!$response) { + $to = wpct_erp_forms_option_getter('wpct_erp_forms_general', 'notification_receiver'); + $subject = 'Odoo subscription request submission error: Form(' . $form['id'] . ') Entry (' . $entry['id'] . ')'; + $body = 'Submission subscription request for entry: ' . $entry['id'] . ' failed.<br/>Form id: ' . $form['id'] . "<br/>Form title: " . $form['title']; + wp_mail($to, $subject, $body); + } } diff --git a/wpct-crm-forms.php b/wpct-erp-forms.php similarity index 85% rename from wpct-crm-forms.php rename to wpct-erp-forms.php index 9dbeefa..0c71526 100755 --- a/wpct-crm-forms.php +++ b/wpct-erp-forms.php @@ -6,11 +6,11 @@ * Description: Plugin to wire gravity forms submissions with Odoo CRM Leads module * Author: Còdec Cooperativa * Author URI: https://www.codeccoop.org - * Text Domain: wpct-crm-forms + * Text Domain: wpct-erp-forms * Domain Path: /languages * Version: 1.0.3 * - * @package WPCT_CRM_Forms + * @package WPCT_ERP_Forms */ /* Options Page */ @@ -29,7 +29,6 @@ require_once "includes/fields/iban/index.php"; /* Dependencies */ add_filter('wpct_dependencies_check', function ($dependencies) { - $dependencies['Gravity Forms'] = '<a href="https://www.gravityforms.com/">Gravity Forms</a>'; $dependencies['Wpct Odoo Connect'] = '<a href="https://git.coopdevs.org/coopdevs/website/wp/wp-plugins/wpct-odoo-connect">Wpct Odoo Connect</a>'; return $dependencies; }); -- GitLab