Jake Vanderwerf
2026-02-04 2127b1bdd73ecd2423e443992da4b442f5a3c1a3
inc/integrations/Square.php
@@ -1,8 +1,8 @@
<?php
namespace JVBase\integrations;
use JVBase\meta\MetaForm;
use JVBase\meta\MetaManager;
use JVBase\meta\Form;
use JVBase\meta\Meta;
use Exception;
use JVBase\registry\PostTypeRegistrar;
use WP_Error;
@@ -857,7 +857,6 @@
      if (is_singular(BASE.'dash') || is_post_type_archive(BASE.'dash')) {
         return $actions;
      }
      $meta = new MetaForm();
      $form = '<aside id="cart" class="right main">
         <form id="checkout" data-form-id="checkout" data-save="checkout">';
@@ -874,33 +873,33 @@
         'description' => 'Securely checkout with your name, email, and payments processed by Square.',
         'content'   => '<div class="checkout-section">
                        <h3>Customer Information</h3>
                        '.$meta->return('cart_name', null, [
                        '.Form::render('cart_name', null, [
                           'type'      => 'text',
                           'label'     => 'Your Name',
                           'required'  => true,
                           'autocomplete' => 'name'
                        ]).
                        $meta->return('cart_email', null, [
                        Form::render('cart_email', null, [
                           'type'      => 'email',
                           'label'     => 'Your Email',
                           'required'  => true,
                           'autocomplete'=> 'email',
                        ]).
                        $meta->return('cart_phone', null, [
                        Form::render('cart_phone', null, [
                           'type'      => 'tel',
                           'label'     => 'Your Phone',
                           'required'  => true,
                           'autocomplete'=> 'phone'
                        ]).'
                        <h3>Pickup Details</h3>'.
                        $meta->return('pickup_time', null, [
                        Form::render('pickup_time', null, [
                           'type'      => 'datetime',
                           'label'     => 'Pickup Type',
                           'min'    => '11:00',
                           'max'    => '20:00',
                           'required'  => true,
                        ]).
                        $meta->return('special_instructions', null, [
                        Form::render('special_instructions', null, [
                           'type'      => 'textarea',
                           'label'     => 'Special Instructions',
                           'quill'     => true,
@@ -1319,7 +1318,7 @@
         return new WP_Error('post_not_found', "Post $postID not found");
      }
      $meta = new MetaManager($postID, 'post');
      $meta = Meta::forPost($postID);
      $post_type = get_post_type($postID);
      // Get existing Square catalog ID if it exists
@@ -1344,10 +1343,10 @@
      }
      // Add variations
      $variations = $meta->getValue('product_variations');
      $variations = $meta->get('product_variations');
      if (empty($variations)) {
         // Create default variation if none exist
         $price = floatval($meta->getValue('price') ?: 0);
         $price = floatval($meta->get('price') ?: 0);
         $catalog_object['item_data']['variations'][] = [
            'type' => 'ITEM_VARIATION',
            'id' => $existing_square_id ? null : '#'.BASE.'menu_item_' . $postID . '_var_default',
@@ -1400,7 +1399,7 @@
      }
      // Add modifiers if they exist
      $modifiers = $meta->getValue('modifiers');
      $modifiers = $meta->get('modifiers');
      if (!empty($modifiers)) {
         $modifier_ids = [];
         foreach ($modifiers as $modifier) {
@@ -1416,7 +1415,7 @@
      }
      // Add tax settings
      $tax_ids = $meta->getValue('tax_ids');
      $tax_ids = $meta->get('tax_ids');
      if (!empty($tax_ids)) {
         $catalog_object['item_data']['tax_ids'] = $tax_ids;
      }
@@ -2008,7 +2007,7 @@
      if ($wp_order_id) {
         // Update the post meta
         $meta = new MetaManager($wp_order_id, 'post');
         $meta = Meta::forPost($wp_order_id);
         $updates = [
            'status' => $state,
            'updated_at' => current_time('mysql')
@@ -2436,7 +2435,7 @@
    */
   private function mapSquareFieldsToWordPress(int $post_id, array $item): void
   {
      $meta = new MetaManager($post_id, 'post');
      $meta = Meta::forPost($post_id);
      $field_map = $this->getFieldMapping(get_post_type($post_id));
      $values_to_save = [];
@@ -2572,7 +2571,7 @@
         update_user_meta($user->ID, BASE . '_square_customer_updated', current_time('mysql'));
         // Clear cached customer data
         $this->cache->delete('square_customer_' . $user->ID);
         $this->cache->forget('square_customer_' . $user->ID);
      }
      return true;
@@ -3589,10 +3588,9 @@
      }
      // Save all order meta
      $meta = new MetaManager($order_post_id, 'post');
      $meta = Meta::forPost($order_post_id);
      $fields = $this->getSquarePostConfig('_sq_orders')['fields'];
      unset($fields['post_title']);
      $meta->setFieldConfig($fields);
      $meta->setAll([
         'square_order_id' => $order_data['square_order_id'],