mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-05-12 05:22:35 +09:00
commit
e7836e6e17
170 changed files with 6503 additions and 784 deletions
36
.htaccess
36
.htaccess
|
|
@ -15,7 +15,37 @@ RewriteRule ^(.+)/files/(member_extra_info|attach|cache|faceOff)/(.*) ./files/$2
|
|||
RewriteCond %{SCRIPT_FILENAME} !-f
|
||||
RewriteRule ^(.+)/(files|modules|widgets|widgetstyles|layouts|m.layouts|addons)/(.*) ./$2/$3 [L]
|
||||
|
||||
# router
|
||||
RewriteCond %{SCRIPT_FILENAME} !-f
|
||||
# rss , blogAPI
|
||||
RewriteRule ^(rss|atom)$ ./index.php?module=rss&act=$1 [L]
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/(rss|atom|api)$ ./index.php?mid=$1&act=$2 [L]
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/(rss|atom|api)$ ./index.php?vid=$1&mid=$2&act=$3 [L]
|
||||
|
||||
# trackback
|
||||
RewriteRule ^([0-9]+)/(.+)/trackback$ ./index.php?document_srl=$1&key=$2&act=trackback [L]
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?mid=$1&document_srl=$2&key=$3&act=trackback [L]
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?vid=$1&document_srl=$2&key=$3&act=trackback [L]
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback$ ./index.php?vid=$1&mid=$2&document_srl=$3&key=$4&act=trackback [L]
|
||||
|
||||
# document permanent link
|
||||
RewriteRule ^([0-9]+)$ ./index.php?document_srl=$1 [L,QSA]
|
||||
|
||||
# mid link
|
||||
RewriteCond %{SCRIPT_FILENAME} !-d
|
||||
RewriteRule ^(.*)$ ./index.php [L]
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/?$ ./index.php?mid=$1 [L,QSA]
|
||||
# mid + document link
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/([0-9]+)$ ./index.php?mid=$1&document_srl=$2 [L,QSA]
|
||||
|
||||
# vid + mid link
|
||||
RewriteCond %{SCRIPT_FILENAME} !-d
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/?$ ./index.php?vid=$1&mid=$2 [L,QSA]
|
||||
# vid + mid + document link
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)$ ./index.php?vid=$1&mid=$2&document_srl=$3 [L,QSA]
|
||||
|
||||
# mid + entry title
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/entry/(.+)$ ./index.php?mid=$1&entry=$2 [L,QSA]
|
||||
# vid + mid + entry title
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/entry/(.+)$ ./index.php?vid=$1&mid=$2&entry=$3 [L,QSA]
|
||||
|
||||
#shop / vid / [category|product] / identifier
|
||||
RewriteCond %{SCRIPT_FILENAME} !-f
|
||||
RewriteRule ^([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-zA-Z0-9_\.-]+)$ ./index.php?act=route&vid=$1&type=$2&identifier=$3 [L,QSA]
|
||||
|
|
|
|||
29
Gruntfile.js
29
Gruntfile.js
|
|
@ -2,7 +2,7 @@ module.exports = function(grunt) {
|
|||
"use strict";
|
||||
|
||||
var banner = '/*! Copyright (C) NAVER <http://www.navercorp.com> */\n';
|
||||
var banner_xe_js = banner + '/**!\n * @file common.js + js_app.js + xml_handler.js + xml_js_filter.js\n * @brief XE Common JavaScript\n **/\n';
|
||||
var banner_xe_js = banner + '/**!\n * @concat modernizr.js + common.js + js_app.js + xml_handler.js + xml_js_filter.js\n * @brief XE Common JavaScript\n **/\n';
|
||||
|
||||
grunt.file.defaultEncoding = 'utf8';
|
||||
|
||||
|
|
@ -22,6 +22,7 @@ module.exports = function(grunt) {
|
|||
banner: banner_xe_js
|
||||
},
|
||||
src: [
|
||||
'common/js/modernizr.js',
|
||||
'common/js/common.js',
|
||||
'common/js/js_app.js',
|
||||
'common/js/xml_handler.js',
|
||||
|
|
@ -32,7 +33,7 @@ module.exports = function(grunt) {
|
|||
'xpresseditor': {
|
||||
options: {
|
||||
stripBanners: true,
|
||||
banner: banner_xe_js
|
||||
banner: '/**!\n * @concat Xpress_Editor.js + xe_interface.js \n **/\n'
|
||||
},
|
||||
src: [
|
||||
'modules/editor/skins/xpresseditor/js/Xpress_Editor.js',
|
||||
|
|
@ -44,13 +45,26 @@ module.exports = function(grunt) {
|
|||
uglify: {
|
||||
'common-js': {
|
||||
options: {
|
||||
banner: banner_xe_js
|
||||
banner: banner_xe_js,
|
||||
sourceMap: true
|
||||
},
|
||||
files: {
|
||||
'common/js/xe.min.js': ['common/js/xe.js']
|
||||
}
|
||||
},
|
||||
'handlebars': {
|
||||
options: {
|
||||
sourceMap: true
|
||||
},
|
||||
files: {
|
||||
'common/js/plugins/handlebars/handlebars.min.js': ['common/js/plugins/handlebars/handlebars.js'],
|
||||
'common/js/plugins/handlebars.runtime/handlebars.runtime.min.js': ['common/js/plugins/handlebars.runtime/handlebars.runtime.js'],
|
||||
}
|
||||
},
|
||||
'modules': {
|
||||
options: {
|
||||
sourceMap: true
|
||||
},
|
||||
files: {
|
||||
'common/js/x.min.js' : ['common/js/x.js'],
|
||||
// addon
|
||||
|
|
@ -145,7 +159,12 @@ module.exports = function(grunt) {
|
|||
jshint: {
|
||||
files: [
|
||||
'Gruntfile.js',
|
||||
'common/js/*.js', '!common/js/html5.js', '!common/js/jquery.js', '!common/js/x.js', '!common/js/xe.js',
|
||||
'common/js/*.js',
|
||||
'!common/js/html5.js',
|
||||
'!common/js/jquery.js',
|
||||
'!common/js/x.js',
|
||||
'!common/js/xe.js',
|
||||
'!common/js/modernizr.js',
|
||||
'modules/admin/tpl/js/*.js',
|
||||
'modules/board/tpl/js/*.js',
|
||||
'modules/editor/tpl/js/*.js',
|
||||
|
|
@ -305,7 +324,7 @@ module.exports = function(grunt) {
|
|||
// changed
|
||||
grunt.util.spawn({
|
||||
cmd: "git",
|
||||
args: ['diff', '--name-only', target]
|
||||
args: ['diff', '--name-only', '--diff-filter' ,'ACM', target]
|
||||
}, function (error, result, code) {
|
||||
diff = result.stdout;
|
||||
|
||||
|
|
|
|||
1
addons/captcha/captcha.min.js
vendored
1
addons/captcha/captcha.min.js
vendored
File diff suppressed because one or more lines are too long
1
addons/captcha/captcha.min.map
Normal file
1
addons/captcha/captcha.min.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"captcha.min.js","sources":["captcha.js"],"names":["calledArgs","$","xeCaptcha","each","i","isSubmitHook","this","attr","indexOf","act","find","val","captchaTargetAct","length","append","current_url","submit","event","preventDefault","self","e","focus","params","Array","current_mid","window","oldExecXml","captchaXE","show","document","body","fc_isIE","navigator","appVersion","fc_isWin","toLowerCase","fc_isOpera","userAgent","_swfURL_","request_uri","_object_","appendTo","top_left","screen","width","$div","click","hide","swf","audio","setQuery","Date","getTime","setSoundTarget","exec","module","callback_func","response_tags","callback_func_arg","fo_obj","doCheck","key","compare","ret_obj","html","css","ready","exec_xml","jQuery"],"mappings":"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"}
|
||||
1
addons/captcha_member/captcha.min.js
vendored
1
addons/captcha_member/captcha.min.js
vendored
File diff suppressed because one or more lines are too long
1
addons/captcha_member/captcha.min.map
Normal file
1
addons/captcha_member/captcha.min.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"captcha.min.js","sources":["captcha.js"],"names":["calledArgs","$","xeCaptcha","each","i","isSubmitHook","this","attr","indexOf","act","find","val","captchaTargetAct","length","append","current_url","submit","event","preventDefault","self","e","focus","params","Array","current_mid","window","oldExecXml","captchaXE","show","document","body","fc_isIE","navigator","appVersion","fc_isWin","toLowerCase","fc_isOpera","userAgent","_swfURL_","request_uri","_object_","appendTo","top_left","screen","width","$div","click","hide","swf","audio","setQuery","Date","getTime","setSoundTarget","exec","module","callback_func","response_tags","callback_func_arg","fo_obj","doCheck","key","compare","ret_obj","html","css","ready","exec_xml","jQuery"],"mappings":"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"}
|
||||
1
addons/oembed/jquery.oembed.min.js
vendored
1
addons/oembed/jquery.oembed.min.js
vendored
File diff suppressed because one or more lines are too long
1
addons/oembed/jquery.oembed.min.map
Normal file
1
addons/oembed/jquery.oembed.min.map
Normal file
File diff suppressed because one or more lines are too long
1
addons/oembed/oembed.min.js
vendored
1
addons/oembed/oembed.min.js
vendored
|
|
@ -1 +1,2 @@
|
|||
!function(a){var b="(https?|ftp|news|telnet|irc|mms)://",c="(?:[\\w\\-]+\\.)+(?:[a-z]+)",d="(?:1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9]?[0-9])",e="(?:"+d+"\\.){3}"+d,f="(?::([0-9]+))?",g="(?:/~[\\w-]+)?",h='((?:/[\\w!"$-/:-@]+)*)',i="(?:#([\\w!-@]+))?",j=new RegExp("("+b+"("+c+"|"+e+"|localhost)"+f+g+h+i+")","ig"),k=xe.createPlugin("OEmbed",{targets:[],init:function(){this.targets=[],this.enableAutoLink=!1,this.castedOembedA=!1,this.embedSetting=[]},API_ONREADY:function(){var b=this;this.extractTargets(a(".xe_content")),this.oApp.getPlugin("autolink").length&&(this.enableAutoLink=!0),b.cast("OEMBEDA"),this.enableAutoLink||a(this.targets).each(function(){b.cast("OEMBED",[this])})},API_BEFORE_AUTOLINK:function(){var a=this;a.cast("OEMBEDA")},API_AFTER_AUTOLINK:function(a,b){this.oembed(b[0])},API_OEMBED:function(b,c){if(!this.enableAutoLink){var d=c[0];if(!a(d).parent().length||"a"==a(d).parent().get(0).nodeName.toLowerCase())return void this.oembed(a(d));var e=d.nodeValue,f=a("<span>");e=e.replace(/</g,"<").replace(/>/g,">"),e=e.replace(j,'<a href="$1" target="_blank">$1</a>'),a(d).before(f),a(d).replaceWith(e),c[0]=f.next("a"),f.remove(),this.oembed(c[0])}},API_OEMBEDA:function(){if(!this.castedOembedA){var b=this;this.castedOembedA=!0,a(".read_body a").not("_oembed").each(function(){b.oembed(a(this))})}},oembed:function(b){var c=this;this.embedSetting.maxWidth||(this.embedSetting.maxWidth=a(".xe_content").width()),b&&(b&&3==b.nodeType&&(b=a(b)),b.oembed(null,c.embedSetting).addClass("_oembed"))},extractTargets:function(b){var c=this,d=a(".xe_content",b);return d.length?void this.extractTargets(d):void a(b).contents().each(function(){var b=this.nodeName.toLowerCase();if(-1==a.inArray(b,["a","pre","xml","textarea","input","select","option","code","script","style","iframe","button","img","embed","object","ins"]))if(j.exec(""),3==this.nodeType){var d=this.nodeValue;if(d.length<5)return;if(!/(http|https|ftp|news|telnet|irc|mms):\/\//i.test(d))return;c.targets.push(this)}else c.extractTargets(this)})}});xe.registerPlugin(new k)}(jQuery);
|
||||
//# sourceMappingURL=oembed.min.map
|
||||
1
addons/oembed/oembed.min.map
Normal file
1
addons/oembed/oembed.min.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"oembed.min.js","sources":["oembed.js"],"names":["$","protocol_re","domain_re","max_255_re","ip_re","port_re","user_re","path_re","hash_re","url_regex","RegExp","OEmbed","xe","createPlugin","targets","init","this","enableAutoLink","castedOembedA","embedSetting","API_ONREADY","thisPlugin","extractTargets","oApp","getPlugin","length","cast","each","API_BEFORE_AUTOLINK","API_AFTER_AUTOLINK","oSender","params","oembed","API_OEMBED","textNode","parent","get","nodeName","toLowerCase","content","nodeValue","dummy","replace","before","replaceWith","next","remove","API_OEMBEDA","not","target","maxWidth","width","nodeType","addClass","obj","wrap","contents","node_name","inArray","exec","test","push","registerPlugin","jQuery"],"mappings":"CAKA,SAAUA,GACT,GAAIC,GAAc,sCACdC,EAAc,8BACdC,EAAc,gDACdC,EAAc,MAAMD,EAAW,UAAUA,EACzCE,EAAc,iBACdC,EAAc,iBACdC,EAAc,yBACdC,EAAc,oBAEdC,EAAY,GAAIC,QAAO,IAAIT,EAAY,IAAIC,EAAU,IAAIE,EAAM,cAAiBC,EAAQC,EAAQC,EAAQC,EAAQ,IAAK,MAErHG,EAASC,GAAGC,aAAa,UAC5BC,WACAC,KAAO,WACNC,KAAKF,WACLE,KAAKC,gBAAiB,EACtBD,KAAKE,eAAgB,EACrBF,KAAKG,iBAGNC,YAAc,WACb,GAAIC,GAAaL,IAGjBA,MAAKM,eAAetB,EAAE,gBAEnBgB,KAAKO,KAAKC,UAAU,YAAYC,SAElCT,KAAKC,gBAAiB,GAEvBI,EAAWK,KAAK,WAEZV,KAAKC,gBAERjB,EAAEgB,KAAKF,SAASa,KAAK,WACpBN,EAAWK,KAAK,UAAWV,UAI9BY,oBAAsB,WACrB,GAAIP,GAAaL,IACjBK,GAAWK,KAAK,YAEjBG,mBAAqB,SAASC,EAASC,GACtCf,KAAKgB,OAAOD,EAAO,KAEpBE,WAAa,SAASH,EAASC,GAC9B,IAAGf,KAAKC,eAAR,CACA,GAEIiB,GAAWH,EAAO,EACtB,KAAI/B,EAAEkC,GAAUC,SAASV,QAAgE,KAAtDzB,EAAEkC,GAAUC,SAASC,IAAI,GAAGC,SAASC,cAGvE,WADAtB,MAAKgB,OAAOhC,EAAEkC,GAGf,IAAIK,GAAWL,EAASM,UACpBC,EAAWzC,EAAE,SAEjBuC,GAAUA,EAAQG,QAAQ,KAAM,QAAQA,QAAQ,KAAM,QACtDH,EAAUA,EAAQG,QAAQjC,EAAW,uCAErCT,EAAEkC,GAAUS,OAAOF,GACnBzC,EAAEkC,GAAUU,YAAYL,GACxBR,EAAO,GAAKU,EAAMI,KAAK,KACvBJ,EAAMK,SAEN9B,KAAKgB,OAAOD,EAAO,MAEpBgB,YAAc,WACb,IAAG/B,KAAKE,cAAR,CACA,GAAIG,GAAaL,IAEjBA,MAAKE,eAAgB,EAErBlB,EAAE,gBAAgBgD,IAAI,WAAWrB,KAAK,WACrCN,EAAWW,OAAOhC,EAAEgB,WAGtBgB,OAAS,SAASiB,GACjB,GAAI5B,GAAaL,IAEbA,MAAKG,aAAa+B,WAErBlC,KAAKG,aAAa+B,SAAWlD,EAAE,eAAemD,SAG3CF,IACDA,GAA6B,GAAnBA,EAAOG,WAAeH,EAASjD,EAAEiD,IAE9CA,EAAOjB,OAAO,KAAMX,EAAWF,cAAckC,SAAS,aAEvD/B,eAAiB,SAASgC,GACzB,GAAIjC,GAAaL,KACbuC,EAAOvD,EAAE,cAAesD,EAC5B,OAAGC,GAAK9B,WACPT,MAAKM,eAAeiC,OAIrBvD,GAAEsD,GACDE,WACA7B,KAAK,WACL,GAAI8B,GAAYzC,KAAKqB,SAASC,aAC9B,IAAyK,IAAtKtC,EAAE0D,QAAQD,GAAY,IAAK,MAAO,MAAO,WAAY,QAAS,SAAU,SAAU,OAAQ,SAAU,QAAS,SAAU,SAAU,MAAO,QAAS,SAAU,QAK9J,GAFAhD,EAAUkD,KAAK,IAEK,GAAjB3C,KAAKoC,SAAe,CACtB,GAAIb,GAAUvB,KAAKwB,SAEnB,IAAGD,EAAQd,OAAS,EAAG,MAEvB,KAAI,6CAA6CmC,KAAKrB,GAAU,MAEhElB,GAAWP,QAAQ+C,KAAK7C,UAExBK,GAAWC,eAAeN,UAM9BJ,IAAGkD,eAAe,GAAInD,KACpBoD"}
|
||||
|
|
@ -98,7 +98,8 @@ function getScreen() {
|
|||
;
|
||||
|
||||
// 이미지 홀더
|
||||
imgframe = $("<img>")
|
||||
imgframe = $(new Image());
|
||||
imgframe
|
||||
.attr("id", "xe_gallery_holder")
|
||||
.css({
|
||||
border: '5px solid white',
|
||||
|
|
@ -111,6 +112,15 @@ function getScreen() {
|
|||
|
||||
body.append(xScreen).append(controls);
|
||||
|
||||
imgframe.live('load', function(){
|
||||
var clientWidth = $(window).width();
|
||||
var clientHeight = $(window).height();
|
||||
imgframe.css({
|
||||
left : clientWidth/2 - imgframe.width()/2 + "px",
|
||||
top : clientHeight/2 - imgframe.height()/2 + "px"
|
||||
});
|
||||
});
|
||||
|
||||
// xScreen 객체를 확장한다.
|
||||
xScreen.xeShow = function() {
|
||||
var clientWidth = $(window).width();
|
||||
|
|
@ -143,10 +153,15 @@ function getScreen() {
|
|||
//textyle 이미지 리사이즈 처리
|
||||
var src = this.list.eq(this.index).attr("rawsrc");
|
||||
if(!src) src = this.list.eq(this.index).attr("src");
|
||||
imgframe.attr("src", src).css({
|
||||
|
||||
imgframe.attr("src", src).removeAttr('width').removeAttr('height');
|
||||
if(imgframe.width() > 0) {
|
||||
imgframe.css({
|
||||
left : clientWidth/2 - imgframe.width()/2 + "px",
|
||||
top : clientHeight/2 - imgframe.height()/2 + "px"
|
||||
});
|
||||
}
|
||||
|
||||
closebtn.css({
|
||||
left : clientWidth/2 - 32 + "px",
|
||||
top : "10px"
|
||||
|
|
|
|||
3
addons/resize_image/js/resize_image.min.js
vendored
3
addons/resize_image/js/resize_image.min.js
vendored
|
|
@ -1 +1,2 @@
|
|||
!function(a){function b(){var b,c,e,f,g,h=a(document.body);return d?(b=a("#xe_gallery_controls"),c=a("#xe_gallery_holder"),e=a("#xe_gallery_closebtn"),f=a("#xe_gallery_prevbtn"),g=a("#xe_gallery_nextbtn")):(d=a("<div>").attr("id","xe_gallery_screen").css({position:"fixed",display:"none",backgroundColor:"black",zIndex:500,opacity:.7}),b=a("<div>").attr("id","xe_gallery_controls").css({position:"fixed",display:"none",overflow:"hidden",zIndex:510}),f=a('<button type="button" id="xe_gallery_prevbtn" />').css({left:"10px",backgroundPosition:"0 -64px"}).click(function(){d.xePrev()}).appendTo(b),e=a('<button type="button" id="xe_gallery_closebtn" />').css({top:"10px",backgroundPosition:"0 0"}).click(function(){d.xeHide()}).appendTo(b),g=a('<button type="button" id="xe_gallery_nextbtn" />').attr("id","xe_gallery_nextbtn").css({right:"10px",backgroundPosition:"0 -128px"}).click(function(){d.xeNext()}).appendTo(b),b.find(">button").css({position:"absolute",width:"64px",height:"64px",zIndex:530,cursor:"pointer",border:0,margin:0,padding:0,backgroundColor:"transparent",backgroundImage:"url("+request_uri+"addons/resize_image/btn.png)",backgroundRepeat:"no-repeat",opacity:".5",filter:"alpha(opacity=50)"}).mouseover(function(){a(this).css({opacity:"1",filter:"alpha(opacity=100)"})}).mouseout(function(){a(this).css({opacity:".5",filter:"alpha(opacity=50)"})}).focus(function(){a(this).trigger("mouseover")}).blur(function(){a(this).trigger("mouseout")}),c=a("<img>").attr("id","xe_gallery_holder").css({border:"5px solid white",zindex:520,maxWidth:"none",borderRadius:"5px",boxShadow:"0 0 10px #000"}).appendTo(b).draggable(),h.append(d).append(b),d.xeShow=function(){var b=(a(window).width(),a(window).height());a("#xe_gallery_controls,#xe_gallery_screen").show().css({top:0,right:0,bottom:0,left:0}),a("#xe_gallery_prevbtn,#xe_gallery_nextbtn").css("top",Math.round(b/2-32)+"px"),this.xeMove(0)},d.xeHide=function(){d.hide(),b.hide()},d.xePrev=function(){this.xeMove(-1)},d.xeNext=function(){this.xeMove(1)},d.xeMove=function(b){var d=a(window).width(),h=a(window).height();this.index+=b,f.css("visibility",this.index>0?"visible":"hidden"),g.css("visibility",this.index<this.list.size()-1?"visible":"hidden");var i=this.list.eq(this.index).attr("rawsrc");i||(i=this.list.eq(this.index).attr("src")),c.attr("src",i).css({left:d/2-c.width()/2+"px",top:h/2-c.height()/2+"px"}),e.css({left:d/2-32+"px",top:"10px"}).focus()},a(document).keydown(function(a){return 27==a.which?(d.xeHide(),!1):!0})),d}function c(){var c=a(this).closest(".xe_content"),d=c.find("img[rel=xe_gallery]"),e=a.inArray(a(this).get(0),d.get()),f=b();f.list=d,f.index=e,f.xeShow()}var d=null;a(window).load(function(){function b(a,c){if(c||(c=0),!(c>=10)){var d=this,e={width:d.width(),height:d.height()};if(!e.width||!e.height)return void setTimeout(function(){b.call(d,a,++c)},200);if(!(e.width<=a)){var f=a/e.width;d.removeAttr("width").removeAttr("height").css({width:a,height:parseInt(e.height*f,10)})}}}var d=/(?:(modules|addons|classes|common|layouts|libs|widgets|widgetstyles)\/)/i,e=/(?:common\/tpl\/images\/blank\.gif$)/i,f=a('<div style="height:1px;overflow:hidden;opacity:0;display:block;clear:both"></div>');a(".xe_content").each(function(){var g=f.appendTo(this).width();f.remove(),g&&(a("img",this).each(function(){var c=a(this),f=c.attr("src");(!d.test(f)||e.test(f))&&(c.attr("rel","xe_gallery"),b.call(c,g))}),a("img[rel=xe_gallery]",this).live("mouseover",function(){var b=a(this);b.parent("a").length||b.attr("onclick")||b.css("cursor","pointer").click(c)}))})})}(jQuery);
|
||||
!function(a){function b(){var b,c,e,f,g,h=a(document.body);return d?(b=a("#xe_gallery_controls"),c=a("#xe_gallery_holder"),e=a("#xe_gallery_closebtn"),f=a("#xe_gallery_prevbtn"),g=a("#xe_gallery_nextbtn")):(d=a("<div>").attr("id","xe_gallery_screen").css({position:"fixed",display:"none",backgroundColor:"black",zIndex:500,opacity:.7}),b=a("<div>").attr("id","xe_gallery_controls").css({position:"fixed",display:"none",overflow:"hidden",zIndex:510}),f=a('<button type="button" id="xe_gallery_prevbtn" />').css({left:"10px",backgroundPosition:"0 -64px"}).click(function(){d.xePrev()}).appendTo(b),e=a('<button type="button" id="xe_gallery_closebtn" />').css({top:"10px",backgroundPosition:"0 0"}).click(function(){d.xeHide()}).appendTo(b),g=a('<button type="button" id="xe_gallery_nextbtn" />').attr("id","xe_gallery_nextbtn").css({right:"10px",backgroundPosition:"0 -128px"}).click(function(){d.xeNext()}).appendTo(b),b.find(">button").css({position:"absolute",width:"64px",height:"64px",zIndex:530,cursor:"pointer",border:0,margin:0,padding:0,backgroundColor:"transparent",backgroundImage:"url("+request_uri+"addons/resize_image/btn.png)",backgroundRepeat:"no-repeat",opacity:".5",filter:"alpha(opacity=50)"}).mouseover(function(){a(this).css({opacity:"1",filter:"alpha(opacity=100)"})}).mouseout(function(){a(this).css({opacity:".5",filter:"alpha(opacity=50)"})}).focus(function(){a(this).trigger("mouseover")}).blur(function(){a(this).trigger("mouseout")}),c=a(new Image),c.attr("id","xe_gallery_holder").css({border:"5px solid white",zindex:520,maxWidth:"none",borderRadius:"5px",boxShadow:"0 0 10px #000"}).appendTo(b).draggable(),h.append(d).append(b),c.live("load",function(){var b=a(window).width(),d=a(window).height();c.css({left:b/2-c.width()/2+"px",top:d/2-c.height()/2+"px"})}),d.xeShow=function(){var b=(a(window).width(),a(window).height());a("#xe_gallery_controls,#xe_gallery_screen").show().css({top:0,right:0,bottom:0,left:0}),a("#xe_gallery_prevbtn,#xe_gallery_nextbtn").css("top",Math.round(b/2-32)+"px"),this.xeMove(0)},d.xeHide=function(){d.hide(),b.hide()},d.xePrev=function(){this.xeMove(-1)},d.xeNext=function(){this.xeMove(1)},d.xeMove=function(b){var d=a(window).width(),h=a(window).height();this.index+=b,f.css("visibility",this.index>0?"visible":"hidden"),g.css("visibility",this.index<this.list.size()-1?"visible":"hidden");var i=this.list.eq(this.index).attr("rawsrc");i||(i=this.list.eq(this.index).attr("src")),c.attr("src",i).removeAttr("width").removeAttr("height"),c.width()>0&&c.css({left:d/2-c.width()/2+"px",top:h/2-c.height()/2+"px"}),e.css({left:d/2-32+"px",top:"10px"}).focus()},a(document).keydown(function(a){return 27==a.which?(d.xeHide(),!1):!0})),d}function c(){var c=a(this).closest(".xe_content"),d=c.find("img[rel=xe_gallery]"),e=a.inArray(a(this).get(0),d.get()),f=b();f.list=d,f.index=e,f.xeShow()}var d=null;a(window).load(function(){function b(a,c){if(c||(c=0),!(c>=10)){var d=this,e={width:d.width(),height:d.height()};if(!e.width||!e.height)return void setTimeout(function(){b.call(d,a,++c)},200);if(!(e.width<=a)){var f=a/e.width;d.removeAttr("width").removeAttr("height").css({width:a,height:parseInt(e.height*f,10)})}}}var d=/(?:(modules|addons|classes|common|layouts|libs|widgets|widgetstyles)\/)/i,e=/(?:common\/tpl\/images\/blank\.gif$)/i,f=a('<div style="height:1px;overflow:hidden;opacity:0;display:block;clear:both"></div>');a(".xe_content").each(function(){var g=f.appendTo(this).width();f.remove(),g&&(a("img",this).each(function(){var c=a(this),f=c.attr("src");(!d.test(f)||e.test(f))&&(c.attr("rel","xe_gallery"),b.call(c,g))}),a("img[rel=xe_gallery]",this).live("mouseover",function(){var b=a(this);b.parent("a").length||b.attr("onclick")||b.css("cursor","pointer").click(c)}))})})}(jQuery);
|
||||
//# sourceMappingURL=resize_image.min.map
|
||||
1
addons/resize_image/js/resize_image.min.map
Normal file
1
addons/resize_image/js/resize_image.min.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"resize_image.min.js","sources":["resize_image.js"],"names":["$","getScreen","controls","imgframe","closebtn","prevbtn","nextbtn","body","document","xScreen","attr","css","position","display","backgroundColor","zIndex","opacity","overflow","left","backgroundPosition","click","xePrev","appendTo","top","xeHide","right","xeNext","find","width","height","cursor","border","margin","padding","backgroundImage","request_uri","backgroundRepeat","filter","mouseover","this","mouseout","focus","trigger","blur","Image","zindex","maxWidth","borderRadius","boxShadow","draggable","append","live","clientWidth","window","clientHeight","xeShow","show","bottom","Math","round","xeMove","hide","val","index","list","size","src","eq","removeAttr","keydown","e","which","slideshow","container","closest","imglist","currentIdx","inArray","get","load","doResize","contentWidth","count","$img","beforSize","setTimeout","call","resize_ratio","parseInt","regx_skip","regx_allow_i6pngfix","dummy","each","remove","imgSrc","test","parent","length","jQuery"],"mappings":"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"}
|
||||
|
|
@ -2,14 +2,16 @@
|
|||
/* Copyright (C) NAVER <http://www.navercorp.com> */
|
||||
|
||||
if(!defined('__XE__'))
|
||||
{
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* @file resize_image.addon.php
|
||||
* @author NAVER (developers@xpressengine.com)
|
||||
* @brief Add-on to resize images in the body
|
||||
*/
|
||||
if($called_position == 'after_module_proc' && (Context::getResponseMethod() == "HTML" || !isCrawler()))
|
||||
if($called_position == 'after_module_proc' && Context::getResponseMethod() == "HTML" && !isCrawler())
|
||||
{
|
||||
if(Mobile::isFromMobilePhone())
|
||||
{
|
||||
|
|
|
|||
|
|
@ -242,18 +242,9 @@ class Context
|
|||
}
|
||||
}
|
||||
|
||||
// check if using rewrite module
|
||||
$this->allow_rewrite = ($this->db_info->use_rewrite == 'Y' ? TRUE : FALSE);
|
||||
|
||||
// If XE is installed, get virtual site information
|
||||
if(self::isInstalled())
|
||||
{
|
||||
// If using rewrite module, initializes router
|
||||
if($this->allow_rewrite)
|
||||
{
|
||||
Router::proc();
|
||||
}
|
||||
|
||||
$oModuleModel = getModel('module');
|
||||
$site_module_info = $oModuleModel->getDefaultMid();
|
||||
|
||||
|
|
@ -372,6 +363,9 @@ class Context
|
|||
$this->lang = &$GLOBALS['lang'];
|
||||
$this->loadLang(_XE_PATH_ . 'common/lang/');
|
||||
|
||||
// check if using rewrite module
|
||||
$this->allow_rewrite = ($this->db_info->use_rewrite == 'Y' ? TRUE : FALSE);
|
||||
|
||||
// set locations for javascript use
|
||||
if($_SERVER['REQUEST_METHOD'] == 'GET')
|
||||
{
|
||||
|
|
@ -486,10 +480,8 @@ class Context
|
|||
$db_info->use_ssl = 'none';
|
||||
$this->set('_use_ssl', $db_info->use_ssl);
|
||||
|
||||
if($db_info->http_port)
|
||||
$self->set('_http_port', $db_info->http_port);
|
||||
if($db_info->https_port)
|
||||
$self->set('_https_port', $db_info->https_port);
|
||||
$self->set('_http_port', ($db_info->http_port) ? $db_info->http_port : NULL);
|
||||
$self->set('_https_port', ($db_info->https_port) ? $db_info->https_port : NULL);
|
||||
|
||||
if(!$db_info->sitelock_whitelist) {
|
||||
$db_info->sitelock_whitelist = '127.0.0.1';
|
||||
|
|
@ -1121,7 +1113,7 @@ class Context
|
|||
{
|
||||
is_a($this, 'Context') ? $self = $this : $self = self::getInstance();
|
||||
|
||||
$self->js_callback_func = isset($_GET['xe_js_callback']) ? $_GET['xe_js_callback'] : $_POST['xe_js_callback'];
|
||||
$self->js_callback_func = $self->getJSCallbackFunc();
|
||||
|
||||
($type && $self->request_method = $type) or
|
||||
(strpos($_SERVER['CONTENT_TYPE'], 'json') && $self->request_method = 'JSON') or
|
||||
|
|
@ -1252,19 +1244,75 @@ class Context
|
|||
$xml_obj = $oXml->parse();
|
||||
|
||||
$params = $xml_obj->methodcall->params;
|
||||
unset($params->node_name, $params->attrs);
|
||||
unset($params->node_name, $params->attrs, $params->body);
|
||||
|
||||
if(!count($params))
|
||||
if(!count(get_object_vars($params)))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
foreach($params as $key => $obj)
|
||||
foreach($params as $key => $val)
|
||||
{
|
||||
$this->set($key, $this->_filterRequestVar($key, $obj->body, 0), TRUE);
|
||||
$this->set($key, $this->_filterXmlVars($key, $val), TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter xml variables
|
||||
*
|
||||
* @param string $key Variable key
|
||||
* @param object $val Variable value
|
||||
* @return mixed filtered value
|
||||
*/
|
||||
function _filterXmlVars($key, $val)
|
||||
{
|
||||
if(is_array($val))
|
||||
{
|
||||
$stack = array();
|
||||
foreach($val as $k => $v)
|
||||
{
|
||||
$stack[$k] = $this->_filterXmlVars($k, $v);
|
||||
}
|
||||
|
||||
return $stack;
|
||||
}
|
||||
|
||||
$body = $this->_filterRequestVar($key, trim($val->body ? $val->body : ''), 0);
|
||||
if($body)
|
||||
{
|
||||
return $body;
|
||||
}
|
||||
|
||||
unset($val->node_name, $val->attrs, $val->body);
|
||||
if(!count(get_object_vars($val)))
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
$stack = new stdClass();
|
||||
foreach($val as $k => $v)
|
||||
{
|
||||
$output = $this->_filterXmlVars($k, $v);
|
||||
if(is_object($v) && $v->attrs->type == 'array')
|
||||
{
|
||||
$output = array($output);
|
||||
}
|
||||
if($k == 'value' && (is_array($v) || $v->attrs->type == 'array'))
|
||||
{
|
||||
return $output;
|
||||
}
|
||||
|
||||
$stack->{$k} = $output;
|
||||
}
|
||||
|
||||
if(!count(get_object_vars($stack)))
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return $stack;
|
||||
}
|
||||
|
||||
/**
|
||||
* Filter request variable
|
||||
*
|
||||
|
|
@ -1289,10 +1337,14 @@ class Context
|
|||
{
|
||||
$result[$k] = !preg_match('/^[0-9,]+$/', $v) ? (int) $v : $v;
|
||||
}
|
||||
elseif($key === 'mid' || $key === 'vid' || $key === 'search_keyword')
|
||||
elseif($key === 'mid' || $key === 'search_keyword')
|
||||
{
|
||||
$result[$k] = htmlspecialchars($v, ENT_COMPAT | ENT_HTML401, 'UTF-8', FALSE);
|
||||
}
|
||||
elseif($key === 'vid')
|
||||
{
|
||||
$result[$k] = urlencode($v);
|
||||
}
|
||||
else
|
||||
{
|
||||
$result[$k] = $v;
|
||||
|
|
@ -1406,7 +1458,16 @@ class Context
|
|||
function getJSCallbackFunc()
|
||||
{
|
||||
is_a($this, 'Context') ? $self = $this : $self = self::getInstance();
|
||||
return $self->js_callback_func;
|
||||
$js_callback_func = isset($_GET['xe_js_callback']) ? $_GET['xe_js_callback'] : $_POST['xe_js_callback'];
|
||||
|
||||
if(!preg_match('/^[a-z0-9\.]+$/i', $js_callback_func))
|
||||
{
|
||||
unset($js_callback_func);
|
||||
unset($_GET['xe_js_callback']);
|
||||
unset($_POST['xe_js_callback']);
|
||||
}
|
||||
|
||||
return $js_callback_func;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1570,9 +1631,7 @@ class Context
|
|||
'act.document_srl.key.mid.vid' => ($act == 'trackback') ? "$vid/$mid/$srl/$key/$act" : ''
|
||||
);
|
||||
|
||||
Router::setMap($target_map);
|
||||
|
||||
$query = Router::makePrettyUrl($target);
|
||||
$query = $target_map[$target];
|
||||
}
|
||||
|
||||
if(!$query)
|
||||
|
|
@ -1608,7 +1667,7 @@ class Context
|
|||
}
|
||||
elseif($_use_ssl == 'optional')
|
||||
{
|
||||
$ssl_mode = ($get_vars['act'] && $self->isExistsSSLAction($get_vars['act'])) ? ENFORCE_SSL : RELEASE_SSL;
|
||||
$ssl_mode = (($self->get('module') === 'admin') || ($get_vars['module'] === 'admin') || (isset($get_vars['act']) && $self->isExistsSSLAction($get_vars['act']))) ? ENFORCE_SSL : RELEASE_SSL;
|
||||
$query = $self->getRequestUri($ssl_mode, $domain) . $query;
|
||||
// no SSL
|
||||
}
|
||||
|
|
|
|||
|
|
@ -126,6 +126,8 @@ class DisplayHandler extends Handler
|
|||
|
||||
// call a trigger after display
|
||||
ModuleHandler::triggerCall('display', 'after', $output);
|
||||
|
||||
flushSlowlog();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -219,8 +219,8 @@ class HTMLDisplayHandler
|
|||
|
||||
// set icon
|
||||
$oAdminModel = getAdminModel('admin');
|
||||
$favicon_url = $oAdminModel->getFaviconUrl();
|
||||
$mobicon_url = $oAdminModel->getMobileIconUrl();
|
||||
$favicon_url = $oAdminModel->getFaviconUrl(false);
|
||||
$mobicon_url = $oAdminModel->getMobileIconUrl(false);
|
||||
Context::set('favicon_url', $favicon_url);
|
||||
Context::set('mobicon_url', $mobicon_url);
|
||||
|
||||
|
|
@ -398,6 +398,7 @@ class HTMLDisplayHandler
|
|||
{
|
||||
$oContext->loadFile(array('./common/js/jquery-1.x.js', 'head', 'lt IE 9', -111000), true);
|
||||
$oContext->loadFile(array('./common/js/jquery.js', 'head', 'gte IE 9', -110000), true);
|
||||
$oContext->loadFile(array('./common/js/modernizr.js', 'head', '', -100000), true);
|
||||
$oContext->loadFile(array('./common/js/x.js', 'head', '', -100000), true);
|
||||
$oContext->loadFile(array('./common/js/common.js', 'head', '', -100000), true);
|
||||
$oContext->loadFile(array('./common/js/js_app.js', 'head', '', -100000), true);
|
||||
|
|
@ -451,8 +452,8 @@ class HTMLDisplayHandler
|
|||
// add common JS/CSS files
|
||||
if(__DEBUG__ || !__XE_VERSION_STABLE__)
|
||||
{
|
||||
$oContext->loadFile(array('./common/js/jquery-1.x.js', 'head', 'lt IE 9', -111000), true);
|
||||
$oContext->loadFile(array('./common/js/jquery.js', 'head', 'gte IE 9', -110000), true);
|
||||
$oContext->loadFile(array('./common/js/jquery.js', 'head', '', -110000), true);
|
||||
$oContext->loadFile(array('./common/js/modernizr.js', 'head', '', -100000), true);
|
||||
$oContext->loadFile(array('./common/js/x.js', 'head', '', -100000), true);
|
||||
$oContext->loadFile(array('./common/js/common.js', 'head', '', -100000), true);
|
||||
$oContext->loadFile(array('./common/js/js_app.js', 'head', '', -100000), true);
|
||||
|
|
@ -463,8 +464,7 @@ class HTMLDisplayHandler
|
|||
}
|
||||
else
|
||||
{
|
||||
$oContext->loadFile(array('./common/js/jquery-1.x.min.js', 'head', 'lt IE 9', -111000), true);
|
||||
$oContext->loadFile(array('./common/js/jquery.min.js', 'head', 'gte IE 9', -110000), true);
|
||||
$oContext->loadFile(array('./common/js/jquery.min.js', 'head', '', -110000), true);
|
||||
$oContext->loadFile(array('./common/js/x.min.js', 'head', '', -100000), true);
|
||||
$oContext->loadFile(array('./common/js/xe.min.js', 'head', '', -100000), true);
|
||||
$oContext->loadFile(array('./common/css/xe.min.css', '', '', -1000000), true);
|
||||
|
|
|
|||
|
|
@ -138,7 +138,7 @@ class FileHandler
|
|||
* Write $buff into the specified file
|
||||
*
|
||||
* @param string $filename Path of target file
|
||||
* @param string $buff Content to be writeen
|
||||
* @param string $buff Content to be written
|
||||
* @param string $mode a(append) / w(write)
|
||||
* @return void
|
||||
*/
|
||||
|
|
@ -510,7 +510,7 @@ class FileHandler
|
|||
* @param int $timeout Connection timeout
|
||||
* @param string $method GET/POST
|
||||
* @param string $content_type Content type header of HTTP request
|
||||
* @param string[] $headers Headers key vaule array.
|
||||
* @param string[] $headers Headers key value array.
|
||||
* @param string[] $cookies Cookies key value array.
|
||||
* @param string $post_data Request arguments array for POST method
|
||||
* @return string If success, the content of the target file. Otherwise: none
|
||||
|
|
@ -612,12 +612,12 @@ class FileHandler
|
|||
* @param string $timeout Connection timeout
|
||||
* @param string $method GET/POST
|
||||
* @param string $content_type Content type header of HTTP request
|
||||
* @param string[] $headers Headers key vaule array.
|
||||
* @param string[] $headers Headers key value array.
|
||||
* @return bool TRUE: success, FALSE: failed
|
||||
*/
|
||||
function getRemoteFile($url, $target_filename, $body = null, $timeout = 3, $method = 'GET', $content_type = null, $headers = array())
|
||||
function getRemoteFile($url, $target_filename, $body = null, $timeout = 3, $method = 'GET', $content_type = null, $headers = array(), $cookies = array(), $post_data = array(), $request_config = array())
|
||||
{
|
||||
if(!($body = self::getRemoteResource($url, $body, $timeout, $method, $content_type, $headers)))
|
||||
if(!($body = self::getRemoteResource($url, $body, $timeout, $method, $content_type, $headers,$cookies,$post_data,$request_config)))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ class ModuleObject extends Object
|
|||
var $layout_path = ''; ///< a path of directory where layout files reside
|
||||
var $layout_file = ''; ///< name of layout file
|
||||
var $edited_layout_file = ''; ///< name of temporary layout files that is modified in an admin mode
|
||||
var $stop_proc = false; ///< a flag to indicating whether to stop the execution of code.
|
||||
var $stop_proc = FALSE; ///< a flag to indicating whether to stop the execution of code.
|
||||
var $module_config = NULL;
|
||||
var $ajaxRequestMethod = array('XMLRPC', 'JSON');
|
||||
var $gzhandler_enable = TRUE;
|
||||
|
|
@ -385,7 +385,7 @@ class ModuleObject extends Object
|
|||
if($this->stop_proc)
|
||||
{
|
||||
debugPrint($this->message, 'ERROR');
|
||||
return false;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// trigger call
|
||||
|
|
@ -394,7 +394,7 @@ class ModuleObject extends Object
|
|||
{
|
||||
$this->setError($triggerOutput->getError());
|
||||
$this->setMessage($triggerOutput->getMessage());
|
||||
return false;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// execute an addon(call called_position as before_module_proc)
|
||||
|
|
@ -444,7 +444,7 @@ class ModuleObject extends Object
|
|||
}
|
||||
else
|
||||
{
|
||||
return false;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// trigger call
|
||||
|
|
@ -453,7 +453,7 @@ class ModuleObject extends Object
|
|||
{
|
||||
$this->setError($triggerOutput->getError());
|
||||
$this->setMessage($triggerOutput->getMessage());
|
||||
return false;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// execute an addon(call called_position as after_module_proc)
|
||||
|
|
@ -469,7 +469,7 @@ class ModuleObject extends Object
|
|||
|
||||
if(!$output->toBool())
|
||||
{
|
||||
return false;
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
// execute api methos of the module if view action is and result is XMLRPC or JSON
|
||||
|
|
@ -484,8 +484,9 @@ class ModuleObject extends Object
|
|||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
/* End of file ModuleObject.class.php */
|
||||
/* Location: ./classes/module/ModuleObject.class.php */
|
||||
|
|
|
|||
|
|
@ -1,253 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* @file Router.class.php
|
||||
* @brief Parses URIs and determines routing
|
||||
* @author FunnyXE (admin@funnyxe.com)
|
||||
*/
|
||||
class Router
|
||||
{
|
||||
/**
|
||||
* URI Segments
|
||||
* @var array
|
||||
*/
|
||||
private static $segments = array();
|
||||
|
||||
/**
|
||||
* Routes
|
||||
* @var array
|
||||
*/
|
||||
private static $routes = array(
|
||||
// rss , blogAPI
|
||||
'(rss|atom)' => array('module' => 'rss', 'act' => '$1', '[L]' => TRUE),
|
||||
'([a-zA-Z0-9_]+)/(rss|atom|api)' => array('mid' => '$1', 'act' => '$2', '[L]' => TRUE),
|
||||
'([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/(rss|atom|api)' => array('vid' => '$1', 'mid' => '$2', 'act' => '$3', '[L]' => TRUE),
|
||||
// trackback
|
||||
'([0-9]+)/(.+)/trackback' => array('document_srl' => '$1', 'key' => '$2', 'act' => 'trackback', '[L]' => TRUE),
|
||||
'([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback' => array('mid' => '$1', 'document_srl' => '$2', 'key' => '$3', 'act' => 'trackback', '[L]' => TRUE),
|
||||
'([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)/(.+)/trackback' => array('vid' => '$1', 'mid' => '$2', 'document_srl' => '$3' , 'key' => '$4', 'act' => 'trackback', '[L]' => TRUE),
|
||||
// document_srl
|
||||
'([0-9]+)' => array('document_srl' => '$1', '[L]' => TRUE),
|
||||
// mid
|
||||
'([a-zA-Z0-9_]+)/?' => array('mid' => '$1', '[L]' => TRUE),
|
||||
// mid + document_srl
|
||||
'([a-zA-Z0-9_]+)/([0-9]+)' => array('mid' => '$1', 'document_srl' => '$2', '[L]' => TRUE),
|
||||
// vid + mid
|
||||
'([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/' => array('vid' => '$1', 'mid' => '$2', '[L]' => TRUE),
|
||||
// vid + mid + document_srl
|
||||
'([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([0-9]+)?' => array('vid' => '$1', 'mid' => '$2', 'document_srl' => '$3', '[L]' => TRUE),
|
||||
// mid + entry title
|
||||
'([a-zA-Z0-9_]+)/entry/(.+)' => array('mid' => '$1', 'entry' => '$2', '[L]' => TRUE),
|
||||
// vid + mid + entry title
|
||||
'([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/entry/(.+)' => array('vid' => '$1', 'mid' => '$2', 'entry' => '$3', '[L]' => TRUE),
|
||||
// shop / vid / [category|product] / identifier
|
||||
'([a-zA-Z0-9_]+)/([a-zA-Z0-9_]+)/([a-zA-Z0-9_\.-]+)' => array('act' => 'route', 'vid' => '$1', 'type' => '$2', 'identifier'=> '$3', '[L]' => TRUE)
|
||||
);
|
||||
|
||||
/**
|
||||
* Rewrite map
|
||||
* @var array
|
||||
*/
|
||||
private static $rewrite_map = array();
|
||||
|
||||
/**
|
||||
* @brief Applys routes.
|
||||
* @see This function should be called only once
|
||||
* @return void
|
||||
*/
|
||||
public static function proc()
|
||||
{
|
||||
$uri = $_SERVER['REQUEST_URI'];
|
||||
|
||||
if (stripos($uri, $_SERVER['SCRIPT_NAME']) === 0)
|
||||
{
|
||||
$uri = substr($uri, strlen($_SERVER['SCRIPT_NAME']));
|
||||
}
|
||||
elseif (strpos($uri, dirname($_SERVER['SCRIPT_NAME'])) === 0)
|
||||
{
|
||||
$uri = substr($uri, strlen(dirname($_SERVER['SCRIPT_NAME'])));
|
||||
}
|
||||
|
||||
if ($uri == '/' || empty($uri))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// Get relative path from request uri
|
||||
$path = parse_url($uri, PHP_URL_PATH);
|
||||
|
||||
// Do some final cleaning of the URI and return it
|
||||
$path = str_replace(array('//', '../'), '/', trim($path, '/'));
|
||||
|
||||
if(strlen($path) > 0)
|
||||
{
|
||||
self::$segments = explode('/', $path);
|
||||
}
|
||||
|
||||
if(isset(self::$routes[$path]))
|
||||
{
|
||||
foreach(self::$routes[$path] as $key => $val)
|
||||
{
|
||||
if(strlen($val) > 0)
|
||||
{
|
||||
if(substr_compare($val, '$', 0, 1) == 0)
|
||||
{
|
||||
$segment_index = (int) substr($val, 1) - 1;
|
||||
if($segment_index < 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Context::set($key, self::$segments[$segment_index], TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
Context::set($key, $val, TRUE);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Context::set($key, '', TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$break = FALSE;
|
||||
|
||||
// Apply routes
|
||||
foreach(self::$routes as $regex => $query)
|
||||
{
|
||||
// Stop the routing proccess
|
||||
if($break)
|
||||
{
|
||||
break;
|
||||
}
|
||||
if(preg_match('#^' . $regex . '$#', $path, $matches))
|
||||
{
|
||||
foreach($query as $key => $val)
|
||||
{
|
||||
// If [L] keyword is defined
|
||||
if($key == '[L]')
|
||||
{
|
||||
// Stop the routing process and don't apply any more rules
|
||||
$break = TRUE;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(strlen($val) > 0)
|
||||
{
|
||||
if(substr($val, 0, 1) == '$')
|
||||
{
|
||||
$segment_index = (int) substr($val, 1) - 1;
|
||||
if($segment_index < 0)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
Context::set($key, self::$segments[$segment_index], TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
Context::set($key, $val, TRUE);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
Context::set($key, '', TRUE);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Add a rewrite map(s)
|
||||
* @param array $map
|
||||
* @return void
|
||||
*/
|
||||
public static function setMap($map)
|
||||
{
|
||||
self::$rewrite_map = array_merge(self::$rewrite_map, $map);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Add a route
|
||||
* @param string $target
|
||||
* @param array $query
|
||||
* @return void
|
||||
*/
|
||||
public static function add($target, $query)
|
||||
{
|
||||
self::$routes[$target] = $query;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Add multiple routes
|
||||
* @param array $routes
|
||||
* @return void
|
||||
*/
|
||||
public function adds($routes)
|
||||
{
|
||||
self::$routes = array_merge(self::$routes, $routes);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get segment from request uri
|
||||
* @param int $index
|
||||
* @return string
|
||||
*/
|
||||
public static function getSegment($index)
|
||||
{
|
||||
return self::$segments[$index - 1];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Get segment from request uri
|
||||
* @param int $index
|
||||
* @return string
|
||||
*/
|
||||
public static function getSegments()
|
||||
{
|
||||
return self::$segments;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get route info
|
||||
* @param string $regex
|
||||
* @return array
|
||||
*/
|
||||
public static function getRoute($regex)
|
||||
{
|
||||
return self::$routes[$regex];
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get routes list
|
||||
* @return array
|
||||
*/
|
||||
public static function getRoutes()
|
||||
{
|
||||
return self::$routes;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get routes list
|
||||
* @param string $regex
|
||||
* @return boolean
|
||||
*/
|
||||
public static function isExistsRoute($regex)
|
||||
{
|
||||
return isset(self::$routes[$regex]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Makes shortten url
|
||||
* @param string $regex
|
||||
* @return string
|
||||
*/
|
||||
public static function makePrettyUrl($regex)
|
||||
{
|
||||
return self::$rewrite_map[$regex];
|
||||
}
|
||||
}
|
||||
|
|
@ -14,19 +14,17 @@
|
|||
<pattern>http://flvs.daum.net/flvPlayer.swf</pattern>
|
||||
<pattern>http://api.v.daum.net/</pattern>
|
||||
<pattern>http://tvpot.daum.net/playlist/playlist.swf</pattern>
|
||||
<pattern>http://videofarm.daum.net/</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.youtube.com" desc="Youtube">
|
||||
<pattern>http://www.youtube.com/v/</pattern>
|
||||
<pattern>http://www.youtube.com/</pattern>
|
||||
<pattern>https://www.youtube.com/</pattern>
|
||||
<pattern>http://www.youtube-nocookie.com/</pattern>
|
||||
<pattern>//www.youtube.com/v/</pattern>
|
||||
<pattern>//www.youtube-nocookie.com/</pattern>
|
||||
<pattern>//www.youtube.com/embed/</pattern>
|
||||
<pattern>https://www.youtube-nocookie.com/</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.mgoon.com" desc="엠군">
|
||||
<pattern>http://play.mgoon.com/Video/</pattern>
|
||||
<pattern>http://play.mgoon.com/</pattern>
|
||||
<pattern>http://doc.mgoon.com/player/</pattern>
|
||||
<pattern>http://play.mgoon.com/Game/</pattern>
|
||||
<pattern>http://play.mgoon.com/Photo/</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.pandora.tv" desc="판도라TV">
|
||||
<pattern>http://flvr.pandora.tv/flv2pan/</pattern>
|
||||
|
|
@ -53,7 +51,7 @@
|
|||
<pattern>http://vmark.kbs.co.kr/zzim/vmplayer/vmplayer.xap</pattern>
|
||||
</domain>
|
||||
<domain name="http://www.sbs.co.kr" desc="SBS">
|
||||
<pattern>http://netv.sbs.co.kr/sbox/silverlight/ClientBin/NeTVPlayer.xap</pattern>
|
||||
<pattern>http://netv.sbs.co.kr/sbox/</pattern>
|
||||
<pattern>http://news.sbs.co.kr/</pattern>
|
||||
<pattern>http://wizard2.sbs.co.kr/</pattern>
|
||||
<pattern>http://sbsplayer.sbs.co.kr/</pattern>
|
||||
|
|
@ -62,7 +60,7 @@
|
|||
<pattern>http://onemore.imbc.com/ClientBin/oneplus.xap</pattern>
|
||||
</domain>
|
||||
<domain name="" isNAVER="true" desc="socialsearch">
|
||||
<pattern>http://static.campaign.naver.com/0/campaign/2010/10/socialsearch/swf/</pattern>
|
||||
<pattern>http://static.campaign.naver.com/</pattern>
|
||||
</domain>
|
||||
</embed>
|
||||
<iframe>
|
||||
|
|
@ -71,9 +69,6 @@
|
|||
<pattern>https://www.youtube.com/</pattern>
|
||||
<pattern>http://www.youtube-nocookie.com/</pattern>
|
||||
<pattern>https://www.youtube-nocookie.com/</pattern>
|
||||
<pattern>//www.youtube.com/v/</pattern>
|
||||
<pattern>//www.youtube.com/embed/</pattern>
|
||||
<pattern>//www.youtube-nocookie.com/</pattern>
|
||||
</domain>
|
||||
<domain name="http://maps.google.com" desc="구글맵스" mobile="true">
|
||||
<pattern>http://maps.google.com/</pattern>
|
||||
|
|
@ -87,7 +82,9 @@
|
|||
</domain>
|
||||
<domain name="http://www.vimeo.com" desc="vimeo.com">
|
||||
<pattern>http://player.vimeo.com/</pattern>
|
||||
<pattern>//player.vimeo.com/</pattern>
|
||||
</domain>
|
||||
<domain name="http://tvcast.naver.com" isNAVER="true" desc="NAVER TVCAST">
|
||||
<pattern>http://serviceapi.rmcnmv.naver.com/</pattern>
|
||||
</domain>
|
||||
</iframe>
|
||||
</whiteurl>
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ class ConditionTag
|
|||
{
|
||||
if(isset($condition->attrs->default))
|
||||
{
|
||||
$operationList = array('in' => 1, 'between' => 1, 'not in' => 1);
|
||||
$operationList = array('in' => 1, 'between' => 1, 'notin' => 1, 'not_in' => 1);
|
||||
if(isset($operationList[$this->operation]))
|
||||
{
|
||||
$default_value = $condition->attrs->default;
|
||||
|
|
|
|||
|
|
@ -416,7 +416,7 @@ function _displayMultimedia(src, width, height, options) {
|
|||
if(/\.(gif|jpg|jpeg|bmp|png)$/i.test(src)){
|
||||
html = '<img src="'+src+'" width="'+width+'" height="'+height+'" />';
|
||||
} else if(/\.flv$/i.test(src) || /\.mov$/i.test(src) || /\.moov$/i.test(src) || /\.m4v$/i.test(src)) {
|
||||
html = '<embed src="'+request_uri+'common/img/flvplayer.swf" allowfullscreen="true" autostart="'+autostart+'" width="'+width+'" height="'+height+'" flashvars="&file='+src+'&width='+width+'&height='+height+'&autostart='+autostart+'" wmode="'+params.wmode+'" />';
|
||||
html = '<embed src="'+request_uri+'common/img/flvplayer.swf" allowfullscreen="true" allowscriptaccess="never" autostart="'+autostart+'" width="'+width+'" height="'+height+'" flashvars="&file='+src+'&width='+width+'&height='+height+'&autostart='+autostart+'" wmode="'+params.wmode+'" />';
|
||||
} else if(/\.swf/i.test(src)) {
|
||||
clsid = 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000';
|
||||
|
||||
|
|
@ -429,14 +429,14 @@ function _displayMultimedia(src, width, height, options) {
|
|||
html += '<param name="'+name+'" value="'+params[name]+'" />';
|
||||
}
|
||||
}
|
||||
html += '' + '<embed src="'+src+'" autostart="'+autostart+'" width="'+width+'" height="'+height+'" flashvars="'+params.flashvars+'" wmode="'+params.wmode+'"></embed>' + '</object>';
|
||||
html += '' + '<embed src="'+src+'" allowscriptaccess="never" autostart="'+autostart+'" width="'+width+'" height="'+height+'" flashvars="'+params.flashvars+'" wmode="'+params.wmode+'"></embed>' + '</object>';
|
||||
} else {
|
||||
if (jQuery.browser.mozilla || jQuery.browser.opera) {
|
||||
// firefox and opera uses 0 or 1 for autostart parameter.
|
||||
autostart = (params.autostart && params.autostart != 'false') ? '1' : '0';
|
||||
}
|
||||
|
||||
html = '<embed src="'+src+'" autostart="'+autostart+'" width="'+width+'" height="'+height+'"';
|
||||
html = '<embed src="'+src+'" allowscriptaccess="never" autostart="'+autostart+'" width="'+width+'" height="'+height+'"';
|
||||
if(params.wmode == 'transparent') {
|
||||
html += ' windowlessvideo="1"';
|
||||
}
|
||||
|
|
@ -596,14 +596,36 @@ function doDocumentLoad(obj) {
|
|||
}
|
||||
|
||||
/* 저장된 게시글의 선택 */
|
||||
function doDocumentSelect(document_srl) {
|
||||
function doDocumentSelect(document_srl, module) {
|
||||
if(!opener || !opener.objForSavedDoc) {
|
||||
window.close();
|
||||
return;
|
||||
}
|
||||
|
||||
if(module===undefined) {
|
||||
module = 'document';
|
||||
}
|
||||
|
||||
// 게시글을 가져와서 등록하기
|
||||
switch(module) {
|
||||
case 'page' :
|
||||
var url = opener.current_url;
|
||||
url = url.setQuery('document_srl', document_srl);
|
||||
|
||||
if(url.getQuery('act') === 'dispPageAdminMobileContentModify')
|
||||
{
|
||||
url = url.setQuery('act', 'dispPageAdminMobileContentModify');
|
||||
}
|
||||
else
|
||||
{
|
||||
url = url.setQuery('act', 'dispPageAdminContentModify');
|
||||
}
|
||||
opener.location.href = url;
|
||||
break;
|
||||
default :
|
||||
opener.location.href = opener.current_url.setQuery('document_srl', document_srl).setQuery('act', 'dispBoardWrite');
|
||||
break;
|
||||
}
|
||||
window.close();
|
||||
}
|
||||
|
||||
|
|
|
|||
826
common/js/modernizr.js
Normal file
826
common/js/modernizr.js
Normal file
|
|
@ -0,0 +1,826 @@
|
|||
/* Modernizr 2.8.3 (Custom Build) | MIT & BSD
|
||||
* Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-flexboxlegacy-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-cssclasses-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load-cssclassprefix:modernizr!
|
||||
*/
|
||||
;
|
||||
|
||||
|
||||
|
||||
window.Modernizr = (function( window, document, undefined ) {
|
||||
|
||||
var version = '2.8.3',
|
||||
|
||||
Modernizr = {},
|
||||
|
||||
enableClasses = true,
|
||||
|
||||
docElement = document.documentElement,
|
||||
|
||||
mod = 'modernizr',
|
||||
modElem = document.createElement(mod),
|
||||
mStyle = modElem.style,
|
||||
|
||||
inputElem = document.createElement('input') ,
|
||||
|
||||
smile = ':)',
|
||||
|
||||
toString = {}.toString,
|
||||
|
||||
prefixes = ' -webkit- -moz- -o- -ms- '.split(' '),
|
||||
|
||||
|
||||
|
||||
omPrefixes = 'Webkit Moz O ms',
|
||||
|
||||
cssomPrefixes = omPrefixes.split(' '),
|
||||
|
||||
domPrefixes = omPrefixes.toLowerCase().split(' '),
|
||||
|
||||
ns = {'svg': 'http://www.w3.org/2000/svg'},
|
||||
|
||||
tests = {},
|
||||
inputs = {},
|
||||
attrs = {},
|
||||
|
||||
classes = [],
|
||||
|
||||
slice = classes.slice,
|
||||
|
||||
featureName,
|
||||
|
||||
|
||||
injectElementWithStyles = function( rule, callback, nodes, testnames ) {
|
||||
|
||||
var style, ret, node, docOverflow,
|
||||
div = document.createElement('div'),
|
||||
body = document.body,
|
||||
fakeBody = body || document.createElement('body');
|
||||
|
||||
if ( parseInt(nodes, 10) ) {
|
||||
while ( nodes-- ) {
|
||||
node = document.createElement('div');
|
||||
node.id = testnames ? testnames[nodes] : mod + (nodes + 1);
|
||||
div.appendChild(node);
|
||||
}
|
||||
}
|
||||
|
||||
style = ['­','<style id="s', mod, '">', rule, '</style>'].join('');
|
||||
div.id = mod;
|
||||
(body ? div : fakeBody).innerHTML += style;
|
||||
fakeBody.appendChild(div);
|
||||
if ( !body ) {
|
||||
fakeBody.style.background = '';
|
||||
fakeBody.style.overflow = 'hidden';
|
||||
docOverflow = docElement.style.overflow;
|
||||
docElement.style.overflow = 'hidden';
|
||||
docElement.appendChild(fakeBody);
|
||||
}
|
||||
|
||||
ret = callback(div, rule);
|
||||
if ( !body ) {
|
||||
fakeBody.parentNode.removeChild(fakeBody);
|
||||
docElement.style.overflow = docOverflow;
|
||||
} else {
|
||||
div.parentNode.removeChild(div);
|
||||
}
|
||||
|
||||
return !!ret;
|
||||
|
||||
},
|
||||
|
||||
|
||||
|
||||
isEventSupported = (function() {
|
||||
|
||||
var TAGNAMES = {
|
||||
'select': 'input', 'change': 'input',
|
||||
'submit': 'form', 'reset': 'form',
|
||||
'error': 'img', 'load': 'img', 'abort': 'img'
|
||||
};
|
||||
|
||||
function isEventSupported( eventName, element ) {
|
||||
|
||||
element = element || document.createElement(TAGNAMES[eventName] || 'div');
|
||||
eventName = 'on' + eventName;
|
||||
|
||||
var isSupported = eventName in element;
|
||||
|
||||
if ( !isSupported ) {
|
||||
if ( !element.setAttribute ) {
|
||||
element = document.createElement('div');
|
||||
}
|
||||
if ( element.setAttribute && element.removeAttribute ) {
|
||||
element.setAttribute(eventName, '');
|
||||
isSupported = is(element[eventName], 'function');
|
||||
|
||||
if ( !is(element[eventName], 'undefined') ) {
|
||||
element[eventName] = undefined;
|
||||
}
|
||||
element.removeAttribute(eventName);
|
||||
}
|
||||
}
|
||||
|
||||
element = null;
|
||||
return isSupported;
|
||||
}
|
||||
return isEventSupported;
|
||||
})(),
|
||||
|
||||
|
||||
_hasOwnProperty = ({}).hasOwnProperty, hasOwnProp;
|
||||
|
||||
if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) {
|
||||
hasOwnProp = function (object, property) {
|
||||
return _hasOwnProperty.call(object, property);
|
||||
};
|
||||
}
|
||||
else {
|
||||
hasOwnProp = function (object, property) {
|
||||
return ((property in object) && is(object.constructor.prototype[property], 'undefined'));
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
if (!Function.prototype.bind) {
|
||||
Function.prototype.bind = function bind(that) {
|
||||
|
||||
var target = this;
|
||||
|
||||
if (typeof target != "function") {
|
||||
throw new TypeError();
|
||||
}
|
||||
|
||||
var args = slice.call(arguments, 1),
|
||||
bound = function () {
|
||||
|
||||
if (this instanceof bound) {
|
||||
|
||||
var F = function(){};
|
||||
F.prototype = target.prototype;
|
||||
var self = new F();
|
||||
|
||||
var result = target.apply(
|
||||
self,
|
||||
args.concat(slice.call(arguments))
|
||||
);
|
||||
if (Object(result) === result) {
|
||||
return result;
|
||||
}
|
||||
return self;
|
||||
|
||||
} else {
|
||||
|
||||
return target.apply(
|
||||
that,
|
||||
args.concat(slice.call(arguments))
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
return bound;
|
||||
};
|
||||
}
|
||||
|
||||
function setCss( str ) {
|
||||
mStyle.cssText = str;
|
||||
}
|
||||
|
||||
function setCssAll( str1, str2 ) {
|
||||
return setCss(prefixes.join(str1 + ';') + ( str2 || '' ));
|
||||
}
|
||||
|
||||
function is( obj, type ) {
|
||||
return typeof obj === type;
|
||||
}
|
||||
|
||||
function contains( str, substr ) {
|
||||
return !!~('' + str).indexOf(substr);
|
||||
}
|
||||
|
||||
function testProps( props, prefixed ) {
|
||||
for ( var i in props ) {
|
||||
var prop = props[i];
|
||||
if ( !contains(prop, "-") && mStyle[prop] !== undefined ) {
|
||||
return prefixed == 'pfx' ? prop : true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function testDOMProps( props, obj, elem ) {
|
||||
for ( var i in props ) {
|
||||
var item = obj[props[i]];
|
||||
if ( item !== undefined) {
|
||||
|
||||
if (elem === false) return props[i];
|
||||
|
||||
if (is(item, 'function')){
|
||||
return item.bind(elem || obj);
|
||||
}
|
||||
|
||||
return item;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function testPropsAll( prop, prefixed, elem ) {
|
||||
|
||||
var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),
|
||||
props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');
|
||||
|
||||
if(is(prefixed, "string") || is(prefixed, "undefined")) {
|
||||
return testProps(props, prefixed);
|
||||
|
||||
} else {
|
||||
props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');
|
||||
return testDOMProps(props, prefixed, elem);
|
||||
}
|
||||
} tests['flexbox'] = function() {
|
||||
return testPropsAll('flexWrap');
|
||||
};
|
||||
|
||||
|
||||
tests['flexboxlegacy'] = function() {
|
||||
return testPropsAll('boxDirection');
|
||||
};
|
||||
|
||||
|
||||
tests['canvas'] = function() {
|
||||
var elem = document.createElement('canvas');
|
||||
return !!(elem.getContext && elem.getContext('2d'));
|
||||
};
|
||||
|
||||
tests['canvastext'] = function() {
|
||||
return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function'));
|
||||
};
|
||||
|
||||
|
||||
|
||||
tests['webgl'] = function() {
|
||||
return !!window.WebGLRenderingContext;
|
||||
};
|
||||
|
||||
|
||||
tests['touch'] = function() {
|
||||
var bool;
|
||||
|
||||
if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {
|
||||
bool = true;
|
||||
} else {
|
||||
injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function( node ) {
|
||||
bool = node.offsetTop === 9;
|
||||
});
|
||||
}
|
||||
|
||||
return bool;
|
||||
};
|
||||
|
||||
|
||||
|
||||
tests['geolocation'] = function() {
|
||||
return 'geolocation' in navigator;
|
||||
};
|
||||
|
||||
|
||||
tests['postmessage'] = function() {
|
||||
return !!window.postMessage;
|
||||
};
|
||||
|
||||
|
||||
tests['websqldatabase'] = function() {
|
||||
return !!window.openDatabase;
|
||||
};
|
||||
|
||||
tests['indexedDB'] = function() {
|
||||
return !!testPropsAll("indexedDB", window);
|
||||
};
|
||||
|
||||
tests['hashchange'] = function() {
|
||||
return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7);
|
||||
};
|
||||
|
||||
tests['history'] = function() {
|
||||
return !!(window.history && history.pushState);
|
||||
};
|
||||
|
||||
tests['draganddrop'] = function() {
|
||||
var div = document.createElement('div');
|
||||
return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div);
|
||||
};
|
||||
|
||||
tests['websockets'] = function() {
|
||||
return 'WebSocket' in window || 'MozWebSocket' in window;
|
||||
};
|
||||
|
||||
|
||||
tests['rgba'] = function() {
|
||||
setCss('background-color:rgba(150,255,150,.5)');
|
||||
|
||||
return contains(mStyle.backgroundColor, 'rgba');
|
||||
};
|
||||
|
||||
tests['hsla'] = function() {
|
||||
setCss('background-color:hsla(120,40%,100%,.5)');
|
||||
|
||||
return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla');
|
||||
};
|
||||
|
||||
tests['multiplebgs'] = function() {
|
||||
setCss('background:url(https://),url(https://),red url(https://)');
|
||||
|
||||
return (/(url\s*\(.*?){3}/).test(mStyle.background);
|
||||
}; tests['backgroundsize'] = function() {
|
||||
return testPropsAll('backgroundSize');
|
||||
};
|
||||
|
||||
tests['borderimage'] = function() {
|
||||
return testPropsAll('borderImage');
|
||||
};
|
||||
|
||||
|
||||
|
||||
tests['borderradius'] = function() {
|
||||
return testPropsAll('borderRadius');
|
||||
};
|
||||
|
||||
tests['boxshadow'] = function() {
|
||||
return testPropsAll('boxShadow');
|
||||
};
|
||||
|
||||
tests['textshadow'] = function() {
|
||||
return document.createElement('div').style.textShadow === '';
|
||||
};
|
||||
|
||||
|
||||
tests['opacity'] = function() {
|
||||
setCssAll('opacity:.55');
|
||||
|
||||
return (/^0.55$/).test(mStyle.opacity);
|
||||
};
|
||||
|
||||
|
||||
tests['cssanimations'] = function() {
|
||||
return testPropsAll('animationName');
|
||||
};
|
||||
|
||||
|
||||
tests['csscolumns'] = function() {
|
||||
return testPropsAll('columnCount');
|
||||
};
|
||||
|
||||
|
||||
tests['cssgradients'] = function() {
|
||||
var str1 = 'background-image:',
|
||||
str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));',
|
||||
str3 = 'linear-gradient(left top,#9f9, white);';
|
||||
|
||||
setCss(
|
||||
(str1 + '-webkit- '.split(' ').join(str2 + str1) +
|
||||
prefixes.join(str3 + str1)).slice(0, -str1.length)
|
||||
);
|
||||
|
||||
return contains(mStyle.backgroundImage, 'gradient');
|
||||
};
|
||||
|
||||
|
||||
tests['cssreflections'] = function() {
|
||||
return testPropsAll('boxReflect');
|
||||
};
|
||||
|
||||
|
||||
tests['csstransforms'] = function() {
|
||||
return !!testPropsAll('transform');
|
||||
};
|
||||
|
||||
|
||||
tests['csstransforms3d'] = function() {
|
||||
|
||||
var ret = !!testPropsAll('perspective');
|
||||
|
||||
if ( ret && 'webkitPerspective' in docElement.style ) {
|
||||
|
||||
injectElementWithStyles('@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}', function( node, rule ) {
|
||||
ret = node.offsetLeft === 9 && node.offsetHeight === 3;
|
||||
});
|
||||
}
|
||||
return ret;
|
||||
};
|
||||
|
||||
|
||||
tests['csstransitions'] = function() {
|
||||
return testPropsAll('transition');
|
||||
};
|
||||
|
||||
|
||||
|
||||
tests['fontface'] = function() {
|
||||
var bool;
|
||||
|
||||
injectElementWithStyles('@font-face {font-family:"font";src:url("https://")}', function( node, rule ) {
|
||||
var style = document.getElementById('smodernizr'),
|
||||
sheet = style.sheet || style.styleSheet,
|
||||
cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : '';
|
||||
|
||||
bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0;
|
||||
});
|
||||
|
||||
return bool;
|
||||
};
|
||||
|
||||
tests['generatedcontent'] = function() {
|
||||
var bool;
|
||||
|
||||
injectElementWithStyles(['#',mod,'{font:0/0 a}#',mod,':after{content:"',smile,'";visibility:hidden;font:3px/1 a}'].join(''), function( node ) {
|
||||
bool = node.offsetHeight >= 3;
|
||||
});
|
||||
|
||||
return bool;
|
||||
};
|
||||
tests['video'] = function() {
|
||||
var elem = document.createElement('video'),
|
||||
bool = false;
|
||||
|
||||
try {
|
||||
if ( bool = !!elem.canPlayType ) {
|
||||
bool = new Boolean(bool);
|
||||
bool.ogg = elem.canPlayType('video/ogg; codecs="theora"') .replace(/^no$/,'');
|
||||
|
||||
bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,'');
|
||||
|
||||
bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,'');
|
||||
}
|
||||
|
||||
} catch(e) { }
|
||||
|
||||
return bool;
|
||||
};
|
||||
|
||||
tests['audio'] = function() {
|
||||
var elem = document.createElement('audio'),
|
||||
bool = false;
|
||||
|
||||
try {
|
||||
if ( bool = !!elem.canPlayType ) {
|
||||
bool = new Boolean(bool);
|
||||
bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,'');
|
||||
bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,'');
|
||||
|
||||
bool.wav = elem.canPlayType('audio/wav; codecs="1"') .replace(/^no$/,'');
|
||||
bool.m4a = ( elem.canPlayType('audio/x-m4a;') ||
|
||||
elem.canPlayType('audio/aac;')) .replace(/^no$/,'');
|
||||
}
|
||||
} catch(e) { }
|
||||
|
||||
return bool;
|
||||
};
|
||||
|
||||
|
||||
tests['localstorage'] = function() {
|
||||
try {
|
||||
localStorage.setItem(mod, mod);
|
||||
localStorage.removeItem(mod);
|
||||
return true;
|
||||
} catch(e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
tests['sessionstorage'] = function() {
|
||||
try {
|
||||
sessionStorage.setItem(mod, mod);
|
||||
sessionStorage.removeItem(mod);
|
||||
return true;
|
||||
} catch(e) {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
tests['webworkers'] = function() {
|
||||
return !!window.Worker;
|
||||
};
|
||||
|
||||
|
||||
tests['applicationcache'] = function() {
|
||||
return !!window.applicationCache;
|
||||
};
|
||||
|
||||
|
||||
tests['svg'] = function() {
|
||||
return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect;
|
||||
};
|
||||
|
||||
tests['inlinesvg'] = function() {
|
||||
var div = document.createElement('div');
|
||||
div.innerHTML = '<svg/>';
|
||||
return (div.firstChild && div.firstChild.namespaceURI) == ns.svg;
|
||||
};
|
||||
|
||||
tests['smil'] = function() {
|
||||
return !!document.createElementNS && /SVGAnimate/.test(toString.call(document.createElementNS(ns.svg, 'animate')));
|
||||
};
|
||||
|
||||
|
||||
tests['svgclippaths'] = function() {
|
||||
return !!document.createElementNS && /SVGClipPath/.test(toString.call(document.createElementNS(ns.svg, 'clipPath')));
|
||||
};
|
||||
|
||||
function webforms() {
|
||||
Modernizr['input'] = (function( props ) {
|
||||
for ( var i = 0, len = props.length; i < len; i++ ) {
|
||||
attrs[ props[i] ] = !!(props[i] in inputElem);
|
||||
}
|
||||
if (attrs.list){
|
||||
attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement);
|
||||
}
|
||||
return attrs;
|
||||
})('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' '));
|
||||
Modernizr['inputtypes'] = (function(props) {
|
||||
|
||||
for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) {
|
||||
|
||||
inputElem.setAttribute('type', inputElemType = props[i]);
|
||||
bool = inputElem.type !== 'text';
|
||||
|
||||
if ( bool ) {
|
||||
|
||||
inputElem.value = smile;
|
||||
inputElem.style.cssText = 'position:absolute;visibility:hidden;';
|
||||
|
||||
if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) {
|
||||
|
||||
docElement.appendChild(inputElem);
|
||||
defaultView = document.defaultView;
|
||||
|
||||
bool = defaultView.getComputedStyle &&
|
||||
defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' &&
|
||||
(inputElem.offsetHeight !== 0);
|
||||
|
||||
docElement.removeChild(inputElem);
|
||||
|
||||
} else if ( /^(search|tel)$/.test(inputElemType) ){
|
||||
} else if ( /^(url|email)$/.test(inputElemType) ) {
|
||||
bool = inputElem.checkValidity && inputElem.checkValidity() === false;
|
||||
|
||||
} else {
|
||||
bool = inputElem.value != smile;
|
||||
}
|
||||
}
|
||||
|
||||
inputs[ props[i] ] = !!bool;
|
||||
}
|
||||
return inputs;
|
||||
})('search tel url email datetime date month week time datetime-local number range color'.split(' '));
|
||||
}
|
||||
for ( var feature in tests ) {
|
||||
if ( hasOwnProp(tests, feature) ) {
|
||||
featureName = feature.toLowerCase();
|
||||
Modernizr[featureName] = tests[feature]();
|
||||
|
||||
classes.push((Modernizr[featureName] ? '' : 'no-') + featureName);
|
||||
}
|
||||
}
|
||||
|
||||
Modernizr.input || webforms();
|
||||
|
||||
|
||||
Modernizr.addTest = function ( feature, test ) {
|
||||
if ( typeof feature == 'object' ) {
|
||||
for ( var key in feature ) {
|
||||
if ( hasOwnProp( feature, key ) ) {
|
||||
Modernizr.addTest( key, feature[ key ] );
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
feature = feature.toLowerCase();
|
||||
|
||||
if ( Modernizr[feature] !== undefined ) {
|
||||
return Modernizr;
|
||||
}
|
||||
|
||||
test = typeof test == 'function' ? test() : test;
|
||||
|
||||
if (typeof enableClasses !== "undefined" && enableClasses) {
|
||||
docElement.className+=" modernizr-" + (test ? '' : 'no-') + feature;
|
||||
}
|
||||
Modernizr[feature] = test;
|
||||
|
||||
}
|
||||
|
||||
return Modernizr;
|
||||
};
|
||||
|
||||
|
||||
setCss('');
|
||||
modElem = inputElem = null;
|
||||
|
||||
;(function(window, document) {
|
||||
var version = '3.7.0';
|
||||
|
||||
var options = window.html5 || {};
|
||||
|
||||
var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
|
||||
|
||||
var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
|
||||
|
||||
var supportsHtml5Styles;
|
||||
|
||||
var expando = '_html5shiv';
|
||||
|
||||
var expanID = 0;
|
||||
|
||||
var expandoData = {};
|
||||
|
||||
var supportsUnknownElements;
|
||||
|
||||
(function() {
|
||||
try {
|
||||
var a = document.createElement('a');
|
||||
a.innerHTML = '<xyz></xyz>';
|
||||
supportsHtml5Styles = ('hidden' in a);
|
||||
|
||||
supportsUnknownElements = a.childNodes.length == 1 || (function() {
|
||||
(document.createElement)('a');
|
||||
var frag = document.createDocumentFragment();
|
||||
return (
|
||||
typeof frag.cloneNode == 'undefined' ||
|
||||
typeof frag.createDocumentFragment == 'undefined' ||
|
||||
typeof frag.createElement == 'undefined'
|
||||
);
|
||||
}());
|
||||
} catch(e) {
|
||||
supportsHtml5Styles = true;
|
||||
supportsUnknownElements = true;
|
||||
}
|
||||
|
||||
}());
|
||||
|
||||
function addStyleSheet(ownerDocument, cssText) {
|
||||
var p = ownerDocument.createElement('p'),
|
||||
parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
|
||||
|
||||
p.innerHTML = 'x<style>' + cssText + '</style>';
|
||||
return parent.insertBefore(p.lastChild, parent.firstChild);
|
||||
}
|
||||
|
||||
function getElements() {
|
||||
var elements = html5.elements;
|
||||
return typeof elements == 'string' ? elements.split(' ') : elements;
|
||||
}
|
||||
|
||||
function getExpandoData(ownerDocument) {
|
||||
var data = expandoData[ownerDocument[expando]];
|
||||
if (!data) {
|
||||
data = {};
|
||||
expanID++;
|
||||
ownerDocument[expando] = expanID;
|
||||
expandoData[expanID] = data;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
|
||||
function createElement(nodeName, ownerDocument, data){
|
||||
if (!ownerDocument) {
|
||||
ownerDocument = document;
|
||||
}
|
||||
if(supportsUnknownElements){
|
||||
return ownerDocument.createElement(nodeName);
|
||||
}
|
||||
if (!data) {
|
||||
data = getExpandoData(ownerDocument);
|
||||
}
|
||||
var node;
|
||||
|
||||
if (data.cache[nodeName]) {
|
||||
node = data.cache[nodeName].cloneNode();
|
||||
} else if (saveClones.test(nodeName)) {
|
||||
node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
|
||||
} else {
|
||||
node = data.createElem(nodeName);
|
||||
}
|
||||
|
||||
return node.canHaveChildren && !reSkip.test(nodeName) && !node.tagUrn ? data.frag.appendChild(node) : node;
|
||||
}
|
||||
|
||||
function createDocumentFragment(ownerDocument, data){
|
||||
if (!ownerDocument) {
|
||||
ownerDocument = document;
|
||||
}
|
||||
if(supportsUnknownElements){
|
||||
return ownerDocument.createDocumentFragment();
|
||||
}
|
||||
data = data || getExpandoData(ownerDocument);
|
||||
var clone = data.frag.cloneNode(),
|
||||
i = 0,
|
||||
elems = getElements(),
|
||||
l = elems.length;
|
||||
for(;i<l;i++){
|
||||
clone.createElement(elems[i]);
|
||||
}
|
||||
return clone;
|
||||
}
|
||||
|
||||
function shivMethods(ownerDocument, data) {
|
||||
if (!data.cache) {
|
||||
data.cache = {};
|
||||
data.createElem = ownerDocument.createElement;
|
||||
data.createFrag = ownerDocument.createDocumentFragment;
|
||||
data.frag = data.createFrag();
|
||||
}
|
||||
|
||||
|
||||
ownerDocument.createElement = function(nodeName) {
|
||||
if (!html5.shivMethods) {
|
||||
return data.createElem(nodeName);
|
||||
}
|
||||
return createElement(nodeName, ownerDocument, data);
|
||||
};
|
||||
|
||||
ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
|
||||
'var n=f.cloneNode(),c=n.createElement;' +
|
||||
'h.shivMethods&&(' +
|
||||
getElements().join().replace(/[\w\-]+/g, function(nodeName) {
|
||||
data.createElem(nodeName);
|
||||
data.frag.createElement(nodeName);
|
||||
return 'c("' + nodeName + '")';
|
||||
}) +
|
||||
');return n}'
|
||||
)(html5, data.frag);
|
||||
}
|
||||
|
||||
function shivDocument(ownerDocument) {
|
||||
if (!ownerDocument) {
|
||||
ownerDocument = document;
|
||||
}
|
||||
var data = getExpandoData(ownerDocument);
|
||||
|
||||
if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
|
||||
data.hasCSS = !!addStyleSheet(ownerDocument,
|
||||
'article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}' +
|
||||
'mark{background:#FF0;color:#000}' +
|
||||
'template{display:none}'
|
||||
);
|
||||
}
|
||||
if (!supportsUnknownElements) {
|
||||
shivMethods(ownerDocument, data);
|
||||
}
|
||||
return ownerDocument;
|
||||
}
|
||||
|
||||
var html5 = {
|
||||
|
||||
'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video',
|
||||
|
||||
'version': version,
|
||||
|
||||
'shivCSS': (options.shivCSS !== false),
|
||||
|
||||
'supportsUnknownElements': supportsUnknownElements,
|
||||
|
||||
'shivMethods': (options.shivMethods !== false),
|
||||
|
||||
'type': 'default',
|
||||
|
||||
'shivDocument': shivDocument,
|
||||
|
||||
createElement: createElement,
|
||||
|
||||
createDocumentFragment: createDocumentFragment
|
||||
};
|
||||
|
||||
window.html5 = html5;
|
||||
|
||||
shivDocument(document);
|
||||
|
||||
}(this, document));
|
||||
|
||||
Modernizr._version = version;
|
||||
|
||||
Modernizr._prefixes = prefixes;
|
||||
Modernizr._domPrefixes = domPrefixes;
|
||||
Modernizr._cssomPrefixes = cssomPrefixes;
|
||||
|
||||
|
||||
Modernizr.hasEvent = isEventSupported;
|
||||
|
||||
Modernizr.testProp = function(prop){
|
||||
return testProps([prop]);
|
||||
};
|
||||
|
||||
Modernizr.testAllProps = testPropsAll;
|
||||
|
||||
|
||||
Modernizr.testStyles = injectElementWithStyles; docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') +
|
||||
|
||||
(enableClasses ? " modernizr-js modernizr-"+classes.join(" modernizr-") : '');
|
||||
|
||||
return Modernizr;
|
||||
|
||||
})(this, this.document);
|
||||
/*yepnope1.5.4|WTFPL*/
|
||||
(function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}})(this,document);
|
||||
Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0));};
|
||||
;
|
||||
4
common/js/modernizr.min.js
vendored
Normal file
4
common/js/modernizr.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
660
common/js/plugins/handlebars.runtime/handlebars.runtime.js
Normal file
660
common/js/plugins/handlebars.runtime/handlebars.runtime.js
Normal file
|
|
@ -0,0 +1,660 @@
|
|||
/*!
|
||||
|
||||
handlebars v2.0.0
|
||||
|
||||
Copyright (C) 2011-2014 by Yehuda Katz
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
@license
|
||||
*/
|
||||
/* exported Handlebars */
|
||||
(function (root, factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define([], factory);
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory();
|
||||
} else {
|
||||
root.Handlebars = root.Handlebars || factory();
|
||||
}
|
||||
}(this, function () {
|
||||
// handlebars/safe-string.js
|
||||
var __module3__ = (function() {
|
||||
"use strict";
|
||||
var __exports__;
|
||||
// Build out our basic SafeString type
|
||||
function SafeString(string) {
|
||||
this.string = string;
|
||||
}
|
||||
|
||||
SafeString.prototype.toString = function() {
|
||||
return "" + this.string;
|
||||
};
|
||||
|
||||
__exports__ = SafeString;
|
||||
return __exports__;
|
||||
})();
|
||||
|
||||
// handlebars/utils.js
|
||||
var __module2__ = (function(__dependency1__) {
|
||||
"use strict";
|
||||
var __exports__ = {};
|
||||
/*jshint -W004 */
|
||||
var SafeString = __dependency1__;
|
||||
|
||||
var escape = {
|
||||
"&": "&",
|
||||
"<": "<",
|
||||
">": ">",
|
||||
'"': """,
|
||||
"'": "'",
|
||||
"`": "`"
|
||||
};
|
||||
|
||||
var badChars = /[&<>"'`]/g;
|
||||
var possible = /[&<>"'`]/;
|
||||
|
||||
function escapeChar(chr) {
|
||||
return escape[chr];
|
||||
}
|
||||
|
||||
function extend(obj /* , ...source */) {
|
||||
for (var i = 1; i < arguments.length; i++) {
|
||||
for (var key in arguments[i]) {
|
||||
if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {
|
||||
obj[key] = arguments[i][key];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
__exports__.extend = extend;var toString = Object.prototype.toString;
|
||||
__exports__.toString = toString;
|
||||
// Sourced from lodash
|
||||
// https://github.com/bestiejs/lodash/blob/master/LICENSE.txt
|
||||
var isFunction = function(value) {
|
||||
return typeof value === 'function';
|
||||
};
|
||||
// fallback for older versions of Chrome and Safari
|
||||
/* istanbul ignore next */
|
||||
if (isFunction(/x/)) {
|
||||
isFunction = function(value) {
|
||||
return typeof value === 'function' && toString.call(value) === '[object Function]';
|
||||
};
|
||||
}
|
||||
var isFunction;
|
||||
__exports__.isFunction = isFunction;
|
||||
/* istanbul ignore next */
|
||||
var isArray = Array.isArray || function(value) {
|
||||
return (value && typeof value === 'object') ? toString.call(value) === '[object Array]' : false;
|
||||
};
|
||||
__exports__.isArray = isArray;
|
||||
|
||||
function escapeExpression(string) {
|
||||
// don't escape SafeStrings, since they're already safe
|
||||
if (string instanceof SafeString) {
|
||||
return string.toString();
|
||||
} else if (string == null) {
|
||||
return "";
|
||||
} else if (!string) {
|
||||
return string + '';
|
||||
}
|
||||
|
||||
// Force a string conversion as this will be done by the append regardless and
|
||||
// the regex test will do this transparently behind the scenes, causing issues if
|
||||
// an object's to string has escaped characters in it.
|
||||
string = "" + string;
|
||||
|
||||
if(!possible.test(string)) { return string; }
|
||||
return string.replace(badChars, escapeChar);
|
||||
}
|
||||
|
||||
__exports__.escapeExpression = escapeExpression;function isEmpty(value) {
|
||||
if (!value && value !== 0) {
|
||||
return true;
|
||||
} else if (isArray(value) && value.length === 0) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
__exports__.isEmpty = isEmpty;function appendContextPath(contextPath, id) {
|
||||
return (contextPath ? contextPath + '.' : '') + id;
|
||||
}
|
||||
|
||||
__exports__.appendContextPath = appendContextPath;
|
||||
return __exports__;
|
||||
})(__module3__);
|
||||
|
||||
// handlebars/exception.js
|
||||
var __module4__ = (function() {
|
||||
"use strict";
|
||||
var __exports__;
|
||||
|
||||
var errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack'];
|
||||
|
||||
function Exception(message, node) {
|
||||
var line;
|
||||
if (node && node.firstLine) {
|
||||
line = node.firstLine;
|
||||
|
||||
message += ' - ' + line + ':' + node.firstColumn;
|
||||
}
|
||||
|
||||
var tmp = Error.prototype.constructor.call(this, message);
|
||||
|
||||
// Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.
|
||||
for (var idx = 0; idx < errorProps.length; idx++) {
|
||||
this[errorProps[idx]] = tmp[errorProps[idx]];
|
||||
}
|
||||
|
||||
if (line) {
|
||||
this.lineNumber = line;
|
||||
this.column = node.firstColumn;
|
||||
}
|
||||
}
|
||||
|
||||
Exception.prototype = new Error();
|
||||
|
||||
__exports__ = Exception;
|
||||
return __exports__;
|
||||
})();
|
||||
|
||||
// handlebars/base.js
|
||||
var __module1__ = (function(__dependency1__, __dependency2__) {
|
||||
"use strict";
|
||||
var __exports__ = {};
|
||||
var Utils = __dependency1__;
|
||||
var Exception = __dependency2__;
|
||||
|
||||
var VERSION = "2.0.0";
|
||||
__exports__.VERSION = VERSION;var COMPILER_REVISION = 6;
|
||||
__exports__.COMPILER_REVISION = COMPILER_REVISION;
|
||||
var REVISION_CHANGES = {
|
||||
1: '<= 1.0.rc.2', // 1.0.rc.2 is actually rev2 but doesn't report it
|
||||
2: '== 1.0.0-rc.3',
|
||||
3: '== 1.0.0-rc.4',
|
||||
4: '== 1.x.x',
|
||||
5: '== 2.0.0-alpha.x',
|
||||
6: '>= 2.0.0-beta.1'
|
||||
};
|
||||
__exports__.REVISION_CHANGES = REVISION_CHANGES;
|
||||
var isArray = Utils.isArray,
|
||||
isFunction = Utils.isFunction,
|
||||
toString = Utils.toString,
|
||||
objectType = '[object Object]';
|
||||
|
||||
function HandlebarsEnvironment(helpers, partials) {
|
||||
this.helpers = helpers || {};
|
||||
this.partials = partials || {};
|
||||
|
||||
registerDefaultHelpers(this);
|
||||
}
|
||||
|
||||
__exports__.HandlebarsEnvironment = HandlebarsEnvironment;HandlebarsEnvironment.prototype = {
|
||||
constructor: HandlebarsEnvironment,
|
||||
|
||||
logger: logger,
|
||||
log: log,
|
||||
|
||||
registerHelper: function(name, fn) {
|
||||
if (toString.call(name) === objectType) {
|
||||
if (fn) { throw new Exception('Arg not supported with multiple helpers'); }
|
||||
Utils.extend(this.helpers, name);
|
||||
} else {
|
||||
this.helpers[name] = fn;
|
||||
}
|
||||
},
|
||||
unregisterHelper: function(name) {
|
||||
delete this.helpers[name];
|
||||
},
|
||||
|
||||
registerPartial: function(name, partial) {
|
||||
if (toString.call(name) === objectType) {
|
||||
Utils.extend(this.partials, name);
|
||||
} else {
|
||||
this.partials[name] = partial;
|
||||
}
|
||||
},
|
||||
unregisterPartial: function(name) {
|
||||
delete this.partials[name];
|
||||
}
|
||||
};
|
||||
|
||||
function registerDefaultHelpers(instance) {
|
||||
instance.registerHelper('helperMissing', function(/* [args, ]options */) {
|
||||
if(arguments.length === 1) {
|
||||
// A missing field in a {{foo}} constuct.
|
||||
return undefined;
|
||||
} else {
|
||||
// Someone is actually trying to call something, blow up.
|
||||
throw new Exception("Missing helper: '" + arguments[arguments.length-1].name + "'");
|
||||
}
|
||||
});
|
||||
|
||||
instance.registerHelper('blockHelperMissing', function(context, options) {
|
||||
var inverse = options.inverse,
|
||||
fn = options.fn;
|
||||
|
||||
if(context === true) {
|
||||
return fn(this);
|
||||
} else if(context === false || context == null) {
|
||||
return inverse(this);
|
||||
} else if (isArray(context)) {
|
||||
if(context.length > 0) {
|
||||
if (options.ids) {
|
||||
options.ids = [options.name];
|
||||
}
|
||||
|
||||
return instance.helpers.each(context, options);
|
||||
} else {
|
||||
return inverse(this);
|
||||
}
|
||||
} else {
|
||||
if (options.data && options.ids) {
|
||||
var data = createFrame(options.data);
|
||||
data.contextPath = Utils.appendContextPath(options.data.contextPath, options.name);
|
||||
options = {data: data};
|
||||
}
|
||||
|
||||
return fn(context, options);
|
||||
}
|
||||
});
|
||||
|
||||
instance.registerHelper('each', function(context, options) {
|
||||
if (!options) {
|
||||
throw new Exception('Must pass iterator to #each');
|
||||
}
|
||||
|
||||
var fn = options.fn, inverse = options.inverse;
|
||||
var i = 0, ret = "", data;
|
||||
|
||||
var contextPath;
|
||||
if (options.data && options.ids) {
|
||||
contextPath = Utils.appendContextPath(options.data.contextPath, options.ids[0]) + '.';
|
||||
}
|
||||
|
||||
if (isFunction(context)) { context = context.call(this); }
|
||||
|
||||
if (options.data) {
|
||||
data = createFrame(options.data);
|
||||
}
|
||||
|
||||
if(context && typeof context === 'object') {
|
||||
if (isArray(context)) {
|
||||
for(var j = context.length; i<j; i++) {
|
||||
if (data) {
|
||||
data.index = i;
|
||||
data.first = (i === 0);
|
||||
data.last = (i === (context.length-1));
|
||||
|
||||
if (contextPath) {
|
||||
data.contextPath = contextPath + i;
|
||||
}
|
||||
}
|
||||
ret = ret + fn(context[i], { data: data });
|
||||
}
|
||||
} else {
|
||||
for(var key in context) {
|
||||
if(context.hasOwnProperty(key)) {
|
||||
if(data) {
|
||||
data.key = key;
|
||||
data.index = i;
|
||||
data.first = (i === 0);
|
||||
|
||||
if (contextPath) {
|
||||
data.contextPath = contextPath + key;
|
||||
}
|
||||
}
|
||||
ret = ret + fn(context[key], {data: data});
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(i === 0){
|
||||
ret = inverse(this);
|
||||
}
|
||||
|
||||
return ret;
|
||||
});
|
||||
|
||||
instance.registerHelper('if', function(conditional, options) {
|
||||
if (isFunction(conditional)) { conditional = conditional.call(this); }
|
||||
|
||||
// Default behavior is to render the positive path if the value is truthy and not empty.
|
||||
// The `includeZero` option may be set to treat the condtional as purely not empty based on the
|
||||
// behavior of isEmpty. Effectively this determines if 0 is handled by the positive path or negative.
|
||||
if ((!options.hash.includeZero && !conditional) || Utils.isEmpty(conditional)) {
|
||||
return options.inverse(this);
|
||||
} else {
|
||||
return options.fn(this);
|
||||
}
|
||||
});
|
||||
|
||||
instance.registerHelper('unless', function(conditional, options) {
|
||||
return instance.helpers['if'].call(this, conditional, {fn: options.inverse, inverse: options.fn, hash: options.hash});
|
||||
});
|
||||
|
||||
instance.registerHelper('with', function(context, options) {
|
||||
if (isFunction(context)) { context = context.call(this); }
|
||||
|
||||
var fn = options.fn;
|
||||
|
||||
if (!Utils.isEmpty(context)) {
|
||||
if (options.data && options.ids) {
|
||||
var data = createFrame(options.data);
|
||||
data.contextPath = Utils.appendContextPath(options.data.contextPath, options.ids[0]);
|
||||
options = {data:data};
|
||||
}
|
||||
|
||||
return fn(context, options);
|
||||
} else {
|
||||
return options.inverse(this);
|
||||
}
|
||||
});
|
||||
|
||||
instance.registerHelper('log', function(message, options) {
|
||||
var level = options.data && options.data.level != null ? parseInt(options.data.level, 10) : 1;
|
||||
instance.log(level, message);
|
||||
});
|
||||
|
||||
instance.registerHelper('lookup', function(obj, field) {
|
||||
return obj && obj[field];
|
||||
});
|
||||
}
|
||||
|
||||
var logger = {
|
||||
methodMap: { 0: 'debug', 1: 'info', 2: 'warn', 3: 'error' },
|
||||
|
||||
// State enum
|
||||
DEBUG: 0,
|
||||
INFO: 1,
|
||||
WARN: 2,
|
||||
ERROR: 3,
|
||||
level: 3,
|
||||
|
||||
// can be overridden in the host environment
|
||||
log: function(level, message) {
|
||||
if (logger.level <= level) {
|
||||
var method = logger.methodMap[level];
|
||||
if (typeof console !== 'undefined' && console[method]) {
|
||||
console[method].call(console, message);
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
__exports__.logger = logger;
|
||||
var log = logger.log;
|
||||
__exports__.log = log;
|
||||
var createFrame = function(object) {
|
||||
var frame = Utils.extend({}, object);
|
||||
frame._parent = object;
|
||||
return frame;
|
||||
};
|
||||
__exports__.createFrame = createFrame;
|
||||
return __exports__;
|
||||
})(__module2__, __module4__);
|
||||
|
||||
// handlebars/runtime.js
|
||||
var __module5__ = (function(__dependency1__, __dependency2__, __dependency3__) {
|
||||
"use strict";
|
||||
var __exports__ = {};
|
||||
var Utils = __dependency1__;
|
||||
var Exception = __dependency2__;
|
||||
var COMPILER_REVISION = __dependency3__.COMPILER_REVISION;
|
||||
var REVISION_CHANGES = __dependency3__.REVISION_CHANGES;
|
||||
var createFrame = __dependency3__.createFrame;
|
||||
|
||||
function checkRevision(compilerInfo) {
|
||||
var compilerRevision = compilerInfo && compilerInfo[0] || 1,
|
||||
currentRevision = COMPILER_REVISION;
|
||||
|
||||
if (compilerRevision !== currentRevision) {
|
||||
if (compilerRevision < currentRevision) {
|
||||
var runtimeVersions = REVISION_CHANGES[currentRevision],
|
||||
compilerVersions = REVISION_CHANGES[compilerRevision];
|
||||
throw new Exception("Template was precompiled with an older version of Handlebars than the current runtime. "+
|
||||
"Please update your precompiler to a newer version ("+runtimeVersions+") or downgrade your runtime to an older version ("+compilerVersions+").");
|
||||
} else {
|
||||
// Use the embedded version info since the runtime doesn't know about this revision yet
|
||||
throw new Exception("Template was precompiled with a newer version of Handlebars than the current runtime. "+
|
||||
"Please update your runtime to a newer version ("+compilerInfo[1]+").");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
__exports__.checkRevision = checkRevision;// TODO: Remove this line and break up compilePartial
|
||||
|
||||
function template(templateSpec, env) {
|
||||
/* istanbul ignore next */
|
||||
if (!env) {
|
||||
throw new Exception("No environment passed to template");
|
||||
}
|
||||
if (!templateSpec || !templateSpec.main) {
|
||||
throw new Exception('Unknown template object: ' + typeof templateSpec);
|
||||
}
|
||||
|
||||
// Note: Using env.VM references rather than local var references throughout this section to allow
|
||||
// for external users to override these as psuedo-supported APIs.
|
||||
env.VM.checkRevision(templateSpec.compiler);
|
||||
|
||||
var invokePartialWrapper = function(partial, indent, name, context, hash, helpers, partials, data, depths) {
|
||||
if (hash) {
|
||||
context = Utils.extend({}, context, hash);
|
||||
}
|
||||
|
||||
var result = env.VM.invokePartial.call(this, partial, name, context, helpers, partials, data, depths);
|
||||
|
||||
if (result == null && env.compile) {
|
||||
var options = { helpers: helpers, partials: partials, data: data, depths: depths };
|
||||
partials[name] = env.compile(partial, { data: data !== undefined, compat: templateSpec.compat }, env);
|
||||
result = partials[name](context, options);
|
||||
}
|
||||
if (result != null) {
|
||||
if (indent) {
|
||||
var lines = result.split('\n');
|
||||
for (var i = 0, l = lines.length; i < l; i++) {
|
||||
if (!lines[i] && i + 1 === l) {
|
||||
break;
|
||||
}
|
||||
|
||||
lines[i] = indent + lines[i];
|
||||
}
|
||||
result = lines.join('\n');
|
||||
}
|
||||
return result;
|
||||
} else {
|
||||
throw new Exception("The partial " + name + " could not be compiled when running in runtime-only mode");
|
||||
}
|
||||
};
|
||||
|
||||
// Just add water
|
||||
var container = {
|
||||
lookup: function(depths, name) {
|
||||
var len = depths.length;
|
||||
for (var i = 0; i < len; i++) {
|
||||
if (depths[i] && depths[i][name] != null) {
|
||||
return depths[i][name];
|
||||
}
|
||||
}
|
||||
},
|
||||
lambda: function(current, context) {
|
||||
return typeof current === 'function' ? current.call(context) : current;
|
||||
},
|
||||
|
||||
escapeExpression: Utils.escapeExpression,
|
||||
invokePartial: invokePartialWrapper,
|
||||
|
||||
fn: function(i) {
|
||||
return templateSpec[i];
|
||||
},
|
||||
|
||||
programs: [],
|
||||
program: function(i, data, depths) {
|
||||
var programWrapper = this.programs[i],
|
||||
fn = this.fn(i);
|
||||
if (data || depths) {
|
||||
programWrapper = program(this, i, fn, data, depths);
|
||||
} else if (!programWrapper) {
|
||||
programWrapper = this.programs[i] = program(this, i, fn);
|
||||
}
|
||||
return programWrapper;
|
||||
},
|
||||
|
||||
data: function(data, depth) {
|
||||
while (data && depth--) {
|
||||
data = data._parent;
|
||||
}
|
||||
return data;
|
||||
},
|
||||
merge: function(param, common) {
|
||||
var ret = param || common;
|
||||
|
||||
if (param && common && (param !== common)) {
|
||||
ret = Utils.extend({}, common, param);
|
||||
}
|
||||
|
||||
return ret;
|
||||
},
|
||||
|
||||
noop: env.VM.noop,
|
||||
compilerInfo: templateSpec.compiler
|
||||
};
|
||||
|
||||
var ret = function(context, options) {
|
||||
options = options || {};
|
||||
var data = options.data;
|
||||
|
||||
ret._setup(options);
|
||||
if (!options.partial && templateSpec.useData) {
|
||||
data = initData(context, data);
|
||||
}
|
||||
var depths;
|
||||
if (templateSpec.useDepths) {
|
||||
depths = options.depths ? [context].concat(options.depths) : [context];
|
||||
}
|
||||
|
||||
return templateSpec.main.call(container, context, container.helpers, container.partials, data, depths);
|
||||
};
|
||||
ret.isTop = true;
|
||||
|
||||
ret._setup = function(options) {
|
||||
if (!options.partial) {
|
||||
container.helpers = container.merge(options.helpers, env.helpers);
|
||||
|
||||
if (templateSpec.usePartial) {
|
||||
container.partials = container.merge(options.partials, env.partials);
|
||||
}
|
||||
} else {
|
||||
container.helpers = options.helpers;
|
||||
container.partials = options.partials;
|
||||
}
|
||||
};
|
||||
|
||||
ret._child = function(i, data, depths) {
|
||||
if (templateSpec.useDepths && !depths) {
|
||||
throw new Exception('must pass parent depths');
|
||||
}
|
||||
|
||||
return program(container, i, templateSpec[i], data, depths);
|
||||
};
|
||||
return ret;
|
||||
}
|
||||
|
||||
__exports__.template = template;function program(container, i, fn, data, depths) {
|
||||
var prog = function(context, options) {
|
||||
options = options || {};
|
||||
|
||||
return fn.call(container, context, container.helpers, container.partials, options.data || data, depths && [context].concat(depths));
|
||||
};
|
||||
prog.program = i;
|
||||
prog.depth = depths ? depths.length : 0;
|
||||
return prog;
|
||||
}
|
||||
|
||||
__exports__.program = program;function invokePartial(partial, name, context, helpers, partials, data, depths) {
|
||||
var options = { partial: true, helpers: helpers, partials: partials, data: data, depths: depths };
|
||||
|
||||
if(partial === undefined) {
|
||||
throw new Exception("The partial " + name + " could not be found");
|
||||
} else if(partial instanceof Function) {
|
||||
return partial(context, options);
|
||||
}
|
||||
}
|
||||
|
||||
__exports__.invokePartial = invokePartial;function noop() { return ""; }
|
||||
|
||||
__exports__.noop = noop;function initData(context, data) {
|
||||
if (!data || !('root' in data)) {
|
||||
data = data ? createFrame(data) : {};
|
||||
data.root = context;
|
||||
}
|
||||
return data;
|
||||
}
|
||||
return __exports__;
|
||||
})(__module2__, __module4__, __module1__);
|
||||
|
||||
// handlebars.runtime.js
|
||||
var __module0__ = (function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__) {
|
||||
"use strict";
|
||||
var __exports__;
|
||||
/*globals Handlebars: true */
|
||||
var base = __dependency1__;
|
||||
|
||||
// Each of these augment the Handlebars object. No need to setup here.
|
||||
// (This is done to easily share code between commonjs and browse envs)
|
||||
var SafeString = __dependency2__;
|
||||
var Exception = __dependency3__;
|
||||
var Utils = __dependency4__;
|
||||
var runtime = __dependency5__;
|
||||
|
||||
// For compatibility and usage outside of module systems, make the Handlebars object a namespace
|
||||
var create = function() {
|
||||
var hb = new base.HandlebarsEnvironment();
|
||||
|
||||
Utils.extend(hb, base);
|
||||
hb.SafeString = SafeString;
|
||||
hb.Exception = Exception;
|
||||
hb.Utils = Utils;
|
||||
hb.escapeExpression = Utils.escapeExpression;
|
||||
|
||||
hb.VM = runtime;
|
||||
hb.template = function(spec) {
|
||||
return runtime.template(spec, hb);
|
||||
};
|
||||
|
||||
return hb;
|
||||
};
|
||||
|
||||
var Handlebars = create();
|
||||
Handlebars.create = create;
|
||||
|
||||
Handlebars['default'] = Handlebars;
|
||||
|
||||
__exports__ = Handlebars;
|
||||
return __exports__;
|
||||
})(__module1__, __module3__, __module4__, __module2__, __module5__);
|
||||
|
||||
return __module0__;
|
||||
}));
|
||||
2
common/js/plugins/handlebars.runtime/handlebars.runtime.min.js
vendored
Normal file
2
common/js/plugins/handlebars.runtime/handlebars.runtime.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
common/js/plugins/handlebars.runtime/plugin.load
Normal file
1
common/js/plugins/handlebars.runtime/plugin.load
Normal file
|
|
@ -0,0 +1 @@
|
|||
handlebars.runtime.min.js
|
||||
3079
common/js/plugins/handlebars/handlebars.js
Normal file
3079
common/js/plugins/handlebars/handlebars.js
Normal file
File diff suppressed because one or more lines are too long
3
common/js/plugins/handlebars/handlebars.min.js
vendored
Normal file
3
common/js/plugins/handlebars/handlebars.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
common/js/plugins/handlebars/handlebars.min.map
Normal file
1
common/js/plugins/handlebars/handlebars.min.map
Normal file
File diff suppressed because one or more lines are too long
1
common/js/plugins/handlebars/plugin.load
Normal file
1
common/js/plugins/handlebars/plugin.load
Normal file
|
|
@ -0,0 +1 @@
|
|||
handlebars.min.js
|
||||
1
common/js/x.min.js
vendored
1
common/js/x.min.js
vendored
File diff suppressed because one or more lines are too long
1
common/js/x.min.map
Normal file
1
common/js/x.min.map
Normal file
File diff suppressed because one or more lines are too long
935
common/js/xe.js
935
common/js/xe.js
File diff suppressed because it is too large
Load diff
7
common/js/xe.min.js
vendored
7
common/js/xe.min.js
vendored
File diff suppressed because one or more lines are too long
1
common/js/xe.min.map
Normal file
1
common/js/xe.min.map
Normal file
File diff suppressed because one or more lines are too long
|
|
@ -237,17 +237,33 @@ function xml2json(xml, tab, ignoreAttrib) {
|
|||
// 현 url과 ajax call 대상 url의 schema 또는 port가 다르면 직접 form 전송
|
||||
if(_u1.protocol != _u2.protocol || _u1.port != _u2.port) return send_by_form(xml_path, params);
|
||||
|
||||
var xml = [], i = 0;
|
||||
xml[i++] = '<?xml version="1.0" encoding="utf-8" ?>';
|
||||
xml[i++] = '<methodCall>';
|
||||
xml[i++] = '<params>';
|
||||
var xml = [],
|
||||
xmlHelper = function(params) {
|
||||
var stack = [];
|
||||
|
||||
if ($.isArray(params)) {
|
||||
$.each(params, function(key, val) {
|
||||
xml[i++] = '<'+key+'><![CDATA['+val+']]></'+key+'>';
|
||||
stack.push('<value type="array">' + xmlHelper(val) + '</value>');
|
||||
});
|
||||
}
|
||||
else if ($.isPlainObject(params)) {
|
||||
$.each(params, function(key, val) {
|
||||
stack.push('<' + key + '>' + xmlHelper(val) + '</' + key + '>');
|
||||
});
|
||||
}
|
||||
else if (!$.isFunction(params)) {
|
||||
stack.push('<![CDATA[' + params + ']]>');
|
||||
}
|
||||
|
||||
xml[i++] = '</params>';
|
||||
xml[i++] = '</methodCall>';
|
||||
return stack.join('\n');
|
||||
};
|
||||
|
||||
xml.push('<?xml version="1.0" encoding="utf-8" ?>');
|
||||
xml.push('<methodCall>');
|
||||
xml.push('<params>');
|
||||
xml.push(xmlHelper(params));
|
||||
xml.push('</params>');
|
||||
xml.push('</methodCall>');
|
||||
|
||||
var _xhr = null;
|
||||
if (_xhr && _xhr.readyState !== 0) _xhr.abort();
|
||||
|
|
|
|||
|
|
@ -3945,4 +3945,20 @@
|
|||
<value xml:lang="jp"><![CDATA[基本URLが設定されていません。]]></value>
|
||||
<value xml:lang="de"><![CDATA[Standard URL ist null.]]></value>
|
||||
</item>
|
||||
<item name="license_agreement">
|
||||
<value xml:lang="ko"><![CDATA[사용권 동의]]></value>
|
||||
<value xml:lang="en"><![CDATA[License agree]]></value>
|
||||
</item>
|
||||
<item name="license">
|
||||
<value xml:lang="ko"><![CDATA[<p>Copyright (C) NAVER <http://www.navercorp.com></p> <p>"XpressEngine (XE)"은 자유 소프트웨어이며, 오픈 소스 프로젝트로 개발되고 있습니다. 자세한 내용은 아래 링크를 참조하시기 바랍니다.</p> <ul> <li>공식 사이트: <a href="http://www.xpressengine.com">http://www.xpressengine.com</a></li> <li>공식 저장소: <a href="http://github.com/xpressengine">http://github.com/xpressengine</a></li> </ul> <p>"XpressEngine (XE)"은 자유 소프트웨어입니다. 소프트웨어의 피양도자는 자유 소프트웨어 재단이 공표한 GNU 약소 일반 공중 사용 허가서 2.1판 또는 그 이후 판을 임의로 선택해서, 그 규정에 따라 소프트웨어를 개작하거나 재배포할 수 있습니다.</p> <p>이 소프트웨어는 유용하게 사용될 수 있으리라는 희망에서 배포되고 있지만, 특정한 목적에 맞는 적합성 여부나 판매용으로 사용할 수 있으리라는 묵시적인 보증을 포함한 어떠한 형태의 보증도 제공하지 않습니다. 보다 자세한 사항에 대해서는 GNU 약소 일반 공중 사용 허가서를 참고하시기 바랍니다.</p> <p>GNU 약소 일반 공중 사용 허가서는 이 라이브러리와 함께 제공됩니다. 만약, 이 문서가 누락되어 있다면 자유 소프트웨어 재단으로 문의하시기 바랍니다. (자유 소프트웨어 재단: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA)</p> <ul> <li>한국어 번역문 (비공식) : <a href="http://korea.gnu.org/people/chsong/copyleft/lgpl.ko.html" target="_blank">GNU Lesser General Public License, version 2.1</a></li> <li>영문 (공식 원본) : <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" target="_blank">GNU Lesser General Public License, version 2.1</a></li> </ul>]]></value>
|
||||
<value xml:lang="en"><![CDATA[<p>Copyright (C) NAVER <http://www.navercorp.com></p> <p>"XpressEngine (XE)" is an opensource and being developed in the opensource project. For more information, please see the link below.</p> <ul> <li>Official website: <a href="http://www.xpressengine.com">http://www.xpressengine.com</a></li> <li>Official Repository: <a href="http://github.com/xpressengine">http://github.com/xpressengine</a></li> </ul> <p>"XpressEngine (XE)" is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.</p> <p>This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.</p> <p>You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</p> <ul> <li>License : <a href="http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html" target="_blank">GNU Lesser General Public License, version 2.1</a></li> </ul>]]></value>
|
||||
</item>
|
||||
<item name="cmd_license_agree">
|
||||
<value xml:lang="ko"><![CDATA[사용권에 대해 이해했으며, 이에 동의합니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[I understand the license. I agree.]]></value>
|
||||
</item>
|
||||
<item name="msg_must_accept_license_agreement">
|
||||
<value xml:lang="ko"><![CDATA[사용권에 동의해야 설치할 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You must accept the license agreement]]></value>
|
||||
</item>
|
||||
</lang>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
<script src="{$js_file['file']}"></script>
|
||||
<block cond="$js_file['targetie']"><![endif]--></block>
|
||||
</block>
|
||||
<!--[if lt IE 9]><script src="../js/html5.js"></script><![endif]-->
|
||||
|
||||
<!-- RSS -->
|
||||
<link rel="alternate" type="application/rss+xml" title="RSS" href="{$rss_url}" cond="$rss_url" />
|
||||
<link rel="alternate" type="application/rss+xml" title="Site RSS" href="{$general_rss_url}" cond="$general_rss_url" />
|
||||
|
|
|
|||
|
|
@ -23,7 +23,6 @@
|
|||
<script src="{$js_file['file']}"></script>
|
||||
<block cond="$js_file['targetie']"><![endif]--></block>
|
||||
</block>
|
||||
<!--[if lt IE 9]><script src="../js/html5.js"></script><![endif]-->
|
||||
|
||||
<!--// RSS -->
|
||||
<!--@if($rss_url)-->
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ define('__ZBXE__', __XE__);
|
|||
/**
|
||||
* Display XE's full version.
|
||||
*/
|
||||
define('__XE_VERSION__', '1.7.7.2');
|
||||
define('__XE_VERSION__', '1.7.9');
|
||||
define('__XE_VERSION_ALPHA__', (stripos(__XE_VERSION__, 'alpha') !== false));
|
||||
define('__XE_VERSION_BETA__', (stripos(__XE_VERSION__, 'beta') !== false));
|
||||
define('__XE_VERSION_RC__', (stripos(__XE_VERSION__, 'rc') !== false));
|
||||
|
|
@ -87,6 +87,9 @@ else
|
|||
* define('__DEBUG_PROTECT_IP__', '127.0.0.1');
|
||||
* define('__DEBUG_DB_OUTPUT__', 0);
|
||||
* define('__LOG_SLOW_QUERY__', 0);
|
||||
* define('__LOG_SLOW_TRIGGER__', 0);
|
||||
* define('__LOG_SLOW_ADDON__', 0);
|
||||
* define('__LOG_SLOW_WIDGET__', 0);
|
||||
* define('__OB_GZHANDLER_ENABLE__', 1);
|
||||
* define('__ENABLE_PHPUNIT_TEST__', 0);
|
||||
* define('__PROXY_SERVER__', 'http://domain:port/path');
|
||||
|
|
@ -167,7 +170,7 @@ if(!defined('__LOG_SLOW_QUERY__'))
|
|||
* <pre>
|
||||
* 0: Do not leave a log
|
||||
* = 0: leave a log when the slow query takes over specified seconds
|
||||
* Log file is saved as ./files/_db_slow_query.php file
|
||||
* Log file is saved as ./files/_slowlog_query.php file
|
||||
* </pre>
|
||||
*/
|
||||
define('__LOG_SLOW_QUERY__', 0);
|
||||
|
|
@ -181,12 +184,40 @@ if(!defined('__LOG_SLOW_TRIGGER__'))
|
|||
* <pre>
|
||||
* 0: Do not leave a log
|
||||
* > 0: leave a log when the trigger takes over specified milliseconds
|
||||
* Log file is saved as ./files/_db_slow_trigger.php file
|
||||
* Log file is saved as ./files/_slowlog_trigger.php
|
||||
* </pre>
|
||||
*/
|
||||
define('__LOG_SLOW_TRIGGER__', 0);
|
||||
}
|
||||
|
||||
if(!defined('__LOG_SLOW_ADDON__'))
|
||||
{
|
||||
/**
|
||||
* Addon excute time log
|
||||
*
|
||||
* <pre>
|
||||
* 0: Do not leave a log
|
||||
* > 0: leave a log when the trigger takes over specified milliseconds
|
||||
* Log file is saved as ./files/_slowlog_addon.php
|
||||
* </pre>
|
||||
*/
|
||||
define('__LOG_SLOW_ADDON__', 0);
|
||||
}
|
||||
|
||||
if(!defined('__LOG_SLOW_WIDGET__'))
|
||||
{
|
||||
/**
|
||||
* Widget excute time log
|
||||
*
|
||||
* <pre>
|
||||
* 0: Do not leave a log
|
||||
* > 0: leave a log when the widget takes over specified milliseconds
|
||||
* Log file is saved as ./files/_slowlog_widget.php
|
||||
* </pre>
|
||||
*/
|
||||
define('__LOG_SLOW_WIDGET__', 0);
|
||||
}
|
||||
|
||||
if(!defined('__DEBUG_QUERY__'))
|
||||
{
|
||||
/**
|
||||
|
|
@ -268,7 +299,6 @@ if(!defined('__XE_LOADED_CLASS__'))
|
|||
require(_XE_PATH_ . 'classes/xml/XmlJsFilter.class.php');
|
||||
require(_XE_PATH_ . 'classes/xml/XmlLangParser.class.php');
|
||||
require(_XE_PATH_ . 'classes/cache/CacheHandler.class.php');
|
||||
require(_XE_PATH_ . 'classes/router/Router.class.php');
|
||||
require(_XE_PATH_ . 'classes/context/Context.class.php');
|
||||
require(_XE_PATH_ . 'classes/db/DB.class.php');
|
||||
require(_XE_PATH_ . 'classes/file/FileHandler.class.php');
|
||||
|
|
|
|||
|
|
@ -845,10 +845,13 @@ function debugPrint($debug_output = NULL, $display_option = TRUE, $file = '_debu
|
|||
*/
|
||||
function writeSlowlog($type, $elapsed_time, $obj)
|
||||
{
|
||||
if(!__LOG_SLOW_TRIGGER__ && !__LOG_SLOW_ADDON__ && !__LOG_SLOW_WIDGET__ && !__LOG_SLOW_QUERY__) return;
|
||||
|
||||
static $log_filename = array(
|
||||
'query' => 'files/_slowlog_query.php',
|
||||
'trigger' => 'files/_slowlog_trigger.php',
|
||||
'addon' => 'files/_slowlog_addon.php'
|
||||
'addon' => 'files/_slowlog_addon.php',
|
||||
'widget' => 'files/_slowlog_widget.php'
|
||||
);
|
||||
$write_file = true;
|
||||
|
||||
|
|
@ -863,6 +866,15 @@ function writeSlowlog($type, $elapsed_time, $obj)
|
|||
$buff[] = "\tCaller : " . $obj->caller;
|
||||
$buff[] = "\tCalled : " . $obj->called;
|
||||
}
|
||||
else if($type == 'addon' && __LOG_SLOW_ADDON__ > 0 && $elapsed_time > __LOG_SLOW_ADDON__)
|
||||
{
|
||||
$buff[] = "\tAddon : " . $obj->called;
|
||||
$buff[] = "\tCalled position : " . $obj->caller;
|
||||
}
|
||||
else if($type == 'widget' && __LOG_SLOW_WIDGET__ > 0 && $elapsed_time > __LOG_SLOW_WIDGET__)
|
||||
{
|
||||
$buff[] = "\tWidget : " . $obj->called;
|
||||
}
|
||||
else if($type == 'query' && __LOG_SLOW_QUERY__ > 0 && $elapsed_time > __LOG_SLOW_QUERY__)
|
||||
{
|
||||
|
||||
|
|
@ -883,15 +895,26 @@ function writeSlowlog($type, $elapsed_time, $obj)
|
|||
file_put_contents($log_file, implode(PHP_EOL, $buff), FILE_APPEND);
|
||||
}
|
||||
|
||||
if($type != 'query')
|
||||
{
|
||||
$trigger_args = $obj;
|
||||
$trigger_args->_log_type = $type;
|
||||
$trigger_args->_elapsed_time = $elapsed_time;
|
||||
if($type != 'query')
|
||||
{
|
||||
ModuleHandler::triggerCall('XE.writeSlowlog', 'after', $trigger_args);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param void
|
||||
*/
|
||||
function flushSlowlog()
|
||||
{
|
||||
$trigger_args = new stdClass();
|
||||
$trigger_args->_log_type = 'flush';
|
||||
$trigger_args->_elapsed_time = 0;
|
||||
ModuleHandler::triggerCall('XE.writeSlowlog', 'after', $trigger_args);
|
||||
}
|
||||
|
||||
/**
|
||||
* microtime() return
|
||||
*
|
||||
|
|
|
|||
|
|
@ -5,13 +5,10 @@
|
|||
* @author NAVER (developers@xpressengine.com)
|
||||
* @brief Start page
|
||||
*
|
||||
* Find and create module object by mif, act in Request Argument
|
||||
* Set module information
|
||||
*
|
||||
* @mainpage XpressEngine
|
||||
* @section intro introduction
|
||||
*
|
||||
* XE is an opensource and being developed in the opensource project.\n
|
||||
* "XpressEngine (XE)" is an opensource and being developed in the opensource project.\n
|
||||
* For more information, please see the link below.
|
||||
* - Official website: http://www.xpressengine.com
|
||||
* - Offcial Repository: https://github.com/xpressengine/xe-core
|
||||
|
|
@ -21,7 +18,7 @@
|
|||
* License as published by the Free Software Foundation; either \n
|
||||
* version 2.1 of the License, or (at your option) any later version. \n
|
||||
* \n
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* This software is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
|
|
|
|||
|
|
@ -130,12 +130,10 @@ class addonController extends addon
|
|||
$buff[] = '}}}';
|
||||
$buff[] = '$after_time = microtime(true);';
|
||||
$buff[] = '$addon_time_log = new stdClass();';
|
||||
$buff[] = '$addon_time_log->_log_type = "addon";';
|
||||
$buff[] = '$addon_time_log->caller = $called_position;';
|
||||
$buff[] = '$addon_time_log->called = "' . $addon . '";';
|
||||
$buff[] = '$addon_time_log->called_extension = "' . $addon . '";';
|
||||
$buff[] = '$addon_time_log->_elapsed_time = $after_time-$before_time;';
|
||||
$buff[] = 'ModuleHandler::triggerCall("XE.writeSlowlog", "after", $addon_time_log);';
|
||||
$buff[] = 'writeSlowlog("addon",$after_time-$before_time,$addon_time_log);';
|
||||
}
|
||||
$addon_path = _XE_PATH_ . 'files/cache/addons/';
|
||||
FileHandler::makeDir($addon_path);
|
||||
|
|
|
|||
|
|
@ -61,6 +61,9 @@ class adminAdminController extends admin
|
|||
FileHandler::rename('./files/cache', $temp_cache_dir);
|
||||
FileHandler::makeDir('./files/cache');
|
||||
|
||||
// remove module extend cache
|
||||
FileHandler::removeFile(_XE_PATH_ . 'files/config/module_extend.php');
|
||||
|
||||
// remove debug files
|
||||
FileHandler::removeFile(_XE_PATH_ . 'files/_debug_message.php');
|
||||
FileHandler::removeFile(_XE_PATH_ . 'files/_debug_db_query.php');
|
||||
|
|
|
|||
|
|
@ -935,19 +935,18 @@ class adminAdminModel extends admin
|
|||
return $output->data->count;
|
||||
}
|
||||
|
||||
function getFaviconUrl()
|
||||
function getFaviconUrl($default = true)
|
||||
{
|
||||
return $this->iconUrlCheck('favicon.ico', 'faviconSample.png');
|
||||
return $this->iconUrlCheck('favicon.ico', 'faviconSample.png', $default);
|
||||
}
|
||||
|
||||
function getMobileIconUrl()
|
||||
function getMobileIconUrl($default = true)
|
||||
{
|
||||
return $this->iconUrlCheck('mobicon.png', 'mobiconSample.png');
|
||||
return $this->iconUrlCheck('mobicon.png', 'mobiconSample.png', $default);
|
||||
}
|
||||
|
||||
function iconUrlCheck($iconname, $default_icon_name)
|
||||
function iconUrlCheck($iconname, $default_icon_name, $default)
|
||||
{
|
||||
|
||||
$site_info = Context::get('site_module_info');
|
||||
$virtual_site = '';
|
||||
if($site_info->site_srl)
|
||||
|
|
@ -956,13 +955,14 @@ class adminAdminModel extends admin
|
|||
}
|
||||
|
||||
$file_exsit = FileHandler::readFile(_XE_PATH_ . 'files/attach/xeicon/' . $virtual_site . $iconname);
|
||||
if(!$file_exsit)
|
||||
if(!$file_exsit && $default === true)
|
||||
{
|
||||
$icon_url = './modules/admin/tpl/img/' . $default_icon_name;
|
||||
}
|
||||
else
|
||||
elseif($file_exsit)
|
||||
{
|
||||
$icon_url = $db_info->default_url . 'files/attach/xeicon/' . $virtual_site . $iconname;
|
||||
$default_url = Context::getDefaultUrl();
|
||||
$icon_url = $default_url . 'files/attach/xeicon/' . $virtual_site . $iconname;
|
||||
}
|
||||
return $icon_url;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -273,7 +273,6 @@ class adminAdminView extends admin
|
|||
$oDocumentModel = getModel('document');
|
||||
$columnList = array('document_srl', 'module_srl', 'category_srl', 'title', 'nick_name', 'member_srl');
|
||||
$args->list_count = 5;
|
||||
;
|
||||
$output = $oDocumentModel->getDocumentList($args, FALSE, FALSE, $columnList);
|
||||
Context::set('latestDocumentList', $output->data);
|
||||
unset($args, $output, $columnList);
|
||||
|
|
@ -381,6 +380,16 @@ class adminAdminView extends admin
|
|||
$isEnviromentGatheringAgreement = TRUE;
|
||||
}
|
||||
Context::set('isEnviromentGatheringAgreement', $isEnviromentGatheringAgreement);
|
||||
|
||||
// license agreement check
|
||||
$isLicenseAgreement = FALSE;
|
||||
$path = FileHandler::getRealPath('./files/env/license_agreement');
|
||||
$isLicenseAgreement = FALSE;
|
||||
if(file_exists($path))
|
||||
{
|
||||
$isLicenseAgreement = TRUE;
|
||||
}
|
||||
Context::set('isLicenseAgreement', $isLicenseAgreement);
|
||||
Context::set('layout', 'none');
|
||||
|
||||
$this->setTemplateFile('index');
|
||||
|
|
@ -436,7 +445,7 @@ class adminAdminView extends admin
|
|||
$oModuleModel = getModel('module');
|
||||
$config = $oModuleModel->getModuleConfig('module');
|
||||
Context::set('siteTitle', $config->siteTitle);
|
||||
Context::set('htmlFooter', $config->htmlFooter);
|
||||
Context::set('htmlFooter', htmlspecialchars($config->htmlFooter));
|
||||
|
||||
// embed filter
|
||||
require_once(_XE_PATH_ . 'classes/security/EmbedFilter.class.php');
|
||||
|
|
@ -515,7 +524,6 @@ class adminAdminView extends admin
|
|||
$img = sprintf('<img src="%s" alt="" style="height:0px;width:0px" />', $server . $params);
|
||||
Context::addHtmlFooter($img);
|
||||
|
||||
FileHandler::removeDir($path);
|
||||
FileHandler::writeFile($path . $mainVersion, '1');
|
||||
}
|
||||
else if(isset($_SESSION['enviroment_gather']) && !file_exists(FileHandler::getRealPath($path . $mainVersion)))
|
||||
|
|
@ -528,7 +536,6 @@ class adminAdminView extends admin
|
|||
Context::addHtmlFooter($img);
|
||||
}
|
||||
|
||||
FileHandler::removeDir($path);
|
||||
FileHandler::writeFile($path . $mainVersion, '1');
|
||||
unset($_SESSION['enviroment_gather']);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1597,8 +1597,8 @@
|
|||
<value xml:lang="jp"><![CDATA[HTMLタグを使用できます。]]></value>
|
||||
</item>
|
||||
<item name="sitelock_warning_whitelist">
|
||||
<value xml:lang="ko"><![CDATA[이곳에 관리자의 IP를 반드시 포함해야 합니다.<br />만약 접근이 차단된 경우 './files/config/db.config.php' 파일에서 `'use_sitelock' => '<strong>Y</strong>'`를 `'use_sitelock' => '<strong>N</strong>'`으로 변경하여 차단을 해제할 수 있습니다.<br />사이트 잠금 디자인 파일의 위치는 './common/tpl/sitelock.html'이며<br />'./common/tpl/sitelock.user.html' 파일을 만들어서 디자인 파일을 편집하실 수 있습니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You should include the IP of the administrator here.<br />If the access is blocked, you can unbrick this by changing `'use_sitelock' => '<strong>Y</strong>'` to `'use_sitelock' => '<strong>N</strong>'` in './files/config/db.config.php.'<br />The file of site lock design is at './common/tpl/sitelock.html'.<br />You can modify design file by creating './common/tpl/sitelock.user.html'.]]></value>
|
||||
<value xml:lang="ko"><![CDATA[이곳에 관리자의 IP를 반드시 포함해야 합니다.<br />만약 접근이 차단된 경우 './files/config/db.config.php' 파일에서 `'use_sitelock' => '<strong>Y</strong>'`를 `'use_sitelock' => '<strong>N</strong>'`으로 변경하여 차단을 해제할 수 있습니다.<br />사이트 잠금 디자인 파일의 위치는 './common/tpl/sitelock.html' 입니다.]]></value>
|
||||
<value xml:lang="en"><![CDATA[You should include the IP of the administrator here.<br />If the access is blocked, you can unbrick this by changing `'use_sitelock' => '<strong>Y</strong>'` to `'use_sitelock' => '<strong>N</strong>'` in './files/config/db.config.php.'<br />The file of site lock design is at './common/tpl/sitelock.html.']]></value>
|
||||
<value xml:lang="jp"><![CDATA[ここに管理者のIPを必ず記入てください。<br />もし接近が遮断された場合、'./files/config/db.config.php' ファイルから `'use_sitelock' => '<strong>Y</strong>'`を `'use_sitelock' => '<strong>N</strong>'`へ変更すれば遮断が解除できます。<br />サイトロックの設計ファイルの場所は、'./commo/tpl/sitelock.html' です。]]></value>
|
||||
</item>
|
||||
<item name="your_ip">
|
||||
|
|
|
|||
|
|
@ -10,12 +10,29 @@
|
|||
<div class="x_page-header">
|
||||
<h1>{$lang->control_panel} <a class="x_icon-question-sign" href="./admin/help/index.html#UMAN_dashboard" target="_blank">{$lang->help}</a></h1>
|
||||
</div>
|
||||
|
||||
<div id="checkBrowserMessage" class="message error" style="display:none;">
|
||||
<h2>{$lang->checkBrowserIE8}</h2>
|
||||
</div>
|
||||
|
||||
<div cond="$XE_VALIDATOR_MESSAGE && $XE_VALIDATOR_ID == 'modules/admin/tpl/index/1'" class="message {$XE_VALIDATOR_MESSAGE_TYPE}">
|
||||
<p>{$XE_VALIDATOR_MESSAGE}</p>
|
||||
</div>
|
||||
|
||||
<form action="./" method="post" class="message info x_clearfix" cond="!$isLicenseAgreement">
|
||||
<input type="hidden" name="success_return_url" value="{getUrl('', 'module', 'admin')}" />
|
||||
<input type="hidden" name="module" value="install" />
|
||||
<input type="hidden" name="act" value="procInstallLicenseAggrement" />
|
||||
<input type="hidden" name="license_agreement" value="Y" />
|
||||
<input type="hidden" name="XE_VALIDATOR_ID" value="modules/admin/tpl/index/1">
|
||||
|
||||
<h2>{$lang->license_agreement}</h2>
|
||||
<div>{$lang->license}</div>
|
||||
<div class="x_btn-group x_pull-right" style="margin-bottom:10px">
|
||||
<button type="submit" class="x_btn x_btn-small x_btn-primary" value="">{$lang->cmd_license_agree}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<form action="./" method="post" class="message info x_clearfix" cond="!$isEnviromentGatheringAgreement">
|
||||
<input type="hidden" name="module" value="admin" />
|
||||
<input type="hidden" name="act" value="procAdminEnviromentGatheringAgreement" />
|
||||
|
|
@ -27,6 +44,7 @@
|
|||
<button type="submit" name="is_agree" value="true" class="x_btn x_btn-small x_btn-primary">{$lang->agree}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="message update" cond="$addTables || $needUpdate">
|
||||
<h2 cond="$needUpdate && $addTables">{$lang->need_update_and_table}</h2>
|
||||
<h2 cond="$needUpdate && !$addTables">{$lang->need_update}</h2>
|
||||
|
|
@ -38,6 +56,7 @@
|
|||
</block>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="message update" cond="count($newVersionList)">
|
||||
<h2>{$lang->available_new_version}</h2>
|
||||
<ul>
|
||||
|
|
|
|||
1
modules/admin/tpl/js/admin.min.js
vendored
1
modules/admin/tpl/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
1
modules/admin/tpl/js/admin.min.map
Normal file
1
modules/admin/tpl/js/admin.min.map
Normal file
File diff suppressed because one or more lines are too long
1
modules/admin/tpl/js/config.min.js
vendored
1
modules/admin/tpl/js/config.min.js
vendored
|
|
@ -1 +1,2 @@
|
|||
function setStartModule(){var a=jQuery(".moduleIdList option:selected").text(),b=jQuery(".moduleIdList").val();jQuery("#_target_module").val(a),jQuery("#index_module_srl").val(b),jQuery(".moduleList,.moduleIdList, .site_keyword_search, #sitefind_addBtn").css("display","none")}function viewSiteSearch(){jQuery(".site_keyword_search").css("display","")}function getFTPList(a){var b=jQuery("#ftp_form").get(0);b.ftp_root_path.value="undefined"!=typeof a?a:!b.ftp_root_path.value&&"undefined"!=typeof b.sftp&&b.sftp.checked?xe_root:"/";var c=[];c.ftp_user=jQuery("#ftp_user").val(),c.ftp_password=jQuery("#ftp_password").val(),c.ftp_host=jQuery("#ftp_host").val(),c.ftp_port=jQuery("#ftp_port").val(),c.ftp_root_path=jQuery("#ftp_root_path").val(),c.sftp=jQuery("input[name=sftp]:checked").val(),exec_xml("admin","getAdminFTPList",c,completeGetFtpInfo,["list","error","message"],c,b)}function removeFTPInfo(){var a={};exec_xml("install","procInstallAdminRemoveFTPInfo",a,filterAlertMessage,["error","message"],a)}function completeGetFtpInfo(a){if(0!==a.error)return alert(a.error),void alert(a.message);var b=jQuery("#ftpSuggestion").empty(),c="";jQuery.isArray(a.list.item)||(a.list.item=[a.list.item]),pwd=jQuery("#ftp_form").get(0).ftp_root_path.value,"/"!=pwd&&(arr=pwd.split("/"),arr.pop(),arr.pop(),arr.push(""),target=arr.join("/"),c=c+"<li><button type='button' onclick=\"getFTPList('"+target+"')\">../</button></li>");for(var d=0;d<a.list.item.length;d++){var e=a.list.item[d];"../"!=e&&"./"!=e&&(c=c+"<li><button type='button' onclick=\"getFTPList('"+pwd+e+"')\">"+e+"</button></li>")}c="<ul>"+c+"</ul>",b.append(jQuery(c))}function deleteIcon(a){var b=[];b.iconname=a,exec_xml("admin","procAdminRemoveIcons",b,iconDeleteMessage,["error","message"],b),icon=a}function iconDeleteMessage(a){alert(a.message),"0"==a.error&&("favicon.ico"==icon?jQuery(".faviconPreview img").attr("src","modules/admin/tpl/img/faviconSample.png"):"mobicon.png"==icon&&jQuery(".mobiconPreview img").attr("src","modules/admin/tpl/img/mobiconSample.png"))}function doRecompileCacheFile(){if(confirm(xe.lang.confirm_run)){var a=[];exec_xml("admin","procAdminRecompileCacheFile",a,completeCacheMessage)}}function completeCacheMessage(a){alert(a.message)}function doResetAdminMenu(){if(confirm(xe.lang.confirm_reset_admin_menu)){var a=[];a.menu_srl=admin_menu_srl,exec_xml("admin","procAdminMenuReset",a,completeResetAdminMenu)}}function completeResetAdminMenu(){document.location.reload()}jQuery(function(a){a(".tgContent ul").bind("click",function(){a("#sitefind_addBtn").css("display","")})});var icon=null;
|
||||
//# sourceMappingURL=config.min.map
|
||||
1
modules/admin/tpl/js/config.min.map
Normal file
1
modules/admin/tpl/js/config.min.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"config.min.js","sources":["config.js"],"names":["setStartModule","target_module","jQuery","text","index_module_srl","val","css","viewSiteSearch","getFTPList","pwd","form","get","ftp_root_path","value","sftp","checked","xe_root","params","ftp_user","ftp_password","ftp_host","ftp_port","exec_xml","completeGetFtpInfo","removeFTPInfo","filterAlertMessage","ret_obj","error","alert","message","e","empty","list","isArray","item","arr","split","pop","push","target","join","i","length","v","append","deleteIcon","iconname","iconDeleteMessage","icon","attr","doRecompileCacheFile","confirm","xe","lang","confirm_run","completeCacheMessage","doResetAdminMenu","confirm_reset_admin_menu","menu_srl","admin_menu_srl","completeResetAdminMenu","document","location","reload","$","bind"],"mappings":"AAMA,QAASA,kBACR,GAAIC,GAAgBC,OAAO,iCAAiCC,OACxDC,EAAmBF,OAAO,iBAAiBG,KAC/CH,QAAO,mBAAmBG,IAAIJ,GAC9BC,OAAO,qBAAqBG,IAAID,GAChCF,OAAO,qEAAqEI,IAAI,UAAU,QAG3F,QAASC,kBACRL,OAAO,wBAAwBI,IAAI,UAAU,IAG9C,QAASE,YAAWC,GAEnB,GAAIC,GAAOR,OAAO,aAAaS,IAAI,EAGlCD,GAAKE,cAAcC,MAFF,mBAAT,GAEmBJ,GAIvBC,EAAKE,cAAcC,OAA8B,mBAAdH,GAAS,MAAoBA,EAAKI,KAAKC,QAElDC,QAIA,GAI7B,IAAIC,KAEJA,GAAOC,SAAWhB,OAAO,aAAaG,MACtCY,EAAOE,aAAcjB,OAAO,iBAAiBG,MAC7CY,EAAOG,SAAWlB,OAAO,aAAaG,MACtCY,EAAOI,SAAWnB,OAAO,aAAaG,MACtCY,EAAOL,cAAgBV,OAAO,kBAAkBG,MAChDY,EAAOH,KAAOZ,OAAO,4BAA4BG,MAEjDiB,SAAS,QAAS,kBAAmBL,EAAQM,oBAAqB,OAAQ,QAAS,WAAYN,EAAQP,GAGxG,QAASc,iBAER,GAAIP,KACJK,UAAS,UAAW,gCAAiCL,EAAQQ,oBAAqB,QAAS,WAAYR,GAGxG,QAASM,oBAAmBG,GAE3B,GAAqB,IAAlBA,EAAQC,MAIV,MAFAC,OAAMF,EAAQC,WACdC,OAAMF,EAAQG,QAGf,IAAIC,GAAI5B,OAAO,kBAAkB6B,QAE7BC,EAAO,EACP9B,QAAO+B,QAAQP,EAAQM,KAAKE,QAE/BR,EAAQM,KAAKE,MAAQR,EAAQM,KAAKE,OAGnCzB,IAAMP,OAAO,aAAaS,IAAI,GAAGC,cAAcC,MACrC,KAAPJ,MAEF0B,IAAM1B,IAAI2B,MAAM,KAChBD,IAAIE,MACJF,IAAIE,MACJF,IAAIG,KAAK,IACTC,OAASJ,IAAIK,KAAK,KAClBR,EAAOA,EAAO,mDAAmDO,OAAO,yBAGzE,KAAI,GAAIE,GAAE,EAAEA,EAAEf,EAAQM,KAAKE,KAAKQ,OAAOD,IACvC,CACC,GAAIE,GAAIjB,EAAQM,KAAKE,KAAKO,EAClB,QAALE,GAIW,MAALA,IAMRX,EAAOA,EAAO,mDAAmDvB,IAAIkC,EAAE,QAAQA,EAAE,kBAGnFX,EAAO,OAAOA,EAAK,QACnBF,EAAEc,OAAO1C,OAAO8B,IAIjB,QAASa,YAAWC,GACnB,GAAI7B,KACJA,GAAO6B,SAAWA,EAClBxB,SAAS,QAAS,uBAAwBL,EAAQ8B,mBAAoB,QAAS,WAAY9B,GAC3F+B,KAAOF,EAER,QAASC,mBAAkBrB,GAC1BE,MAAMF,EAAQG,SAEO,KAAjBH,EAAQC,QAEC,eAARqB,KACH9C,OAAO,uBAAuB+C,KAAK,MAAO,2CACzB,eAARD,MACT9C,OAAO,uBAAuB+C,KAAK,MAAO,4CAI7C,QAASC,wBACR,GAAKC,QAAQC,GAAGC,KAAKC,aAArB,CACA,GAAIrC,KACJK,UAAS,QAAQ,8BAA+BL,EAAQsC,uBAEzD,QAASA,sBAAqB7B,GAC7BE,MAAMF,EAAQG,SAGf,QAAS2B,oBACR,GAAKL,QAAQC,GAAGC,KAAKI,0BAArB,CACA,GAAIxC,KACJA,GAAOyC,SAAWC,eAClBrC,SAAS,QAAQ,qBAAsBL,EAAQ2C,yBAEhD,QAASA,0BACRC,SAASC,SAASC,SAzInB7D,OAAO,SAAS8D,GACfA,EAAE,iBAAiBC,KAAK,QAAS,WAChCD,EAAE,oBAAoB1D,IAAI,UAAU,OAoGtC,IAAI0C,MAAO"}
|
||||
1
modules/admin/tpl/js/menu_setup.min.js
vendored
1
modules/admin/tpl/js/menu_setup.min.js
vendored
|
|
@ -1 +1,2 @@
|
|||
jQuery(function(a){function b(b){var c;if(moduleList=b.menuList){var d=a("#menuNameList");for(var e in moduleList){var f=moduleList[e];c=a('<optgroup label="'+e+'" />').appendTo(d);for(var g in f)c.append('<option value="'+e+":"+g+'">'+f[g].title+"</option>")}}}var c,d,e=a("#editForm"),f=a("#listForm");a("a._add").click(function(){if(d=a(this).parent().prevAll("._item_key").val(),e.find("input[name=parent_srl]").val(d),!c){var f=[],g=["menuList"];exec_xml("menu","procMenuAdminAllActList",f,b,g)}}),a("a._parent_delete").click(function(){var b=a(this).parent().prevAll("._parent_key").val();f.find("input[name=menu_item_srl]").val(b),f.submit()}),a("a._child_delete").click(function(){var b=a(this).closest("li").find("._item_key").val();f.find("input[name=menu_item_srl]").val(b),f.submit()})}),jQuery(function(a){function b(a,b){for(var c=0,d=0;a&&a!=b;)c+=a.offsetTop,d+=a.offsetLeft,a=a.offsetParent;return{top:c,left:d}}a("form.adminMap").delegate("li:not(.placeholder)","dropped.st",function(){var b,c,d=a(this);b=d.find(">input._parent_key"),c=!!d.parent("ul").parent("li").length,b.val(c?d.parent("ul").parent("li").find(">input._item_key").val():"0")});var c=!1,d=a('<li class="placeholder">');a("form.adminMap>ul").delegate("li:not(.placeholder,.parent)",{"mousedown.st":function(e){var f,g,h,i,j,k,l,m,n,o;if(!a(e.target).is("a,input,label,textarea")&&1==e.which){for(c=!0,f=a(this),j=f.height(),i=f.width(),g=f.parentsUntil(".adminMap").filter("ul"),h=g.eq(-1),l={x:e.pageX,y:e.pageY},k=b(this,h.get(0)),$clone=f.clone(!0).attr("target",!0),n=g.length-1;n;n--)$clone=$clone.wrap("<li><ul /></li>").parent().parent();return m=[],h.find("li").each(function(){if(f[0]===this||f.has(this).length)return!0;var c=b(this,h.get(0));m.push({top:c.top,bottom:c.top+32,$item:a(this)})}),$clone.find(".side,input").remove().end().addClass("draggable").css({position:"absolute",opacity:.6,width:i,height:j,left:k.left,top:k.top,zIndex:100}).appendTo(h.eq(0)),d.css({position:"absolute",opacity:.6,width:i,height:"10px",left:k.left,top:k.top,zIndex:99}).appendTo(h.eq(0)),f.css("opacity",.6),a(document).unbind("mousemove.st mouseup.st").bind("mousemove.st",function(a){var b,c,e,f,g;for(o=null,b={x:l.x-a.pageX,y:l.y-a.pageY},c=k.top-b.y,e=0,f=m.length;f>e;e++)g=m[e],g.top>c||g.bottom<c||(o={element:g.$item},g.$item.hasClass("parent")?(o.state="prepend",d.css("top",g.bottom-5)):g.top>c-12?(o.state="before",d.css("top",g.top-5)):(o.state="after",d.css("top",g.bottom-5)));$clone.css({top:c})}).bind("mouseup.st",function(){var b,e;c=!1,a(document).unbind("mousemove.st mouseup.st"),f.css("opacity",""),$clone.remove(),d.remove(),e=a("<li />").height(f.height()),o&&(b=a(o.element),f.before(e),"prepend"==o.state?(b.find(">ul").length||b.find(">.side").after("<ul>"),b.find(">ul").prepend(f.hide())):b[o.state](f.hide()),f.slideDown(100,function(){f.removeClass("active")}),e.slideUp(100,function(){var a=e.parent();e.remove(),a.children("li").length||a.remove()}),f.trigger("dropped.st"))}),!1}},"mouseover.st":function(){return c||a(this).addClass("active"),!1},"mouseout.st":function(){return c||a(this).removeClass("active"),!1}}).find("li li").prepend('<button type="button" class="moveTo">Move to</button>').end().end(),a('<div id="dropzone-marker" />').css({display:"none",position:"absolute",backgroundColor:"#000",opacity:.7}).appendTo("body")});
|
||||
//# sourceMappingURL=menu_setup.min.map
|
||||
1
modules/admin/tpl/js/menu_setup.min.map
Normal file
1
modules/admin/tpl/js/menu_setup.min.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"menu_setup.min.js","sources":["menu_setup.js"],"names":["jQuery","$","completeGetActList","obj","$optgroup","moduleList","menuList","menuNameList","x","appendTo","y","append","title","parentSrl","editForm","listForm","click","this","parent","prevAll","val","find","params","response_tags","exec_xml","menu_item_srl","submit","closest","getOffset","elem","offsetParent","top","left","offsetTop","offsetLeft","delegate","$pkey","is_child","$this","length","dragging","$holder","mousedown.st","event","$uls","$ul","width","height","offset","position","offsets","i","dropzone","target","is","which","parentsUntil","filter","eq","pageX","pageY","get","$clone","clone","attr","wrap","each","has","o","push","bottom","$item","remove","end","addClass","css","opacity","zIndex","document","unbind","bind","diff","nTop","c","element","hasClass","state","$dropzone","$li","before","after","prepend","hide","slideDown","removeClass","slideUp","$par","children","trigger","mouseover.st","mouseout.st","display","backgroundColor"],"mappings":"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"}
|
||||
|
|
@ -124,7 +124,7 @@ class ModuleInstaller
|
|||
}
|
||||
else
|
||||
{
|
||||
$subpath = substr($this->package->path, 2);
|
||||
$subpath = trim(substr($this->package->path, 2), '/');
|
||||
$this->download_file = $this->temp_dir . $subpath . ".tar";
|
||||
$subpatharr = explode("/", $subpath);
|
||||
array_pop($subpatharr);
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class boardAdminController extends board {
|
|||
* @brief insert borad module
|
||||
**/
|
||||
function procBoardAdminInsertBoard($args = null) {
|
||||
// igenerate module model/controller object
|
||||
// generate module model/controller object
|
||||
$oModuleController = getController('module');
|
||||
$oModuleModel = getModel('module');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<!--%import("css/mboard.css")-->
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd">
|
||||
<div class="hx h2">
|
||||
<h2><a href="{getUrl('','vid',$vid,'mid',$mid)}">{$module_info->browser_title}</a> › {$lang->category}</h2>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<!--%import("js/mboard.js")-->
|
||||
<!--%import("css/mboard.css")-->
|
||||
<load target="js/mboard.js" />
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd rd">
|
||||
<div class="hx h2">
|
||||
<h2><a href="{getUrl('','vid',$vid,'mid',$mid)}">{$module_info->browser_title}</a></h2>
|
||||
|
|
|
|||
|
|
@ -378,8 +378,10 @@ input[type=radio] {
|
|||
}
|
||||
.rp .btn {
|
||||
display: inline-block;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
width: 15px !important;
|
||||
height: 15px !important;
|
||||
padding: 0 !important;
|
||||
border: 0 !important;
|
||||
overflow: hidden;
|
||||
vertical-align: middle;
|
||||
text-indent: 15px;
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -1,10 +1,6 @@
|
|||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<!--%import("js/mboard.js")-->
|
||||
<!--%import("css/mboard.css")-->
|
||||
<load target="js/mboard.js" />
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd">
|
||||
<div class="hx h2">
|
||||
<h2>{$lang->confirm_delete}</h2>
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<!--%import("js/mboard.js")-->
|
||||
<!--%import("css/mboard.css")-->
|
||||
<load target="js/mboard.js" />
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd">
|
||||
<div class="hx h2">
|
||||
<h2>{$lang->confirm_delete}</h2>
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
<!--%import("css/mboard.css")-->
|
||||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd">
|
||||
<div class="hx h2">
|
||||
<h2>{$lang->msg_input_password}</h2>
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
function completeInsertComment(a){var b=(a.error,a.message,a.mid),c=a.document_srl,d=a.comment_srl,e=current_url.setQuery("mid",b).setQuery("document_srl",c).setQuery("act","");d&&(e=e.setQuery("rnd",d)+"#comment_"+d),location.href=e}function completeDocumentInserted(a){var b,c=(a.error,a.message,a.mid),d=a.document_srl,e=a.category_srl;b=d?current_url.setQuery("mid",c).setQuery("document_srl",d).setQuery("act",""):current_url.setQuery("mid",c).setQuery("act",""),e&&(b=b.setQuery("category",e)),location.href=b}function completeGetPage(a){jQuery("#cl").remove(),jQuery("#clpn").remove(),jQuery("#clb").parent().after(a.html)}function loadPage(a,b){var c={};c.cpage=b,c.document_srl=a,c.mid=current_mid,jQuery.exec_json("board.getBoardCommentPage",c,completeGetPage)}function completeDeleteComment(a){var b=(a.error,a.message,a.mid),c=a.document_srl,d=a.page,e=current_url.setQuery("mid",b).setQuery("document_srl",c).setQuery("act","");d&&(e=e.setQuery("page",d)),location.href=e}function completeDeleteDocument(a){var b=(a.error,a.message,a.mid),c=a.page,d=current_url.setQuery("mid",b).setQuery("act","").setQuery("document_srl","");c&&(d=d.setQuery("page",c)),location.href=d}
|
||||
//# sourceMappingURL=mboard.min.map
|
||||
1
modules/board/m.skins/default/js/mboard.min.map
Normal file
1
modules/board/m.skins/default/js/mboard.min.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"mboard.min.js","sources":["mboard.js"],"names":["completeInsertComment","ret_obj","mid","error","message","document_srl","comment_srl","url","current_url","setQuery","location","href","completeDocumentInserted","category_srl","completeGetPage","ret_val","jQuery","remove","parent","after","html","loadPage","page","params","cpage","current_mid","exec_json","completeDeleteComment","completeDeleteDocument"],"mappings":"AAAA,QAASA,uBAAsBC,GAE9B,GAEIC,IAFQD,EAAQE,MACNF,EAAQG,QACZH,EAAQC,KACdG,EAAeJ,EAAQI,aACvBC,EAAcL,EAAQK,YAEtBC,EAAMC,YAAYC,SAAS,MAAMP,GAAKO,SAAS,eAAeJ,GAAcI,SAAS,MAAM,GAC5FH,KAAaC,EAAMA,EAAIE,SAAS,MAAMH,GAAa,YAAYA,GAElEI,SAASC,KAAOJ,EAGjB,QAASK,0BAAyBX,GAEjC,GAMIM,GAJAL,GAFQD,EAAQE,MACNF,EAAQG,QACZH,EAAQC,KACdG,EAAeJ,EAAQI,aACvBQ,EAAeZ,EAAQY,YAS1BN,GANGF,EAMGG,YAAYC,SAAS,MAAMP,GAAKO,SAAS,eAAeJ,GAAcI,SAAS,MAAM,IAJrFD,YAAYC,SAAS,MAAMP,GAAKO,SAAS,MAAM,IAMnDI,IAAcN,EAAMA,EAAIE,SAAS,WAAWI,IAE/CH,SAASC,KAAOJ,EAGjB,QAASO,iBAAgBC,GAExBC,OAAO,OAAOC,SACdD,OAAO,SAASC,SAChBD,OAAO,QAAQE,SAASC,MAAMJ,EAAQK,MAGvC,QAASC,UAAShB,EAAciB,GAE/B,GAAIC,KACJA,GAAOC,MAAQF,EACfC,EAAOlB,aAAeA,EACtBkB,EAAOrB,IAAMuB,YACbT,OAAOU,UAAU,4BAA6BH,EAAQT,iBAGvD,QAASa,uBAAsB1B,GAE9B,GAEIC,IAFQD,EAAQE,MACNF,EAAQG,QACZH,EAAQC,KACdG,EAAeJ,EAAQI,aACvBiB,EAAOrB,EAAQqB,KAEff,EAAMC,YAAYC,SAAS,MAAMP,GAAKO,SAAS,eAAeJ,GAAcI,SAAS,MAAM,GAC5Fa,KAAMf,EAAMA,EAAIE,SAAS,OAAOa,IAEnCZ,SAASC,KAAOJ,EAGjB,QAASqB,wBAAuB3B,GAE/B,GAEIC,IAFQD,EAAQE,MACNF,EAAQG,QACZH,EAAQC,KACdoB,EAAOrB,EAAQqB,KAEff,EAAMC,YAAYC,SAAS,MAAMP,GAAKO,SAAS,MAAM,IAAIA,SAAS,eAAe,GAClFa,KAAMf,EAAMA,EAAIE,SAAS,OAAOa,IAEnCZ,SAASC,KAAOJ"}
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<lang>
|
||||
<item name="skip_to_content">
|
||||
<value xml:lang="ko"><![CDATA[본문 건너뛰기]]></value>
|
||||
<value xml:lang="en"><![CDATA[Skip to content]]></value>
|
||||
</item>
|
||||
</lang>
|
||||
|
|
@ -1,13 +1,9 @@
|
|||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<!--%import("css/mboard.css")-->
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd">
|
||||
<!--@if($oDocument->isExists())-->
|
||||
<!--#include("read.html")-->
|
||||
<include target="read.html" />
|
||||
<!--@else-->
|
||||
<!--#include("_list.html")-->
|
||||
<include target="_list.html" />
|
||||
<!--@end-->
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,6 @@
|
|||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
{@ Context::loadLang('./modules/board/m.skins/default/lang')}
|
||||
<!--%import("js/mboard.js")-->
|
||||
<!--%import("css/mboard.css")-->
|
||||
<load target="js/mboard.js" />
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="hx h2">
|
||||
<h2><a href="{getUrl('document_srl','','category','','page','')}">{$module_info->browser_title}</a>
|
||||
<!--@if($module_info->use_category == "Y" && $oDocument->get('category_srl'))-->› <a href="{getUrl('document_srl','','category',$oDocument->get('category_srl'))}">{$category_list[$oDocument->get('category_srl')]->title}</a><!--@end--> › {$oDocument->getTitle()}</h2>
|
||||
|
|
@ -62,7 +57,7 @@
|
|||
<em>{htmlspecialchars($val->title)} - {htmlspecialchars($val->blog_name)}</em>
|
||||
<span class="time">{zdate($val->regdate, "Y.m.d")}</span>
|
||||
<!--@if($grant->manager)-->
|
||||
<a href="07_password.html" class="btn de">삭제</a>
|
||||
<a href="07_password.html" class="btn de">{$lang->cmd_delete}</a>
|
||||
<!--@endif-->
|
||||
</span>
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -22,10 +22,10 @@
|
|||
</description>
|
||||
<version>0.1</version>
|
||||
<date>2010-06-10</date>
|
||||
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
|
||||
<name xml:lang="ko">NHN</name>
|
||||
<name xml:lang="en">NHN</name>
|
||||
<name xml:lang="zh-TW">NHN</name>
|
||||
<name xml:lang="tr">NHN</name>
|
||||
<author email_address="developers@xpressengine.com" link="http://www.xpressengine.com/">
|
||||
<name xml:lang="ko">NAVER</name>
|
||||
<name xml:lang="en">NAVER</name>
|
||||
<name xml:lang="zh-TW">NAVER</name>
|
||||
<name xml:lang="tr">NAVER</name>
|
||||
</author>
|
||||
</skin>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,6 @@
|
|||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/x.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<!--%import("js/mboard.js")-->
|
||||
<!--%import("css/mboard.css")-->
|
||||
<load target="js/mboard.js" />
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd">
|
||||
<div class="hx h2">
|
||||
<h2><a href="{getUrl('','vid',$vid,'mid',$mid)}">{$module_info->browser_title}</a></h2>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<!--%import("css/mboard.css")-->
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd">
|
||||
<h2 class="h2"><a href="{getUrl('','vid',$vid,'mid',$mid)}">{$module_info->browser_title}</a> › {$lang->category}</h2>
|
||||
<ul class="gn">
|
||||
|
|
|
|||
|
|
@ -1,12 +1,7 @@
|
|||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<!--%import("js/mboard.js")-->
|
||||
<!--%import("css/mboard.css")-->
|
||||
<div class="bd rd">
|
||||
<load target="js/mboard.js" />
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd rd">
|
||||
<!--@if($oSourceComment->isExists())-->
|
||||
<div class="origin">{$oSourceComment->getContent(false)}</div>
|
||||
<!--@end-->
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<!--%import("js/mboard.js")-->
|
||||
<!--%import("css/mboard.css")-->
|
||||
<load target="js/mboard.js" />
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd">
|
||||
<h2 class="ac">{$lang->confirm_delete}</h2>
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, delete_comment)">
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<!--%import("js/mboard.js")-->
|
||||
<!--%import("css/mboard.css")-->
|
||||
<load target="js/mboard.js" />
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd">
|
||||
<h2 class="ac">{$lang->confirm_delete}</h2>
|
||||
<form action="./" method="get" onsubmit="return procFilter(this, delete_document)">
|
||||
|
|
|
|||
|
|
@ -1,9 +1,5 @@
|
|||
<!--%import("css/mboard.css")-->
|
||||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd">
|
||||
<h2 class="h2">{$lang->msg_input_password}</h2>
|
||||
<form action="./" method="POST" onsubmit="return procFilter(this, input_password)" class="requirePassword">
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
function completeInsertComment(a){var b=(a.error,a.message,a.mid),c=a.document_srl,d=a.comment_srl,e=current_url.setQuery("mid",b).setQuery("document_srl",c).setQuery("act","");d&&(e=e.setQuery("rnd",d)+"#comment_"+d),location.href=e}function completeDocumentInserted(a){var b,c=(a.error,a.message,a.mid),d=a.document_srl,e=a.category_srl;b=d?current_url.setQuery("mid",c).setQuery("document_srl",d).setQuery("act",""):current_url.setQuery("mid",c).setQuery("act",""),e&&(b=b.setQuery("category",e)),location.href=b}function completeGetPage(a){jQuery("#cl").remove(),jQuery("#clpn").remove(),jQuery("#clb").after(a.html)}function loadPage(a,b){var c={};c.cpage=b,c.document_srl=a,c.mid=current_mid,jQuery.exec_json("board.getBoardCommentPage",c,completeGetPage)}function completeDeleteComment(a){var b=(a.error,a.message,a.mid),c=a.document_srl,d=a.page,e=current_url.setQuery("mid",b).setQuery("document_srl",c).setQuery("act","");d&&(e=e.setQuery("page",d)),location.href=e}function completeDeleteDocument(a){var b=(a.error,a.message,a.mid),c=a.page,d=current_url.setQuery("mid",b).setQuery("act","").setQuery("document_srl","");c&&(d=d.setQuery("page",c)),location.href=d}
|
||||
//# sourceMappingURL=mboard.min.map
|
||||
1
modules/board/m.skins/simpleGray/js/mboard.min.map
Normal file
1
modules/board/m.skins/simpleGray/js/mboard.min.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"mboard.min.js","sources":["mboard.js"],"names":["completeInsertComment","ret_obj","mid","error","message","document_srl","comment_srl","url","current_url","setQuery","location","href","completeDocumentInserted","category_srl","completeGetPage","ret_val","jQuery","remove","after","html","loadPage","page","params","cpage","current_mid","exec_json","completeDeleteComment","completeDeleteDocument"],"mappings":"AAAA,QAASA,uBAAsBC,GAE9B,GAEIC,IAFQD,EAAQE,MACNF,EAAQG,QACZH,EAAQC,KACdG,EAAeJ,EAAQI,aACvBC,EAAcL,EAAQK,YAEtBC,EAAMC,YAAYC,SAAS,MAAMP,GAAKO,SAAS,eAAeJ,GAAcI,SAAS,MAAM,GAC5FH,KAAaC,EAAMA,EAAIE,SAAS,MAAMH,GAAa,YAAYA,GAElEI,SAASC,KAAOJ,EAGjB,QAASK,0BAAyBX,GAEjC,GAKIM,GAHAL,GAFQD,EAAQE,MACNF,EAAQG,QACZH,EAAQC,KACdG,EAAeJ,EAAQI,aACvBQ,EAAeZ,EAAQY,YAS1BN,GANGF,EAMGG,YAAYC,SAAS,MAAMP,GAAKO,SAAS,eAAeJ,GAAcI,SAAS,MAAM,IAJrFD,YAAYC,SAAS,MAAMP,GAAKO,SAAS,MAAM,IAMnDI,IAAcN,EAAMA,EAAIE,SAAS,WAAWI,IAC/CH,SAASC,KAAOJ,EAGjB,QAASO,iBAAgBC,GAExBC,OAAO,OAAOC,SACdD,OAAO,SAASC,SAChBD,OAAO,QAAQE,MAAMH,EAAQI,MAG9B,QAASC,UAASf,EAAcgB,GAE/B,GAAIC,KAEJA,GAAOC,MAAQF,EACfC,EAAOjB,aAAeA,EACtBiB,EAAOpB,IAAMsB,YACbR,OAAOS,UAAU,4BAA6BH,EAAQR,iBAGvD,QAASY,uBAAsBzB,GAE9B,GAEIC,IAFQD,EAAQE,MACNF,EAAQG,QACZH,EAAQC,KACdG,EAAeJ,EAAQI,aACvBgB,EAAOpB,EAAQoB,KAEfd,EAAMC,YAAYC,SAAS,MAAMP,GAAKO,SAAS,eAAeJ,GAAcI,SAAS,MAAM,GAC5FY,KAAMd,EAAMA,EAAIE,SAAS,OAAOY,IAEnCX,SAASC,KAAOJ,EAGjB,QAASoB,wBAAuB1B,GAE/B,GAEIC,IAFQD,EAAQE,MACNF,EAAQG,QACZH,EAAQC,KACdmB,EAAOpB,EAAQoB,KAEfd,EAAMC,YAAYC,SAAS,MAAMP,GAAKO,SAAS,MAAM,IAAIA,SAAS,eAAe,GAClFY,KAAMd,EAAMA,EAAIE,SAAS,OAAOY,IAEnCX,SAASC,KAAOJ"}
|
||||
|
|
@ -1,9 +1,5 @@
|
|||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<!--%import("css/mboard.css")-->
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd">
|
||||
<!--@if($oDocument->isExists())-->
|
||||
<!--#include("read.html")-->
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<!--%import("js/mboard.js")-->
|
||||
<!--%import("css/mboard.css")-->
|
||||
<load target="js/mboard.js" />
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="rd">
|
||||
<div class="hx">
|
||||
<h2><a href="{getUrl('document_srl','','category','','page','')}">{$module_info->browser_title}</a>
|
||||
|
|
|
|||
|
|
@ -14,9 +14,9 @@
|
|||
</description>
|
||||
<version>0.1</version>
|
||||
<date>2010-06-10</date>
|
||||
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
|
||||
<name xml:lang="ko">NHN</name>
|
||||
<name xml:lang="en">NHN</name>
|
||||
<name xml:lang="zh-TW">NHN</name>
|
||||
<author email_address="developers@xpressengine.com" link="http://www.xpressengine.com/">
|
||||
<name xml:lang="ko">NAVER</name>
|
||||
<name xml:lang="en">NAVER</name>
|
||||
<name xml:lang="zh-TW">NAVER</name>
|
||||
</author>
|
||||
</skin>
|
||||
|
|
|
|||
|
|
@ -1,11 +1,6 @@
|
|||
{@ Context::addJsFile("./common/js/jquery.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/js_app.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/x.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/common.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_handler.js", true, '', -100000) }
|
||||
{@ Context::addJsFile("./common/js/xml_js_filter.js", true, '', -100000) }
|
||||
<!--%import("js/mboard.js")-->
|
||||
<!--%import("css/mboard.css")-->
|
||||
<load target="js/mboard.js" />
|
||||
<load target="css/mboard.css" />
|
||||
|
||||
<div class="bd">
|
||||
<h2 class="h2"><a href="{getUrl('','vid',$vid,'mid',$mid)}">{$module_info->browser_title}</a> › {$lang->cmd_write}</h2>
|
||||
<form action="./" method="POST" onsubmit="return procFilter(this, insert)">
|
||||
|
|
|
|||
|
|
@ -1 +1,2 @@
|
|||
jQuery(function(a){a(".board_list tr:last-child>td").css("border","0"),a(".read_footer .tags span:last-child").hide();var b=a(".board_search");b.hide().addClass("off"),a(".bsToggle").click(function(){b.hasClass("off")?b.show().removeClass("off").find(".iText").focus():b.hide().addClass("off")});var c=a(".item .iLabel").next(".iText");a(".item .iLabel").css("position","absolute"),c.focus(function(){a(this).prev(".iLabel").css("visibility","hidden")}).blur(function(){a(this).val()?a(this).prev(".iLabel").css("visibility","hidden"):a(this).prev(".iLabel").css("visibility","visible")}).change(function(){a(this).val()?a(this).prev(".iLabel").css("visibility","hidden"):a(this).prev(".iLabel").css("visibility","visible")}).blur(),a(".cTab>li>ul>li.on_").parents("li:first").addClass("on"),a(".feedback .xe_content>*:first-child").css("margin-top","0")}),function(a){a.fn.snspost=function(b){var c="";switch(b=a.extend({},{type:"twitter",event:"click",content:""},b),b.content=encodeURIComponent(b.content),b.type){case"facebook":c="http://www.facebook.com/share.php?t="+b.content+"&u="+encodeURIComponent(b.url||location.href);break;case"delicious":c="http://www.delicious.com/save?v=5&noui&jump=close&url="+encodeURIComponent(b.url||location.href)+"&title="+b.content;break;case"twitter":c="http://twitter.com/home?status="+b.content}this.bind(b.event,function(){return window.open(c),!1})},a.snspost=function(b,c){a.each(b,function(b,d){a(d).snspost(a.extend({},c,{type:b}))})}}(jQuery);
|
||||
//# sourceMappingURL=board.default.min.map
|
||||
1
modules/board/skins/default/board.default.min.map
Normal file
1
modules/board/skins/default/board.default.min.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"board.default.min.js","sources":["board.default.js"],"names":["jQuery","$","css","hide","bs","addClass","click","hasClass","show","removeClass","find","focus","iText","next","this","prev","blur","val","change","parents","fn","snspost","opts","loc","extend","type","event","content","encodeURIComponent","url","location","href","bind","window","open","selectors","action","each","key"],"mappings":"AAAAA,OAAO,SAASC,GAEfA,EAAE,gCAAgCC,IAAI,SAAS,KAE/CD,EAAE,sCAAsCE,MAExC,IAAIC,GAAKH,EAAE,gBACXG,GAAGD,OAAOE,SAAS,OACnBJ,EAAE,aAAaK,MAAM,WACjBF,EAAGG,SAAS,OACdH,EAAGI,OAAOC,YAAY,OAAOC,KAAK,UAAUC,QAE5CP,EAAGD,OAAOE,SAAS,QAIrB,IAAIO,GAAQX,EAAE,iBAAiBY,KAAK,SACpCZ,GAAE,iBAAiBC,IAAI,WAAW,YAClCU,EACED,MAAM,WACNV,EAAEa,MAAMC,KAAK,WAAWb,IAAI,aAAa,YAEzCc,KAAK,WACDf,EAAEa,MAAMG,MAGXhB,EAAEa,MAAMC,KAAK,WAAWb,IAAI,aAAa,UAFzCD,EAAEa,MAAMC,KAAK,WAAWb,IAAI,aAAa,aAK1CgB,OAAO,WACHjB,EAAEa,MAAMG,MAGXhB,EAAEa,MAAMC,KAAK,WAAWb,IAAI,aAAa,UAFzCD,EAAEa,MAAMC,KAAK,WAAWb,IAAI,aAAa,aAK1Cc,OAEFf,EAAE,sBAAsBkB,QAAQ,YAAYd,SAAS,MAErDJ,EAAE,uCAAuCC,IAAI,aAAa,OAI3D,SAAUD,GACTA,EAAEmB,GAAGC,QAAU,SAASC,GACvB,GAAIC,GAAM,EAGV,QAFAD,EAAOrB,EAAEuB,WAAYC,KAAK,UAAWC,MAAM,QAASC,QAAQ,IAAKL,GACjEA,EAAKK,QAAUC,mBAAmBN,EAAKK,SAChCL,EAAKG,MACX,IAAK,WACJF,EAAM,uCAAuCD,EAAKK,QAAQ,MAAMC,mBAAmBN,EAAKO,KAAKC,SAASC,KACtG,MACD,KAAK,YACJR,EAAM,yDAAyDK,mBAAmBN,EAAKO,KAAKC,SAASC,MAAM,UAAUT,EAAKK,OAC1H,MACD,KAAK,UACJJ,EAAM,kCAAkCD,EAAKK,QAG/Cb,KAAKkB,KAAKV,EAAKI,MAAO,WAErB,MADAO,QAAOC,KAAKX,IACL,KAGTtB,EAAEoB,QAAU,SAASc,EAAWC,GAC/BnC,EAAEoC,KAAKF,EAAW,SAASG,EAAIrB,GAC9BhB,EAAEgB,GAAKI,QAASpB,EAAEuB,UAAWY,GAASX,KAAKa,SAG3CtC"}
|
||||
1
modules/board/tpl/js/board.min.js
vendored
1
modules/board/tpl/js/board.min.js
vendored
|
|
@ -1 +1,2 @@
|
|||
function completeDocumentInserted(a){var b,c=(a.error,a.message,a.mid),d=a.document_srl,e=a.category_srl;b=d?current_url.setQuery("mid",c).setQuery("document_srl",d).setQuery("act",""):current_url.setQuery("mid",c).setQuery("act",""),e&&(b=b.setQuery("category",e)),location.href=b}function completeDeleteDocument(a){var b=(a.error,a.message,a.mid),c=a.page,d=current_url.setQuery("mid",b).setQuery("act","").setQuery("document_srl","");c&&(d=d.setQuery("page",c)),location.href=d}function completeSearch(a,b,c,d){d.submit()}function completeVote(a){var b=(a.error,a.message);alert(b),location.href=location.href}function completeReload(a){a.error,a.message;location.href=location.href}function completeInsertComment(a){var b=(a.error,a.message,a.mid),c=a.document_srl,d=a.comment_srl,e=current_url.setQuery("mid",b).setQuery("document_srl",c).setQuery("act","");d&&(e=e.setQuery("rnd",d)+"#comment_"+d),location.href=e}function completeDeleteComment(a){var b=(a.error,a.message,a.mid),c=a.document_srl,d=a.page,e=current_url.setQuery("mid",b).setQuery("document_srl",c).setQuery("act","");d&&(e=e.setQuery("page",d)),location.href=e}function completeDeleteTrackback(a){var b=(a.error,a.message,a.mid),c=a.document_srl,d=a.page,e=current_url.setQuery("mid",b).setQuery("document_srl",c).setQuery("act","");d&&(e=e.setQuery("page",d)),location.href=e}function doChangeCategory(){var a=jQuery("#board_category option:selected").val();location.href=decodeURI(current_url).setQuery("category",a).setQuery("page","")}function doScrap(a){var b=[];b.document_srl=a,jQuery.exec_json("member.procMemberScrapDocument",b)}jQuery(function(a){a(document.body).click(function(b){var c,d=a(b.target),e={};if(0!==d.parents(".layer_voted_member").length||d.is(".layer_voted_member")||a(".layer_voted_member").hide().remove(),d.is("a[class^=voted_member_]")){var f=parseInt(d.attr("class").replace(/[^0-9]/g,""));f&&(d.hasClass("comment")?(c="comment.getCommentVotedMemberList",e={comment_srl:f,point:d.hasClass("votedup")?1:-1}):(c="document.getDocumentVotedMemberList",e={document_srl:f,point:d.hasClass("votedup")?1:-1}),a.exec_json(c,e,function(c){var e=c.voted_member_list,f=[];e&&0!==e.length&&(a.each(e,function(){f.push(this.nick_name)}),d.after(a("<ul>").addClass("layer_voted_member").css({position:"absolute",top:b.pageY+5,left:b.pageX}).append("<li>"+f.join("</li><li>")+"</li>")))}))}})});
|
||||
//# sourceMappingURL=board.min.map
|
||||
1
modules/board/tpl/js/board.min.map
Normal file
1
modules/board/tpl/js/board.min.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"board.min.js","sources":["board.js"],"names":["completeDocumentInserted","ret_obj","url","mid","error","message","document_srl","category_srl","current_url","setQuery","location","href","completeDeleteDocument","page","completeSearch","response_tags","params","fo_obj","submit","completeVote","alert","completeReload","completeInsertComment","comment_srl","completeDeleteComment","completeDeleteTrackback","doChangeCategory","jQuery","val","decodeURI","doScrap","exec_json","$","document","body","click","e","act","t","target","parents","length","is","hide","remove","srl","parseInt","attr","replace","hasClass","point","data","l","voted_member_list","ul","each","push","this","nick_name","after","addClass","css","position","top","pageY","left","pageX","append","join"],"mappings":"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"}
|
||||
1
modules/board/tpl/js/board_admin.min.js
vendored
1
modules/board/tpl/js/board_admin.min.js
vendored
|
|
@ -1 +1,2 @@
|
|||
function completeInsertBoard(a){var b=(a.error,a.message),c=a.page,d=a.module_srl;alert(b);var e=current_url.setQuery("act","dispBoardAdminBoardInfo");d&&(e=e.setQuery("module_srl",d)),c&&e.setQuery("page",c),location.href=e}function completeDeleteBoard(a){var b=(a.error,a.message),c=a.page;alert(b);var d=current_url.setQuery("act","dispBoardAdminContent").setQuery("module_srl","");c&&(d=d.setQuery("page",c)),location.href=d}function doUpdateCategory(a,b,c){if("undefined"==typeof c||confirm(c)){var d=xGetElementById("fo_category_info");d.category_srl.value=a,d.mode.value=b,procFilter(d,update_category)}}function completeUpdateCategory(a){var b=(a.error,a.message),c=a.module_srl,d=a.page;alert(b);var e=current_url.setQuery("module_srl",c).setQuery("act","dispBoardAdminCategoryInfo");d&&e.setQuery("page",d),location.href=e}function doCartSetup(a){var b=[];jQuery("#fo_list input[name=cart]:checked").each(function(){b[b.length]=jQuery(this).val()}),b.length<1||(a+="&module_srls="+b.join(","),popopen(a,"modulesSetup"))}function doInsertItem(){var a=xGetElementById("targetItem"),b=xGetElementById("displayItem");if(a&&b){for(var c=a.options[a.selectedIndex].text,d=a.options[a.selectedIndex].value,e=0;e<b.options.length;e++)if(b.options[e].value==d)return;var f=new Option(c,d,!0,!0);b.options[b.options.length]=f}}function doDeleteItem(){var a=xGetElementById("displayItem"),b=a.selectedIndex;0>b||a.options.length<2||(a.remove(b),a.selectedIndex=b-1)}function doMoveUpItem(){var a=xGetElementById("displayItem"),b=a.selectedIndex;if(!(1>b)&&b){var c=a.options[b].text,d=a.options[b].value;a.options[b].text=a.options[b-1].text,a.options[b].value=a.options[b-1].value,a.options[b-1].text=c,a.options[b-1].value=d,a.selectedIndex=b-1}}function doMoveDownItem(){var a=xGetElementById("displayItem"),b=a.selectedIndex;if(!(b>=a.options.length-1)){var c=a.options[b].text,d=a.options[b].value;a.options[b].text=a.options[b+1].text,a.options[b].value=a.options[b+1].value,a.options[b+1].text=c,a.options[b+1].value=d,a.selectedIndex=b+1}}function doSaveListConfig(a){if(a){for(var b=xGetElementById("displayItem"),c=(b.selectedIndex,[]),d=0;d<b.options.length;d++)c[c.length]=b.options[d].value;if(!(c.length<1)){var e={};e.module_srl=a,e.list=c.join(",");{new Array("error","message")}exec_json("board.procBoardAdminInsertListConfig",e,function(){location.reload()})}}}
|
||||
//# sourceMappingURL=board_admin.min.map
|
||||
1
modules/board/tpl/js/board_admin.min.map
Normal file
1
modules/board/tpl/js/board_admin.min.map
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"board_admin.min.js","sources":["board_admin.js"],"names":["completeInsertBoard","ret_obj","message","error","page","module_srl","alert","url","current_url","setQuery","location","href","completeDeleteBoard","doUpdateCategory","category_srl","mode","confirm","fo_obj","xGetElementById","value","procFilter","update_category","completeUpdateCategory","doCartSetup","jQuery","each","length","this","val","join","popopen","doInsertItem","target_obj","display_obj","text","options","selectedIndex","i","obj","Option","doDeleteItem","sel_obj","idx","remove","doMoveUpItem","doMoveDownItem","doSaveListConfig","list","params","Array","exec_json","reload"],"mappings":"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"}
|
||||
|
|
@ -908,7 +908,7 @@ class commentController extends comment
|
|||
* Remove all comment relation log
|
||||
* @return Object
|
||||
*/
|
||||
function deleteCommentLog()
|
||||
function deleteCommentLog($args)
|
||||
{
|
||||
$this->_deleteDeclaredComments($args);
|
||||
$this->_deleteVotedComments($args);
|
||||
|
|
|
|||
|
|
@ -162,7 +162,7 @@ class communicationController extends communication
|
|||
}
|
||||
|
||||
/**
|
||||
* Send a message (DB controll)
|
||||
* Send a message (DB control)
|
||||
* @param int $sender_srl member_srl of sender
|
||||
* @param int $receiver_srl member_srl of receiver_srl
|
||||
* @param string $title
|
||||
|
|
|
|||
|
|
@ -83,12 +83,19 @@ class documentAdminController extends document
|
|||
|
||||
unset($obj);
|
||||
$obj = $oDocument->getObjectVars();
|
||||
|
||||
// ISSUE https://github.com/xpressengine/xe-core/issues/32
|
||||
$args_doc_origin->document_srl = $document_srl;
|
||||
$output_ori = executeQuery('document.getDocument', $args_doc_origin, array('content'));
|
||||
$obj->content = $output_ori->data->content;
|
||||
|
||||
// Move the attached file if the target module is different
|
||||
if($module_srl != $obj->module_srl && $oDocument->hasUploadedFiles())
|
||||
{
|
||||
$oFileController = getController('file');
|
||||
|
||||
$files = $oDocument->getUploadedFiles();
|
||||
$delete_file_srls = array();
|
||||
if(is_array($files))
|
||||
{
|
||||
foreach($files as $val)
|
||||
|
|
@ -113,9 +120,10 @@ class documentAdminController extends document
|
|||
$obj->content = str_replace('sid='.$val->sid, 'sid='.$inserted_file->get('sid'), $obj->content);
|
||||
}
|
||||
}
|
||||
// Delete an existing file
|
||||
$oFileController->deleteFile($val->file_srl);
|
||||
$delete_file_srls[] = $val->file_srl;
|
||||
}
|
||||
// Delete an existing file
|
||||
$oFileController->deleteFile($delete_file_srls);
|
||||
}
|
||||
// Set the all files to be valid
|
||||
$oFileController->setFilesValid($obj->document_srl);
|
||||
|
|
|
|||
|
|
@ -2484,16 +2484,11 @@ class documentController extends document
|
|||
$documentSrlList = array_unique($documentSrlList);
|
||||
foreach($documentSrlList AS $key => $documentSrl)
|
||||
{
|
||||
$oldDocument = $oDocumentModel->getDocument($documentSrl);
|
||||
$fileCount = $oFileModel->getFilesCount($documentSrl);
|
||||
|
||||
if($oldDocument != null)
|
||||
{
|
||||
$newDocumentArray = $oldDocument->variables;
|
||||
$newDocumentArray['uploaded_count'] = $fileCount;
|
||||
$newDocumentObject = (object) $newDocumentArray;
|
||||
$this->updateDocument($oldDocument, $newDocumentObject);
|
||||
}
|
||||
$args = new stdClass();
|
||||
$args->document_srl = $documentSrl;
|
||||
$args->uploaded_count = $fileCount;
|
||||
executeQuery('document.updateUploadedCount', $args);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -232,7 +232,7 @@ class documentModel extends document
|
|||
{
|
||||
// document.getDocumentList query execution
|
||||
// Query_id if you have a group by clause getDocumentListWithinTag getDocumentListWithinComment or used again to perform the query because
|
||||
$groupByQuery = array('document.getDocumentListWithinComment' => 1, 'document.getDocumentListWithinTag' => 1);
|
||||
$groupByQuery = array('document.getDocumentListWithinComment' => 1, 'document.getDocumentListWithinTag' => 1, 'document.getDocumentListWithinExtraVars' => 1);
|
||||
if(isset($groupByQuery[$query_id]))
|
||||
{
|
||||
$group_args = clone($args);
|
||||
|
|
@ -1417,6 +1417,10 @@ class documentModel extends document
|
|||
$args->s_tags = str_replace(' ','%',$search_keyword);
|
||||
$query_id = 'document.getDocumentListWithinTag';
|
||||
break;
|
||||
case 'extra_vars':
|
||||
$args->var_value = str_replace(' ', '%', $search_keyword);
|
||||
$query_id = 'document.getDocumentListWithinExtraVars';
|
||||
break;
|
||||
default :
|
||||
if(strpos($search_target,'extra_vars')!==false) {
|
||||
$args->var_idx = substr($search_target, strlen('extra_vars'));
|
||||
|
|
|
|||
27
modules/document/queries/getDocumentListWithinExtraVars.xml
Normal file
27
modules/document/queries/getDocumentListWithinExtraVars.xml
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
<query id="getDocumentListWithinExtraVars" action="select">
|
||||
<tables>
|
||||
<table name="documents" />
|
||||
<table name="document_extra_vars" alias="extra_vars" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="documents.*" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="in" column="documents.module_srl" var="module_srl" filter="number" />
|
||||
<condition operation="in" column="documents.category_srl" var="category_srl" filter="number" pipe="and" />
|
||||
<condition operation="equal" column="documents.member_srl" var="member_srl" filter="number" pipe="and" />
|
||||
<condition operation="equal" column="extra_vars.module_srl" default="documents.module_srl" pipe="and" />
|
||||
<condition operation="equal" column="extra_vars.document_srl" default="documents.document_srl" pipe="and" />
|
||||
<condition operation="in" column="documents.status" var="statusList" pipe="and" />
|
||||
<condition operation="like" column="extra_vars.value" var="var_value" notnull="notnull" pipe="and" />
|
||||
</conditions>
|
||||
<groups>
|
||||
<group column="extra_vars.document_srl" />
|
||||
</groups>
|
||||
<navigation>
|
||||
<index var="sort_index" default="documents.list_order" order="order_type" />
|
||||
<list_count var="list_count" default="20" />
|
||||
<page_count var="page_count" default="10" />
|
||||
<page var="page" default="1" />
|
||||
</navigation>
|
||||
</query>
|
||||
11
modules/document/queries/updateUploadedCount.xml
Normal file
11
modules/document/queries/updateUploadedCount.xml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
<query id="updateUploadedCount" action="update">
|
||||
<tables>
|
||||
<table name="documents" />
|
||||
</tables>
|
||||
<columns>
|
||||
<column name="uploaded_count" var="uploaded_count" default="0" filter="number" />
|
||||
</columns>
|
||||
<conditions>
|
||||
<condition operation="equal" column="document_srl" var="document_srl" filter="number" notnull="notnull" />
|
||||
</conditions>
|
||||
</query>
|
||||
|
|
@ -1 +1,2 @@
|
|||
!function(a){var b=xe.createApp("Gallery",{_imgs:{},_styles:{},init:function(){this._imgs={}},API_ADD_IMAGE:function(a,b){var c=b[0],d=b[1],e="@"+c;/^files/.test(d)&&(d=request_uri+d),is_def(this._imgs[e])||(this._imgs[e]=[]),this._imgs[e].push({path:d,loaded:!1})},API_ONREADY:function(){var b,c,d,e,f=this._imgs;for(d in f)if(f.hasOwnProperty(d))for(b=0,c=f[d].length;c>b;b++)e=f[d][b],e.$obj=a("<img />").attr("src",e.path),e.$obj.load({img:e},function(a){var b=a.data.img;b.loaded=!0,b.$obj.unbind("load")})},API_GET_IMAGES:function(a,b){var c=b[0];return this._imgs["@"+c]||[]},API_SET_STYLE:function(a,b){var c=b[0],d=b[1];this._styles["@"+c]=d},API_ONLOAD:function(){var a,b;for(a in this._imgs)this._imgs.hasOwnProperty(a)&&(b=this._styles[a]||"list",this.cast("SHOW_"+b.toUpperCase(),[a.substr(1)]))}});xe.registerApp(new b)}(jQuery);
|
||||
//# sourceMappingURL=gallery.min.map
|
||||
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"gallery.min.js","sources":["gallery.js"],"names":["$","g","xe","createApp","_imgs","_styles","init","this","API_ADD_IMAGE","sender","params","srl","path","key","test","request_uri","is_def","push","loaded","API_ONREADY","i","c","img","imgs","hasOwnProperty","length","$obj","attr","load","event","im","data","unbind","API_GET_IMAGES","API_SET_STYLE","sty","API_ONLOAD","cast","toUpperCase","substr","registerApp","jQuery"],"mappings":"CAGA,SAAUA,GAEV,GAAIC,GAAIC,GAAGC,UAAU,WACpBC,SACAC,WAEAC,KAAO,WACNC,KAAKH,UAENI,cAAgB,SAASC,EAAQC,GAChC,GAAIC,GAAMD,EAAO,GAAIE,EAAOF,EAAO,GAAIG,EAAM,IAAIF,CAE9C,UAASG,KAAKF,KAAOA,EAAOG,YAAcH,GACzCI,OAAOT,KAAKH,MAAMS,MAAON,KAAKH,MAAMS,OAExCN,KAAKH,MAAMS,GAAKI,MAAML,KAAKA,EAAKM,QAAO,KAExCC,YAAc,WACb,GAAIC,GAAGC,EAAGR,EAAKS,EAAKC,EAAOhB,KAAKH,KAGhC,KAAIS,IAAOU,GACV,GAAIA,EAAKC,eAAeX,GAExB,IAAIO,EAAE,EAAEC,EAAEE,EAAKV,GAAKY,OAAYJ,EAAJD,EAAOA,IAClCE,EAAMC,EAAKV,GAAKO,GAChBE,EAAII,KAAO1B,EAAE,WAAW2B,KAAK,MAAOL,EAAIV,MACxCU,EAAII,KAAKE,MAAMN,IAAIA,GAAM,SAASO,GACjC,GAAIC,GAAKD,EAAME,KAAKT,GAEpBQ,GAAGZ,QAAS,EACZY,EAAGJ,KAAKM,OAAO,WAKnBC,eAAiB,SAASxB,EAAQC,GACjC,GAAIC,GAAMD,EAAO,EAEjB,OAAOH,MAAKH,MAAM,IAAIO,QAEvBuB,cAAgB,SAASzB,EAAQC,GAChC,GAAIC,GAAMD,EAAO,GAAIyB,EAAMzB,EAAO,EAElCH,MAAKF,QAAQ,IAAIM,GAAOwB,GAEzBC,WAAa,WACZ,GAAIvB,GAAKsB,CAET,KAAItB,IAAON,MAAKH,MACXG,KAAKH,MAAMoB,eAAeX,KAC9BsB,EAAM5B,KAAKF,QAAQQ,IAAQ,OAE3BN,KAAK8B,KAAK,QAAQF,EAAIG,eAAgBzB,EAAI0B,OAAO,QAKpDrC,IAAGsC,YAAY,GAAIvC,KAEhBwC"}
|
||||
|
|
@ -1 +1,2 @@
|
|||
!function(a){var b=xe.createPlugin("list",{API_SHOW_LIST:function(b,c){var d,e,f,g,h,i,j,k,l,m,n=c[0];if(d=this.cast("GET_IMAGES",[n]),d.length)for(e=a("#zone_list_gallery_"+n).empty(),width=e.innerWidth(),f=0,g=d.length;g>f;f++)h=d[f],j=h.$obj.prop("width"),l=h.$obj.prop("height"),0==j&&(j=h.$obj.attr("width")),0==l&&(l=h.$obj.attr("height")),j>width-25&&(k=width-25,i=k/j,m=Math.floor(l*i),j=k,l=m,h.$obj.attr("rel","xe_gallery")),e.append(h.$obj),h.$obj.css({width:j+"px",height:l,margin:"0 10px",display:"block"})}}),c=xe.getApp("Gallery")[0];c&&c.registerPlugin(new b)}(jQuery);
|
||||
//# sourceMappingURL=list_gallery.min.map
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue