WordPress.org

Making WordPress.org

Changeset 3800


Ignore:
Timestamp:
08/10/2016 06:19:32 PM (4 years ago)
Author:
iandunn
Message:

WordCamp Budgets: Escape user input in CSV exports.

Location:
sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/payment-request.php

    r3744 r3800  
    956956        $report = fopen( 'php://output', 'w' );
    957957
    958         fputcsv( $report, $column_headings );
     958        fputcsv( $report, wcorg_esc_csv( $column_headings ) );
    959959
    960960        foreach( $args['data'] as $entry ) {
     
    10331033
    10341034            if ( ! empty( $row ) ) {
    1035                 fputcsv( $report, $row );
     1035                fputcsv( $report, wcorg_esc_csv( $row ) );
    10361036            }
    10371037        }
     
    10661066
    10671067        // File Header
    1068         fputcsv( $report, array( 'FILHDR', 'PWS', $options['pws_customer_id'], date( 'm/d/Y' ), date( 'Hi' ) ), ',', '|' );
     1068        fputcsv( $report, wcorg_esc_csv( array( 'FILHDR', 'PWS', $options['pws_customer_id'], date( 'm/d/Y' ), date( 'Hi' ) ) ), ',', '|' );
    10691069
    10701070        $total = 0;
     
    11141114
    11151115            // Payment Header
    1116             fputcsv( $report, array(
     1116            fputcsv( $report, wcorg_esc_csv( array(
    11171117                'PMTHDR',
    11181118                'USPS',
     
    11241124                $options['contact_email'],
    11251125                $options['contact_phone'],
    1126             ), ',', '|' );
     1126            ) ), ',', '|' );
    11271127
    11281128            // Payee Name Record
    1129             fputcsv( $report, array(
     1129            fputcsv( $report, wcorg_esc_csv( array(
    11301130                'PAYENM',
    11311131                substr( $payable_to, 0, 35 ),
    11321132                '',
    11331133                sprintf( '%d-%d', $entry->blog_id, $entry->post_id ),
    1134             ), ',', '|' );
     1134            ) ), ',', '|' );
    11351135
    11361136            // Payee Address Record
    1137             fputcsv( $report, array(
     1137            fputcsv( $report, wcorg_esc_csv( array(
    11381138                'PYEADD',
    11391139                substr( get_post_meta( $post->ID, '_camppayments_vendor_street_address', true ), 0, 35 ),
    11401140                '',
    1141             ), ',', '|' );
     1141            ) ), ',', '|' );
    11421142
    11431143            // Additional Payee Address Record
    1144             fputcsv( $report, array( 'ADDPYE', '', '' ), ',', '|' );
     1144            fputcsv( $report, wcorg_esc_csv( array( 'ADDPYE', '', '' ) ), ',', '|' );
    11451145
    11461146            // Payee Postal Record
    1147             fputcsv( $report, array(
     1147            fputcsv( $report, wcorg_esc_csv( array(
    11481148                'PYEPOS',
    11491149                substr( get_post_meta( $post->ID, '_camppayments_vendor_city', true ), 0, 35 ),
     
    11511151                substr( get_post_meta( $post->ID, '_camppayments_vendor_zip_code', true ), 0, 10 ),
    11521152                substr( $vendor_country_code, 0, 3 ),
    1153             ), ',', '|' );
     1153            ) ), ',', '|' );
    11541154
    11551155            // Payment Description
    1156             fputcsv( $report, array(
     1156            fputcsv( $report, wcorg_esc_csv( array(
    11571157                'PYTDES',
    11581158                substr( $description, 0, 122 ),
    1159             ), ',', '|' );
     1159            ) ), ',', '|' );
    11601160
    11611161            restore_current_blog();
     
    11631163
    11641164        // File Trailer
    1165         fputcsv( $report, array( 'FILTRL', $count * 6 + 2 ), ',', '|' );
     1165        fputcsv( $report, wcorg_esc_csv( array( 'FILTRL', $count * 6 + 2 ) ), ',', '|' );
    11661166
    11671167        // Update counter and unlock
     
    13711371
    13721372        // JPM Header
    1373         fputcsv( $report, array( 'HEADER', gmdate( 'YmdHis' ), '1' ) );
     1373        fputcsv( $report, wcorg_esc_csv( array( 'HEADER', gmdate( 'YmdHis' ), '1' ) ) );
    13741374
    13751375        $total = 0;
     
    15741574            // print_r( $row );
    15751575
    1576             fputcsv( $report, array_values( $row ) );
     1576            fputcsv( $report, wcorg_esc_csv( array_values( $row ) ) );
    15771577            restore_current_blog();
    15781578        }
    15791579
    15801580        // JPM Trailer
    1581         fputcsv( $report, array( 'TRAILER', $count, $total ) );
     1581        fputcsv( $report, wcorg_esc_csv( array( 'TRAILER', $count, $total ) ) );
    15821582
    15831583        fclose( $report );
  • sites/trunk/wordcamp.org/public_html/wp-content/plugins/wordcamp-payments/includes/reimbursement-request.php

    r3744 r3800  
    743743    $report = fopen( 'php://output', 'w' );
    744744
    745     fputcsv( $report, $column_headings );
     745    fputcsv( $report, wcorg_esc_csv( $column_headings ) );
    746746
    747747    foreach( $args['data'] as $entry ) {
     
    815815
    816816        if ( ! empty( $row ) ) {
    817             fputcsv( $report, $row );
     817            fputcsv( $report, wcorg_esc_csv( $row ) );
    818818        }
    819819
    820820        // Break out expenses into individual line items
    821821        foreach ( $expenses as $expense ) {
    822             fputcsv( $report, _generate_payment_report_default_line_items( $expense, $row ) );
     822            fputcsv( $report, wcorg_esc_csv( _generate_payment_report_default_line_items( $expense, $row ) ) );
    823823        }
    824824    }
     
    882882
    883883    // File Header
    884     fputcsv( $report, array( 'FILHDR', 'PWS', $options['pws_customer_id'], date( 'm/d/Y' ), date( 'Hi' ) ), ',', '|' );
     884    fputcsv( $report, wcorg_esc_csv( array( 'FILHDR', 'PWS', $options['pws_customer_id'], date( 'm/d/Y' ), date( 'Hi' ) ) ), ',', '|' );
    885885
    886886    $total = 0;
     
    941941
    942942        // Payment Header
    943         fputcsv( $report, array(
     943        fputcsv( $report, wcorg_esc_csv( array(
    944944            'PMTHDR',
    945945            'USPS',
     
    951951            $options['contact_email'],
    952952            $options['contact_phone'],
    953         ), ',', '|' );
     953        ) ), ',', '|' );
    954954
    955955        // Payee Name Record
    956         fputcsv( $report, array(
     956        fputcsv( $report, wcorg_esc_csv( array(
    957957            'PAYENM',
    958958            substr( $payable_to, 0, 35 ),
    959959            '',
    960960            sprintf( '%d-%d', $entry->blog_id, $entry->request_id ),
    961         ), ',', '|' );
     961        ) ), ',', '|' );
    962962
    963963        // Payee Address Record
    964         fputcsv( $report, array(
     964        fputcsv( $report, wcorg_esc_csv( array(
    965965            'PYEADD',
    966966            substr( get_post_meta( $post->ID, '_wcbrr_check_street_address', true ), 0, 35 ),
    967967            '',
    968         ), ',', '|' );
     968        ) ), ',', '|' );
    969969
    970970        // Additional Payee Address Record
    971         fputcsv( $report, array( 'ADDPYE', '', '' ), ',', '|' );
     971        fputcsv( $report, wcorg_esc_csv( array( 'ADDPYE', '', '' ) ), ',', '|' );
    972972
    973973        // Payee Postal Record
    974         fputcsv( $report, array(
     974        fputcsv( $report, wcorg_esc_csv( array(
    975975            'PYEPOS',
    976976            substr( get_post_meta( $post->ID, '_wcbrr_check_city', true ), 0, 35 ),
     
    978978            substr( get_post_meta( $post->ID, '_wcbrr_check_zip_code', true ), 0, 10 ),
    979979            substr( $vendor_country_code, 0, 3 ),
    980         ), ',', '|' );
     980        ) ), ',', '|' );
    981981
    982982        // Payment Description
    983         fputcsv( $report, array(
     983        fputcsv( $report, wcorg_esc_csv( array(
    984984            'PYTDES',
    985985            substr( $description, 0, 122 ),
    986         ), ',', '|' );
     986        ) ), ',', '|' );
    987987
    988988        restore_current_blog();
     
    990990
    991991    // File Trailer
    992     fputcsv( $report, array( 'FILTRL', $count * 6 + 2 ), ',', '|' );
     992    fputcsv( $report, wcorg_esc_csv( array( 'FILTRL', $count * 6 + 2 ) ), ',', '|' );
    993993
    994994    // Update counter and unlock
     
    12061206
    12071207    // JPM Header
    1208     fputcsv( $report, array( 'HEADER', gmdate( 'YmdHis' ), '1' ) );
     1208    fputcsv( $report, wcorg_esc_csv( array( 'HEADER', gmdate( 'YmdHis' ), '1' ) ) );
    12091209
    12101210    $total = 0;
     
    14171417        // print_r( $row );
    14181418
    1419         fputcsv( $report, array_values( $row ) );
     1419        fputcsv( $report, wcorg_esc_csv( array_values( $row ) ) );
    14201420        restore_current_blog();
    14211421    }
    14221422
    14231423    // JPM Trailer
    1424     fputcsv( $report, array( 'TRAILER', $count, $total ) );
     1424    fputcsv( $report, wcorg_esc_csv( array( 'TRAILER', $count, $total ) ) );
    14251425
    14261426    fclose( $report );
Note: See TracChangeset for help on using the changeset viewer.