WordPress.org

Plugin Directory

Changeset 1446080


Ignore:
Timestamp:
06/29/16 21:39:59 (18 months ago)
Author:
filkaris
Message:

1.1.5 Fancy buttons, Account js property view autoload

Location:
statistinator/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • statistinator/trunk/inc/class-statistinator-tab-authentication.php

    r1439725 r1446080  
    2525        extract( $args ); 
    2626 
    27         $option = get_option( 'statistinator_authentication', [] ); 
     27        $url = Statistinator::AUTH_URL . "/$slug.php"; 
     28        $checked = ""; 
     29        $value = ""; 
    2830 
    2931        //No Authentication 
     32        $option = get_option( 'statistinator_authentication', [] ); 
    3033        if ( _isset( $_GET['clear'] ) && $_GET['clear'] == $slug ) { 
    3134            $option[ $slug ] = ''; 
    3235            update_option( 'statistinator_authentication', $option ); 
     36            unset( $_GET['clear'] ); 
    3337        } 
    3438 
    35         $after = "<a href='" . Statistinator::AUTH_URL . "/$slug.php'>Authenticate</a>"; 
    36         $value = ""; 
    37  
    38         // After Authentication 
    39         if ( _isset( $option[ $slug ] ) ) { 
    40             $after = "<span class='auth-status'>ok</span> "; 
    41             $after .= "<a href='?page=statistinator&tab=authentication&clear=$slug' class='sts-clear' data-name='$field' >Clear</a>"; 
    42             $value = $option[ $slug ]; 
    43         } 
    44         else { 
    45             $value = ''; 
    46         } 
    47  
    48         //During Authentication 
     39        //On Authentication 
    4940        if ( _isset( $_GET["{$slug}_token"] ) && !_isset( $_GET['settings-updated'] ) ) { 
    5041            $status = $_GET["{$slug}_token"]; 
     
    5344                $option[ $slug ] = 'ok'; 
    5445                update_option( 'statistinator_authentication', $option ); 
    55                 $after = "<span class='auth-status'>ok</span> "; 
    56                 $after .= "<a href='?page=statistinator&tab=authentication&clear=$slug' class='sts-clear' data-name='$field' >Clear</a>"; 
    57                 $value = 'ok'; 
    5846            } 
    5947        } 
    60         echo "<input type='hidden' name='$field' value='$value' />"; 
    61         echo $after; 
     48 
     49        //After Authentication 
     50        if ( _isset( $option[ $slug ] ) ) { 
     51            $url = "?page=statistinator&tab=authentication&clear=$slug"; 
     52            $checked = 'checked="checked"'; 
     53            $value = $option[ $slug ]; 
     54        } 
     55    ?> 
     56        <div class="checkbox-switch"> 
     57            <input type="checkbox" <?= $checked ?> onclick='window.location.assign("<?= $url ?>")' class="input-checkbox" /> 
     58            <div class="checkbox-animate"></div> 
     59        </div> 
     60        <input type='hidden' name='<?= $field ?>' value='<?= $value ?>' /> 
     61    <?php 
    6262    } 
    6363 
  • statistinator/trunk/inc/class-statistinator.php

    r1446027 r1446080  
    5757                break; 
    5858            case 'authentication': 
     59                wp_enqueue_style( 'sts-switch-style', plugins_url( 'css/switch.css', STS_FILE ) ); 
    5960                wp_enqueue_script( 'sts-authentication', plugins_url( 'js/authentication.js', STS_FILE ) ); 
    6061                break; 
  • statistinator/trunk/js/account.js

    r1446027 r1446080  
    11jQuery( document ).ready( function( $ ) { 
    2  
    32    loading = "<img style='height:18px;' class='loading' src='images/loading.gif' />"; 
    43     
    54    // Analytics account autocomplete 
    6     $( "#statistinator_account_google_account" ).after( loading ); 
    7     $.post( 
    8         php.sts_ajaxurl, { action: "analytics_accounts" }, 
    9         function( res ) { 
    10             $( ".loading" ).remove(); 
    11             populateSelect( "#statistinator_account_google_account", res ); 
    12         } 
    13     ); 
     5    var data = { action: "analytics_accounts" }; 
     6    populateCall( "#statistinator_account_google_account", data );  
     7    populateGProperties(); 
     8    populateGViews(); 
    149 
    1510    // Analytics properties autocomplete 
    1611    $( "#statistinator_account_google_account" ).change( function() { 
    17         var account = $( this ).val(); 
    18         if ( ! account ) { 
    19             return; 
    20         } 
    21  
    22         $( "#statistinator_account_google_property" ).after( loading ); 
    23         $.post( 
    24             php.sts_ajaxurl, { action: "analytics_properties", account: account }, 
    25             function( res ) { 
    26                 $( ".loading" ).remove(); 
    27                 populateSelect( "#statistinator_account_google_property", res, true ); 
    28             } 
    29         ); 
     12        populateGProperties( true ); 
    3013    }); 
    3114 
    3215    // Analytics views autocomplete 
    3316    $( "#statistinator_account_google_property" ).change( function() { 
    34         var property = $( this ).val(); 
    35         if ( ! property ) { 
    36             return; 
    37         } 
    38         var account = $( "#statistinator_account_google_account" ).val(); 
    39  
    40         $( "#statistinator_account_google_property" ).after( loading ); 
    41         $.post( 
    42             php.sts_ajaxurl, { action: "analytics_views", account: account, property: property, }, 
    43             function( res ) { 
    44                 $( ".loading" ).remove(); 
    45                 populateSelect( "#statistinator_account_google_view", res, true ); 
    46             } 
    47         ); 
     17        populateGViews( true ); 
    4818    }); 
    4919 
     
    6535    // Mailchimp lists autocomplete 
    6636    if ( $( "#statistinator_account_mailchimp_id" ).length > 0 ) { 
    67         $( "#statistinator_account_mailchimp_id" ).after( loading ); 
    68         $.post( 
    69             php.sts_ajaxurl, { action: "mailchimp_lists", }, 
    70             function( res ) { 
    71                 $( ".loading" ).remove(); 
    72                 populateSelect( "#statistinator_account_mailchimp_id", res ); 
    73             } 
    74         ); 
     37        var data = { action: "mailchimp_lists", }; 
     38        populateCall( "#statistinator_account_mailchimp_id", data );  
    7539    } 
    7640 
     
    8347}); 
    8448 
     49// Analytics properties autocomplete 
     50function populateGViews( overwrite = false ) { 
     51 
     52    var account = jQuery( "#statistinator_account_google_account" ).val(); 
     53    var property = jQuery( "#statistinator_account_google_property" ).val(); 
     54    if ( ! property ) return; 
     55 
     56    var data = { action: "analytics_views", account: account, property: property }; 
     57    populateCall( "#statistinator_account_google_view", data, overwrite );  
     58} 
     59 
     60// Analytics properties autocomplete 
     61function populateGProperties( overwrite = false ) { 
     62 
     63    var account = jQuery( "#statistinator_account_google_account" ).val(); 
     64    if ( ! account ) return; 
     65 
     66    var data = { action: "analytics_properties", account: account }; 
     67    populateCall( "#statistinator_account_google_property", data, overwrite );  
     68} 
     69 
     70// Make AJAX call to take user data 
     71function populateCall( id, data, overwrite = false ) { 
     72    jQuery( id ).after( loading ); 
     73    jQuery.post( 
     74        php.sts_ajaxurl, data, function( res ) { 
     75            jQuery( ".loading" ).remove(); 
     76            populateSelect( id, res , overwrite ); 
     77        } 
     78    ); 
     79} 
     80 
     81// Populate Select element with AJAX data 
    8582function populateSelect( id, res, overwrite = false ) { 
    8683    var data = JSON.parse( res ); 
  • statistinator/trunk/readme.txt

    r1446027 r1446080  
    44Requires at least: 3.9 
    55Tested up to: 4.5.2 
    6 Stable tag: 1.1.4 
     6Stable tag: 1.1.5 
    77License: GPLv2 or later 
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html 
     
    5050== Changelog == 
    5151 
     52= 1.1.5 =  
     53* Added fancy toggles in Authentication 
     54* Fixed Analytics accounts bug (properties & views autocomplete) 
     55 
    5256= 1.1.4 =  
    5357* Refactor Social Accounts JS functions 
  • statistinator/trunk/statistinator.php

    r1446027 r1446080  
    44 * Description: Your social media analytics in one place. 
    55 * Author: Filippos Karailanidis 
    6  * Version: 1.1.4 
     6 * Version: 1.1.5 
    77 */ 
    88 
Note: See TracChangeset for help on using the changeset viewer.