Plugin Directory

Changeset 961232


Ignore:
Timestamp:
08/06/2014 06:41:30 PM (12 years ago)
Author:
buildcreate
Message:

Fixed error display and multisite functionality.

Location:
agreeable
Files:
1 added
2 edited

Legend:

Unmodified
Added
Removed
  • agreeable/trunk/agreeable.php

    r953592 r961232  
    44Plugin URI: http://wordpress.org/extend/plugins/agreeable
    55Description: Add a required "Agree to terms" checkbox to login and/or register forms.  Based on the I-Agree plugin by Michael Stursberg.
    6 Version: 0.3.4.2
     6Version: 0.4
    77Author: kraftpress
    88Author URI: http://kraftpress.it
    99*/
     10
     11// If this file is called directly, abort.
     12if ( ! defined( 'WPINC' ) ) {
     13    die;
     14}
     15
     16session_start();
    1017
    1118function ag_language_init() {
     
    6067            if ( !isset($_COOKIE['agreeable_terms'] ) && $dbremember == 1 || $dbremember == 0) {
    6168                                   
    62                 $error = new WP_Error();
    63                 $error->add('did_not_accept', $dbfail);
     69                $errors = new WP_Error();
     70                $errors->add('ag_did_not_accept', $dbfail);
     71               
     72                $_SESSION['ag_errors'] = $dbfail;
     73               
    6474                 
    65                   if(isset($bp->signup)) {
     75                  if(isset($bp)) {
    6676                        $bp->signup->errors['login_accept'] = '<div class="error">'.$dbfail.'</div>';
    6777                }
    6878               
    69                 return $error;
     79               
     80                if(is_multisite()) {
     81                     
     82                      $result['errors'] = $errors;
     83                      $result['errors']->add('ag_did_not_accept', $dbfail);
     84                     
     85                      return $result;
     86                     
     87                    } else {
     88               
     89                        return $errors;
     90                   
     91                    }
    7092               
    7193            } else {
     94            unset($_SESSION['ag_errors']);
    7295                return $user;
    7396            }
     
    78101
    79102}
     103
     104
    80105
    81106add_filter('woocommerce_registration_errors', 'ag_woocommerce_reg_validation', 10,3);
     
    136161add_action('pre_comment_on_post', 'ag_validate_comment', 99999, 2);
    137162
    138 function ag_display_terms_form($type) {
     163add_filter('wpmu_validate_user_signup','ag_authenticate_user_acc',10,3);
     164
     165function ag_display_terms_form($type, $errors = '') {
    139166    $dbtermm = get_option('ag_termm');
    140167    $dburl = get_option('ag_url');
     
    142169    $dbcolors = get_option('ag_colors');
    143170    $dbremember = get_option('ag_remember');
     171    $dbfail = get_option('ag_fail');
    144172   
    145173    if ( !isset($_COOKIE['agreeable_terms'] ) && $dbremember == 1 || $dbremember == 0 ) {
     
    159187        }
    160188       
     189/*   Get our errors incase we need to display */
     190       
     191        if(is_wp_error($errors)) {
     192           
     193                $error = $errors->get_error_message( 'ag_did_not_accept' );
     194           
     195            }
     196       
     197        if(isset($_SESSION['ag_errors'])) {
     198           
     199                $error = $_SESSION['ag_errors'];
     200                unset($_SESSION['ag_errors']);
     201            }
     202           
     203        if ( !empty($error) ) {
     204           
     205                echo "<br><p class='error'>$error</p>";     
     206               
     207            }
     208   
    161209        echo '<div style="clear: both; padding: .25em 0;" id="terms-accept" class="terms-form">';
    162210            if(isset($bp)){do_action( 'bp_login_accept_errors' );}
     
    168216}
    169217
    170 function ag_login_terms_accept(){
     218function ag_login_terms_accept($errors){
    171219    $dblogin = get_option('ag_login');
    172220   
    173221    if($dblogin == 1) {
    174         ag_display_terms_form('login');
     222        ag_display_terms_form('login', $errors);
    175223    }
    176224}
     
    184232}
    185233
    186 function ag_register_terms_accept() {
     234function ag_register_terms_accept($errors) {
    187235   
    188236    $dbregister = get_option('ag_register');
    189237   
    190238    if($dbregister == 1) {
    191         ag_display_terms_form('register');
     239        ag_display_terms_form('register', $errors);
    192240    }
    193241   
     
    213261add_action('bp_before_registration_submit_buttons', 'ag_register_terms_accept');
    214262
     263add_action( 'tml_register_form', 'ag_register_terms_accept', 9999, 3);
     264
     265if (is_multisite()) {
     266    add_action( 'signup_extra_fields', 'ag_register_terms_accept', 9999, 3);
     267    add_action( 'signup_blogform', 'ag_register_terms_accept', 9999, 3);
     268}
     269
    215270
    216271function ag_widget_terms_accept() {
     
    251306function ag_feedback_form() {
    252307   
    253     if(!isset($_POST['feedback_email']) && !isset($_POST['feedback_content'])) {
    254    
    255 /*
    256     $output = '<h3>We want your feedback.</h3>
    257                 <p><em>Have a feature idea, feedback, or question about the plugin?<br>We want to know- send it on over!</em></p>
    258                 <form id="ag-feedback-form" name="feedback_form" method="post" action="'.str_replace( '%7E', '~', $_SERVER['REQUEST_URI']).'">
    259                 <label for="feedback_email">Your email</label>
    260                     <input type="email" name="feedback_email" placeholder="your@email.com" /><br>
    261                 <label for="feedback_content">Message</label>
    262                     <textarea name="feedback_content" placeholder="Type your feedback / feature request here!"></textarea><br>
    263                     <input type="submit" class="button-primary button-large button" style="margin-top: 1em;" value="Send it!" />           
    264                 </form>';
    265 */
     308   
    266309    $output .= '<div style="padding: 1em; background: #eee; color: #333;">
    267310                    <h3 style="color: #369;">Buy me a cup of joe?</h3>
     
    277320                        </form>
    278321                    </p></div>';
    279     } else {
    280         $output = '<h3>Thank you for your feedback!</h3>';
    281     }
    282322   
    283323    echo $output;
  • agreeable/trunk/readme.txt

    r953592 r961232  
    4242== Changelog ==
    4343
    44 = 3.4.2 =
     44= 0.4 =
     45* Fixed Multisite registration bug
     46* Fixed error display bug
     47
     48= 0.3.4.2 =
    4549* Fixed WooCommerce registration bug
    4650
    47 = 3.4.1 =
     51= 0.3.4.1 =
    4852* Fixed RTL Bug
    4953
Note: See TracChangeset for help on using the changeset viewer.