diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 261eeb9..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/plugins/Pio/LICENSE b/LICENSE.txt
old mode 100644
new mode 100755
similarity index 59%
rename from plugins/Pio/LICENSE
rename to LICENSE.txt
index a14d589..0e77e74
--- a/plugins/Pio/LICENSE
+++ b/LICENSE.txt
@@ -1,82 +1,84 @@
-GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
+The GNU General Public License (GPL)
+Version 2, June 1991
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
' + $('
'
+ ''.replace('%s', update.current) + '
'
+ ''
+ ''.replace('%s', update.latest) + '
"+(g(r[3]))+"
")}})(this));o=o.replace(/(^|[^\\])(\$+)(.+?)\2/mg,(function(q){return function(){var r;r=1<=arguments.length?a.call(arguments,0):[];return r[1]+q.makeHolder(r[2]+(g(r[3]))+r[2])}})(this));o=o.replace(/\\(.)/g,(function(q){return function(){var s,r;r=1<=arguments.length?a.call(arguments,0):[];s=g(r[1]);s=s.replace(/\$/g,"$");return q.makeHolder(s)}})(this));o=o.replace(/<(https?:\/\/.+)>/ig,(function(q){return function(){var s,t,r;t=1<=arguments.length?a.call(arguments,0):[];r=q.cleanUrl(t[1]);s=q.call("parseLink",t[1]);return q.makeHolder(''+s+"")}})(this));o=o.replace(/<(\/?)([a-z0-9-]+)(\s+[^>]*)?>/ig,(function(q){return function(){var r;r=1<=arguments.length?a.call(arguments,0):[];if((("|"+q.commonWhiteList+"|"+m+"|").indexOf("|"+r[2].toLowerCase()+"|"))>=0){return q.makeHolder(r[0])}else{return g(r[0])}}})(this));o=k(["<",">"],["<",">"],o);o=o.replace(/\[\^((?:[^\]]|\\\]|\\\[)+?)\]/g,(function(q){return function(){var s,r;r=1<=arguments.length?a.call(arguments,0):[];s=q.footnotes.indexOf(r[1]);if(s<0){s=q.footnotes.length+1;q.footnotes.push(q.parseInline(r[1],"",false))}return q.makeHolder(''+s+"")}})(this));o=o.replace(/!\[((?:[^\]]|\\\]|\\\[)*?)\]\(((?:[^\)]|\\\)|\\\()+?)\)/g,(function(q){return function(){var t,s,r;s=1<=arguments.length?a.call(arguments,0):[];t=g(q.escapeBracket(s[1]));r=q.escapeBracket(s[2]);r=q.cleanUrl(r);return q.makeHolder('')}})(this));o=o.replace(/!\[((?:[^\]]|\\\]|\\\[)*?)\]\[((?:[^\]]|\\\]|\\\[)+?)\]/g,(function(q){return function(){var t,s,r;s=1<=arguments.length?a.call(arguments,0):[];t=g(q.escapeBracket(s[1]));r=q.definitions[s[2]]!=null?'':t;return q.makeHolder(r)}})(this));o=o.replace(/\[((?:[^\]]|\\\]|\\\[)+?)\]\(((?:[^\)]|\\\)|\\\()+?)\)/g,(function(q){return function(){var t,s,r;s=1<=arguments.length?a.call(arguments,0):[];t=q.parseInline(q.escapeBracket(s[1]),"",false,false);r=q.escapeBracket(s[2]);r=q.cleanUrl(r);return q.makeHolder(''+t+"")}})(this));o=o.replace(/\[((?:[^\]]|\\\]|\\\[)+?)\]\[((?:[^\]]|\\\]|\\\[)+?)\]/g,(function(q){return function(){var t,s,r;s=1<=arguments.length?a.call(arguments,0):[];t=q.parseInline(q.escapeBracket(s[1]),"",false,false);r=q.definitions[s[2]]!=null?''+t+"":t;return q.makeHolder(r)}})(this));o=this.parseInlineCallback(o);o=o.replace(/<([_a-z0-9-\.\+]+@[^@]+\.[a-z]{2,})>/ig,'$1');if(p){n=new RegExp('(^|[^"])((https?):['+j+'_0-9-\\./%#!@\\?\\+=~\\|\\,&\\(\\)]+)($|[^"])',"ig");o=o.replace(n,(function(q){return function(){var r,s;s=1<=arguments.length?a.call(arguments,0):[];r=q.call("parseLink",s[2]);return s[1]+''+r+""+s[4]}})(this))}o=this.call("afterParseInlineBeforeRelease",o);o=this.releaseHolder(o,l);o=this.call("afterParseInline",o);return o};h.prototype.parseInlineCallback=function(l){l=l.replace(/(\*{3})((?:.|\r)+?)\1/mg,(function(m){return function(){var n;n=1<=arguments.length?a.call(arguments,0):[];return""+(m.parseInlineCallback(n[2]))+""}})(this));l=l.replace(/(\*{2})((?:.|\r)+?)\1/mg,(function(m){return function(){var n;n=1<=arguments.length?a.call(arguments,0):[];return""+(m.parseInlineCallback(n[2]))+""}})(this));l=l.replace(/(\*)((?:.|\r)+?)\1/mg,(function(m){return function(){var n;n=1<=arguments.length?a.call(arguments,0):[];return""+(m.parseInlineCallback(n[2]))+""}})(this));l=l.replace(/(\s+|^)(_{3})((?:.|\r)+?)\2(\s+|$)/mg,(function(m){return function(){var n;n=1<=arguments.length?a.call(arguments,0):[];return n[1]+""+(m.parseInlineCallback(n[3]))+""+n[4]}})(this));l=l.replace(/(\s+|^)(_{2})((?:.|\r)+?)\2(\s+|$)/mg,(function(m){return function(){var n;n=1<=arguments.length?a.call(arguments,0):[];return n[1]+""+(m.parseInlineCallback(n[3]))+""+n[4]}})(this));l=l.replace(/(\s+|^)(_)((?:.|\r)+?)\2(\s+|$)/mg,(function(m){return function(){var n;n=1<=arguments.length?a.call(arguments,0):[];return n[1]+""+(m.parseInlineCallback(n[3]))+""+n[4]}})(this));l=l.replace(/(~{2})((?:.|\r)+?)\1/mg,(function(m){return function(){var n;n=1<=arguments.length?a.call(arguments,0):[];return""+(g(p))+"
"}};h.prototype.parsePre=function(l){var m;l=l.map(function(n){return g(n.substring(4))});m=l.join("\n");if(m.match(/^\s*$/)){return""}else{return""+m+"
"}};h.prototype.parseShtml=function(l){return e((l.slice(1,-1)).join("\n"))};h.prototype.parseMath=function(l){return""+(g(l.join("\n")))+"
"};h.prototype.parseSh=function(m,n){var l;l=this.parseInline(e(m[0],"# "));if(l.match(/^\s*$/)){return""}else{return""+(this.parse(m))+""}};h.prototype.parseList=function(n){var x,w,C,H,A,E,t,D,s,r,v,z,o,B,q,u,F,G,y,p;w="";B=99999;u=[];for(H=C=0,D=n.length;C
");m=m.replace(/\n/g,"
");if(m.match(/^\s*$/)){return""}else{return"
"+m+"
"}};h.prototype.parseFootnote=function(l,p){var m,n,o;o=p[0],n=p[1];m=this.footnotes.indexOf(n);if(m>=0){l=l.slice(0);l[0]=l[0].replace(/^\[\^((?:[^\]]|\]|\[)+?)\]:/,"");this.footnotes[m]=l}return""};h.prototype.parseDefinition=function(){return""};h.prototype.parseHtml=function(l,m){l=l.map((function(n){return function(o){return n.parseInline(o,n.specialWhiteList[m]!=null?n.specialWhiteList[m]:"")}})(this));return l.join("\n")};h.prototype.cleanUrl=function(l){var m;if(!!(m=l.match(/^\s*((http|https|ftp|mailto):[x80-xff_a-z0-9-\.\/%#!@\?\+=~\|\,&\(\)]+)/i))){m[1]}if(!!(m=l.match(/^\s*([x80-xff_a-z0-9-\.\/%#!@\?\+=~\|\,&]+)/i))){return m[1]}else{return"#"}};h.prototype.escapeBracket=function(l){return k(["\\[","\\]","\\(","\\)"],["[","]","(",")"],l)};h.prototype.startBlock=function(l,n,m){if(m==null){m=null}this.pos+=1;this.current=l;this.blocks.push([l,n,n,m]);return this};h.prototype.endBlock=function(){this.current="normal";return this};h.prototype.isBlock=function(l,m){if(m==null){m=null}return this.current===l&&(null===m?true:this.blocks[this.pos][3]===m)};h.prototype.getBlock=function(){if(this.blocks[this.pos]!=null){return this.blocks[this.pos]}else{return null}};h.prototype.setBlock=function(m,l){if(m==null){m=null}if(l==null){l=null}if(m!==null){this.blocks[this.pos][2]=m}if(l!==null){this.blocks[this.pos][3]=l}return this};h.prototype.backBlock=function(o,l,p){var n,m;if(p==null){p=null}if(this.pos<0){return this.startBlock(l,0,p)}m=this.blocks[this.pos][2];this.blocks[this.pos][2]=m-o;n=[l,m-o+1,m,p];if(this.blocks[this.pos][1]<=this.blocks[this.pos][2]){this.pos+=1;this.blocks.push(n)}else{this.blocks[this.pos]=n}this.current=l;return this};h.prototype.combineBlock=function(){var m,l;if(this.pos<1){return this}l=this.blocks[this.pos-1].slice(0);m=this.blocks[this.pos].slice(0);l[2]=m[2];this.blocks[this.pos-1]=l;this.current=l[0];this.blocks=this.blocks.slice(0,-1);this.pos-=1;return this};return h})();if(typeof module!=="undefined"&&module!==null){module.exports=b}else{if(typeof window!=="undefined"&&window!==null){window.HyperDown=b}}}).call(this); \ No newline at end of file +(function(){var b,a=[].slice;b=(function(){var h,g,e,j,f,d,c;c=function(k){return(k.charAt(0)).toUpperCase()+k.substring(1)};j=function(k){return k.replace(/[-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")};f=function(t,k,s){var q,o,n,r,p,m;if(t instanceof Array){if(k instanceof Array){for(q=o=0,r=t.length;o"+(e(p[3]))+"
")}})(this));m=m.replace(/\\(.)/g,(function(o){return function(){var q,p;p=1<=arguments.length?a.call(arguments,0):[];q=e(p[1]);q=q.replace(/\$/g,"$");return o.makeHolder(q)}})(this));m=m.replace(/<(https?:\/\/.+)>/ig,(function(o){return function(){var q,r,p;r=1<=arguments.length?a.call(arguments,0):[];p=o.cleanUrl(r[1]);q=o.call("parseLink",r[1]);return o.makeHolder(''+q+"")}})(this));m=m.replace(/<(\/?)([a-z0-9-]+)(\s+[^>]*)?>/ig,(function(o){return function(){var p;p=1<=arguments.length?a.call(arguments,0):[];if((("|"+o.commonWhiteList+"|"+l+"|").indexOf("|"+p[2].toLowerCase()+"|"))>=0){return o.makeHolder(p[0])}else{return e(p[0])}}})(this));m=f(["<",">"],["<",">"],m);m=m.replace(/\[\^((?:[^\]]|\\\]|\\\[)+?)\]/g,(function(o){return function(){var q,p;p=1<=arguments.length?a.call(arguments,0):[];q=o.footnotes.indexOf(p[1]);if(q<0){q=o.footnotes.length+1;o.footnotes.push(o.parseInline(p[1],"",false))}return o.makeHolder(''+q+"")}})(this));m=m.replace(/!\[((?:[^\]]|\\\]|\\\[)*?)\]\(((?:[^\)]|\\\)|\\\()+?)\)/g,(function(o){return function(){var r,q,p;q=1<=arguments.length?a.call(arguments,0):[];r=e(o.escapeBracket(q[1]));p=o.escapeBracket(q[2]);p=o.cleanUrl(p);return o.makeHolder('')}})(this));m=m.replace(/!\[((?:[^\]]|\\\]|\\\[)*?)\]\[((?:[^\]]|\\\]|\\\[)+?)\]/g,(function(o){return function(){var r,q,p;q=1<=arguments.length?a.call(arguments,0):[];r=e(o.escapeBracket(q[1]));p=o.definitions[q[2]]!=null?'':r;return o.makeHolder(p)}})(this));m=m.replace(/\[((?:[^\]]|\\\]|\\\[)+?)\]\(((?:[^\)]|\\\)|\\\()+?)\)/g,(function(o){return function(){var r,q,p;q=1<=arguments.length?a.call(arguments,0):[];r=o.parseInline(o.escapeBracket(q[1]),"",false,false);p=o.escapeBracket(q[2]);p=o.cleanUrl(p);return o.makeHolder(''+r+"")}})(this));m=m.replace(/\[((?:[^\]]|\\\]|\\\[)+?)\]\[((?:[^\]]|\\\]|\\\[)+?)\]/g,(function(o){return function(){var r,q,p;q=1<=arguments.length?a.call(arguments,0):[];r=o.parseInline(o.escapeBracket(q[1]),"",false,false);p=o.definitions[q[2]]!=null?''+r+"":r;return o.makeHolder(p)}})(this));m=this.parseInlineCallback(m);m=m.replace(/<([_a-z0-9-\.\+]+@[^@]+\.[a-z]{2,})>/ig,'$1');if(n){m=m.replace(/(^|[^"])((https?):[x80-xff_a-z0-9-\.\/%#!@\?\+=~\|\,&\(\)]+)($|[^"])/ig,(function(o){return function(){var p,q;q=1<=arguments.length?a.call(arguments,0):[];p=o.call("parseLink",q[2]);return q[1]+''+p+""+q[4]}})(this))}m=this.call("afterParseInlineBeforeRelease",m);m=this.releaseHolder(m,k);m=this.call("afterParseInline",m);return m};i.prototype.parseInlineCallback=function(k){k=k.replace(/(\*{3})((?:.|\r)+?)\1/mg,(function(l){return function(){var m;m=1<=arguments.length?a.call(arguments,0):[];return""+(l.parseInlineCallback(m[2]))+""}})(this));k=k.replace(/(\*{2})((?:.|\r)+?)\1/mg,(function(l){return function(){var m;m=1<=arguments.length?a.call(arguments,0):[];return""+(l.parseInlineCallback(m[2]))+""}})(this));k=k.replace(/(\*)((?:.|\r)+?)\1/mg,(function(l){return function(){var m;m=1<=arguments.length?a.call(arguments,0):[];return""+(l.parseInlineCallback(m[2]))+""}})(this));k=k.replace(/(\s+|^)(_{3})((?:.|\r)+?)\2(\s+|$)/mg,(function(l){return function(){var m;m=1<=arguments.length?a.call(arguments,0):[];return m[1]+""+(l.parseInlineCallback(m[3]))+""+m[4]}})(this));k=k.replace(/(\s+|^)(_{2})((?:.|\r)+?)\2(\s+|$)/mg,(function(l){return function(){var m;m=1<=arguments.length?a.call(arguments,0):[];return m[1]+""+(l.parseInlineCallback(m[3]))+""+m[4]}})(this));k=k.replace(/(\s+|^)(_)((?:.|\r)+?)\2(\s+|$)/mg,(function(l){return function(){var m;m=1<=arguments.length?a.call(arguments,0):[];return m[1]+""+(l.parseInlineCallback(m[3]))+""+m[4]}})(this));k=k.replace(/(~{2})((?:.|\r)+?)\1/mg,(function(l){return function(){var m;m=1<=arguments.length?a.call(arguments,0):[];return""+(e(o))+"
"}};i.prototype.parsePre=function(k){var l;k=k.map(function(m){return e(m.substring(4))});l=k.join("\n");if(l.match(/^\s*$/)){return""}else{return""+l+"
"}};i.prototype.parseShtml=function(k){return d((k.slice(1,-1)).join("\n"))};i.prototype.parseSh=function(l,m){var k;k=this.parseInline(d(l[0],"# "));if(k.match(/^\s*$/)){return""}else{return""+(this.parse(l))+""}};i.prototype.parseList=function(k){var w,v,B,G,z,D,s,C,r,q,u,y,n,A,p,t,E,F,x,o;v="";A=99999;t=[];for(G=B=0,C=k.length;B
");l=l.replace(/\n/g,"
");if(l.match(/^\s*$/)){return""}else{return"
"+l+"
"}};i.prototype.parseFootnote=function(k,o){var l,m,n;n=o[0],m=o[1];l=this.footnotes.indexOf(m);if(l>=0){k=k.slice(0);k[0]=k[0].replace(/^\[\^((?:[^\]]|\]|\[)+?)\]:/,"");this.footnotes[l]=k}return""};i.prototype.parseDefinition=function(){return""};i.prototype.parseHtml=function(k,l){k=k.map((function(m){return function(n){return m.parseInline(n,m.specialWhiteList[l]!=null?m.specialWhiteList[l]:"")}})(this));return k.join("\n")};i.prototype.cleanUrl=function(k){var l;if(!!(l=k.match(/^\s*((http|https|ftp|mailto):[x80-xff_a-z0-9-\.\/%#!@\?\+=~\|\,&\(\)]+)/i))){l[1]}if(!!(l=k.match(/^\s*([x80-xff_a-z0-9-\.\/%#!@\?\+=~\|\,&]+)/i))){return l[1]}else{return"#"}};i.prototype.escapeBracket=function(k){return f(["\\[","\\]","\\(","\\)"],["[","]","(",")"],k)};i.prototype.startBlock=function(k,m,l){if(l==null){l=null}this.pos+=1;this.current=k;this.blocks.push([k,m,m,l]);return this};i.prototype.endBlock=function(){this.current="normal";return this};i.prototype.isBlock=function(k,l){if(l==null){l=null}return this.current===k&&(null===l?true:this.blocks[this.pos][3]===l)};i.prototype.getBlock=function(){if(this.blocks[this.pos]!=null){return this.blocks[this.pos]}else{return null}};i.prototype.setBlock=function(l,k){if(l==null){l=null}if(k==null){k=null}if(l!==null){this.blocks[this.pos][2]=l}if(k!==null){this.blocks[this.pos][3]=k}return this};i.prototype.backBlock=function(n,k,o){var m,l;if(o==null){o=null}if(this.pos<0){return this.startBlock(k,0,o)}l=this.blocks[this.pos][2];this.blocks[this.pos][2]=l-n;m=[k,l-n+1,l,o];if(this.blocks[this.pos][1]<=this.blocks[this.pos][2]){this.pos+=1;this.blocks.push(m)}else{this.blocks[this.pos]=m}this.current=k;return this};i.prototype.combineBlock=function(){var l,k;if(this.pos<1){return this}k=this.blocks[this.pos-1].slice(0);l=this.blocks[this.pos].slice(0);k[2]=l[2];this.blocks[this.pos-1]=k;this.current=k[0];this.blocks=this.blocks.slice(0,-1);this.pos-=1;return this};return i})();if(typeof module!=="undefined"&&module!==null){module.exports=b}else{if(typeof window!=="undefined"&&window!==null){window.HyperDown=b}}}).call(this); \ No newline at end of file diff --git a/admin/js/jquery-ui.js b/admin/js/jquery-ui.js old mode 100644 new mode 100755 diff --git a/admin/js/jquery.js b/admin/js/jquery.js old mode 100644 new mode 100755 diff --git a/admin/js/moxie.js b/admin/js/moxie.js old mode 100644 new mode 100755 diff --git a/admin/js/pagedown-extra.js b/admin/js/pagedown-extra.js old mode 100644 new mode 100755 diff --git a/admin/js/pagedown.js b/admin/js/pagedown.js old mode 100644 new mode 100755 diff --git a/admin/js/plupload.js b/admin/js/plupload.js old mode 100644 new mode 100755 diff --git a/admin/js/respond.js b/admin/js/respond.js old mode 100644 new mode 100755 diff --git a/admin/js/timepicker.js b/admin/js/timepicker.js old mode 100644 new mode 100755 diff --git a/admin/js/tokeninput.js b/admin/js/tokeninput.js old mode 100644 new mode 100755 diff --git a/admin/js/typecho.js b/admin/js/typecho.js old mode 100644 new mode 100755 diff --git a/admin/login.php b/admin/login.php old mode 100644 new mode 100755 diff --git a/admin/manage-categories.php b/admin/manage-categories.php old mode 100644 new mode 100755 diff --git a/admin/manage-comments.php b/admin/manage-comments.php old mode 100644 new mode 100755 diff --git a/admin/manage-medias.php b/admin/manage-medias.php old mode 100644 new mode 100755 diff --git a/admin/manage-pages.php b/admin/manage-pages.php old mode 100644 new mode 100755 diff --git a/admin/manage-posts.php b/admin/manage-posts.php old mode 100644 new mode 100755 index c9dc991..55e5530 --- a/admin/manage-posts.php +++ b/admin/manage-posts.php @@ -108,7 +108,7 @@ $isAllPosts = ('on' == $request->get('__typecho_all_posts') || 'on' == Typecho_C next()): ?>logged > 0) { - $logged = new Typecho_Date($user->logged); - _e('最后登录: %s', $logged->word()); + _e('最后登录: %s', Typecho_I18n::dateWord($user->logged + $options->timezone, $options->gmtTime + $options->timezone)); } ?>
diff --git a/admin/register.php b/admin/register.php old mode 100644 new mode 100755 diff --git a/admin/table-js.php b/admin/table-js.php old mode 100644 new mode 100755 diff --git a/admin/theme-editor.php b/admin/theme-editor.php old mode 100644 new mode 100755 diff --git a/admin/themes.php b/admin/themes.php old mode 100644 new mode 100755 diff --git a/admin/upgrade.php b/admin/upgrade.php old mode 100644 new mode 100755 index 281ace2..718d47a --- a/admin/upgrade.php +++ b/admin/upgrade.php @@ -2,8 +2,6 @@ include 'common.php'; include 'header.php'; include 'menu.php'; - -$errors = $security->systemCheck(); ?>")[0],d,o=r.each;e.style.cssText="background-color:rgba(1,1,1,.5)";p.rgba=e.style.backgroundColor.indexOf("rgba")>-1;o(m,function(s,t){t.cache="_"+s;t.props.alpha={idx:3,type:"percent",def:1}});function l(t,v,u){var s=q[v.type]||{};if(t==null){return(u||!v.def)?null:v.def}t=s.floor?~~t:parseFloat(t);if(isNaN(t)){return v.def}if(s.mod){return(t+s.mod)%s.mod}return 0>t?0:s.max
- | - | - | - | - | - |
---|---|---|---|---|---|
- | name(); ?> - - | -- - children) > 0): ?> - children)); ?> - - - - | -slug(); ?> | -- defaultCategory == $categories->mid): ?> - - - - - | -count(); ?> | -
- |
- | - | - | - |
---|---|---|---|
- - | -
-
- type): ?>
- gravatar(40); ?>
-
- type): ?>
-
-
-
- |
- - - | -
- dateWord(); ?> 于 title(); ?>
-
- content(); ?>
-
-
- |
-
- |
- | - | - | - | - | - |
---|---|---|---|---|---|
- | commentsNum(); ?> | -- - title(); ?> - - | -author(); ?> | -- parentPost->cid): ?> - parentPost->title(); ?> - - - - | -dateWord(); ?> | -
- |
- | - | - | - | - | - |
---|---|---|---|---|---|
- | commentsNum(); ?> | -- title(); ?> - hasSaved || 'page_draft' == $pages->type) { - echo '' . _t('草稿') . ''; - } else if ('hidden' == $pages->status) { - echo '' . _t('隐藏') . ''; - } - ?> - - type): ?> - - - | -slug(); ?> | -author(); ?> | -- hasSaved): ?> - - modified); ?> - word()); ?> - - - dateWord(); ?> - - | -
- |
- | - | - | - | - | - |
---|---|---|---|---|---|
- | commentsNum(); ?> | -- title(); ?> - hasSaved || 'post_draft' == $posts->type) { - echo '' . _t('草稿') . ''; - } else if ('hidden' == $posts->status) { - echo '' . _t('隐藏') . ''; - } else if ('waiting' == $posts->status) { - echo '' . _t('待审核') . ''; - } else if ('private' == $posts->status) { - echo '' . _t('私密') . ''; - } else if ($posts->password) { - echo '' . _t('密码保护') . ''; - } - ?> - - type): ?> - - - | -author(); ?> | -categories; $length = count($categories); ?> - $val): ?> - adminUrl('manage-posts.php?category=' . $val['mid'] - . (isset($request->uid) ? '&uid=' . $request->uid : '') - . (isset($request->status) ? '&status=' . $request->status : '')); - echo '">' . $val['name'] . '' . ($key < $length - 1 ? ', ' : ''); ?> - - | -- hasSaved): ?> - - modified); ?> - word()); ?> - - - dateWord(); ?> - - | -
- |
- | - | - | - | - | - |
---|---|---|---|---|---|
- | postsNum(); ?> | -name(); ?> - - | -screenName(); ?> | -mail): ?>mail(); ?> | -group) { - case 'administrator': - _e('管理员'); - break; - case 'editor': - _e('编辑'); - break; - case 'contributor': - _e('贡献者'); - break; - case 'subscriber': - _e('关注者'); - break; - case 'visitor': - _e('访问者'); - break; - default: - break; - } ?> | -
- attachment->mime); ?> - - attachment->name(); ?> - attachment->size / 1024)); ?> Kb -
- -- -
- -- | - | - | - | - |
---|---|---|---|---|
title(); ?> - dependence): ?> - - - | -description(); ?> | -version(); ?> | -homepage) ? $activatedPlugins->author : '' . $activatedPlugins->author . ''; ?> | -- activate || $activatedPlugins->deactivate || $activatedPlugins->config || $activatedPlugins->personalConfig): ?> - config): ?> - - • - - - - - - | -
- | - | - |
- | - | - | - | - |
---|---|---|---|---|
title(); ?> | -description(); ?> | -version(); ?> | -homepage) ? $deactivatedPlugins->author : '' . $deactivatedPlugins->author . ''; ?> | -- - | -
- |
mail, 220, 'X', 'mm', $request->isSecure()) . '" alt="' . $user->screenName . '" />'; ?>
-name(); ?>
-%s 篇日志, 并有 %s 条关于你的评论在 %s 个分类中.', - $stat->myPublishedPostsNum, $stat->myPublishedCommentsNum, $stat->categoriesNum); ?>
-logged > 0) { - $logged = new Typecho_Date($user->logged); - _e('最后登录: %s', $logged->word()); - } - ?>
-- currentIsWriteable()): ?> - - - - - - -
-- | - - - - to($themes); ?> - next()): ?> - |
---|---|
- |
- title ? $themes->title() : $themes->name(); ?>- - author): ?>: homepage): ?>author(); ?>homepage): ?> - version): ?>: version() ?> - -description); ?> - theme != $themes->name): ?> - - - |
-
- - -
- routingTable['page']['url'], $options->index); - list ($scheme, $permalink) = explode(':', $permalink, 2); - $permalink = ltrim($permalink, '/'); - $permalink = preg_replace("/\[([_a-z0-9-]+)[^\]]*\]/i", "{\\1}", $permalink); - if ($page->have()) { - $permalink = str_replace('{cid}', $page->cid, $permalink); - } - $input = ''; - ?> -- - -
-- - -
- - -- - - - - markdown && (!$page->have() || $page->isMarkdown)): ?> - - - -
- - content($page); ?> -- -
- -- -
-
-
—
- %s 创建',
- Typecho_Common::url('manage-pages.php?uid=' . $page->author->uid, $options->adminUrl), $page->author->screenName); ?>
- word()); ?>
-
- - -
- routingTable['post']['url'], $options->index); - list ($scheme, $permalink) = explode(':', $permalink, 2); - $permalink = ltrim($permalink, '/'); - $permalink = preg_replace("/\[([_a-z0-9-]+)[^\]]*\]/i", "{\\1}", $permalink); - if ($post->have()) { - $permalink = str_replace(array( - '{cid}', '{category}', '{year}', '{month}', '{day}' - ), array( - $post->cid, $post->category, $post->year, $post->month, $post->day - ), $permalink); - } - $input = ''; - ?> -- - -
-- - -
- - - -- - - - - markdown && (!$post->have() || $post->isMarkdown)): ?> - - - -
- - content($post); ?> -- -
-password) == 0): ?> class="hidden"> - - -
-
-
—
- %s 撰写',
- Typecho_Common::url('manage-posts.php?uid=' . $post->author->uid, $options->adminUrl), $post->author->screenName); ?>
- word()); ?>
-
-
-
-
' . _t('已经删除完原有数据') . '
' . _t('安装程序检查到原有数据表已经存在.')
- . '
' . ' '
- . _t('或者') . '
' . _t('安装程序捕捉到以下错误: "%s". 程序被终止, 请检查您的配置信息.',$e->getMessage()) . '
'; - } - ?> -' . _t('请填写您的网站地址') . '
'; - } else if (NULL == _r('userName')) { - $success = false; - echo '' . _t('请填写您的用户名') . '
'; - } else if (NULL == _r('userMail')) { - $success = false; - echo '' . _t('请填写您的邮箱地址') . '
'; - } else if (32 < strlen(_r('userName'))) { - $success = false; - echo '' . _t('用户名长度超过限制, 请不要超过 32 个字符') . '
'; - } else if (200 < strlen(_r('userMail'))) { - $success = false; - echo '' . _t('邮箱长度超过限制, 请不要超过 200 个字符') . '
'; - } - } - - $_dbConfig = _rFrom('dbHost', 'dbUser', 'dbPassword', 'dbCharset', 'dbPort', 'dbDatabase', 'dbFile', 'dbDsn'); - - $_dbConfig = array_filter($_dbConfig); - $dbConfig = array(); - foreach ($_dbConfig as $key => $val) { - $dbConfig[strtolower (substr($key, 2))] = $val; - } - - // 在特殊服务器上的特殊安装过程处理 - if (_r('config')) { - $replace = array_keys($dbConfig); - foreach ($replace as &$key) { - $key = '{' . $key . '}'; - } - - if (!empty($_dbConfig['dbDsn'])) { - $dbConfig['dsn'] = str_replace($replace, array_values($dbConfig), $dbConfig['dsn']); - } - $config = str_replace($replace, array_values($dbConfig), _r('config')); - } - - if (!isset($config) && $success && !_r('created')) { - $installDb = new Typecho_Db($adapter, _r('dbPrefix')); - $installDb->addServer($dbConfig, Typecho_Db::READ | Typecho_Db::WRITE); - - - /** 检测数据库配置 */ - try { - $installDb->query('SELECT 1=1'); - } catch (Typecho_Db_Adapter_Exception $e) { - $success = false; - echo '' - . _t('对不起,无法连接数据库,请先检查数据库配置再继续进行安装') . '
'; - } catch (Typecho_Db_Exception $e) { - $success = false; - echo '' - . _t('安装程序捕捉到以下错误: " %s ". 程序被终止, 请检查您的配置信息.',$e->getMessage()) . '
'; - } - } - - if($success) { - // 重置原有数据库状态 - if (isset($installDb)) { - try { - $installDb->query($installDb->update('table.options') - ->rows(array('value' => 0))->where('name = ?', 'installed')); - } catch (Exception $e) { - // do nothing - } - } - - Typecho_Cookie::set('__typecho_config', base64_encode(serialize(array_merge(array( - 'prefix' => _r('dbPrefix'), - 'userName' => _r('userName'), - 'userPassword' => _r('userPassword'), - 'userMail' => _r('userMail'), - 'adapter' => $adapter, - 'siteUrl' => _r('userUrl') - ), $dbConfig)))); - - if (_r('created')) { - header('Location: ./install.php?start'); - exit; - } - - /** 初始化配置文件 */ - $lines = array_slice(file(__FILE__), 1, 52); - $lines[] = " -/** 定义数据库参数 */ -\$db = new Typecho_Db('{$adapter}', '" . _r('dbPrefix') . "'); -\$db->addServer(" . (empty($config) ? var_export($dbConfig, true) : $config) . ", Typecho_Db::READ | Typecho_Db::WRITE); -Typecho_Db::set(\$db); -"; - $contents = implode('', $lines); - if (!Typecho_Common::isAppEngine()) { - @file_put_contents('./config.inc.php', $contents); - } - - if (!file_exists('./config.inc.php')) { - ?> -config.inc.php 文件'); ?>
-config.inc.php 文件, 并复制如下代码至其中'); ?>
- -
GPL 协议发布, 我们允许用户在 GPL 协议许可的范围内使用, 拷贝, 修改和分发此程序.'); ?> -
-- -
-- - - 1): ?> - - -
-/cloudsql/typecho-gae:typecho'); ?>
-:/cloudsql/typecho-gae:typecho'); ?>
-- - -
-- - options->commentsRequireMail): ?> required /> -
-- - options->commentsRequireURL): ?> required /> -
- -- - -
-- -
-tags(', ', true, 'none'); ?>
-