├── LICENSE.md ├── README.md ├── banner.png ├── imagesminfree.jpg ├── imagesminqiye.jpg ├── imagesmp.jpg ├── imagesqiye.jpg ├── includes ├── admin │ └── exopite-simple-options │ │ ├── assets │ │ ├── ace-loader.min.js │ │ ├── chosen-sprite.png │ │ ├── chosen-sprite@2x.png │ │ ├── chosen.jquery.min.js │ │ ├── chosen.min.css │ │ ├── dev │ │ │ ├── ace-loader.js │ │ │ ├── chosen.jquery.js │ │ │ ├── jquery.finderSelect.js │ │ │ ├── jquery.fine-uploader.js │ │ │ ├── jquery.interdependencies.js │ │ │ ├── jquery.minicolors.css │ │ │ ├── jquery.minicolors.js │ │ │ ├── loader-color-picker.js │ │ │ ├── loader-datepicker.js │ │ │ ├── loader-fine-uploader.js │ │ │ ├── loader-jquery-chosen.js │ │ │ ├── loader-jquery-finderselect.js │ │ │ ├── loader-jquery-trumbowyg.js │ │ │ ├── loader-minicolors.js │ │ │ ├── scripts.js │ │ │ ├── styles.css │ │ │ ├── sweetalert.min.js │ │ │ └── wp-color-picker-alpha.js │ │ ├── fine-uploader-new.min.css │ │ ├── font-awesome-4.7.0 │ │ │ ├── FontAwesome.otf │ │ │ ├── font-awesome.css │ │ │ ├── font-awesome.min.css │ │ │ ├── fontawesome-webfont.eot │ │ │ ├── fontawesome-webfont.svg │ │ │ ├── fontawesome-webfont.ttf │ │ │ ├── fontawesome-webfont.woff │ │ │ └── fontawesome-webfont.woff2 │ │ ├── font-awesome.min.css │ │ ├── google-fonts.json │ │ ├── html5sortable.min.js │ │ ├── images │ │ │ ├── exopite-sof-title-bg.jpg │ │ │ ├── readme.txt │ │ │ ├── ui-bg_flat_0_888888_40x100.png │ │ │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ │ │ ├── ui-bg_flat_75_ffffff_40x100.png │ │ │ ├── ui-bg_glass_25_e1f0f5_1x400.png │ │ │ ├── ui-bg_glass_55_444444_1x400.png │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ ├── ui-bg_glass_75_dadada_1x400.png │ │ │ ├── ui-bg_highlight-soft_75_cccccc_1x100.png │ │ │ ├── ui-bg_inset-soft_95_fef1ec_1x100.png │ │ │ ├── ui-icons_222222_256x240.png │ │ │ ├── ui-icons_309bbf_256x240.png │ │ │ ├── ui-icons_454545_256x240.png │ │ │ ├── ui-icons_bf3030_256x240.png │ │ │ └── ui-icons_ffffff_256x240.png │ │ ├── jquery-ui.1.8.24.min.css │ │ ├── jquery-ui.css │ │ ├── jquery.finderSelect.min.js │ │ ├── jquery.fine-uploader.min.js │ │ ├── jquery.interdependencies.min.js │ │ ├── jquery.minicolors.css │ │ ├── jquery.minicolors.js │ │ ├── jquery.minicolors.png │ │ ├── loader-color-picker.min.js │ │ ├── loader-datepicker.min.js │ │ ├── loader-fine-uploader.min.js │ │ ├── loader-jquery-chosen.min.js │ │ ├── loader-jquery-finderselect.min.js │ │ ├── loader-jquery-trumbowyg.min.js │ │ ├── loader-minicolors.js │ │ ├── plugin.code.min.js │ │ ├── scripts.min.js │ │ ├── styles.css │ │ ├── sweetalert.min.js │ │ └── wp-color-picker-alpha.min.js │ │ ├── exopite-simple-options-framework-class.php │ │ ├── fields-class.php │ │ ├── fields │ │ ├── accordion.php │ │ ├── ace_editor.php │ │ ├── attached.php │ │ ├── backup.php │ │ ├── button.php │ │ ├── button_bar.php │ │ ├── card.php │ │ ├── checkbox.php │ │ ├── color.php │ │ ├── color_wp.php │ │ ├── content.php │ │ ├── date.php │ │ ├── editor.php │ │ ├── fieldset.php │ │ ├── gallery.php │ │ ├── group.php │ │ ├── hidden.php │ │ ├── image.php │ │ ├── image_select.php │ │ ├── index.php │ │ ├── meta.php │ │ ├── notice.php │ │ ├── number.php │ │ ├── password.php │ │ ├── radio.php │ │ ├── range.php │ │ ├── select.php │ │ ├── switcher.php │ │ ├── tab.php │ │ ├── tap_list.php │ │ ├── text.php │ │ ├── textarea.php │ │ ├── typography.php │ │ ├── upload.php │ │ └── video.php │ │ ├── index.php │ │ ├── multilang-class.php │ │ ├── sanitize-class.php │ │ └── upload-class.php ├── api │ ├── ram-rest-attachments-controller.php │ ├── ram-rest-categories-controller.php │ ├── ram-rest-comments-controller.php │ ├── ram-rest-live-controller.php │ ├── ram-rest-payment-controller.php │ ├── ram-rest-posts-controller.php │ ├── ram-rest-settings-controller.php │ ├── ram-rest-weixin-controller.php │ └── ram-wp-rest-posts-controller.php ├── css │ ├── gallery.css │ └── menu.css ├── filter │ ├── ram-custom-category-rows.php │ ├── ram-custom-category.php │ ├── ram-custom-comment-fields.php │ ├── ram-custom-content.php │ ├── ram-custom-post-fields.php │ ├── ram-custom-posts-rows.php │ └── ram-custom-users-columns.php ├── images │ ├── gravatar.png │ ├── icon16.png │ ├── minapper-plus.jpg │ ├── minapper-pro.jpg │ ├── qrcode.jpg │ └── rest-api-to-miniprogram.png ├── js │ ├── gallery.js │ ├── script.js │ └── tab │ │ ├── jquery.min.js │ │ ├── tabs.css │ │ └── tabs.min.js ├── ram-api.php ├── ram-util.php ├── ram-weixin-api.php ├── settings │ ├── wp-post-config.php │ ├── wp-tinymce-add-button.php │ ├── wp-wechat-admin.php │ └── wp-wechat-config.php └── wxpay │ ├── WxPay.Api.php │ ├── WxPay.Config.php │ ├── WxPay.Data.php │ ├── WxPay.Exception.php │ ├── WxPay.JsApiPay.php │ └── WxPay.Notify.php ├── qrcode └── index.php └── rest-api-to-miniprogram.php /README.md: -------------------------------------------------------------------------------- 1 | # 微慕WordpPress小程序开源版插件端 2 | 3 | 微慕WordPress小程序开源版,使用开源建站程序WordPress作为后台,简单对接快速生成小程序。可将WordPress网站的文章、分类、评论等内容同步到小程序,并且可以一键同步到微信小程序端。 4 | ![输入图片说明](https://blog.minapper.com/images/minapper-free-git.png) 5 | 6 | - **官方网站** :https://www.minapper.com 7 | 8 | - **最新版本** :v5.0.5 9 | 10 | - **作者微信** :iamxjb 11 | 12 | 微信号 13 | 14 | - **讨论微信群** : 15 | 16 | 请先加我的微信:iamxjb ,我拉你入群。加微信时备注信息:来自开源社区。 17 | 18 | - **开源协议** :Apache-2.0 19 | 20 | - **多端版本** :https://ext.dcloud.net.cn/plugin?id=2214 (合作伙伴开发) 21 | 22 | - **配套前端** :https://gitee.com/iamxjb/winxin-app-watch-life.net 23 | 24 | 25 | ### 一、功能清单: 26 | 27 | 1. 缩略图的方式显示文章列表(首页,分类文章),包括显示文章分类和发布时间,加载分页。 28 | 29 | 2. 在首页用轮播方式显示指定文章。 30 | 31 | 3. 显示文章分类(专题),包括显示分类的封面图片。 32 | 33 | 4. 显示文章内容页,包括文章站内链接跳转,站外链接复制到剪切板,显示猜你喜欢的相关文章。 34 | 35 | 5. 显示文章评论,提交评论和回复评论,加载评论分页,显示微信用户评论者的头像。(可以设置是否开启评论) 36 | 37 | 6. 显示文章排行:浏览数、评论数、点赞数、赞赏数。 38 | 39 | 7. 显示wordpress“页面”类文字(关于页面)。 40 | 41 | 8. 对文章内容的全文搜索。 42 | 43 | 9. 小程序页面的分享和转发。 44 | 45 | 10. WordPress 插件的配套功能。 46 | 47 | 11. 文章浏览数显示及更新。 48 | 49 | 12. 文章微信用户点赞及点赞的微信用户头像显示。 50 | 51 | 13. 通过微信支付对文章赞赏。 52 | 53 | 14. 分享到朋友圈 54 | 55 | 15. web-view内嵌网页跳转。 56 | 57 | 16. 回复评论发送模板消息,赞赏发送模板消息。 58 | 59 | 17. 订阅专题。 60 | 61 | 18. 文章海报(分享微信朋友圈的卡片)。 62 | 63 | 19. 支持微信用户授权登录,获取用户头像及昵称。 64 | 65 | 20. 支持显示最新的评论列表。 66 | 67 | 21. 微信小程序广告。 68 | 69 | 22. 支持PC端微信,支持手机端横屏显示小程序。 70 | 71 | 23. 支持WordPress相册。 72 | 73 | 24. 图片支持小程序懒加载和识别二维码 74 | 75 | 25. 小程序直播。 76 | 77 | 26. 支持微信搜一搜页面接入和内容搜索。 78 | 79 | 27. 支持视频号。 80 | 81 | 28. 支持半屏打开小程序。 82 | 83 | 29. 文章列表样式支持自定义:左图、右图、多图、大图、无图、瀑布流。 84 | 85 | 30. 增加“发现”列表。 86 | 87 | 31. 增加“那年今日”功能,展示历史上“今日”的文章列表。 88 | 89 | 32. 增加“[微信小店](https://www.watch-life.net/wechat/minapper-wechat-shop.html)”功能。 90 | 91 | ### 二、安装教程: 92 | 开源版安装文档:https://docs.minapper.com/minfree 93 | 94 | ### 三、下载源码 95 | - **最新稳定版本下载(推荐)** :[点击下载](https://gitee.com/iamxjb/rest-api-to-miniprogram/releases) 96 | 97 | 98 | - **WordPress插件市场** :[点击下载](https://wordpress.org/plugins/rest-api-to-miniprogram)(注:wordprss官方一直不最新的版本,原因不明) 99 | 100 | - **镜像下载地址** : 101 | 102 | https://github.com/iamxjb/rest-api-to-miniprogram 103 | 104 | 105 | ### 四、扩展插件 106 | - [API缓存加速(299元)]( https://www.minapper.com/shops/) 107 | 108 | 109 | - [视频号主页(99元)](https://www.minapper.com/shops/) 110 | 111 | 112 | - [扫码登录(199元)](https://www.minapper.com/shops/) 113 | 114 | 115 | - [微信小店(299元)](https://www.minapper.com/shops/) 116 | 117 | ### 五、案例展示 118 | 如果您使用了微慕小程序开源版且愿意公开展示,可以提交案例给我们。 119 | | 官方案例 | 客户案例 | 更多案例 | 120 | |------|------|------| 121 | | ![输入图片说明](imagesminfree.jpg) | ![输入图片说明](imagesminqiye.jpg)| 欢迎提交案例 | 122 | 123 | ### 六、商业版本 124 | 我们在开源版基础上开发了更多功能的商业版本,了解详情请访问:https://www.minapper.com 125 | 126 | | 微信专业版 | 增强版微信 | 增强版百度 | 增强版字节 | 增强版QQ | 127 | |-----|-------|-------|-------|-------| 128 | | 微信专业版 | 微信增强版 | 百度增强版 | 字节增强版 | QQ增强版 | 129 | 130 | 131 | | 支付宝增强版 | 快手增强版 |专业版App(Adroid) | 专业版App(iOS) |增强版APP | 132 | |-----|-------|-------|-------|-------| 133 | | 支付宝增强版 | 快手增强版 | 专业版安卓app | 专业版苹果app | 增强版app| 134 | 135 | 136 | 137 | ### 七、增值服务 138 | 139 | 基本会遇到的问题在安装文档中都有写到,重复回复会浪费掉大家很多时间。建议遇到问题多看看文档,多去尝试自己研究解决,而不是一遇到问题就提问。如果看了文档有不清楚或者不懂的可以到论坛翻翻之前用户发的帖子,找不到答案可以发帖提问,记得描述清楚问题,最好带上报错截图和自己尝试了哪些解决方案。 140 | 141 | 如果不想看文档也不想提问的话可以购买安装部署服务,具体服务价格请[点击查看](https://www.minapper.com/fuwu)。 142 | 143 | 144 | ### 八、联系我们 145 | | 客服 | 公众号 | 作者微信 | 146 | |----|-----|-----| 147 | | ![输入图片说明](imagesqiye.jpg)| ![输入图片说明](imagesmp.jpg) |![输入图片说明](https://www.watch-life.net/images/iamxjbweixin.jpg)| 148 | -------------------------------------------------------------------------------- /banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/banner.png -------------------------------------------------------------------------------- /imagesminfree.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/imagesminfree.jpg -------------------------------------------------------------------------------- /imagesminqiye.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/imagesminqiye.jpg -------------------------------------------------------------------------------- /imagesmp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/imagesmp.jpg -------------------------------------------------------------------------------- /imagesqiye.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/imagesqiye.jpg -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/ace-loader.min.js: -------------------------------------------------------------------------------- 1 | (function($,window,document,undefined){$.fn.exopiteSofFieldACEEditor=function(){return this.each(function(index){if(typeof ace!=='undefined'){var $this=$(this),$textarea=$this.find('.exopite-sof-ace-editor-textarea'),options=JSON.parse($this.find('.exopite-sof-ace-editor-options').val()),plugin=this,editor=ace.edit($this.find('.exopite-sof-ace-editor').attr('id'));editor.getSession().setValue($textarea.val());editor.setOptions(options);editor.on('change',function(e){$textarea.val(editor.getSession().getValue()).trigger('change')});$('.exopite-sof-group').on('exopite-sof-field-group-item-added-before',function(event,$cloned,$group){if($cloned.find('.exopite-sof-ace-editor').length!==0){plugin.musterID=$group.find('.exopite-sof-cloneable__muster .exopite-sof-ace-editor').first().attr('id')+'-';var count=parseInt($group.find('.exopite-sof-ace-editor').filter(function(){return($(this).parents().not('.exopite-sof-cloneable__muster'))}).length);$cloned.find('.exopite-sof-ace-editor').each(function(index,el){$(el).attr('id',plugin.musterID+(count+index))})}});$('.exopite-sof-group').on('exopite-sof-field-group-item-added-after',function(event,$cloned){$cloned.find('.exopite-sof-field-ace_editor').exopiteSofFieldACEEditor()})}})};$(document).ready(function(){if(typeof ace!=='undefined'){var musterID='';$('.exopite-sof-field-group').find('.exopite-sof-field-ace_editor').each(function(index,el){if(!$(this).parents('.exopite-sof-cloneable__muster').length){var $thisEditor=$(this).find('.exopite-sof-ace-editor');var thisId=$thisEditor.attr('id');$thisEditor.attr('id',thisId+'-'+index)}})} 2 | $('.exopite-sof-field-ace_editor').exopiteSofFieldACEEditor()})})(jQuery,window,document) 3 | -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/chosen-sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/chosen-sprite.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/chosen-sprite@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/chosen-sprite@2x.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/dev/ace-loader.js: -------------------------------------------------------------------------------- 1 | ;(function ( $, window, document, undefined ) { 2 | 3 | $.fn.exopiteSofFieldACEEditor = function() { 4 | return this.each(function(index) { 5 | 6 | if( typeof ace !== 'undefined' ) { 7 | 8 | var $this = $(this), 9 | $textarea = $this.find('.exopite-sof-ace-editor-textarea'), 10 | options = JSON.parse( $this.find( '.exopite-sof-ace-editor-options' ).val() ), 11 | plugin = this, 12 | editor = ace.edit($this.find('.exopite-sof-ace-editor').attr('id')); 13 | 14 | // global settings of ace editor 15 | editor.getSession().setValue($textarea.val()); 16 | 17 | editor.setOptions( options ); 18 | 19 | editor.on( 'change', function( e ) { 20 | $textarea.val( editor.getSession().getValue() ).trigger('change'); 21 | }); 22 | 23 | $( '.exopite-sof-group' ).on('exopite-sof-field-group-item-added-before', function( event, $cloned, $group ) { 24 | 25 | if( $cloned.find( '.exopite-sof-ace-editor' ).length !== 0 ) { 26 | 27 | plugin.musterID = $group.find( '.exopite-sof-cloneable__muster .exopite-sof-ace-editor' ).first().attr( 'id' ) + '-'; 28 | 29 | var count = parseInt( $group.find( '.exopite-sof-ace-editor' ).filter(function () { 30 | return ( $(this).parents().not( '.exopite-sof-cloneable__muster' ) ); 31 | }).length ); 32 | 33 | $cloned.find( '.exopite-sof-ace-editor' ).each(function(index, el) { 34 | $( el ).attr( 'id', plugin.musterID + ( count + index ) ); 35 | }); 36 | 37 | } 38 | 39 | }); 40 | 41 | $( '.exopite-sof-group' ).on('exopite-sof-field-group-item-added-after', function( event, $cloned ) { 42 | 43 | $cloned.find( '.exopite-sof-field-ace_editor' ).exopiteSofFieldACEEditor(); 44 | 45 | }); 46 | 47 | } 48 | }); 49 | }; 50 | 51 | $( document ).ready(function() { 52 | 53 | if( typeof ace !== 'undefined' ) { 54 | 55 | var musterID = ''; 56 | 57 | $( '.exopite-sof-field-group' ).find( '.exopite-sof-field-ace_editor' ).each(function(index, el) { 58 | 59 | if ( ! $(this).parents( '.exopite-sof-cloneable__muster' ).length ) { 60 | 61 | var $thisEditor = $(this).find('.exopite-sof-ace-editor'); 62 | var thisId = $thisEditor.attr('id'); 63 | $thisEditor.attr( 'id', thisId + '-' + index ); 64 | 65 | } 66 | 67 | }); 68 | } 69 | 70 | $( '.exopite-sof-field-ace_editor' ).exopiteSofFieldACEEditor(); 71 | 72 | 73 | 74 | }); 75 | 76 | })( jQuery, window, document ); 77 | -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/dev/loader-color-picker.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Exopite Simple Options Framework Trumbowyg 4 | */ 5 | ; (function ($, window, document, undefined) { 6 | 7 | var pluginName = "exopiteSOFColorpicker"; 8 | 9 | // The actual plugin constructor 10 | function Plugin(element, options) { 11 | 12 | this.element = element; 13 | this._name = pluginName; 14 | this.$element = $(element); 15 | this.init(); 16 | 17 | } 18 | 19 | Plugin.prototype = { 20 | 21 | init: function () { 22 | 23 | var plugin = this; 24 | 25 | plugin.$element.find('.colorpicker').each(function (index, el) { 26 | 27 | if ($(el).closest('.exopite-sof-cloneable__item').hasClass('exopite-sof-cloneable__muster')) return; 28 | if ($(el).hasClass('disabled')) return; 29 | 30 | $(el).wpColorPicker({ 31 | /** 32 | * @param {Event} event - standard jQuery event, produced by whichever 33 | * control was changed. 34 | * @param {Object} ui - standard jQuery UI object, with a color member 35 | * containing a Color.js object. 36 | */ 37 | change: function (event, ui) { 38 | plugin.change(event, ui, $(this)); 39 | }, 40 | }); 41 | 42 | }); 43 | 44 | plugin.$element.closest('.exopite-sof-wrapper').on('exopite-sof-field-group-item-added-after', function (event, $cloned) { 45 | 46 | $cloned.find('.colorpicker').each(function (index, el) { 47 | 48 | if ($(el).closest('.exopite-sof-cloneable__item').hasClass('exopite-sof-cloneable__muster')) return; 49 | if ($(el).hasClass('disabled')) return; 50 | 51 | $(el).wpColorPicker({ 52 | change: function (event, ui) { 53 | plugin.change(event, ui, $(this)); 54 | }, 55 | }); 56 | 57 | }); 58 | 59 | console.log('color picker clone'); 60 | 61 | }); 62 | 63 | }, 64 | 65 | change: function (event, ui, $this) { 66 | var color = ui.color.toString(); 67 | if ($this.hasClass('font-color-js')) { 68 | console.log('has font-color'); 69 | $this.parents('.exopite-sof-font-field').find('.exopite-sof-font-preview').css({ 'color': color }); 70 | } 71 | }, 72 | 73 | }; 74 | 75 | $.fn[pluginName] = function (options) { 76 | return this.each(function () { 77 | if (!$.data(this, "plugin_" + pluginName)) { 78 | $.data(this, "plugin_" + pluginName, 79 | new Plugin(this, options)); 80 | } 81 | }); 82 | }; 83 | 84 | })(jQuery, window, document); 85 | 86 | ; (function ($) { 87 | "use strict"; 88 | 89 | $(document).ready(function () { 90 | 91 | $('.exopite-sof-field').exopiteSOFColorpicker(); 92 | 93 | }); 94 | 95 | }(jQuery)); 96 | -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/dev/loader-datepicker.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Exopite Simple Options Framework Trumbowyg 4 | */ 5 | ; (function ($, window, document, undefined) { 6 | 7 | var pluginName = "exopiteSOFDatepicker"; 8 | 9 | // The actual plugin constructor 10 | function Plugin(element, options) { 11 | 12 | this.element = element; 13 | this._name = pluginName; 14 | this.$element = $(element); 15 | this.init(); 16 | 17 | } 18 | 19 | Plugin.prototype = { 20 | 21 | init: function () { 22 | 23 | var plugin = this; 24 | 25 | plugin.$element.find('.datepicker').each(function (index, el) { 26 | if ($(el).parents('.exopite-sof-cloneable__muster').length) return; 27 | if ($(el).hasClass('.disabled')) return; 28 | var dateFormat = $(el).data('format'); 29 | $(el).datepicker({ 'dateFormat': dateFormat }); 30 | }); 31 | 32 | plugin.$element.closest('.exopite-sof-wrapper').on('exopite-sof-field-group-item-added-after', function (event, $cloned) { 33 | 34 | $cloned.find('.datepicker').each(function (index, el) { 35 | 36 | /** 37 | * For some reason, datepicker will be attached to muster. 38 | * Check if exist before added, if yes, firs tremove it. 39 | */ 40 | if ($(el).closest('.exopite-sof-cloneable__item').hasClass('exopite-sof-cloneable__muster')) return; 41 | if ($(el).hasClass('disabled')) return; 42 | 43 | if ($(el).hasClass('hasDatepicker')) { 44 | $(el).datepicker("destroy"); 45 | $(el).removeClass("hasDatepicker").removeAttr('id'); 46 | } 47 | 48 | var dateFormat = $(el).data('format'); 49 | $(el).datepicker({ 'dateFormat': dateFormat }); 50 | 51 | 52 | }); 53 | 54 | }); 55 | 56 | }, 57 | 58 | }; 59 | 60 | $.fn[pluginName] = function (options) { 61 | return this.each(function () { 62 | if (!$.data(this, "plugin_" + pluginName)) { 63 | $.data(this, "plugin_" + pluginName, 64 | new Plugin(this, options)); 65 | } 66 | }); 67 | }; 68 | 69 | })(jQuery, window, document); 70 | 71 | ; (function ($) { 72 | "use strict"; 73 | 74 | $(document).ready(function () { 75 | 76 | $('.exopite-sof-field-date').exopiteSOFDatepicker(); 77 | 78 | }); 79 | 80 | }(jQuery)); 81 | -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/dev/loader-fine-uploader.js: -------------------------------------------------------------------------------- 1 | ;(function ( $, window, document, undefined ) { 2 | 3 | /* 4 | * A jQuery Plugin Boilerplate 5 | * 6 | * https://github.com/johndugan/jquery-plugin-boilerplate/blob/master/jquery.plugin-boilerplate.js 7 | * https://john-dugan.com/jquery-plugin-boilerplate-explained/ 8 | */ 9 | 10 | var pluginName = "exopiteFineUploader"; 11 | 12 | // The actual plugin constructor 13 | function Plugin( element, options ) { 14 | 15 | this.element = element; 16 | this._name = pluginName; 17 | this.$element = $( element ); 18 | this.init(); 19 | 20 | } 21 | 22 | Plugin.prototype = { 23 | 24 | init: function() { 25 | 26 | // console.log( 'maxsize: ' + this.$element.data('maxsize') ); 27 | // console.log( 'allowedExtensions: ' + this.$element.data('mimetypes') ); 28 | 29 | var ajaxUrl = this.$element.data('ajaxurl'); 30 | 31 | this.$element.fineUploader({ 32 | template: 'qq-template-manual-trigger', 33 | request: { 34 | endpoint: ajaxUrl, 35 | // Admin AJAX Param 36 | params: { 37 | action: 'exopite-sof-file_uploader', 38 | postId: this.$element.data('postid') 39 | }, 40 | paramsInBody: true 41 | }, 42 | deleteFile: { 43 | /** 44 | * Delete file on AJAX request with qquuid 45 | * 46 | * @link https://docs.fineuploader.com/features/delete.html 47 | * @link https://docs.fineuploader.com/branch/master/api/options.html#deleteFile 48 | */ 49 | method: 'POST', 50 | endpoint: ajaxUrl, 51 | params: { 52 | action: 'exopite-sof-file_uploader', 53 | }, 54 | enabled : this.$element.data('delete-enabled'), 55 | forceConfirm : this.$element.data('delete-force-confirm') 56 | }, 57 | retry: { 58 | enableAuto : this.$element.data('retry-enable-auto'), 59 | maxAutoAttempts : this.$element.data('retry-max-auto-attempts'), 60 | autoAttemptDelay : this.$element.data('retry-auto-attempt-delay'), 61 | }, 62 | validation: { 63 | allowedExtensions: this.$element.data('mimetypes').split(','), 64 | sizeLimit: this.$element.data('maxsize'), 65 | itemLimit: this.$element.data('filecount') 66 | }, 67 | autoUpload: this.$element.data('auto-upload'), 68 | debug: true 69 | }); 70 | 71 | this.bindEvents(); 72 | 73 | }, 74 | 75 | // Bind events that trigger methods 76 | bindEvents: function() { 77 | var plugin = this; 78 | 79 | plugin.$element.find( '.trigger-upload' ).on( 'click'+'.'+plugin._name, function() { 80 | 81 | plugin.$element.fineUploader('uploadStoredFiles'); 82 | 83 | }); 84 | 85 | }, 86 | 87 | }; 88 | 89 | $.fn[pluginName] = function ( options ) { 90 | return this.each(function () { 91 | if (!$.data(this, "plugin_" + pluginName)) { 92 | $.data(this, "plugin_" + pluginName, 93 | new Plugin( this, options )); 94 | } 95 | }); 96 | }; 97 | 98 | $( document ).ready(function() { 99 | 100 | $('.qq-template').exopiteFineUploader(); 101 | 102 | }); 103 | 104 | })( jQuery, window, document ); 105 | -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/dev/loader-jquery-chosen.js: -------------------------------------------------------------------------------- 1 | ;(function( $ ) { 2 | "use strict"; 3 | 4 | $( document ).ready(function() { 5 | 6 | $( '.exopite-sof-field-select ').find( 'select.chosen' ).each(function(index, el) { 7 | $( el ).chosen({ 8 | disable_search_threshold: 15, 9 | width: '375px', 10 | allow_single_deselect: true 11 | }); 12 | }); 13 | 14 | }); 15 | 16 | }(jQuery)); 17 | -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/dev/loader-jquery-finderselect.js: -------------------------------------------------------------------------------- 1 | ;(function ( $, window, document, undefined ) { 2 | 3 | /* 4 | * A jQuery Plugin Boilerplate 5 | * 6 | * https://github.com/johndugan/jquery-plugin-boilerplate/blob/master/jquery.plugin-boilerplate.js 7 | * https://john-dugan.com/jquery-plugin-boilerplate-explained/ 8 | */ 9 | 10 | var pluginName = "exopiteAttachmentRemover"; 11 | 12 | // The actual plugin constructor 13 | function Plugin( element, options ) { 14 | 15 | this.element = element; 16 | this._name = pluginName; 17 | this.$element = $( element ); 18 | this.init(); 19 | 20 | } 21 | 22 | Plugin.prototype = { 23 | 24 | init: function() { 25 | 26 | this.bindEvents(); 27 | 28 | }, 29 | 30 | // Bind events that trigger methods 31 | bindEvents: function() { 32 | var plugin = this; 33 | 34 | plugin.$element.find( '.exopite-sof-attachment-media-js' ).on( 'click'+'.'+plugin._name, function( event ) { 35 | 36 | plugin.toggleSelect.call( plugin, $( this ), event ); 37 | 38 | }); 39 | 40 | }, 41 | 42 | toggleSelect: function( $this, event ) { 43 | 44 | if ( event.ctrlKey ) { 45 | 46 | $this.toggleClass( 'selected' ); 47 | 48 | } else { 49 | 50 | var already_selected = $this.hasClass( 'selected' ); 51 | this.$element.find( '.exopite-sof-attachment-media-js' ).removeClass( 'selected' ); 52 | 53 | if ( ! already_selected ) { 54 | 55 | $this.addClass( 'selected' ); 56 | 57 | } 58 | 59 | } 60 | 61 | }, 62 | 63 | }; 64 | 65 | $.fn[pluginName] = function ( options ) { 66 | return this.each(function () { 67 | if (!$.data(this, "plugin_" + pluginName)) { 68 | $.data(this, "plugin_" + pluginName, 69 | new Plugin( this, options )); 70 | } 71 | }); 72 | }; 73 | 74 | $( document ).ready(function() { 75 | 76 | // $( '.exopite-sof-attachment-container' ).exopiteAttachmentRemover(); 77 | var finderSelect = $( '.exopite-sof-attachment-container' ).finderSelect({children:".exopite-sof-attachment-media-js"}); 78 | 79 | finderSelect.on( "mousedown",".exopite-sof-attachment-media-delete-js", function(e){ 80 | e.stopPropagation(); 81 | }); 82 | 83 | $( '.exopite-sof-attachment-media-delete-js' ).on('click', function(event) { 84 | 85 | var $attachmentContainer = $( this ).closest( '.exopite-sof-attachment-container' ); 86 | var ajaxUrl = $attachmentContainer.data('ajaxurl'); 87 | var attachmentIDs = new Array(); 88 | 89 | $attachmentContainer.find( '.selected' ).each(function(index, el) { 90 | attachmentIDs.push( $( el ).data( 'media-id' ) ); 91 | }); 92 | 93 | var confirmDelete = confirm( "Are you sure, you want to delete the selected " + attachmentIDs.length + " media?" ); 94 | if ( confirmDelete == true ) { 95 | 96 | var dataJSON = { 97 | 'action': 'exopite-sof-file-batch-delete', 98 | 'media-ids': attachmentIDs 99 | }; 100 | 101 | $.ajax({ 102 | cache: false, 103 | type: "POST", 104 | url: ajaxUrl, 105 | data: dataJSON, 106 | success: function( response ){ 107 | var ids = jQuery.parseJSON( response ); 108 | $.each( ids, function(index, item) { 109 | $attachmentContainer.find("[data-media-id='" + item + "']").remove(); 110 | }); 111 | }, 112 | error: function( xhr, status, error ) { 113 | console.log( 'Status: ' + xhr.status ); 114 | console.log( 'Error: ' + xhr.responseText ); 115 | } 116 | }); 117 | 118 | } 119 | 120 | }); 121 | 122 | }); 123 | 124 | })( jQuery, window, document ); 125 | -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/dev/loader-jquery-trumbowyg.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Exopite Simple Options Framework Trumbowyg 4 | */ 5 | ; (function ($, window, document, undefined) { 6 | 7 | var pluginName = "exopiteSOFTrumbowyg"; 8 | 9 | // The actual plugin constructor 10 | function Plugin(element, options) { 11 | 12 | this.element = element; 13 | this._name = pluginName; 14 | this.$element = $(element); 15 | this.init(); 16 | 17 | } 18 | 19 | Plugin.prototype = { 20 | 21 | init: function () { 22 | 23 | var plugin = this; 24 | 25 | plugin.trumbowygOptions = new Object(); 26 | plugin.trumbowygOptions.svgPath = plugin.$element.find('.trumbowyg-js').data('icon-path'); 27 | 28 | plugin.trumbowygOptions.btnsDef = { 29 | // Customizables dropdowns 30 | image: { 31 | dropdown: ['insertImage', 'base64'], 32 | ico: 'insertImage', 33 | } 34 | }; 35 | 36 | plugin.trumbowygOptions.btns = [ 37 | ['viewHTML'], 38 | ['undo', 'redo'], 39 | ['formatting'], 40 | ['strong', 'em'], 41 | ['link'], 42 | ['image'], 43 | ['unorderedList', 'orderedList'], 44 | ['foreColor', 'backColor'], 45 | ['preformatted'], 46 | ['fullscreen'] 47 | ]; 48 | 49 | // plugin.$element.find('.trumbowyg-js').not('.disabled').trumbowyg(plugin.trumbowygOptions); 50 | plugin.$element.find('.trumbowyg-js').not(':disabled').trumbowyg(plugin.trumbowygOptions); 51 | 52 | var $group = plugin.$element.closest('.exopite-sof-group'); 53 | 54 | // $group.on('exopite-sof-field-group-item-added-after', function (event, $cloned) { 55 | plugin.$element.on('exopite-sof-field-group-item-added-after', function (event, $cloned) { 56 | 57 | console.log('test exopite-sof-field-group-item-added-after'); 58 | $cloned.find('.trumbowyg-js').not(':disabled').trumbowyg(plugin.trumbowygOptions); 59 | 60 | }); 61 | 62 | }, 63 | 64 | }; 65 | 66 | $.fn[pluginName] = function (options) { 67 | return this.each(function () { 68 | if (!$.data(this, "plugin_" + pluginName)) { 69 | $.data(this, "plugin_" + pluginName, 70 | new Plugin(this, options)); 71 | } 72 | }); 73 | }; 74 | 75 | })(jQuery, window, document); 76 | 77 | ; (function ($) { 78 | "use strict"; 79 | 80 | $(document).ready(function () { 81 | 82 | $('.exopite-sof-wrapper').exopiteSOFTrumbowyg(); 83 | 84 | }); 85 | 86 | }(jQuery)); 87 | -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/dev/loader-minicolors.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Exopite Simple Options Framework Color Picker 4 | * 5 | * https://tovic.github.io/color-picker/#section:extend 6 | * https://bgrins.github.io/spectrum/ 7 | * https://www.jqueryscript.net/other/Color-Picker-Plugin-jQuery-MiniColors.html 8 | * - https://www.jqueryscript.net/demo/Color-Picker-Plugin-jQuery-MiniColors/ 9 | * https://www.jqueryscript.net/other/Color-Picker-Plugin-jQuery-ChromoSelector.html 10 | */ 11 | ; (function ($, window, document, undefined) { 12 | 13 | var pluginName = "exopiteSOFMinicolors"; 14 | 15 | // The actual plugin constructor 16 | function Plugin(element, options) { 17 | 18 | this.element = element; 19 | this._name = pluginName; 20 | this.$element = $(element); 21 | this.init(); 22 | 23 | } 24 | 25 | Plugin.prototype = { 26 | 27 | init: function () { 28 | 29 | var plugin = this; 30 | 31 | plugin.minicolorOptions = { 32 | theme: 'default', 33 | swatches: '#000|#fff|#f00|#dd9933|#eeee22|#81d742|#1e73be|#8224e3|#2196f3|#4caf50|#ffeb3b|#ff9800|#795548|rgba(0, 0, 0, 0)'.split('|'), 34 | change: function(value, opacity) { 35 | plugin.change(value, opacity, $(this)); 36 | if( !value ) return; 37 | }, 38 | hide : function() { 39 | let color = $(this).val(); 40 | $(this).val( plugin.rgb2hex(color) ); 41 | } 42 | }; 43 | 44 | plugin.$element.find('.minicolor').each(function (index, el) { 45 | 46 | if ($(el).closest('.exopite-sof-cloneable__item').hasClass('exopite-sof-cloneable__muster')) return; 47 | if ($(el).hasClass('disabled')) return; 48 | 49 | plugin.minicolorOptions.opacity = $(el).attr('data-opacity') || false; 50 | plugin.minicolorOptions.control = $(el).attr('data-control') || 'saturation'; 51 | plugin.minicolorOptions.format = $(el).attr('data-format') || 'rgb'; 52 | 53 | $(el).minicolors(plugin.minicolorOptions); 54 | 55 | }); 56 | 57 | plugin.$element.closest('.exopite-sof-wrapper').on('exopite-sof-field-group-item-added-after', function (event, $cloned) { 58 | 59 | $cloned.find('.minicolor').each(function (index, el) { 60 | 61 | if ($(el).closest('.exopite-sof-cloneable__item').hasClass('exopite-sof-cloneable__muster')) return; 62 | if ($(el).hasClass('disabled')) return; 63 | 64 | $(el).minicolors(plugin.minicolorOptions); 65 | 66 | }); 67 | 68 | }); 69 | 70 | }, 71 | rgb2hex: function (rgb){ 72 | var plugin = this; 73 | rgba = rgb.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?1[\s+]?\)/i); 74 | console.log('rgba: ' + rgba); 75 | if (rgba === null) return rgb; 76 | return (rgba && rgba.length === 4) ? "#" + 77 | ("0" + parseInt(rgba[1],10).toString(16)).slice(-2) + 78 | ("0" + parseInt(rgba[2],10).toString(16)).slice(-2) + 79 | ("0" + parseInt(rgba[3],10).toString(16)).slice(-2) : ''; 80 | }, 81 | change: function (value, opacity, $this) { 82 | var plugin = this; 83 | var color = value; 84 | if ($this.hasClass('font-color-js')) { 85 | console.log('has font-color'); 86 | $this.parents('.exopite-sof-font-field').find('.exopite-sof-font-preview').css({ 'color': color }); 87 | } 88 | 89 | $this.val( plugin.rgb2hex(color) ); 90 | }, 91 | 92 | }; 93 | 94 | $.fn[pluginName] = function (options) { 95 | return this.each(function () { 96 | if (!$.data(this, "plugin_" + pluginName)) { 97 | $.data(this, "plugin_" + pluginName, 98 | new Plugin(this, options)); 99 | } 100 | }); 101 | }; 102 | 103 | })(jQuery, window, document); 104 | 105 | ; (function ($) { 106 | "use strict"; 107 | 108 | $(document).ready(function () { 109 | 110 | $('.exopite-sof-field').exopiteSOFMinicolors(); 111 | 112 | }); 113 | 114 | }(jQuery)); 115 | -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/fine-uploader-new.min.css: -------------------------------------------------------------------------------- 1 | .qq-btn{box-shadow:0 1px 1px rgba(255,255,255,.37) inset,1px 0 1px rgba(255,255,255,.07) inset,0 1px 0 rgba(0,0,0,.36),0 -2px 12px rgba(0,0,0,.08) inset;padding:3px 4px;border:1px solid #ccc;border-radius:2px;color:inherit;background-color:#fff}.qq-upload-continue,.qq-upload-delete,.qq-upload-pause{display:inline}.qq-upload-delete{background-color:#e65c47;color:#fafafa;border-color:#dc523d;text-shadow:0 1px 1px rgba(0,0,0,.55)}.qq-upload-delete:hover{background-color:#f56b56}.qq-upload-cancel{background-color:#f5d7d7;border-color:#e6c8c8}.qq-upload-cancel:hover{background-color:#ffe1e1}.qq-upload-retry{background-color:#ebf6e0;border-color:#d2ddc7}.qq-upload-retry:hover{background-color:#f7ffec}.qq-upload-continue,.qq-upload-pause{background-color:#00abc7;color:#fafafa;border-color:#2dadc2;text-shadow:0 1px 1px rgba(0,0,0,.55)}.qq-upload-continue:hover,.qq-upload-pause:hover{background-color:#0fbad6}.qq-upload-button{display:inline;width:105px;margin-bottom:10px;padding:7px 10px;text-align:center;float:left;background:#00abc7;color:#fff;border-radius:2px;border:1px solid #2dadc2;box-shadow:0 1px 1px rgba(255,255,255,.37) inset,1px 0 1px rgba(255,255,255,.07) inset,0 1px 0 rgba(0,0,0,.36),0 -2px 12px rgba(0,0,0,.08) inset}.qq-upload-button-hover{background:#33b6cc}.qq-upload-button-focus{outline:1px dotted #000}.qq-uploader{position:relative;min-height:200px;max-height:490px;overflow-y:hidden;width:inherit;border-radius:6px;background-color:#fdfdfd;border:1px dashed #ccc;padding:20px}.qq-uploader:before{content:attr(qq-drop-area-text) " ";position:absolute;font-size:200%;left:0;width:100%;text-align:center;top:45%;opacity:.25}.qq-upload-drop-area,.qq-upload-extra-drop-area{position:absolute;top:0;left:0;width:100%;height:100%;min-height:30px;z-index:2;background:#f9f9f9;border-radius:4px;border:1px dashed #ccc;text-align:center}.qq-upload-drop-area span{display:block;position:absolute;top:50%;width:100%;margin-top:-8px;font-size:16px}.qq-upload-extra-drop-area{position:relative;margin-top:50px;font-size:16px;padding-top:30px;height:20px;min-height:40px}.qq-upload-drop-area-active{background:#fdfdfd;border-radius:4px;border:1px dashed #ccc}.qq-upload-list{margin:0;padding:0;list-style:none;max-height:450px;overflow-y:auto;box-shadow:0 1px 0 rgba(15,15,50,.14);clear:both}.qq-upload-list li{margin:0;padding:9px;line-height:15px;font-size:16px;color:#424242;background-color:#f6f6f6;border-top:1px solid #fff;border-bottom:1px solid #ddd}.qq-upload-list li:first-child{border-top:none}.qq-upload-list li:last-child{border-bottom:none}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-failed-text,.qq-upload-file,.qq-upload-pause,.qq-upload-retry,.qq-upload-size,.qq-upload-spinner{margin-right:12px;display:inline}.qq-upload-file{vertical-align:middle;display:inline-block;width:300px;text-overflow:ellipsis;white-space:nowrap;overflow-x:hidden;height:18px}.qq-upload-spinner{display:inline-block;background:url(loading.gif);width:15px;height:15px;vertical-align:text-bottom}.qq-drop-processing{display:block}.qq-drop-processing-spinner{display:inline-block;background:url(processing.gif);width:24px;height:24px;vertical-align:text-bottom}.qq-upload-cancel,.qq-upload-continue,.qq-upload-delete,.qq-upload-pause,.qq-upload-retry,.qq-upload-size{font-size:12px;font-weight:400;cursor:pointer;vertical-align:middle}.qq-upload-status-text{font-size:14px;font-weight:700;display:block}.qq-upload-failed-text{display:none;font-style:italic;font-weight:700}.qq-upload-failed-icon{display:none;width:15px;height:15px;vertical-align:text-bottom}.qq-upload-fail .qq-upload-failed-text{display:inline}.qq-upload-retrying .qq-upload-failed-text{display:inline}.qq-upload-list li.qq-upload-success{background-color:#ebf6e0;color:#424242;border-bottom:1px solid #d3ded1;border-top:1px solid #f7fff5}.qq-upload-list li.qq-upload-fail{background-color:#f5d7d7;color:#424242;border-bottom:1px solid #decaca;border-top:1px solid #fce6e6}.qq-progress-bar{display:block;display:block;background:#00abc7;width:0;height:15px;border-radius:6px;margin-bottom:3px}.qq-total-progress-bar{height:25px;border-radius:9px}.qq-total-progress-bar-container{margin-left:9px;display:inline;float:right;width:500px}INPUT.qq-edit-filename{position:absolute;opacity:0;z-index:-1}.qq-upload-file.qq-editable{cursor:pointer;margin-right:4px}.qq-edit-filename-icon.qq-editable{display:inline-block;cursor:pointer}INPUT.qq-edit-filename.qq-editing{position:static;height:28px;padding:0 8px;margin-right:10px;margin-bottom:-5px;border:1px solid #ccc;border-radius:2px;font-size:16px;opacity:1}.qq-edit-filename-icon{display:none;background:url(edit.gif);width:15px;height:15px;vertical-align:text-bottom;margin-right:16px}.qq-hide{display:none}.qq-thumbnail-selector{vertical-align:middle;margin-right:12px}.qq-uploader DIALOG{display:none}.qq-uploader DIALOG[open]{display:block}.qq-uploader DIALOG{display:none}.qq-uploader DIALOG[open]{display:block}.qq-uploader DIALOG .qq-dialog-buttons{text-align:center;padding-top:10px}.qq-uploader DIALOG .qq-dialog-buttons BUTTON{margin-left:5px;margin-right:5px}.qq-uploader DIALOG .qq-dialog-message-selector{padding-bottom:10px}.qq-uploader DIALOG::backdrop{background-color:rgba(0,0,0,.7)}/*# sourceMappingURL=fine-uploader-new.min.css.map */ 2 | -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/font-awesome-4.7.0/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/font-awesome-4.7.0/FontAwesome.otf -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/font-awesome-4.7.0/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/font-awesome-4.7.0/fontawesome-webfont.eot -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/font-awesome-4.7.0/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/font-awesome-4.7.0/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/font-awesome-4.7.0/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/font-awesome-4.7.0/fontawesome-webfont.woff -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/font-awesome-4.7.0/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/font-awesome-4.7.0/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/exopite-sof-title-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/exopite-sof-title-bg.jpg -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/readme.txt: -------------------------------------------------------------------------------- 1 | These images are required for jquery-ui 2 | -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-bg_flat_0_888888_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-bg_flat_0_888888_40x100.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-bg_flat_75_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-bg_flat_75_ffffff_40x100.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-bg_glass_25_e1f0f5_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-bg_glass_25_e1f0f5_1x400.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-bg_glass_55_444444_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-bg_glass_55_444444_1x400.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-bg_inset-soft_95_fef1ec_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-bg_inset-soft_95_fef1ec_1x100.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-icons_309bbf_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-icons_309bbf_256x240.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-icons_bf3030_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-icons_bf3030_256x240.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/images/ui-icons_ffffff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/iamxjb/rest-api-to-miniprogram/c6c74b19237dbe8a2c815b4f78d5e829ac2485aa/includes/admin/exopite-simple-options/assets/images/ui-icons_ffffff_256x240.png -------------------------------------------------------------------------------- /includes/admin/exopite-simple-options/assets/jquery.interdependencies.min.js: -------------------------------------------------------------------------------- 1 | /** 2 | * jQuery Interdependencies library 3 | * 4 | * http://miohtama.github.com/jquery-interdependencies/ 5 | * https://github.com/miohtama/jquery-interdependencies 6 | * 7 | * Copyright 2012-2013 Mikko Ohtamaa, others 8 | */ 9 | !function(t){"use strict";function n(t){window.console&&window.console.log&&console.log(t)}function e(n,e){return"#"==e[0]&&e.indexOf(" ")<0?t(e):n.find(e)}function o(t,n,e){this.init(t,n,e)}function i(){this.rules=[]}t.extend(o.prototype,{init:function(t,n,e){this.controller=t,this.condition=n,this.value=e,this.rules=[],this.controls=[]},evalCondition:function(n,e,o,i,r){if("=="==o||"OR"==o)return this.checkBoolean(i)==this.checkBoolean(r);if("!="==o)return this.checkBoolean(i)!=this.checkBoolean(r);if(">="==o)return Number(r)>=Number(i);if("<="==o)return Number(r)<=Number(i);if(">"==o)return Number(r)>Number(i);if("<"==o)return Number(r)-1;if("not-any"==o)return-1==t.inArray(r,i.split(","));throw new Error("Unknown condition:"+o)},checkBoolean:function(t){switch(t){case!0:case"true":case 1:case"1":t=!0;break;case!1:case"false":case 0:case"0":t=!1}return t},checkCondition:function(t,e){if(!this.condition)return!0;var o=t.find(this.controller);0===o.size()&&e.log&&n("Evaling condition: Could not find controller input "+this.controller);var i=this.getControlValue(t,o);return e.log&&void 0===i&&n("Evaling condition: Could not exctract value from input "+this.controller),void 0!==i&&(i=this.normalizeValue(o,this.value,i),this.evalCondition(t,o,this.condition,this.value,i))},normalizeValue:function(t,n,e){return"number"==typeof n?parseFloat(e):e},getControlValue:function(t,n){return("radio"==n.attr("type")||"checkbox"==n.attr("type"))&&n.size()>1?n.filter(":checked").val():"checkbox"==n.attr("type")||"radio"==n.attr("type")?n.is(":checked"):n.val()},createRule:function(t,n,e){var i=new o(t,n,e);return this.rules.push(i),i},include:function(t){if(!t)throw new Error("Must give an input selector");this.controls.push(t)},applyRule:function(e,o,i){var r;r=void 0===i?this.checkCondition(e,o):i,o.log&&n("Applying rule on "+this.controller+"=="+this.value+" enforced:"+i+" result:"+r),o.log&&!this.controls.length&&n("Zero length controls slipped through");var l=o.show||function(t){t.show()},s=o.hide||function(t){t.hide()},c=t.map(this.controls,function(t,i){var r=e.find(t);return o.log&&0===r.size()&&n("Could not find element:"+t),r});r?(t(c).each(function(){o.log&&0===t(this).size()&&(n("Control selection is empty when showing"),n(this)),l(this)}),t(this.rules).each(function(){"OR"!==this.condition&&this.applyRule(e,o)})):(t(c).each(function(){o.log&&0===t(this).size()&&(n("Control selection is empty when hiding:"),n(this)),s(this)}),t(this.rules).each(function(){"OR"!==this.condition?this.applyRule(e,o,!1):this.applyRule(e,o)}))}}),t.extend(i.prototype,{createRule:function(t,n,e){var i=new o(t,n,e);return this.rules.push(i),i},applyRules:function(t,e){var o;for((e=e||{}).log&&n("Starting evaluation ruleset of "+this.rules.length+" rules"),o=0;o').after(j.button):(j.wrappingLabel.wrap('