diff --git a/.vscode/ftp-kr.json b/.vscode/ftp-kr.json index 022fa3e..ab48f12 100644 --- a/.vscode/ftp-kr.json +++ b/.vscode/ftp-kr.json @@ -2,7 +2,7 @@ "host": "145.223.76.240", "username": "u350065327", "password": "QpJFkYkT48TwiWOm!", - "remotePath": "/domains/lightseagreen-crab-771745.hostingersite.com/public_html", + "remotePath": "/domains/hubertus.rzeszow.pl/public_html", "protocol": "ftp", "port": 0, "fileNameEncoding": "utf8", diff --git a/.vscode/sftp.json b/.vscode/sftp.json index fb18ddf..7333876 100644 --- a/.vscode/sftp.json +++ b/.vscode/sftp.json @@ -5,7 +5,7 @@ "port": 21, "username": "u350065327", "password": "QpJFkYkT48TwiWOm!", - "remotePath": "/domains/lightseagreen-crab-771745.hostingersite.com/public_html", + "remotePath": "/domains/hubertus.rzeszow.pl/public_html", "uploadOnSave": false, "useTempFile": false, "openSsh": false diff --git a/wp-content/object-cache.php b/wp-content/object-cache.php new file mode 100644 index 0000000..cf00545 --- /dev/null +++ b/wp-content/object-cache.php @@ -0,0 +1,57 @@ +atfpp_register_hooks(); + $this->atfpp_initialize_license(); + // Add error notice hook + add_action('atfpp_display_admin_notices', array($this, 'atfpp_display_license_error_messages')); + add_action('atfpp_display_admin_notices', array($this, 'atfpp_display_license_key_notice')); + } + + + private function atfpp_register_hooks() { + add_action( 'admin_print_styles', [ $this, 'atfpp_set_admin_style' ] ); + add_action( 'admin_menu', array( $this, 'atfpp_add_submenu_page' ), 11 ); + add_action('admin_post_AIAutomaticTranslationsForPolylang_el_activate_license', [$this, 'atfpp_handle_license_activation']); + add_action('admin_post_AIAutomaticTranslationsForPolylang_el_deactivate_license', [$this, 'atfpp_handle_license_deactivation']); + add_action('wp_ajax_atfpp_refresh_license_ajax', [$this, 'atfpp_handle_refresh_license_ajax']); + } + + private function atfpp_initialize_license() { + $licenseKey = get_option(self::OPTION_LICENSE_KEY, ""); + $liceEmail = get_option(self::OPTION_LICENSE_EMAIL, get_bloginfo('admin_email')); + + AI_Automatic_Translations_For_Polylang_Base::add_on_delete(function(){ + delete_option(self::OPTION_LICENSE_KEY); + delete_option(self::OPTION_LICENSE_EMAIL); + }); + + if (AI_Automatic_Translations_For_Polylang_Base::CheckWPPlugin($licenseKey, $liceEmail, $this->licenseMessage, $this->responseObj, $this->plugin_file)) { + self::$form_status = true; + } else { + self::$form_status = false; + if(!empty($licenseKey) && !empty($this->licenseMessage)) { + $this->showMessage = true; + } + } + } + + function atfpp_set_admin_style() { + if (isset($_GET['page']) && $_GET['page'] === 'polylang-atfpp-dashboard') { + wp_enqueue_style( + 'atfpp-dashboard-style', + ATFPP_URL . 'admin/atfpp-dashboard/css/admin-styles.css', + array(), + ATFPP_V, + 'all' + ); + wp_enqueue_style("atfpp-dashboard-style"); + + wp_enqueue_script( + 'atfpp-dashboard-script', + ATFPP_URL . 'admin/atfpp-dashboard/js/atfpp-glossary.js', + array('jquery','underscore'), // dependencies + ATFPP_V, + true // load in footer + ); + + // Fetch Polylang languages + $pll_languages_serialized = get_option('_transient_pll_languages_list'); + $pll_languages = []; + if ($pll_languages_serialized) { + $pll_languages = maybe_unserialize($pll_languages_serialized); + } + $languages = []; + if (is_array($pll_languages)) { + foreach ($pll_languages as $pll_lang) { + $languages[] = [ + 'code' => $pll_lang['slug'], + 'alt' => $pll_lang['name'], + 'img' => $pll_lang['flag_url'], + ]; + } + } + + wp_localize_script('atfpp-dashboard-script', 'atfpp_glossary', array( + 'ajaxurl' => admin_url('admin-ajax.php'), + 'atfpp_languages' => $languages, + 'url' => ATFPP_URL, + 'file' => 'file.svg', + 'nonce' => wp_create_nonce('atfpp_glossary_nonce'), + )); + } + + wp_enqueue_script( + 'atfpp-dashboard-plugin-setting', + ATFPP_URL . 'admin/atfpp-dashboard/js/atfpp-plugin-setting.js', + array('jquery'), + ATFPP_V, + true + ); + + wp_enqueue_script( + 'atfpp-dashboard-data-share', + ATFPP_URL . 'admin/atfpp-dashboard/js/atfpp-data-share-setting.js', + array('jquery'), + ATFPP_V, + true + ); + + wp_localize_script( 'atfpp-dashboard-data-share', 'atfpp_ajax', array( + 'nonce' => wp_create_nonce('atfpp_refresh_license_nonce'), + 'ajaxurl' => admin_url('admin-ajax.php') + ) ); + + } + + /* + |------------------------------------------------------- + | AI Automatic Translate Addon For Polylang admin page + |------------------------------------------------------- + */ + function atfpp_add_submenu_page() { + add_submenu_page( + 'mlang', // Parent slug + __( 'AutoPoly - AI Translation For Polylang', 'autopoly-ai-translation-for-polylang-pro' ), // Page title + __( 'AutoPoly', 'autopoly-ai-translation-for-polylang-pro' ), // Menu title + 'manage_options', // Capability + // $this->slug, // Menu slug + 'polylang-atfpp-dashboard', //Menu slug + array( $this, 'atfpp_dashboard_page' ) // Callback function + ); + } + + /** + * Render the dashboard page with dynamic text domain support + * + * @param string $text_domain The text domain for translations (default: 'autopoly-ai-translation-for-polylang-pro') + */ + function atfpp_dashboard_page() { + $text_domain = 'autopoly-ai-translation-for-polylang-pro'; + $file_prefix = ATFPP_DIR_PATH . 'admin/atfpp-dashboard/views/'; + + $valid_tabs = $this->atfpp_get_valid_tabs($text_domain); + $buttons = $this->atfpp_get_action_buttons($text_domain); + + // Get current tab with fallback + $tab = isset($_GET['tab']) ? sanitize_key($_GET['tab']) : 'dashboard'; + $current_tab = array_key_exists($tab, $valid_tabs) ? $tab : 'dashboard'; + + ?> +
licenseMessage); ?>
+licenseMessage); ?>
+${message}
| + ${atfpp_glossary.atfpp_languages.filter(lang => + !(singleLanguageMode && lang.code === singleLanguageCode) + ).map(lang => + ` |
+ ${lang.flag ? lang.flag : ` | `
+ ).join('')}
+ + + | +|||
|---|---|---|---|---|---|
| Glossary Entry | +Type | + ${atfpp_glossary.atfpp_languages.filter(lang => + !(singleLanguageMode && lang.code === singleLanguageCode) + ).map(lang => + `${lang.alt} | ` + ).join('')} +Actions | +||
+ +
+| + | + | + | + | + |
|---|
+ | + + + | + '; + ?> + | + ++ + | +|||
|---|---|---|---|---|---|
| Glossary Entry | +Type | + + ++ + | + +Actions | +||
|
+
+
+
+
+
+
+ |
+
+ + + + + | + + ++ + + + + + + + + + + + + + + + + + | + + ++ + | +||
+ +
+ + ++ ' . esc_html__('license key', $text_domain) . '') ?> +
+', ''); ?>
+', ''); ?>
+', ''); ?>
+' . wp_kses($message, ['a' => ['href' => [], 'target' => []]]) . '
+ +
+ +| + | + | + | + | + |
|---|
' . esc_html__('Opt in to receive email updates about security improvements, new features, helpful tutorials, and occasional special offers. We\'ll collect:', 'ccpw') . '
'; + $output .= ''.$message.'
'.$message.'
' + message + '
'+message+"
").addClass("dt-column-title").append(r.childNodes).appendTo(r),d)&&0===H("span.dt-column-order",r).length&&H("").addClass("dt-column-order").appendTo(r),i=0;i")[0],kt=void 0!==Et.textContent;function Mt(i){var l,e,n,t,s=i.oInit,u=i.deferLoading,c=J(i);i.bInitialised?(wt(i,"header"),wt(i,"footer"),n=function(){_t(i,i.aoHeader),_t(i,i.aoFooter);var n=i.iInitDisplayStart;if(s.aaData)for(l=0;l").attr("data-dt-row",i.idx).addClass(e),H("td",n).addClass(e).html(t)[0].colSpan=ot(o),s.push(n[0]))}var s=[];l(t,e),i._details&&i._details.detach(),i._details=H(s),i._detailsShow&&i._details.insertAfter(i.nTr)}function fe(t,e){var n=t.context;if(n.length&&t.length){var a=n[0].aoData[t[0]];if(a._details){(a._detailsShow=e)?(a._details.insertAfter(a.nTr),H(a.nTr).addClass("dt-hasChild")):(a._details.detach(),H(a.nTr).removeClass("dt-hasChild")),G(n[0],null,"childRow",[e,t.row(t[0])]);var i=n[0],r=new X(i),a=".dt.DT_details",e="draw"+a,t="column-sizing"+a,a="destroy"+a,l=i.aoData;if(r.off(e+" "+t+" "+a),m(l,"_details").length>0){r.on(e,function(t,e){if(i!==e)return;r.rows({page:"current"}).eq(0).each(function(t){var e=l[t];if(e._detailsShow)e._details.insertAfter(e.nTr)})});r.on(t,function(t,e){if(i!==e)return;var n,a=ot(e);for(var r=0,o=l.length;r "+Array(t).join(" ")+" "),n=(H(this.table().body()).append(t),t.children().map(function(){return H(this).outerWidth()}));return t.remove(),this.iterator("column",function(t,e){t=rt(t,e);return null!==t?n[t]:0},1)}),t("columns().indexes()","column().index()",function(n){return this.iterator("column",function(t,e){return"visible"===n?rt(t,e):e},1)}),e("columns.adjust()",function(){return this.iterator("table",function(t){nt(t)},1)}),e("column.index()",function(t,e){var n;if(0!==this.context.length)return n=this.context[0],"fromVisible"===t||"toData"===t?at(n,e):"fromData"===t||"toVisible"===t?rt(n,e):void 0}),e("column()",function(t,e){return ce(this.columns(t,e))}),e("cells()",function(g,t,v){var a,r,o,i,l,s,e;return H.isPlainObject(g)&&(void 0===g.row?(v=g,g=null):(v=t,t=null)),H.isPlainObject(t)&&(v=t,t=null),null==t?this.iterator("table",function(t){return a=t,t=g,e=ue(v),d=a.aoData,f=ve(a,e),n=A(b(d,f,"anCells")),h=H(M([],n)),p=a.aoColumns.length,se("cell",t,function(t){var e,n="function"==typeof t;if(null==t||n){for(o=[],i=0,l=f.length;i