PluginProbe
Translation with DeepL API / 2.4.5
Translation with DeepL API v2.4.5
trunk 0.1.20180323 1.0 1.2.5.1 1.5.2.5 1.7.5 2.4.3.12 2.4.3.9 2.4.5
← All changes | wpdeepl.php +149 -99 1.02.4.5 View file →
@@ -1,99 +1,149 @@
1 -<?php
2 -/**
3 - * Plugin Name: DeepL for WordPress : translation plugin
4 - * Description: Get DeepL translation magic right inside your WordPress editor (with a paid DeepL Pro account)
5 - * Version: 1.0
6 - * Plugin Slug: wpdeepl
7 - * Author: Fluenx
8 - * Author URI: https://www.fluenx.com/
9 - * Requires at least: 4.0.0
10 - * Tested up to: 5.0.3
11 - * Text Domain: wpdeepl
12 - * Domain Path: /languages
13 - */
14 -
15 -if( !function_exists( 'is_admin' ) || !is_admin() )
16 - return;
17 -
18 -defined( 'WPDEEPL_FLAVOR' ) or define( 'WPDEEPL_FLAVOR', 'free' );
19 -defined( 'WPDEEPL_NAME' ) or define( 'WPDEEPL_NAME', plugin_basename( __FILE__ ) ); // plugin name as known by WP.
20 -defined( 'WPDEEPL_SLUG' ) or define( 'WPDEEPL_SLUG', 'wpdeepl' );// plugin slug ( should match above meta: Text Domain ).
21 -defined( 'WPDEEPL_DIR' ) or define( 'WPDEEPL_DIR', dirname( __FILE__ ) ); // our directory.
22 -defined( 'WPDEEPL_PATH' ) or define( 'WPDEEPL_PATH', realpath( __DIR__ ) ); // our directory.
23 -defined( 'WPDEEPL_URL' ) or define( 'WPDEEPL_URL', plugins_url( '', __FILE__ ) );
24 -$plugin_data = get_file_data( __FILE__, array( 'Version' => 'Version' ), false );
25 -defined( 'WPDEEPL_VERSION' ) or define( 'WPDEEPL_VERSION', $plugin_data['Version'] );
26 -
27 -$wp_upload_dir = wp_upload_dir();
28 -defined( 'WPDEEPL_FILES' ) or define( 'WPDEEPL_FILES', trailingslashit( $wp_upload_dir['basedir'] ) . 'wpdeepl' );
29 -defined( 'WPDEEPL_FILES_URL' ) or define( 'WPDEEPL_FILES_URL', trailingslashit( $wp_upload_dir['baseurl'] ) . 'wpdeepl' );
30 -if( !is_dir( WPDEEPL_FILES ) ) mkdir( WPDEEPL_FILES );
31 -
32 -defined( 'DEEPL_API_URL' ) or define( 'DEEPL_API_URL', 'https://api.deepl.com/v2/' );
33 -
34 -try {
35 - if( is_admin() ) {
36 - require_once( trailingslashit( WPDEEPL_PATH ) . 'deepl-configuration.class.php' );
37 - require_once( trailingslashit( WPDEEPL_PATH ) . 'includes/deepl-functions.php' );
38 - require_once( trailingslashit( WPDEEPL_PATH ) . 'includes/deepl-plugin-install.php' );
39 -
40 - require_once( trailingslashit( WPDEEPL_PATH ) . 'admin/deepl-admin-hooks.php' );
41 - require_once( trailingslashit( WPDEEPL_PATH ) . 'admin/deepl-metabox.php' );
42 -
43 - require_once( trailingslashit( WPDEEPL_PATH ) . 'settings/abstract-wc-settings-api.php' );
44 - require_once( trailingslashit( WPDEEPL_PATH ) . 'settings/wp-improved-settings.class.php' );
45 - require_once( trailingslashit( WPDEEPL_PATH ) . 'settings/wp-improved-settings-wpdeepl.class.php' );
46 -
47 - require_once( trailingslashit( WPDEEPL_PATH ) . 'client/deepl-data.class.php' );
48 - require_once( trailingslashit( WPDEEPL_PATH ) . 'client/deeplapi.class.php' );
49 - require_once( trailingslashit( WPDEEPL_PATH ) . 'client/deeplapi-translate.class.php' );
50 - require_once( trailingslashit( WPDEEPL_PATH ) . 'client/deeplapi-usage.class.php' );
51 - require_once( trailingslashit( WPDEEPL_PATH ) . 'client/deeplapi-functions.php' );
52 - }
53 -} catch ( Exception $e ) {
54 - if( current_user_can( 'manage_options' ) ) {
55 - print_r( $e );
56 - die( __( 'Error loading WPDeepL','wpdeepl' ) );
57 - }
58 -}
59 -
60 -//global $DeepLForWordPress; $DeepLForWordPress = new DeepLForWordPress();
61 -function deepl_is_plugin_fully_configured() {
62 - $WP_Error = new WP_Error();
63 -
64 - if( count( $WP_Error->get_error_messages() ) ) {
65 - return $WP_Error;
66 - }
67 - return true;
68 -}
69 -
70 -if( !function_exists( 'plouf' ) ) {
71 - function plouf( $e, $txt = '' ) {
72 - if( $txt != '' ) echo "<br />\n$txt";
73 - echo '<pre>';
74 - print_r( $e );
75 - echo '</pre>';
76 - }
77 -}
78 -
79 -add_action( 'plugin_action_links_' . plugin_basename( __FILE__ ), 'wpdeepl_plugin_action_links' );
80 -function wpdeepl_plugin_action_links( $links ) {
81 - $links = array_merge(
82 - array(
83 - '<a href="' . esc_url( admin_url( '/options-general.php?page=deepl_settings' ) ) . '">' . __( 'Settings', 'wpdeepl' ) . '</a>'
84 - ),
85 - $links
86 - );
87 - return $links;
88 -}
89 -
90 -add_action( 'init', 'deepl_load_language' );
91 -function deepl_load_language() {
92 - if( !is_admin() ) {
93 - return;
94 - }
95 -
96 - load_plugin_textdomain( 'wpdeepl', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
97 -}
98 -
99 -
1 +<?php
2 +/**
3 + * Plugin Name: DeepL for WordPress : translation plugin
4 + * Description: Get DeepL translation magic right inside your WordPress editor (with a paid DeepL Pro account)
5 + * Version: 2.4.5
6 + * Plugin Slug: wpdeepl
7 + * Author: Fluenx
8 + * Author URI: https://www.fluenx.com/
9 + * Requires at least: 4.0.0
10 + * Tested up to: 6.7.1
11 + * Stable tag: 2.4.5
12 + * Text Domain: wpdeepl
13 + * Domain Path: /languages
14 + */
15 +
16 +//return;
17 +
18 +
19 +$allow_front_end = get_option('wpdeepl_allow_front_end');
20 +
21 +if( $allow_front_end != 'yes' ) {
22 + if ( !function_exists( 'is_admin' ) || !is_admin() )
23 + return;
24 +
25 +}
26 +
27 +
28 +defined( 'WPDEEPL_FLAVOR' ) or define( 'WPDEEPL_FLAVOR', 'free' );
29 +defined( 'WPDEEPL_NAME' ) or define( 'WPDEEPL_NAME', plugin_basename( __FILE__ ) );
30 +defined( 'WPDEEPL_SLUG' ) or define( 'WPDEEPL_SLUG', 'wpdeepl' );
31 +defined( 'WPDEEPL_DIR' ) or define( 'WPDEEPL_DIR', dirname( __FILE__ ) );
32 +defined( 'WPDEEPL_PATH' ) or define( 'WPDEEPL_PATH', realpath( __DIR__ ) );
33 +defined( 'WPDEEPL_URL' ) or define( 'WPDEEPL_URL', plugins_url( '', __FILE__ ) );
34 +
35 +$plugin_data = get_file_data( __FILE__, array( 'Version' => 'Version' ), false );
36 +defined( 'WPDEEPL_VERSION' ) or define( 'WPDEEPL_VERSION', $plugin_data['Version'] );
37 +
38 +defined( 'WPDEEPL_DEBUG' ) or define( 'WPDEEPL_DEBUG', false );
39 +
40 +$wp_upload_dir = wp_upload_dir();
41 +defined( 'WPDEEPL_FILES' ) or define( 'WPDEEPL_FILES', trailingslashit( $wp_upload_dir['basedir'] ) . 'wpdeepl' );
42 +defined( 'WPDEEPL_FILES_URL' ) or define( 'WPDEEPL_FILES_URL', trailingslashit( $wp_upload_dir['baseurl'] ) . 'wpdeepl' );
43 +if ( !is_dir( WPDEEPL_FILES ) ) mkdir( WPDEEPL_FILES );
44 +
45 +// obs 20210422 v1.7 defined( 'DEEPL_API_URL' ) or define( 'DEEPL_API_URL', 'https://api.deepl.com/v2/' );
46 +
47 +function zebench_wpdeepl_paths( $paths = array() ) {
48 + $paths['deepl_settings'] = array(
49 + 'files' => WPDEEPL_FILES
50 + );
51 + return $paths;
52 +}
53 +
54 +try {
55 + if ( is_admin() || $allow_front_end == 'yes' ) {
56 +
57 +
58 + include_once trailingslashit( WPDEEPL_PATH ) . 'deepl-configuration.class.php';
59 +
60 + include_once trailingslashit( WPDEEPL_PATH ) . 'includes/deepl-functions.php';
61 + include_once trailingslashit( WPDEEPL_PATH ) . 'includes/deepl-plugin-install.php';
62 +
63 +
64 + include_once trailingslashit( WPDEEPL_PATH ) . 'modules/deepl-translate-post.php';
65 +
66 + include_once trailingslashit( WPDEEPL_PATH ) . 'settings/wp-improved-settings-api.class.php';
67 + include_once trailingslashit( WPDEEPL_PATH ) . 'settings/wp-improved-settings.class.php';
68 + include_once trailingslashit( WPDEEPL_PATH ) . 'settings/wp-improved-settings-wpdeepl.class.php';
69 +
70 + include_once trailingslashit( WPDEEPL_PATH ) . 'client/deepl-data.class.php';
71 + include_once trailingslashit( WPDEEPL_PATH ) . 'client/deeplapi-functions.php';
72 + include_once trailingslashit( WPDEEPL_PATH ) . 'client/deeplapi.class.php';
73 + include_once trailingslashit( WPDEEPL_PATH ) . 'client/deeplapi-translate.class.php';
74 + include_once trailingslashit( WPDEEPL_PATH ) . 'client/deeplapi-usage.class.php';
75 +
76 + if( is_admin() ) {
77 + include_once trailingslashit( WPDEEPL_PATH ) . 'admin/deepl-admin-hooks.php';
78 + include_once trailingslashit( WPDEEPL_PATH ) . 'admin/deepl-admin-functions.php';
79 + include_once trailingslashit( WPDEEPL_PATH ) . 'admin/deepl-metabox.php';
80 + //if( file_exists( trailingslashit( WPDEEPL_PATH ) . 'admin/deepl-elementor.php' ) include_once trailingslashit( WPDEEPL_PATH ) . 'admin/deepl-elementor.php';
81 +
82 + }
83 +
84 + add_filter('zebench_plugins_paths', 'zebench_wpdeepl_paths');
85 +
86 + $customisation_file = trailingslashit( WPDEEPL_PATH ) . 'custom-integration.php';
87 + if ( file_exists( $customisation_file ) ) {
88 + include_once $customisation_file;
89 + }
90 + else {
91 +
92 + }
93 +
94 + }
95 +} catch ( Exception $exception ) {
96 + if ( current_user_can( 'manage_options' ) ) {
97 + print_r( $exception );
98 + die( __( 'Error loading WPDeepL','wpdeepl' ) );
99 + }
100 +}
101 +
102 +
103 +//global $DeepLForWordPress; $DeepLForWordPress = new DeepLForWordPress();
104 +function deepl_is_plugin_fully_configured() {
105 + $WP_Error = new WP_Error();
106 +
107 + if ( count( $WP_Error->get_error_messages() ) ) {
108 + return $WP_Error;
109 + }
110 + return true;
111 +}
112 +
113 +if ( !function_exists( 'plouf' ) ) {
114 + function plouf( $e, $txt = '' ) {
115 + if ( $txt != '' ) echo "<br />\n$txt";
116 + echo '<pre>';
117 + print_r( $e );
118 + echo '</pre>';
119 + }
120 +}
121 +
122 +add_action( 'plugin_action_links_' . plugin_basename( __FILE__ ), 'wpdeepl_plugin_action_links' );
123 +function wpdeepl_plugin_action_links( $links ) {
124 + $links = array_merge(
125 + array(
126 + '<a href="' . esc_url( admin_url( '/options-general.php?page=deepl_settings' ) ) . '">' . __( 'Settings', 'wpdeepl' ) . '</a>'
127 + ),
128 + $links
129 + );
130 + return $links;
131 +}
132 +
133 +register_activation_hook( __FILE__, 'deepl_plugin_activate' );
134 +function deepl_plugin_activate() {
135 + deepl_install_plugin();
136 +}
137 +
138 +register_deactivation_hook( __FILE__, 'deepl_plugin_deactivate' );
139 +function deepl_plugin_deactivate() {
140 +}
141 +
142 +add_action( 'init', 'deepl_init' );
143 +function deepl_init() {
144 + if ( !is_admin() ) {
145 + return;
146 + }
147 +
148 + load_plugin_textdomain( 'wpdeepl', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
149 +}