@ -0,0 +1,18 @@
|
||||
*~
|
||||
~*
|
||||
*.diff
|
||||
*.patch
|
||||
*.bak
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
.sass-cache
|
||||
.project
|
||||
.*proj
|
||||
.svn/
|
||||
*.swp
|
||||
dist/
|
||||
node_modules/
|
||||
_build/
|
||||
uploads
|
||||
.idea
|
||||
php/default/db/data
|
@ -0,0 +1,178 @@
|
||||
|
||||
module.exports = function(grunt) {
|
||||
|
||||
var BANNER = '/* <%= pkg.name %> <%= pkg.version %> (<%= grunt.template.today("yyyy-mm-dd") %>), Copyright (C)' +
|
||||
' r9it.com,*/\r\n';
|
||||
|
||||
var SRC_FILES = [
|
||||
'src/header.js',
|
||||
'src/core.js',
|
||||
'src/config.js',
|
||||
'src/event.js',
|
||||
'src/html.js',
|
||||
'src/selector.js',
|
||||
'src/node.js',
|
||||
'src/range.js',
|
||||
'src/cmd.js',
|
||||
'src/widget.js',
|
||||
'src/edit.js',
|
||||
'src/toolbar.js',
|
||||
'src/menu.js',
|
||||
'src/colorpicker.js',
|
||||
'src/uploadbutton.js',
|
||||
'src/dialog.js',
|
||||
'src/tabs.js',
|
||||
'src/ajax.js',
|
||||
'src/main.js',
|
||||
'src/footer.js',
|
||||
];
|
||||
|
||||
var PLUGIN_FILES = [
|
||||
'plugins/anchor/anchor.js',
|
||||
'plugins/autoheight/autoheight.js',
|
||||
'plugins/baidumap/baidumap.js',
|
||||
'plugins/map/map.js',
|
||||
'plugins/clearhtml/clearhtml.js',
|
||||
'plugins/code/code.js',
|
||||
'plugins/emoticons/emoticons.js',
|
||||
'plugins/filemanager/filemanager.js',
|
||||
'plugins/flash/flash.js',
|
||||
'plugins/image/image.js',
|
||||
'plugins/insertfile/insertfile.js',
|
||||
'plugins/lineheight/lineheight.js',
|
||||
'plugins/link/link.js',
|
||||
'plugins/map/map.js',
|
||||
'plugins/media/media.js',
|
||||
'plugins/multiimage/multiimage.js',
|
||||
'plugins/graft/graft.js',
|
||||
'plugins/pagebreak/pagebreak.js',
|
||||
'plugins/plainpaste/plainpaste.js',
|
||||
'plugins/preview/preview.js',
|
||||
'plugins/quickformat/quickformat.js',
|
||||
'plugins/table/table.js',
|
||||
'plugins/template/template.js',
|
||||
'plugins/wordpaste/wordpaste.js',
|
||||
'plugins/fixtoolbar/fixtoolbar.js'
|
||||
];
|
||||
|
||||
var pkg = grunt.file.readJSON('package.json');
|
||||
|
||||
var lang = grunt.option('lang') || 'zh-CN';
|
||||
|
||||
grunt.initConfig({
|
||||
pkg : pkg,
|
||||
concat : {
|
||||
options : {
|
||||
process : function(src, filepath) {
|
||||
src = src.replace(/\$\{VERSION\}/g, pkg.version + ' (' + grunt.template.today('yyyy-mm-dd') + ')');
|
||||
src = src.replace(/\$\{THISYEAR\}/g, grunt.template.today('yyyy'));
|
||||
src = src.replace(/\/\*\*(\r\n|\n)[\s\S]*?\*\//g, '');
|
||||
src = src.replace(/(^|\s)\/\/.*$/mg, '');
|
||||
src = src.replace(/(\r\n|\n)\/\*\*\/.*(\r\n|\n)/g, '');
|
||||
src = src.replace(/[ \t]+$/mg, '');
|
||||
src = src.replace(/(\r\n|\n){2,}/g, '$1');
|
||||
return src;
|
||||
}
|
||||
},
|
||||
build : {
|
||||
src : SRC_FILES.concat('lang/' + lang + '.js').concat(PLUGIN_FILES),
|
||||
dest : '<%= pkg.filename %>-all.js'
|
||||
}
|
||||
},
|
||||
|
||||
uglify : {
|
||||
options : {
|
||||
banner : BANNER,
|
||||
},
|
||||
//压缩js
|
||||
build : {
|
||||
|
||||
files: [
|
||||
{
|
||||
src : '<%= pkg.filename %>-all.js',
|
||||
dest : '<%= pkg.filename %>-all-min.js'
|
||||
}
|
||||
]
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
//压缩css
|
||||
cssmin : {
|
||||
options: {
|
||||
banner : BANNER,
|
||||
beautify: {
|
||||
//中文ascii化
|
||||
ascii_only: true
|
||||
}
|
||||
},
|
||||
build : {
|
||||
files: [
|
||||
{
|
||||
src: 'themes/black/editor.css',
|
||||
dest: 'themes/black/editor.min.css'
|
||||
},
|
||||
{
|
||||
src: 'themes/grey/editor.css',
|
||||
dest: 'themes/grey/editor.min.css'
|
||||
},
|
||||
{
|
||||
src: 'themes/blue/editor.css',
|
||||
dest: 'themes/blue/editor.min.css'
|
||||
},
|
||||
{
|
||||
src: 'themes/primary/editor.css',
|
||||
dest: 'themes/primary/editor.min.css'
|
||||
},
|
||||
{
|
||||
src: 'themes/default/editor.css',
|
||||
dest: 'themes/default/editor.min.css'
|
||||
},
|
||||
{
|
||||
src : 'plugins/multiimage/css/upload.css',
|
||||
dest : 'plugins/multiimage/css/upload.min.css'
|
||||
},
|
||||
{
|
||||
src : 'plugins/filemanager/css/filemanager.css',
|
||||
dest : 'plugins/filemanager/css/filemanager.min.css'
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
|
||||
// 打包压缩文件
|
||||
compress : {
|
||||
main : {
|
||||
options: {
|
||||
archive: 'dist/<%= pkg.filename %>-<%= pkg.version %>-' + lang + '.zip',
|
||||
},
|
||||
files: [
|
||||
{src: ['asp/**'], dest: '<%= pkg.name %>/'},
|
||||
{src: ['asp.net/**'], dest: '<%= pkg.name %>/'},
|
||||
{src: ['attached'], dest: '<%= pkg.name %>/'},
|
||||
{src: ['jsp/**'], dest: '<%= pkg.name %>/'},
|
||||
{src: ['libs/**'], dest: '<%= pkg.name %>/'},
|
||||
{src: ['lang/**'], dest: '<%= pkg.name %>/'},
|
||||
{src: ['php/**'], dest: '<%= pkg.name %>/'},
|
||||
{src: ['plugins/**'], dest: '<%= pkg.name %>/'},
|
||||
{src: ['themes/**'], dest: '<%= pkg.name %>/'},
|
||||
{src: ['<%= pkg.filename %>*-all-min.js'], dest: '<%= pkg.name %>/'},
|
||||
{src: ['<%= pkg.filename %>*-all.js'], dest: '<%= pkg.name %>/'},
|
||||
{src: ['index.html'], dest: '<%= pkg.name %>/'},
|
||||
{src: ['old.html'], dest: '<%= pkg.name %>/'},
|
||||
]
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
grunt.loadNpmTasks('grunt-contrib-concat');
|
||||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||||
grunt.loadNpmTasks('grunt-contrib-compress');
|
||||
grunt.loadNpmTasks('grunt-contrib-cssmin');
|
||||
|
||||
grunt.registerTask('build', ['concat', 'uglify', 'cssmin']);
|
||||
grunt.registerTask('zip', ['build', 'compress']);
|
||||
|
||||
grunt.registerTask('default', 'build');
|
||||
|
||||
};
|
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2020 RockYang
|
||||
|
||||
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.
|
@ -0,0 +1,243 @@
|
||||
/*******************************************************************************
|
||||
* KindEditor - WYSIWYG HTML Editor for Internet
|
||||
* Copyright (C) 2006-2011 kindsoft.net
|
||||
*
|
||||
* @author Roddy <luolonghao@gmail.com>
|
||||
* @site http://www.kindsoft.net/
|
||||
* @licence http://www.kindsoft.net/license.php
|
||||
*******************************************************************************/
|
||||
|
||||
KindEditor.lang({
|
||||
source : 'Source',
|
||||
preview : 'Preview',
|
||||
undo : 'Undo(Ctrl+Z)',
|
||||
redo : 'Redo(Ctrl+Y)',
|
||||
cut : 'Cut(Ctrl+X)',
|
||||
copy : 'Copy(Ctrl+C)',
|
||||
paste : 'Paste(Ctrl+V)',
|
||||
plainpaste : 'Paste as plain text',
|
||||
wordpaste : 'Paste from Word',
|
||||
selectall : 'Select all',
|
||||
justifyleft : 'Align left',
|
||||
justifycenter : 'Align center',
|
||||
justifyright : 'Align right',
|
||||
justifyfull : 'Align full',
|
||||
insertorderedlist : 'Ordered list',
|
||||
insertunorderedlist : 'Unordered list',
|
||||
indent : 'Increase indent',
|
||||
outdent : 'Decrease indent',
|
||||
subscript : 'Subscript',
|
||||
superscript : 'Superscript',
|
||||
formatblock : 'Paragraph format',
|
||||
fontname : 'Font family',
|
||||
fontsize : 'Font size',
|
||||
forecolor : 'Text color',
|
||||
hilitecolor : 'Highlight color',
|
||||
bold : 'Bold(Ctrl+B)',
|
||||
italic : 'Italic(Ctrl+I)',
|
||||
underline : 'Underline(Ctrl+U)',
|
||||
strikethrough : 'Strikethrough',
|
||||
removeformat : 'Remove format',
|
||||
image : 'Image',
|
||||
multiimage : 'Multi image',
|
||||
flash : 'Flash',
|
||||
media : 'Embeded media',
|
||||
table : 'Table',
|
||||
tablecell : 'Cell',
|
||||
hr : 'Insert horizontal line',
|
||||
emoticons : 'Insert emoticon',
|
||||
link : 'Link',
|
||||
unlink : 'Unlink',
|
||||
fullscreen : 'Toggle fullscreen mode',
|
||||
about : 'About',
|
||||
print : 'Print',
|
||||
filemanager : 'File Manager',
|
||||
code : 'Insert code',
|
||||
map : 'Google Maps',
|
||||
baidumap : 'Baidu Maps',
|
||||
lineheight : 'Line height',
|
||||
clearhtml : 'Clear HTML code',
|
||||
pagebreak : 'Insert Page Break',
|
||||
quickformat : 'Quick Format',
|
||||
insertfile : 'Insert file',
|
||||
template : 'Insert Template',
|
||||
anchor : 'Anchor',
|
||||
yes : 'OK',
|
||||
no : 'Cancel',
|
||||
close : 'Close',
|
||||
editImage : 'Image properties',
|
||||
deleteImage : 'Delete image',
|
||||
editFlash : 'Flash properties',
|
||||
deleteFlash : 'Delete flash',
|
||||
editMedia : 'Media properties',
|
||||
deleteMedia : 'Delete media',
|
||||
editLink : 'Link properties',
|
||||
deleteLink : 'Unlink',
|
||||
editAnchor : 'Anchor properties',
|
||||
deleteAnchor : 'Delete Anchor',
|
||||
tableprop : 'Table properties',
|
||||
tablecellprop : 'Cell properties',
|
||||
tableinsert : 'Insert table',
|
||||
tabledelete : 'Delete table',
|
||||
tablecolinsertleft : 'Insert column left',
|
||||
tablecolinsertright : 'Insert column right',
|
||||
tablerowinsertabove : 'Insert row above',
|
||||
tablerowinsertbelow : 'Insert row below',
|
||||
tablerowmerge : 'Merge down',
|
||||
tablecolmerge : 'Merge right',
|
||||
tablerowsplit : 'Split row',
|
||||
tablecolsplit : 'Split column',
|
||||
tablecoldelete : 'Delete column',
|
||||
tablerowdelete : 'Delete row',
|
||||
noColor : 'Default',
|
||||
pleaseSelectFile : 'Please select file.',
|
||||
invalidImg : "Please type valid URL.\nAllowed file extension: jpg,gif,bmp,png",
|
||||
invalidMedia : "Please type valid URL.\nAllowed file extension: swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb",
|
||||
invalidWidth : "The width must be number.",
|
||||
invalidHeight : "The height must be number.",
|
||||
invalidBorder : "The border must be number.",
|
||||
invalidUrl : "Please type valid URL.",
|
||||
invalidRows : 'Invalid rows.',
|
||||
invalidCols : 'Invalid columns.',
|
||||
invalidPadding : 'The padding must be number.',
|
||||
invalidSpacing : 'The spacing must be number.',
|
||||
invalidJson : 'Invalid JSON string.',
|
||||
uploadSuccess : 'Upload success.',
|
||||
cutError : 'Currently not supported by your browser, use keyboard shortcut(Ctrl+X) instead.',
|
||||
copyError : 'Currently not supported by your browser, use keyboard shortcut(Ctrl+C) instead.',
|
||||
pasteError : 'Currently not supported by your browser, use keyboard shortcut(Ctrl+V) instead.',
|
||||
ajaxLoading : 'Loading ...',
|
||||
uploadLoading : 'Uploading ...',
|
||||
uploadError : 'Upload Error',
|
||||
'plainpaste.comment' : 'Use keyboard shortcut(Ctrl+V) to paste the text into the window.',
|
||||
'wordpaste.comment' : 'Use keyboard shortcut(Ctrl+V) to paste the text into the window.',
|
||||
'code.pleaseInput' : 'Please input code.',
|
||||
'link.url' : 'URL',
|
||||
'link.linkType' : 'Target',
|
||||
'link.newWindow' : 'New window',
|
||||
'link.selfWindow' : 'Same window',
|
||||
'flash.url' : 'URL',
|
||||
'flash.width' : 'Width',
|
||||
'flash.height' : 'Height',
|
||||
'flash.upload' : 'Upload',
|
||||
'flash.viewServer' : 'Browse',
|
||||
'media.url' : 'URL',
|
||||
'media.width' : 'Width',
|
||||
'media.height' : 'Height',
|
||||
'media.autostart' : 'Auto start',
|
||||
'media.upload' : 'Upload',
|
||||
'media.viewServer' : 'Browse',
|
||||
'image.remoteImage' : 'Insert URL',
|
||||
'image.localImage' : 'Upload',
|
||||
'image.remoteUrl' : 'URL',
|
||||
'image.localUrl' : 'File',
|
||||
'image.size' : 'Size',
|
||||
'image.width' : 'Width',
|
||||
'image.height' : 'Height',
|
||||
'image.resetSize' : 'Reset dimensions',
|
||||
'image.align' : 'Align',
|
||||
'image.defaultAlign' : 'Default',
|
||||
'image.leftAlign' : 'Left',
|
||||
'image.rightAlign' : 'Right',
|
||||
'image.imgTitle' : 'Title',
|
||||
'image.upload' : 'Browse',
|
||||
'image.viewServer' : 'Browse',
|
||||
'multiimage.uploadDesc' : 'Allows users to upload <%=uploadLimit%> images, single image size not exceeding <%=sizeLimit%>',
|
||||
'multiimage.startUpload' : 'Start upload',
|
||||
'multiimage.clearAll' : 'Clear all',
|
||||
'multiimage.insertAll' : 'Insert all',
|
||||
'multiimage.queueLimitExceeded' : 'Queue limit exceeded.',
|
||||
'multiimage.fileExceedsSizeLimit' : 'File exceeds size limit.',
|
||||
'multiimage.zeroByteFile' : 'Zero byte file.',
|
||||
'multiimage.invalidFiletype' : 'Invalid file type.',
|
||||
'multiimage.unknownError' : 'Unknown upload error.',
|
||||
'multiimage.pending' : 'Pending ...',
|
||||
'multiimage.uploadError' : 'Upload error',
|
||||
'filemanager.emptyFolder' : 'Blank',
|
||||
'filemanager.moveup' : 'Parent folder',
|
||||
'filemanager.viewType' : 'Display: ',
|
||||
'filemanager.viewImage' : 'Thumbnails',
|
||||
'filemanager.listImage' : 'List',
|
||||
'filemanager.orderType' : 'Sorting: ',
|
||||
'filemanager.fileName' : 'By name',
|
||||
'filemanager.fileSize' : 'By size',
|
||||
'filemanager.fileType' : 'By type',
|
||||
'insertfile.url' : 'URL',
|
||||
'insertfile.title' : 'Title',
|
||||
'insertfile.upload' : 'Upload',
|
||||
'insertfile.viewServer' : 'Browse',
|
||||
'table.cells' : 'Cells',
|
||||
'table.rows' : 'Rows',
|
||||
'table.cols' : 'Columns',
|
||||
'table.size' : 'Dimensions',
|
||||
'table.width' : 'Width',
|
||||
'table.height' : 'Height',
|
||||
'table.percent' : '%',
|
||||
'table.px' : 'px',
|
||||
'table.space' : 'Space',
|
||||
'table.padding' : 'Padding',
|
||||
'table.spacing' : 'Spacing',
|
||||
'table.align' : 'Align',
|
||||
'table.textAlign' : 'Horizontal',
|
||||
'table.verticalAlign' : 'Vertical',
|
||||
'table.alignDefault' : 'Default',
|
||||
'table.alignLeft' : 'Left',
|
||||
'table.alignCenter' : 'Center',
|
||||
'table.alignRight' : 'Right',
|
||||
'table.alignTop' : 'Top',
|
||||
'table.alignMiddle' : 'Middle',
|
||||
'table.alignBottom' : 'Bottom',
|
||||
'table.alignBaseline' : 'Baseline',
|
||||
'table.border' : 'Border',
|
||||
'table.borderWidth' : 'Width',
|
||||
'table.borderColor' : 'Color',
|
||||
'table.backgroundColor' : 'Background',
|
||||
'map.address' : 'Address: ',
|
||||
'map.search' : 'Search',
|
||||
'baidumap.address' : 'Address: ',
|
||||
'baidumap.search' : 'Search',
|
||||
'baidumap.insertDynamicMap' : 'Dynamic Map',
|
||||
'anchor.name' : 'Anchor name',
|
||||
'formatblock.formatBlock' : {
|
||||
h1 : 'Heading 1',
|
||||
h2 : 'Heading 2',
|
||||
h3 : 'Heading 3',
|
||||
h4 : 'Heading 4',
|
||||
p : 'Normal'
|
||||
},
|
||||
'fontname.fontName' : {
|
||||
'Arial' : 'Arial',
|
||||
'Arial Black' : 'Arial Black',
|
||||
'Comic Sans MS' : 'Comic Sans MS',
|
||||
'Courier New' : 'Courier New',
|
||||
'Garamond' : 'Garamond',
|
||||
'Georgia' : 'Georgia',
|
||||
'Tahoma' : 'Tahoma',
|
||||
'Times New Roman' : 'Times New Roman',
|
||||
'Trebuchet MS' : 'Trebuchet MS',
|
||||
'Verdana' : 'Verdana'
|
||||
},
|
||||
'lineheight.lineHeight' : [
|
||||
{'1' : 'Line height 1'},
|
||||
{'1.5' : 'Line height 1.5'},
|
||||
{'2' : 'Line height 2'},
|
||||
{'2.5' : 'Line height 2.5'},
|
||||
{'3' : 'Line height 3'}
|
||||
],
|
||||
'template.selectTemplate' : 'Template',
|
||||
'template.replaceContent' : 'Replace current content',
|
||||
'template.fileList' : {
|
||||
'1.html' : 'Image and Text',
|
||||
'2.html' : 'Table',
|
||||
'3.html' : 'List'
|
||||
}
|
||||
}, 'en');
|
||||
|
||||
//自动加载代码美化的js插件
|
||||
// KindEditor.loadScript(KindEditor.options.pluginsPath+"code/prettify.js");
|
||||
// KindEditor.each(KindEditor.options.items, function(i, name) {
|
||||
// if (name == 'code') {
|
||||
// KindEditor.options.items[i] = 'map';
|
||||
// }
|
||||
// });
|
||||
KindEditor.options.langType = 'en';
|
@ -0,0 +1,246 @@
|
||||
/*******************************************************************************
|
||||
* KindEditor - WYSIWYG HTML Editor for Internet
|
||||
* Copyright (C) 2006-2011 kindsoft.net
|
||||
*
|
||||
* @author Composite <ukjinplant@gmail.com>
|
||||
* @site http://www.kindsoft.net/
|
||||
* @licence http://www.kindsoft.net/license.php
|
||||
*******************************************************************************/
|
||||
|
||||
KindEditor.lang({
|
||||
source : '소스',
|
||||
preview : '미리보기',
|
||||
undo : '작업취소(Ctrl+Z)',
|
||||
redo : '작업재개(Ctrl+Y)',
|
||||
cut : '잘라내기(Ctrl+X)',
|
||||
copy : '복사(Ctrl+C)',
|
||||
paste : '붙여넣기(Ctrl+V)',
|
||||
plainpaste : '일반 텍스트로 붙여넣기',
|
||||
wordpaste : '워드 문서로 붙여넣기',
|
||||
selectall : '전체 선택',
|
||||
justifyleft : '왼쪽 정렬',
|
||||
justifycenter : '가운데 정렬',
|
||||
justifyright : '오른쪽 정렬',
|
||||
justifyfull : '양쪽 정렬',
|
||||
insertorderedlist : '순서 목록',
|
||||
insertunorderedlist : '비순서 목록',
|
||||
indent : '들여쓰기',
|
||||
outdent : '내어쓰기',
|
||||
subscript : '아랫첨자',
|
||||
superscript : '윗첨자',
|
||||
formatblock : '문단 형식',
|
||||
fontname : '글꼴',
|
||||
fontsize : '글자 크기',
|
||||
forecolor : '글자색',
|
||||
hilitecolor : '강조색',
|
||||
bold : '굵게(Ctrl+B)',
|
||||
italic : '이텔릭(Ctrl+I)',
|
||||
underline : '빝줄(Ctrl+U)',
|
||||
strikethrough : '취소선',
|
||||
removeformat : '형식 제거',
|
||||
image : '이미지 추가',
|
||||
multiimage : '여러 이미지 추가',
|
||||
flash : '플래시 추가',
|
||||
media : '미디어 추가',
|
||||
table : '표',
|
||||
tablecell : '열',
|
||||
hr : '구분선 추가',
|
||||
emoticons : '이모티콘 추가',
|
||||
link : '링크',
|
||||
unlink : '링크 제거',
|
||||
fullscreen : '전체 화면 모드',
|
||||
about : '이 에디터는...',
|
||||
print : '인쇄',
|
||||
filemanager : '파일 관리자',
|
||||
code : '코드 추가',
|
||||
map : '구글 맵 추가',
|
||||
baidumap : '바이두 맵 추가',
|
||||
lineheight : '행 간격',
|
||||
clearhtml : 'HTML 코드 정리',
|
||||
pagebreak : '페이지 구분 추가',
|
||||
quickformat : '빠른 형식',
|
||||
insertfile : '파일 추가',
|
||||
template : '템플릿 추가',
|
||||
anchor : '책갈피',
|
||||
yes : '확인',
|
||||
no : '취소',
|
||||
close : '닫기',
|
||||
editImage : '이미지 속성',
|
||||
deleteImage : '이미지 삭제',
|
||||
editFlash : '플래시 속성',
|
||||
deleteFlash : '플래시 삭제',
|
||||
editMedia : '미디어 속성',
|
||||
deleteMedia : '미디어 삭제',
|
||||
editLink : '링크 속성',
|
||||
deleteLink : '링크 삭제',
|
||||
editAnchor : 'Anchor properties',
|
||||
deleteAnchor : 'Delete Anchor',
|
||||
tableprop : '표 속성',
|
||||
tablecellprop : '열 속성',
|
||||
tableinsert : '표 추가',
|
||||
tabledelete : '표 삭제',
|
||||
tablecolinsertleft : '왼쪽으로 열 추가',
|
||||
tablecolinsertright : '오른쪽으로 열 추가',
|
||||
tablerowinsertabove : '위쪽으로 열 추가',
|
||||
tablerowinsertbelow : '아래쪽으로 열 추가',
|
||||
tablerowmerge : '아래로 병합',
|
||||
tablecolmerge : '오른쪽으로 병합',
|
||||
tablerowsplit : '행 나누기',
|
||||
tablecolsplit : '열 나누기',
|
||||
tablecoldelete : '열 삭제',
|
||||
tablerowdelete : '행 삭제',
|
||||
noColor : '기본색',
|
||||
pleaseSelectFile : '파일 선택',
|
||||
invalidImg : "올바른 주소를 입력하세요.\njpg,gif,bmp,png 형식이 가능합니다.",
|
||||
invalidMedia : "올바른 주소를 입력하세요.\nswf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb 형식이 가능합니다.",
|
||||
invalidWidth : "넓이 값은 숫자여야 합니다.",
|
||||
invalidHeight : "높이 값은 숫자여야 합니다.",
|
||||
invalidBorder : "굵기 값은 숫자여야 합니다.",
|
||||
invalidUrl : "올바른 주소를 입력하세요.",
|
||||
invalidRows : '올바른 행이 아닙니다.',
|
||||
invalidCols : '올바른 열이 아닙니다.',
|
||||
invalidPadding : '안쪽 여백 값은 숫자여야 합니다.',
|
||||
invalidSpacing : '간격 길이 값은 숫자여야 합니다.',
|
||||
invalidJson : '올바른 JSON 형식이 아닙니다.',
|
||||
uploadSuccess : '업로드가 완료되었습니다.',
|
||||
cutError : '브라우저가 잘라내기 기능을 지원하지 않습니다, 단축키로 대신 사용하세요. (Ctrl+X)',
|
||||
copyError : '브라우저가 복사 기능을 지원하지 않습니다, 단축키로 대신 사용하세요. (Ctrl+X)',
|
||||
pasteError : '브라우저가 붙여넣기 기능을 지원하지 않습니다, 단축키로 대신 사용하세요. (Ctrl+X)',
|
||||
ajaxLoading : '불러오는 중 ...',
|
||||
uploadLoading : '업로드 중 ...',
|
||||
uploadError : '업로드 오류',
|
||||
'plainpaste.comment' : '단축키(Ctrl+V)를 통하여 여기에 텍스트를 붙여넣으세요.',
|
||||
'wordpaste.comment' : '단축키(Ctrl+V)를 통하여 여기에 워드 텍스트를 붙여넣으세요.',
|
||||
'code.pleaseInput' : 'Please input code.',
|
||||
'link.url' : '주소',
|
||||
'link.linkType' : '창',
|
||||
'link.newWindow' : '새 창',
|
||||
'link.selfWindow' : '현재 창',
|
||||
'flash.url' : '주소',
|
||||
'flash.width' : '넓이',
|
||||
'flash.height' : '높이',
|
||||
'flash.upload' : '업로드',
|
||||
'flash.viewServer' : '찾아보기',
|
||||
'media.url' : '주소',
|
||||
'media.width' : '넓이',
|
||||
'media.height' : '높이',
|
||||
'media.autostart' : '자동 시작',
|
||||
'media.upload' : '업로드',
|
||||
'media.viewServer' : '찾아보기',
|
||||
'image.remoteImage' : '외부 이미지',
|
||||
'image.localImage' : '내부 이미지',
|
||||
'image.remoteUrl' : '주소',
|
||||
'image.localUrl' : '파일',
|
||||
'image.size' : '크기',
|
||||
'image.width' : '넓이',
|
||||
'image.height' : '높이',
|
||||
'image.resetSize' : '기본 크기로',
|
||||
'image.align' : '정렬',
|
||||
'image.defaultAlign' : '기본',
|
||||
'image.leftAlign' : '왼쪽',
|
||||
'image.rightAlign' : '오른쪽',
|
||||
'image.imgTitle' : '제목',
|
||||
'image.upload' : '찾아보기',
|
||||
'image.viewServer' : '찾아보기',
|
||||
'multiimage.uploadDesc' : '최대 이미지 개수: <%=uploadLimit%>개, 개당 이미지 크기: <%=sizeLimit%>',
|
||||
'multiimage.startUpload' : '업로드 시작',
|
||||
'multiimage.clearAll' : '모두 삭제',
|
||||
'multiimage.insertAll' : '모두 삽입',
|
||||
'multiimage.queueLimitExceeded' : '업로드 개수가 초과되었습니다.',
|
||||
'multiimage.fileExceedsSizeLimit' : '업로드 크기가 초과되었습니다.',
|
||||
'multiimage.zeroByteFile' : '파일 크기가 없습니다.',
|
||||
'multiimage.invalidFiletype' : '올바른 이미지가 아닙니다.',
|
||||
'multiimage.unknownError' : '알 수 없는 업로드 오류가 발생하였습니다.',
|
||||
'multiimage.pending' : '처리 중 ...',
|
||||
'multiimage.uploadError' : '업로드 오류',
|
||||
'filemanager.emptyFolder' : '빈 폴더',
|
||||
'filemanager.moveup' : '위로',
|
||||
'filemanager.viewType' : '보기 방식: ',
|
||||
'filemanager.viewImage' : '미리 보기',
|
||||
'filemanager.listImage' : '목록',
|
||||
'filemanager.orderType' : '정렬 방식: ',
|
||||
'filemanager.fileName' : '이름별',
|
||||
'filemanager.fileSize' : '크기별',
|
||||
'filemanager.fileType' : '종류별',
|
||||
'insertfile.url' : '주소',
|
||||
'insertfile.title' : '제목',
|
||||
'insertfile.upload' : '업로드',
|
||||
'insertfile.viewServer' : '찾아보기',
|
||||
'table.cells' : '열',
|
||||
'table.rows' : '행',
|
||||
'table.cols' : '열',
|
||||
'table.size' : '표 크기',
|
||||
'table.width' : '넓이',
|
||||
'table.height' : '높이',
|
||||
'table.percent' : '%',
|
||||
'table.px' : 'px',
|
||||
'table.space' : '간격',
|
||||
'table.padding' : '안쪽여백',
|
||||
'table.spacing' : '간격',
|
||||
'table.align' : '정렬',
|
||||
'table.textAlign' : '수직',
|
||||
'table.verticalAlign' : '수평',
|
||||
'table.alignDefault' : '기본',
|
||||
'table.alignLeft' : '왼쪽',
|
||||
'table.alignCenter' : '가운데',
|
||||
'table.alignRight' : '오른쪽',
|
||||
'table.alignTop' : '위쪽',
|
||||
'table.alignMiddle' : '중간',
|
||||
'table.alignBottom' : '아래쪽',
|
||||
'table.alignBaseline' : '글자기준',
|
||||
'table.border' : '테두리',
|
||||
'table.borderWidth' : '크기',
|
||||
'table.borderColor' : '색상',
|
||||
'table.backgroundColor' : '배경',
|
||||
'map.address' : '주소: ',
|
||||
'map.search' : '검색',
|
||||
'baidumap.address' : '주소: ',
|
||||
'baidumap.search' : '검색',
|
||||
'baidumap.insertDynamicMap' : '동적 지도',
|
||||
'anchor.name' : '책갈피명',
|
||||
'formatblock.formatBlock' : {
|
||||
h1 : '제목 1',
|
||||
h2 : '제목 2',
|
||||
h3 : '제목 3',
|
||||
h4 : '제목 4',
|
||||
p : '본문'
|
||||
},
|
||||
'fontname.fontName' : {
|
||||
'Gulim' : '굴림',
|
||||
'Dotum' : '돋움',
|
||||
'Batang' : '바탕',
|
||||
'Gungsuh' : '궁서',
|
||||
'Malgun Gothic' : '맑은 고딕',
|
||||
'Arial' : 'Arial',
|
||||
'Arial Black' : 'Arial Black',
|
||||
'Comic Sans MS' : 'Comic Sans MS',
|
||||
'Courier New' : 'Courier New',
|
||||
'Garamond' : 'Garamond',
|
||||
'Georgia' : 'Georgia',
|
||||
'Tahoma' : 'Tahoma',
|
||||
'Times New Roman' : 'Times New Roman',
|
||||
'Trebuchet MS' : 'Trebuchet MS',
|
||||
'Verdana' : 'Verdana'
|
||||
},
|
||||
'lineheight.lineHeight' : [
|
||||
{'1' : '행간 1'},
|
||||
{'1.5' : '행간 1.5'},
|
||||
{'2' : '행간 2'},
|
||||
{'2.5' : '행간 2.5'},
|
||||
{'3' : '행간 3'}
|
||||
],
|
||||
'template.selectTemplate' : '템플릿',
|
||||
'template.replaceContent' : '내용 바꾸기',
|
||||
'template.fileList' : {
|
||||
'1.html' : '이미지와 텍스트',
|
||||
'2.html' : '표',
|
||||
'3.html' : '목록'
|
||||
}
|
||||
}, 'ko');
|
||||
|
||||
KindEditor.each(KindEditor.options.items, function(i, name) {
|
||||
if (name == 'baidumap') {
|
||||
KindEditor.options.items[i] = 'map';
|
||||
}
|
||||
});
|
||||
KindEditor.options.langType = 'ko';
|
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 771 B |
After Width: | Height: | Size: 51 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 7.1 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 82 KiB |
@ -0,0 +1,646 @@
|
||||
{
|
||||
"name": "NKeditor",
|
||||
"version": "5.0.3",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
"abbrev": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "http://registry.npm.taobao.org/abbrev/download/abbrev-1.1.1.tgz",
|
||||
"integrity": "sha1-+PLIh60Qv2f2NPAFtph/7TF5qsg=",
|
||||
"dev": true
|
||||
},
|
||||
"amdefine": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz",
|
||||
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-regex": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "http://registry.npm.taobao.org/ansi-regex/download/ansi-regex-2.1.1.tgz",
|
||||
"integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
|
||||
"dev": true
|
||||
},
|
||||
"ansi-styles": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "http://registry.npm.taobao.org/ansi-styles/download/ansi-styles-2.2.1.tgz",
|
||||
"integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
|
||||
"dev": true
|
||||
},
|
||||
"archiver": {
|
||||
"version": "0.4.10",
|
||||
"resolved": "http://registry.npm.taobao.org/archiver/download/archiver-0.4.10.tgz",
|
||||
"integrity": "sha1-3w/qyPHRKV5ezrOiBVWQctIfR0c=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"iconv-lite": "0.2.11",
|
||||
"readable-stream": "1.0.34"
|
||||
}
|
||||
},
|
||||
"argparse": {
|
||||
"version": "0.1.16",
|
||||
"resolved": "http://registry.npm.taobao.org/argparse/download/argparse-0.1.16.tgz",
|
||||
"integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"underscore": "1.7.0",
|
||||
"underscore.string": "2.4.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"underscore.string": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "http://registry.npm.taobao.org/underscore.string/download/underscore.string-2.4.0.tgz",
|
||||
"integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"async": {
|
||||
"version": "0.1.22",
|
||||
"resolved": "http://registry.npm.taobao.org/async/download/async-0.1.22.tgz",
|
||||
"integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=",
|
||||
"dev": true
|
||||
},
|
||||
"camelcase": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "http://registry.npm.taobao.org/camelcase/download/camelcase-1.2.1.tgz",
|
||||
"integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
|
||||
"dev": true
|
||||
},
|
||||
"chalk": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "http://registry.npm.taobao.org/chalk/download/chalk-1.1.3.tgz",
|
||||
"integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "2.2.1",
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"has-ansi": "2.0.0",
|
||||
"strip-ansi": "3.0.1",
|
||||
"supports-color": "2.0.0"
|
||||
}
|
||||
},
|
||||
"clean-css": {
|
||||
"version": "4.1.11",
|
||||
"resolved": "http://registry.npm.taobao.org/clean-css/download/clean-css-4.1.11.tgz",
|
||||
"integrity": "sha1-Ls3xRaujj1R0DybO/Q/z4D4SXWo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"source-map": "0.5.7"
|
||||
}
|
||||
},
|
||||
"coffee-script": {
|
||||
"version": "1.3.3",
|
||||
"resolved": "http://registry.npm.taobao.org/coffee-script/download/coffee-script-1.3.3.tgz",
|
||||
"integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=",
|
||||
"dev": true
|
||||
},
|
||||
"colors": {
|
||||
"version": "0.6.2",
|
||||
"resolved": "http://registry.npm.taobao.org/colors/download/colors-0.6.2.tgz",
|
||||
"integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
|
||||
"dev": true
|
||||
},
|
||||
"core-util-is": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
|
||||
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
|
||||
"dev": true
|
||||
},
|
||||
"dateformat": {
|
||||
"version": "1.0.2-1.2.3",
|
||||
"resolved": "http://registry.npm.taobao.org/dateformat/download/dateformat-1.0.2-1.2.3.tgz",
|
||||
"integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=",
|
||||
"dev": true
|
||||
},
|
||||
"decamelize": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "http://registry.npm.taobao.org/decamelize/download/decamelize-1.2.0.tgz",
|
||||
"integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
|
||||
"dev": true
|
||||
},
|
||||
"duplexer": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "http://registry.npm.taobao.org/duplexer/download/duplexer-0.1.1.tgz",
|
||||
"integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
|
||||
"dev": true
|
||||
},
|
||||
"escape-string-regexp": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
|
||||
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
|
||||
"dev": true
|
||||
},
|
||||
"esprima": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "http://registry.npm.taobao.org/esprima/download/esprima-1.0.4.tgz",
|
||||
"integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
|
||||
"dev": true
|
||||
},
|
||||
"eventemitter2": {
|
||||
"version": "0.4.14",
|
||||
"resolved": "http://registry.npm.taobao.org/eventemitter2/download/eventemitter2-0.4.14.tgz",
|
||||
"integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
|
||||
"dev": true
|
||||
},
|
||||
"exit": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "http://registry.npm.taobao.org/exit/download/exit-0.1.2.tgz",
|
||||
"integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
|
||||
"dev": true
|
||||
},
|
||||
"figures": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "http://registry.npm.taobao.org/figures/download/figures-1.7.0.tgz",
|
||||
"integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"escape-string-regexp": "1.0.5",
|
||||
"object-assign": "4.1.1"
|
||||
}
|
||||
},
|
||||
"findup-sync": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "http://registry.npm.taobao.org/findup-sync/download/findup-sync-0.1.3.tgz",
|
||||
"integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "3.2.11",
|
||||
"lodash": "2.4.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"glob": {
|
||||
"version": "3.2.11",
|
||||
"resolved": "http://registry.npm.taobao.org/glob/download/glob-3.2.11.tgz",
|
||||
"integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"inherits": "2.0.3",
|
||||
"minimatch": "0.3.0"
|
||||
}
|
||||
},
|
||||
"lodash": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "http://registry.npm.taobao.org/lodash/download/lodash-2.4.2.tgz",
|
||||
"integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
|
||||
"dev": true
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-0.3.0.tgz",
|
||||
"integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lru-cache": "2.7.3",
|
||||
"sigmund": "1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"getobject": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "http://registry.npm.taobao.org/getobject/download/getobject-0.1.0.tgz",
|
||||
"integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
|
||||
"dev": true
|
||||
},
|
||||
"glob": {
|
||||
"version": "3.1.21",
|
||||
"resolved": "http://registry.npm.taobao.org/glob/download/glob-3.1.21.tgz",
|
||||
"integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"graceful-fs": "1.2.3",
|
||||
"inherits": "1.0.2",
|
||||
"minimatch": "0.2.14"
|
||||
},
|
||||
"dependencies": {
|
||||
"inherits": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "http://registry.npm.taobao.org/inherits/download/inherits-1.0.2.tgz",
|
||||
"integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"graceful-fs": {
|
||||
"version": "1.2.3",
|
||||
"resolved": "http://registry.npm.taobao.org/graceful-fs/download/graceful-fs-1.2.3.tgz",
|
||||
"integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
|
||||
"dev": true
|
||||
},
|
||||
"grunt": {
|
||||
"version": "0.4.5",
|
||||
"resolved": "http://registry.npm.taobao.org/grunt/download/grunt-0.4.5.tgz",
|
||||
"integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"async": "0.1.22",
|
||||
"coffee-script": "1.3.3",
|
||||
"colors": "0.6.2",
|
||||
"dateformat": "1.0.2-1.2.3",
|
||||
"eventemitter2": "0.4.14",
|
||||
"exit": "0.1.2",
|
||||
"findup-sync": "0.1.3",
|
||||
"getobject": "0.1.0",
|
||||
"glob": "3.1.21",
|
||||
"grunt-legacy-log": "0.1.3",
|
||||
"grunt-legacy-util": "0.2.0",
|
||||
"hooker": "0.2.3",
|
||||
"iconv-lite": "0.2.11",
|
||||
"js-yaml": "2.0.5",
|
||||
"lodash": "0.9.2",
|
||||
"minimatch": "0.2.14",
|
||||
"nopt": "1.0.10",
|
||||
"rimraf": "2.2.8",
|
||||
"underscore.string": "2.2.1",
|
||||
"which": "1.0.9"
|
||||
}
|
||||
},
|
||||
"grunt-contrib-compress": {
|
||||
"version": "0.5.3",
|
||||
"resolved": "http://registry.npm.taobao.org/grunt-contrib-compress/download/grunt-contrib-compress-0.5.3.tgz",
|
||||
"integrity": "sha1-ujtbL/Q4xFMFeeaWLKuAaWWA6+0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"archiver": "0.4.10",
|
||||
"lazystream": "0.1.0",
|
||||
"prettysize": "0.0.3"
|
||||
}
|
||||
},
|
||||
"grunt-contrib-concat": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "http://registry.npm.taobao.org/grunt-contrib-concat/download/grunt-contrib-concat-0.3.0.tgz",
|
||||
"integrity": "sha1-SPoNQzbSm2U62CJaa9b4VrRIPjI=",
|
||||
"dev": true
|
||||
},
|
||||
"grunt-contrib-copy": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "http://registry.npm.taobao.org/grunt-contrib-copy/download/grunt-contrib-copy-0.4.1.tgz",
|
||||
"integrity": "sha1-8HU7QK4hu3BtrvsLKZ4DzfX6nW4=",
|
||||
"dev": true
|
||||
},
|
||||
"grunt-contrib-cssmin": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "http://registry.npm.taobao.org/grunt-contrib-cssmin/download/grunt-contrib-cssmin-2.2.1.tgz",
|
||||
"integrity": "sha1-ZMvr5gE0vBJwykFUUU7EAHzBb38=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "1.1.3",
|
||||
"clean-css": "4.1.11",
|
||||
"maxmin": "2.1.0"
|
||||
}
|
||||
},
|
||||
"grunt-contrib-uglify": {
|
||||
"version": "0.2.7",
|
||||
"resolved": "http://registry.npm.taobao.org/grunt-contrib-uglify/download/grunt-contrib-uglify-0.2.7.tgz",
|
||||
"integrity": "sha1-5r2lHgxAoUWfbOrUI8Ze/XJaG/c=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"grunt-lib-contrib": "0.6.1",
|
||||
"uglify-js": "2.4.24"
|
||||
}
|
||||
},
|
||||
"grunt-legacy-log": {
|
||||
"version": "0.1.3",
|
||||
"resolved": "http://registry.npm.taobao.org/grunt-legacy-log/download/grunt-legacy-log-0.1.3.tgz",
|
||||
"integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"colors": "0.6.2",
|
||||
"grunt-legacy-log-utils": "0.1.1",
|
||||
"hooker": "0.2.3",
|
||||
"lodash": "2.4.2",
|
||||
"underscore.string": "2.3.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"lodash": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "http://registry.npm.taobao.org/lodash/download/lodash-2.4.2.tgz",
|
||||
"integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
|
||||
"dev": true
|
||||
},
|
||||
"underscore.string": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "http://registry.npm.taobao.org/underscore.string/download/underscore.string-2.3.3.tgz",
|
||||
"integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"grunt-legacy-log-utils": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "http://registry.npm.taobao.org/grunt-legacy-log-utils/download/grunt-legacy-log-utils-0.1.1.tgz",
|
||||
"integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"colors": "0.6.2",
|
||||
"lodash": "2.4.2",
|
||||
"underscore.string": "2.3.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"lodash": {
|
||||
"version": "2.4.2",
|
||||
"resolved": "http://registry.npm.taobao.org/lodash/download/lodash-2.4.2.tgz",
|
||||
"integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
|
||||
"dev": true
|
||||
},
|
||||
"underscore.string": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "http://registry.npm.taobao.org/underscore.string/download/underscore.string-2.3.3.tgz",
|
||||
"integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"grunt-legacy-util": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "http://registry.npm.taobao.org/grunt-legacy-util/download/grunt-legacy-util-0.2.0.tgz",
|
||||
"integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"async": "0.1.22",
|
||||
"exit": "0.1.2",
|
||||
"getobject": "0.1.0",
|
||||
"hooker": "0.2.3",
|
||||
"lodash": "0.9.2",
|
||||
"underscore.string": "2.2.1",
|
||||
"which": "1.0.9"
|
||||
}
|
||||
},
|
||||
"grunt-lib-contrib": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "http://registry.npm.taobao.org/grunt-lib-contrib/download/grunt-lib-contrib-0.6.1.tgz",
|
||||
"integrity": "sha1-P1att9oG6BR5XuJBWw6+X7iQPrs=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"zlib-browserify": "0.0.1"
|
||||
}
|
||||
},
|
||||
"gzip-size": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "http://registry.npm.taobao.org/gzip-size/download/gzip-size-3.0.0.tgz",
|
||||
"integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"duplexer": "0.1.1"
|
||||
}
|
||||
},
|
||||
"has-ansi": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "http://registry.npm.taobao.org/has-ansi/download/has-ansi-2.0.0.tgz",
|
||||
"integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"hooker": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "http://registry.npm.taobao.org/hooker/download/hooker-0.2.3.tgz",
|
||||
"integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
|
||||
"dev": true
|
||||
},
|
||||
"iconv-lite": {
|
||||
"version": "0.2.11",
|
||||
"resolved": "http://registry.npm.taobao.org/iconv-lite/download/iconv-lite-0.2.11.tgz",
|
||||
"integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=",
|
||||
"dev": true
|
||||
},
|
||||
"inherits": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
|
||||
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
|
||||
"dev": true
|
||||
},
|
||||
"isarray": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "http://registry.npm.taobao.org/isarray/download/isarray-0.0.1.tgz",
|
||||
"integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
|
||||
"dev": true
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "2.0.5",
|
||||
"resolved": "http://registry.npm.taobao.org/js-yaml/download/js-yaml-2.0.5.tgz",
|
||||
"integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"argparse": "0.1.16",
|
||||
"esprima": "1.0.4"
|
||||
}
|
||||
},
|
||||
"lazystream": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "http://registry.npm.taobao.org/lazystream/download/lazystream-0.1.0.tgz",
|
||||
"integrity": "sha1-GyXWPHcqTCDwpe0KnXf0hLbhaSA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"readable-stream": "1.0.34"
|
||||
}
|
||||
},
|
||||
"lodash": {
|
||||
"version": "0.9.2",
|
||||
"resolved": "http://registry.npm.taobao.org/lodash/download/lodash-0.9.2.tgz",
|
||||
"integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
|
||||
"dev": true
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "2.7.3",
|
||||
"resolved": "http://registry.npm.taobao.org/lru-cache/download/lru-cache-2.7.3.tgz",
|
||||
"integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
|
||||
"dev": true
|
||||
},
|
||||
"maxmin": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "http://registry.npm.taobao.org/maxmin/download/maxmin-2.1.0.tgz",
|
||||
"integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chalk": "1.1.3",
|
||||
"figures": "1.7.0",
|
||||
"gzip-size": "3.0.0",
|
||||
"pretty-bytes": "3.0.1"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "0.2.14",
|
||||
"resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-0.2.14.tgz",
|
||||
"integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"lru-cache": "2.7.3",
|
||||
"sigmund": "1.0.1"
|
||||
}
|
||||
},
|
||||
"nopt": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "http://registry.npm.taobao.org/nopt/download/nopt-1.0.10.tgz",
|
||||
"integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"abbrev": "1.1.1"
|
||||
}
|
||||
},
|
||||
"number-is-nan": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "http://registry.npm.taobao.org/number-is-nan/download/number-is-nan-1.0.1.tgz",
|
||||
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
|
||||
"dev": true
|
||||
},
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
|
||||
"dev": true
|
||||
},
|
||||
"pretty-bytes": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "http://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-3.0.1.tgz",
|
||||
"integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"number-is-nan": "1.0.1"
|
||||
}
|
||||
},
|
||||
"prettysize": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "http://registry.npm.taobao.org/prettysize/download/prettysize-0.0.3.tgz",
|
||||
"integrity": "sha1-FK//amReWRpN3xxykZwjtBRhgaE=",
|
||||
"dev": true
|
||||
},
|
||||
"readable-stream": {
|
||||
"version": "1.0.34",
|
||||
"resolved": "http://registry.npm.taobao.org/readable-stream/download/readable-stream-1.0.34.tgz",
|
||||
"integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"core-util-is": "1.0.2",
|
||||
"inherits": "2.0.3",
|
||||
"isarray": "0.0.1",
|
||||
"string_decoder": "0.10.31"
|
||||
}
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "2.2.8",
|
||||
"resolved": "http://registry.npm.taobao.org/rimraf/download/rimraf-2.2.8.tgz",
|
||||
"integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
|
||||
"dev": true
|
||||
},
|
||||
"sigmund": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "http://registry.npm.taobao.org/sigmund/download/sigmund-1.0.1.tgz",
|
||||
"integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
|
||||
"dev": true
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.5.7",
|
||||
"resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.7.tgz",
|
||||
"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
|
||||
"dev": true
|
||||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "http://registry.npm.taobao.org/string_decoder/download/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
|
||||
"dev": true
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "http://registry.npm.taobao.org/strip-ansi/download/strip-ansi-3.0.1.tgz",
|
||||
"integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-regex": "2.1.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-2.0.0.tgz",
|
||||
"integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
|
||||
"dev": true
|
||||
},
|
||||
"uglify-js": {
|
||||
"version": "2.4.24",
|
||||
"resolved": "http://registry.npm.taobao.org/uglify-js/download/uglify-js-2.4.24.tgz",
|
||||
"integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"async": "0.2.10",
|
||||
"source-map": "0.1.34",
|
||||
"uglify-to-browserify": "1.0.2",
|
||||
"yargs": "3.5.4"
|
||||
},
|
||||
"dependencies": {
|
||||
"async": {
|
||||
"version": "0.2.10",
|
||||
"resolved": "http://registry.npm.taobao.org/async/download/async-0.2.10.tgz",
|
||||
"integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
|
||||
"dev": true
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.1.34",
|
||||
"resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.1.34.tgz",
|
||||
"integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"amdefine": "1.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"uglify-to-browserify": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "http://registry.npm.taobao.org/uglify-to-browserify/download/uglify-to-browserify-1.0.2.tgz",
|
||||
"integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
|
||||
"dev": true
|
||||
},
|
||||
"underscore": {
|
||||
"version": "1.7.0",
|
||||
"resolved": "http://registry.npm.taobao.org/underscore/download/underscore-1.7.0.tgz",
|
||||
"integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
|
||||
"dev": true
|
||||
},
|
||||
"underscore.string": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "http://registry.npm.taobao.org/underscore.string/download/underscore.string-2.2.1.tgz",
|
||||
"integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=",
|
||||
"dev": true
|
||||
},
|
||||
"which": {
|
||||
"version": "1.0.9",
|
||||
"resolved": "http://registry.npm.taobao.org/which/download/which-1.0.9.tgz",
|
||||
"integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=",
|
||||
"dev": true
|
||||
},
|
||||
"window-size": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "http://registry.npm.taobao.org/window-size/download/window-size-0.1.0.tgz",
|
||||
"integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
|
||||
"dev": true
|
||||
},
|
||||
"wordwrap": {
|
||||
"version": "0.0.2",
|
||||
"resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-0.0.2.tgz",
|
||||
"integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
|
||||
"dev": true
|
||||
},
|
||||
"yargs": {
|
||||
"version": "3.5.4",
|
||||
"resolved": "http://registry.npm.taobao.org/yargs/download/yargs-3.5.4.tgz",
|
||||
"integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"camelcase": "1.2.1",
|
||||
"decamelize": "1.2.0",
|
||||
"window-size": "0.1.0",
|
||||
"wordwrap": "0.0.2"
|
||||
}
|
||||
},
|
||||
"zlib-browserify": {
|
||||
"version": "0.0.1",
|
||||
"resolved": "http://registry.npm.taobao.org/zlib-browserify/download/zlib-browserify-0.0.1.tgz",
|
||||
"integrity": "sha1-T6akXQDbwV8xikr6HZr8Aljhdsw=",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "NKeditor",
|
||||
"version": "5.0.4",
|
||||
"filename": "NKeditor",
|
||||
"repository": "blackfox/NKeditor",
|
||||
"devDependencies": {
|
||||
"grunt": "~0.4.1",
|
||||
"grunt-contrib-concat": "~0.3.0",
|
||||
"grunt-contrib-uglify": "~0.2.7",
|
||||
"grunt-contrib-cssmin": "~2.2.1",
|
||||
"grunt-contrib-copy": "~0.4.1",
|
||||
"grunt-contrib-compress": "~0.5.3"
|
||||
},
|
||||
"license": "MIT"
|
||||
}
|
@ -0,0 +1,260 @@
|
||||
<?php
|
||||
/**
|
||||
* json result vo
|
||||
* ---------------------------------------------------------------------
|
||||
* @author yangjian<yangjian102621@gmail.com>
|
||||
* @since v1.2.1
|
||||
*/
|
||||
|
||||
class JsonResult {
|
||||
|
||||
const CODE_SUCCESS = "000";
|
||||
const CODE_FAIL = "001";
|
||||
|
||||
/**
|
||||
* 数据载体
|
||||
* @var array
|
||||
*/
|
||||
private $data;
|
||||
|
||||
/**
|
||||
* 列表数据条数
|
||||
* @var int
|
||||
*/
|
||||
private $count;
|
||||
|
||||
/**
|
||||
* 当前数据页码
|
||||
* @var int
|
||||
*/
|
||||
private $page;
|
||||
|
||||
/**
|
||||
* 每页显示数据条数
|
||||
* @var int
|
||||
*/
|
||||
private $pagesize;
|
||||
|
||||
/**
|
||||
* 附带数据
|
||||
* @var mixed
|
||||
*/
|
||||
private $extra;
|
||||
/**
|
||||
* 错误代码
|
||||
* @var string
|
||||
*/
|
||||
private $code = self::CODE_SUCCESS;
|
||||
|
||||
/**
|
||||
* 状态码信息
|
||||
* @var array
|
||||
*/
|
||||
private static $_CODE_STATUS = [
|
||||
self::CODE_SUCCESS => '操作成功.',
|
||||
self::CODE_FAIL => '系统开了小差.',
|
||||
];
|
||||
|
||||
/**
|
||||
* 消息
|
||||
* @var string
|
||||
*/
|
||||
private $message;
|
||||
|
||||
/**
|
||||
* JsonResult constructor.
|
||||
* @param $code
|
||||
* @param $message
|
||||
*/
|
||||
public function __construct($code=null, $message=null){
|
||||
$this->setCode($code);
|
||||
$this->setMessage($message);
|
||||
}
|
||||
|
||||
/**
|
||||
* 创建 JsonResult 实例, 并输出
|
||||
* @param $code
|
||||
* @param $message
|
||||
* @return JsonResult
|
||||
*/
|
||||
public static function result($code, $message) {
|
||||
$result = new self($code, $message);
|
||||
$result->output();
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回一个成功的 result vo
|
||||
* @param string $message
|
||||
* @return JsonResult
|
||||
*/
|
||||
public static function success($message='操作成功') {
|
||||
$result = new self(self::CODE_SUCCESS, $message);
|
||||
$result->output();
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回一个失败的 result vo
|
||||
* @param string $message
|
||||
* @return JsonResult
|
||||
*/
|
||||
public static function fail($message='系统开了小差') {
|
||||
$result = new self(self::CODE_FAIL, $message);
|
||||
$result->output();
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回jsonp数据格式
|
||||
* @param $code
|
||||
* @param $message
|
||||
* @param $callback
|
||||
*/
|
||||
public static function jsonp($code, $message, $callback){
|
||||
$result = new self($code, $message);
|
||||
die($callback. "(". $result .")");
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getCode()
|
||||
{
|
||||
return $this->code;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $code
|
||||
*/
|
||||
public function setCode($code)
|
||||
{
|
||||
$this->code = $code;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return the $message
|
||||
*/
|
||||
public function getMessage() {
|
||||
return $this->message;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $message
|
||||
*/
|
||||
public function setMessage($message) {
|
||||
$this->message = $message;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
public function getData()
|
||||
{
|
||||
return $this->data;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
*/
|
||||
public function setData($data)
|
||||
{
|
||||
$this->data = $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getCount()
|
||||
{
|
||||
return $this->count;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $count
|
||||
*/
|
||||
public function setCount($count)
|
||||
{
|
||||
$this->count = $count;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getPage()
|
||||
{
|
||||
return $this->page;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $page
|
||||
*/
|
||||
public function setPage($page)
|
||||
{
|
||||
$this->page = $page;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return int
|
||||
*/
|
||||
public function getPagesize()
|
||||
{
|
||||
return $this->pagesize;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param int $pagesize
|
||||
*/
|
||||
public function setPagesize($pagesize)
|
||||
{
|
||||
$this->pagesize = $pagesize;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
public function getExtra()
|
||||
{
|
||||
return $this->extra;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $extra
|
||||
*/
|
||||
public function setExtra($extra)
|
||||
{
|
||||
$this->extra = $extra;
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断是否成功
|
||||
* @return bool
|
||||
*/
|
||||
public function isSucess() {
|
||||
return $this->code == self::CODE_SUCCESS;
|
||||
}
|
||||
|
||||
/**
|
||||
* 转换字符串
|
||||
* @return string
|
||||
*/
|
||||
public function __toString() {
|
||||
if ( !$this->getMessage() ) {
|
||||
$this->setMessage(self::$_CODE_STATUS[$this->code]);
|
||||
}
|
||||
return json_encode(array(
|
||||
'code'=>$this->getCode(),
|
||||
'message'=>$this->getMessage(),
|
||||
'count'=>$this->getCount(),
|
||||
'page'=>$this->getPage(),
|
||||
'pagesize'=>$this->getPagesize(),
|
||||
'extra'=>$this->getExtra(),
|
||||
'data'=>$this->getData()), JSON_UNESCAPED_UNICODE);
|
||||
}
|
||||
|
||||
/**
|
||||
* 以json格式输出
|
||||
*/
|
||||
public function output() {
|
||||
header('Content-type: application/json;charset=utf-8');
|
||||
echo $this;
|
||||
die();
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
1508678800
|
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: yangjian
|
||||
* Date: 17-10-14
|
||||
* Time: 下午5:28
|
||||
*/
|
||||
require_once "SimpleDB.php";
|
||||
|
||||
$db = new SimpleDB("test");
|
||||
$t = 100000000;
|
||||
for($i = 0; $i < 1000000; $i++) {
|
||||
$db->putLine($t+$i);
|
||||
}
|
||||
printf("数据插入完毕!\n");
|
||||
$items = $db->getDataList(2, 10);
|
||||
print_r($items);
|
||||
|
@ -0,0 +1,109 @@
|
||||
<?php
|
||||
/**
|
||||
* 全局函数
|
||||
* @author yangjian<yangjian102621@gmail.com>
|
||||
*/
|
||||
|
||||
// 文件上传的根路径
|
||||
define('BASE_PATH', dirname(__DIR__)."/uploads/");
|
||||
// 文件上传路径前缀
|
||||
define('UPLOAD_PREFIX', date('Ym').'/'.date('d').'/');
|
||||
// 文件上传的根 url
|
||||
define('BASE_URL', dirname(dirname(dirname($_SERVER['PHP_SELF'])))."/uploads/");
|
||||
|
||||
/**
|
||||
* 创建多级目录
|
||||
* @param $dir
|
||||
*/
|
||||
function mkdirs($path) {
|
||||
$files = preg_split('/[\/|\\\]/s', $path);
|
||||
$_dir = '';
|
||||
foreach ($files as $value) {
|
||||
$_dir .= $value.DIRECTORY_SEPARATOR;
|
||||
if ( !file_exists($_dir) ) {
|
||||
mkdir($_dir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取文件后缀名
|
||||
* @param $filename
|
||||
* @return string
|
||||
*/
|
||||
function getFileExt($filename) {
|
||||
$temp_arr = explode(".", $filename);
|
||||
$file_ext = array_pop($temp_arr);
|
||||
return strtolower(trim($file_ext));
|
||||
}
|
||||
|
||||
/**
|
||||
* 显示图片
|
||||
* @param $image
|
||||
* @param $img_url
|
||||
*/
|
||||
function show_image($image, $img_url) {
|
||||
|
||||
$info = pathinfo($img_url);
|
||||
switch ( strtolower($info["extension"]) ) {
|
||||
case "jpg":
|
||||
case "jpeg":
|
||||
header('content-type:image/jpg;');
|
||||
imagejpeg($image);
|
||||
break;
|
||||
|
||||
case "gif":
|
||||
header('content-type:image/gif;');
|
||||
imagegif($image);
|
||||
break;
|
||||
|
||||
case "png":
|
||||
header('content-type:image/png;');
|
||||
imagepng($image);
|
||||
break;
|
||||
|
||||
default:
|
||||
header('content-type:image/wbmp;');
|
||||
image2wbmp($image);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成新的文件名
|
||||
* @param $file
|
||||
* @return string
|
||||
*/
|
||||
function genNewFilename($file) {
|
||||
$extesion = getFileExt($file);
|
||||
return date("YmdHis") . '_' . rand(10000, 99999) . '.' . $extesion;
|
||||
}
|
||||
|
||||
/**
|
||||
* 清空目录
|
||||
* @param $dirName
|
||||
* @return bool
|
||||
*/
|
||||
function deldir($dirName) {
|
||||
//节省资源,每天清理一次
|
||||
$file = "cache.tmp";
|
||||
$t = @file_get_contents($file);
|
||||
$now = time();
|
||||
if ($now - intval($t) < 60*60*24) {
|
||||
return false;
|
||||
}
|
||||
file_put_contents($file, $now);
|
||||
|
||||
if(file_exists($dirName) && $handle=opendir($dirName)){
|
||||
while(false!==($item = readdir($handle))){
|
||||
if($item!= "." && $item != ".."){
|
||||
if(file_exists($dirName.'/'.$item) && is_dir($dirName.'/'.$item)){
|
||||
delFile($dirName.'/'.$item);
|
||||
}else{
|
||||
@unlink($dirName.'/'.$item);
|
||||
}
|
||||
}
|
||||
}
|
||||
closedir( $handle);
|
||||
}
|
||||
}
|
@ -0,0 +1 @@
|
||||
1508682572
|
@ -0,0 +1,15 @@
|
||||
{
|
||||
"name": "demo/myapp",
|
||||
"description": "just a test",
|
||||
"type": "project",
|
||||
"require": {
|
||||
"qiniu/php-sdk": "7.2.1"
|
||||
},
|
||||
"license": "MIT",
|
||||
"authors": [
|
||||
{
|
||||
"name": "yangjian",
|
||||
"email": "yangjian102621@gmail.com"
|
||||
}
|
||||
]
|
||||
}
|
@ -0,0 +1,70 @@
|
||||
{
|
||||
"_readme": [
|
||||
"This file locks the dependencies of your project to a known state",
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"hash": "950bafd0ae6623c9fdc42a0ef039aac6",
|
||||
"content-hash": "e0dd4b480ce3ed67ad527554d82237fd",
|
||||
"packages": [
|
||||
{
|
||||
"name": "qiniu/php-sdk",
|
||||
"version": "v7.2.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/qiniu/php-sdk.git",
|
||||
"reference": "8c7ba738bd4443ee3569a07441913b07c4b2c4a2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/qiniu/php-sdk/zipball/8c7ba738bd4443ee3569a07441913b07c4b2c4a2",
|
||||
"reference": "8c7ba738bd4443ee3569a07441913b07c4b2c4a2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.0",
|
||||
"squizlabs/php_codesniffer": "~2.3"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Qiniu\\": "src/Qiniu"
|
||||
},
|
||||
"files": [
|
||||
"src/Qiniu/functions.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Qiniu",
|
||||
"email": "sdk@qiniu.com",
|
||||
"homepage": "http://www.qiniu.com"
|
||||
}
|
||||
],
|
||||
"description": "Qiniu Resource (Cloud) Storage SDK for PHP",
|
||||
"homepage": "http://developer.qiniu.com/",
|
||||
"keywords": [
|
||||
"cloud",
|
||||
"qiniu",
|
||||
"sdk",
|
||||
"storage"
|
||||
],
|
||||
"time": "2017-08-26 00:46:11"
|
||||
}
|
||||
],
|
||||
"packages-dev": [],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": [],
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": [],
|
||||
"platform-dev": []
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
<?php
|
||||
|
||||
// autoload.php @generated by Composer
|
||||
|
||||
require_once __DIR__ . '/composer' . '/autoload_real.php';
|
||||
|
||||
return ComposerAutoloaderInitd54131a8e41e2a2e6c26ad98ddf3c990::getLoader();
|
@ -0,0 +1,413 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Composer.
|
||||
*
|
||||
* (c) Nils Adermann <naderman@naderman.de>
|
||||
* Jordi Boggiano <j.boggiano@seld.be>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
/**
|
||||
* ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
|
||||
*
|
||||
* $loader = new \Composer\Autoload\ClassLoader();
|
||||
*
|
||||
* // register classes with namespaces
|
||||
* $loader->add('Symfony\Component', __DIR__.'/component');
|
||||
* $loader->add('Symfony', __DIR__.'/framework');
|
||||
*
|
||||
* // activate the autoloader
|
||||
* $loader->register();
|
||||
*
|
||||
* // to enable searching the include path (eg. for PEAR packages)
|
||||
* $loader->setUseIncludePath(true);
|
||||
*
|
||||
* In this example, if you try to use a class in the Symfony\Component
|
||||
* namespace or one of its children (Symfony\Component\Console for instance),
|
||||
* the autoloader will first look for the class under the component/
|
||||
* directory, and it will then fallback to the framework/ directory if not
|
||||
* found before giving up.
|
||||
*
|
||||
* This class is loosely based on the Symfony UniversalClassLoader.
|
||||
*
|
||||
* @author Fabien Potencier <fabien@symfony.com>
|
||||
* @author Jordi Boggiano <j.boggiano@seld.be>
|
||||
* @see http://www.php-fig.org/psr/psr-0/
|
||||
* @see http://www.php-fig.org/psr/psr-4/
|
||||
*/
|
||||
class ClassLoader
|
||||
{
|
||||
// PSR-4
|
||||
private $prefixLengthsPsr4 = array();
|
||||
private $prefixDirsPsr4 = array();
|
||||
private $fallbackDirsPsr4 = array();
|
||||
|
||||
// PSR-0
|
||||
private $prefixesPsr0 = array();
|
||||
private $fallbackDirsPsr0 = array();
|
||||
|
||||
private $useIncludePath = false;
|
||||
private $classMap = array();
|
||||
|
||||
private $classMapAuthoritative = false;
|
||||
|
||||
public function getPrefixes()
|
||||
{
|
||||
if (!empty($this->prefixesPsr0)) {
|
||||
return call_user_func_array('array_merge', $this->prefixesPsr0);
|
||||
}
|
||||
|
||||
return array();
|
||||
}
|
||||
|
||||
public function getPrefixesPsr4()
|
||||
{
|
||||
return $this->prefixDirsPsr4;
|
||||
}
|
||||
|
||||
public function getFallbackDirs()
|
||||
{
|
||||
return $this->fallbackDirsPsr0;
|
||||
}
|
||||
|
||||
public function getFallbackDirsPsr4()
|
||||
{
|
||||
return $this->fallbackDirsPsr4;
|
||||
}
|
||||
|
||||
public function getClassMap()
|
||||
{
|
||||
return $this->classMap;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $classMap Class to filename map
|
||||
*/
|
||||
public function addClassMap(array $classMap)
|
||||
{
|
||||
if ($this->classMap) {
|
||||
$this->classMap = array_merge($this->classMap, $classMap);
|
||||
} else {
|
||||
$this->classMap = $classMap;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-0 directories for a given prefix, either
|
||||
* appending or prepending to the ones previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 root directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*/
|
||||
public function add($prefix, $paths, $prepend = false)
|
||||
{
|
||||
if (!$prefix) {
|
||||
if ($prepend) {
|
||||
$this->fallbackDirsPsr0 = array_merge(
|
||||
(array) $paths,
|
||||
$this->fallbackDirsPsr0
|
||||
);
|
||||
} else {
|
||||
$this->fallbackDirsPsr0 = array_merge(
|
||||
$this->fallbackDirsPsr0,
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$first = $prefix[0];
|
||||
if (!isset($this->prefixesPsr0[$first][$prefix])) {
|
||||
$this->prefixesPsr0[$first][$prefix] = (array) $paths;
|
||||
|
||||
return;
|
||||
}
|
||||
if ($prepend) {
|
||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
||||
(array) $paths,
|
||||
$this->prefixesPsr0[$first][$prefix]
|
||||
);
|
||||
} else {
|
||||
$this->prefixesPsr0[$first][$prefix] = array_merge(
|
||||
$this->prefixesPsr0[$first][$prefix],
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-4 directories for a given namespace, either
|
||||
* appending or prepending to the ones previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
* @param bool $prepend Whether to prepend the directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
public function addPsr4($prefix, $paths, $prepend = false)
|
||||
{
|
||||
if (!$prefix) {
|
||||
// Register directories for the root namespace.
|
||||
if ($prepend) {
|
||||
$this->fallbackDirsPsr4 = array_merge(
|
||||
(array) $paths,
|
||||
$this->fallbackDirsPsr4
|
||||
);
|
||||
} else {
|
||||
$this->fallbackDirsPsr4 = array_merge(
|
||||
$this->fallbackDirsPsr4,
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
} elseif (!isset($this->prefixDirsPsr4[$prefix])) {
|
||||
// Register directories for a new namespace.
|
||||
$length = strlen($prefix);
|
||||
if ('\\' !== $prefix[$length - 1]) {
|
||||
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
||||
}
|
||||
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
||||
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
||||
} elseif ($prepend) {
|
||||
// Prepend directories for an already registered namespace.
|
||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
||||
(array) $paths,
|
||||
$this->prefixDirsPsr4[$prefix]
|
||||
);
|
||||
} else {
|
||||
// Append directories for an already registered namespace.
|
||||
$this->prefixDirsPsr4[$prefix] = array_merge(
|
||||
$this->prefixDirsPsr4[$prefix],
|
||||
(array) $paths
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-0 directories for a given prefix,
|
||||
* replacing any others previously set for this prefix.
|
||||
*
|
||||
* @param string $prefix The prefix
|
||||
* @param array|string $paths The PSR-0 base directories
|
||||
*/
|
||||
public function set($prefix, $paths)
|
||||
{
|
||||
if (!$prefix) {
|
||||
$this->fallbackDirsPsr0 = (array) $paths;
|
||||
} else {
|
||||
$this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a set of PSR-4 directories for a given namespace,
|
||||
* replacing any others previously set for this namespace.
|
||||
*
|
||||
* @param string $prefix The prefix/namespace, with trailing '\\'
|
||||
* @param array|string $paths The PSR-4 base directories
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
*/
|
||||
public function setPsr4($prefix, $paths)
|
||||
{
|
||||
if (!$prefix) {
|
||||
$this->fallbackDirsPsr4 = (array) $paths;
|
||||
} else {
|
||||
$length = strlen($prefix);
|
||||
if ('\\' !== $prefix[$length - 1]) {
|
||||
throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
|
||||
}
|
||||
$this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
|
||||
$this->prefixDirsPsr4[$prefix] = (array) $paths;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Turns on searching the include path for class files.
|
||||
*
|
||||
* @param bool $useIncludePath
|
||||
*/
|
||||
public function setUseIncludePath($useIncludePath)
|
||||
{
|
||||
$this->useIncludePath = $useIncludePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Can be used to check if the autoloader uses the include path to check
|
||||
* for classes.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function getUseIncludePath()
|
||||
{
|
||||
return $this->useIncludePath;
|
||||
}
|
||||
|
||||
/**
|
||||
* Turns off searching the prefix and fallback directories for classes
|
||||
* that have not been registered with the class map.
|
||||
*
|
||||
* @param bool $classMapAuthoritative
|
||||
*/
|
||||
public function setClassMapAuthoritative($classMapAuthoritative)
|
||||
{
|
||||
$this->classMapAuthoritative = $classMapAuthoritative;
|
||||
}
|
||||
|
||||
/**
|
||||
* Should class lookup fail if not found in the current class map?
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isClassMapAuthoritative()
|
||||
{
|
||||
return $this->classMapAuthoritative;
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers this instance as an autoloader.
|
||||
*
|
||||
* @param bool $prepend Whether to prepend the autoloader or not
|
||||
*/
|
||||
public function register($prepend = false)
|
||||
{
|
||||
spl_autoload_register(array($this, 'loadClass'), true, $prepend);
|
||||
}
|
||||
|
||||
/**
|
||||
* Unregisters this instance as an autoloader.
|
||||
*/
|
||||
public function unregister()
|
||||
{
|
||||
spl_autoload_unregister(array($this, 'loadClass'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads the given class or interface.
|
||||
*
|
||||
* @param string $class The name of the class
|
||||
* @return bool|null True if loaded, null otherwise
|
||||
*/
|
||||
public function loadClass($class)
|
||||
{
|
||||
if ($file = $this->findFile($class)) {
|
||||
includeFile($file);
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Finds the path to the file where the class is defined.
|
||||
*
|
||||
* @param string $class The name of the class
|
||||
*
|
||||
* @return string|false The path if found, false otherwise
|
||||
*/
|
||||
public function findFile($class)
|
||||
{
|
||||
// work around for PHP 5.3.0 - 5.3.2 https://bugs.php.net/50731
|
||||
if ('\\' == $class[0]) {
|
||||
$class = substr($class, 1);
|
||||
}
|
||||
|
||||
// class map lookup
|
||||
if (isset($this->classMap[$class])) {
|
||||
return $this->classMap[$class];
|
||||
}
|
||||
if ($this->classMapAuthoritative) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$file = $this->findFileWithExtension($class, '.php');
|
||||
|
||||
// Search for Hack files if we are running on HHVM
|
||||
if ($file === null && defined('HHVM_VERSION')) {
|
||||
$file = $this->findFileWithExtension($class, '.hh');
|
||||
}
|
||||
|
||||
if ($file === null) {
|
||||
// Remember that this class does not exist.
|
||||
return $this->classMap[$class] = false;
|
||||
}
|
||||
|
||||
return $file;
|
||||
}
|
||||
|
||||
private function findFileWithExtension($class, $ext)
|
||||
{
|
||||
// PSR-4 lookup
|
||||
$logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
|
||||
|
||||
$first = $class[0];
|
||||
if (isset($this->prefixLengthsPsr4[$first])) {
|
||||
foreach ($this->prefixLengthsPsr4[$first] as $prefix => $length) {
|
||||
if (0 === strpos($class, $prefix)) {
|
||||
foreach ($this->prefixDirsPsr4[$prefix] as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-4 fallback dirs
|
||||
foreach ($this->fallbackDirsPsr4 as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-0 lookup
|
||||
if (false !== $pos = strrpos($class, '\\')) {
|
||||
// namespaced class name
|
||||
$logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
|
||||
. strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
|
||||
} else {
|
||||
// PEAR-like class name
|
||||
$logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
|
||||
}
|
||||
|
||||
if (isset($this->prefixesPsr0[$first])) {
|
||||
foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
|
||||
if (0 === strpos($class, $prefix)) {
|
||||
foreach ($dirs as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-0 fallback dirs
|
||||
foreach ($this->fallbackDirsPsr0 as $dir) {
|
||||
if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
|
||||
// PSR-0 include paths.
|
||||
if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
|
||||
return $file;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Scope isolated include.
|
||||
*
|
||||
* Prevents access to $this/self from included files.
|
||||
*/
|
||||
function includeFile($file)
|
||||
{
|
||||
include $file;
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
|
||||
Copyright (c) 2016 Nils Adermann, Jordi Boggiano
|
||||
|
||||
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.
|
||||
|
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
// autoload_classmap.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
);
|
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
// autoload_files.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'841780ea2e1d6545ea3a253239d59c05' => $vendorDir . '/qiniu/php-sdk/src/Qiniu/functions.php',
|
||||
);
|
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
// autoload_namespaces.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
);
|
@ -0,0 +1,10 @@
|
||||
<?php
|
||||
|
||||
// autoload_psr4.php @generated by Composer
|
||||
|
||||
$vendorDir = dirname(dirname(__FILE__));
|
||||
$baseDir = dirname($vendorDir);
|
||||
|
||||
return array(
|
||||
'Qiniu\\' => array($vendorDir . '/qiniu/php-sdk/src/Qiniu'),
|
||||
);
|
@ -0,0 +1,70 @@
|
||||
<?php
|
||||
|
||||
// autoload_real.php @generated by Composer
|
||||
|
||||
class ComposerAutoloaderInitd54131a8e41e2a2e6c26ad98ddf3c990
|
||||
{
|
||||
private static $loader;
|
||||
|
||||
public static function loadClassLoader($class)
|
||||
{
|
||||
if ('Composer\Autoload\ClassLoader' === $class) {
|
||||
require __DIR__ . '/ClassLoader.php';
|
||||
}
|
||||
}
|
||||
|
||||
public static function getLoader()
|
||||
{
|
||||
if (null !== self::$loader) {
|
||||
return self::$loader;
|
||||
}
|
||||
|
||||
spl_autoload_register(array('ComposerAutoloaderInitd54131a8e41e2a2e6c26ad98ddf3c990', 'loadClassLoader'), true, true);
|
||||
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
||||
spl_autoload_unregister(array('ComposerAutoloaderInitd54131a8e41e2a2e6c26ad98ddf3c990', 'loadClassLoader'));
|
||||
|
||||
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION');
|
||||
if ($useStaticLoader) {
|
||||
require_once __DIR__ . '/autoload_static.php';
|
||||
|
||||
call_user_func(\Composer\Autoload\ComposerStaticInitd54131a8e41e2a2e6c26ad98ddf3c990::getInitializer($loader));
|
||||
} else {
|
||||
$map = require __DIR__ . '/autoload_namespaces.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->set($namespace, $path);
|
||||
}
|
||||
|
||||
$map = require __DIR__ . '/autoload_psr4.php';
|
||||
foreach ($map as $namespace => $path) {
|
||||
$loader->setPsr4($namespace, $path);
|
||||
}
|
||||
|
||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
||||
if ($classMap) {
|
||||
$loader->addClassMap($classMap);
|
||||
}
|
||||
}
|
||||
|
||||
$loader->register(true);
|
||||
|
||||
if ($useStaticLoader) {
|
||||
$includeFiles = Composer\Autoload\ComposerStaticInitd54131a8e41e2a2e6c26ad98ddf3c990::$files;
|
||||
} else {
|
||||
$includeFiles = require __DIR__ . '/autoload_files.php';
|
||||
}
|
||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||
composerRequired54131a8e41e2a2e6c26ad98ddf3c990($fileIdentifier, $file);
|
||||
}
|
||||
|
||||
return $loader;
|
||||
}
|
||||
}
|
||||
|
||||
function composerRequired54131a8e41e2a2e6c26ad98ddf3c990($fileIdentifier, $file)
|
||||
{
|
||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||
require $file;
|
||||
|
||||
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;
|
||||
}
|
||||
}
|
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
// autoload_static.php @generated by Composer
|
||||
|
||||
namespace Composer\Autoload;
|
||||
|
||||
class ComposerStaticInitd54131a8e41e2a2e6c26ad98ddf3c990
|
||||
{
|
||||
public static $files = array (
|
||||
'841780ea2e1d6545ea3a253239d59c05' => __DIR__ . '/..' . '/qiniu/php-sdk/src/Qiniu/functions.php',
|
||||
);
|
||||
|
||||
public static $prefixLengthsPsr4 = array (
|
||||
'Q' =>
|
||||
array (
|
||||
'Qiniu\\' => 6,
|
||||
),
|
||||
);
|
||||
|
||||
public static $prefixDirsPsr4 = array (
|
||||
'Qiniu\\' =>
|
||||
array (
|
||||
0 => __DIR__ . '/..' . '/qiniu/php-sdk/src/Qiniu',
|
||||
),
|
||||
);
|
||||
|
||||
public static function getInitializer(ClassLoader $loader)
|
||||
{
|
||||
return \Closure::bind(function () use ($loader) {
|
||||
$loader->prefixLengthsPsr4 = ComposerStaticInitd54131a8e41e2a2e6c26ad98ddf3c990::$prefixLengthsPsr4;
|
||||
$loader->prefixDirsPsr4 = ComposerStaticInitd54131a8e41e2a2e6c26ad98ddf3c990::$prefixDirsPsr4;
|
||||
|
||||
}, null, ClassLoader::class);
|
||||
}
|
||||
}
|
@ -0,0 +1,55 @@
|
||||
[
|
||||
{
|
||||
"name": "qiniu/php-sdk",
|
||||
"version": "v7.2.1",
|
||||
"version_normalized": "7.2.1.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/qiniu/php-sdk.git",
|
||||
"reference": "8c7ba738bd4443ee3569a07441913b07c4b2c4a2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/qiniu/php-sdk/zipball/8c7ba738bd4443ee3569a07441913b07c4b2c4a2",
|
||||
"reference": "8c7ba738bd4443ee3569a07441913b07c4b2c4a2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.0",
|
||||
"squizlabs/php_codesniffer": "~2.3"
|
||||
},
|
||||
"time": "2017-08-26 00:46:11",
|
||||
"type": "library",
|
||||
"installation-source": "source",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Qiniu\\": "src/Qiniu"
|
||||
},
|
||||
"files": [
|
||||
"src/Qiniu/functions.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Qiniu",
|
||||
"email": "sdk@qiniu.com",
|
||||
"homepage": "http://www.qiniu.com"
|
||||
}
|
||||
],
|
||||
"description": "Qiniu Resource (Cloud) Storage SDK for PHP",
|
||||
"homepage": "http://developer.qiniu.com/",
|
||||
"keywords": [
|
||||
"cloud",
|
||||
"qiniu",
|
||||
"sdk",
|
||||
"storage"
|
||||
]
|
||||
}
|
||||
]
|
@ -0,0 +1,91 @@
|
||||
/*******************************************************************************
|
||||
* KindEditor - WYSIWYG HTML Editor for Internet
|
||||
* Copyright (C) 2006-2011 kindsoft.net
|
||||
*
|
||||
* @author Roddy <luolonghao@gmail.com>
|
||||
* @site http://www.kindsoft.net/
|
||||
* @licence http://www.kindsoft.net/license.php
|
||||
*******************************************************************************/
|
||||
|
||||
// Baidu Maps: http://dev.baidu.com/wiki/map/index.php?title=%E9%A6%96%E9%A1%B5
|
||||
|
||||
KindEditor.plugin('baidumap', function(K) {
|
||||
var self = this, name = 'baidumap', lang = self.lang(name + '.');
|
||||
var mapWidth = K.undef(self.mapWidth, 558);
|
||||
var mapHeight = K.undef(self.mapHeight, 360);
|
||||
self.clickToolbar(name, function() {
|
||||
var html = ['<div class="ke-dialog-content-inner" style="padding-top: 0">',
|
||||
'<div class="ke-dialog-row ke-clearfix">',
|
||||
// right start
|
||||
'<div class="ke-header">' + lang.address,
|
||||
'<input id="kindeditor_plugin_map_address" name="address" class="ke-input-text" value="" style="width:200px;" /> ',
|
||||
'<span>',
|
||||
'<input type="button" name="searchBtn" class="ke-button-common ke-button" value="' + lang.search + '" />',
|
||||
'</span>',
|
||||
'<input type="checkbox" id="keInsertDynamicMap" name="insertDynamicMap" class="checkbox" value="1" /> <label for="keInsertDynamicMap">' + lang.insertDynamicMap + '</label>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
|
||||
//map iframe
|
||||
'<div class="ke-map" style="width:' + mapWidth + 'px;height:' + mapHeight + 'px;"></div>',
|
||||
'</div>'].join('');
|
||||
var dialog = self.createDialog({
|
||||
name : name,
|
||||
width : mapWidth + 42,
|
||||
title : self.lang(name),
|
||||
body : html,
|
||||
yesBtn : {
|
||||
name : self.lang('yes'),
|
||||
click : function(e) {
|
||||
var map = win.map;
|
||||
var centerObj = map.getCenter();
|
||||
var center = centerObj.lng + ',' + centerObj.lat;
|
||||
var zoom = map.getZoom();
|
||||
var url = [checkbox[0].checked ? self.pluginsPath + 'baidumap/index.html' : 'http://api.map.baidu.com/staticimage',
|
||||
'?center=' + encodeURIComponent(center),
|
||||
'&zoom=' + encodeURIComponent(zoom),
|
||||
'&width=' + mapWidth,
|
||||
'&height=' + mapHeight,
|
||||
'&markers=' + encodeURIComponent(center),
|
||||
'&markerStyles=' + encodeURIComponent('l,A')].join('');
|
||||
if (checkbox[0].checked) {
|
||||
self.insertHtml('<iframe src="' + url + '" frameborder="0" style="width:' + (mapWidth + 2) + 'px;height:' + (mapHeight + 2) + 'px;"></iframe>');
|
||||
} else {
|
||||
self.exec('insertimage', url);
|
||||
}
|
||||
self.hideDialog().focus();
|
||||
}
|
||||
},
|
||||
beforeRemove : function() {
|
||||
searchBtn.remove();
|
||||
if (doc) {
|
||||
doc.write('');
|
||||
}
|
||||
iframe.remove();
|
||||
}
|
||||
});
|
||||
var div = dialog.div,
|
||||
addressBox = K('[name="address"]', div),
|
||||
searchBtn = K('[name="searchBtn"]', div),
|
||||
checkbox = K('[name="insertDynamicMap"]', dialog.div),
|
||||
win, doc;
|
||||
var iframe = K('<iframe class="ke-textarea" frameborder="0" src="' + self.pluginsPath + 'baidumap/map.html" style="width:' + mapWidth + 'px;height:' + mapHeight + 'px;"></iframe>');
|
||||
function ready() {
|
||||
win = iframe[0].contentWindow;
|
||||
doc = K.iframeDoc(iframe);
|
||||
}
|
||||
iframe.bind('load', function() {
|
||||
iframe.unbind('load');
|
||||
if (K.IE) {
|
||||
ready();
|
||||
} else {
|
||||
setTimeout(ready, 0);
|
||||
}
|
||||
});
|
||||
K('.ke-map', div).replaceWith(iframe);
|
||||
// search map
|
||||
searchBtn.click(function() {
|
||||
win.search(addressBox.val());
|
||||
});
|
||||
});
|
||||
});
|
@ -0,0 +1,43 @@
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<title>Baidu Maps</title>
|
||||
<style>
|
||||
html { height: 100% }
|
||||
body { height: 100%; margin: 0; padding: 0; background-color: #FFF }
|
||||
</style>
|
||||
<script charset="utf-8" src="http://api.map.baidu.com/api?v=1.3"></script>
|
||||
<script>
|
||||
var map, geocoder;
|
||||
function initialize() {
|
||||
map = new BMap.Map('map_canvas');
|
||||
var point = new BMap.Point(114.025974, 22.546054);
|
||||
map.centerAndZoom(point, 11);
|
||||
map.addControl(new BMap.NavigationControl());
|
||||
map.enableScrollWheelZoom();
|
||||
|
||||
var gc = new BMap.Geocoder();
|
||||
gc.getLocation(point, function(rs){
|
||||
var addComp = rs.addressComponents;
|
||||
var address = [addComp.city].join('');
|
||||
parent.document.getElementById("kindeditor_plugin_map_address").value = address;
|
||||
});
|
||||
}
|
||||
function search(address) {
|
||||
if (!map) return;
|
||||
var local = new BMap.LocalSearch(map, {
|
||||
renderOptions: {
|
||||
map: map,
|
||||
autoViewport: true,
|
||||
selectFirstResult: false
|
||||
}
|
||||
});
|
||||
local.search(address);
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body onload="initialize();">
|
||||
<div id="map_canvas" style="width:100%; height:100%"></div>
|
||||
</body>
|
||||
</html>
|
@ -0,0 +1,29 @@
|
||||
/*******************************************************************************
|
||||
* KindEditor - WYSIWYG HTML Editor for Internet
|
||||
* Copyright (C) 2006-2011 kindsoft.net
|
||||
*
|
||||
* @author Roddy <luolonghao@gmail.com>
|
||||
* @site http://www.kindsoft.net/
|
||||
* @licence http://www.kindsoft.net/license.php
|
||||
*******************************************************************************/
|
||||
|
||||
KindEditor.plugin('clearhtml', function(K) {
|
||||
var self = this, name = 'clearhtml';
|
||||
self.clickToolbar(name, function() {
|
||||
self.focus();
|
||||
var html = self.html();
|
||||
html = html.replace(/(<script[^>]*>)([\s\S]*?)(<\/script>)/ig, '');
|
||||
html = html.replace(/(<style[^>]*>)([\s\S]*?)(<\/style>)/ig, '');
|
||||
html = K.formatHtml(html, {
|
||||
a : ['href', 'target'],
|
||||
embed : ['src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'],
|
||||
img : ['src', 'width', 'height', 'border', 'alt', 'title', '.width', '.height'],
|
||||
table : ['border'],
|
||||
'td,th' : ['rowspan', 'colspan'],
|
||||
'div,hr,br,tbody,tr,p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : []
|
||||
});
|
||||
self.html(html);
|
||||
self.cmd.selection(true);
|
||||
self.addBookmark();
|
||||
});
|
||||
});
|
@ -0,0 +1,64 @@
|
||||
/*******************************************************************************
|
||||
* KindEditor - WYSIWYG HTML Editor for Internet
|
||||
* Copyright (C) 2006-2011 kindsoft.net
|
||||
*
|
||||
* @author Roddy <luolonghao@gmail.com>
|
||||
* @site http://www.kindsoft.net/
|
||||
* @licence http://www.kindsoft.net/license.php
|
||||
*******************************************************************************/
|
||||
|
||||
// google code prettify: http://google-code-prettify.googlecode.com/
|
||||
// http://google-code-prettify.googlecode.com/
|
||||
|
||||
KindEditor.plugin('code', function(K) {
|
||||
var self = this, name = 'code';
|
||||
self.clickToolbar(name, function() {
|
||||
var lang = self.lang(name + '.'),
|
||||
html = ['<div style="margin: 0px 20px;">',
|
||||
'<div class="ke-dialog-row">',
|
||||
'<select class="ke-select" style="margin-bottom: 5px;">',
|
||||
'<option value="javascript">JavaScript</option>',
|
||||
'<option value="html">HTML</option>',
|
||||
'<option value="css">CSS</option>',
|
||||
'<option value="php">PHP</option>',
|
||||
'<option value="perl">Perl</option>',
|
||||
'<option value="python">Python</option>',
|
||||
'<option value="ruby">Ruby</option>',
|
||||
'<option value="java">Java</option>',
|
||||
'<option value="go">Go</option>',
|
||||
'<option value="asp">ASP/VB</option>',
|
||||
'<option value="csharp">C#</option>',
|
||||
'<option value="cpp">C/C++</option>',
|
||||
'<option value="cs">C#</option>',
|
||||
'<option value="bash">Shell</option>',
|
||||
'<option value="sql">SQL</option>',
|
||||
'<option value="markup">Other</option>',
|
||||
'</select>',
|
||||
'</div>',
|
||||
'<textarea class="ke-textarea" style="width:408px;height:260px;"></textarea>',
|
||||
'</div>'].join(''),
|
||||
dialog = self.createDialog({
|
||||
name : name,
|
||||
width : 450,
|
||||
title : self.lang(name),
|
||||
body : html,
|
||||
yesBtn : {
|
||||
name : self.lang('yes'),
|
||||
click : function(e) {
|
||||
var type = K('.ke-select', dialog.div).val(),
|
||||
code = textarea.val(),
|
||||
cls = type === '' ? '' : 'language-' + type,
|
||||
html = '<pre class="' + cls + '"><code>' + K.escape(code) + '</code></pre> <br/>';
|
||||
if (K.trim(code) === '') {
|
||||
K.options.errorMsgHandler(lang.pleaseInput, "error");
|
||||
textarea[0].focus();
|
||||
return;
|
||||
}
|
||||
self.insertHtml(html).hideDialog().focus();
|
||||
}
|
||||
}
|
||||
}),
|
||||
textarea = K('textarea', dialog.div);
|
||||
textarea[0].focus();
|
||||
});
|
||||
});
|
@ -0,0 +1,18 @@
|
||||
/**
|
||||
* @author yangjian
|
||||
* @since 18-9-11 下午9:02.
|
||||
*/
|
||||
|
||||
// function _bindEvent(el, type, fn) {
|
||||
// if (el.addEventListener){
|
||||
// el.addEventListener(type, fn);
|
||||
// } else if (el.attachEvent){
|
||||
// el.attachEvent('on' + type, fn);
|
||||
// }
|
||||
// }
|
||||
// _bindEvent(document.body, "DOMNodeInserted", function(e) {
|
||||
// var className = e.target.className;
|
||||
// if (className && className.indexOf("language-") != -1) {
|
||||
// Prism.highlightElement(e.target);
|
||||
// }
|
||||
// })
|
@ -0,0 +1,129 @@
|
||||
/*******************************************************************************
|
||||
* KindEditor - WYSIWYG HTML Editor for Internet
|
||||
* Copyright (C) 2006-2011 kindsoft.net
|
||||
*
|
||||
* @author Roddy <luolonghao@gmail.com>
|
||||
* @site http://www.kindsoft.net/
|
||||
* @licence http://www.kindsoft.net/license.php
|
||||
*******************************************************************************/
|
||||
|
||||
KindEditor.plugin('emoticons', function(K) {
|
||||
var self = this, name = 'emoticons',
|
||||
path = (self.emoticonsPath || self.pluginsPath + 'emoticons/images/'),
|
||||
allowPreview = self.allowPreviewEmoticons === undefined ? true : self.allowPreviewEmoticons,
|
||||
currentPageNum = 1;
|
||||
self.clickToolbar(name, function() {
|
||||
var rows = 5, cols = 9, total = 135, startNum = 0,
|
||||
cells = rows * cols, pages = Math.ceil(total / cells),
|
||||
colsHalf = Math.floor(cols / 2),
|
||||
wrapperDiv = K('<div class="ke-plugin-emoticons"></div>'),
|
||||
elements = [],
|
||||
menu = self.createMenu({
|
||||
name : name,
|
||||
beforeRemove : function() {
|
||||
removeEvent();
|
||||
}
|
||||
});
|
||||
menu.div.append(wrapperDiv);
|
||||
var previewDiv, previewImg;
|
||||
if (allowPreview) {
|
||||
previewDiv = K('<div class="ke-preview"></div>').css('right', 0);
|
||||
previewImg = K('<img class="ke-preview-img" src="' + path + startNum + '.gif" />');
|
||||
wrapperDiv.append(previewDiv);
|
||||
previewDiv.append(previewImg);
|
||||
}
|
||||
function bindCellEvent(cell, j, num) {
|
||||
if (previewDiv) {
|
||||
cell.mouseover(function() {
|
||||
if (j > colsHalf) {
|
||||
previewDiv.css('left', 0);
|
||||
previewDiv.css('right', '');
|
||||
} else {
|
||||
previewDiv.css('left', '');
|
||||
previewDiv.css('right', 0);
|
||||
}
|
||||
previewImg.attr('src', path + num + '.gif');
|
||||
K(this).addClass('ke-on');
|
||||
});
|
||||
} else {
|
||||
cell.mouseover(function() {
|
||||
K(this).addClass('ke-on');
|
||||
});
|
||||
}
|
||||
cell.mouseout(function() {
|
||||
K(this).removeClass('ke-on');
|
||||
});
|
||||
cell.click(function(e) {
|
||||
self.insertHtml('<img src="' + path + num + '.gif" border="0" alt="" />').hideMenu().focus();
|
||||
e.stop();
|
||||
});
|
||||
}
|
||||
function createEmoticonsTable(pageNum, parentDiv) {
|
||||
var table = document.createElement('table');
|
||||
parentDiv.append(table);
|
||||
if (previewDiv) {
|
||||
K(table).mouseover(function() {
|
||||
previewDiv.show('block');
|
||||
});
|
||||
K(table).mouseout(function() {
|
||||
previewDiv.hide();
|
||||
});
|
||||
elements.push(K(table));
|
||||
}
|
||||
table.className = 'ke-table';
|
||||
table.cellPadding = 0;
|
||||
table.cellSpacing = 0;
|
||||
table.border = 0;
|
||||
var num = (pageNum - 1) * cells + startNum;
|
||||
for (var i = 0; i < rows; i++) {
|
||||
var row = table.insertRow(i);
|
||||
for (var j = 0; j < cols; j++) {
|
||||
var cell = K(row.insertCell(j));
|
||||
cell.addClass('ke-cell');
|
||||
bindCellEvent(cell, j, num);
|
||||
var span = K('<span class="ke-img"></span>')
|
||||
.css('background-position', '-' + (24 * num) + 'px 0px')
|
||||
.css('background-image', 'url(' + path + 'static.gif)');
|
||||
cell.append(span);
|
||||
elements.push(cell);
|
||||
num++;
|
||||
}
|
||||
}
|
||||
return table;
|
||||
}
|
||||
var table = createEmoticonsTable(currentPageNum, wrapperDiv);
|
||||
function removeEvent() {
|
||||
K.each(elements, function() {
|
||||
this.unbind();
|
||||
});
|
||||
}
|
||||
var pageDiv;
|
||||
function bindPageEvent(el, pageNum) {
|
||||
el.click(function(e) {
|
||||
removeEvent();
|
||||
table.parentNode.removeChild(table);
|
||||
pageDiv.remove();
|
||||
table = createEmoticonsTable(pageNum, wrapperDiv);
|
||||
createPageTable(pageNum);
|
||||
currentPageNum = pageNum;
|
||||
e.stop();
|
||||
});
|
||||
}
|
||||
function createPageTable(currentPageNum) {
|
||||
pageDiv = K('<div class="ke-page"></div>');
|
||||
wrapperDiv.append(pageDiv);
|
||||
for (var pageNum = 1; pageNum <= pages; pageNum++) {
|
||||
if (currentPageNum !== pageNum) {
|
||||
var a = K('<a href="javascript:;">[' + pageNum + ']</a>');
|
||||
bindPageEvent(a, pageNum);
|
||||
pageDiv.append(a);
|
||||
elements.push(a);
|
||||
} else {
|
||||
pageDiv.append(K('@[' + pageNum + ']'));
|
||||
}
|
||||
pageDiv.append(K('@ '));
|
||||
}
|
||||
}
|
||||
createPageTable(currentPageNum);
|
||||
});
|
||||
});
|
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 2.1 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 7.8 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1015 B |
After Width: | Height: | Size: 1003 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 996 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1012 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 2.2 KiB |
After Width: | Height: | Size: 1008 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 999 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1022 B |
After Width: | Height: | Size: 1013 B |
After Width: | Height: | Size: 1.0 KiB |