diff --git a/Application/Home/Controller/PageController.class.php b/Application/Home/Controller/PageController.class.php
index f79299953..e757138f7 100644
--- a/Application/Home/Controller/PageController.class.php
+++ b/Application/Home/Controller/PageController.class.php
@@ -239,6 +239,9 @@ public function history(){
//上传图片
public function uploadImg(){
$qiniu_config = C('UPLOAD_SITEIMG_QINIU') ;
+ if ($_FILES['editormd-image-file']['name'] == 'blob') {
+ $_FILES['editormd-image-file']['name'] .= '.jpg';
+ }
if (!empty($qiniu_config['driverConfig']['secrectKey'])) {
//上传到七牛
$Upload = new \Think\Upload(C('UPLOAD_SITEIMG_QINIU'));
diff --git a/Public/js/item/show.js b/Public/js/item/show.js
index 2f5913fed..d5b897647 100644
--- a/Public/js/item/show.js
+++ b/Public/js/item/show.js
@@ -295,6 +295,28 @@ function iFrameHeight() {
return false;
});
+ //监听来自iframe的消息。如果传递图片url过来则默认打开之
+ window.addEventListener('message', function(e){
+ var img_url =e.data;
+ var json = {
+ "title": "", //相册标题
+ "id": 123, //相册id
+ "start": 0, //初始显示的图片序号,默认0
+ "data": [ //相册包含的图片,数组格式
+ {
+ "alt": "",
+ "pid": 666, //图片id
+ "src": img_url, //原图地址
+ "thumb": img_url //缩略图地址
+ }
+ ]
+ }
+ layer.photos({
+ photos: json
+ ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
+ });
+ }, false);
+
})
diff --git a/Public/js/item/show_single_page.js b/Public/js/item/show_single_page.js
index 3b5eec4c9..3bdcf5a78 100644
--- a/Public/js/item/show_single_page.js
+++ b/Public/js/item/show_single_page.js
@@ -1,97 +1,128 @@
+$(function() {
+ hljs.initHighlightingOnLoad();
-$(function(){
- hljs.initHighlightingOnLoad();
-
- var EditormdView = editormd.markdownToHTML("page_md_content", {
- htmlDecode : "style,script,iframe", // you can filter tags decode
- emoji : true,
- taskList : true,
- tex : true, // 默认不解析
- flowChart : true, // 默认不解析
- sequenceDiagram : true, // 默认不解析
- });
-
- //为所有table标签添加bootstap支持的表格类
- $("table").addClass("table table-bordered table-hover");
- //当表格列数过长时将自动出现滚动条
- $.each($('table'), function() {
- $(this).prop('outerHTML', '
'+$(this).prop('outerHTML')+'
');
- });
-
- //超链接都在新窗口打开
- $('a[href^="http"]').each(function() {
- $(this).attr('target', '_blank');
- });
- if (!isMobile()) {
- $("th").css("min-width","77px");
- };
-
- //lightbox
- //增加返回顶部按钮
- $.goup({
- trigger: 100,
- bottomOffset: 150,
- locationOffset: 100,
- title: lang["back_to_top"] ,
- titleAsText: true,
- containerColor:"#08c",
- });
+ var EditormdView = editormd.markdownToHTML("page_md_content", {
+ htmlDecode: "style,script,iframe", // you can filter tags decode
+ emoji: true,
+ taskList: true,
+ tex: true, // 默认不解析
+ flowChart: true, // 默认不解析
+ sequenceDiagram: true, // 默认不解析
+ });
- if( isMobile() || $(window).width() < 1000){
- AdaptToMobile();
- }
+ //为所有table标签添加bootstap支持的表格类
+ $("table").addClass("table table-bordered table-hover");
+ //当表格列数过长时将自动出现滚动条
+ $.each($('table'), function() {
+ $(this).prop('outerHTML', '' + $(this).prop('outerHTML') + '
');
+ });
- $(window).resize(function(){
- if( isMobile()){
- AdaptToMobile();
- }
+ //超链接都在新窗口打开
+ $('a[href^="http"]').each(function() {
+ $(this).attr('target', '_blank');
+ });
+ if (!isMobile()) {
+ $("th").css("min-width", "77px");
+ };
- else if($(window).width() < 1000){
- AdaptToMobile();
- }else{
- window.location.reload();
- }
- });
+ //lightbox
+ //增加返回顶部按钮
+ $.goup({
+ trigger: 100,
+ bottomOffset: 150,
+ locationOffset: 100,
+ title: lang["back_to_top"],
+ titleAsText: true,
+ containerColor: "#08c",
+ });
+
+ if (isMobile() || $(window).width() < 1000) {
+ AdaptToMobile();
+ }
+
+ $(window).resize(function() {
+ if (isMobile()) {
+ AdaptToMobile();
+ } else if ($(window).width() < 1000) {
+ AdaptToMobile();
+ } else {
+ window.location.reload();
+ }
+ });
- history.replaceState(null, null, $("#share-item-link").html());
+ history.replaceState(null, null, $("#share-item-link").html());
//分享项目
- $("#share").click(function(){
+ $("#share").click(function() {
$("#share-modal").modal();
- //延迟绑定分享事件
- setTimeout(function(){
- $('#copy-item-link').zclip(
- {
- path: DocConfig.pubile +'/jquery.zclip/ZeroClipboard.swf',
- copy:function()
- {
- return $('#share-item-link').html();
- },
- afterCopy: function() {
- show_top_msg("已经成功复制到剪切板",2000);
- }
- });
-
- },500);
+ //延迟绑定分享事件
+ setTimeout(function() {
+ $('#copy-item-link').zclip({
+ path: DocConfig.pubile + '/jquery.zclip/ZeroClipboard.swf',
+ copy: function() {
+ return $('#share-item-link').html();
+ },
+ afterCopy: function() {
+ show_top_msg("已经成功复制到剪切板", 2000);
+ }
+ });
+
+ }, 500);
return false;
});
- $("table thead tr").css({"background-color":"#08c","color":"#fff"});
- $("table tr").each(function(){
- if($(this).find("td").eq(1).html()=="object" || $(this).find("td").eq(1).html()=="array[object]")
- {
- $(this).css({"background-color":"#99CC99","color":"#000"});
+ $("table thead tr").css({
+ "background-color": "#08c",
+ "color": "#fff"
+ });
+ $("table tr").each(function() {
+ if ($(this).find("td").eq(1).html() == "object" || $(this).find("td").eq(1).html() == "array[object]") {
+ $(this).css({
+ "background-color": "#99CC99",
+ "color": "#000"
+ });
}
- });
+ });
+
+ function AdaptToMobile() {
+ $(".doc-container").css("width", "90%");
+ $("#doc-body").css("width", "90%");
+ $("#header").css("height", "20px");
+ $(".doc-title-box").css("margin", "20px 20px 0px 20px");
+ $("#footer").css("font-size", "11pt");
+ $(".tool-bar").hide();
+ }
-});
+ //图片点击放大
+ $("#page_md_content img").click(function() {
+ var img_url = $(this).attr("src");
+ //如果不在iframe里,则直接当前窗口打开
+ if (self == top) {
+ var json = {
+ "title": "", //相册标题
+ "id": 123, //相册id
+ "start": 0, //初始显示的图片序号,默认0
+ "data": [ //相册包含的图片,数组格式
+ {
+ "alt": "",
+ "pid": 666, //图片id
+ "src": img_url, //原图地址
+ "thumb": img_url //缩略图地址
+ }
+ ]
+ }
+
+ layer.photos({
+ photos: json,
+ anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
+ });
+
+ } else {
+ //如果在iframe里,则直接传url给父窗口
+ top.postMessage(img_url, '*');
+ }
+
+ });
-function AdaptToMobile(){
- $(".doc-container").css("width","90%");
- $("#doc-body").css("width","90%");
- $("#header").css("height","20px");
- $(".doc-title-box").css("margin","20px 20px 0px 20px");
- $("#footer").css("font-size","11pt");
- $(".tool-bar").hide();
-}
\ No newline at end of file
+});
\ No newline at end of file
diff --git a/Public/js/page/edit.js b/Public/js/page/edit.js
index 61b5c4417..28365637e 100644
--- a/Public/js/page/edit.js
+++ b/Public/js/page/edit.js
@@ -433,4 +433,66 @@ $("#add-page-comments").click(function(){
}
$("#save-btn-group").removeClass("open");
return false;
+});
+
+/** 粘贴上传图片 **/
+document.getElementById("editormd").addEventListener('paste', function(e) {
+ var clipboard = e.clipboardData;
+ for(var i=0,len=clipboard.items.length; i -1) {
+ var imageFile = clipboard.items[i].getAsFile();
+ var form = new FormData;
+ form.append('t', 'ajax-uploadpic');
+ form.append('editormd-image-file', imageFile);
+ var layer_index = {};
+ var callback = function(type, data){
+ type = type || 'before';
+ var $the = $('#content');
+ switch(type){
+ // 开始上传
+ case 'before':
+ layer_index = layer.load(1, {
+ shade: [0.1,'#fff'] //0.1透明度的白色背景
+ });
+ break;
+ // 服务器返回错误
+ case 'error':
+ $the.attr('disabled', false);
+ layer.close(layer_index);
+ layer.alert('图片上传失败');
+ break;
+ // 上传成功
+ case 'success':
+ $the.attr('disabled', false);
+ layer.close(layer_index);
+ if (data.success == 1 ) {
+ var value = '';
+ editormd.insertValue(value);
+ }else{
+ layer.alert(data.message);
+ }
+
+ break;
+ }
+ };
+ $.ajax({
+ url: "?s=home/page/uploadImg",
+ type: "POST",
+ dataType: "json",
+ data: form,
+ processData: false,
+ contentType: false,
+ beforeSend: function() {
+ callback('before');
+ },
+ error: function() {
+ callback('error');
+ },
+ success: function(data) {
+ callback('success', data);
+ }
+ })
+ e.preventDefault();
+ }
+ }
});
\ No newline at end of file
diff --git a/Public/js/page/index.js b/Public/js/page/index.js
index 7252bc5f8..d9c3ce205 100644
--- a/Public/js/page/index.js
+++ b/Public/js/page/index.js
@@ -43,5 +43,36 @@ $(function(){
}
});
+
+ //图片点击放大
+ $("#page_md_content img").click(function(){
+ var img_url = $(this).attr("src");
+ //如果不在iframe里,则直接当前窗口打开
+ if (self == top) {
+ var json = {
+ "title": "", //相册标题
+ "id": 123, //相册id
+ "start": 0, //初始显示的图片序号,默认0
+ "data": [ //相册包含的图片,数组格式
+ {
+ "alt": "",
+ "pid": 666, //图片id
+ "src": img_url, //原图地址
+ "thumb": img_url //缩略图地址
+ }
+ ]
+ }
+
+ layer.photos({
+ photos: json
+ ,anim: 5 //0-6的选择,指定弹出图片动画类型,默认随机(请注意,3.0之前的版本用shift参数)
+ });
+
+ }else{
+ //如果在iframe里,则直接传url给父窗口
+ top.postMessage(img_url, '*');
+ }
+
+ });
})
\ No newline at end of file
diff --git a/composer.json b/composer.json
index 8537e1e07..ba04aed22 100644
--- a/composer.json
+++ b/composer.json
@@ -5,7 +5,7 @@
"description": "ShowDoc is a tool greatly applicable for an IT team to share documents online",
"keywords": ["showdoc","documents","Api"],
"homepage": "https://github.com/star7th/showdoc",
- "version":"v1.3.8",
+ "version":"v1.4.0",
"license": "Apache-2.0",
"authors": [
{