From 7fcf8a08b88fa45e637e625aa2e16c653df6ce48 Mon Sep 17 00:00:00 2001
From: tianya <tianya@imcollege.cn>
Date: Thu, 10 Dec 2020 11:47:12 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AF=8C=E6=96=87=E6=9C=AC=E7=BC=96=E8=BE=91?=
 =?UTF-8?q?=E5=99=A8=E6=94=AF=E6=8C=81=E9=99=84=E4=BB=B6=E4=B8=8A=E4=BC=A0?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/dede/dialog/select_soft.php               |   4 ++++
 src/include/inc/inc_fun_funAdmin.php          |   2 +-
 .../ddfilebrowser/icons/ddfilebrowser.png     | Bin 0 -> 1267 bytes
 .../ckeditor/plugins/ddfilebrowser/plugin.js  |  20 ++++++++++++++++++
 src/static/img/addon.gif                      | Bin 681 -> 1401 bytes
 5 files changed, 25 insertions(+), 1 deletion(-)
 create mode 100644 src/static/ckeditor/plugins/ddfilebrowser/icons/ddfilebrowser.png
 create mode 100644 src/static/ckeditor/plugins/ddfilebrowser/plugin.js

diff --git a/src/dede/dialog/select_soft.php b/src/dede/dialog/select_soft.php
index 001a37f3..bc1eb19c 100755
--- a/src/dede/dialog/select_soft.php
+++ b/src/dede/dialog/select_soft.php
@@ -72,6 +72,10 @@ if (!empty($noeditor)) {
                 window.opener.CKEDITOR.tools.callFunction(funcNum, reimg);
 
             }
+            if (window.opener.CKEDITOR.instances.<?php echo $f ?>) {
+                let addonHTML = `<a href='${reimg}' target='_blank'><img src='<?php echo $cfg_cmspath ?>/static/img/addon.gif' border='0' />附件:${reimg}</a>`;
+                window.opener.CKEDITOR.instances["<?php echo $f ?>"].insertHtml(addonHTML);
+            }
             window.close();
         }
     </SCRIPT>
