Plugin Directory

Changeset 3281341


Ignore:
Timestamp:
04/25/2025 12:10:18 AM (11 months ago)
Author:
frpet
Message:

Rework broken authentication

Location:
easytranslate
Files:
13 edited
15 copied

Legend:

Unmodified
Added
Removed
  • easytranslate/tags/v5.3/README.txt

    r3275340 r3281341  
    55Requires at least: 4.7
    66Tested up to: 6.8
    7 Stable tag: 5.2
     7Stable tag: 5.3
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
  • easytranslate/tags/v5.3/admin/class-easy-translate-admin.php

    r3275340 r3281341  
    4949     */
    5050    private $post_translation_list;
     51
     52    private $options = false;
    5153
    5254    /**
     
    110112            plugin_dir_url(__FILE__) . 'img/icon.png'
    111113        );
    112 
     114        $this->options = get_option(EASY_TRANSLATE_INTEGRATION_OPTION);
    113115        add_submenu_page(
    114116            self::MENU_MAIN,
     
    137139            [$this, 'show_projects_page']
    138140        );
    139 
    140141        add_submenu_page(
    141142            self::MENU_MAIN,
     
    153154    public function init_integration()
    154155    {
    155         if (in_array($_REQUEST['page'] ?? '', array_keys(self::MAIN_PAGES))) {
     156        $page = $_REQUEST['page'] ?? $_REQUEST['option_page'] ?? '';
     157
     158        if (in_array($page, array_keys(self::MAIN_PAGES)) ||
     159            $page === Easy_Translate_API_Integration::OPTION_GROUP_INTEGRATION
     160        ) {
    156161            $this->api_integration->init();
    157162        }
     
    217222    {
    218223        $this->string_translation_list->prepare_items();
    219         $this->string_translation_list->render();
     224        $this->string_translation_list->render($this->options);
    220225    }
    221226
     
    226231    {
    227232        $this->post_translation_list->prepare_items();
    228         $this->post_translation_list->render();
     233        $this->post_translation_list->render($this->options);
    229234    }
    230235
     
    234239    public function show_projects_page()
    235240    {
    236         $this->projects->render();
     241        $this->projects->render($this->options);
    237242    }
    238243
  • easytranslate/tags/v5.3/admin/class-easy-translate-api-integration.php

    r2711748 r3281341  
    7676            $newInput[$id] = sanitize_text_field($value);
    7777        }
    78         if (empty($newInput[self::LOGIN_PASSWORD_FIELD]) && ($newInput[self::IS_SANDBOX_FIELD] === $this->options[self::IS_SANDBOX_FIELD])) {
     78        $newInput[self::IS_SANDBOX_FIELD] = $newInput[self::IS_SANDBOX_FIELD] ?? '0';
     79
     80        if (empty($newInput[self::LOGIN_PASSWORD_FIELD]) &&
     81            ($this->options && ($newInput[self::IS_SANDBOX_FIELD] === $this->options[self::IS_SANDBOX_FIELD]))
     82        ) {
    7983            return array_merge($this->options, $newInput);
    8084        }
     
    386390            [$this, 'sanitize_before_save']
    387391        );
     392
    388393        if (!empty($this->options[self::ACCESS_TOKEN_FIELD] ?? false)) {
    389394            $service = new Easy_Translate_API_Laas($this->options);
  • easytranslate/tags/v5.3/admin/class-easy-translate-post-translation-list.php

    r3275340 r3281341  
    474474     * Render the list table.
    475475     */
    476     protected function render_list()
    477     {
    478         $options = get_option(EASY_TRANSLATE_INTEGRATION_OPTION);
     476    protected function render_list(array $options)
     477    {
    479478        $service = new Easy_Translate_API_Laas(Easy_Translate_API_Integration::map_fields($options));
    480479        $workflows = $service->get_available_workflows();
  • easytranslate/tags/v5.3/admin/class-easy-translate-projects.php

    r2674447 r3281341  
    2222     */
    2323    protected $project_meta = array();
     24
     25    private $dependencyMessageList = [];
    2426
    2527    /**
     
    8183     * Render the project list.
    8284     */
    83     public function render()
     85    public function render($options)
    8486    {
     87        if (empty($options) || empty($options[Easy_Translate_API_Integration::ACCESS_TOKEN_FIELD]) ?? false) {
     88            $this->dependencyMessageList[] = __('Set your account on the Integrations page', EASY_TRANSLATE);
     89            $this->render_requirements();
     90
     91            return;
     92        }
    8593        $this->handle_actions();
    8694        $this->project_list = $this->get_projects();
    8795        include_once(EASY_TRANSLATE_ROOT . 'admin/partials/projects.php');
    8896
     97    }
     98
     99    /**
     100     * Render the requirements page.
     101     */
     102    protected function render_requirements()
     103    {
     104        include_once(EASY_TRANSLATE_ROOT . 'admin/partials/requirements.php');
    89105    }
    90106
  • easytranslate/tags/v5.3/admin/class-easy-translate-string-translation-list.php

    r3275340 r3281341  
    410410     * Render the list table.
    411411     */
    412     protected function render_list()
    413     {
    414         $options = get_option(EASY_TRANSLATE_INTEGRATION_OPTION);
     412    protected function render_list(array $options)
     413    {
    415414        $service = new Easy_Translate_API_Laas(Easy_Translate_API_Integration::map_fields($options));
    416415        $workflows = $service->get_available_workflows();
  • easytranslate/tags/v5.3/admin/class-easy-translate-translation-list.php

    r3275340 r3281341  
    6060     * @var array
    6161     */
    62     protected $dependency_message_list = [];
     62    protected $dependencyMessageList = [];
    6363
    6464    /**
     
    7171        $this->is_ready = self::check_dependencies();
    7272        if (!$this->is_ready) {
    73             $this->dependency_message_list = $this->get_dependency_message_list();
     73            $this->dependencyMessageList = $this->get_dependency_message_list();
    7474        }
    7575
     
    240240    protected function get_dependency_message_list()
    241241    {
    242         $dependency_message_list = [];
     242        $dependencyMessageList = [];
    243243
    244244        if (!is_plugin_active('wpml-string-translation/plugin.php')) {
    245             $dependency_message_list[] = __('Please install and activate WPML String Translation plugin',
     245            $dependencyMessageList[] = __('Please install and activate WPML String Translation plugin',
    246246                EASY_TRANSLATE);
    247247        }
    248248
    249249        if (!is_plugin_active('sitepress-multilingual-cms/sitepress.php')) {
    250             $dependency_message_list[] = __('Please install and activate WPML Multilingual CMS plugin', EASY_TRANSLATE);
     250            $dependencyMessageList[] = __('Please install and activate WPML Multilingual CMS plugin', EASY_TRANSLATE);
    251251        }
    252252
    253253        if (!is_plugin_active('wpml-translation-management/plugin.php')) {
    254             $dependency_message_list[] = __('Please install and activate WPML Translation Management plugin',
     254            $dependencyMessageList[] = __('Please install and activate WPML Translation Management plugin',
    255255                EASY_TRANSLATE);
    256256        }
    257257
    258258        if (!get_et_source_language_code(self::get_source_language())) {
    259             $dependency_message_list[] = __('Unfortunately EasyTranslate does not support ',
     259            $dependencyMessageList[] = __('Unfortunately EasyTranslate does not support ',
    260260                    EASY_TRANSLATE) . self::get_language_name([self::get_source_language()])[0]['english_name'];
    261261        }
    262262
    263         return $dependency_message_list;
     263        return $dependencyMessageList;
    264264    }
    265265
     
    397397     * Defines the page template.
    398398     */
    399     public function render()
    400     {
     399    public function render($options)
     400    {
     401        if (empty($options) || empty($options[Easy_Translate_API_Integration::ACCESS_TOKEN_FIELD]) ?? false) {
     402            $this->dependencyMessageList[] = __('Set your account on the Integrations page', EASY_TRANSLATE);
     403            $this->render_requirements();
     404
     405            return;
     406        }
    401407
    402408        if ($this->is_ready) {
    403             $this->render_list();
     409            $this->render_list($options);
    404410        } else {
    405411            $this->render_requirements();
     
    413419    protected function render_requirements()
    414420    {
    415 
    416421        include_once(EASY_TRANSLATE_ROOT . 'admin/partials/requirements.php');
    417 
    418422    }
    419423
     
    814818     * Render the list table.
    815819     */
    816     abstract protected function render_list();
     820    abstract protected function render_list(array $options);
    817821
    818822    /**
  • easytranslate/tags/v5.3/admin/partials/requirements.php

    r2324915 r3281341  
    1313    <h1><?php _e('Requirements', EASY_TRANSLATE); ?></h1>
    1414    <ul>
    15         <?php foreach ($this->dependency_message_list as $message) {
     15        <?php foreach ($this->dependencyMessageList as $message) {
    1616            echo '<li><h2>' . $message . '</h2></li>';
    1717        }
  • easytranslate/tags/v5.3/easy-translate.php

    r3275340 r3281341  
    1515 * Plugin URI:        https://www.easytranslate.com/en/integrations/cms/wordpress-plugin/
    1616 * Description:       This is a short description of what the plugin does. It's displayed in the WordPress admin area.
    17  * Version:           2.0.1
     17 * Version:           2.0.2
    1818 * Author:            EasyTranslate
    1919 * Author URI:        https://easytranslate.com
     
    3434 * Rename this for your plugin and update it as you release new versions.
    3535 */
    36 define('EASY_TRANSLATE_VERSION', '2.0.1');
     36define('EASY_TRANSLATE_VERSION', '2.0.2');
    3737
    3838/**
  • easytranslate/tags/v5.3/includes/class-easy-translate.php

    r3275340 r3281341  
    136136        $this->loader->add_action('admin_menu', $plugin_admin, 'admin_menu_setup');
    137137        $this->loader->add_action('admin_init', $plugin_admin, 'init_integration');
    138         $this->loader->add_action('load-toplevel_page_' . Easy_Translate_Admin::MENU_MAIN, $plugin_admin,
    139             'load_post_translation_list_screen_options');
     138        $this->loader->add_action(
     139            'load-toplevel_page_' . Easy_Translate_Admin::MENU_MAIN,
     140            $plugin_admin,
     141            'load_post_translation_list_screen_options'
     142        );
    140143        $this->loader->add_filter('set-screen-option', $plugin_admin, 'set_post_translation_list_screen_option', 10, 3);
    141144        $this->loader->add_action(
  • easytranslate/trunk/README.txt

    r3275340 r3281341  
    55Requires at least: 4.7
    66Tested up to: 6.8
    7 Stable tag: 5.2
     7Stable tag: 5.3
    88License: GPLv2 or later
    99License URI: https://www.gnu.org/licenses/gpl-2.0.html
  • easytranslate/trunk/admin/class-easy-translate-admin.php

    r3275340 r3281341  
    4949     */
    5050    private $post_translation_list;
     51
     52    private $options = false;
    5153
    5254    /**
     
    110112            plugin_dir_url(__FILE__) . 'img/icon.png'
    111113        );
    112 
     114        $this->options = get_option(EASY_TRANSLATE_INTEGRATION_OPTION);
    113115        add_submenu_page(
    114116            self::MENU_MAIN,
     
    137139            [$this, 'show_projects_page']
    138140        );
    139 
    140141        add_submenu_page(
    141142            self::MENU_MAIN,
     
    153154    public function init_integration()
    154155    {
    155         if (in_array($_REQUEST['page'] ?? '', array_keys(self::MAIN_PAGES))) {
     156        $page = $_REQUEST['page'] ?? $_REQUEST['option_page'] ?? '';
     157
     158        if (in_array($page, array_keys(self::MAIN_PAGES)) ||
     159            $page === Easy_Translate_API_Integration::OPTION_GROUP_INTEGRATION
     160        ) {
    156161            $this->api_integration->init();
    157162        }
     
    217222    {
    218223        $this->string_translation_list->prepare_items();
    219         $this->string_translation_list->render();
     224        $this->string_translation_list->render($this->options);
    220225    }
    221226
     
    226231    {
    227232        $this->post_translation_list->prepare_items();
    228         $this->post_translation_list->render();
     233        $this->post_translation_list->render($this->options);
    229234    }
    230235
     
    234239    public function show_projects_page()
    235240    {
    236         $this->projects->render();
     241        $this->projects->render($this->options);
    237242    }
    238243
  • easytranslate/trunk/admin/class-easy-translate-api-integration.php

    r2711748 r3281341  
    7676            $newInput[$id] = sanitize_text_field($value);
    7777        }
    78         if (empty($newInput[self::LOGIN_PASSWORD_FIELD]) && ($newInput[self::IS_SANDBOX_FIELD] === $this->options[self::IS_SANDBOX_FIELD])) {
     78        $newInput[self::IS_SANDBOX_FIELD] = $newInput[self::IS_SANDBOX_FIELD] ?? '0';
     79
     80        if (empty($newInput[self::LOGIN_PASSWORD_FIELD]) &&
     81            ($this->options && ($newInput[self::IS_SANDBOX_FIELD] === $this->options[self::IS_SANDBOX_FIELD]))
     82        ) {
    7983            return array_merge($this->options, $newInput);
    8084        }
     
    386390            [$this, 'sanitize_before_save']
    387391        );
     392
    388393        if (!empty($this->options[self::ACCESS_TOKEN_FIELD] ?? false)) {
    389394            $service = new Easy_Translate_API_Laas($this->options);
  • easytranslate/trunk/admin/class-easy-translate-post-translation-list.php

    r3275340 r3281341  
    474474     * Render the list table.
    475475     */
    476     protected function render_list()
    477     {
    478         $options = get_option(EASY_TRANSLATE_INTEGRATION_OPTION);
     476    protected function render_list(array $options)
     477    {
    479478        $service = new Easy_Translate_API_Laas(Easy_Translate_API_Integration::map_fields($options));
    480479        $workflows = $service->get_available_workflows();
  • easytranslate/trunk/admin/class-easy-translate-projects.php

    r2674447 r3281341  
    2222     */
    2323    protected $project_meta = array();
     24
     25    private $dependencyMessageList = [];
    2426
    2527    /**
     
    8183     * Render the project list.
    8284     */
    83     public function render()
     85    public function render($options)
    8486    {
     87        if (empty($options) || empty($options[Easy_Translate_API_Integration::ACCESS_TOKEN_FIELD]) ?? false) {
     88            $this->dependencyMessageList[] = __('Set your account on the Integrations page', EASY_TRANSLATE);
     89            $this->render_requirements();
     90
     91            return;
     92        }
    8593        $this->handle_actions();
    8694        $this->project_list = $this->get_projects();
    8795        include_once(EASY_TRANSLATE_ROOT . 'admin/partials/projects.php');
    8896
     97    }
     98
     99    /**
     100     * Render the requirements page.
     101     */
     102    protected function render_requirements()
     103    {
     104        include_once(EASY_TRANSLATE_ROOT . 'admin/partials/requirements.php');
    89105    }
    90106
  • easytranslate/trunk/admin/class-easy-translate-string-translation-list.php

    r3275340 r3281341  
    410410     * Render the list table.
    411411     */
    412     protected function render_list()
    413     {
    414         $options = get_option(EASY_TRANSLATE_INTEGRATION_OPTION);
     412    protected function render_list(array $options)
     413    {
    415414        $service = new Easy_Translate_API_Laas(Easy_Translate_API_Integration::map_fields($options));
    416415        $workflows = $service->get_available_workflows();
  • easytranslate/trunk/admin/class-easy-translate-translation-list.php

    r3275340 r3281341  
    6060     * @var array
    6161     */
    62     protected $dependency_message_list = [];
     62    protected $dependencyMessageList = [];
    6363
    6464    /**
     
    7171        $this->is_ready = self::check_dependencies();
    7272        if (!$this->is_ready) {
    73             $this->dependency_message_list = $this->get_dependency_message_list();
     73            $this->dependencyMessageList = $this->get_dependency_message_list();
    7474        }
    7575
     
    240240    protected function get_dependency_message_list()
    241241    {
    242         $dependency_message_list = [];
     242        $dependencyMessageList = [];
    243243
    244244        if (!is_plugin_active('wpml-string-translation/plugin.php')) {
    245             $dependency_message_list[] = __('Please install and activate WPML String Translation plugin',
     245            $dependencyMessageList[] = __('Please install and activate WPML String Translation plugin',
    246246                EASY_TRANSLATE);
    247247        }
    248248
    249249        if (!is_plugin_active('sitepress-multilingual-cms/sitepress.php')) {
    250             $dependency_message_list[] = __('Please install and activate WPML Multilingual CMS plugin', EASY_TRANSLATE);
     250            $dependencyMessageList[] = __('Please install and activate WPML Multilingual CMS plugin', EASY_TRANSLATE);
    251251        }
    252252
    253253        if (!is_plugin_active('wpml-translation-management/plugin.php')) {
    254             $dependency_message_list[] = __('Please install and activate WPML Translation Management plugin',
     254            $dependencyMessageList[] = __('Please install and activate WPML Translation Management plugin',
    255255                EASY_TRANSLATE);
    256256        }
    257257
    258258        if (!get_et_source_language_code(self::get_source_language())) {
    259             $dependency_message_list[] = __('Unfortunately EasyTranslate does not support ',
     259            $dependencyMessageList[] = __('Unfortunately EasyTranslate does not support ',
    260260                    EASY_TRANSLATE) . self::get_language_name([self::get_source_language()])[0]['english_name'];
    261261        }
    262262
    263         return $dependency_message_list;
     263        return $dependencyMessageList;
    264264    }
    265265
     
    397397     * Defines the page template.
    398398     */
    399     public function render()
    400     {
     399    public function render($options)
     400    {
     401        if (empty($options) || empty($options[Easy_Translate_API_Integration::ACCESS_TOKEN_FIELD]) ?? false) {
     402            $this->dependencyMessageList[] = __('Set your account on the Integrations page', EASY_TRANSLATE);
     403            $this->render_requirements();
     404
     405            return;
     406        }
    401407
    402408        if ($this->is_ready) {
    403             $this->render_list();
     409            $this->render_list($options);
    404410        } else {
    405411            $this->render_requirements();
     
    413419    protected function render_requirements()
    414420    {
    415 
    416421        include_once(EASY_TRANSLATE_ROOT . 'admin/partials/requirements.php');
    417 
    418422    }
    419423
     
    814818     * Render the list table.
    815819     */
    816     abstract protected function render_list();
     820    abstract protected function render_list(array $options);
    817821
    818822    /**
  • easytranslate/trunk/admin/partials/requirements.php

    r2324915 r3281341  
    1313    <h1><?php _e('Requirements', EASY_TRANSLATE); ?></h1>
    1414    <ul>
    15         <?php foreach ($this->dependency_message_list as $message) {
     15        <?php foreach ($this->dependencyMessageList as $message) {
    1616            echo '<li><h2>' . $message . '</h2></li>';
    1717        }
  • easytranslate/trunk/easy-translate.php

    r3275340 r3281341  
    1515 * Plugin URI:        https://www.easytranslate.com/en/integrations/cms/wordpress-plugin/
    1616 * Description:       This is a short description of what the plugin does. It's displayed in the WordPress admin area.
    17  * Version:           2.0.1
     17 * Version:           2.0.2
    1818 * Author:            EasyTranslate
    1919 * Author URI:        https://easytranslate.com
     
    3434 * Rename this for your plugin and update it as you release new versions.
    3535 */
    36 define('EASY_TRANSLATE_VERSION', '2.0.1');
     36define('EASY_TRANSLATE_VERSION', '2.0.2');
    3737
    3838/**
  • easytranslate/trunk/includes/class-easy-translate.php

    r3275340 r3281341  
    136136        $this->loader->add_action('admin_menu', $plugin_admin, 'admin_menu_setup');
    137137        $this->loader->add_action('admin_init', $plugin_admin, 'init_integration');
    138         $this->loader->add_action('load-toplevel_page_' . Easy_Translate_Admin::MENU_MAIN, $plugin_admin,
    139             'load_post_translation_list_screen_options');
     138        $this->loader->add_action(
     139            'load-toplevel_page_' . Easy_Translate_Admin::MENU_MAIN,
     140            $plugin_admin,
     141            'load_post_translation_list_screen_options'
     142        );
    140143        $this->loader->add_filter('set-screen-option', $plugin_admin, 'set_post_translation_list_screen_option', 10, 3);
    141144        $this->loader->add_action(
Note: See TracChangeset for help on using the changeset viewer.