WordPress.org

Plugin Directory

Changeset 1473188


Ignore:
Timestamp:
08/12/16 16:20:24 (16 months ago)
Author:
filkaris
Message:

Version 1.2.2

Location:
statistinator/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • statistinator/trunk/css/admin.css

    r1450295 r1473188  
     1/* Create Key in Dashboard */ 
     2.sts-warning-wrapper { 
     3    padding: 40px; 
     4    text-align: center; 
     5} 
     6/* Create Key */ 
     7.sts-key-wrap { 
     8    text-align: center; 
     9} 
     10.sts-key-wrap p { 
     11    margin: 40px 0; 
     12} 
     13.sts-key-wrap table { 
     14    width: 300px; 
     15    margin: auto; 
     16} 
     17.sts-key-wrap h1 { 
     18    font-size: 2em; 
     19} 
     20.sts-key-wrap label { 
     21    font-size: 1.2em; 
     22} 
     23.sts-key-wrap input.button { 
     24    font-size: 1.2em; 
     25    padding: 1px 15px 2px; 
     26    height:30px; 
     27} 
     28 
     29/* Graph */ 
    130.sts-graph-container .sts-left , 
    231.sts-graph-container .sts-right { 
  • statistinator/trunk/inc/class-statistinator-options.php

    r1447917 r1473188  
    1616 
    1717    public function page() {  
     18        //Check if we got API Key 
     19        if ( _isset( $_GET['key'] ) ) { 
     20            $key = $_GET['key'];  
     21            // Send to server to check 
     22            $post = wp_remote_post( Statistinator::URL . '/src/key.php', array( 
     23                'headers'    => array( 'Referer' => get_site_url() ), 
     24                'body'      => array( 'key' => $key ), 
     25            )); 
     26 
     27            // If ok, store as meta 
     28            if ( $post['body'] == 'ok' ) { 
     29                $message = 'API Key stored successfully!'; 
     30                $type = 'success'; 
     31 
     32                update_option( 'statistinator_key', $key ); 
     33            } 
     34            else { 
     35                $message = 'Could not confirm your API Key, please contact us at support@statistinator.com'; 
     36                $type = 'error'; 
     37            } 
     38            // Show message 
     39?> 
     40<div class="notice notice-<?php echo $type; ?> is-dismissible"><p><?php echo $message; ?></p></div> 
     41<?php 
     42        } 
     43?> 
     44    <div class="wrap"> 
     45        <h2>Statistinator</h2> 
     46    <?php 
     47        // Check if API Key exists or not 
     48        $key = get_option( 'statistinator_key' ); 
     49        if ( !_isset( $key ) ) { 
     50?> 
     51<div class='sts-key-wrap'> 
     52    <form action="options.php" method="post"> 
     53        <h1>Create your <strong>API Key</strong> to Get Started!</h1> 
     54        <?php settings_fields( "statistinator_email" ); ?> 
     55        <?php do_settings_sections( "statistinator_email" ); ?> 
     56        <p><input type="submit" name="submit" class="button button-primary" value="Send me my Key"></p> 
     57    </form> 
     58</div> 
     59<?php 
     60            return;         
     61        } 
    1862        // Init tabs 
    1963        $tabs = array( 
     
    2670        $active_tab = ( _isset( $_GET['tab']) ? $_GET['tab'] : key( $tabs ) ); 
    2771    ?> 
    28     <div class="wrap"> 
    29         <h2>Statistinator</h2> 
    3072        <h2 class="nav-tab-wrapper"> 
    3173        <?php 
     
    4789        // Register sections 
    4890        add_settings_section( 'statistinator_account_section', 'Accounts', array(  'Statistinator_Tab_Account', 'description'), 'statistinator_account'); 
    49         add_settings_section( 'statistinator_authentication_section', 'Authentication',array(  'Statistinator_Tab_Authentication', 'description'), 'statistinator_authentication'); 
     91        add_settings_section( 'statistinator_authentication_section', 'Authentication', array(  'Statistinator_Tab_Authentication', 'description'), 'statistinator_authentication'); 
     92        add_settings_section( 'statistinator_email_section', '', __return_null() , 'statistinator_email'); 
    5093 
    5194        // Register fields 
     95        add_settings_field( 'statistinator_email','Your Email:', array( $this, 'textbox' ), 'statistinator_email', 'statistinator_email_section' ); 
     96        register_setting( 'statistinator_email', 'statistinator_email', array( 'Statistinator', 'statistinator_email_validate' ) ); 
     97 
    5298        $fields = array( 
    5399            'google' => 'Google Analytics', 
     
    91137        return $args; 
    92138    } 
     139 
     140    public function textbox() { 
     141    ?> 
     142        <input name='statistinator_email' id='statistinator_email' type='text' /> 
     143    <?php 
     144    } 
     145 
    93146} 
  • statistinator/trunk/inc/class-statistinator.php

    r1447917 r1473188  
    6969        //Dashboard 
    7070        if ( $screen->base == 'dashboard' && $enabled ) { 
     71            wp_enqueue_style( 'sts-admin-style', plugins_url( 'css/admin.css', STS_FILE ) ); 
     72 
    7173            $data = self::get_data(); 
    7274            wp_enqueue_script( 'sts-chart', plugins_url( 'js/Chart.js', STS_FILE ) ); 
     
    164166    } 
    165167    public function dashboard_widget() { 
     168        $key = get_option('statistinator_key'); 
    166169    ?> 
     170        <?php if ( _isset( $key ) ) : ?> 
    167171        <div class='sts-graph-container'> 
    168172            <canvas id="sts-graph" width="400" height="400"></canvas> 
    169173        </div> 
     174        <?php else: ?> 
     175        <div class='sts-warning-wrapper'> 
     176            <h2>Looking for your <strong>Statistinator</strong> graph?</h2> 
     177            <p>Because of some changes, you must now create an API Key.</p> 
     178            <p>Don't worry! All your data is still safe and sound.</p> 
     179            <h2><a href='options-general.php?page=statistinator'>Click here to create your API Key</a></h2> 
     180        </div> 
     181        <?php endif; ?> 
    170182    <?php 
    171183    } 
     
    261273    } 
    262274 
     275    // Set up by Statistinator_Options as sanitized callback 
     276    public static function statistinator_email_validate( $data ) { 
     277        if ( _isset( $data ) ) { 
     278            // Sanitize input 
     279            $email = filter_var( $data ,FILTER_SANITIZE_EMAIL );    
     280            // Ajax call to server 
     281            $post = wp_remote_post( Statistinator::URL . '/src/key.php', array( 
     282                'headers'    => array( 'Referer' => get_site_url() ), 
     283                'body'      => array( 'email' => $email, 'path' => $_SERVER['HTTP_REFERER'] ), 
     284            )); 
     285            //TODO Make sure email got sent OK. Send error/ok from server 
     286            if ( $post['body'] == 'ok' ) { 
     287                $message = 'Your API Key is on its way! Don\'t forget to check your spam folder.'; 
     288                $type = 'updated'; 
     289            } 
     290            else { 
     291                $message = 'Could not send email, please contact us at support@statistinator.com'; 
     292                $type = 'error'; 
     293            } 
     294        } 
     295        add_settings_error('statistinator_email','statistinator_email', $message, $type); 
     296        return false; 
     297    } 
     298 
    263299} 
  • statistinator/trunk/readme.txt

    r1450295 r1473188  
    44Requires at least: 3.9 
    55Tested up to: 4.5.3 
    6 Stable tag: 1.2.1 
     6Stable tag: 1.2.2 
    77License: GPLv2 or later 
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html 
     
    5151== Changelog == 
    5252 
     53= 1.2.2 = 
     54* Require API Key to use 
     55 
    5356= 1.2.1 = 
    5457* Facebook page validation  
  • statistinator/trunk/statistinator.php

    r1450295 r1473188  
    44 * Description: Your social media analytics in one place. 
    55 * Author: Filippos Karailanidis 
    6  * Version: 1.2.1 
     6 * Version: 1.2.2 
    77 */ 
    88 
Note: See TracChangeset for help on using the changeset viewer.