From 3aa56335334fee8212c742c11eb77a9c9d6843e5 Mon Sep 17 00:00:00 2001 From: Cameron Date: Fri, 10 Apr 2015 18:58:13 -0700 Subject: [PATCH] TinyMce now includes e107 emoticons. --- e107_admin/eurl.php | 19 +- e107_plugins/tinymce4/plugins/e107/plugin.js | 2 +- .../tinymce4/plugins/smileys/img/angel.png | Bin 0 -> 712 bytes .../tinymce4/plugins/smileys/img/confused.png | Bin 0 -> 663 bytes .../tinymce4/plugins/smileys/img/cry.png | Bin 0 -> 726 bytes .../tinymce4/plugins/smileys/img/devil.png | Bin 0 -> 660 bytes .../tinymce4/plugins/smileys/img/frown.png | Bin 0 -> 690 bytes .../tinymce4/plugins/smileys/img/gasp.png | Bin 0 -> 678 bytes .../tinymce4/plugins/smileys/img/glasses.png | Bin 0 -> 706 bytes .../tinymce4/plugins/smileys/img/grin.png | Bin 0 -> 693 bytes .../tinymce4/plugins/smileys/img/grumpy.png | Bin 0 -> 732 bytes .../tinymce4/plugins/smileys/img/heart.png | Bin 0 -> 530 bytes .../tinymce4/plugins/smileys/img/kiki.png | Bin 0 -> 714 bytes .../tinymce4/plugins/smileys/img/kiss.png | Bin 0 -> 710 bytes .../tinymce4/plugins/smileys/img/pacman.png | Bin 0 -> 690 bytes .../tinymce4/plugins/smileys/img/penguin.gif | Bin 0 -> 633 bytes .../tinymce4/plugins/smileys/img/putnam.gif | Bin 0 -> 652 bytes .../tinymce4/plugins/smileys/img/robot.gif | Bin 0 -> 95 bytes .../tinymce4/plugins/smileys/img/shark.gif | Bin 0 -> 1035 bytes .../tinymce4/plugins/smileys/img/smile.png | Bin 0 -> 700 bytes .../tinymce4/plugins/smileys/img/squint.png | Bin 0 -> 712 bytes .../plugins/smileys/img/sunglasses.png | Bin 0 -> 663 bytes .../tinymce4/plugins/smileys/img/tongue.png | Bin 0 -> 684 bytes .../tinymce4/plugins/smileys/img/unsure.png | Bin 0 -> 685 bytes .../tinymce4/plugins/smileys/img/upset.png | Bin 0 -> 678 bytes .../tinymce4/plugins/smileys/plugin.js | 300 ++++++++++++++++++ .../tinymce4/plugins/smileys/plugin.min.js | 4 + e107_plugins/tinymce4/templates/mainadmin.xml | 4 +- e107_plugins/tinymce4/wysiwyg.php | 47 ++- 29 files changed, 365 insertions(+), 11 deletions(-) create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/angel.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/confused.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/cry.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/devil.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/frown.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/gasp.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/glasses.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/grin.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/grumpy.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/heart.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/kiki.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/kiss.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/pacman.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/penguin.gif create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/putnam.gif create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/robot.gif create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/shark.gif create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/smile.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/squint.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/sunglasses.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/tongue.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/unsure.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/img/upset.png create mode 100644 e107_plugins/tinymce4/plugins/smileys/plugin.js create mode 100644 e107_plugins/tinymce4/plugins/smileys/plugin.min.js diff --git a/e107_admin/eurl.php b/e107_admin/eurl.php index 052842d53..fa6e8fdcd 100644 --- a/e107_admin/eurl.php +++ b/e107_admin/eurl.php @@ -74,12 +74,15 @@ class eurl_admin_ui extends e_admin_controller_ui } else { - $modRewrite = false; + $modRewrite = true; //we don't really know. + } if($modRewrite === false) { e107::getMessage()->addInfo("Apache mod_rewrite was not found on this server and is required to use this feature. "); + e107::getMessage()->addDebug(print_a($modules,true)); + } if($htaccess && $modRewrite && !deftrue('e_MOD_REWRITE')) @@ -621,12 +624,14 @@ class eurl_admin_form_ui extends e_admin_form_ui $cssClass = 'e-hideme'; // always hidden for now, some interface changes could come after pre-alpha $exampleUrl = array(); - foreach($section['examples'] as $ex) - { - $exampleUrl[] = str_replace($srch,$repl,$ex); - - } - + if(!empty($section['examples'])) + { + foreach($section['examples'] as $ex) + { + $exampleUrl[] = str_replace($srch,$repl,$ex); + + } + } if(strpos($path,'noid')!==false) { // $exampleUrl .= "   ‡"; //XXX Add footer - denotes more CPU required. ? diff --git a/e107_plugins/tinymce4/plugins/e107/plugin.js b/e107_plugins/tinymce4/plugins/e107/plugin.js index ab38822f2..65c1d7b90 100644 --- a/e107_plugins/tinymce4/plugins/e107/plugin.js +++ b/e107_plugins/tinymce4/plugins/e107/plugin.js @@ -41,7 +41,7 @@ // Emoticons ed.addButton('e107-emotes', { - text: 'Media Manager', + text: '', icon: 'emoticons', onclick: function() { // Open window diff --git a/e107_plugins/tinymce4/plugins/smileys/img/angel.png b/e107_plugins/tinymce4/plugins/smileys/img/angel.png new file mode 100644 index 0000000000000000000000000000000000000000..6c6ca0a2093a7cbb4bf7d62e188dd95c2b6e0da8 GIT binary patch literal 712 zcmV;(0yq7MP)KI+gSs1=GL z+7YSL3Sx|H(zv0)O>6oGOq#fBm&RTHg6Xd5qKWCkKhT(NBqeE$jUhw@E40*(NP!U{ zej%Sir}G{{Aa-GIa^HRT&N=7Z`(B0-MG?f3$&}9P+engqCUZ(_`Fx&6mSt&Ft6OOt zA9LvS`pyHgXZH6G2yxuZ_3l`$cSE>>g+f29JN%wm67tFkdFsjJ(!~dSUGt(?ETU8? zHIbAuCA3;C9QI+5gCxh&$K@#mgWm_=ynXjlisDs`U@tg>47r1N$m3k+%b$KlcIau@ z(+rM}j+#2qwzc6#tD5fn`^*^SP%+M%;t6g>6H{L!!{UuG^j8t2vGsytpILybYf)4245h!U~^5oY4^2% zVd?$+oKBlC*hjl(!`l&rgS!xZSGzLw7+|?~2bQ5e_}AmFQzu=*)8}*ZO#;L|EX>ax zCN}MlCXCajUJb6d$Y{M-s35v`g4LDSVtdz!|Jh8Hd`W;6&&!GwXG zTNEt*^XqGdHxJG*JiUH+9-o-jbxoI&9t;Dn?CL3DVfn|TVjj}T!pg|N@c$PO|Anex z24XgbKfnJo+&Q_X{Ldeze>!dmLztdk-{iEX-dSZd^PK#taO7D*vv$T=)a#3{r@56AjE$F#r`pX^}q~ZWaj$z{qq|J zE?#~H4IO2OCXfqY7XM>l(9l+f8u*jp`{$1gAU$vc_{5a%J%9X|L0OX>$*EY998?UX z7NiGmfQE_N?o$UANXaV*#{p9vSn$%hn+z)#ZUVEzzk(1BZm& zC<$rvf}RpFfoGD&W^zR=tQmEl6TK8 z=v&*$#K_6>Gq7_oLz423zYLEaeq=a$_{kC>DT9mtNm!CH3|u;~&*}W(U9K;m+*A7T x9THU>oLt|;Wt8q2+Pdx5v%r&?$OQla1_0){4B7>@Rf_-s002ovPDHLkV1gnRG9~~3 literal 0 HcmV?d00001 diff --git a/e107_plugins/tinymce4/plugins/smileys/img/cry.png b/e107_plugins/tinymce4/plugins/smileys/img/cry.png new file mode 100644 index 0000000000000000000000000000000000000000..bbe0af1ae00c4175bd8a3ab69017256300b6bd04 GIT binary patch literal 726 zcmV;{0xA88P)6&&!GwXG zTNEt*^XqGdHxJG*JiUH+9-o-jbxoI&9t;Dn?CL3DVfn|TVjj}T!pg|N@c$PO|Anex z24XgbKfnJo+&Q_X{Ldeze>!dmLztdk-{S!~BCZsZe)IPYh>y5M~Bs^H&JiDi4=;+13@b4Fcfr&Z7b3i@_7+70DXpkIGOk7Tt z;nLxqN^lo^{ql{AlN;pkpA4#+N?;7+K*9kCLSrMqbWYzVhAEoA7&y6^7(ja9Vesn@ zko@}vX!=he{sF~6_J1fFXz;ER?-|VXWr6fNuv)Mlm;sE;T;INbegjqr#{bahzdso^ z9b;zD)e;BOAhjSpa4+zQDcyVi_%VaBCOcSQN@FLO78Vy{uyuE2kWo}%@UvoNn6vy0 zkp9a6QVY@pH$cP0ZTG1I3#8-~gyVpzjv=EW7cBAN?R$pvC(bj-$VoD|8U6%f1_og2 zWLUlA#v%iUgxx3!Y4d`f5;1{ilE!9oMJ%iwKv7oI^!oodFd_Y5ID6_*-|LT3&wb(% z2??H*H_q!RdH3vszO}7PjGR0_13L#ZBq{&+%kb#oM~0(^pDYoQGPvlUge57%z@-!W zoX#KK<@)l;J*6MtAyLJ_$@NWKM(LiRt=n!r3p|;LTmTSY00cTE|5~;(4*&oF07*qo IM6N<$f&~6h>i_@% literal 0 HcmV?d00001 diff --git a/e107_plugins/tinymce4/plugins/smileys/img/devil.png b/e107_plugins/tinymce4/plugins/smileys/img/devil.png new file mode 100644 index 0000000000000000000000000000000000000000..b0ac3ad3ce5251dabd2a4f96d98b06ee105fbfdb GIT binary patch literal 660 zcmV;F0&D$=P)la;`@|4S9)5*=V)igKlCnFHOS_0I zRgZ5uYeQN2jfDbyElDEFe|uOSne+Bsa1KBgb3j?b^iwwr%J;5`A(lM6L2^ZCJJH#J zy8SvR4}LX`SYg4X)QBOLJbZ|`bm0Jj6|o47veA9@Qngarfv#T9*P6TtYDWxtR9~SI z-&QKho?Jw~vyZ=YHz)FSEmJFPNp~nOrZdnV1YW%uM}ygfziDed0oUCTh=mNu!yD)= zt&xrNDw++aU~IEtVB+~7=5juZH)BK4XtN-eJbZ{<*L!C_1j5s(OTlcc$L#PRqKoq= zWK%3C_l@0WHDZV*4<9!D8D_@aqb6~!sl#e|C@g=+vapKH^(_V*H8-HedJ@)_Mtl(x z&l39P_>GZKx2ge&nrwtVp1;`DbjM;kqPjvXk-~f+?lHD^f2uXB8jyl>K1blKw6kq@%x?7cq_x;iU00006&&!GwXG zTNEt*^XqGdHxJG*JiUH+9-o-jbxoI&9t;Dn?CL3DVfn|TVjj}T!pg|N@c$PO|Anex z24XgbKfnJo+&Q_X{Ldeze>!dmLztdk-{c9dic?ID(V5(!de*OxBtDhT#fUqD~ z!H2i+8P1IZC=n*A|~)m(%4L{h=r8{D9VbOUjP3F zCZrz>XHPxqd;L-BxlcSIA;FXK#(6y@@19-Ix3-muk(1|VVCP_lB;_A}86G|S$Z+)V zlO;k@1{eL4uq0&|xO8Hl)A_@@Twgx9r}X1HB&s+#xxR_ZDBUx(b=$3HfhRMO3jhKP Y0P(#QJ>Lk=i2wiq07*qoM6N<$f+3?k!~g&Q literal 0 HcmV?d00001 diff --git a/e107_plugins/tinymce4/plugins/smileys/img/gasp.png b/e107_plugins/tinymce4/plugins/smileys/img/gasp.png new file mode 100644 index 0000000000000000000000000000000000000000..ecc19722556de8f49c1fdf3f9da159d7a50ac8a4 GIT binary patch literal 678 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 Uq!uRu_5c6?07*qoM6N<$g6&f6w*UYD literal 0 HcmV?d00001 diff --git a/e107_plugins/tinymce4/plugins/smileys/img/kiki.png b/e107_plugins/tinymce4/plugins/smileys/img/kiki.png new file mode 100644 index 0000000000000000000000000000000000000000..0892846c66f0209ad3d01aa87fc42d5ec27d196e GIT binary patch literal 714 zcmV;*0yX`KP)6&&!GwXG zTNEt*^XqGdHxJG*JiUH+9-o-jbxoI&9t;Dn?CL3DVfn|TVjj}T!pg|N@c$PO|Anex z24XgbKfnJo+&Q_X{Ldeze>!dmLztdk-{xm=dn=>pwbAStOz^^|HU_a`c>M{KN^NoR-i3u8bV7+kq z@4tUwHUEKX!FphU$jHp~?fd69U|X-AJ_>a5PlyX(^j`=YEC=L+)PnTDUBD-%bnp4& z#|+Av> zERd2{5RNl4(`C4Rk&)s2v11I|S3L(SkdTpNP}fms(A3vq`1Ace!>J=T78y7s>_$mQ zn-}zyhzUHCG&YkfVqxU~in5}n*Z;qP3F!yJ*;9}DUVoH&?h}tlNbsb*ab8c!yJr{l zt!-su}HC1pomC0PL4EQBr>cVE_OC07*qoM6N<$f-C7y7XSbN literal 0 HcmV?d00001 diff --git a/e107_plugins/tinymce4/plugins/smileys/img/kiss.png b/e107_plugins/tinymce4/plugins/smileys/img/kiss.png new file mode 100644 index 0000000000000000000000000000000000000000..14fc5c5c9caaf2bdc06eec774e5c990f93101c31 GIT binary patch literal 710 zcmV;%0y+JOP)p~*>FTJ%;Bir~qM1bXr)wipyV*@IQYgNI&3FD8;p5ZV$o4aKxY zmKd67+E|;?-ENc3u5VtFt$%pXfp6dJeBXRLW@i~q)8K!C{qZHg9QA!!4Ex2e0WdyvZ|ru?4=3T!~kd|f=W$cBrt9&6GJu?^=;&r zj&}46Ot1zKpt1#^)(i-Q#dnZdiUV?}K`r*^2I={*-{tPT${IxwmKSsYlqeqFxed=A z+^0EeP@7JM{rV6KIe|ajKTJ|H71!g|jvVM#90^yR7r+w zV>dxjHmeNIfkbEDd3vgnN}e*H7JGDql0wMBDllaexU7v}bl7SJG6BHlks*3k^54iO zA*rbh*rU&YF>;bDZV+Z0G__3Jb|5=A4)RO_64QjDRH*j|cB6IQ76O~;jA{kuMqrhD_4CkCq3e2&F9BNRD zJwGkdi^rj$y(#BB)6;%~HCZVkC#sXTb~Tf$m&qc@@OCb9cdgj^`Qnw`MbcOK`BW&l zo=cqS^R|t&A7})N)mU9+xdNF_MR*fidAhf?bAE92535{{6&&!GwXG zTNEt*^XqGdHxJG*JiUH+9-o-jbxoI&9t;Dn?CL3DVfn|TVjj}T!pg|N@c$PO|7Cdk z=mA)fw1OtXpWpu(?wnjx{^t+VKOHxOAxuxN?{oU_@}|0qnO`Rh(^m$Dzh4*_{y_|w z)>Hw;ATf{}NDW9WNDthA2N!p_N^4l8urPmRc>d@n82|tO11R+i$)Uf%7^DWI_Q9oH zuJAy7^X#6Ip`#br)+xfB!^S2xc=fNXtoqI1D!~Ur$~&Z(Sfzqg>srExstx`0Eb?*pHyN0NMEeC(!x- zeuDHf+`9T8eZ{=ZzCevK=o;Y$Ffwy}`~LY20~aqpgS0d^P>36-@mB7N`8(Z#8YOUP zgd4yorgZQ5Hv(k}uR$)o<#W+Z>VCusDG=C2n5OQz9ntOw!m)u84(|11QQ0SMcQVTZX$g zpMjVY4(_|7;^-f<)Ydy<1x8ZdIIpMV-Lnh&*0wS+a`OBP>>SLHr2OMA!=r~E8IB%) zvP4MA;G%yLmZS^=mrm?+I)8YV>&qwilzx1NWF`(yu5aQpO7{$H-FE9);K@wn0)PMm Y06l;WybOI=!Tg42PZ*Om7 zV`FV?ZDnO;X=!O;VPS4=Zf0htp`if`VQ@%eArybIFfuTdGw6WiKykvreyxGAiBZiq zJTb;qtGS1fQ$8!mJ~TN`ua{9ykb}um!8sr*MX^U%QjAxC-PJ$9JIktBNJ2zZT!t$+ zAizI5vRPJ|Uy6@)?b?9gG^HkPHXat{7~i0v-9EXdJxbP^xqk6!9w||Y&OJI7j1H;6 z#lG2bkug2`w^Wlu64EnceRDL}j&>-%V3ShKdlM1q)OK7!!ic3;g8AvG*&6;^GAbnk zCkX2M&U({i)YhUPZo>A`;Bbn{WK(07ts4w8SZAqt7ik?-a=Xx}>{!F0805}3XK~?+ J3{DmXYXI@i1K$7u literal 0 HcmV?d00001 diff --git a/e107_plugins/tinymce4/plugins/smileys/img/putnam.gif b/e107_plugins/tinymce4/plugins/smileys/img/putnam.gif new file mode 100644 index 0000000000000000000000000000000000000000..7f66c5f2c49353a854cf4fa70836b6720f893707 GIT binary patch literal 652 zcmV;70(1RGNk%w1VGsZi0OkMyO+hI{IU_kN6Er6gK{OpH9}Oia6;VVjk!(R^NH;$< zATA>gJ~J8h#JcLpyXcU1+J$pmVn)Z8d|5{<{Kmld&BIAVB#%x#-N&^_K{sYgBe#cg zD>EHRJts0bBgubrvxIBSZCcfqgKC$JzmWWf~K0IUrO(~t;*cd?yrEr)VN(*t&%eHYZsVt#w|;9#EhX2doK06c)5Ecbg=esSbK&CMMm`qD#J2CTt;=+6 zhf_wrifRAQ%Q`_T&zE$ux1;>Bq2#)&c11d?a9Y7|RP6KZTuLkCzp+-% mRFDiBF@TSO5Dy+~01@U*lP!!!#0Zch1OzQWHk=R?2mm|umJ~Sv literal 0 HcmV?d00001 diff --git a/e107_plugins/tinymce4/plugins/smileys/img/robot.gif b/e107_plugins/tinymce4/plugins/smileys/img/robot.gif new file mode 100644 index 0000000000000000000000000000000000000000..db7c6602951b68e186fc2ace82235a5c6966fe10 GIT binary patch literal 95 zcmV-l0HFUzNk%w1VGsZi0FeU#%ri3p006+i!2kdMA^8LW00093EC2ui01yBW0006o zoMoA)!|mW}Q`n2~$=vRqeE@)smq=cw=YV1Bo^Z@uK_J{Y&f2)H>(PWm$tzI+06QhL BCSCvl literal 0 HcmV?d00001 diff --git a/e107_plugins/tinymce4/plugins/smileys/img/shark.gif b/e107_plugins/tinymce4/plugins/smileys/img/shark.gif new file mode 100644 index 0000000000000000000000000000000000000000..446194e9955de8e79949d18c0187af52f5a27e21 GIT binary patch literal 1035 zcmZ?wbhEHb6krfw_}!S7*yexW`-D-V2o^XARvd%v42D=*yr z{p9Vx`*-iw6c%2&aN*sx%Uc57C$zQQxN>FQ^y$|xUc553cjdf!Po6xv{q)z-0|%b% z*i@O9*HvG?YX1DYo7e2vym`--E$2_3+#2LDv90a??b~;6-MYDC-klpazC3!^-_h~? z+qV<7r8NZwzdn7O(AjzL(vR&MHgvVMJ-BmcT3_GyH?KE%JJb~yXBAJ%O-gDkD?3$R z9uXLL;ok4NTh~5*{CJbE)0a=5x|^C7%$(8J+&reTLrhTAu9Hdj|?7EL_eT>bva#fxXp2Ko5Z7Z;dHo296gD!kjV{icT%u%))AG3{wNzG;&4M_DpPSaAopz@$hkJJ|`iU>a@b~ z^24q}dX_A#Ud&I9_E?tg;PKFC=U0@EV&Uj8WH~)agn8i_L1C4CKNqH!9g57y`VJVk z^;9^tEIz_6-LXmLm4nlRX)MZfA{dW6=oA-KU$Uk_@xl>VzSb`yjEc>U^7b-9TLdDO zGO>s!cKmtCnC>skA+kcn=^)d|2H7+LPd5?wlMVVg27fAo6B*{6oLtJYpn&CYBQuwb w&IW^n4X-)H#4G{|6dK;LvvPS{IN;LUa)&>Mo5f+zK{l2X<|Yby1_}(;0PwGADgXcg literal 0 HcmV?d00001 diff --git a/e107_plugins/tinymce4/plugins/smileys/img/smile.png b/e107_plugins/tinymce4/plugins/smileys/img/smile.png new file mode 100644 index 0000000000000000000000000000000000000000..1cfd0999a99c8d305f1eb3483d1a0e445294a5ef GIT binary patch literal 700 zcmV;t0z>_YP)6&&!GwXG zTNEt*^XqGdHxJG*JiUH+9-o-jbxoI&9t;Dn?CL3DVfn|TVjj}T!pg|N@c$PO|Anex z24XgbKfnJo+&Q_X{Ldeze>!dmLztdk-{CLly4B~RC3=IE%K`;#9;Dgk@d3sL??t-shzATFi;1g3~c>ee?gR&+&!;kOZ76&&!GwXG zTNEt*^XqGdHxJG*JiUH+9-o-jbxoI&9t;Dn?CL3DVfn|TVjj}T!pg|N@c$PO|Anex z24XgbKfnJo+&Q_X{Ldeze>!dmLztdk-{{ zD*4aQI%5*UjZ0U-Jas)?hHFQ*alsAv^@joMM-3enhQI&*0sZ^~8hBv6a9UMMiGi7k z2^cJ27{Gd91~4*nef$3T4FeZ1KLayJ@joQZ3{XB0Fhj+@fBwh-(gQbuPfY3F^T&@F zlr`BIP8~YI@b1-1232is21z+du!850o-^FOdX+&)Oq{{Y&Vm7?7NiGmfQE_N?o$UA zNXaV*#~A^`;`&8KhV#dcF>GJ;9IQY>Mv_5YN1Z`aUx(q(_xB8^j@(#e;E=EzB_VBI z&{HBN@J!O!Os;csike>k{{|+c9}H(tJ?eY?QR=x*JR%{%lk&!SJtgm+UC_6- zm5Gs)=VxH&V1^{+AAcDhJ^aXU^zf4B(00006&&!GwXG zTNEt*^XqGdHxJG*JiUH+9-o-jbxoI&9t;Dn?CL3DVfn|TVjj}T!pg|N@c$PO|Anex z24XgbKfnJo+&Q_X{Ldeze>!dmLl}cXLf5{1{YnVPc0e}S*V7tIZ{B_s-PH$#MaAB& zUA-z8>_sI-rF%dFf;2QVP*lM*qKn_Sal-+q2krtU$^RF1K#bRK-+?iV4FlN3VS2zW zkl`KGzQ1QUb>zk( z1BZm&a4%?@I_={T)w_K5Ye;4{?zaU7)*VnUK92pmwE^3#7d~waxUSz z;tzHRdLEC zBMFit7CG7tdMzyfeQOKsE(0k%fAj=$nO&$HG2l3Gg3;VV>Xm#699%yj7CD-LbHW#i zFF)-c8aCfnwhktzE`i-`BhA=78EjX_Nxc1X6{N}m#NTWzj$OVJ(ME7x;G#W!?)CSv z%?DB~5BAZM%|#MB_8u|EE$(&Xbgc4HDCpnc`EY*5W1AZsIst}mJ$zf#L*}cx(uc;q zhk{#9U!VWODz|LyZIoMG3462KJX@`(Pt|Q?%2pf8k9&L(_w-+Wrhm1c0t^7C2_xM? S9a^FQ00006&&!GwXG zTNEt*^XqGdHxJG*JiUH+9-o-jbxoI&9t;Dn?CL3DVfn|TVjj}T!pg|N@c$PO|Anex z24XgbKfnJo+&Q_X{Ldeze>!dmLztdk-{n9jMav(JzwIDrk10G!5Xv4CKcIf@v6^;r~Ad zupXEJjLcl$z5@e}iBK&#^M`l2zI<{|>Bo0SRB>=}eG`{ax@TzXwp-5vPi7()00bBSn?w^_ Ttze?t00000NkvXXu0mjf%_BIi literal 0 HcmV?d00001 diff --git a/e107_plugins/tinymce4/plugins/smileys/img/upset.png b/e107_plugins/tinymce4/plugins/smileys/img/upset.png new file mode 100644 index 0000000000000000000000000000000000000000..bc864e58edd8cb82364ef2d9505f38e6dd3df104 GIT binary patch literal 678 zcmV;X0$KfuP)6&&!GwXG zTNEt*^XqGdHxJG*JiUH+9-o-jbxoI&9t;Dn?CL3DVfn|TVjj}T!pg|N@c$PO|Anex z24XgbKfnJo+&Q_X{Ldeze>!dmLztdk-{%|962{awLgAUTj4kXo=FSUO;2 z=KA*i^BacNsVxwZe?Nht4y0k}>mP*j4|446)dVdA#?)PV(3@(RLnSFXNbm^*hjSVB=*6HMQ~dmT(CC%ZD}XiG4hI&x!? zfkVP>l!UZ-K~IU8z%xl>Gr6J{FMlztTDG6z{*%uTgJgIa!lE1*B*fVm&YpVI_xhvM zbDwxbLV_pdjq`d+-aWgZZ*40RBPY+#z|O%8NyTj!CrgB+3@-X7VM)p` zaOuQ8r}Kw*xxRdIPwB^ZNK|ofa(xq*QMzYn>$Y3Z0#9Zl7XSnp08D=#IV8KDp8x;= M07*qoM6N<$g2`en0RR91 literal 0 HcmV?d00001 diff --git a/e107_plugins/tinymce4/plugins/smileys/plugin.js b/e107_plugins/tinymce4/plugins/smileys/plugin.js new file mode 100644 index 000000000..fbfa29512 --- /dev/null +++ b/e107_plugins/tinymce4/plugins/smileys/plugin.js @@ -0,0 +1,300 @@ +tinymce.PluginManager.add('smileys', function (editor, url) { + var defaultSmileys = [ + [ + { shortcut: '(^^^)', url: url + '/img/shark.gif', title: 'shark' }, + { shortcut: 'O:)', url: url + '/img/angel.png', title: 'angel' }, + { shortcut: 'o.O', url: url + '/img/confused.png', title: 'confused' }, + { shortcut: '3:)', url: url + '/img/devil.png', title: 'devil' }, + { shortcut: ':-O', url: url + '/img/gasp.png', title: 'gasp' }, + { shortcut: '8-)', url: url + '/img/glasses.png', title: 'glasses' }, + { shortcut: ':-D', url: url + '/img/grin.png', title: 'grin' } + ], + [ + { shortcut: ':-)', url: url + '/img/smile.png', title: 'smile' }, + { shortcut: ":'(", url: url + '/img/cry.png', title: 'cry' }, + { shortcut: '<3', url: url + '/img/heart.png', title: 'heart' }, + { shortcut: '^_^', url: url + '/img/kiki.png', title: 'kiki' }, + { shortcut: ':-*', url: url + '/img/kiss.png', title: 'kiss' }, + { shortcut: ':v', url: url + '/img/pacman.png', title: 'pacman' }, + { shortcut: '<(�)', url: url + '/img/penguin.gif', title: 'penguin' } + ], + [ + { shortcut: ':|]', url: url + '/img/robot.gif', title: 'robot' }, + { shortcut: '-_-', url: url + '/img/squint.png', title: 'squint' }, + { shortcut: '8-|', url: url + '/img/sunglasses.png', title: 'sunglasses' }, + { shortcut: ':-P', url: url + '/img/tongue.png', title: 'tongue' }, + { shortcut: ':/', url: url + '/img/unsure.png', title: 'unsure' }, + { shortcut: '>:O', url: url + '/img/upset.png', title: 'upset' }, + { shortcut: '>:(', url: url + '/img/grumpy.png', title: 'grumpy' } + ] + ]; + + var smileys = editor.settings.smileys || defaultSmileys, fullSmileysList = editor.settings.extended_smileys ? smileys.concat(editor.settings.extended_smileys) : smileys; + + function getHtml() { + var smileysHtml; + + smileysHtml = ''; + + tinymce.each(fullSmileysList, function (row) { + smileysHtml += ''; + + tinymce.each(row, function (icon) { + smileysHtml += ''; + }); + + smileysHtml += ''; + }); + + smileysHtml += ''; + + return smileysHtml; + } + + function concatArray(array) { + var each = tinymce.each, result = []; + each(array, function (item) { + result = result.concat(item); + }); + return result.length > 0 ? result : array; + } + + function findAndReplaceDOMText(regex, node, replacementNode, captureGroup, schema) { + var m, matches = [], text, count = 0, doc; + var blockElementsMap, hiddenTextElementsMap, shortEndedElementsMap; + + doc = node.ownerDocument; + blockElementsMap = schema.getBlockElements(); // H1-H6, P, TD etc + hiddenTextElementsMap = schema.getWhiteSpaceElements(); // TEXTAREA, PRE, STYLE, SCRIPT + shortEndedElementsMap = schema.getShortEndedElements(); // BR, IMG, INPUT + + function getMatchIndexes(m, captureGroup) { + captureGroup = captureGroup || 0; + + var index = m.index; + + if (captureGroup > 0) { + var cg = m[captureGroup]; + index += m[0].indexOf(cg); + m[0] = cg; + } + + return [index, index + m[0].length, [m[0]]]; + } + + function getText(node) { + var txt; + + if (node.nodeType === 3) { + return node.data; + } + + if (hiddenTextElementsMap[node.nodeName] && !blockElementsMap[node.nodeName]) { + return ''; + } + + txt = ''; + + if (blockElementsMap[node.nodeName] || shortEndedElementsMap[node.nodeName]) { + txt += '\n'; + } + + if ((node = node.firstChild)) { + do { + txt += getText(node); + } while ((node = node.nextSibling)); + } + + return txt; + } + + function stepThroughMatches(node, matches, replaceFn) { + var startNode, endNode, startNodeIndex, + endNodeIndex, innerNodes = [], atIndex = 0, curNode = node, + matchLocation = matches.shift(), matchIndex = 0; + + out: while (true) { + if (blockElementsMap[curNode.nodeName] || shortEndedElementsMap[curNode.nodeName]) { + atIndex++; + } + + if (curNode.nodeType === 3) { + if (!endNode && curNode.length + atIndex >= matchLocation[1]) { + // We've found the ending + endNode = curNode; + endNodeIndex = matchLocation[1] - atIndex; + } else if (startNode) { + // Intersecting node + innerNodes.push(curNode); + } + + if (!startNode && curNode.length + atIndex > matchLocation[0]) { + // We've found the match start + startNode = curNode; + startNodeIndex = matchLocation[0] - atIndex; + } + + atIndex += curNode.length; + } + + if (startNode && endNode) { + curNode = replaceFn({ + startNode: startNode, + startNodeIndex: startNodeIndex, + endNode: endNode, + endNodeIndex: endNodeIndex, + innerNodes: innerNodes, + match: matchLocation[2], + matchIndex: matchIndex + }); + + // replaceFn has to return the node that replaced the endNode + // and then we step back so we can continue from the end of the + // match: + atIndex -= (endNode.length - endNodeIndex); + startNode = null; + endNode = null; + innerNodes = []; + matchLocation = matches.shift(); + matchIndex++; + + if (!matchLocation) { + break; // no more matches + } + } else if ((!hiddenTextElementsMap[curNode.nodeName] || blockElementsMap[curNode.nodeName]) && curNode.firstChild) { + // Move down + curNode = curNode.firstChild; + continue; + } else if (curNode.nextSibling) { + // Move forward: + curNode = curNode.nextSibling; + continue; + } + + // Move forward or up: + while (true) { + if (curNode.nextSibling) { + curNode = curNode.nextSibling; + break; + } else if (curNode.parentNode !== node) { + curNode = curNode.parentNode; + } else { + break out; + } + } + } + } + + /** + * Generates the actual replaceFn which splits up text nodes + * and inserts the replacement element. + */ + function genReplacer(nodeName) { + var makeReplacementNode; + + if (typeof nodeName != 'function') { + var stencilNode = nodeName.nodeType ? nodeName : doc.createElement(nodeName); + + makeReplacementNode = function () { + var clone = stencilNode.cloneNode(false); + return clone; + }; + } else { + makeReplacementNode = nodeName; + } + + return function replace(range) { + var before, after, parentNode, startNode = range.startNode, + endNode = range.endNode; + + if (startNode === endNode) { + var node = startNode; + + parentNode = node.parentNode; + if (range.startNodeIndex > 0) { + // Add `before` text node (before the match) + before = doc.createTextNode(node.data.substring(0, range.startNodeIndex)); + parentNode.insertBefore(before, node); + } + + // Create the replacement node: + var el = makeReplacementNode(); + parentNode.insertBefore(el, node); + if (range.endNodeIndex < node.length) { + // Add `after` text node (after the match) + after = doc.createTextNode(node.data.substring(range.endNodeIndex)); + parentNode.insertBefore(after, node); + } + + node.parentNode.removeChild(node); + + return el; + } + }; + } + + text = getText(node); + if (!text) { + return; + } + while ((m = regex.exec(text))) { + matches.push(getMatchIndexes(m, captureGroup)); + } + + if (matches.length) { + count = matches.length; + stepThroughMatches(node, matches, genReplacer(replacementNode)); + } + + return count; + } + + function replaceAllMatches(smiley) { + var each = tinymce.each, node = editor.selection.getNode(), marker, text; + if (typeof (smiley.shortcut) === 'string') { + text = smiley.shortcut.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"); + + marker = editor.dom.create('img', { "src": smiley.url, "title": smiley.title }); + + return findAndReplaceDOMText(new RegExp(text, 'gi'), node, marker, false, editor.schema); + } + else if (Array.isArray(smiley.shortcut)) { + each(smiley.shortcut, function(item) { + + marker = editor.dom.create('img', { "src": smiley.url, "title": smiley.title }); + + return findAndReplaceDOMText(new RegExp(item.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"), 'gi'), node, marker, false, editor.schema); + }); + } + } + + editor.on("keyup", function (e) { + if (!!editor.settings.auto_convert_smileys) { + var each = tinymce.each, selection = editor.selection, node = selection.getNode(); + if (node) { + each(concatArray(fullSmileysList), function (smiley) { + replaceAllMatches(smiley); + }); + } + } + }); + + editor.addButton('smileys', { + type: 'panelbutton', + icon: 'emoticons', + panel: { + autohide: true, + html: getHtml, + onclick: function (e) { + var linkElm = editor.dom.getParent(e.target, 'a'); + + if (linkElm) { + editor.insertContent(''); + this.hide(); + } + } + }, + tooltip: 'Smileys' + }); +}); diff --git a/e107_plugins/tinymce4/plugins/smileys/plugin.min.js b/e107_plugins/tinymce4/plugins/smileys/plugin.min.js new file mode 100644 index 000000000..f763ce1b7 --- /dev/null +++ b/e107_plugins/tinymce4/plugins/smileys/plugin.min.js @@ -0,0 +1,4 @@ +tinymce.PluginManager.add("smileys",function(n,t){function e(){var n;return n='',tinymce.each(r,function(t){n+="";tinymce.each(t,function(t){n+='