diff --git a/src/include/inc/inc_fun_funAdmin.php b/src/include/inc/inc_fun_funAdmin.php
index f056aa99..03265634 100755
--- a/src/include/inc/inc_fun_funAdmin.php
+++ b/src/include/inc/inc_fun_funAdmin.php
@@ -173,7 +173,7 @@ function SpGetEditor($fname, $fvalue, $nheight = "350", $etype = "Basic", $gtype
     } else if ($GLOBALS['cfg_html_editor'] == 'ckeditor') {
         $addConfig = "";
         if (defined("DEDEADMIN")) {
-            $addConfig = ",{filebrowserImageUploadUrl:'./dialog/select_images_post.php',filebrowserUploadUrl:'./dialog/select_media_post.php?ck=1'}";
+            $addConfig = ",{filebrowserImageUploadUrl:'./dialog/select_images_post.php',filebrowserUploadUrl:'./dialog/select_media_post.php?ck=1',extraPlugins:'html5video,dedepagebreak,ddfilebrowser'}";
             // $addConfig = ",{filebrowserImageUploadUrl:'./dialog/select_images_post.php'}";
         }
         $code = <<<EOT
diff --git a/src/static/ckeditor/plugins/ddfilebrowser/icons/ddfilebrowser.png b/src/static/ckeditor/plugins/ddfilebrowser/icons/ddfilebrowser.png
new file mode 100644
index 0000000000000000000000000000000000000000..1fc836cdb037ffa4443ccc31c2ab0f9356c95138
GIT binary patch
literal 1267
zcmb7DZ)h8396sC!%iM4XqfYzbyzN7ZP3|s#uFEwsrn%Gxmo7^}lS+$T@7^@m<nF!Q
zy=|@q6*siDs7S43LkWX1stD^hSr?>gDLM-)SlEY^QKaA(8S9EriIw_Z*K~d`f-iUX
z{^5C^-}C-{zne_-ymIvLbB76nI2!8~l6XF5zfFhm*Wr9Rg{KoJnnfv?LnYAwL|BG{
zfQ+f)5J&=19y@;v1PI~~rKGbc8$ZKKP<4qm#$~BGW)nmpWa*+*0Eip}Ly8up9#j`7
zQjvpH#usPedIaQ^?r{U8#(UDzctP^ZROlr#VDVT$1xO?<wWyiA6{PlbdAzodX^Px~
zphA#(WGWj^kP&DA(&zFxC5B~5j&reIAIGt6q?=*gG=m?`$$EJo$Gh9f{XyYqhMeP*
zLf3vQybDr!gmj*!OQn*l<Z(e`h-UqMzpdeRJ2Ap(j%i4=oSJ#Et{?zYG87#tP$O+c
zaS)E6AcdVix`L`7$ZF<(nsCBsOVnxB#n@M>1LN`khN|iT+C)k4*zdmzo9Qtf&`Dsz
z5kta-%bm1C>3qZhB7#O5!eTv(i9AHm%tM`wq&U)%Q8XEr%+@`8JkG~76N#DxVnUF@
z3NA&F`OYxwjSAs*PZ%eijdq6pY?lxbydF;Qc!hSR&K00Eq5=)ox$<M~>4sdp6;vHZ
z7J#9Q0=dh8D!F%MUTN&b*HCYtD>wGSHRRIR3~d+oABC<T;qI}Q2W^Wt2aOLj-0cQ#
zYvzj&@8DnJa^g%nIy*bNy1FWg;>O0t_V)JL+FGqv>+S8`+S;mAD*gTa^Yio7YIS&c
z*f5N?wzi3hiDI$1xw$FJa&vQYKA&e8W@%}uqoZSBU_jF}hr=;9H#apkH8V5Q($bPh
zB$k(#`}+DuM@M;{hY%JDg~`du>FMd6ot<npo5^I>*VjX#P`O;TENf+D1^4>y?(VDe
zXRl(D9+d1!;qCt%#QDlMA7T2%m=I1|chk3{&n&)tL^wD0ftb@T-S2*LcM$|GPkp-Z
zTjsU*nZUCTPdw2y>tFog_$lSPcYdrrd2it1+b^6gojbmHC-S=y{ru~NW993Y{=9ba
z*R>LN^|N;ak$XRX-+5n;xYgDh@16Rpdf}-&HT>ZDE9{G>b5|;NZ+-h#?c<xbkNnZZ
a5MP#CfBEb6pFY8Mh*-2oxZe53g}(tI`ryX^

literal 0
HcmV?d00001

diff --git a/src/static/ckeditor/plugins/ddfilebrowser/plugin.js b/src/static/ckeditor/plugins/ddfilebrowser/plugin.js
new file mode 100644
index 00000000..c7b14c43
--- /dev/null
+++ b/src/static/ckeditor/plugins/ddfilebrowser/plugin.js
@@ -0,0 +1,20 @@
+CKEDITOR.plugins.add("ddfilebrowser", { 
+    icons: "ddfilebrowser", 
+    init: function (a) { 
+        a.addCommand("openDDFileBrowser", 
+        {
+            exec: function (a) 
+            {
+                if ($Nav() == 'IE') { var posLeft = window.event.clientX - 200; var posTop = window.event.clientY - 50; }
+                else { var posLeft = 100; var posTop = 100; }
+                window.open("./dialog/select_soft.php?f=" + a.name, "popUpImagesWin", "scrollbars=yes,resizable=yes,statebar=no,width=600,height=400,left=" + posLeft + ", top=" + posTop);
+            }
+        }); 
+        a.ui.addButton("DDFileBrowser", 
+        { 
+            label: "插入附件", 
+            command: "openDDFileBrowser", 
+            toolbar: "insert" 
+        }) 
+    }
+});
\ No newline at end of file
diff --git a/src/static/img/addon.gif b/src/static/img/addon.gif
index 5121dd2140142648f7bd8ee10bac70962e066299..3a7bf98808e646fa35c5e6726857b6573fe3fcbb 100755
GIT binary patch
literal 1401
zcmZ?wbhEHb6krfwxN5|(eEIUrmoFzKCO&@r`1|+ow{PG6_3KwySlFjepXSY*7ZVe+
zbLY<8yLV@0Wfc__>FDURx3}ly<b3$>Atfb6TwFXOBg4SJ;ONn#*4Easv9Wo1c^VoT
z>({UE>gt*@Wr~c9Oh7=u>C>kpBO}Yo%B-xc^7Hevv$H!pJ10$=^ykl?h=_>r@bLTh
z@7vqkPoF-$qN3vb`Sa!F<^TWxXCMwJ{^ySH4N!1NEJ*~?Hue<-iOJciB??KY>6v-9
zO7C~?S5nAKu~iB;^)>J<a8Aw0^r$LI4X*MFNv_IHwoFm7w^OjGu&T%{$W1LtRH(?!
z$t$+1uvJP-$xlkP0<uBE`br95B_-LmN{%221(2Q2`9-M;rh3M@$p(go3T9?{h9;(F
zW`;TnMh1pP`UXH`rfX<oWol++WUc@ON<iC+Qqrt~T-=~`0eQAc86_nJR{HutpX-$y
z>*W`v>l<2HT7t|lGSUUA&@HaaD@m--%_~-hnc$LIoLrPyP?DLSrvNfBF)6>a#8wID
zQivCF3*g4)73+b$qnDhYt6z~=pl_&W0P+${p|3A~rMbCq)x{-2sR;LCHMlsWvLIDI
zD784hv?w_hs9YIjRe_arQEFmIeo;t%ehw@Y12XbU@{2R_3lyA#%@j1kGxJjN%ZoL^
z>V18!JoAc667!N%JzZ>-fF|f=W~NwKnwuD#n_HS2I|2jU(ACMpz}3vc&C$ie+11V1
z)W`s)*Cju>G&eP`1g19yq1OVZUQklVEdbi=l3J8mmYU*Ll%J~r_OewbZnv1?G!Lpb
z1-DzwaO%|uIz}H9u}BdO69T3l5EGtkfgE_kPt60S_99@iX8ix}@1Nhle*XCW?dzA%
zpFVzg|L*OZ*RNi_c>e6^lgE!9KDdAH?w#AWZr-?l?dp}wmo8p7f9~v=)2B|JIDYKt
zk;8`$9@xKc@1EVecJA1|ZR?iJn>KD(zi#cC)vH#nSiWrOlEsS_E|@=W?wr}PX3m&C
zZR(WClO|5+@9XX9?&|DlZ)<I7Zfb0(udA)8uBxmkFDor6E-Ea@&&$op&dSV4PfJZn
zPD)IOkBg0oj*5&34+{+m4hjtL_w)7f_VV;_cXM@dc5-yEx3jgewz9M^H#0RcHZnBO
z*VEO}*3#5aS5s9{R#H@umy?x|mXeeZ7ZVi`77`TT=i}w!=HldFXJchyW@2PuQ2faP
zB#jt!Kt&0tyklUia+v9&(jnRJ#^`WNB{AVlhRC)ll6<-m2Tn{3n#mUs_G<01u$#I@
zVhxoup6fKat`|;VZ`0w^-tn)2)j&Y6I)h8Uv#V2;NmwIYo+D+7RJ!Dp6lPgNG47c`
o>dc1HnhOHej6@BW`zUf6i3F@wp3J{COwdOwdoQoJk0XOM0AuO(XaE2J

literal 681
zcmV;a0#^M;Nk%w1VG;lm0Oo%Hl9E*K@8!+SW{Qe;+}v7rc3kA-xBvg~w6s-xd};sx
z`FeUh=H}q^^w71nVULeOo11BgiAKZ2ga7~Oxw%GzgG-W<bG5aky}fhd;)nnL{q*$Q
zrKM<_n_Yy2IFXSf!orNKtV4*1D(UIShK5%E|L&usLjV8u;o*GL)X3xG(WInX|Ns89
zw1e8(Ys15ywzhN3%#`{0=9802{{G?m`rF*xvZ<+)iHQ}>%~6ewK81xtd3j6!|Loh_
znD6h@{{H30#x1(Kgu=p<uC7wi(W0%bd*R{QbaX*;b4r(&PutsN)YQDv(s$L>fSH+4
z-Q9GXn}GNC)yc_^ot;0-%z%lBY@?$}?CjsZz8ijiK&q;9wY7Y!s|%{C7vbTdtE)(j
zjWxu?!=$7%v$H0-xi!<%J$rjBXJ<&s$*{e>v%kNVva*d(P$J^unAO#>K|wOX!CBSS
zXV=$nj*du_lrff;Kc%H~_4VenvyyUh5WT&b)YN>Gl!B6yjQ{`tA^8LW004ggEC2ui
z01^Na000O7fPaF6cz-l9e;Yr8jDv4CVn-usQ*0?4je;~B3j;O+Ss!|Jd5et(GZ98#
zVLUH=I5-!72aF&Q03Z@behdLET>!I#QXLTxK2HS_YicoN4-kw+I{-pH3sxv11#=V+
zMT0<F6)SESNk(#776exvjU*8ce=`YAU<DXCGeQ%B6F^i@!lwz6C{R3DSptSmBM23U
zWFWFEPLewW>~Nql$bga#RWfK9fWl4!0TgshVKl@+oEH+bw3xG?4*?SZ8Zc6^CkTui
zD-f8_mqQ1aOjt1ZB+&+rg(V?&*l1MZ&k+Y+KAag7!i)$2nFggOB7n>XDm>7v2}?_m
PiVH6W{`^RhDG&fVy^T*(