Plugin Directory

Changeset 2816672


Ignore:
Timestamp:
11/11/2022 01:47:26 PM (3 years ago)
Author:
shinystat
Message:

Ver 1.0.10, added advanced options to configure additional parameters in tag script request.

Location:
shinystat-analytics
Files:
27 added
9 edited

Legend:

Unmodified
Added
Removed
  • shinystat-analytics/trunk/README.txt

    r2747697 r2816672  
    22Contributors: shinystat
    33Donate link: http://www.shinystat.com/
    4 Tags: analytics, statistics, counter, visits, marketing, tracking, optimize, uniques, visitors, stats, conversions, engagement, recommendation, web analytics, marketing automation, ecommerce, ecommerce tracking, javascript error tracking, surveys, artificial intelligence
     4Tags: analytics, statistics, counter, visits, marketing, tracking, optimize, seo, uniques, visitors, stats, conversions, engagement, recommendation, web analytics, marketing automation, ecommerce, ecommerce tracking, javascript error tracking, surveys, artificial intelligence
    55Requires at least: 3.1.0
    6 Tested up to: 6.0
    7 Stable tag: 1.0.9
     6Tested up to: 6.1
     7Stable tag: 1.0.10
    88Requires PHP: 5.6 or higher
    99License: GPLv2 or later
     
    5555== Changelog ==
    5656
     57= 1.0.10 =
     58* Added advanced options section in settings to concatenate parameters in tag source request.
     59
    5760= 1.0.9 =
    5861* Update timestamp in shn_engage.cart_content when add-to-cart is done by entire page refresh (not by ajax request wc-add-to-cart).
     
    9295
    9396== Upgrade Notice ==
     97
     98= 1.0.10 =
     99* Added advanced options section for additional parameters in tag script request.
    94100
    95101= 1.0.9 =
  • shinystat-analytics/trunk/admin/class-shinystat-analytics-admin.php

    r2698280 r2816672  
    3636     * The options name to be used in this plugin
    3737     *
    38      * @since   1.0.0
    39      * @access  private
    40      * @var     string      $option_name    Option name of this plugin
     38     * @since    1.0.0
     39     * @access   private
     40     * @var      string         $option_name    Option name of this plugin
    4141     */
    4242    private $option_prefix = 'shinystat_analytics';
     
    5555     *
    5656     * @since    1.0.0
    57      * @param      string    $plugin_name       The name of this plugin.
    58      * @param      string    $version    The version of this plugin.
     57     * @param    string    $plugin_name       The name of this plugin.
     58     * @param    string    $version    The version of this plugin.
    5959     */
    6060    public function __construct( $plugin_name, $version ) {
     
    182182        register_setting( $this->plugin_name, $this->option_prefix . '_conv_name');
    183183       
     184        // Add advanced options
     185        add_settings_field(
     186            $this->option_prefix . '_advanced_options',
     187            __( 'Advanced Options', 'shinystat-analytics' ),
     188            array( $this, $this->option_prefix . '_advanced_options' ),
     189            $this->plugin_name,
     190            $this->option_prefix . '_general',
     191            array( 'label_for' => $this->option_prefix . '_advanced_options' )
     192        );
     193        register_setting( $this->plugin_name, $this->option_prefix . '_advanced_options_add_param_name');
     194        register_setting( $this->plugin_name, $this->option_prefix . '_advanced_options_add_param_value');
    184195    }
    185196
     
    330341    }
    331342
     343
     344    /**
     345     * Render the advanced_options inputs with "Add parameter" button and name
     346     * and value pairs to define additional parameters
     347     *
     348     * @since  1.0.10
     349     */
     350    public function shinystat_analytics_advanced_options() {
     351
     352        $add_param_name = get_option( 'shinystat_analytics_advanced_options_add_param_name' );
     353        $add_param_value = get_option( 'shinystat_analytics_advanced_options_add_param_value' );
     354        ?>
     355
     356        <fieldset id="<?php echo $this->option_prefix . '_advanced_options' ?>">
     357            <div id="<?php echo $this->option_prefix . '_advanced_options_collapsible' ?>"></div>
     358            <div id="<?php echo $this->option_prefix . '_advanced_options_content' ?>" style="max-height:0px">
     359                <div id="<?php echo $this->option_prefix . '_advanced_options_newinput' ?>"></div>
     360                <button id="<?php echo $this->option_prefix . '_advanced_options_rowAdder' ?>"
     361                    type="button" class="btn float-left button button-primary" style="margin:10px;">
     362                         &plus; &nbsp; <?php _e( 'Add parameter', 'shinystat-analytics' ); ?>
     363                </button>
     364            </div>
     365        </fieldset>
     366
     367        <script type="text/javascript">
     368        (function() {
     369            var coll = document.getElementById("<?php echo $this->option_prefix . '_advanced_options_collapsible' ?>");
     370            if (!!coll) {
     371                coll.addEventListener("click", function() {
     372                    this.classList.toggle("active");
     373                    var content = this.nextElementSibling;
     374                    if (content.style.maxHeight == "0px"){
     375                        content.style.maxHeight = "unset";
     376                    } else {
     377                        content.style.maxHeight = "0px";
     378                    }
     379                });
     380            }
     381
     382                    function createNewRow(index, name, value) {
     383                var rowDeleteClass = "<?php echo $this->option_prefix . '_advanced_options_rowDelete' ?>";
     384                            var newRowAdd = '';
     385                            newRowAdd += '<fieldset style="padding:5px">';
     386                            newRowAdd += '<button class="col-md-1 btn ' + rowDeleteClass + '" id="' + rowDeleteClass  + index + '" type="button">&times;</button>';
     387           
     388                newRowAdd += '<div class="<?php echo $this->option_prefix . '_advanced_options_inlineleft' ?>">';
     389                newRowAdd += '<label for="<?php echo $this->option_prefix . '_advanced_options_add_param_name' ?>' + index + '">';
     390                newRowAdd += '<?php _e( 'Name', 'shinystat-analytics' ); ?>:</label>';
     391                newRowAdd += '<input class="form-control mb-2" type="text" ';
     392                newRowAdd += 'id="<?php echo $this->option_prefix . '_advanced_options_add_param_name' ?>' + index + '" ';
     393                newRowAdd += 'name="<?php echo $this->option_prefix . '_advanced_options_add_param_name[]' ?>" ';
     394                newRowAdd += 'value="' + name + '">';
     395                newRowAdd += '</div>';
     396
     397                newRowAdd += '<div class="<?php echo $this->option_prefix . '_advanced_options_inlineright' ?>">';
     398                newRowAdd += '<label for="<?php echo $this->option_prefix . '_advanced_options_add_param_value' ?>' + index + '">';
     399                newRowAdd += '<?php _e( 'Value', 'shinystat-analytics' ); ?>:</label>';
     400                newRowAdd += '<input class="form-control mb-2" type="text" ';
     401                newRowAdd += 'id="<?php echo $this->option_prefix . '_advanced_options_add_param_value' ?>' + index + '" ';
     402                newRowAdd += 'name="<?php echo $this->option_prefix . '_advanced_options_add_param_value[]' ?>" ';
     403                newRowAdd += 'value="' + value + '">';
     404                newRowAdd += '</div>';
     405                            newRowAdd += '</fieldset>';
     406                           
     407                var newinput = document.getElementById("<?php echo $this->option_prefix . '_advanced_options_newinput' ?>");
     408                newinput.insertAdjacentHTML('beforebegin', newRowAdd);
     409                var rowDelete = document.getElementById(rowDeleteClass + index);
     410                rowDelete.addEventListener("click", function () {
     411                                    this.parentElement.remove();
     412                            })
     413                    }
     414
     415                    var index = 0;
     416            var rowAdder = document.getElementById("<?php echo $this->option_prefix . '_advanced_options_rowAdder' ?>");
     417            rowAdder.addEventListener("click", function () {
     418                            createNewRow(index++, '', '');
     419                    });
     420
     421            var definedNames = <?php echo json_encode($add_param_name) ?>;
     422            var definedValues = <?php echo json_encode($add_param_value) ?>;
     423            var value;
     424            for (var i=0; i < definedNames.length; i++) {
     425                value = (typeof definedValues === "object" && definedValues[i] !== "undefined") ? definedValues[i] : "";
     426                if (typeof definedNames[i] === "string" && definedNames[i].length > 0)
     427                                createNewRow(index++, definedNames[i], value);
     428                    }
     429
     430        })()
     431        </script>
     432
     433
     434        <?php
     435    }
     436
     437
    332438    /**
    333439     * Render the conversion name input for this plugin
  • shinystat-analytics/trunk/admin/css/shinystat-analytics-admin.css

    r2417045 r2816672  
    127127    display: inline-flex;
    128128}
     129
     130#shinystat_analytics_advanced_options_collapsible {
     131    float: left;
     132    cursor: pointer;
     133    padding: 0px 8px 4px;
     134    font-size: 19px;
     135    border-radius: 3px;
     136    margin-top: 8px;
     137}
     138
     139#shinystat_analytics_advanced_options_collapsible:hover {
     140    background-color: #ddd;
     141}
     142#shinystat_analytics_advanced_options_collapsible:after {
     143   content: '\00BB';
     144}
     145#shinystat_analytics_advanced_options_collapsible.active {
     146   margin-top: 0px;
     147}
     148#shinystat_analytics_advanced_options_collapsible.active:after {
     149   content: '\00AB';
     150   color: blue;
     151}
     152#shinystat_analytics_advanced_options_content {
     153   padding: 0 18px;
     154   max-height: 0px;
     155   overflow: hidden;
     156   transition: max-height 0.2s ease-out;
     157   background-color: #f1f1f1;
     158}
     159#shinystat_analytics_advanced_options_rowAdder {
     160   cursor: pointer;
     161}
     162.shinystat_analytics_advanced_options_rowDelete {
     163   color: red;
     164   border: solid 1px red !important;
     165   border-radius: 16px;
     166   padding: 0px 6px;
     167   margin: 0px 10px;
     168   cursor: pointer;
     169}
     170.shinystat_analytics_advanced_options_rowDelete:hover {
     171   background-color: #fcc;
     172}
     173.shinystat_analytics_advanced_options_inlineright {
     174   display: inline-block;
     175   margin: 0px 0px 0px 51px;
     176}
     177.shinystat_analytics_advanced_options_inlineleft {
     178   display: inline-block;
     179   margin: 0px -20px 0px 10px;
     180}
     181.shinystat_analytics_advanced_options_inlineleft label,
     182.shinystat_analytics_advanced_options_inlineright label {
     183   min-width: 60px;
     184}
     185
  • shinystat-analytics/trunk/includes/class-shinystat-analytics.php

    r2747697 r2816672  
    7070            $this->version = SHINYSTAT_ANALYTICS_VERSION;
    7171        } else {
    72             $this->version = '1.0.9';
     72            $this->version = '1.0.10';
    7373        }
    7474        $this->plugin_name = 'shinystat-analytics';
  • shinystat-analytics/trunk/languages/shinystat-analytics-it_IT.po

    r2698280 r2816672  
    4141msgid "Account Type"
    4242msgstr "Tipo di Account"
     43
     44#: admin/class-shinystat-analytics-admin.php:163
     45msgid "Advanced Options"
     46msgstr "Opzioni Avanzate"
     47
     48#: admin/class-shinystat-analytics-admin.php:163
     49msgid "Add parameter"
     50msgstr "Aggiungi parametro"
     51
     52#: admin/class-shinystat-analytics-admin.php:163
     53msgid "Name"
     54msgstr "Nome"
     55
     56#: admin/class-shinystat-analytics-admin.php:163
     57msgid "Value"
     58msgstr "Valore"
    4359
    4460#: admin/class-shinystat-analytics-admin.php:174
  • shinystat-analytics/trunk/languages/shinystat-analytics.pot

    r2698280 r2816672  
    4040#: admin/class-shinystat-analytics-admin.php:161
    4141msgid "Account Type"
     42msgstr ""
     43
     44#: admin/class-shinystat-analytics-admin.php:163
     45msgid "Advanced Options"
     46msgstr ""
     47
     48#: admin/class-shinystat-analytics-admin.php:163
     49msgid "Add parameter"
     50msgstr ""
     51
     52#: admin/class-shinystat-analytics-admin.php:163
     53msgid "Name"
     54msgstr ""
     55
     56#: admin/class-shinystat-analytics-admin.php:163
     57msgid "Value"
    4258msgstr ""
    4359
  • shinystat-analytics/trunk/public/class-shinystat-analytics-public.php

    r2747708 r2816672  
    7474        $account_name = get_option( $this->option_prefix . '_account_name' );
    7575        $account_type = get_option( $this->option_prefix . '_account_type' );
     76        $add_param_name = get_option( $this->option_prefix . '_advanced_options_add_param_name' );
     77        $add_param_value = get_option( $this->option_prefix . '_advanced_options_add_param_value' );
    7678
    7779        if ($account_type == "business")
     
    8284        $src .= "?USER=" . $account_name;
    8385        $src .= "&NODW=yes";
     86
     87        //additional parameters with valid name
     88        for ($i=0; $i < count($add_param_name); $i++) {
     89            $value = (count($add_param_value) > $i) ? $add_param_value[$i] : "";
     90            if (strlen($add_param_name[$i]) > 0)
     91                $src .= "&" . $add_param_name[$i] ."=" . $value;
     92        }
     93
    8494        $src .= "&WPPV=" . $this->version;
    8595
  • shinystat-analytics/trunk/shinystat-analytics.php

    r2747697 r2816672  
    1717 * Plugin URI:        https://wordpress.org/plugins/shinystat-analytics/
    1818 * Description:       Activate the plugin and start to use ShinyStat Web Analytics and On-site Marketing Automation tools.
    19  * Version:           1.0.9
     19 * Version:           1.0.10
    2020 * Author:            ShinyStat
    2121 * Author URI:        https://www.shinystat.com
     
    3636 * Rename this for your plugin and update it as you release new versions.
    3737 */
    38 define( 'SHINYSTAT_ANALYTICS_VERSION', '1.0.9' );
     38define( 'SHINYSTAT_ANALYTICS_VERSION', '1.0.10' );
    3939
    4040/**
Note: See TracChangeset for help on using the changeset viewer.