Changeset 3743350
- Timestamp:
- 10/13/2026 09:11:37 AM (8 days ago)
- Location:
- uptonica-ai-assistant-and-marketing-for-woocommerce
- Files:
-
- 16 added
- 16 edited
- 1 copied
-
tags/1.1.0 (copied) (copied from uptonica-ai-assistant-and-marketing-for-woocommerce/trunk )
-
tags/1.1.0/assets (added)
-
tags/1.1.0/assets/form-block.js (added)
-
tags/1.1.0/assets/forms.js (added)
-
tags/1.1.0/includes/class-uptonica-admin.php (modified) (12 diffs)
-
tags/1.1.0/includes/class-uptonica-blocks.php (added)
-
tags/1.1.0/includes/class-uptonica-connection.php (modified) (7 diffs)
-
tags/1.1.0/includes/class-uptonica-forms.php (added)
-
tags/1.1.0/includes/class-uptonica-queue.php (added)
-
tags/1.1.0/includes/class-uptonica-settings.php (modified) (3 diffs)
-
tags/1.1.0/includes/class-uptonica-users.php (added)
-
tags/1.1.0/languages/uptonica-ai-assistant-and-marketing-for-woocommerce-it_IT-6d26d3b524b008c714714571da256710.json (added)
-
tags/1.1.0/languages/uptonica-ai-assistant-and-marketing-for-woocommerce-it_IT.mo (modified) ( previous)
-
tags/1.1.0/languages/uptonica-ai-assistant-and-marketing-for-woocommerce-it_IT.po (modified) (3 diffs)
-
tags/1.1.0/languages/uptonica-ai-assistant-and-marketing-for-woocommerce.pot (modified) (4 diffs)
-
tags/1.1.0/readme.txt (modified) (3 diffs)
-
tags/1.1.0/uptonica.php (modified) (4 diffs)
-
trunk/assets (added)
-
trunk/assets/form-block.js (added)
-
trunk/assets/forms.js (added)
-
trunk/includes/class-uptonica-admin.php (modified) (12 diffs)
-
trunk/includes/class-uptonica-blocks.php (added)
-
trunk/includes/class-uptonica-connection.php (modified) (7 diffs)
-
trunk/includes/class-uptonica-forms.php (added)
-
trunk/includes/class-uptonica-queue.php (added)
-
trunk/includes/class-uptonica-settings.php (modified) (3 diffs)
-
trunk/includes/class-uptonica-users.php (added)
-
trunk/languages/uptonica-ai-assistant-and-marketing-for-woocommerce-it_IT-6d26d3b524b008c714714571da256710.json (added)
-
trunk/languages/uptonica-ai-assistant-and-marketing-for-woocommerce-it_IT.mo (modified) ( previous)
-
trunk/languages/uptonica-ai-assistant-and-marketing-for-woocommerce-it_IT.po (modified) (3 diffs)
-
trunk/languages/uptonica-ai-assistant-and-marketing-for-woocommerce.pot (modified) (4 diffs)
-
trunk/readme.txt (modified) (3 diffs)
-
trunk/uptonica.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.1.0/includes/class-uptonica-admin.php
r3740886 r3743350 35 35 36 36 /** 37 * Under WooCommerce when it is active, at the top level otherwise (so the 38 * page that says «WooCommerce is required» can still be reached). 37 * Under WooCommerce on a store, at the top level on any other site. 39 38 */ 40 39 public static function menu() { 41 if ( class_exists( 'WooCommerce') ) {40 if ( Uptonica_Settings::has_woocommerce() ) { 42 41 add_submenu_page( 'woocommerce', 'Uptonica', 'Uptonica', 'manage_woocommerce', self::SLUG, array( __CLASS__, 'render' ) ); 43 42 … … 74 73 } 75 74 76 if ( Uptonica_Settings::is_connected() || ! current_user_can( 'manage_woocommerce' ) || ! class_exists( 'WooCommerce') ) {75 if ( Uptonica_Settings::is_connected() || ! current_user_can( Uptonica_Settings::capability() ) ) { 77 76 return; 78 77 } … … 82 81 esc_html__( 'Uptonica is installed but not connected yet.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), 83 82 esc_url( Uptonica_Connection::page_url() ), 84 esc_html__( 'Connect your s tore', 'uptonica-ai-assistant-and-marketing-for-woocommerce' )85 ); 86 } 87 88 /** 89 * Save the twoswitches.83 esc_html__( 'Connect your site', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) 84 ); 85 } 86 87 /** 88 * Save the switches. 90 89 */ 91 90 public static function save() { 92 if ( ! current_user_can( 'manage_woocommerce') ) {91 if ( ! current_user_can( Uptonica_Settings::capability() ) ) { 93 92 wp_die( esc_html__( 'You are not allowed to manage this connection.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), '', array( 'response' => 403 ) ); 94 93 } … … 100 99 'site_tag_on' => ! empty( $_POST['site_tag_on'] ), 101 100 'purchases_on' => ! empty( $_POST['purchases_on'] ), 101 'forms_on' => ! empty( $_POST['forms_on'] ), 102 'users_on' => ! empty( $_POST['users_on'] ), 102 103 ) 103 104 ); … … 115 116 private static function notice( $code ) { 116 117 $notices = array( 117 'connected' => array( 'success', __( 'Your s tore is connected to Uptonica.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),118 'disconnected' => array( 'success', __( 'Your s tore is disconnected. Uptonica can no longer read it.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),118 'connected' => array( 'success', __( 'Your site is connected to Uptonica.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ), 119 'disconnected' => array( 'success', __( 'Your site is disconnected from Uptonica.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ), 119 120 'saved' => array( 'success', __( 'Settings saved.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ), 120 121 'cancelled' => array( 'warning', __( 'The connection was cancelled. Nothing was changed.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ), 121 122 'expired' => array( 'error', __( 'This connection attempt expired or was started from another browser. Click Connect again.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ), 122 'exchange_failed' => array( 'error', __( ' WooCommerce approved the connection, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),123 'exchange_failed' => array( 'error', __( 'The connection was approved, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ), 123 124 ); 124 125 … … 133 134 $connected = Uptonica_Settings::is_connected(); 134 135 $site_tag = Uptonica_Settings::site_tag(); 136 $woo = Uptonica_Settings::has_woocommerce(); 135 137 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- display only. 136 138 $notice = isset( $_GET['uptonica_notice'] ) ? self::notice( sanitize_key( wp_unslash( $_GET['uptonica_notice'] ) ) ) : null; … … 143 145 <?php endif; ?> 144 146 145 <?php if ( ! class_exists( 'WooCommerce' ) ) : ?>146 <p><?php esc_html_e( 'Uptonica needs WooCommerce. Install and activate WooCommerce, then come back here to connect your store.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p>147 <?php return; ?>148 <?php endif; ?>149 150 147 <?php if ( ! $connected ) : ?> 151 148 <p style="max-width:42rem"> 152 <?php esc_html_e( 'Connect your store to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 149 <?php if ( $woo ) : ?> 150 <?php esc_html_e( 'Connect your store to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 151 <?php else : ?> 152 <?php esc_html_e( 'Connect your site to Uptonica: what people send through your forms becomes contacts in your CRM, and you can add the AI assistant and Uptonica forms and popups to your pages.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 153 <?php endif; ?> 153 154 </p> 154 155 <p style="max-width:42rem"> 155 <?php esc_html_e( 'You will sign in to Uptonica (or create an account), choose the workspace, then approve access on a WooCommerce screen. It takes a minute.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 156 <?php if ( $woo ) : ?> 157 <?php esc_html_e( 'You will sign in to Uptonica (or create an account), choose the workspace, then approve access on a WooCommerce screen. It takes a minute.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 158 <?php else : ?> 159 <?php esc_html_e( 'You will sign in to Uptonica (or create an account) and choose the workspace. It takes a minute.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 160 <?php endif; ?> 156 161 </p> 157 162 <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>"> … … 160 165 <?php submit_button( __( 'Connect to Uptonica', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), 'primary', 'submit', false ); ?> 161 166 </form> 162 <?php if ( ! is_ssl() ) : ?>167 <?php if ( $woo && ! is_ssl() ) : ?> 163 168 <p class="description"><?php esc_html_e( 'Your site is not served over https. WooCommerce may refuse to approve the connection until it is.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p> 164 169 <?php endif; ?> … … 176 181 <p class="description"> 177 182 <?php 178 /* translators: %s: date the s tore was connected. */183 /* translators: %s: date the site was connected. */ 179 184 printf( esc_html__( 'Connected on %s.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), esc_html( wp_date( get_option( 'date_format' ), (int) $settings['connected_at'] ) ) ); 180 185 ?> … … 194 199 <label> 195 200 <input type="checkbox" name="site_tag_on" value="1" <?php checked( $settings['site_tag_on'] ); ?>> 196 <?php esc_html_e( 'Add the Uptonica code to every page of the shop', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>201 <?php esc_html_e( 'Add the Uptonica code to every page', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 197 202 </label> 198 203 <p class="description"> … … 208 213 </tr> 209 214 <tr> 210 <th scope="row"><?php esc_html_e( 'Purchases', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></th> 215 <th scope="row"><?php esc_html_e( 'Forms', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></th> 216 <td> 217 <?php if ( '' === Uptonica_Forms::intake_url() ) : ?> 218 <p class="description"><?php esc_html_e( 'Disconnect and connect again to send your forms to Uptonica: this connection was made by an earlier version of the plugin.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p> 219 <?php else : ?> 220 <label> 221 <input type="checkbox" name="forms_on" value="1" <?php checked( $settings['forms_on'] ); ?>> 222 <?php esc_html_e( 'Send what people submit through your forms to Uptonica', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 223 </label> 224 <p class="description"> 225 <?php 226 $found = Uptonica_Forms::detected(); 227 if ( $found ) { 228 /* translators: %s: names of the form plugins found on the site. */ 229 printf( esc_html__( 'Found on this site: %s.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), esc_html( implode( ', ', $found ) ) ); 230 } else { 231 esc_html_e( 'Works with Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro forms. None is active on this site yet.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); 232 } 233 ?> 234 <?php esc_html_e( 'Each submission with an email becomes a contact in your CRM. It reaches Meta as a lead only when the visitor accepted marketing cookies.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 235 <?php if ( ! empty( $settings['urls']['lead_sources'] ) ) : ?> 236 <a href="<?php echo esc_url( $settings['urls']['lead_sources'] ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'See them in Uptonica', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></a> 237 <?php endif; ?> 238 </p> 239 <p class="description"> 240 <?php esc_html_e( 'To show an Uptonica form or popup in a page, add the «Uptonica form» block, or the shortcode [uptonica_form id="…"].', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 241 </p> 242 <?php endif; ?> 243 </td> 244 </tr> 245 <tr> 246 <th scope="row"><?php esc_html_e( 'Registrations', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></th> 211 247 <td> 212 248 <label> 213 <input type="checkbox" name=" purchases_on" value="1" <?php checked( $settings['purchases_on']); ?>>214 <?php esc_html_e( ' Send purchases to Uptonica from the server', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>249 <input type="checkbox" name="users_on" value="1" <?php checked( $settings['users_on'] ); ?> <?php disabled( '' === Uptonica_Forms::intake_url() ); ?>> 250 <?php esc_html_e( 'Add people who register on this site to your CRM', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 215 251 </label> 216 252 <p class="description"> 217 <?php esc_html_e( ' A purchase is counted even when the shopper never reaches the thank-you page or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>253 <?php esc_html_e( 'They become contacts, without marketing consent: a registration is not a request to receive emails.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 218 254 </p> 219 255 </td> 220 256 </tr> 257 <?php if ( $woo ) : ?> 258 <tr> 259 <th scope="row"><?php esc_html_e( 'Purchases', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></th> 260 <td> 261 <label> 262 <input type="checkbox" name="purchases_on" value="1" <?php checked( $settings['purchases_on'] ); ?>> 263 <?php esc_html_e( 'Send purchases to Uptonica from the server', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 264 </label> 265 <p class="description"> 266 <?php esc_html_e( 'A purchase is counted even when the shopper never reaches the thank-you page or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 267 </p> 268 </td> 269 </tr> 270 <?php else : ?> 271 <input type="hidden" name="purchases_on" value="<?php echo $settings['purchases_on'] ? '1' : ''; ?>"> 272 <?php endif; ?> 221 273 </table> 222 274 <?php submit_button(); ?> … … 225 277 <hr> 226 278 <h2><?php esc_html_e( 'Disconnect', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></h2> 227 <p style="max-width:42rem"><?php esc_html_e( 'Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p> 228 <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>" onsubmit="return window.confirm(this.dataset.confirm);" data-confirm="<?php esc_attr_e( 'Disconnect this store from Uptonica?', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>"> 279 <p style="max-width:42rem"> 280 <?php if ( $woo ) : ?> 281 <?php esc_html_e( 'Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages. Forms stop being sent.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 282 <?php else : ?> 283 <?php esc_html_e( 'Removes the Uptonica code and forms from your pages, and forms stop being sent.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 284 <?php endif; ?> 285 </p> 286 <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>" onsubmit="return window.confirm(this.dataset.confirm);" data-confirm="<?php esc_attr_e( 'Disconnect this site from Uptonica?', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>"> 229 287 <input type="hidden" name="action" value="uptonica_disconnect"> 230 288 <?php wp_nonce_field( 'uptonica_disconnect' ); ?> -
uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.1.0/includes/class-uptonica-connection.php
r3740886 r3743350 11 11 * The connect flow. 12 12 * 13 * 1. «Connect» sends the merchant to Uptonica with this site's address, the 14 * address of this admin page and a one-time state value. 15 * 2. Uptonica asks which workspace, then runs WooCommerce's own approval 16 * screen (`/wc-auth/v1/authorize`), which hands Uptonica an API key. 17 * 3. The merchant comes back here with a single-use code, which this plugin 18 * trades server to server for the workspace name and the public site tag 19 * credentials. 13 * 1. «Connect» sends the site owner to Uptonica with this site's address, 14 * the address of this admin page, a one-time state value and whether 15 * WooCommerce runs here. 16 * 2. Uptonica asks which workspace. On a WooCommerce store it then runs 17 * WooCommerce's own approval screen (`/wc-auth/v1/authorize`), which 18 * hands Uptonica an API key; any other site skips that step. 19 * 3. The owner comes back here with a single-use code, which this plugin 20 * trades server to server for the workspace name, the public site tag 21 * credentials and the key of the site's lead source. 20 22 * 21 * The API key never passes through this plugin: WooCommerce sends it to22 * Uptonica directly.23 * The WooCommerce API key never passes through this plugin: WooCommerce 24 * sends it to Uptonica directly. 23 25 */ 24 26 class Uptonica_Connection { … … 79 81 $url = add_query_arg( 80 82 array( 81 'site_url' => rawurlencode( self::site_url() ), 82 'return_url' => rawurlencode( self::page_url() ), 83 'state' => rawurlencode( $state ), 83 'site_url' => rawurlencode( self::site_url() ), 84 'return_url' => rawurlencode( self::page_url() ), 85 'state' => rawurlencode( $state ), 86 'woocommerce' => Uptonica_Settings::has_woocommerce() ? '1' : '0', 84 87 ), 85 88 Uptonica_Settings::app_url() . '/wordpress/connect' … … 99 102 } 100 103 101 if ( ! current_user_can( 'manage_woocommerce') ) {104 if ( ! current_user_can( Uptonica_Settings::capability() ) ) { 102 105 return; 103 106 } … … 148 151 'site_tag' => self::clean_site_tag( isset( $body['site_tag'] ) ? $body['site_tag'] : null ), 149 152 'events_url' => esc_url_raw( isset( $body['events_url'] ) ? $body['events_url'] : '' ), 153 'forms' => self::clean_forms( isset( $body['forms'] ) ? $body['forms'] : null ), 150 154 ) 151 155 ); 152 153 if ( ! $was_connected ) { 156 delete_transient( Uptonica_Blocks::LIST_TRANSIENT ); 157 158 if ( ! $was_connected && Uptonica_Settings::has_woocommerce() ) { 154 159 Uptonica_Webhooks::schedule(); 155 160 } … … 177 182 178 183 /** 184 * Keep the lead source addresses and key, as strings. 185 * 186 * @param mixed $forms Forms block from the exchange. 187 * @return array{intake_url: string, list_url: string, key: string}|array{} 188 */ 189 private static function clean_forms( $forms ) { 190 if ( ! is_array( $forms ) || empty( $forms['intake_url'] ) || empty( $forms['list_url'] ) || empty( $forms['key'] ) ) { 191 return array(); 192 } 193 194 return array( 195 'intake_url' => esc_url_raw( $forms['intake_url'] ), 196 'list_url' => esc_url_raw( $forms['list_url'] ), 197 'key' => sanitize_text_field( $forms['key'] ), 198 ); 199 } 200 201 /** 179 202 * «Disconnect»: revoke what Uptonica was given on this store, then forget 180 203 * the workspace. … … 187 210 self::guard( 'uptonica_disconnect' ); 188 211 189 self::revoke_api_keys(); 190 Uptonica_Webhooks::delete_ours(); 212 if ( Uptonica_Settings::has_woocommerce() ) { 213 self::revoke_api_keys(); 214 Uptonica_Webhooks::delete_ours(); 215 } 191 216 Uptonica_Webhooks::unschedule(); 217 Uptonica_Queue::clear( Uptonica_Forms::SEND_HOOK ); 218 delete_transient( Uptonica_Blocks::LIST_TRANSIENT ); 192 219 Uptonica_Settings::forget_connection(); 193 220 … … 219 246 */ 220 247 private static function guard( $action ) { 221 if ( ! current_user_can( 'manage_woocommerce') ) {248 if ( ! current_user_can( Uptonica_Settings::capability() ) ) { 222 249 wp_die( esc_html__( 'You are not allowed to manage this connection.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), '', array( 'response' => 403 ) ); 223 250 } -
uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.1.0/includes/class-uptonica-settings.php
r3740886 r3743350 29 29 'site_tag' => null, 30 30 'events_url' => '', 31 'forms' => array(), 31 32 // Off until the merchant turns it on: the tag puts the assistant 32 33 // in front of shoppers, which nobody should get by surprise. 33 34 'site_tag_on' => false, 34 35 'purchases_on' => true, 36 // A form submission is a request to be contacted: on. 37 'forms_on' => true, 38 // A registration is not: off until the site owner says so. 39 'users_on' => false, 35 40 ); 36 41 } … … 69 74 70 75 /** 71 * Forget the workspace. The twoswitches keep their position for a later76 * Forget the workspace. The switches keep their position for a later 72 77 * reconnect. 73 78 */ … … 86 91 true 87 92 ); 93 } 94 95 /** 96 * Whether WooCommerce runs on this site. 97 * 98 * @return bool 99 */ 100 public static function has_woocommerce() { 101 return class_exists( 'WooCommerce' ); 102 } 103 104 /** 105 * Who may connect and configure: shop managers on a WooCommerce store, 106 * administrators elsewhere. 107 * 108 * @return string 109 */ 110 public static function capability() { 111 return self::has_woocommerce() ? 'manage_woocommerce' : 'manage_options'; 88 112 } 89 113 -
uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.1.0/languages/uptonica-ai-assistant-and-marketing-for-woocommerce-it_IT.po
r3740886 r3743350 14 14 "X-Domain: uptonica-ai-assistant-and-marketing-for-woocommerce\n" 15 15 16 #. Plugin Name of the plugin17 #: uptonica.php18 msgid "Uptonica – AI assistant and marketing for WooCommerce"19 msgstr "Uptonica – Assistente AI e marketing per WooCommerce"20 21 16 #. Author URI of the plugin 22 17 #: uptonica.php … … 24 19 msgstr "https://uptonica.com/" 25 20 26 #. Description of the plugin27 #: uptonica.php28 msgid "Connect your WooCommerce store to Uptonica in one click: the AI shopping assistant on your site with a switch, store updates that keep arriving, and purchases sent from your server with the shopper's consent."29 msgstr "Collega il tuo negozio WooCommerce a Uptonica con un clic: l'assistente AI sul sito con un interruttore, aggiornamenti del negozio che arrivano sempre e acquisti inviati dal tuo server con il consenso del cliente."30 31 21 #. Author of the plugin 32 22 #: uptonica.php … … 34 24 msgstr "Uptonica" 35 25 36 #: includes/class-uptonica-admin.php:5 926 #: includes/class-uptonica-admin.php:58 37 27 msgid "Settings" 38 28 msgstr "Impostazioni" 39 29 40 #: includes/class-uptonica-admin.php:8 230 #: includes/class-uptonica-admin.php:81 41 31 msgid "Uptonica is installed but not connected yet." 42 32 msgstr "Uptonica è installato ma non ancora collegato." 43 33 44 #: includes/class-uptonica-admin.php:84 45 msgid "Connect your store" 46 msgstr "Collega il negozio" 47 48 #: includes/class-uptonica-admin.php:93 49 #: includes/class-uptonica-connection.php:222 34 #: includes/class-uptonica-admin.php:92 35 #: includes/class-uptonica-connection.php:249 50 36 msgid "You are not allowed to manage this connection." 51 37 msgstr "Non hai i permessi per gestire questo collegamento." 52 38 53 #: includes/class-uptonica-admin.php:117 54 msgid "Your store is connected to Uptonica." 55 msgstr "Il negozio è collegato a Uptonica." 56 57 #: includes/class-uptonica-admin.php:118 58 msgid "Your store is disconnected. Uptonica can no longer read it." 59 msgstr "Il negozio è scollegato. Uptonica non può più leggerlo." 60 61 #: includes/class-uptonica-admin.php:119 39 #: includes/class-uptonica-admin.php:120 62 40 msgid "Settings saved." 63 41 msgstr "Impostazioni salvate." 64 42 65 #: includes/class-uptonica-admin.php:12 043 #: includes/class-uptonica-admin.php:121 66 44 msgid "The connection was cancelled. Nothing was changed." 67 45 msgstr "Il collegamento è stato annullato. Non è cambiato nulla." 68 46 69 #: includes/class-uptonica-admin.php:12 147 #: includes/class-uptonica-admin.php:122 70 48 msgid "This connection attempt expired or was started from another browser. Click Connect again." 71 49 msgstr "Questo tentativo di collegamento è scaduto o è partito da un altro browser. Clicca di nuovo Collega." 72 50 73 #: includes/class-uptonica-admin.php:122 74 msgid "WooCommerce approved the connection, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again." 75 msgstr "WooCommerce ha approvato il collegamento, ma questo sito non è riuscito a raggiungere Uptonica per completarlo. Di solito la causa è un firewall o un plugin di sicurezza che blocca le richieste in uscita. Clicca di nuovo Collega." 76 77 #: includes/class-uptonica-admin.php:146 78 msgid "Uptonica needs WooCommerce. Install and activate WooCommerce, then come back here to connect your store." 79 msgstr "Uptonica ha bisogno di WooCommerce. Installa e attiva WooCommerce, poi torna qui per collegare il negozio." 80 81 #: includes/class-uptonica-admin.php:152 51 #: includes/class-uptonica-admin.php:150 82 52 msgid "Connect your store to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch." 83 53 msgstr "Collega il negozio a Uptonica: catalogo, ordini e clienti restano allineati e puoi aggiungere l'assistente AI al sito con un interruttore." 84 54 85 #: includes/class-uptonica-admin.php:15 555 #: includes/class-uptonica-admin.php:157 86 56 msgid "You will sign in to Uptonica (or create an account), choose the workspace, then approve access on a WooCommerce screen. It takes a minute." 87 57 msgstr "Accederai a Uptonica (o creerai un account), sceglierai il workspace e approverai l'accesso in una schermata di WooCommerce. Serve un minuto." 88 58 89 #: includes/class-uptonica-admin.php:16 059 #: includes/class-uptonica-admin.php:165 90 60 msgid "Connect to Uptonica" 91 61 msgstr "Collega a Uptonica" 92 62 93 #: includes/class-uptonica-admin.php:16 363 #: includes/class-uptonica-admin.php:168 94 64 msgid "Your site is not served over https. WooCommerce may refuse to approve the connection until it is." 95 65 msgstr "Il sito non è servito in https. WooCommerce potrebbe rifiutare il collegamento finché non lo è." 96 66 97 #: includes/class-uptonica-admin.php:17 067 #: includes/class-uptonica-admin.php:175 98 68 msgid "Workspace" 99 69 msgstr "Workspace" 100 70 101 #: includes/class-uptonica-admin.php:17 471 #: includes/class-uptonica-admin.php:179 102 72 msgid "Open in Uptonica" 103 73 msgstr "Apri in Uptonica" 104 74 105 #. translators: %s: date the s tore was connected.106 #: includes/class-uptonica-admin.php:1 7975 #. translators: %s: date the site was connected. 76 #: includes/class-uptonica-admin.php:184 107 77 #, php-format 108 78 msgid "Connected on %s." 109 79 msgstr "Collegato il %s." 110 80 111 #: includes/class-uptonica-admin.php:19 181 #: includes/class-uptonica-admin.php:196 112 82 msgid "On your site" 113 83 msgstr "Sul tuo sito" 114 84 115 #: includes/class-uptonica-admin.php:196 116 msgid "Add the Uptonica code to every page of the shop" 117 msgstr "Aggiungi il codice Uptonica a tutte le pagine del negozio" 118 119 #: includes/class-uptonica-admin.php:199 85 #: includes/class-uptonica-admin.php:204 120 86 msgid "It shows the AI assistant and measures visits, following your cookie banner. What it shows is decided in Uptonica." 121 87 msgstr "Mostra l'assistente AI e misura le visite, rispettando il banner dei cookie. Cosa mostrare si sceglie in Uptonica." 122 88 123 #: includes/class-uptonica-admin.php:20 189 #: includes/class-uptonica-admin.php:206 124 90 msgid "Choose in Uptonica" 125 91 msgstr "Scegli in Uptonica" 126 92 127 #: includes/class-uptonica-admin.php:2 0593 #: includes/class-uptonica-admin.php:210 128 94 msgid "This workspace has no assistant set up yet. Set it up in Uptonica, then disconnect and connect again here." 129 95 msgstr "Questo workspace non ha ancora un assistente. Configuralo in Uptonica, poi scollega e ricollega qui." 130 96 131 #: includes/class-uptonica-admin.php:2 1097 #: includes/class-uptonica-admin.php:259 132 98 msgid "Purchases" 133 99 msgstr "Acquisti" 134 100 135 #: includes/class-uptonica-admin.php:2 14101 #: includes/class-uptonica-admin.php:263 136 102 msgid "Send purchases to Uptonica from the server" 137 103 msgstr "Invia gli acquisti a Uptonica dal server" 138 104 139 #: includes/class-uptonica-admin.php:2 17105 #: includes/class-uptonica-admin.php:266 140 106 msgid "A purchase is counted even when the shopper never reaches the thank-you page or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner." 141 107 msgstr "L'acquisto viene contato anche se il cliente non arriva alla pagina di ringraziamento o blocca gli script. Viene inviato solo se il cliente ha accettato la misurazione nel banner dei cookie." 142 108 143 #: includes/class-uptonica-admin.php:226 144 #: includes/class-uptonica-admin.php:231 109 #: includes/class-uptonica-admin.php:278 includes/class-uptonica-admin.php:289 145 110 msgid "Disconnect" 146 111 msgstr "Scollega" 147 112 148 #: includes/class-uptonica-admin.php:227 149 msgid "Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages." 150 msgstr "Rimuove da questo negozio la chiave di accesso e gli avvisi di aggiornamento concessi a Uptonica, e toglie il codice Uptonica dalle pagine." 151 152 #: includes/class-uptonica-admin.php:228 153 msgid "Disconnect this store from Uptonica?" 154 msgstr "Scollegare questo negozio da Uptonica?" 113 #. Plugin Name of the plugin 114 #: uptonica.php 115 msgid "Uptonica – AI assistant, forms and marketing" 116 msgstr "Uptonica – assistente AI, moduli e marketing" 117 118 #. Description of the plugin 119 #: uptonica.php 120 msgid "Connect your WordPress site or WooCommerce store to Uptonica: your forms become contacts in your CRM, Uptonica forms and popups go in your pages, the AI assistant goes on your site with a switch, and a store's updates and purchases keep arriving." 121 msgstr "Collega il tuo sito WordPress o il tuo negozio WooCommerce a Uptonica: i tuoi moduli diventano contatti nel CRM, moduli e popup di Uptonica entrano nelle tue pagine, l'assistente AI arriva sul sito con un interruttore, e aggiornamenti e acquisti del negozio continuano ad arrivare." 122 123 #: includes/class-uptonica-admin.php:83 124 msgid "Connect your site" 125 msgstr "Collega il tuo sito" 126 127 #: includes/class-uptonica-admin.php:118 128 msgid "Your site is connected to Uptonica." 129 msgstr "Il tuo sito è collegato a Uptonica." 130 131 #: includes/class-uptonica-admin.php:119 132 msgid "Your site is disconnected from Uptonica." 133 msgstr "Il tuo sito è scollegato da Uptonica." 134 135 #: includes/class-uptonica-admin.php:123 136 msgid "The connection was approved, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again." 137 msgstr "Il collegamento è stato approvato, ma questo sito non è riuscito a raggiungere Uptonica per completarlo. Di solito la causa è un firewall o un plugin di sicurezza che blocca le richieste in uscita. Clicca di nuovo su Collega." 138 139 #: includes/class-uptonica-admin.php:152 140 msgid "Connect your site to Uptonica: what people send through your forms becomes contacts in your CRM, and you can add the AI assistant and Uptonica forms and popups to your pages." 141 msgstr "Collega il tuo sito a Uptonica: quello che le persone inviano dai tuoi moduli diventa un contatto nel CRM, e puoi aggiungere alle tue pagine l'assistente AI e i moduli e i popup di Uptonica." 142 143 #: includes/class-uptonica-admin.php:159 144 msgid "You will sign in to Uptonica (or create an account) and choose the workspace. It takes a minute." 145 msgstr "Accederai a Uptonica (o creerai un account) e sceglierai il workspace. Ci vuole un minuto." 146 147 #: includes/class-uptonica-admin.php:201 148 msgid "Add the Uptonica code to every page" 149 msgstr "Aggiungi il codice Uptonica a tutte le pagine" 150 151 #: includes/class-uptonica-admin.php:215 152 msgid "Forms" 153 msgstr "Moduli" 154 155 #: includes/class-uptonica-admin.php:218 156 msgid "Disconnect and connect again to send your forms to Uptonica: this connection was made by an earlier version of the plugin." 157 msgstr "Scollega e ricollega il sito per inviare i tuoi moduli a Uptonica: questo collegamento è stato fatto con una versione precedente del plugin." 158 159 #: includes/class-uptonica-admin.php:222 160 msgid "Send what people submit through your forms to Uptonica" 161 msgstr "Invia a Uptonica quello che le persone inviano dai tuoi moduli" 162 163 #. translators: %s: names of the form plugins found on the site. 164 #: includes/class-uptonica-admin.php:229 165 #, php-format 166 msgid "Found on this site: %s." 167 msgstr "Trovati su questo sito: %s." 168 169 #: includes/class-uptonica-admin.php:231 170 msgid "Works with Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro forms. None is active on this site yet." 171 msgstr "Funziona con Contact Form 7, WPForms, Gravity Forms, Fluent Forms e i moduli di Elementor Pro. Nessuno è ancora attivo su questo sito." 172 173 #: includes/class-uptonica-admin.php:234 174 msgid "Each submission with an email becomes a contact in your CRM. It reaches Meta as a lead only when the visitor accepted marketing cookies." 175 msgstr "Ogni invio con un'email diventa un contatto nel CRM. Arriva a Meta come lead solo se il visitatore ha accettato i cookie di marketing." 176 177 #: includes/class-uptonica-admin.php:236 178 msgid "See them in Uptonica" 179 msgstr "Vedili in Uptonica" 180 181 #: includes/class-uptonica-admin.php:240 182 msgid "To show an Uptonica form or popup in a page, add the «Uptonica form» block, or the shortcode [uptonica_form id=\"…\"]." 183 msgstr "Per mostrare un modulo o un popup di Uptonica in una pagina, aggiungi il blocco «Modulo Uptonica» oppure lo shortcode [uptonica_form id=\"…\"]." 184 185 #: includes/class-uptonica-admin.php:246 186 msgid "Registrations" 187 msgstr "Registrazioni" 188 189 #: includes/class-uptonica-admin.php:250 190 msgid "Add people who register on this site to your CRM" 191 msgstr "Aggiungi al CRM chi si registra su questo sito" 192 193 #: includes/class-uptonica-admin.php:253 194 msgid "They become contacts, without marketing consent: a registration is not a request to receive emails." 195 msgstr "Diventano contatti, senza consenso al marketing: una registrazione non è una richiesta di ricevere email." 196 197 #: includes/class-uptonica-admin.php:281 198 msgid "Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages. Forms stop being sent." 199 msgstr "Rimuove la chiave di accesso e gli avvisi di aggiornamento concessi a Uptonica su questo negozio, e il codice Uptonica dalle tue pagine. I moduli smettono di essere inviati." 200 201 #: includes/class-uptonica-admin.php:283 202 msgid "Removes the Uptonica code and forms from your pages, and forms stop being sent." 203 msgstr "Rimuove il codice e i moduli di Uptonica dalle tue pagine, e i moduli smettono di essere inviati." 204 205 #: includes/class-uptonica-admin.php:286 206 msgid "Disconnect this site from Uptonica?" 207 msgstr "Scollegare questo sito da Uptonica?" 208 209 #: assets/form-block.js:13 assets/form-block.js:51 assets/form-block.js:68 210 msgid "Uptonica form" 211 msgstr "Modulo Uptonica" 212 213 #: assets/form-block.js:14 214 msgid "A form or popup made in Uptonica." 215 msgstr "Un modulo o un popup creato in Uptonica." 216 217 #: assets/form-block.js:39 218 msgid "Connect this site to Uptonica first, from the Uptonica page in the admin menu." 219 msgstr "Prima collega questo sito a Uptonica, dalla pagina Uptonica nel menu di amministrazione." 220 221 #: assets/form-block.js:42 222 msgid "Choose a form" 223 msgstr "Scegli un modulo" 224 225 #: assets/form-block.js:44 226 msgid "popup" 227 msgstr "popup" 228 229 #: assets/form-block.js:61 230 msgid "This workspace has no forms yet." 231 msgstr "Questo workspace non ha ancora moduli." 232 233 #: assets/form-block.js:65 234 msgid "Create or edit forms in Uptonica" 235 msgstr "Crea o modifica i moduli in Uptonica" -
uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.1.0/languages/uptonica-ai-assistant-and-marketing-for-woocommerce.pot
r3740886 r3743350 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Uptonica – AI assistant and marketing for WooCommerce 1.0.0\n"5 "Project-Id-Version: Uptonica – AI assistant, forms and marketing 1.1.0\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/uptonica-ai-assistant-and-marketing-for-woocommerce\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2026-10-1 2T08:16:31+00:00\n"12 "POT-Creation-Date: 2026-10-13T07:41:03+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 17 17 #. Plugin Name of the plugin 18 18 #: uptonica.php 19 msgid "Uptonica – AI assistant and marketing for WooCommerce"19 msgid "Uptonica – AI assistant, forms and marketing" 20 20 msgstr "" 21 21 22 22 #. Description of the plugin 23 23 #: uptonica.php 24 msgid "Connect your Wo oCommerce store to Uptonica in one click: the AI shopping assistant on your site with a switch, store updates that keep arriving, and purchases sent from your server with the shopper's consent."24 msgid "Connect your WordPress site or WooCommerce store to Uptonica: your forms become contacts in your CRM, Uptonica forms and popups go in your pages, the AI assistant goes on your site with a switch, and a store's updates and purchases keep arriving." 25 25 msgstr "" 26 26 … … 35 35 msgstr "" 36 36 37 #: includes/class-uptonica-admin.php:5 937 #: includes/class-uptonica-admin.php:58 38 38 msgid "Settings" 39 39 msgstr "" 40 40 41 #: includes/class-uptonica-admin.php:8 241 #: includes/class-uptonica-admin.php:81 42 42 msgid "Uptonica is installed but not connected yet." 43 43 msgstr "" 44 44 45 #: includes/class-uptonica-admin.php:8 446 msgid "Connect your s tore"47 msgstr "" 48 49 #: includes/class-uptonica-admin.php:9 350 #: includes/class-uptonica-connection.php:2 2245 #: includes/class-uptonica-admin.php:83 46 msgid "Connect your site" 47 msgstr "" 48 49 #: includes/class-uptonica-admin.php:92 50 #: includes/class-uptonica-connection.php:249 51 51 msgid "You are not allowed to manage this connection." 52 52 msgstr "" 53 53 54 #: includes/class-uptonica-admin.php:11755 msgid "Your store is connected to Uptonica."56 msgstr ""57 58 54 #: includes/class-uptonica-admin.php:118 59 msgid "Your s tore is disconnected. Uptonica can no longer read it."55 msgid "Your site is connected to Uptonica." 60 56 msgstr "" 61 57 62 58 #: includes/class-uptonica-admin.php:119 59 msgid "Your site is disconnected from Uptonica." 60 msgstr "" 61 62 #: includes/class-uptonica-admin.php:120 63 63 msgid "Settings saved." 64 64 msgstr "" 65 65 66 #: includes/class-uptonica-admin.php:12 066 #: includes/class-uptonica-admin.php:121 67 67 msgid "The connection was cancelled. Nothing was changed." 68 68 msgstr "" 69 69 70 #: includes/class-uptonica-admin.php:12 170 #: includes/class-uptonica-admin.php:122 71 71 msgid "This connection attempt expired or was started from another browser. Click Connect again." 72 72 msgstr "" 73 73 74 #: includes/class-uptonica-admin.php:12 275 msgid " WooCommerce approved the connection, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again."76 msgstr "" 77 78 #: includes/class-uptonica-admin.php:1 4679 msgid " Uptonica needs WooCommerce. Install and activate WooCommerce, then come back here to connect your store."74 #: includes/class-uptonica-admin.php:123 75 msgid "The connection was approved, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again." 76 msgstr "" 77 78 #: includes/class-uptonica-admin.php:150 79 msgid "Connect your store to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch." 80 80 msgstr "" 81 81 82 82 #: includes/class-uptonica-admin.php:152 83 msgid "Connect your s tore to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch."84 msgstr "" 85 86 #: includes/class-uptonica-admin.php:15 583 msgid "Connect your site to Uptonica: what people send through your forms becomes contacts in your CRM, and you can add the AI assistant and Uptonica forms and popups to your pages." 84 msgstr "" 85 86 #: includes/class-uptonica-admin.php:157 87 87 msgid "You will sign in to Uptonica (or create an account), choose the workspace, then approve access on a WooCommerce screen. It takes a minute." 88 88 msgstr "" 89 89 90 #: includes/class-uptonica-admin.php:160 90 #: includes/class-uptonica-admin.php:159 91 msgid "You will sign in to Uptonica (or create an account) and choose the workspace. It takes a minute." 92 msgstr "" 93 94 #: includes/class-uptonica-admin.php:165 91 95 msgid "Connect to Uptonica" 92 96 msgstr "" 93 97 94 #: includes/class-uptonica-admin.php:16 398 #: includes/class-uptonica-admin.php:168 95 99 msgid "Your site is not served over https. WooCommerce may refuse to approve the connection until it is." 96 100 msgstr "" 97 101 98 #: includes/class-uptonica-admin.php:17 0102 #: includes/class-uptonica-admin.php:175 99 103 msgid "Workspace" 100 104 msgstr "" 101 105 102 #: includes/class-uptonica-admin.php:17 4106 #: includes/class-uptonica-admin.php:179 103 107 msgid "Open in Uptonica" 104 108 msgstr "" 105 109 106 #. translators: %s: date the s tore was connected.107 #: includes/class-uptonica-admin.php:1 79110 #. translators: %s: date the site was connected. 111 #: includes/class-uptonica-admin.php:184 108 112 #, php-format 109 113 msgid "Connected on %s." 110 114 msgstr "" 111 115 112 #: includes/class-uptonica-admin.php:19 1116 #: includes/class-uptonica-admin.php:196 113 117 msgid "On your site" 114 118 msgstr "" 115 119 116 #: includes/class-uptonica-admin.php: 196117 msgid "Add the Uptonica code to every page of the shop"118 msgstr "" 119 120 #: includes/class-uptonica-admin.php: 199120 #: includes/class-uptonica-admin.php:201 121 msgid "Add the Uptonica code to every page" 122 msgstr "" 123 124 #: includes/class-uptonica-admin.php:204 121 125 msgid "It shows the AI assistant and measures visits, following your cookie banner. What it shows is decided in Uptonica." 122 126 msgstr "" 123 127 124 #: includes/class-uptonica-admin.php:20 1128 #: includes/class-uptonica-admin.php:206 125 129 msgid "Choose in Uptonica" 126 130 msgstr "" 127 131 128 #: includes/class-uptonica-admin.php:2 05132 #: includes/class-uptonica-admin.php:210 129 133 msgid "This workspace has no assistant set up yet. Set it up in Uptonica, then disconnect and connect again here." 130 134 msgstr "" 131 135 132 #: includes/class-uptonica-admin.php:210 136 #: includes/class-uptonica-admin.php:215 137 msgid "Forms" 138 msgstr "" 139 140 #: includes/class-uptonica-admin.php:218 141 msgid "Disconnect and connect again to send your forms to Uptonica: this connection was made by an earlier version of the plugin." 142 msgstr "" 143 144 #: includes/class-uptonica-admin.php:222 145 msgid "Send what people submit through your forms to Uptonica" 146 msgstr "" 147 148 #. translators: %s: names of the form plugins found on the site. 149 #: includes/class-uptonica-admin.php:229 150 #, php-format 151 msgid "Found on this site: %s." 152 msgstr "" 153 154 #: includes/class-uptonica-admin.php:231 155 msgid "Works with Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro forms. None is active on this site yet." 156 msgstr "" 157 158 #: includes/class-uptonica-admin.php:234 159 msgid "Each submission with an email becomes a contact in your CRM. It reaches Meta as a lead only when the visitor accepted marketing cookies." 160 msgstr "" 161 162 #: includes/class-uptonica-admin.php:236 163 msgid "See them in Uptonica" 164 msgstr "" 165 166 #: includes/class-uptonica-admin.php:240 167 msgid "To show an Uptonica form or popup in a page, add the «Uptonica form» block, or the shortcode [uptonica_form id=\"…\"]." 168 msgstr "" 169 170 #: includes/class-uptonica-admin.php:246 171 msgid "Registrations" 172 msgstr "" 173 174 #: includes/class-uptonica-admin.php:250 175 msgid "Add people who register on this site to your CRM" 176 msgstr "" 177 178 #: includes/class-uptonica-admin.php:253 179 msgid "They become contacts, without marketing consent: a registration is not a request to receive emails." 180 msgstr "" 181 182 #: includes/class-uptonica-admin.php:259 133 183 msgid "Purchases" 134 184 msgstr "" 135 185 136 #: includes/class-uptonica-admin.php:2 14186 #: includes/class-uptonica-admin.php:263 137 187 msgid "Send purchases to Uptonica from the server" 138 188 msgstr "" 139 189 140 #: includes/class-uptonica-admin.php:2 17190 #: includes/class-uptonica-admin.php:266 141 191 msgid "A purchase is counted even when the shopper never reaches the thank-you page or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner." 142 192 msgstr "" 143 193 144 #: includes/class-uptonica-admin.php:2 26145 #: includes/class-uptonica-admin.php:2 31194 #: includes/class-uptonica-admin.php:278 195 #: includes/class-uptonica-admin.php:289 146 196 msgid "Disconnect" 147 197 msgstr "" 148 198 149 #: includes/class-uptonica-admin.php:227 150 msgid "Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages." 151 msgstr "" 152 153 #: includes/class-uptonica-admin.php:228 154 msgid "Disconnect this store from Uptonica?" 155 msgstr "" 199 #: includes/class-uptonica-admin.php:281 200 msgid "Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages. Forms stop being sent." 201 msgstr "" 202 203 #: includes/class-uptonica-admin.php:283 204 msgid "Removes the Uptonica code and forms from your pages, and forms stop being sent." 205 msgstr "" 206 207 #: includes/class-uptonica-admin.php:286 208 msgid "Disconnect this site from Uptonica?" 209 msgstr "" 210 211 #: assets/form-block.js:13 212 #: assets/form-block.js:51 213 #: assets/form-block.js:68 214 msgid "Uptonica form" 215 msgstr "" 216 217 #: assets/form-block.js:14 218 msgid "A form or popup made in Uptonica." 219 msgstr "" 220 221 #: assets/form-block.js:39 222 msgid "Connect this site to Uptonica first, from the Uptonica page in the admin menu." 223 msgstr "" 224 225 #: assets/form-block.js:42 226 msgid "Choose a form" 227 msgstr "" 228 229 #: assets/form-block.js:44 230 msgid "popup" 231 msgstr "" 232 233 #: assets/form-block.js:61 234 msgid "This workspace has no forms yet." 235 msgstr "" 236 237 #: assets/form-block.js:65 238 msgid "Create or edit forms in Uptonica" 239 msgstr "" -
uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.1.0/readme.txt
r3740994 r3743350 1 === Uptonica – AI assistant and marketing for WooCommerce===1 === Uptonica – AI assistant, forms and marketing === 2 2 Contributors: uptonica 3 Tags: woocommerce, ai assistant, chatbot, email marketing, analytics3 Tags: crm, forms, ai assistant, woocommerce, lead generation 4 4 Requires at least: 6.3 5 5 Tested up to: 7.1 6 6 Requires PHP: 7.4 7 Stable tag: 1. 0.17 Stable tag: 1.1.0 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 10 11 Connect your Wo oCommerce store to Uptonica in one click: an AI shopping assistant on your site, marketing automations and reliable sales data.11 Connect your WordPress site or WooCommerce store to Uptonica: your forms become CRM contacts, Uptonica forms and popups in your pages, an AI assistant. 12 12 13 13 == Description == 14 14 15 [Uptonica](https://uptonica.com/) is an AI platform for online stores: an AI shopping assistant that answers your customers from your real catalog, email and WhatsApp automations, product content and advertising reports.15 [Uptonica](https://uptonica.com/) is an AI marketing platform: a CRM with email and WhatsApp automations, forms and popups, an AI assistant that answers your visitors, and, for online stores, product content and advertising reports. 16 16 17 This plugin connects your WooCommerce store to your Uptonica workspace without copying API keys by hand.17 This plugin connects your site to your Uptonica workspace without copying keys or code by hand. It works on any WordPress site; on a WooCommerce store it also connects the store. 18 18 19 = What the plugin does=19 = On every site = 20 20 21 * **One-click connection.** Click «Connect to Uptonica», choose your workspace, approve access on the standard WooCommerce screen. Your catalog, orders and customers stay in sync. 22 * **The assistant with a switch.** Add the Uptonica code to every page of the shop without editing your theme or Tag Manager. What it shows (the assistant, visit measurement) is chosen in Uptonica. 23 * **Store updates that keep arriving.** WooCommerce switches a webhook off after a few failed deliveries and drops the failed ones. For Uptonica's webhooks, the plugin sends failed deliveries again later and switches them back on, so your store never silently stops updating. 21 * **One-click connection.** Click «Connect to Uptonica» and choose your workspace. 22 * **Your forms become contacts.** What people send through Contact Form 7, WPForms, Gravity Forms, Fluent Forms or Elementor Pro forms also reaches your Uptonica CRM: each submission with an email becomes a contact, shows in «Lead sources» and can start your automations. Your forms keep working as before. 23 * **Uptonica forms and popups in your pages.** Add the «Uptonica form» block, or the `[uptonica_form id="…"]` shortcode, to show a form or popup made in Uptonica. 24 * **Leads counted from the server.** A form submission reaches Meta as a lead, from your server, only when the visitor accepted marketing cookies, so a blocked browser script does not lose it. 25 * **Registrations as contacts.** Optionally, people who register on your site join your CRM (without marketing consent). 26 * **The assistant with a switch.** Add the Uptonica code to every page without editing your theme or Tag Manager. What it shows (the assistant, visit measurement) is chosen in Uptonica. 27 28 = On a WooCommerce store, also = 29 30 * **Store connection.** Approve access on the standard WooCommerce screen: your catalog, orders and customers stay in sync. 31 * **Store updates that keep arriving.** WooCommerce switches a webhook off after a few failed deliveries and drops the failed ones. For Uptonica's webhooks, the plugin sends failed deliveries again later and switches them back on. 24 32 * **Purchases from the server.** A purchase is counted even when the shopper pays on an external page and never returns to the thank-you page, or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner. 25 33 26 34 = Requirements = 27 35 28 * WooCommerce 8.0 or later.29 36 * An Uptonica account. You can create one during the connection. 30 * Asite served over https (WooCommerce's approval screen requires it).37 * For the store features: WooCommerce 8.0 or later and a site served over https (WooCommerce's approval screen requires it). 31 38 32 39 == External services == … … 34 41 This plugin connects to Uptonica (https://uptonica.com/), a service run by the plugin's author. Without it the plugin does nothing. 35 42 36 * **When you click «Connect to Uptonica»**, your browser is sent to app.uptonica.com with your site address and the address of the plugin page. After you approve on the WooCommerce screen, WooCommerce sends Uptonica a REST API key for your store, and the plugin calls `https://app.uptonica.com/api/wordpress/v1/exchange` once, from your server, to learn which workspace it joined. 37 * **When «Add the Uptonica code to every page» is on**, every page of the shop loads `https://app.uptonica.com/widget/uptonica.js`. It shows the AI assistant and, following your cookie banner, measures visits. Visitors' browsers then talk to app.uptonica.com. 38 * **When «Send purchases from the server» is on**, each paid order whose shopper accepted measurement is sent from your server to `https://app.uptonica.com/api/events`: order number, total, currency, products, the shopper's email (used to match the purchase to an existing contact and not stored on the event), IP address and browser user agent, and the analytics cookies already on the shopper's device (`_uton_aid`, `_ga`, `_fbp`, `_fbc`). 43 * **When you click «Connect to Uptonica»**, your browser is sent to app.uptonica.com with your site address, the address of the plugin page and whether WooCommerce is active. On a store, after you approve on the WooCommerce screen, WooCommerce sends Uptonica a REST API key for your store. Then the plugin calls `https://app.uptonica.com/api/wordpress/v1/exchange` once, from your server, to learn which workspace it joined and receive the key of your site's lead source. 44 * **When «Send what people submit through your forms» is on**, each submission with an email is sent from your server to your lead source at `https://app.uptonica.com/api/crm/forms/intake/…`: the fields the person filled in, the form's name, their IP address and browser user agent, the Uptonica visitor id (`_uton_aid`) when they accepted measurement, and the Meta click id from `_fbc` when they accepted marketing. 45 * **When «Add people who register on this site» is on**, each new account's email and name are sent the same way. 46 * **In the block editor**, the «Uptonica form» block reads the list of your workspace's forms from `https://app.uptonica.com/api/wordpress/v1/forms`. A page with the block or shortcode loads the form from `https://app.uptonica.com/f/…`, and the visitor's browser then talks to app.uptonica.com. 47 * **When «Add the Uptonica code to every page» is on**, every page loads `https://app.uptonica.com/widget/uptonica.js`. It shows the AI assistant and, following your cookie banner, measures visits. 48 * **When «Send purchases from the server» is on** (stores only), each paid order whose shopper accepted measurement is sent from your server to `https://app.uptonica.com/api/events`: order number, total, currency, products, the shopper's email (used to match the purchase to an existing contact and not stored on the event), IP address and browser user agent, and the analytics cookies already on the shopper's device (`_uton_aid`, `_ga`, `_fbp`, `_fbc`). 39 49 * **Store updates** are sent by WooCommerce's own webhooks, which Uptonica registers on your store during the connection. 40 50 … … 43 53 == Installation == 44 54 45 1. Install and activate WooCommerce. 46 2. Install and activate this plugin. 47 3. Go to WooCommerce → Uptonica and click «Connect to Uptonica». 55 1. Install and activate this plugin. 56 2. Open the Uptonica page (in the admin menu, or under WooCommerce on a store) and click «Connect to Uptonica». 48 57 49 58 == Frequently Asked Questions == 50 59 60 = Do I need WooCommerce? = 61 62 No. Without WooCommerce you get the forms, the registrations, the Uptonica code and the block. WooCommerce adds the store connection, its updates and purchases. 63 51 64 = Does the plugin store my API keys? = 52 65 53 No. WooCommerce creates the key on its approval screen and sends it to Uptonica directly. The plugin only stores the workspace name and the public code of your Uptonica site tag. 66 No WooCommerce key: WooCommerce creates it on its approval screen and sends it to Uptonica directly. The plugin stores the workspace name, the public code of your Uptonica site tag and the key of your site's lead source, which it never prints in a page. 67 68 = Which form plugins are supported? = 69 70 Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro forms. A submission without an email address is not sent. 54 71 55 72 = How do I disconnect? = 56 73 57 WooCommerce → Uptonica → Disconnect. It deletes the API key and the webhooks Uptonica was given on your store and removes the Uptonica code from your pages.74 Uptonica → Disconnect. On a store it also deletes the API key and the webhooks Uptonica was given. Your pages lose the Uptonica code and forms, and submissions stop being sent. 58 75 59 = Which cookie banners are supported for purchases sent from the server? =76 = Which cookie banners are supported? = 60 77 61 Any banner that implements the WP Consent API, plus Complianz, CookieYes, Cookiebot, OneTrust and iubenda. With any other banner, a purchase is sent only if the Uptonica code had already been allowed to measure that visitor .78 Any banner that implements the WP Consent API, plus Complianz, CookieYes, Cookiebot, OneTrust and iubenda. With any other banner, a purchase is sent only if the Uptonica code had already been allowed to measure that visitor, and a form submission still becomes a contact but never reaches Meta. 62 79 63 80 == Changelog == 81 82 = 1.1.0 = 83 * Works on any WordPress site, with or without WooCommerce. 84 * Submissions from Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro become contacts in Uptonica, and leads for Meta with the visitor's consent. 85 * «Uptonica form» block and `[uptonica_form]` shortcode for Uptonica forms and popups. 86 * Optional: people who register on the site become contacts. 64 87 65 88 = 1.0.1 = -
uptonica-ai-assistant-and-marketing-for-woocommerce/tags/1.1.0/uptonica.php
r3740994 r3743350 1 1 <?php 2 2 /** 3 * Plugin Name: Uptonica – AI assistant and marketing for WooCommerce4 * Description: Connect your Wo oCommerce store to Uptonica in one click: the AI shopping assistant on your site with a switch, store updates that keep arriving, and purchases sent from your server with the shopper's consent.5 * Version: 1. 0.13 * Plugin Name: Uptonica – AI assistant, forms and marketing 4 * Description: Connect your WordPress site or WooCommerce store to Uptonica: your forms become contacts in your CRM, Uptonica forms and popups go in your pages, the AI assistant goes on your site with a switch, and a store's updates and purchases keep arriving. 5 * Version: 1.1.0 6 6 * Requires at least: 6.3 7 7 * Requires PHP: 7.4 8 * Requires Plugins: woocommerce9 8 * Author: Uptonica 10 9 * Author URI: https://uptonica.com/ … … 21 20 defined( 'ABSPATH' ) || exit; 22 21 23 define( 'UPTONICA_VERSION', '1. 0.1' );22 define( 'UPTONICA_VERSION', '1.1.0' ); 24 23 define( 'UPTONICA_FILE', __FILE__ ); 25 24 define( 'UPTONICA_DIR', plugin_dir_path( __FILE__ ) ); … … 37 36 require_once UPTONICA_DIR . 'includes/class-uptonica-consent.php'; 38 37 require_once UPTONICA_DIR . 'includes/class-uptonica-purchase-events.php'; 38 require_once UPTONICA_DIR . 'includes/class-uptonica-queue.php'; 39 require_once UPTONICA_DIR . 'includes/class-uptonica-forms.php'; 40 require_once UPTONICA_DIR . 'includes/class-uptonica-users.php'; 41 require_once UPTONICA_DIR . 'includes/class-uptonica-blocks.php'; 39 42 40 43 // HPOS and the block checkout: everything here reads orders through the … … 59 62 Uptonica_Admin::init(); 60 63 Uptonica_Connection::init(); 64 Uptonica_Site_Tag::init(); 65 Uptonica_Forms::init(); 66 Uptonica_Users::init(); 67 Uptonica_Blocks::init(); 61 68 62 if ( ! class_exists( 'WooCommerce' ) ) { 69 // What only a store has: its webhooks to keep alive and its purchases. 70 if ( ! Uptonica_Settings::has_woocommerce() ) { 63 71 return; 64 72 } 65 73 66 Uptonica_Site_Tag::init();67 74 Uptonica_Webhooks::init(); 68 75 Uptonica_Purchase_Events::init(); -
uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/includes/class-uptonica-admin.php
r3740886 r3743350 35 35 36 36 /** 37 * Under WooCommerce when it is active, at the top level otherwise (so the 38 * page that says «WooCommerce is required» can still be reached). 37 * Under WooCommerce on a store, at the top level on any other site. 39 38 */ 40 39 public static function menu() { 41 if ( class_exists( 'WooCommerce') ) {40 if ( Uptonica_Settings::has_woocommerce() ) { 42 41 add_submenu_page( 'woocommerce', 'Uptonica', 'Uptonica', 'manage_woocommerce', self::SLUG, array( __CLASS__, 'render' ) ); 43 42 … … 74 73 } 75 74 76 if ( Uptonica_Settings::is_connected() || ! current_user_can( 'manage_woocommerce' ) || ! class_exists( 'WooCommerce') ) {75 if ( Uptonica_Settings::is_connected() || ! current_user_can( Uptonica_Settings::capability() ) ) { 77 76 return; 78 77 } … … 82 81 esc_html__( 'Uptonica is installed but not connected yet.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), 83 82 esc_url( Uptonica_Connection::page_url() ), 84 esc_html__( 'Connect your s tore', 'uptonica-ai-assistant-and-marketing-for-woocommerce' )85 ); 86 } 87 88 /** 89 * Save the twoswitches.83 esc_html__( 'Connect your site', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) 84 ); 85 } 86 87 /** 88 * Save the switches. 90 89 */ 91 90 public static function save() { 92 if ( ! current_user_can( 'manage_woocommerce') ) {91 if ( ! current_user_can( Uptonica_Settings::capability() ) ) { 93 92 wp_die( esc_html__( 'You are not allowed to manage this connection.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), '', array( 'response' => 403 ) ); 94 93 } … … 100 99 'site_tag_on' => ! empty( $_POST['site_tag_on'] ), 101 100 'purchases_on' => ! empty( $_POST['purchases_on'] ), 101 'forms_on' => ! empty( $_POST['forms_on'] ), 102 'users_on' => ! empty( $_POST['users_on'] ), 102 103 ) 103 104 ); … … 115 116 private static function notice( $code ) { 116 117 $notices = array( 117 'connected' => array( 'success', __( 'Your s tore is connected to Uptonica.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),118 'disconnected' => array( 'success', __( 'Your s tore is disconnected. Uptonica can no longer read it.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),118 'connected' => array( 'success', __( 'Your site is connected to Uptonica.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ), 119 'disconnected' => array( 'success', __( 'Your site is disconnected from Uptonica.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ), 119 120 'saved' => array( 'success', __( 'Settings saved.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ), 120 121 'cancelled' => array( 'warning', __( 'The connection was cancelled. Nothing was changed.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ), 121 122 'expired' => array( 'error', __( 'This connection attempt expired or was started from another browser. Click Connect again.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ), 122 'exchange_failed' => array( 'error', __( ' WooCommerce approved the connection, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ),123 'exchange_failed' => array( 'error', __( 'The connection was approved, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ) ), 123 124 ); 124 125 … … 133 134 $connected = Uptonica_Settings::is_connected(); 134 135 $site_tag = Uptonica_Settings::site_tag(); 136 $woo = Uptonica_Settings::has_woocommerce(); 135 137 // phpcs:ignore WordPress.Security.NonceVerification.Recommended -- display only. 136 138 $notice = isset( $_GET['uptonica_notice'] ) ? self::notice( sanitize_key( wp_unslash( $_GET['uptonica_notice'] ) ) ) : null; … … 143 145 <?php endif; ?> 144 146 145 <?php if ( ! class_exists( 'WooCommerce' ) ) : ?>146 <p><?php esc_html_e( 'Uptonica needs WooCommerce. Install and activate WooCommerce, then come back here to connect your store.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p>147 <?php return; ?>148 <?php endif; ?>149 150 147 <?php if ( ! $connected ) : ?> 151 148 <p style="max-width:42rem"> 152 <?php esc_html_e( 'Connect your store to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 149 <?php if ( $woo ) : ?> 150 <?php esc_html_e( 'Connect your store to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 151 <?php else : ?> 152 <?php esc_html_e( 'Connect your site to Uptonica: what people send through your forms becomes contacts in your CRM, and you can add the AI assistant and Uptonica forms and popups to your pages.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 153 <?php endif; ?> 153 154 </p> 154 155 <p style="max-width:42rem"> 155 <?php esc_html_e( 'You will sign in to Uptonica (or create an account), choose the workspace, then approve access on a WooCommerce screen. It takes a minute.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 156 <?php if ( $woo ) : ?> 157 <?php esc_html_e( 'You will sign in to Uptonica (or create an account), choose the workspace, then approve access on a WooCommerce screen. It takes a minute.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 158 <?php else : ?> 159 <?php esc_html_e( 'You will sign in to Uptonica (or create an account) and choose the workspace. It takes a minute.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 160 <?php endif; ?> 156 161 </p> 157 162 <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>"> … … 160 165 <?php submit_button( __( 'Connect to Uptonica', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), 'primary', 'submit', false ); ?> 161 166 </form> 162 <?php if ( ! is_ssl() ) : ?>167 <?php if ( $woo && ! is_ssl() ) : ?> 163 168 <p class="description"><?php esc_html_e( 'Your site is not served over https. WooCommerce may refuse to approve the connection until it is.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p> 164 169 <?php endif; ?> … … 176 181 <p class="description"> 177 182 <?php 178 /* translators: %s: date the s tore was connected. */183 /* translators: %s: date the site was connected. */ 179 184 printf( esc_html__( 'Connected on %s.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), esc_html( wp_date( get_option( 'date_format' ), (int) $settings['connected_at'] ) ) ); 180 185 ?> … … 194 199 <label> 195 200 <input type="checkbox" name="site_tag_on" value="1" <?php checked( $settings['site_tag_on'] ); ?>> 196 <?php esc_html_e( 'Add the Uptonica code to every page of the shop', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>201 <?php esc_html_e( 'Add the Uptonica code to every page', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 197 202 </label> 198 203 <p class="description"> … … 208 213 </tr> 209 214 <tr> 210 <th scope="row"><?php esc_html_e( 'Purchases', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></th> 215 <th scope="row"><?php esc_html_e( 'Forms', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></th> 216 <td> 217 <?php if ( '' === Uptonica_Forms::intake_url() ) : ?> 218 <p class="description"><?php esc_html_e( 'Disconnect and connect again to send your forms to Uptonica: this connection was made by an earlier version of the plugin.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p> 219 <?php else : ?> 220 <label> 221 <input type="checkbox" name="forms_on" value="1" <?php checked( $settings['forms_on'] ); ?>> 222 <?php esc_html_e( 'Send what people submit through your forms to Uptonica', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 223 </label> 224 <p class="description"> 225 <?php 226 $found = Uptonica_Forms::detected(); 227 if ( $found ) { 228 /* translators: %s: names of the form plugins found on the site. */ 229 printf( esc_html__( 'Found on this site: %s.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), esc_html( implode( ', ', $found ) ) ); 230 } else { 231 esc_html_e( 'Works with Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro forms. None is active on this site yet.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); 232 } 233 ?> 234 <?php esc_html_e( 'Each submission with an email becomes a contact in your CRM. It reaches Meta as a lead only when the visitor accepted marketing cookies.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 235 <?php if ( ! empty( $settings['urls']['lead_sources'] ) ) : ?> 236 <a href="<?php echo esc_url( $settings['urls']['lead_sources'] ); ?>" target="_blank" rel="noopener"><?php esc_html_e( 'See them in Uptonica', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></a> 237 <?php endif; ?> 238 </p> 239 <p class="description"> 240 <?php esc_html_e( 'To show an Uptonica form or popup in a page, add the «Uptonica form» block, or the shortcode [uptonica_form id="…"].', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 241 </p> 242 <?php endif; ?> 243 </td> 244 </tr> 245 <tr> 246 <th scope="row"><?php esc_html_e( 'Registrations', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></th> 211 247 <td> 212 248 <label> 213 <input type="checkbox" name=" purchases_on" value="1" <?php checked( $settings['purchases_on']); ?>>214 <?php esc_html_e( ' Send purchases to Uptonica from the server', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>249 <input type="checkbox" name="users_on" value="1" <?php checked( $settings['users_on'] ); ?> <?php disabled( '' === Uptonica_Forms::intake_url() ); ?>> 250 <?php esc_html_e( 'Add people who register on this site to your CRM', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 215 251 </label> 216 252 <p class="description"> 217 <?php esc_html_e( ' A purchase is counted even when the shopper never reaches the thank-you page or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>253 <?php esc_html_e( 'They become contacts, without marketing consent: a registration is not a request to receive emails.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 218 254 </p> 219 255 </td> 220 256 </tr> 257 <?php if ( $woo ) : ?> 258 <tr> 259 <th scope="row"><?php esc_html_e( 'Purchases', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></th> 260 <td> 261 <label> 262 <input type="checkbox" name="purchases_on" value="1" <?php checked( $settings['purchases_on'] ); ?>> 263 <?php esc_html_e( 'Send purchases to Uptonica from the server', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 264 </label> 265 <p class="description"> 266 <?php esc_html_e( 'A purchase is counted even when the shopper never reaches the thank-you page or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 267 </p> 268 </td> 269 </tr> 270 <?php else : ?> 271 <input type="hidden" name="purchases_on" value="<?php echo $settings['purchases_on'] ? '1' : ''; ?>"> 272 <?php endif; ?> 221 273 </table> 222 274 <?php submit_button(); ?> … … 225 277 <hr> 226 278 <h2><?php esc_html_e( 'Disconnect', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></h2> 227 <p style="max-width:42rem"><?php esc_html_e( 'Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?></p> 228 <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>" onsubmit="return window.confirm(this.dataset.confirm);" data-confirm="<?php esc_attr_e( 'Disconnect this store from Uptonica?', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>"> 279 <p style="max-width:42rem"> 280 <?php if ( $woo ) : ?> 281 <?php esc_html_e( 'Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages. Forms stop being sent.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 282 <?php else : ?> 283 <?php esc_html_e( 'Removes the Uptonica code and forms from your pages, and forms stop being sent.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?> 284 <?php endif; ?> 285 </p> 286 <form method="post" action="<?php echo esc_url( admin_url( 'admin-post.php' ) ); ?>" onsubmit="return window.confirm(this.dataset.confirm);" data-confirm="<?php esc_attr_e( 'Disconnect this site from Uptonica?', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ); ?>"> 229 287 <input type="hidden" name="action" value="uptonica_disconnect"> 230 288 <?php wp_nonce_field( 'uptonica_disconnect' ); ?> -
uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/includes/class-uptonica-connection.php
r3740886 r3743350 11 11 * The connect flow. 12 12 * 13 * 1. «Connect» sends the merchant to Uptonica with this site's address, the 14 * address of this admin page and a one-time state value. 15 * 2. Uptonica asks which workspace, then runs WooCommerce's own approval 16 * screen (`/wc-auth/v1/authorize`), which hands Uptonica an API key. 17 * 3. The merchant comes back here with a single-use code, which this plugin 18 * trades server to server for the workspace name and the public site tag 19 * credentials. 13 * 1. «Connect» sends the site owner to Uptonica with this site's address, 14 * the address of this admin page, a one-time state value and whether 15 * WooCommerce runs here. 16 * 2. Uptonica asks which workspace. On a WooCommerce store it then runs 17 * WooCommerce's own approval screen (`/wc-auth/v1/authorize`), which 18 * hands Uptonica an API key; any other site skips that step. 19 * 3. The owner comes back here with a single-use code, which this plugin 20 * trades server to server for the workspace name, the public site tag 21 * credentials and the key of the site's lead source. 20 22 * 21 * The API key never passes through this plugin: WooCommerce sends it to22 * Uptonica directly.23 * The WooCommerce API key never passes through this plugin: WooCommerce 24 * sends it to Uptonica directly. 23 25 */ 24 26 class Uptonica_Connection { … … 79 81 $url = add_query_arg( 80 82 array( 81 'site_url' => rawurlencode( self::site_url() ), 82 'return_url' => rawurlencode( self::page_url() ), 83 'state' => rawurlencode( $state ), 83 'site_url' => rawurlencode( self::site_url() ), 84 'return_url' => rawurlencode( self::page_url() ), 85 'state' => rawurlencode( $state ), 86 'woocommerce' => Uptonica_Settings::has_woocommerce() ? '1' : '0', 84 87 ), 85 88 Uptonica_Settings::app_url() . '/wordpress/connect' … … 99 102 } 100 103 101 if ( ! current_user_can( 'manage_woocommerce') ) {104 if ( ! current_user_can( Uptonica_Settings::capability() ) ) { 102 105 return; 103 106 } … … 148 151 'site_tag' => self::clean_site_tag( isset( $body['site_tag'] ) ? $body['site_tag'] : null ), 149 152 'events_url' => esc_url_raw( isset( $body['events_url'] ) ? $body['events_url'] : '' ), 153 'forms' => self::clean_forms( isset( $body['forms'] ) ? $body['forms'] : null ), 150 154 ) 151 155 ); 152 153 if ( ! $was_connected ) { 156 delete_transient( Uptonica_Blocks::LIST_TRANSIENT ); 157 158 if ( ! $was_connected && Uptonica_Settings::has_woocommerce() ) { 154 159 Uptonica_Webhooks::schedule(); 155 160 } … … 177 182 178 183 /** 184 * Keep the lead source addresses and key, as strings. 185 * 186 * @param mixed $forms Forms block from the exchange. 187 * @return array{intake_url: string, list_url: string, key: string}|array{} 188 */ 189 private static function clean_forms( $forms ) { 190 if ( ! is_array( $forms ) || empty( $forms['intake_url'] ) || empty( $forms['list_url'] ) || empty( $forms['key'] ) ) { 191 return array(); 192 } 193 194 return array( 195 'intake_url' => esc_url_raw( $forms['intake_url'] ), 196 'list_url' => esc_url_raw( $forms['list_url'] ), 197 'key' => sanitize_text_field( $forms['key'] ), 198 ); 199 } 200 201 /** 179 202 * «Disconnect»: revoke what Uptonica was given on this store, then forget 180 203 * the workspace. … … 187 210 self::guard( 'uptonica_disconnect' ); 188 211 189 self::revoke_api_keys(); 190 Uptonica_Webhooks::delete_ours(); 212 if ( Uptonica_Settings::has_woocommerce() ) { 213 self::revoke_api_keys(); 214 Uptonica_Webhooks::delete_ours(); 215 } 191 216 Uptonica_Webhooks::unschedule(); 217 Uptonica_Queue::clear( Uptonica_Forms::SEND_HOOK ); 218 delete_transient( Uptonica_Blocks::LIST_TRANSIENT ); 192 219 Uptonica_Settings::forget_connection(); 193 220 … … 219 246 */ 220 247 private static function guard( $action ) { 221 if ( ! current_user_can( 'manage_woocommerce') ) {248 if ( ! current_user_can( Uptonica_Settings::capability() ) ) { 222 249 wp_die( esc_html__( 'You are not allowed to manage this connection.', 'uptonica-ai-assistant-and-marketing-for-woocommerce' ), '', array( 'response' => 403 ) ); 223 250 } -
uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/includes/class-uptonica-settings.php
r3740886 r3743350 29 29 'site_tag' => null, 30 30 'events_url' => '', 31 'forms' => array(), 31 32 // Off until the merchant turns it on: the tag puts the assistant 32 33 // in front of shoppers, which nobody should get by surprise. 33 34 'site_tag_on' => false, 34 35 'purchases_on' => true, 36 // A form submission is a request to be contacted: on. 37 'forms_on' => true, 38 // A registration is not: off until the site owner says so. 39 'users_on' => false, 35 40 ); 36 41 } … … 69 74 70 75 /** 71 * Forget the workspace. The twoswitches keep their position for a later76 * Forget the workspace. The switches keep their position for a later 72 77 * reconnect. 73 78 */ … … 86 91 true 87 92 ); 93 } 94 95 /** 96 * Whether WooCommerce runs on this site. 97 * 98 * @return bool 99 */ 100 public static function has_woocommerce() { 101 return class_exists( 'WooCommerce' ); 102 } 103 104 /** 105 * Who may connect and configure: shop managers on a WooCommerce store, 106 * administrators elsewhere. 107 * 108 * @return string 109 */ 110 public static function capability() { 111 return self::has_woocommerce() ? 'manage_woocommerce' : 'manage_options'; 88 112 } 89 113 -
uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/languages/uptonica-ai-assistant-and-marketing-for-woocommerce-it_IT.po
r3740886 r3743350 14 14 "X-Domain: uptonica-ai-assistant-and-marketing-for-woocommerce\n" 15 15 16 #. Plugin Name of the plugin17 #: uptonica.php18 msgid "Uptonica – AI assistant and marketing for WooCommerce"19 msgstr "Uptonica – Assistente AI e marketing per WooCommerce"20 21 16 #. Author URI of the plugin 22 17 #: uptonica.php … … 24 19 msgstr "https://uptonica.com/" 25 20 26 #. Description of the plugin27 #: uptonica.php28 msgid "Connect your WooCommerce store to Uptonica in one click: the AI shopping assistant on your site with a switch, store updates that keep arriving, and purchases sent from your server with the shopper's consent."29 msgstr "Collega il tuo negozio WooCommerce a Uptonica con un clic: l'assistente AI sul sito con un interruttore, aggiornamenti del negozio che arrivano sempre e acquisti inviati dal tuo server con il consenso del cliente."30 31 21 #. Author of the plugin 32 22 #: uptonica.php … … 34 24 msgstr "Uptonica" 35 25 36 #: includes/class-uptonica-admin.php:5 926 #: includes/class-uptonica-admin.php:58 37 27 msgid "Settings" 38 28 msgstr "Impostazioni" 39 29 40 #: includes/class-uptonica-admin.php:8 230 #: includes/class-uptonica-admin.php:81 41 31 msgid "Uptonica is installed but not connected yet." 42 32 msgstr "Uptonica è installato ma non ancora collegato." 43 33 44 #: includes/class-uptonica-admin.php:84 45 msgid "Connect your store" 46 msgstr "Collega il negozio" 47 48 #: includes/class-uptonica-admin.php:93 49 #: includes/class-uptonica-connection.php:222 34 #: includes/class-uptonica-admin.php:92 35 #: includes/class-uptonica-connection.php:249 50 36 msgid "You are not allowed to manage this connection." 51 37 msgstr "Non hai i permessi per gestire questo collegamento." 52 38 53 #: includes/class-uptonica-admin.php:117 54 msgid "Your store is connected to Uptonica." 55 msgstr "Il negozio è collegato a Uptonica." 56 57 #: includes/class-uptonica-admin.php:118 58 msgid "Your store is disconnected. Uptonica can no longer read it." 59 msgstr "Il negozio è scollegato. Uptonica non può più leggerlo." 60 61 #: includes/class-uptonica-admin.php:119 39 #: includes/class-uptonica-admin.php:120 62 40 msgid "Settings saved." 63 41 msgstr "Impostazioni salvate." 64 42 65 #: includes/class-uptonica-admin.php:12 043 #: includes/class-uptonica-admin.php:121 66 44 msgid "The connection was cancelled. Nothing was changed." 67 45 msgstr "Il collegamento è stato annullato. Non è cambiato nulla." 68 46 69 #: includes/class-uptonica-admin.php:12 147 #: includes/class-uptonica-admin.php:122 70 48 msgid "This connection attempt expired or was started from another browser. Click Connect again." 71 49 msgstr "Questo tentativo di collegamento è scaduto o è partito da un altro browser. Clicca di nuovo Collega." 72 50 73 #: includes/class-uptonica-admin.php:122 74 msgid "WooCommerce approved the connection, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again." 75 msgstr "WooCommerce ha approvato il collegamento, ma questo sito non è riuscito a raggiungere Uptonica per completarlo. Di solito la causa è un firewall o un plugin di sicurezza che blocca le richieste in uscita. Clicca di nuovo Collega." 76 77 #: includes/class-uptonica-admin.php:146 78 msgid "Uptonica needs WooCommerce. Install and activate WooCommerce, then come back here to connect your store." 79 msgstr "Uptonica ha bisogno di WooCommerce. Installa e attiva WooCommerce, poi torna qui per collegare il negozio." 80 81 #: includes/class-uptonica-admin.php:152 51 #: includes/class-uptonica-admin.php:150 82 52 msgid "Connect your store to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch." 83 53 msgstr "Collega il negozio a Uptonica: catalogo, ordini e clienti restano allineati e puoi aggiungere l'assistente AI al sito con un interruttore." 84 54 85 #: includes/class-uptonica-admin.php:15 555 #: includes/class-uptonica-admin.php:157 86 56 msgid "You will sign in to Uptonica (or create an account), choose the workspace, then approve access on a WooCommerce screen. It takes a minute." 87 57 msgstr "Accederai a Uptonica (o creerai un account), sceglierai il workspace e approverai l'accesso in una schermata di WooCommerce. Serve un minuto." 88 58 89 #: includes/class-uptonica-admin.php:16 059 #: includes/class-uptonica-admin.php:165 90 60 msgid "Connect to Uptonica" 91 61 msgstr "Collega a Uptonica" 92 62 93 #: includes/class-uptonica-admin.php:16 363 #: includes/class-uptonica-admin.php:168 94 64 msgid "Your site is not served over https. WooCommerce may refuse to approve the connection until it is." 95 65 msgstr "Il sito non è servito in https. WooCommerce potrebbe rifiutare il collegamento finché non lo è." 96 66 97 #: includes/class-uptonica-admin.php:17 067 #: includes/class-uptonica-admin.php:175 98 68 msgid "Workspace" 99 69 msgstr "Workspace" 100 70 101 #: includes/class-uptonica-admin.php:17 471 #: includes/class-uptonica-admin.php:179 102 72 msgid "Open in Uptonica" 103 73 msgstr "Apri in Uptonica" 104 74 105 #. translators: %s: date the s tore was connected.106 #: includes/class-uptonica-admin.php:1 7975 #. translators: %s: date the site was connected. 76 #: includes/class-uptonica-admin.php:184 107 77 #, php-format 108 78 msgid "Connected on %s." 109 79 msgstr "Collegato il %s." 110 80 111 #: includes/class-uptonica-admin.php:19 181 #: includes/class-uptonica-admin.php:196 112 82 msgid "On your site" 113 83 msgstr "Sul tuo sito" 114 84 115 #: includes/class-uptonica-admin.php:196 116 msgid "Add the Uptonica code to every page of the shop" 117 msgstr "Aggiungi il codice Uptonica a tutte le pagine del negozio" 118 119 #: includes/class-uptonica-admin.php:199 85 #: includes/class-uptonica-admin.php:204 120 86 msgid "It shows the AI assistant and measures visits, following your cookie banner. What it shows is decided in Uptonica." 121 87 msgstr "Mostra l'assistente AI e misura le visite, rispettando il banner dei cookie. Cosa mostrare si sceglie in Uptonica." 122 88 123 #: includes/class-uptonica-admin.php:20 189 #: includes/class-uptonica-admin.php:206 124 90 msgid "Choose in Uptonica" 125 91 msgstr "Scegli in Uptonica" 126 92 127 #: includes/class-uptonica-admin.php:2 0593 #: includes/class-uptonica-admin.php:210 128 94 msgid "This workspace has no assistant set up yet. Set it up in Uptonica, then disconnect and connect again here." 129 95 msgstr "Questo workspace non ha ancora un assistente. Configuralo in Uptonica, poi scollega e ricollega qui." 130 96 131 #: includes/class-uptonica-admin.php:2 1097 #: includes/class-uptonica-admin.php:259 132 98 msgid "Purchases" 133 99 msgstr "Acquisti" 134 100 135 #: includes/class-uptonica-admin.php:2 14101 #: includes/class-uptonica-admin.php:263 136 102 msgid "Send purchases to Uptonica from the server" 137 103 msgstr "Invia gli acquisti a Uptonica dal server" 138 104 139 #: includes/class-uptonica-admin.php:2 17105 #: includes/class-uptonica-admin.php:266 140 106 msgid "A purchase is counted even when the shopper never reaches the thank-you page or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner." 141 107 msgstr "L'acquisto viene contato anche se il cliente non arriva alla pagina di ringraziamento o blocca gli script. Viene inviato solo se il cliente ha accettato la misurazione nel banner dei cookie." 142 108 143 #: includes/class-uptonica-admin.php:226 144 #: includes/class-uptonica-admin.php:231 109 #: includes/class-uptonica-admin.php:278 includes/class-uptonica-admin.php:289 145 110 msgid "Disconnect" 146 111 msgstr "Scollega" 147 112 148 #: includes/class-uptonica-admin.php:227 149 msgid "Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages." 150 msgstr "Rimuove da questo negozio la chiave di accesso e gli avvisi di aggiornamento concessi a Uptonica, e toglie il codice Uptonica dalle pagine." 151 152 #: includes/class-uptonica-admin.php:228 153 msgid "Disconnect this store from Uptonica?" 154 msgstr "Scollegare questo negozio da Uptonica?" 113 #. Plugin Name of the plugin 114 #: uptonica.php 115 msgid "Uptonica – AI assistant, forms and marketing" 116 msgstr "Uptonica – assistente AI, moduli e marketing" 117 118 #. Description of the plugin 119 #: uptonica.php 120 msgid "Connect your WordPress site or WooCommerce store to Uptonica: your forms become contacts in your CRM, Uptonica forms and popups go in your pages, the AI assistant goes on your site with a switch, and a store's updates and purchases keep arriving." 121 msgstr "Collega il tuo sito WordPress o il tuo negozio WooCommerce a Uptonica: i tuoi moduli diventano contatti nel CRM, moduli e popup di Uptonica entrano nelle tue pagine, l'assistente AI arriva sul sito con un interruttore, e aggiornamenti e acquisti del negozio continuano ad arrivare." 122 123 #: includes/class-uptonica-admin.php:83 124 msgid "Connect your site" 125 msgstr "Collega il tuo sito" 126 127 #: includes/class-uptonica-admin.php:118 128 msgid "Your site is connected to Uptonica." 129 msgstr "Il tuo sito è collegato a Uptonica." 130 131 #: includes/class-uptonica-admin.php:119 132 msgid "Your site is disconnected from Uptonica." 133 msgstr "Il tuo sito è scollegato da Uptonica." 134 135 #: includes/class-uptonica-admin.php:123 136 msgid "The connection was approved, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again." 137 msgstr "Il collegamento è stato approvato, ma questo sito non è riuscito a raggiungere Uptonica per completarlo. Di solito la causa è un firewall o un plugin di sicurezza che blocca le richieste in uscita. Clicca di nuovo su Collega." 138 139 #: includes/class-uptonica-admin.php:152 140 msgid "Connect your site to Uptonica: what people send through your forms becomes contacts in your CRM, and you can add the AI assistant and Uptonica forms and popups to your pages." 141 msgstr "Collega il tuo sito a Uptonica: quello che le persone inviano dai tuoi moduli diventa un contatto nel CRM, e puoi aggiungere alle tue pagine l'assistente AI e i moduli e i popup di Uptonica." 142 143 #: includes/class-uptonica-admin.php:159 144 msgid "You will sign in to Uptonica (or create an account) and choose the workspace. It takes a minute." 145 msgstr "Accederai a Uptonica (o creerai un account) e sceglierai il workspace. Ci vuole un minuto." 146 147 #: includes/class-uptonica-admin.php:201 148 msgid "Add the Uptonica code to every page" 149 msgstr "Aggiungi il codice Uptonica a tutte le pagine" 150 151 #: includes/class-uptonica-admin.php:215 152 msgid "Forms" 153 msgstr "Moduli" 154 155 #: includes/class-uptonica-admin.php:218 156 msgid "Disconnect and connect again to send your forms to Uptonica: this connection was made by an earlier version of the plugin." 157 msgstr "Scollega e ricollega il sito per inviare i tuoi moduli a Uptonica: questo collegamento è stato fatto con una versione precedente del plugin." 158 159 #: includes/class-uptonica-admin.php:222 160 msgid "Send what people submit through your forms to Uptonica" 161 msgstr "Invia a Uptonica quello che le persone inviano dai tuoi moduli" 162 163 #. translators: %s: names of the form plugins found on the site. 164 #: includes/class-uptonica-admin.php:229 165 #, php-format 166 msgid "Found on this site: %s." 167 msgstr "Trovati su questo sito: %s." 168 169 #: includes/class-uptonica-admin.php:231 170 msgid "Works with Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro forms. None is active on this site yet." 171 msgstr "Funziona con Contact Form 7, WPForms, Gravity Forms, Fluent Forms e i moduli di Elementor Pro. Nessuno è ancora attivo su questo sito." 172 173 #: includes/class-uptonica-admin.php:234 174 msgid "Each submission with an email becomes a contact in your CRM. It reaches Meta as a lead only when the visitor accepted marketing cookies." 175 msgstr "Ogni invio con un'email diventa un contatto nel CRM. Arriva a Meta come lead solo se il visitatore ha accettato i cookie di marketing." 176 177 #: includes/class-uptonica-admin.php:236 178 msgid "See them in Uptonica" 179 msgstr "Vedili in Uptonica" 180 181 #: includes/class-uptonica-admin.php:240 182 msgid "To show an Uptonica form or popup in a page, add the «Uptonica form» block, or the shortcode [uptonica_form id=\"…\"]." 183 msgstr "Per mostrare un modulo o un popup di Uptonica in una pagina, aggiungi il blocco «Modulo Uptonica» oppure lo shortcode [uptonica_form id=\"…\"]." 184 185 #: includes/class-uptonica-admin.php:246 186 msgid "Registrations" 187 msgstr "Registrazioni" 188 189 #: includes/class-uptonica-admin.php:250 190 msgid "Add people who register on this site to your CRM" 191 msgstr "Aggiungi al CRM chi si registra su questo sito" 192 193 #: includes/class-uptonica-admin.php:253 194 msgid "They become contacts, without marketing consent: a registration is not a request to receive emails." 195 msgstr "Diventano contatti, senza consenso al marketing: una registrazione non è una richiesta di ricevere email." 196 197 #: includes/class-uptonica-admin.php:281 198 msgid "Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages. Forms stop being sent." 199 msgstr "Rimuove la chiave di accesso e gli avvisi di aggiornamento concessi a Uptonica su questo negozio, e il codice Uptonica dalle tue pagine. I moduli smettono di essere inviati." 200 201 #: includes/class-uptonica-admin.php:283 202 msgid "Removes the Uptonica code and forms from your pages, and forms stop being sent." 203 msgstr "Rimuove il codice e i moduli di Uptonica dalle tue pagine, e i moduli smettono di essere inviati." 204 205 #: includes/class-uptonica-admin.php:286 206 msgid "Disconnect this site from Uptonica?" 207 msgstr "Scollegare questo sito da Uptonica?" 208 209 #: assets/form-block.js:13 assets/form-block.js:51 assets/form-block.js:68 210 msgid "Uptonica form" 211 msgstr "Modulo Uptonica" 212 213 #: assets/form-block.js:14 214 msgid "A form or popup made in Uptonica." 215 msgstr "Un modulo o un popup creato in Uptonica." 216 217 #: assets/form-block.js:39 218 msgid "Connect this site to Uptonica first, from the Uptonica page in the admin menu." 219 msgstr "Prima collega questo sito a Uptonica, dalla pagina Uptonica nel menu di amministrazione." 220 221 #: assets/form-block.js:42 222 msgid "Choose a form" 223 msgstr "Scegli un modulo" 224 225 #: assets/form-block.js:44 226 msgid "popup" 227 msgstr "popup" 228 229 #: assets/form-block.js:61 230 msgid "This workspace has no forms yet." 231 msgstr "Questo workspace non ha ancora moduli." 232 233 #: assets/form-block.js:65 234 msgid "Create or edit forms in Uptonica" 235 msgstr "Crea o modifica i moduli in Uptonica" -
uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/languages/uptonica-ai-assistant-and-marketing-for-woocommerce.pot
r3740886 r3743350 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Uptonica – AI assistant and marketing for WooCommerce 1.0.0\n"5 "Project-Id-Version: Uptonica – AI assistant, forms and marketing 1.1.0\n" 6 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/uptonica-ai-assistant-and-marketing-for-woocommerce\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2026-10-1 2T08:16:31+00:00\n"12 "POT-Creation-Date: 2026-10-13T07:41:03+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 17 17 #. Plugin Name of the plugin 18 18 #: uptonica.php 19 msgid "Uptonica – AI assistant and marketing for WooCommerce"19 msgid "Uptonica – AI assistant, forms and marketing" 20 20 msgstr "" 21 21 22 22 #. Description of the plugin 23 23 #: uptonica.php 24 msgid "Connect your Wo oCommerce store to Uptonica in one click: the AI shopping assistant on your site with a switch, store updates that keep arriving, and purchases sent from your server with the shopper's consent."24 msgid "Connect your WordPress site or WooCommerce store to Uptonica: your forms become contacts in your CRM, Uptonica forms and popups go in your pages, the AI assistant goes on your site with a switch, and a store's updates and purchases keep arriving." 25 25 msgstr "" 26 26 … … 35 35 msgstr "" 36 36 37 #: includes/class-uptonica-admin.php:5 937 #: includes/class-uptonica-admin.php:58 38 38 msgid "Settings" 39 39 msgstr "" 40 40 41 #: includes/class-uptonica-admin.php:8 241 #: includes/class-uptonica-admin.php:81 42 42 msgid "Uptonica is installed but not connected yet." 43 43 msgstr "" 44 44 45 #: includes/class-uptonica-admin.php:8 446 msgid "Connect your s tore"47 msgstr "" 48 49 #: includes/class-uptonica-admin.php:9 350 #: includes/class-uptonica-connection.php:2 2245 #: includes/class-uptonica-admin.php:83 46 msgid "Connect your site" 47 msgstr "" 48 49 #: includes/class-uptonica-admin.php:92 50 #: includes/class-uptonica-connection.php:249 51 51 msgid "You are not allowed to manage this connection." 52 52 msgstr "" 53 53 54 #: includes/class-uptonica-admin.php:11755 msgid "Your store is connected to Uptonica."56 msgstr ""57 58 54 #: includes/class-uptonica-admin.php:118 59 msgid "Your s tore is disconnected. Uptonica can no longer read it."55 msgid "Your site is connected to Uptonica." 60 56 msgstr "" 61 57 62 58 #: includes/class-uptonica-admin.php:119 59 msgid "Your site is disconnected from Uptonica." 60 msgstr "" 61 62 #: includes/class-uptonica-admin.php:120 63 63 msgid "Settings saved." 64 64 msgstr "" 65 65 66 #: includes/class-uptonica-admin.php:12 066 #: includes/class-uptonica-admin.php:121 67 67 msgid "The connection was cancelled. Nothing was changed." 68 68 msgstr "" 69 69 70 #: includes/class-uptonica-admin.php:12 170 #: includes/class-uptonica-admin.php:122 71 71 msgid "This connection attempt expired or was started from another browser. Click Connect again." 72 72 msgstr "" 73 73 74 #: includes/class-uptonica-admin.php:12 275 msgid " WooCommerce approved the connection, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again."76 msgstr "" 77 78 #: includes/class-uptonica-admin.php:1 4679 msgid " Uptonica needs WooCommerce. Install and activate WooCommerce, then come back here to connect your store."74 #: includes/class-uptonica-admin.php:123 75 msgid "The connection was approved, but this site could not reach Uptonica to finish it. A firewall or security plugin blocking outgoing requests is the usual cause. Click Connect again." 76 msgstr "" 77 78 #: includes/class-uptonica-admin.php:150 79 msgid "Connect your store to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch." 80 80 msgstr "" 81 81 82 82 #: includes/class-uptonica-admin.php:152 83 msgid "Connect your s tore to Uptonica: your catalog, orders and customers stay in sync, and you can add the AI shopping assistant to your site with a switch."84 msgstr "" 85 86 #: includes/class-uptonica-admin.php:15 583 msgid "Connect your site to Uptonica: what people send through your forms becomes contacts in your CRM, and you can add the AI assistant and Uptonica forms and popups to your pages." 84 msgstr "" 85 86 #: includes/class-uptonica-admin.php:157 87 87 msgid "You will sign in to Uptonica (or create an account), choose the workspace, then approve access on a WooCommerce screen. It takes a minute." 88 88 msgstr "" 89 89 90 #: includes/class-uptonica-admin.php:160 90 #: includes/class-uptonica-admin.php:159 91 msgid "You will sign in to Uptonica (or create an account) and choose the workspace. It takes a minute." 92 msgstr "" 93 94 #: includes/class-uptonica-admin.php:165 91 95 msgid "Connect to Uptonica" 92 96 msgstr "" 93 97 94 #: includes/class-uptonica-admin.php:16 398 #: includes/class-uptonica-admin.php:168 95 99 msgid "Your site is not served over https. WooCommerce may refuse to approve the connection until it is." 96 100 msgstr "" 97 101 98 #: includes/class-uptonica-admin.php:17 0102 #: includes/class-uptonica-admin.php:175 99 103 msgid "Workspace" 100 104 msgstr "" 101 105 102 #: includes/class-uptonica-admin.php:17 4106 #: includes/class-uptonica-admin.php:179 103 107 msgid "Open in Uptonica" 104 108 msgstr "" 105 109 106 #. translators: %s: date the s tore was connected.107 #: includes/class-uptonica-admin.php:1 79110 #. translators: %s: date the site was connected. 111 #: includes/class-uptonica-admin.php:184 108 112 #, php-format 109 113 msgid "Connected on %s." 110 114 msgstr "" 111 115 112 #: includes/class-uptonica-admin.php:19 1116 #: includes/class-uptonica-admin.php:196 113 117 msgid "On your site" 114 118 msgstr "" 115 119 116 #: includes/class-uptonica-admin.php: 196117 msgid "Add the Uptonica code to every page of the shop"118 msgstr "" 119 120 #: includes/class-uptonica-admin.php: 199120 #: includes/class-uptonica-admin.php:201 121 msgid "Add the Uptonica code to every page" 122 msgstr "" 123 124 #: includes/class-uptonica-admin.php:204 121 125 msgid "It shows the AI assistant and measures visits, following your cookie banner. What it shows is decided in Uptonica." 122 126 msgstr "" 123 127 124 #: includes/class-uptonica-admin.php:20 1128 #: includes/class-uptonica-admin.php:206 125 129 msgid "Choose in Uptonica" 126 130 msgstr "" 127 131 128 #: includes/class-uptonica-admin.php:2 05132 #: includes/class-uptonica-admin.php:210 129 133 msgid "This workspace has no assistant set up yet. Set it up in Uptonica, then disconnect and connect again here." 130 134 msgstr "" 131 135 132 #: includes/class-uptonica-admin.php:210 136 #: includes/class-uptonica-admin.php:215 137 msgid "Forms" 138 msgstr "" 139 140 #: includes/class-uptonica-admin.php:218 141 msgid "Disconnect and connect again to send your forms to Uptonica: this connection was made by an earlier version of the plugin." 142 msgstr "" 143 144 #: includes/class-uptonica-admin.php:222 145 msgid "Send what people submit through your forms to Uptonica" 146 msgstr "" 147 148 #. translators: %s: names of the form plugins found on the site. 149 #: includes/class-uptonica-admin.php:229 150 #, php-format 151 msgid "Found on this site: %s." 152 msgstr "" 153 154 #: includes/class-uptonica-admin.php:231 155 msgid "Works with Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro forms. None is active on this site yet." 156 msgstr "" 157 158 #: includes/class-uptonica-admin.php:234 159 msgid "Each submission with an email becomes a contact in your CRM. It reaches Meta as a lead only when the visitor accepted marketing cookies." 160 msgstr "" 161 162 #: includes/class-uptonica-admin.php:236 163 msgid "See them in Uptonica" 164 msgstr "" 165 166 #: includes/class-uptonica-admin.php:240 167 msgid "To show an Uptonica form or popup in a page, add the «Uptonica form» block, or the shortcode [uptonica_form id=\"…\"]." 168 msgstr "" 169 170 #: includes/class-uptonica-admin.php:246 171 msgid "Registrations" 172 msgstr "" 173 174 #: includes/class-uptonica-admin.php:250 175 msgid "Add people who register on this site to your CRM" 176 msgstr "" 177 178 #: includes/class-uptonica-admin.php:253 179 msgid "They become contacts, without marketing consent: a registration is not a request to receive emails." 180 msgstr "" 181 182 #: includes/class-uptonica-admin.php:259 133 183 msgid "Purchases" 134 184 msgstr "" 135 185 136 #: includes/class-uptonica-admin.php:2 14186 #: includes/class-uptonica-admin.php:263 137 187 msgid "Send purchases to Uptonica from the server" 138 188 msgstr "" 139 189 140 #: includes/class-uptonica-admin.php:2 17190 #: includes/class-uptonica-admin.php:266 141 191 msgid "A purchase is counted even when the shopper never reaches the thank-you page or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner." 142 192 msgstr "" 143 193 144 #: includes/class-uptonica-admin.php:2 26145 #: includes/class-uptonica-admin.php:2 31194 #: includes/class-uptonica-admin.php:278 195 #: includes/class-uptonica-admin.php:289 146 196 msgid "Disconnect" 147 197 msgstr "" 148 198 149 #: includes/class-uptonica-admin.php:227 150 msgid "Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages." 151 msgstr "" 152 153 #: includes/class-uptonica-admin.php:228 154 msgid "Disconnect this store from Uptonica?" 155 msgstr "" 199 #: includes/class-uptonica-admin.php:281 200 msgid "Removes the access key and the update notifications Uptonica was given on this store, and the Uptonica code from your pages. Forms stop being sent." 201 msgstr "" 202 203 #: includes/class-uptonica-admin.php:283 204 msgid "Removes the Uptonica code and forms from your pages, and forms stop being sent." 205 msgstr "" 206 207 #: includes/class-uptonica-admin.php:286 208 msgid "Disconnect this site from Uptonica?" 209 msgstr "" 210 211 #: assets/form-block.js:13 212 #: assets/form-block.js:51 213 #: assets/form-block.js:68 214 msgid "Uptonica form" 215 msgstr "" 216 217 #: assets/form-block.js:14 218 msgid "A form or popup made in Uptonica." 219 msgstr "" 220 221 #: assets/form-block.js:39 222 msgid "Connect this site to Uptonica first, from the Uptonica page in the admin menu." 223 msgstr "" 224 225 #: assets/form-block.js:42 226 msgid "Choose a form" 227 msgstr "" 228 229 #: assets/form-block.js:44 230 msgid "popup" 231 msgstr "" 232 233 #: assets/form-block.js:61 234 msgid "This workspace has no forms yet." 235 msgstr "" 236 237 #: assets/form-block.js:65 238 msgid "Create or edit forms in Uptonica" 239 msgstr "" -
uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/readme.txt
r3740994 r3743350 1 === Uptonica – AI assistant and marketing for WooCommerce===1 === Uptonica – AI assistant, forms and marketing === 2 2 Contributors: uptonica 3 Tags: woocommerce, ai assistant, chatbot, email marketing, analytics3 Tags: crm, forms, ai assistant, woocommerce, lead generation 4 4 Requires at least: 6.3 5 5 Tested up to: 7.1 6 6 Requires PHP: 7.4 7 Stable tag: 1. 0.17 Stable tag: 1.1.0 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 10 11 Connect your Wo oCommerce store to Uptonica in one click: an AI shopping assistant on your site, marketing automations and reliable sales data.11 Connect your WordPress site or WooCommerce store to Uptonica: your forms become CRM contacts, Uptonica forms and popups in your pages, an AI assistant. 12 12 13 13 == Description == 14 14 15 [Uptonica](https://uptonica.com/) is an AI platform for online stores: an AI shopping assistant that answers your customers from your real catalog, email and WhatsApp automations, product content and advertising reports.15 [Uptonica](https://uptonica.com/) is an AI marketing platform: a CRM with email and WhatsApp automations, forms and popups, an AI assistant that answers your visitors, and, for online stores, product content and advertising reports. 16 16 17 This plugin connects your WooCommerce store to your Uptonica workspace without copying API keys by hand.17 This plugin connects your site to your Uptonica workspace without copying keys or code by hand. It works on any WordPress site; on a WooCommerce store it also connects the store. 18 18 19 = What the plugin does=19 = On every site = 20 20 21 * **One-click connection.** Click «Connect to Uptonica», choose your workspace, approve access on the standard WooCommerce screen. Your catalog, orders and customers stay in sync. 22 * **The assistant with a switch.** Add the Uptonica code to every page of the shop without editing your theme or Tag Manager. What it shows (the assistant, visit measurement) is chosen in Uptonica. 23 * **Store updates that keep arriving.** WooCommerce switches a webhook off after a few failed deliveries and drops the failed ones. For Uptonica's webhooks, the plugin sends failed deliveries again later and switches them back on, so your store never silently stops updating. 21 * **One-click connection.** Click «Connect to Uptonica» and choose your workspace. 22 * **Your forms become contacts.** What people send through Contact Form 7, WPForms, Gravity Forms, Fluent Forms or Elementor Pro forms also reaches your Uptonica CRM: each submission with an email becomes a contact, shows in «Lead sources» and can start your automations. Your forms keep working as before. 23 * **Uptonica forms and popups in your pages.** Add the «Uptonica form» block, or the `[uptonica_form id="…"]` shortcode, to show a form or popup made in Uptonica. 24 * **Leads counted from the server.** A form submission reaches Meta as a lead, from your server, only when the visitor accepted marketing cookies, so a blocked browser script does not lose it. 25 * **Registrations as contacts.** Optionally, people who register on your site join your CRM (without marketing consent). 26 * **The assistant with a switch.** Add the Uptonica code to every page without editing your theme or Tag Manager. What it shows (the assistant, visit measurement) is chosen in Uptonica. 27 28 = On a WooCommerce store, also = 29 30 * **Store connection.** Approve access on the standard WooCommerce screen: your catalog, orders and customers stay in sync. 31 * **Store updates that keep arriving.** WooCommerce switches a webhook off after a few failed deliveries and drops the failed ones. For Uptonica's webhooks, the plugin sends failed deliveries again later and switches them back on. 24 32 * **Purchases from the server.** A purchase is counted even when the shopper pays on an external page and never returns to the thank-you page, or blocks scripts. It is sent only when the shopper accepted measurement in your cookie banner. 25 33 26 34 = Requirements = 27 35 28 * WooCommerce 8.0 or later.29 36 * An Uptonica account. You can create one during the connection. 30 * Asite served over https (WooCommerce's approval screen requires it).37 * For the store features: WooCommerce 8.0 or later and a site served over https (WooCommerce's approval screen requires it). 31 38 32 39 == External services == … … 34 41 This plugin connects to Uptonica (https://uptonica.com/), a service run by the plugin's author. Without it the plugin does nothing. 35 42 36 * **When you click «Connect to Uptonica»**, your browser is sent to app.uptonica.com with your site address and the address of the plugin page. After you approve on the WooCommerce screen, WooCommerce sends Uptonica a REST API key for your store, and the plugin calls `https://app.uptonica.com/api/wordpress/v1/exchange` once, from your server, to learn which workspace it joined. 37 * **When «Add the Uptonica code to every page» is on**, every page of the shop loads `https://app.uptonica.com/widget/uptonica.js`. It shows the AI assistant and, following your cookie banner, measures visits. Visitors' browsers then talk to app.uptonica.com. 38 * **When «Send purchases from the server» is on**, each paid order whose shopper accepted measurement is sent from your server to `https://app.uptonica.com/api/events`: order number, total, currency, products, the shopper's email (used to match the purchase to an existing contact and not stored on the event), IP address and browser user agent, and the analytics cookies already on the shopper's device (`_uton_aid`, `_ga`, `_fbp`, `_fbc`). 43 * **When you click «Connect to Uptonica»**, your browser is sent to app.uptonica.com with your site address, the address of the plugin page and whether WooCommerce is active. On a store, after you approve on the WooCommerce screen, WooCommerce sends Uptonica a REST API key for your store. Then the plugin calls `https://app.uptonica.com/api/wordpress/v1/exchange` once, from your server, to learn which workspace it joined and receive the key of your site's lead source. 44 * **When «Send what people submit through your forms» is on**, each submission with an email is sent from your server to your lead source at `https://app.uptonica.com/api/crm/forms/intake/…`: the fields the person filled in, the form's name, their IP address and browser user agent, the Uptonica visitor id (`_uton_aid`) when they accepted measurement, and the Meta click id from `_fbc` when they accepted marketing. 45 * **When «Add people who register on this site» is on**, each new account's email and name are sent the same way. 46 * **In the block editor**, the «Uptonica form» block reads the list of your workspace's forms from `https://app.uptonica.com/api/wordpress/v1/forms`. A page with the block or shortcode loads the form from `https://app.uptonica.com/f/…`, and the visitor's browser then talks to app.uptonica.com. 47 * **When «Add the Uptonica code to every page» is on**, every page loads `https://app.uptonica.com/widget/uptonica.js`. It shows the AI assistant and, following your cookie banner, measures visits. 48 * **When «Send purchases from the server» is on** (stores only), each paid order whose shopper accepted measurement is sent from your server to `https://app.uptonica.com/api/events`: order number, total, currency, products, the shopper's email (used to match the purchase to an existing contact and not stored on the event), IP address and browser user agent, and the analytics cookies already on the shopper's device (`_uton_aid`, `_ga`, `_fbp`, `_fbc`). 39 49 * **Store updates** are sent by WooCommerce's own webhooks, which Uptonica registers on your store during the connection. 40 50 … … 43 53 == Installation == 44 54 45 1. Install and activate WooCommerce. 46 2. Install and activate this plugin. 47 3. Go to WooCommerce → Uptonica and click «Connect to Uptonica». 55 1. Install and activate this plugin. 56 2. Open the Uptonica page (in the admin menu, or under WooCommerce on a store) and click «Connect to Uptonica». 48 57 49 58 == Frequently Asked Questions == 50 59 60 = Do I need WooCommerce? = 61 62 No. Without WooCommerce you get the forms, the registrations, the Uptonica code and the block. WooCommerce adds the store connection, its updates and purchases. 63 51 64 = Does the plugin store my API keys? = 52 65 53 No. WooCommerce creates the key on its approval screen and sends it to Uptonica directly. The plugin only stores the workspace name and the public code of your Uptonica site tag. 66 No WooCommerce key: WooCommerce creates it on its approval screen and sends it to Uptonica directly. The plugin stores the workspace name, the public code of your Uptonica site tag and the key of your site's lead source, which it never prints in a page. 67 68 = Which form plugins are supported? = 69 70 Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro forms. A submission without an email address is not sent. 54 71 55 72 = How do I disconnect? = 56 73 57 WooCommerce → Uptonica → Disconnect. It deletes the API key and the webhooks Uptonica was given on your store and removes the Uptonica code from your pages.74 Uptonica → Disconnect. On a store it also deletes the API key and the webhooks Uptonica was given. Your pages lose the Uptonica code and forms, and submissions stop being sent. 58 75 59 = Which cookie banners are supported for purchases sent from the server? =76 = Which cookie banners are supported? = 60 77 61 Any banner that implements the WP Consent API, plus Complianz, CookieYes, Cookiebot, OneTrust and iubenda. With any other banner, a purchase is sent only if the Uptonica code had already been allowed to measure that visitor .78 Any banner that implements the WP Consent API, plus Complianz, CookieYes, Cookiebot, OneTrust and iubenda. With any other banner, a purchase is sent only if the Uptonica code had already been allowed to measure that visitor, and a form submission still becomes a contact but never reaches Meta. 62 79 63 80 == Changelog == 81 82 = 1.1.0 = 83 * Works on any WordPress site, with or without WooCommerce. 84 * Submissions from Contact Form 7, WPForms, Gravity Forms, Fluent Forms and Elementor Pro become contacts in Uptonica, and leads for Meta with the visitor's consent. 85 * «Uptonica form» block and `[uptonica_form]` shortcode for Uptonica forms and popups. 86 * Optional: people who register on the site become contacts. 64 87 65 88 = 1.0.1 = -
uptonica-ai-assistant-and-marketing-for-woocommerce/trunk/uptonica.php
r3740994 r3743350 1 1 <?php 2 2 /** 3 * Plugin Name: Uptonica – AI assistant and marketing for WooCommerce4 * Description: Connect your Wo oCommerce store to Uptonica in one click: the AI shopping assistant on your site with a switch, store updates that keep arriving, and purchases sent from your server with the shopper's consent.5 * Version: 1. 0.13 * Plugin Name: Uptonica – AI assistant, forms and marketing 4 * Description: Connect your WordPress site or WooCommerce store to Uptonica: your forms become contacts in your CRM, Uptonica forms and popups go in your pages, the AI assistant goes on your site with a switch, and a store's updates and purchases keep arriving. 5 * Version: 1.1.0 6 6 * Requires at least: 6.3 7 7 * Requires PHP: 7.4 8 * Requires Plugins: woocommerce9 8 * Author: Uptonica 10 9 * Author URI: https://uptonica.com/ … … 21 20 defined( 'ABSPATH' ) || exit; 22 21 23 define( 'UPTONICA_VERSION', '1. 0.1' );22 define( 'UPTONICA_VERSION', '1.1.0' ); 24 23 define( 'UPTONICA_FILE', __FILE__ ); 25 24 define( 'UPTONICA_DIR', plugin_dir_path( __FILE__ ) ); … … 37 36 require_once UPTONICA_DIR . 'includes/class-uptonica-consent.php'; 38 37 require_once UPTONICA_DIR . 'includes/class-uptonica-purchase-events.php'; 38 require_once UPTONICA_DIR . 'includes/class-uptonica-queue.php'; 39 require_once UPTONICA_DIR . 'includes/class-uptonica-forms.php'; 40 require_once UPTONICA_DIR . 'includes/class-uptonica-users.php'; 41 require_once UPTONICA_DIR . 'includes/class-uptonica-blocks.php'; 39 42 40 43 // HPOS and the block checkout: everything here reads orders through the … … 59 62 Uptonica_Admin::init(); 60 63 Uptonica_Connection::init(); 64 Uptonica_Site_Tag::init(); 65 Uptonica_Forms::init(); 66 Uptonica_Users::init(); 67 Uptonica_Blocks::init(); 61 68 62 if ( ! class_exists( 'WooCommerce' ) ) { 69 // What only a store has: its webhooks to keep alive and its purchases. 70 if ( ! Uptonica_Settings::has_woocommerce() ) { 63 71 return; 64 72 } 65 73 66 Uptonica_Site_Tag::init();67 74 Uptonica_Webhooks::init(); 68 75 Uptonica_Purchase_Events::init();
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)