Plugin Directory

Changeset 1022451


Ignore:
Timestamp:
11/09/2014 02:57:58 PM (11 years ago)
Author:
syntaxart
Message:

Updated to version 1.1.6

Location:
restaurant-manager
Files:
238 added
6 edited

Legend:

Unmodified
Added
Removed
  • restaurant-manager/trunk/class-config.php

    r1021648 r1022451  
    2323    public function __construct() {
    2424
    25         $this->version = '1.1.5';
     25        $this->version = '1.1.6';
    2626        $this->plugin_name = 'Restaurant Manager';
    2727        $this->plugin_slug = 'restaurant-manager';
  • restaurant-manager/trunk/framework/js/min/synth-admin.min.js

    r1020155 r1022451  
    1 "use strict";
    2 
    3 // Global Namespace
    4 var syn_restaurant_manager_js = {};
    5 
    6 var syn_restaurant_manager_js_core = null;
    7 var syn_restaurant_manager_js_controls = null;
    8 var syn_restaurant_manager_js_shortcodes = null;
    9 
    10 
    11 
    12 
    13 
    14 
    15 jQuery(document).ready(function()
    16 {
    17     syn_restaurant_manager_js_core = new syn_restaurant_manager_js.SynthCore();
    18     syn_restaurant_manager_js_controls = new syn_restaurant_manager_js.SynthControls();
    19     syn_restaurant_manager_js_shortcodes = new syn_restaurant_manager_js.SynthShortcodes();
    20 });
    21 /*
    22  * SyntaxThemes Core
    23  *
    24  * @author Ryan Haworth
    25  */
    26 (function(context, window, document, undefined) {
    27 
    28     "use strict";
    29 
    30     context.SynthCore = function(options) {
    31 
    32         this.initialize();
    33     };
    34 
    35     context.SynthCore.prototype = {
    36         initialize: function() {
    37 
    38             this.create_nested_shortcode_modal();
    39             this.template_sidebar_chooser();
    40         },
    41         create_nested_shortcode_modal: function() {
    42 
    43             jQuery(document.body).on('click', '.activate-nested-modal', function(event) {
    44 
    45                 var control = jQuery(this).closest('.synth-control-root');
    46                 var selected_item = jQuery(this);
    47                 var parent_shortcode_name = jQuery(this).closest('ul').data('parent-shortcode');
    48                 var config = synth_taurus_scodes.globals['synth_taurus_shortcodes_button'].config;
    49                 var parent_shortcode = config[parent_shortcode_name];
    50                 var nested_shortcode = config[parent_shortcode.nested_shortcode];
    51                 var template = selected_item.find('textarea').html();
    52                 var template2 = control.find('.item-template').html();
    53                 var data = control.find('.item-template').data('parts');
    54 
    55                 var params = {
    56                     scope: this,
    57                     modal_title: nested_shortcode.heading,
    58                     modal_style: 'style="z-index: 10003; margin: 50px;"',
    59                     modal_button: nested_shortcode.modal_button,
    60                     modal_bg_style: 'style="z-index: 10002"',
    61                     modal_template: template,
    62                     ajax_hook: nested_shortcode.name,
    63                     load_callback: nested_shortcode.modal_support,
    64                     save_callback: function(values) {
    65 
    66                         var params = [];
    67                         var shortcode;
    68                         var merged_template;
    69 
    70                         params = syn_restaurant_manager_js_core.extract_shortcode_params(nested_shortcode.name, values);
    71                         merged_template = syn_restaurant_manager_js_core.merge_template(template2, data, params);
    72                         shortcode = syn_restaurant_manager_js_core.create_shortcode_tag(config[parent_shortcode_name].nested_shortcode, params);
    73 
    74                         //place the output into the text area.
    75                         selected_item.find('textarea').html(shortcode);
    76                         selected_item.find('.template').html(merged_template);
    77                     }
    78                 };
    79 
    80                 new jQuery.synthModal(params);
    81             });
    82         },
    83         create_shortcode_tag: function(shortcode, params) {
    84 
    85             var tag = {};
    86             var attributes = '';
    87             var content = '';
    88             var output = '';
    89             var seperator = ' ';
    90 
    91             //get the content
    92             if (typeof params.content !== 'undefined') {
    93 
    94                 if (typeof params.content === 'object') {
    95 
    96                     if (jQuery.isArray(params.content)) {
    97                         seperator = '\n';
    98                     }
    99 
    100                     for (var i = 0; i < params.content.length; i++)
    101                     {
    102                         params.content[i] = jQuery.trim(params.content[i]);
    103                     }
    104                     content += params.content.join(seperator);
    105                 }
    106                 else {
    107                     content = jQuery.trim(params.content);
    108                 }
    109                 delete params.content;
    110             }
    111 
    112             if (typeof params.editor !== 'undefined') {
    113 
    114                 if (typeof params.editor === 'string') {
    115 
    116                     content += jQuery.trim(params.editor);
    117                 }
    118                 delete params.editor;
    119             }
    120 
    121             for (var key in params) {
    122 
    123                 if (params.hasOwnProperty(key)) {
    124                     if (params[key] !== "") {
    125                         attributes += key + '="' + params[key] + '" ';
    126                     }
    127                 }
    128             }
    129 
    130             tag.start = '[' + shortcode + ((attributes !== '') ? ' ' + jQuery.trim(attributes) : '');
    131             tag.close = ']';
    132 
    133             if (content) {
    134                 tag.start += ']';
    135                 tag.close = '[/' + shortcode + ']';
    136             }
    137 
    138             output = tag.start + content + tag.close;
    139 
    140             return output;
    141         },
    142         extract_shortcode_params: function(shortcode_name, values) {
    143 
    144             var params = [];
    145 
    146             var prefix = shortcode_name + '_';
    147 
    148             for (var val in values) {
    149 
    150                 var name = val.replace(prefix, "");
    151                 if (name !== val && name !== prefix) {
    152 
    153                     params[name] = values[val];
    154                     delete values[val];
    155                 }
    156             }
    157             values = null;
    158 
    159             return params;
    160         },
    161         merge_template: function(template, params, values) {
    162 
    163             for (var key in params) {
    164                 var part = params[key];
    165                 template = template.replace('%' + part + '%', values[part]);
    166             }
    167 
    168             return template;
    169 
    170         },
    171         template_sidebar_chooser: function() {
    172 
    173             var selected = jQuery('#page_sidebar_layout_selector').val();
    174             on_page_sidebar_configuration_update(selected);
    175             on_page_template_changed();
    176 
    177             function on_page_template_changed() {
    178 
    179                 jQuery('#page_sidebar_layout_selector').on('change', function() {
    180 
    181                     var selected = jQuery(this).val();
    182                     on_page_sidebar_configuration_update(selected);
    183                 });
    184             }
    185 
    186             function on_page_sidebar_configuration_update(selected) {
    187 
    188                 jQuery('#primary_widget_area_sidebar').hide();
    189                 jQuery('#secondary_widget_area_sidebar').hide();
    190                 jQuery('#empty_widget_area_sidebar').hide();
    191 
    192                 if (selected === 'page-templates/full-width-content.php') {
    193                     jQuery('#empty_widget_area_sidebar').show();
    194                 }
    195                 if ((selected === 'one_left_sidebar') || (selected === 'one_right_sidebar')) {
    196                     jQuery('#primary_widget_area_sidebar').show();
    197                 }
    198                 if ((selected === 'two_left_sidebars') || (selected === 'two_right_sidebars') || (selected === 'left_right_sidebars') || (selected === 'right_left_sidebars')) {
    199                     jQuery('#primary_widget_area_sidebar').show();
    200                     jQuery('#secondary_widget_area_sidebar').show();
    201                 }
    202             }
    203         }
    204     };
    205 
    206 })(syn_restaurant_manager_js, window, document);
    207 /*
    208  * SyntaxThemes Controls Backend
    209  *
    210  * @author Ryan Haworth
    211  */
    212 (function(context, window, document, undefined) {
    213 
    214     context.SynthControls = function(options) {
    215 
    216         this.initialize();
    217     };
    218 
    219     context.SynthControls.prototype = {
    220         initialize: function() {
    221 
    222             this.color_picker_initialize();
    223         },
    224         color_picker_initialize: function() {
    225             /**
    226              * Initialize color picker
    227              */
    228             if (typeof jQuery.wp === 'object' && typeof jQuery.wp.wpColorPicker === 'function') {
    229 
    230                 jQuery('input:text.synth-colorpicker').wpColorPicker();
    231 
    232             } else {
    233                 jQuery('input:text.synth-colorpicker').each(function(i) {
    234 
    235                     jQuery(this).after('<div id="picker-' + i + '" style="z-index: 1000; background: #EEE; border: 1px solid #CCC; position: absolute; display: block;"></div>');
    236                     jQuery('#picker-' + i).hide().farbtastic(jQuery(this));
    237 
    238                 }).focus(function() {
    239                     jQuery(this).next().show();
    240                 }).blur(function() {
    241                     jQuery(this).next().hide();
    242                 });
    243             }
    244         }
    245     };
    246 })(syn_restaurant_manager_js, window, document);
    247 
    248 jQuery.fn.getType = function() {
    249     return this[0].tagName === "INPUT" ? jQuery(this[0]).attr("type").toLowerCase() : this[0].tagName.toLowerCase();
    250 };
    251 /*
    252  * SyntaxThemes Shortcodes Backend
    253  *
    254  * @author Ryan Haworth
    255  */
    256 (function(context, window, document, undefined) {
    257    
    258     "use strict";
    259 
    260     context.SynthShortcodes = function(options) {
    261     };
    262     context.SynthShortcodes.prototype = {
    263         backend_initialize: function() {
    264 
    265         },
    266         frontend_initialize: function() {
    267 
    268         },
    269         backend_modal_loaded: function() {
    270 
    271             this.on_dropcap_advanced_initialize();
    272         },
    273         on_dropcap_advanced_initialize: function() {
    274 
    275         }
    276     };
    277 })(syn_restaurant_manager_js, window, document);
    278 /*
    279  * SyntaxThemes Modal
    280  *
    281  * @author Ryan Haworth
    282  */
    283 (function(context, window, document, undefined) {
    284    
    285     "use strict";
    286 
    287     context.SynthModal = function(options) {
    288 
    289         var obj = this;
    290         var defaults = {
    291             scope: this,
    292             modal_title: '',
    293             modal_class: '',
    294             modal_style: '',
    295             modal_bg_style: '',
    296             modal_content: '',
    297             modal_template: '',
    298             ajax_hook: '',
    299             nested_modal: null,
    300             save_callback: function() {
    301             },
    302             load_callback: function() {
    303             },
    304             close_callback: function() {
    305             },
    306         };
    307         obj.options = jQuery.extend({}, defaults, options);
    308         obj.modal = jQuery('<div class="synth-modal' + obj.options.modal_class + '" ' + obj.options.modal_style + '></div>');
    309         obj.background = jQuery('<div class="synth-modal-background" ' + obj.options.modal_bg_style + '></div>');
    310         obj.body = jQuery('body');
    311         obj.initialize();
    312     };
    313     context.SynthModal.prototype = {
    314         initialize: function() {
    315 
    316             var obj = this;
    317             obj.create_modal();
    318             obj.bind_events();
    319         },
    320         create_modal: function() {
    321 
    322             var obj = this;
    323             var content = this.options.modal_content ? obj.options.modal_content : '';
    324             var title = '<h4 class="synth-modal-title">' + obj.options.modal_title + '</h4>';
    325             var loading = '';
    326             var modal_html = '<div class="synth-modal-content">';
    327             modal_html += '<div class="synth-modal-content-header"><span class="synth-modal-icon rman-syntaxstudio"></span>' + title + '<a href="#close" class="synth-modal-close-event close-button"></a></div>';
    328             modal_html += '<div class="synth-modal-inner-content ' + loading + '">' + content + '</div>';
    329             modal_html += '<div class="synth-modal-inner-footer">';
    330 
    331             if (obj.options.modal_button === "save") {
    332 
    333                 modal_html += '<a href="#save" class="synth-modal-save-event modal-button button-primary">Save</a>';
    334             }
    335             else if (obj.options.modal_button === "close")
    336             {
    337                 modal_html += '<a href="#close" class="synth-modal-close-event modal-button button-primary">Close</a>';
    338             }
    339 
    340             modal_html += '</div></div>';
    341             obj.body.append(obj.modal).append(obj.background);
    342             obj.modal.html(modal_html);
    343 
    344             if (!obj.options.modal_content)
    345             {
    346                 obj.call_ajax_content();
    347             }
    348             else
    349             {
    350                 obj.execute_load_callback();
    351             }
    352 
    353         },
    354         bind_events: function() {
    355 
    356 
    357             var obj = this;
    358             obj.modal.on('click', '.synth-modal-save-event', function(e) {
    359 
    360                 obj.save();
    361                 e.preventDefault();
    362             });
    363             obj.modal.on('click', '.synth-modal-close-event', function(e) {
    364 
    365                 obj.close();
    366                 e.preventDefault();
    367             });
    368             obj.background.add('synth-modal-close-event', this.modal).on('click', function(e) {
    369 
    370                 obj.close();
    371                 e.preventDefault();
    372             });
    373         },
    374         loaded: function() {
    375 
    376             var obj = this;
    377             obj.execute_load_callback();
    378             syn_restaurant_manager_js_shortcodes.backend_modal_loaded();
    379         },
    380         save: function() {
    381 
    382             var obj = this;
    383             obj.execute_save_callback();
    384         },
    385         close: function() {
    386 
    387             var obj = this;
    388             obj.modal.remove();
    389             obj.background.remove();
    390 
    391             obj.options['close_callback'].call();
    392         },
    393         execute_load_callback: function() {
    394 
    395             var obj = this;
    396             var callback_supports = this.options.load_callback;
    397             var callback;
    398             var index = 0;
    399             if (callback_supports instanceof Array) {
    400 
    401                 for (index in callback_supports) {
    402                     context.SynthModal.callback_support[callback_supports[index]].call(this);
    403                 }
    404             }
    405             if (typeof callback_supports === 'string') {
    406 
    407                 callback = callback_supports.split(",");
    408                 if (index in callback) {
    409                     context.SynthModal.callback_support[callback[index]].call(this);
    410                 }
    411             }
    412             else if (typeof callback_supports === 'function')
    413             {
    414                 callback_supports.call();
    415             }
    416         },
    417         execute_save_callback: function() {
    418 
    419             var obj = this;
    420             var elements = {};
    421             var values = obj.modal.find('input, select, radio, textarea').not('[data-visibility="hidden"]').serializeArray();
    422             var value_array = obj.convert_values(values);
    423             var close = obj.options['save_callback'].call(obj.options.scope, value_array, obj.options.save_param);
    424 
    425             if (close !== false)
    426             {
    427                 obj.close();
    428             }
    429         },
    430         call_ajax_content: function() {
    431 
    432             var obj = this;
    433             var inner_modal = obj.modal.find('.synth-modal-inner-content');
    434 
    435             jQuery.ajax({
    436                 type: 'POST',
    437                 url: ajaxurl,
    438                 dataType: 'xml',
    439                 data: {
    440                     action: obj.options.ajax_hook,
    441                     params: obj.options.modal_template
    442                 },
    443                 success: function(response) {
    444 
    445                     var html = jQuery(response).find('response_data').text();
    446                     inner_modal.html(html);
    447                     //modal has loaded the html
    448                     obj.loaded();
    449                 },
    450                 error: function(response, jqXHR, textStatus, errorThrown) {
    451 
    452                     var html = jQuery(response).find('response_data').text();
    453                     jQuery('.wrap h2').after(html);
    454                     alert(textStatus, errorThrown);
    455                 },
    456                 complete: function(response) {
    457                 }
    458             });
    459         },
    460         convert_values: function(value)
    461         {
    462             var value_array = {};
    463             jQuery.each(value, function()
    464             {
    465                 if (typeof value_array[this.name] !== 'undefined')
    466                 {
    467                     if (!value_array[this.name].push)
    468                     {
    469                         value_array[this.name] = [value_array[this.name]];
    470                     }
    471                     value_array[this.name].push(this.value || '');
    472                 }
    473                 else
    474                 {
    475                     value_array[this.name] = this.value || '';
    476                 }
    477             });
    478             return value_array;
    479         }
    480     };
    481     context.SynthModal.callback_support = context.SynthModal.callback_support || {};
    482     context.SynthModal.callback_support.colorpicker = function() {
    483 
    484         syn_restaurant_manager_js_controls.color_picker_initialize();
    485     };
    486     context.SynthModal.callback_support.sortables = function() {
    487         modal_support_sortables();
    488     };
    489     context.SynthModal.callback_support.tinymce = function() {
    490         modal_support_tinymce(this);
    491     };
    492     context.SynthModal.callback_support.nested_element_builder = function() {
    493 
    494         syn_restaurant_manager_js_controls.nested_shortcode_control_initialize();
    495     };
    496     context.SynthModal.callback_support.table_builder = function() {
    497 
    498         syn_restaurant_manager_js_controls.table_builder_initialize();
    499         //syn_restaurant_manager_js_controls.shortcode_launcher_initialize();
    500         //jQuery('.shortcode-launch-button').ShortcodeLauncher();
    501     };
    502     context.SynthModal.callback_support.tabs_builder = function() {
    503 
    504         syn_restaurant_manager_js_controls.tabs_builder_initialize();
    505     };
    506 })(syn_restaurant_manager_js, window, document);
    507 
    508 function modal_support_sortables() {
    509 
    510     jQuery('.sortables').sortable({
    511         handle: 'span'
    512     });
    513 }
    514 
    515 function modal_support_tinymce(obj) {
    516 
    517     var editors = obj.modal.find('.synth_tinymce');
    518     var save_btn = obj.modal.find('.synth-modal-save-event');
    519     editors.each(function()
    520     {
    521         var el_id = this.id;
    522         var current = jQuery(this);
    523         var parent = current.parents('.wp-editor-wrap:eq(0)');
    524         var textarea = parent.find('textarea.synth_tinymce');
    525         var switch_btn = parent.find('.wp-switch-editor').removeAttr("onclick");
    526         var settings = {
    527             id: this.id,
    528             buttons: "strong,em,link,block,del,ins,img,ul,ol,li,code,spell,close"
    529         };
    530 
    531         tinyVersion = window.tinyMCE.majorVersion,
    532                 executeAdd = "mceAddControl",
    533                 executeRem = "mceRemoveControl";
    534 
    535         if (tinyVersion >= 4)
    536         {
    537             executeAdd = "mceAddEditor";
    538             executeRem = "mceRemoveEditor";
    539         }
    540 
    541         quicktags(settings);
    542         QTags._buttonsInit();
    543 
    544         // modify behavior for html editor
    545         switch_btn.bind('click', function()
    546         {
    547             var button = jQuery(this);
    548             if (button.is('.switch-tmce'))
    549             {
    550                 parent.removeClass('html-active').addClass('tmce-active');
    551                 window.tinyMCE.execCommand(executeAdd, true, el_id);
    552                 window.tinyMCE.get(el_id).setContent(window.switchEditors.wpautop(textarea.val()), {
    553                     format: 'raw'
    554                 });
    555             }
    556             else
    557             {
    558                 parent.removeClass('tmce-active').addClass('html-active');
    559                 window.tinyMCE.execCommand(executeRem, true, el_id);
    560             }
    561         }).trigger('click');
    562         //make sure that when the save button is pressed the textarea gets updated and sent to the editor
    563         save_btn.bind('click', function()
    564         {
    565             switch_btn.filter('.switch-html').trigger('click');
    566         });
    567     });
    568 }
    569 
    570 
     1"use strict";var syn_restaurant_manager_js={},syn_restaurant_manager_js_core=null,syn_restaurant_manager_js_controls=null,syn_restaurant_manager_js_shortcodes=null;jQuery(document).ready(function(){syn_restaurant_manager_js_core=new syn_restaurant_manager_js.SynthCore,syn_restaurant_manager_js_controls=new syn_restaurant_manager_js.SynthControls,syn_restaurant_manager_js_shortcodes=new syn_restaurant_manager_js.SynthShortcodes});
     2!function(e,t,r){"use strict";e.SynthCore=function(){this.initialize()},e.SynthCore.prototype={initialize:function(){this.create_nested_shortcode_modal(),this.template_sidebar_chooser()},create_nested_shortcode_modal:function(){jQuery(r.body).on("click",".activate-nested-modal",function(){var e=jQuery(this).closest(".synth-control-root"),t=jQuery(this),r=jQuery(this).closest("ul").data("parent-shortcode"),a=synth_taurus_scodes.globals.synth_taurus_shortcodes_button.config,o=a[r],n=a[o.nested_shortcode],s=t.find("textarea").html(),i=e.find(".item-template").html(),_=e.find(".item-template").data("parts"),d={scope:this,modal_title:n.heading,modal_style:'style="z-index: 10003; margin: 50px;"',modal_button:n.modal_button,modal_bg_style:'style="z-index: 10002"',modal_template:s,ajax_hook:n.name,load_callback:n.modal_support,save_callback:function(e){var o,s,d=[];d=syn_restaurant_manager_js_core.extract_shortcode_params(n.name,e),s=syn_restaurant_manager_js_core.merge_template(i,_,d),o=syn_restaurant_manager_js_core.create_shortcode_tag(a[r].nested_shortcode,d),t.find("textarea").html(o),t.find(".template").html(s)}};new jQuery.synthModal(d)})},create_shortcode_tag:function(e,t){var r={},a="",o="",n="",s=" ";if("undefined"!=typeof t.content){if("object"==typeof t.content){jQuery.isArray(t.content)&&(s="\n");for(var i=0;i<t.content.length;i++)t.content[i]=jQuery.trim(t.content[i]);o+=t.content.join(s)}else o=jQuery.trim(t.content);delete t.content}"undefined"!=typeof t.editor&&("string"==typeof t.editor&&(o+=jQuery.trim(t.editor)),delete t.editor);for(var _ in t)t.hasOwnProperty(_)&&""!==t[_]&&(a+=_+'="'+t[_]+'" ');return r.start="["+e+(""!==a?" "+jQuery.trim(a):""),r.close="]",o&&(r.start+="]",r.close="[/"+e+"]"),n=r.start+o+r.close},extract_shortcode_params:function(e,t){var r=[],a=e+"_";for(var o in t){var n=o.replace(a,"");n!==o&&n!==a&&(r[n]=t[o],delete t[o])}return t=null,r},merge_template:function(e,t,r){for(var a in t){var o=t[a];e=e.replace("%"+o+"%",r[o])}return e},template_sidebar_chooser:function(){function e(){jQuery("#page_sidebar_layout_selector").on("change",function(){var e=jQuery(this).val();t(e)})}function t(e){jQuery("#primary_widget_area_sidebar").hide(),jQuery("#secondary_widget_area_sidebar").hide(),jQuery("#empty_widget_area_sidebar").hide(),"page-templates/full-width-content.php"===e&&jQuery("#empty_widget_area_sidebar").show(),("one_left_sidebar"===e||"one_right_sidebar"===e)&&jQuery("#primary_widget_area_sidebar").show(),("two_left_sidebars"===e||"two_right_sidebars"===e||"left_right_sidebars"===e||"right_left_sidebars"===e)&&(jQuery("#primary_widget_area_sidebar").show(),jQuery("#secondary_widget_area_sidebar").show())}var r=jQuery("#page_sidebar_layout_selector").val();t(r),e()}}}(syn_restaurant_manager_js,window,document);
     3!function(t){t.SynthControls=function(){this.initialize()},t.SynthControls.prototype={initialize:function(){this.color_picker_initialize()},color_picker_initialize:function(){"object"==typeof jQuery.wp&&"function"==typeof jQuery.wp.wpColorPicker?jQuery("input:text.synth-colorpicker").wpColorPicker():jQuery("input:text.synth-colorpicker").each(function(t){jQuery(this).after('<div id="picker-'+t+'" style="z-index: 1000; background: #EEE; border: 1px solid #CCC; position: absolute; display: block;"></div>'),jQuery("#picker-"+t).hide().farbtastic(jQuery(this))}).focus(function(){jQuery(this).next().show()}).blur(function(){jQuery(this).next().hide()})}}}(syn_restaurant_manager_js,window,document),jQuery.fn.getType=function(){return"INPUT"===this[0].tagName?jQuery(this[0]).attr("type").toLowerCase():this[0].tagName.toLowerCase()};
     4!function(n){"use strict";n.SynthShortcodes=function(){},n.SynthShortcodes.prototype={backend_initialize:function(){},frontend_initialize:function(){},backend_modal_loaded:function(){this.on_dropcap_advanced_initialize()},on_dropcap_advanced_initialize:function(){}}}(syn_restaurant_manager_js,window,document);
     5function modal_support_sortables(){jQuery(".sortables").sortable({handle:"span"})}function modal_support_tinymce(t){var a=t.modal.find(".synth_tinymce"),e=t.modal.find(".synth-modal-save-event");a.each(function(){var t=this.id,a=jQuery(this),o=a.parents(".wp-editor-wrap:eq(0)"),n=o.find("textarea.synth_tinymce"),l=o.find(".wp-switch-editor").removeAttr("onclick"),s={id:this.id,buttons:"strong,em,link,block,del,ins,img,ul,ol,li,code,spell,close"};tinyVersion=window.tinyMCE.majorVersion,executeAdd="mceAddControl",executeRem="mceRemoveControl",tinyVersion>=4&&(executeAdd="mceAddEditor",executeRem="mceRemoveEditor"),quicktags(s),QTags._buttonsInit(),l.bind("click",function(){var a=jQuery(this);a.is(".switch-tmce")?(o.removeClass("html-active").addClass("tmce-active"),window.tinyMCE.execCommand(executeAdd,!0,t),window.tinyMCE.get(t).setContent(window.switchEditors.wpautop(n.val()),{format:"raw"})):(o.removeClass("tmce-active").addClass("html-active"),window.tinyMCE.execCommand(executeRem,!0,t))}).trigger("click"),e.bind("click",function(){l.filter(".switch-html").trigger("click")})})}!function(t){"use strict";t.SynthModal=function(t){var a=this,e={scope:this,modal_title:"",modal_class:"",modal_style:"",modal_bg_style:"",modal_content:"",modal_template:"",ajax_hook:"",nested_modal:null,save_callback:function(){},load_callback:function(){},close_callback:function(){}};a.options=jQuery.extend({},e,t),a.modal=jQuery('<div class="synth-modal'+a.options.modal_class+'" '+a.options.modal_style+"></div>"),a.background=jQuery('<div class="synth-modal-background" '+a.options.modal_bg_style+"></div>"),a.body=jQuery("body"),a.initialize()},t.SynthModal.prototype={initialize:function(){var t=this;t.create_modal(),t.bind_events()},create_modal:function(){var t=this,a=this.options.modal_content?t.options.modal_content:"",e='<h4 class="synth-modal-title">'+t.options.modal_title+"</h4>",o="",n='<div class="synth-modal-content">';n+='<div class="synth-modal-content-header"><span class="synth-modal-icon rman-syntaxstudio"></span>'+e+'<a href="#close" class="synth-modal-close-event close-button"></a></div>',n+='<div class="synth-modal-inner-content '+o+'">'+a+"</div>",n+='<div class="synth-modal-inner-footer">',"save"===t.options.modal_button?n+='<a href="#save" class="synth-modal-save-event modal-button button-primary">Save</a>':"close"===t.options.modal_button&&(n+='<a href="#close" class="synth-modal-close-event modal-button button-primary">Close</a>'),n+="</div></div>",t.body.append(t.modal).append(t.background),t.modal.html(n),t.options.modal_content?t.execute_load_callback():t.call_ajax_content()},bind_events:function(){var t=this;t.modal.on("click",".synth-modal-save-event",function(a){t.save(),a.preventDefault()}),t.modal.on("click",".synth-modal-close-event",function(a){t.close(),a.preventDefault()}),t.background.add("synth-modal-close-event",this.modal).on("click",function(a){t.close(),a.preventDefault()})},loaded:function(){var t=this;t.execute_load_callback(),syn_restaurant_manager_js_shortcodes.backend_modal_loaded()},save:function(){var t=this;t.execute_save_callback()},close:function(){var t=this;t.modal.remove(),t.background.remove(),t.options.close_callback.call()},execute_load_callback:function(){var a,e=this.options.load_callback,o=0;if(e instanceof Array)for(o in e)t.SynthModal.callback_support[e[o]].call(this);"string"==typeof e?(a=e.split(","),o in a&&t.SynthModal.callback_support[a[o]].call(this)):"function"==typeof e&&e.call()},execute_save_callback:function(){var t=this,a=t.modal.find("input, select, radio, textarea").not('[data-visibility="hidden"]').serializeArray(),e=t.convert_values(a),o=t.options.save_callback.call(t.options.scope,e,t.options.save_param);o!==!1&&t.close()},call_ajax_content:function(){var t=this,a=t.modal.find(".synth-modal-inner-content");jQuery.ajax({type:"POST",url:ajaxurl,dataType:"xml",data:{action:t.options.ajax_hook,params:t.options.modal_template},success:function(e){var o=jQuery(e).find("response_data").text();a.html(o),t.loaded()},error:function(t,a,e,o){var n=jQuery(t).find("response_data").text();jQuery(".wrap h2").after(n),alert(e,o)},complete:function(){}})},convert_values:function(t){var a={};return jQuery.each(t,function(){"undefined"!=typeof a[this.name]?(a[this.name].push||(a[this.name]=[a[this.name]]),a[this.name].push(this.value||"")):a[this.name]=this.value||""}),a}},t.SynthModal.callback_support=t.SynthModal.callback_support||{},t.SynthModal.callback_support.colorpicker=function(){syn_restaurant_manager_js_controls.color_picker_initialize()},t.SynthModal.callback_support.sortables=function(){modal_support_sortables()},t.SynthModal.callback_support.tinymce=function(){modal_support_tinymce(this)},t.SynthModal.callback_support.nested_element_builder=function(){syn_restaurant_manager_js_controls.nested_shortcode_control_initialize()},t.SynthModal.callback_support.table_builder=function(){syn_restaurant_manager_js_controls.table_builder_initialize()},t.SynthModal.callback_support.tabs_builder=function(){syn_restaurant_manager_js_controls.tabs_builder_initialize()}}(syn_restaurant_manager_js,window,document);
  • restaurant-manager/trunk/framework/php/shortcodes/tinymce/js/min/tmce-synth-tinymce-sc-plugin-3x.min.js

    r1021489 r1022451  
    1 jQuery(document).ready(function(){!function(){var t,e="shortcodes_button",n=theme_shortcodes.globals[e].plugin_name;tinymce.create("tinymce.plugins."+n,{init:function(e){t=e,t.addCommand("opensynthModal",function(t,e){new jQuery.synthModal(e);return!1})},createControl:function(t,n){var o=this,a=t,i=n;if(a!==e)return null;var r=i.createMenuButton(a,{icons:!1,title:theme_shortcodes.globals[a].title});return r.onRenderMenu.add(function(t,e){e.add({title:"Shortcodes","class":"mceMenuTitle"}).setDisabled(1);var n=theme_shortcodes.globals[a].config,i=[];for(var r in n)i[n[r].menu]=[];for(var d in i)"undefined"!==d&&(i[d]=e.addMenu({title:d}));e.addSeparator();for(var c in n)if(n[c].show_in_menu!==!1){var l=n[c].menu?i[n[c].menu]:e;n[c].modal_editor===!1?o.directToEditorWrite(l,n[c]):o.modalToEditorWrite(l,n[c])}}),r},directToEditorWrite:function(t,e){t.add({title:e.heading,onclick:function(){tinymce.activeEditor.execCommand("mceInsertContent",!1,window.switchEditors.wpautop(e.editor_insert))}})},modalToEditorWrite:function(t,e){t.add({title:e.heading,onclick:function(){tinymce.activeEditor.execCommand("opensynthModal",!1,{scope:tinymce.activeEditor,modal_class:e.modal_class,modal_title:e.heading,modal_button:e.modal_button,ajax_hook:e.name,load_callback:e.modal_support,save_callback:function(t){var n,o=[],a=e.name+"_";for(var i in t){var r=i.replace(a,"");r!==i&&r!==a&&(o[r]=t[i],delete t[i])}t=null,n=window.switchEditors.wpautop(jQuery.synth_core.create_shortcode_tag(e.name,o)),tinymce.activeEditor.execCommand("mceInsertContent",!1,n)}})}})},getInfo:function(){return{longname:"Shortcodes Manager",author:"Ryan Haworth",authorurl:"http://www.syntaxthemes.co.uk",version:"1.0"}}}),tinymce.PluginManager.add(n,tinymce.plugins.synth_shortcode_plugin)}()});
     1jQuery(document).ready(function(){!function(){var t,e="shortcodes_button",n=theme_shortcodes.globals[e].plugin_name;tinymce.create("tinymce.plugins."+n,{init:function(e){t=e,t.addCommand("opensynthModal",function(t,e){new jQuery.synthModal(e);return!1})},createControl:function(t,n){var o=this,a=t,i=n;if(a!==e)return null;var r=i.createMenuButton(a,{icons:!1,title:theme_shortcodes.globals[a].title});return r.onRenderMenu.add(function(t,e){e.add({title:"Shortcodes","class":"mceMenuTitle"}).setDisabled(1);var n=theme_shortcodes.globals[a].config,i=[];for(var r in n)i[n[r].menu]=[];for(var d in i)"undefined"!==d&&(i[d]=e.addMenu({title:d}));e.addSeparator();for(var c in n)if(n[c].show_in_menu!==!1){var l=n[c].menu?i[n[c].menu]:e;n[c].modal_editor===!1?o.directToEditorWrite(l,n[c]):o.modalToEditorWrite(l,n[c])}}),r},directToEditorWrite:function(t,e){t.add({title:e.heading,onclick:function(){tinymce.activeEditor.execCommand("mceInsertContent",!1,window.switchEditors.wpautop(e.editor_insert))}})},modalToEditorWrite:function(t,e){t.add({title:e.heading,onclick:function(){tinymce.activeEditor.execCommand("opensynthModal",!1,{scope:tinymce.activeEditor,modal_class:e.modal_class,modal_title:e.heading,modal_button:e.modal_button,ajax_hook:e.name,load_callback:e.modal_support,save_callback:function(t){var n,o=[],a=e.name+"_";for(var i in t){var r=i.replace(a,"");r!==i&&r!==a&&(o[r]=t[i],delete t[i])}t=null,n=window.switchEditors.wpautop(syn_restaurant_manager_js_core.create_shortcode_tag(e.name,o)),tinymce.activeEditor.execCommand("mceInsertContent",!1,n)}})}})},getInfo:function(){return{longname:"Shortcodes Manager",author:"Ryan Haworth",authorurl:"http://www.syntaxthemes.co.uk",version:"1.0"}}}),tinymce.PluginManager.add(n,tinymce.plugins.synth_shortcode_plugin)}()});
  • restaurant-manager/trunk/framework/php/shortcodes/tinymce/js/min/tmce-synth-tinymce-sc-plugin-4x.min.js

    r1021489 r1022451  
    77        var button_name = 'restaurant_shortcodes';
    88        var plugin_name = syn_restaurant_manager_shortcodes.globals[button_name]['plugin_name'];
    9    
     9
    1010        tinymce.create('tinymce.plugins.' + plugin_name, {
    1111            /**
     
    2828                });
    2929
    30                 editor.addCommand('openSynthModal', function(ui, params) {
     30                editor.addCommand('openSynthModal' + button_name, function(ui, params) {
    3131
    32                     var modal = new jQuery.synthModal(params);
     32                    var modal = new syn_restaurant_manager_js.SynthModal(params);
    3333                    return false;
    3434                });
     
    9494
    9595                var shortcode = this.settings.shortcode;
    96                 tinymce.activeEditor.execCommand('openSynthModal', false,
     96                tinymce.activeEditor.execCommand('openSynthModal' + button_name, false,
    9797                        {
    9898                            scope: tinymce.activeEditor,
     
    120120                                values = null;
    121121
    122                                 output = window.switchEditors.wpautop(jQuery.synth_core.create_shortcode_tag(shortcode.name, params));
     122                                output = window.switchEditors.wpautop(syn_restaurant_manager_js_core.create_shortcode_tag(shortcode.name, params));
    123123                                tinymce.activeEditor.execCommand("mceInsertContent", false, output);
    124124                            }
  • restaurant-manager/trunk/readme.txt

    r1021648 r1022451  
    77Requires at least: 3.8
    88Tested up to: 4.0
    9 Stable tag: 1.1.5
     9Stable tag: 1.1.6
    1010Text Domain: syn_restaurant_plugin
    1111License: GPLv2 or later
     
    8383
    8484If you like this plugin, then please leave us a good rating and review. Your feedback is really appreciated and will help further support this plugin.  Any new features added to the plugin will be received free. So as we grow, your business will benefit from the extras. 
     85
    8586Consider following us on Google+ [SyntaxThemes](https://plus.google.com/u/0/b/112709703915241928545/+SyntaxthemesCoUk/posts) | Twitter [syntaxthemes](https://twitter.com/syntaxthemes)
    8687
     
    117118
    118119== Changelog ==
     120
     121**Version 1.1.6**
     122
     123- Updated the tinymce plugin for the shortcode modal.
     124- Enhanced the shortcode menu modal.
     125- Added the shortcode to the wordpress editor menus.
     126- Updated ajax shortcode menu support.
    119127
    120128**Version 1.1.5**
  • restaurant-manager/trunk/restaurant-manager.php

    r1021648 r1022451  
    44  Plugin Name: Restaurant Manager
    55  Plugin URI: http://www.syntaxthemes.co.uk
    6   Version: 1.1.5
     6  Version: 1.1.6
    77  Author: Ryan Haworth
    88  Description: Restaurant Manager is a plugin to manage your restaurant.  Create your dinner menus, take reservations and send and receive notifications with your customers.
Note: See TracChangeset for help on using the changeset viewer.