Plugin Directory

Changeset 1700632


Ignore:
Timestamp:
07/22/2017 05:27:23 AM (9 years ago)
Author:
Voltroid
Message:

update 1.3.1

Location:
chimpmate
Files:
114 added
13 edited

Legend:

Unmodified
Added
Removed
  • chimpmate/trunk/README.txt

    r1683239 r1700632  
    66Tags: mailchimp, mailchimp integration, MailChimp plugin, mailchimp signup, mailchimp wordpress, newsletter, newsletter signup, checkbox, newsletter, optin, registration form, shortcode, sign-up form, subscribe, widget,  analytics, automatic, collect email, double optin, email, exit popup, exit-intent, getresponse, growth, hellobar, lightbox, links, mail, newsletters, optin forms, popover, popup, popup domination, popupdomination, posts, subscribe, subscribers, subscription, referrer, search engine, social sharing, cookie, customizable, responsive
    77Requires at least: 3.8
    8 Tested up to: 4.
    9 Stable tag: 1.3
     8Tested up to: 4.8
     9Stable tag: 1.3.1
    1010License: GPLv2 or later
    1111License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    4141* Light Box Open Delay
    4242* Inactivity based events
     43* Visual Composer Support
     44* WPML support
    4345* One Click Backup and Restore
    4446* Easy to Configure (No coding required!)
     
    4850> [ChimpMate Pro](http://voltroid.com/chimpmate) offers special features.
    4951>
    50 > * Premium Themes
     52> * Premium Templates
     53> * Multiple Themes
    5154> * Multiple Forms
    5255> * Custom Fields
     
    6669> * Targeting Specific URLs
    6770> * Custom CSS editor
     71> * Preselected Hidden Groups for Forms
     72> * Scrollable Lightbox for long forms
     73> * WooCommerce Integration
    6874> * Premium Support 24x7
    6975
     
    120126== Changelog ==
    121127
     128= 1.3.1 =
     129* Added edit Button Shortcuts for easy access
     130* Fixed minor bugs
     131
    122132= 1.3 =
    123133* New Polished Backend Interface
  • chimpmate/trunk/admin/assets/css/admin.css

    r1656873 r1700632  
    35823582background-repeat: no-repeat;
    35833583margin-top: 5px;
     3584position: relative;
    35843585}
    35853586.mul_copy{
     
    35973598}
    35983599
     3600.mul_ico:after{
     3601position: absolute;
     3602top: -25px;
     3603left: -50%;
     3604line-height: 16px;
     3605background: rgba(0,0,0,0.75);
     3606color: #fff;
     3607border-radius: 3px;
     3608padding: 3px 10px;
     3609}
     3610.mul_copy.mul_ico:hover:after{
     3611    content: 'Clone';
     3612}
     3613.mul_edit.mul_ico:hover:after{
     3614    content: 'Edit';
     3615}
     3616.mul_del.mul_ico:hover:after{
     3617    content: 'Delete';
     3618}
     3619.mul_req.mul_ico:hover:after{
     3620    content: 'Required';
     3621}
    35993622/* table */
    36003623.chimpmate_table_cont{
     
    39203943position: relative;
    39213944top: 5px;
     3945}
     3946.chimpmate_group.chimpmate_dropc .chimpmate_drop + .chimpmate_button{
     3947margin-left: 20px;
    39223948}
    39233949/*icons*/
  • chimpmate/trunk/admin/assets/js/admin.js

    r1656873 r1700632  
    5050(function (document, window, angular) {'use strict';angular.module('googlechart', []).value('googleChartApiConfig', {version: '1',optionalSettings: {packages: ['corechart']}}).provider('googleJsapiUrl', function () {var protocol = 'https:';var url = '//www.google.com/jsapi';this.setProtocol = function (newProtocol) {protocol = newProtocol;};this.setUrl = function (newUrl) {url = newUrl;};this.$get = function () {return (protocol ? protocol : '') + url;};}).factory('googleChartApiPromise', ['$rootScope', '$q', 'googleChartApiConfig', 'googleJsapiUrl', function ($rootScope, $q, apiConfig, googleJsapiUrl) {var apiReady = $q.defer();var onLoad = function () {var settings = {callback: function () {var oldCb = apiConfig.optionalSettings.callback;$rootScope.$apply(function () {apiReady.resolve();});if (angular.isFunction(oldCb)) {oldCb.call(this);}}};settings = angular.extend({}, apiConfig.optionalSettings, settings);window.google.load('visualization', apiConfig.version, settings);};var head = document.getElementsByTagName('head')[0];var script = document.createElement('script');script.setAttribute('type', 'text/javascript');script.src = googleJsapiUrl;if (script.addEventListener) { script.addEventListener('load', onLoad, false);} else { script.onreadystatechange = function () {if (script.readyState === 'loaded' || script.readyState === 'complete') {script.onreadystatechange = null;onLoad();}};}head.appendChild(script);return apiReady.promise;}]).directive('googleChart', ['$timeout', '$window', '$rootScope', 'googleChartApiPromise', function ($timeout, $window, $rootScope, googleChartApiPromise) {return {restrict: 'A',scope: {beforeDraw: '&',chart: '=chart',onReady: '&',onSelect: '&',select: '&'},link: function ($scope, $elm, $attrs) {$scope.$watch(function () {if ($scope.chart) {return {customFormatters: $scope.chart.customFormatters,data: $scope.chart.data,formatters: $scope.chart.formatters,options: $scope.chart.options,type: $scope.chart.type,view: $scope.chart.view};}return $scope.chart;}, function () {drawAsync();}, true); var resizeHandler = $rootScope.$on('resizeMsg', function () {$timeout(function () {if ($scope.chartWrapper) {drawAsync();}});});$scope.$on('$destroy', function () {resizeHandler();});$scope.oldChartFormatters = {};function applyFormat(formatType, formatClass, dataTable) {var i;if (typeof ($scope.chart.formatters[formatType]) !== 'undefined') {if (!angular.equals($scope.chart.formatters[formatType], $scope.oldChartFormatters[formatType])) {$scope.oldChartFormatters[formatType] = $scope.chart.formatters[formatType];$scope.formatters[formatType] = [];if (formatType === 'color') {for (var cIdx = 0; cIdx < $scope.chart.formatters[formatType].length; cIdx++) {var colorFormat = new formatClass();for (i = 0; i < $scope.chart.formatters[formatType][cIdx].formats.length; i++) {var data = $scope.chart.formatters[formatType][cIdx].formats[i];if (typeof (data.fromBgColor) !== 'undefined' && typeof (data.toBgColor) !== 'undefined')colorFormat.addGradientRange(data.from, data.to, data.color, data.fromBgColor, data.toBgColor);elsecolorFormat.addRange(data.from, data.to, data.color, data.bgcolor);}$scope.formatters[formatType].push(colorFormat);}} else {for (i = 0; i < $scope.chart.formatters[formatType].length; i++) {$scope.formatters[formatType].push(new formatClass($scope.chart.formatters[formatType][i]));}}}for (i = 0; i < $scope.formatters[formatType].length; i++) {if ($scope.chart.formatters[formatType][i].columnNum < dataTable.getNumberOfColumns())$scope.formatters[formatType][i].format(dataTable, $scope.chart.formatters[formatType][i].columnNum);}if (formatType === 'arrow' || formatType === 'bar' || formatType === 'color')$scope.chart.options.allowHtml = true;}}function draw() {if (!draw.triggered && ($scope.chart !== undefined)) {draw.triggered = true;$timeout(function () {if (typeof ($scope.chartWrapper) === 'undefined') {var chartWrapperArgs = {chartType: $scope.chart.type,dataTable: $scope.chart.data,view: $scope.chart.view,options: $scope.chart.options,containerId: $elm[0]};$scope.chartWrapper = new google.visualization.ChartWrapper(chartWrapperArgs);google.visualization.events.addListener($scope.chartWrapper, 'ready', function () {$scope.chart.displayed = true;$scope.$apply(function (scope) {scope.onReady({ chartWrapper: scope.chartWrapper });});});google.visualization.events.addListener($scope.chartWrapper, 'error', function (err) {/* console.log("Chart not displayed due to error: " + err.message + ". Full error object follows.");console.log(err);*/});google.visualization.events.addListener($scope.chartWrapper, 'select', function () {var selectEventRetParams = { selectedItems: $scope.chartWrapper.getChart().getSelection() };selectEventRetParams.selectedItem = selectEventRetParams.selectedItems[0];$scope.$apply(function () {if ($attrs.select) {$scope.select(selectEventRetParams);}else {$scope.onSelect(selectEventRetParams);}});});}else {$scope.chartWrapper.setChartType($scope.chart.type);$scope.chartWrapper.setDataTable($scope.chart.data);$scope.chartWrapper.setView($scope.chart.view);$scope.chartWrapper.setOptions($scope.chart.options);}if (typeof ($scope.formatters) === 'undefined')$scope.formatters = {};if (typeof ($scope.chart.formatters) !== 'undefined') {applyFormat("number", google.visualization.NumberFormat, $scope.chartWrapper.getDataTable());applyFormat("arrow", google.visualization.ArrowFormat, $scope.chartWrapper.getDataTable());applyFormat("date", google.visualization.DateFormat, $scope.chartWrapper.getDataTable());applyFormat("bar", google.visualization.BarFormat, $scope.chartWrapper.getDataTable());applyFormat("color", google.visualization.ColorFormat, $scope.chartWrapper.getDataTable());}var customFormatters = $scope.chart.customFormatters;if (typeof (customFormatters) !== 'undefined') {for (var name in customFormatters) {applyFormat(name, customFormatters[name], $scope.chartWrapper.getDataTable());}}$timeout(function () {$scope.beforeDraw({ chartWrapper: $scope.chartWrapper });$scope.chartWrapper.draw();draw.triggered = false;});}, 0, true);} else if ($scope.chart !== undefined) {$timeout.cancel(draw.recallTimeout);draw.recallTimeout = $timeout(draw, 10);}}function drawAsync() {googleChartApiPromise.then(function () {draw();});}}};}]).run(['$rootScope', '$window', function ($rootScope, $window) {angular.element($window).bind('resize', function () {$rootScope.$emit('resizeMsg');});}]);})(document, window, window.angular);
    5151    var chimpmate = angular.module("chimpmate",['ngAnimate', 'ngRoute','minicolors', 'googlechart','timer','as.sortable','ngMultiSelect.directive','ngQuill']);
    52     chimpmate.controller("chimpmatectlr", function($scope,$rootScope,$route,$filter,$compile,$http) {
     52    chimpmate.controller("chimpmatectlr", function($scope,$rootScope,$route,$location,$filter,$compile,$http) {
    5353        $scope.$route = $route;
    5454        $scope.data=wpmchimpa;
     
    9595        $scope.gettheme = function(i){return $filter('filter')($scope.data.themes, function (d) {return parseInt(d.id) === parseInt(i);})[0];}
    9696        $scope.getformbyid = function(i){return $filter('filter')($scope.data.cforms, function (d) {return parseInt(d.id) === parseInt(i);})[0];}
     97        $scope.getformibyid = function(i){return $scope.data.cforms.indexOf($filter('filter')($scope.data.cforms, function (d) {return parseInt(d.id) === parseInt(i);})[0]);}
    9798       
    9899        $rootScope.$on('$includeContentRequested', function() {
     
    118119            }
    119120        }
     121
     122        $scope.foredit = {
     123            theme:false,
     124            form:false,
     125            run:function(i,id){
     126                if(i==0){
     127                    $scope.foredit.form = id;
     128                    $location.path( "/general" );
     129                }
     130                else {
     131                    $scope.foredit.theme = id;
     132                    $location.path( "/theme" );
     133                }
     134            }
     135        };
     136
    120137        $scope.sup_button = function(){
    121138            window.open("http://wordpress.org/support/plugin/chimpmate","_blank");
     
    127144    });
    128145    chimpmate.controller("chimpmatethe", function($scope,$sce,$filter) {
     146
     147
     148        $scope.$on('$viewContentLoaded', function() {
     149            if($scope.foredit.theme){
     150                $scope.theme_ctrl.edit($scope.foredit.theme);
     151                $scope.foredit.theme = false;
     152                setTimeout(function() {
     153                    $("html, body").stop().animate({
     154                        scrollTop: $('.chimpmate_edit').first().offset().top - 100
     155                    }, '500', 'linear');
     156                }, 10);
     157            }
     158        });
     159
    129160        $scope.getSpin = function(spin,pre,color){
    130161            if(!isset(spin))return '';
     
    165196            econ: wpmchimpa_script.ajaxurl+'?action=chimpmate_tab&tab=theme_opt',
    166197            edit: function(id){
    167                 $scope.theme_ctrl.esel = $scope.tnav.cp*$scope.tnav.ps + id;
     198                $scope.theme_ctrl.esel = id;
    168199                $scope.theme_ctrl.sel = -1;
    169                 $scope.theme = $scope.data.themes[$scope.tnav.cp*$scope.tnav.ps + id].options;
     200                $scope.theme = $scope.gettheme(id).options;
    170201                //refresh
    171202                if(isset(msg_edit)){
     
    219250    });
    220251    chimpmate.controller("chimpmategen", function($scope,$sce,$filter,$http) {
     252
     253        $scope.$on('$viewContentLoaded', function() {
     254            if($scope.foredit.form){
     255                $scope.form.edit($scope.foredit.form);
     256                $scope.foredit.form = false;
     257                setTimeout(function() {
     258                    $("html, body").stop().animate({
     259                        scrollTop: $('.chimpmate_edit').first().offset().top - 200
     260                    }, '500', 'linear');
     261                }, 10);
     262            }
     263        });
     264
    221265        $scope.mailserv = {
    222266            connect: function(){
     
    304348                if($scope.remote.chk())return;
    305349                if(!isset($scope.data.mailserv)){$scope.addErr('Configure Connection Settings');return;}
    306                 if(!isset($scope.data.cforms[i].list)){$scope.addErr('Select list');return;}
     350                if(!isset($scope.getformbyid(i).list)){$scope.addErr('Select list');return;}
    307351                $scope.form.step=1;
    308352                $scope.form.ed = i;
    309                 $scope.form.tform = angular.copy($scope.data.cforms[i]);
     353                $scope.form.tform = angular.copy($scope.getformbyid(i));
    310354                $scope.remote.lock();
    311355                $scope.edform.getfield();
     
    390434            },
    391435            ok:function(){
    392                 $scope.data.cforms[$scope.form.ed] = angular.copy($scope.form.tform);
     436                $scope.data.cforms[$scope.getformibyid($scope.form.ed)] = angular.copy($scope.form.tform);
    393437                $scope.form.step = 1;
    394438                $scope.form.tform = {};
  • chimpmate/trunk/admin/class-chimpmate-wpmc-assistant-admin.php

    r1656943 r1700632  
    6565    }
    6666    function update_notice($a=null) {
     67        // echo $this->settings['db_change'];
     68        if(!isset($this->settings['db_change']) || $this->settings['db_change']==0)return;
    6769        global $pagenow;
    6870        if ( $pagenow != 'admin.php' )
     
    8587        if (isset($_GET['chimpmate-dbchange-notice'])) {
    8688            add_user_meta($user_id, 'chimpmate_dbchange_notice', 'true', true);
     89            $this->settings['db_change']=0;
     90            update_option('wpmchimpa_options',$this->settings);
     91            if ( wp_get_referer() ){
     92                wp_safe_redirect( wp_get_referer() );
     93            }
     94            else{
     95                wp_safe_redirect( get_home_url() );
     96            }
    8797        }
    8898    }
  • chimpmate/trunk/admin/views/admin_addon.php

    r1656873 r1700632  
    2121                </div>
    2222            </div>
     23            <button class="chimpmate_button orange material-design ng-binding" ng-click="foredit.run(0,data.addon_form)" ng-show="data.addon_form">Edit Form</button>
    2324        </div>
    2425        <div class="chimpmate_group chimpmate_dropc">
     
    3233                </div>
    3334            </div>
     35            <button class="chimpmate_button orange material-design ng-binding" ng-click="foredit.run(1,data.addon_theme)" ng-show="data.addon_theme">Edit Theme</button>
    3436        </div>
    3537    </div>
     
    5557                </div>
    5658            </div>
     59            <button class="chimpmate_button orange material-design ng-binding" ng-click="foredit.run(0,data.topbar_form)" ng-show="data.topbar_form">Edit Form</button>
    5760        </div>
    5861        <div class="chimpmate_group chimpmate_dropc">
     
    6669                </div>
    6770            </div>
     71            <button class="chimpmate_button orange material-design ng-binding" ng-click="foredit.run(1,data.topbar_theme)" ng-show="data.topbar_theme">Edit Theme</button>
    6872        </div>
    6973    </div>
     
    8993                </div>
    9094            </div>
     95            <button class="chimpmate_button orange material-design ng-binding" ng-click="foredit.run(0,data.flipbox_form)" ng-show="data.flipbox_form">Edit Form</button>
    9196        </div>
    9297        <div class="chimpmate_group chimpmate_dropc">
     
    100105                </div>
    101106            </div>
     107            <button class="chimpmate_button orange material-design ng-binding" ng-click="foredit.run(1,data.flipbox_theme)" ng-show="data.flipbox_theme">Edit Theme</button>
    102108        </div>
    103109    </div>
  • chimpmate/trunk/admin/views/admin_general.php

    r1656873 r1700632  
    6161                                </div>
    6262                                <div>
    63                                     <div class="mul_ico mul_edit" ng-click="form.edit($index)"></div>
     63                                    <div class="mul_ico mul_edit" ng-click="form.edit(cform.id)"></div>
    6464                                </div>
    6565                                <div></div>
     
    7373                </div>
    7474            </div>
     75            <div class="chimpmate_edit"></div>
    7576            <div class="chimpmate_formbox" ng-if="form.step==2">
    7677                <div class="itemhead">
  • chimpmate/trunk/admin/views/admin_lightbox.php

    r1656873 r1700632  
    2121                </div>
    2222            </div>
     23            <button class="chimpmate_button orange material-design ng-binding" ng-click="foredit.run(0,data.lite_form)" ng-show="data.lite_form">Edit Form</button>
    2324        </div>
    2425        <div class="chimpmate_group chimpmate_dropc">
     
    3233                </div>
    3334            </div>
     35            <button class="chimpmate_button orange material-design ng-binding" ng-click="foredit.run(1,data.lite_theme)" ng-show="data.lite_theme">Edit Theme</button>
    3436        </div>
    3537    </div>
  • chimpmate/trunk/admin/views/admin_slider.php

    r1656873 r1700632  
    2121                </div>
    2222            </div>
     23            <button class="chimpmate_button orange material-design ng-binding" ng-click="foredit.run(0,data.slider_form)" ng-show="data.slider_form">Edit Form</button>
    2324        </div>
    2425        <div class="chimpmate_group chimpmate_dropc">
     
    3233                </div>
    3334            </div>
     35            <button class="chimpmate_button orange material-design ng-binding" ng-click="foredit.run(1,data.slider_theme)" ng-show="data.slider_theme">Edit Theme</button>
    3436        </div>
    3537    </div>
  • chimpmate/trunk/admin/views/admin_theme.php

    r1656873 r1700632  
    2626                        </div>
    2727                        <div>
    28                             <div class="mul_ico mul_edit" ng-click="theme_ctrl.edit($index)"></div>
     28                            <div class="mul_ico mul_edit" ng-click="theme_ctrl.edit(th.id)"></div>
    2929                        </div>
    3030                        <div></div>
     
    4242        </div>
    4343    </div>
     44    <div class="chimpmate_edit"></div>
    4445    <div ng-if="theme_ctrl.esel > -1" ng-include="theme_ctrl.econ"></div>
    4546</div>
  • chimpmate/trunk/admin/views/admin_theme_opt.php

    r1656873 r1700632  
    22    <div class="chimpmate_item">
    33        <div class="itemhead">
    4             <h2>Edit : {{data.themes[theme_ctrl.esel].name}}</h2>
     4            <h2>Edit : {{gettheme(theme_ctrl.esel).name}}</h2>
    55            <span class="chimpmate_hint headhint" data-hint="Edit your Theme"></span>
    66        </div>
  • chimpmate/trunk/admin/views/admin_widget.php

    r1656873 r1700632  
    2121                </div>
    2222            </div>
     23            <button class="chimpmate_button orange material-design ng-binding" ng-click="foredit.run(0,data.widget_form)" ng-show="data.widget_form">Edit Form</button>
    2324        </div>
    2425        <div class="chimpmate_group chimpmate_dropc">
     
    3233                </div>
    3334            </div>
     35            <button class="chimpmate_button orange material-design ng-binding" ng-click="foredit.run(1,data.widget_theme)" ng-show="data.widget_theme">Edit Theme</button>
    3436        </div>
    3537    </div>
  • chimpmate/trunk/chimpmate.php

    r1656873 r1700632  
    1212 * Plugin URI:        http://voltroid.com/chimpmate
    1313 * Description:       Easy to Use MailChimp Plugin
    14  * Version:           1.3
     14 * Version:           1.3.1
    1515 * Author:            Voltroid
    1616 * Author URI:        http://voltroid.com
  • chimpmate/trunk/public/class-chimpmate-wpmc-assistant.php

    r1656944 r1700632  
    2121     * @var     string
    2222     */
    23     const VERSION = '1.3';
     23    const VERSION = '1.3.1';
    2424
    2525    /**
     
    509509    public static function update_db_check(){
    510510        $wpmchimpa=get_option('wpmchimpa_options');
     511        $dbc=false;
    511512
    512513        if(!is_array($wpmchimpa)){
     514            $dbc=true;
    513515
    514516            $wpmchimpa=json_decode($wpmchimpa,true);
     
    554556        }
    555557        if(isset($wpmchimpa['slider_behave_movein'])){
     558            $dbc=true;
    556559            $wpmchimpa['slider_transit'] = 2;
    557560            unset($wpmchimpa['slider_behave_movein']);
    558561        }
    559562        if(!isset($wpmchimpa['slider_transit'])){
     563            $dbc=true;
    560564            $wpmchimpa['slider_transit'] = 1;
    561565        }
    562566        if(isset($wpmchimpa['theme'])){
     567            $dbc=true;
    563568
    564569            if(isset($wpmchimpa['api_key'])){
     
    664669            }
    665670
    666         }
    667         update_option('wpmchimpa_options',$wpmchimpa);
     671            $wpmchimpa['db_change']=1;
     672
     673        }
     674        if($dbc)
     675            update_option('wpmchimpa_options',$wpmchimpa);
    668676    }
    669677    /**
Note: See TracChangeset for help on using the changeset viewer.