Plugin Directory

Changeset 3049309


Ignore:
Timestamp:
03/11/2024 06:05:53 PM (2 years ago)
Author:
scribit
Message:

Version 1.2

Location:
proofreading/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • proofreading/trunk/README.txt

    r2978549 r3049309  
    44Tags: typo, grammar, misprint, errata, revision, editing, proofreading, text, proofread, draft, languagetool, punctuation
    55Requires at least: 4.0
    6 Tested up to: 6.3.2
    7 Stable tag: 1.1
     6Tested up to: 6.4.3
     7Stable tag: 1.2
     8Requires PHP: 5.6
    89License: GPLv2 or later
    910License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    6667== Changelog ==
    6768
     69= 1.2 =
     70* Security fixes
     71* Changed escaping data methods
     72* Wordpress 6.4.3 compatibility (not Gutenberg)
     73
    6874= 1.1 =
    6975* Wordpress 6.3.2 compatibility (not Gutenberg)
  • proofreading/trunk/admin/includes/scribit_custom_field.php

    r2205884 r3049309  
    6969        foreach( $form_fields as $form_field ) {
    7070            $name = $form_field['name'];
    71             update_post_meta( $post_id, $name, sanitize_text_field( $_POST[$name] ) );
     71            update_post_meta( $post_id, $name, esc_attr( $_POST[$name] ) );
    7272        }   
    7373       
  • proofreading/trunk/admin/partials/proofreading-admin-display.php

    r2978549 r3049309  
    1212
    1313function proofreading_admin_page_handler() {
    14     $current_page = isset($_GET['subpage']) ? $_GET['subpage'] : 'settings';
     14    $current_page = isset($_GET['subpage']) && in_array($_GET['subpage'], ['settings', 'about']) ? esc_attr($_GET['subpage']) : 'settings';
    1515?>
    1616    <div class="wrap proofreading-backend proofreading-<?= $current_page ?>">
     
    4848    if (isset($_POST['submit'])) {
    4949        $res = true;
    50         $nonce = $_POST['nonce'];
    51        
    52         if ( wp_verify_nonce( $_POST['nonce'], 'proofreading-admin-menu-save' ) ){
    53             update_option("proofreading-language-default", $_POST['proofreading-language-default'] );
     50        $nonce = sanitize_text_field(wp_unslash($_POST['nonce']));
     51       
     52        if ( wp_verify_nonce( $nonce, 'proofreading-admin-menu-save' ) ){
     53            if ( strlen($_POST['proofreading-language-default']) <= 2 )
     54                update_option("proofreading-language-default", esc_attr( $_POST['proofreading-language-default'] ) );
    5455           
    55             if (isset($_POST['rules'])){
     56            if ( isset($_POST['rules']) && (strlen($_POST['proofreading-language-rules-settings']) <= 2) ){
    5657                global $wpdb;
    57                 $wpdb->delete( "{$wpdb->prefix}proofreading_rules_settings", array( 'lang_code' => $_POST['proofreading-language-rules-settings'] ), array( '%s' ) );
     58
     59                $rules = $wpdb->get_results("SELECT `name`, `key`
     60                    FROM {$wpdb->prefix}proofreading_rules
     61                    WHERE lang_code = '". $_POST['proofreading-language-rules-settings'] ."'
     62                    ORDER BY `name` ASC", ARRAY_A);
     63                $rules = array_column( $rules, 'key' );
     64               
     65                foreach ($_POST['rules'] as $rule_key => $rule){
     66                    // Remove elements not in language rules
     67                    if (array_search($rule, $rules) === false)
     68                        unset($_POST['rules'][$rule_key]);
     69                }
     70
     71                $wpdb->delete( "{$wpdb->prefix}proofreading_rules_settings", array( 'lang_code' => esc_attr($_POST['proofreading-language-rules-settings']) ), array( '%s' ) );
    5872                $wpdb->insert(
    5973                    "{$wpdb->prefix}proofreading_rules_settings",
    6074                    array(
    61                         'lang_code' => $_POST['proofreading-language-rules-settings'],
    62                         'included_rules' => implode(',', $_POST['rules']) 
     75                        'lang_code' => esc_attr($_POST['proofreading-language-rules-settings']),
     76                        'included_rules' => implode(',', $_POST['rules'])
    6377                    ),
    6478                    array( '%s', '%s' )
     
    6680            }
    6781        }
    68         else $res = false;
     82        else {
     83            $res = false;
     84        }
    6985        ?>
    7086        <div id="setting-error-settings_updated" class="<?= $res ? '' : 'error' ?> updated settings-error notice is-dismissible">
  • proofreading/trunk/proofreading-consts.php

    r2978549 r3049309  
    88 */
    99
    10 define( 'PROOFREADING_VERSION', '1.1' );
     10define( 'PROOFREADING_VERSION', '1.2' );
    1111
    1212define( 'PROOFREADING_VERSION_SETTINGNAME', 'proofreading-version' );   // From version 1.0.7
  • proofreading/trunk/proofreading.php

    r2978549 r3049309  
    1616 * Plugin URI:        https://www.scribit.it/en/wordpress-plugins/proofreading-wordpress-plugin-corrects-your-errors/
    1717 * Description:       Proofreading allows you to correct texts on your Wordpress site. This plugin allows you to proofread in 30 different languages on articles and pages of your site also providing useful tips for the improvement of your writings.
    18  * Version:           1.1
     18 * Version:           1.2
    1919 * Author:            Scribit
    2020 * Author URI:        https://www.scribit.it/
Note: See TracChangeset for help on using the changeset viewer.