From 02df59a6f7a9e2e312d243c13a79ad174499c89a Mon Sep 17 00:00:00 2001 From: suyuan168 <175338101@qq.com> Date: Tue, 24 May 2022 22:10:16 +0800 Subject: [PATCH] fix ezengreen --- luci-theme-ezengreen/Makefile | 6 +- .../cascade.css | 0 .../luci-static/openmptcprouter/favicon.png | Bin 0 -> 8175 bytes .../luci-static/openmptcprouter/html5.js | 3 + .../{ezengreen => openmptcprouter}/mobile.css | 0 .../openmptcprouter/omr-logo-apple.png | Bin 0 -> 8175 bytes .../resources/menu-openmptcprouter.js | 118 ++++++++++ .../openmptcprouter/images}/cascade.css | 45 ++-- .../openmptcprouter/images}/ezenlink.png | Bin .../openmptcprouter/images}/favicon.ico | Bin .../openmptcprouter/images}/footer.png | Bin .../openmptcprouter/images}/mobile.css | 0 .../openmptcprouter/images/omr-logo.png | Bin 0 -> 19149 bytes .../openmptcprouter/images}/outdoorrouter.png | Bin .../luasrc/view/themes/ezengreen/footer.htm | 29 --- .../luasrc/view/themes/ezengreen/header.htm | 72 ------ .../view/themes/openmptcprouter/footer.htm | 19 ++ .../view/themes/openmptcprouter/header.htm | 90 ++++++++ ...i-theme-ezengreen => luci-theme-ezengreen} | 4 +- luci-theme-lamatel/Makefile | 16 -- .../htdocs/luci-static/lamatel/ezenlink.png | Bin 553 -> 0 bytes .../htdocs/luci-static/lamatel/favicon.ico | Bin 762 -> 0 bytes .../htdocs/luci-static/lamatel/footer.png | Bin 2698 -> 0 bytes .../htdocs/luci-static/lamatel/logo.png | Bin 15943 -> 0 bytes .../luasrc/view/themes/lamatel/footer.htm | 29 --- .../luasrc/view/themes/lamatel/header.htm | 206 ------------------ .../etc/uci-defaults/30_luci-theme-lametal | 7 - 27 files changed, 259 insertions(+), 385 deletions(-) mode change 100644 => 100755 luci-theme-ezengreen/Makefile rename luci-theme-ezengreen/htdocs/luci-static/{ezengreen => openmptcprouter}/cascade.css (100%) create mode 100755 luci-theme-ezengreen/htdocs/luci-static/openmptcprouter/favicon.png create mode 100755 luci-theme-ezengreen/htdocs/luci-static/openmptcprouter/html5.js rename luci-theme-ezengreen/htdocs/luci-static/{ezengreen => openmptcprouter}/mobile.css (100%) create mode 100755 luci-theme-ezengreen/htdocs/luci-static/openmptcprouter/omr-logo-apple.png create mode 100755 luci-theme-ezengreen/htdocs/luci-static/resources/menu-openmptcprouter.js rename {luci-theme-lamatel/htdocs/luci-static/lamatel => luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images}/cascade.css (98%) rename luci-theme-ezengreen/htdocs/luci-static/{ezengreen => resources/openmptcprouter/images}/ezenlink.png (100%) rename luci-theme-ezengreen/htdocs/luci-static/{ezengreen => resources/openmptcprouter/images}/favicon.ico (100%) rename luci-theme-ezengreen/htdocs/luci-static/{ezengreen => resources/openmptcprouter/images}/footer.png (100%) rename {luci-theme-lamatel/htdocs/luci-static/lamatel => luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images}/mobile.css (100%) create mode 100755 luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/omr-logo.png rename luci-theme-ezengreen/htdocs/luci-static/{ezengreen => resources/openmptcprouter/images}/outdoorrouter.png (100%) delete mode 100644 luci-theme-ezengreen/luasrc/view/themes/ezengreen/footer.htm delete mode 100644 luci-theme-ezengreen/luasrc/view/themes/ezengreen/header.htm create mode 100755 luci-theme-ezengreen/luasrc/view/themes/openmptcprouter/footer.htm create mode 100755 luci-theme-ezengreen/luasrc/view/themes/openmptcprouter/header.htm rename luci-theme-ezengreen/root/etc/uci-defaults/{30_luci-theme-ezengreen => luci-theme-ezengreen} (65%) delete mode 100644 luci-theme-lamatel/Makefile delete mode 100755 luci-theme-lamatel/htdocs/luci-static/lamatel/ezenlink.png delete mode 100755 luci-theme-lamatel/htdocs/luci-static/lamatel/favicon.ico delete mode 100755 luci-theme-lamatel/htdocs/luci-static/lamatel/footer.png delete mode 100755 luci-theme-lamatel/htdocs/luci-static/lamatel/logo.png delete mode 100644 luci-theme-lamatel/luasrc/view/themes/lamatel/footer.htm delete mode 100644 luci-theme-lamatel/luasrc/view/themes/lamatel/header.htm delete mode 100755 luci-theme-lamatel/root/etc/uci-defaults/30_luci-theme-lametal diff --git a/luci-theme-ezengreen/Makefile b/luci-theme-ezengreen/Makefile old mode 100644 new mode 100755 index 9930ce2c4..ee17e224f --- a/luci-theme-ezengreen/Makefile +++ b/luci-theme-ezengreen/Makefile @@ -1,16 +1,16 @@ # # Copyright (C) 2008-2014 The LuCI Team +# Copyright (C) 2018-2019 Ycarus (Yannick Chabanois) # # This is free software, licensed under the Apache License, Version 2.0 . # include $(TOPDIR)/rules.mk -LUCI_TITLE:=Ezengreen Theme +LUCI_TITLE:=ezengreen Theme (default) LUCI_DEPENDS:= -PKG_LICENSE:=Apache-2.0 - +#include ../luci/luci.mk include $(TOPDIR)/feeds/luci/luci.mk # call BuildPackage - OpenWrt buildroot signature diff --git a/luci-theme-ezengreen/htdocs/luci-static/ezengreen/cascade.css b/luci-theme-ezengreen/htdocs/luci-static/openmptcprouter/cascade.css similarity index 100% rename from luci-theme-ezengreen/htdocs/luci-static/ezengreen/cascade.css rename to luci-theme-ezengreen/htdocs/luci-static/openmptcprouter/cascade.css diff --git a/luci-theme-ezengreen/htdocs/luci-static/openmptcprouter/favicon.png b/luci-theme-ezengreen/htdocs/luci-static/openmptcprouter/favicon.png new file mode 100755 index 0000000000000000000000000000000000000000..7ee7779108d5a958e17f305962fef3f5715fbafd GIT binary patch literal 8175 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.createElement("font"),c.setAttribute("data-html5shiv",a.nodeName.toLowerCase())):c=b.createElement("shiv:"+a.nodeName);while(a.firstChild)c.appendChild(a.childNodes[0]);for(d=a.attributes,e=d.length,f=0;f7?e[g][e[g].length-1]=e[g][e[g].length-1].replace(d,'$1font[data-html5shiv="$2"]'):e[g][e[g].length-1]=e[g][e[g].length-1].replace(d,"$1shiv\\:$2"),e[g]=e[g].join("}");return e.join("{")}var c=function(a){return a.innerHTML="",a.childNodes.length===1}(b.createElement("a")),d=function(a,b,c){return b.appendChild(a),(c=(c?c(a):a.currentStyle).display)&&b.removeChild(a)&&c==="block"}(b.createElement("nav"),b.documentElement,a.getComputedStyle),e={elements:"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video".split(" "),shivDocument:function(a){a=a||b;if(a.documentShived)return;a.documentShived=!0;var f=a.createElement,g=a.createDocumentFragment,h=a.getElementsByTagName("head")[0],i=function(a){f(a)};c||(e.elements.join(" ").replace(/\w+/g,i),a.createElement=function(a){var b=f(a);return b.canHaveChildren&&e.shivDocument(b.document),b},a.createDocumentFragment=function(){return e.shivDocument(g())});if(!d&&h){var j=f("div");j.innerHTML=["x"].join(""),h.insertBefore(j.lastChild,h.firstChild)}return a}};e.shivDocument(b),a.html5=e;if(c||!a.attachEvent)return;a.attachEvent("onbeforeprint",function(){if(a.html5.supportsXElement||!b.namespaces)return;b.namespaces.shiv||b.namespaces.add("shiv");var c=-1,d=new RegExp("^("+a.html5.elements.join("|")+")$","i"),e=b.getElementsByTagName("*"),g=e.length,j,k=i(h(function(a,b){var c=[],d=a.length;while(d)c.unshift(a[--d]);d=b.length;while(d)c.unshift(b[--d]);c.sort(function(a,b){return a.sourceIndex-b.sourceIndex}),d=c.length;while(d)c[--d]=c[d].styleSheet;return c}(b.getElementsByTagName("style"),b.getElementsByTagName("link"))));while(++c^tPEg~W!8eJVtQz9Z_AHr)(K}M+A zq&F8LBI1DSYO0%ul`SyFMppp9`(!nw61Po`>TKZ9{@2(R|^Y6k?7Uu zohg5}r-WC&o~b6%X_gE8Sl>$ssb3ek?n<`ZcxQn-XJ4gKI}LYV3LEWWIg{UA?KqtY z+ha?;8@Zxg{%>kc!dz*y*niZ<_($XC&w??>b$T3iLe2+@cph-;nWweL9lpWFZ$!XNMVYcSj0E3|Mg{!~v${JF1j(MpOHL#DxrP zzDVI8&tGfzgR&YsCV^Xz)qVJ(5o3JI(--Id@DT(G*dw2#$igWg)simYegSry*S}8f z{S8sv+mu#+>I(HRdqBBjF!<~#5dXJR4+Yej)s#d^l~um2aU!XN%Gan^Ky>(>=R7WY zyRRdTPP_e#ZqZLbi-M(vi#aZ-il4l15ji@2Iwv+m$qchl;`i%6gjmZlOnCi#qV$~Q z*p?laaxI2xuQgCqS#79YhrRpWo^|ZMhZ8js`lG=?ZLS?v##l_i}ocpG)4<20pU@9>GD-_~ryK~1|Mo)~TZ+V3e1!_Z&2s%Hd`b`D}q zjuzERzn>j;gOD}@AVzNa%97V|E}5iY*N)xQrm*}?F3>wD{7OA^i_1hfpv_Cp7~ypa zKl{7Qh!9^bS6 zB#dEP3nvWY?DXJJ9tQ)AZn*_~t<0D1_1Iz}KDXUl+xV&RjTUEbkNYm$@vn2Db61g* z^P9OV?iz#N-ck&d!~k5R`J6sjLI`7E|9Y*bNhCx*w@k*&xz>H7A|aa4V2xR zd)dP-Jr$qrvLNyygT(3lFU6%i;}4Z-oEbNN_VK^y$A9b#RHVdqG8Pu54IglQe7h){ z9dbu9rYof8e7K|r5Ir9489BIy>ADn5Wo0q`eY3D4`_BUxcR&{#47JxkTlPi$h=idd zNHK+{hLH1im6UJMnc{>PyEn~qT^^Ts+%W4)g8h;VT^Vi{1LFH zzaP$}E9dtwSSol#?u2Y~GK1Gz?6zz?qe{s#p)|Y7mtq*6G$Z#`N4WF!>=%;$y#w1N zd3lQfypVgeS@4@aJts`l$30cV)#;;^lV53F`Ci7jx3=ZAxlisr{21`16QhG6R*wk0QVH4#k~$5x-xIwUjXF$eAQWPkNh zOLiBZ2b3Egk1!8Va4Q__U27?}UeZ?JUPHU{$syzB+_rY7>Yif_7vI^70 zlRagf?t;_bsD4lPzN?vYbLRTL&z;8VRwriqt#}ftU?aP8;8@v=5Yg0MU*aBo{)$if zH4CaL>OW2YIas>()qih!|8bswv!V6Hxi_7=(Edd8h-LAVHd%{POjA35q<5Y0)zuP) zm03bD+njln=RvD{s9rb}^-dcF)aOtcrVz}1-yj9JDdHH`iu`6p_4hWyaU)^)KB>-@ zw7yIN1|d;)!VE=%!nE2f;E4x}^HpK#w z*Q&g$i722snsK*_GsO?(slX;;bS?u6tS6?C4Y(#NY}OVr>XUiLMn70Gq#NVBlzkg< zRS;H$BmepIuMrVszN4^Tss(bVWWtew2{K{eQ0uP)dX=zV7s~B77Znu_uX0 zWm<6qY$aRdV$^L!zhf2eUk0k2GD5Ls=xmvo4in%?r{qL}4)H<~m$f@GT*`YPnSC99 z9rU;SL>f=uQ!gf_rp@vP+YCI7ZQ=?sUhN&^G83G&KZhHO&Wu*J%ezH>Vqre@Yk1Co zh5j~kpo5{gR3u%RbZN>3y7ktr_zxf)igaYh>THVZlR-B$CMoG!oId!M-oMRyxmVcN z@j65*Ice{QKK!{MmzL@{5zxl#joyE(#0t4+Sxatc>Uw~-N92Ubn?S=;PrANj$h-~A zh+#`GMdh3)VN_|NH|($NnVuHB;|&+eF4^X-zPah5&P2(8Ym5b9GsV_X2hop$3cO~w zQ)5L$=We|2;k&-g*K4Csfkq3k2@ZWm&s}KXp2$K zi@9ZZ#t!kE9dqo-cT$uY+PO5TSC6Wa9N!}H_~f-q2t-+Dk#@}8`UfY2zzkVxaHr3ABR%4ny(IDDfaWg@sCT{z>2f=tH1P(+ zK|8U|OvOKS?&|T0pS2#hN;~t|_*`U36#F}O+W(fl;7>6#?TZxpGSyjtmiV)2xjHDF zF}z+<{@p+{=~b4$Y9Ubm$zM;5SMwFJ($vw(Z zm$z*?#k6%!xh4AIF+s$ZixYkhQbF zOiJ&KN*vorDe?C@FrJh0aoCOKuZsJl&=0JZYPyMkk+tJwEi&?e8Qh-J*ZHCZq_G}j zUf7o%Z=JPcdZ|&lj_gQU2y+Yb7j+3F&U#>WYW9f~C00c%b}XH*2d6wTh|V>Fihb8p zP-7~#Lvk_kw#~5q&8vj!^L=mFO%TG_qr8Q(VoTRboo+3`N?v=?EL2ZsI@p|a1B4!> z^AzhBa^LN(WAvb2sCJ&GDGoH~jPKyZk`fG8oqktX7KgcyFuS+|-%_?4TnBL8oA3>K`~hyWu`Pa*npYnXl97dZOq}o!I8`E;mha>K@X}%eugw?u~erzw-oj zTreLE(JZ+S%L4$ou2!we&OJ>bj!t%EAV6&DZuZ|*c7y=)bdwia!m*Ftc4$`#+L`hx zaDyEoF1goOyNrRqs~5?4 z7lXMgMV}4_>{D#^R9zW^#_FWYCrUlBm@t+jn1q|3V86e!ShZ;Ws`bNX{zyIY;;9>Q zv;-u6ybX4e5XqoBZvF7r(ucEdr(tFirk74q83q@)O#|F4p8^@4VSQ+JVJRSkvUMhn zX99CQt>yAwyRWorTEyH5I3X{Yz8h_4&L7q?g^+<02Y>gVYe&6g=ln5eHS91scRk%} zD{Yk2_W-O5`sa<7Xjx@tWPP-l?BR2RdoSigkC-??eM9^xkZL4=z#_iWo?;;zb`K#u zG(iG})RB5fu@!&I5|XIo^3#?UY6Q=&voey2A*C}!n*Vf(RSVOs-9hLN!&xj7(t*Nr zB&n`a89Vh^CtYHn&szd-Eoe~_@4lR1*TL9{O@#8c(B8aGMzZOmn8AFIc>?}H=s}QF zMjELX04&Ytws04O9_y~U%KQ*Rx$w+@>g%Y?e=(r#qJXE_$ToMLzj@ZAR;Z5^Q=a!} zC>$RtXpo$#3D2D&OtJBUGz$=aSrV8*Dbkk>^E-EN0OFAp3!}4*c?Ahf2p^qfedA>N%{nn4pdh9GQXfX7>E?2j;Ly9`@<#3@GA-3<1p6b5BYXnd% zh!~W)hJBD+Hy|fqI~6cGhu7CqLUH-I$yF*mDt;_WWpPHp5|~M`5bEbYAK{K#wy3wAuCg5FnTme^W*1{ylx>z+ z7x_;%0rB4XJ-H12$Xf)gP1{}2aP;r|(OR7KZ9TrN!zbpMR}EReb} zMKlonn1U=VyH912ct3D`I*X9^zEx#&0l;BSdAf7%bVmY}uiu#4`)+a_BiWn;tX`Rh z@%U#ngij|c_e(HogG~HCS#Lwy8ofB1sPoew`1E?+;7sSj4YVY6s(D3)TveSH@oyey z0tX3OR{}QWG)k`%CkRo>si;c=Lieqp`Dh;MJ()x}#swPm?aO3P$GyKv%|>JH2fFS_#!dTrFw3RpKyu+~h372E5^lj7nLI2`McsB~`mY#hCGkhL&VK2H z_0}o3hs&gS9xSEf7u&Tzd5ydVtte7P@^wH{8cP<2PO@=?ZcpN3vQ<+B|B zuJipBZ9u-G`83sUzNmDS_7P6~f&rFg5r}8&(`fY%{Fu(L|0ax45)n zMbKgRPfwjGOUgSEdui*yUAM{Jj1s_UUS5M+r%nt-hfEaLs8+SNi!6E#y~+RMFpy8R zxb3X~5I-Q8uLKs$)J>W{v&ugDe2{SB-5*@ zgAgKrH%IAZ4=!uSmb8qlN9nrH8%GOwRIW1(Ilw-UHYl9kXKL4rS6-UQkj?~Bp3 z)R**Vqq5>e4BHy~*mi{1#CWYdH0nGw$EI4-6Wf_R$CWUz^N6!J!L^O`b4Eg;(X&L`Kzy2LU25b5ptsG&wd`giL^ykV>luT8Zy3ct*t#n3%LF z8&7~J%zS*g2fz{oGF9d2$XPel)xyxc?dgDnZ0Xim5e;)Rq@4GUb?wlV(3Akm7@m63 z9COlKy@!K*M6{p8bIfl6f*5iE>GV-cce;Snd5FWzcdCGsCbP|vNv0^{W1m4^AzO-=ZXXo9 zJU7eVvV@hw*;||ns>RB$)pxa;twqCWGsIv_q*R%k)}|iLnU!DaJl{*L$GH-fT*ERj zqv>2(He#esl`)v}_15Q$wqhOLPA-LxFTk`;GJ4vgG2#6X)F#Cm|!ivv= zxy7+ix;}Br^PuDk_3EFrcKm7)z41e)YnhDaNGmK%+6WTJF->UOGN0s1tMZ~G(N%V(WeXd&~orTj?0pe*^mWoOmn+9eJJyGQi1qWuD= zJZujt~SoRDoO}pk8Z480Pce8|O zjM2V9DzkU9aJrLgVT0qa>CoGaBs_j?4KFX5Zw2X((Pjp#oz7ImnT~zjCEktkU-+iX zPRi-7t=YFbYLGxz?r}x>tY)-Cd6|wGY&%jNTMXp@elq3oz5MPrR(8PPmx){)eZR5m z$k;wDWUKT@Ln^yt^j8fPGX-@&#ln@B%b)$v{n5vQ;vsXS*YgXX@ zTIyY&OcTp=lBVVjjP1rSXCH^Jq+Uuf`YOHjukSh``g0t^946JW7*YB|oTOw7d^>m3Jivzo!}GEu%+V*sz_6Z`<$gkvt#EhtBReU2>}p z*)t?}R(4T^8nX&tv4wv{5(B`|^Nf%aa7#zY(Z4#wtvA{3NtFt`uVxQ7rjrND1!N0v zBb2%P=mJ0IALq2cyzo*A$(8F4M@7V#bkYc>OQ&XamH$&zv?jhH2!RH9(QD~`zYg2v zh|9}-|G~2*?aGxYVeKlG_oOUQaAj_SOhfpNfe+6`rv!WD#)Wc|Z-^xCP#y1W1vo{h zK{;FAX0i(Y51!V#+-Pl#XDPxyv+MZIr9WJWAPD84xKMI<^-|%g+KuoBj$+E~9)J4n%T6of41yp2?q4f)oY&r-C(x}P z>j6J=2Mhz!j&(^YA6Jx|y)U4C{V)>;dnk}Nl zCf0!Kvv|v3^?No~9)e^m+pB5YeZEvsx3p>~8qv+U^0MfpMX}!{A--K!Ln+gFKI1lG zg(CZPa|fUI?N1f2G_QFQ09dK> zy!GNm^JB({!oj`A;!0V2eDYtd9Xh31zKC(3uH|@#YhW`xVLBd;({mmh7n5*)p7N&a zNyL_$D5Ujj&1T{%N3SKN)0+TE|Ebx5-;{R74T9@m(#Bop28WBI(Us3Tv+3Gkxn1ns zO2Iv&u$c>};<$$<;6GqfPvFexSj|#|cnU8p+*qnvsBHPm=)}K!NTJg+Z zdErYE9dkDx$@W_lpfvVJ&%38p46+ z$3GewBL=0T*G{bYHeHuSb%m62?6(mUf6iwte^V@9+csK148;9#RF@+h@WJFjHw7O2v$CT zD6)+>@pZFs{W{4fupw)9zQZa*dakjPd?5liV&^^N59#@6Gk5(T>0<0=QMuhHrHwUW zB9!PG|D$>7SepDg%DKk`9ol~rsLB;AZRh}Cc8aC@ae1mP6bok|S%L4j4ijq6=D5W8pgxn~$|X-&UibS(KA>0~eJx7E_CV9IAg(t6?_O zDSQPXg0unY4iawC=fHWGgFoTAdFf=3HdcK~tU=CbkI}uNji59vJ)}*o&tT$fqw;qfnL;F z*rzs%F=iyEAkj>5VwSku2!Dfyiv#72a{2H1{rjSc>fP~{s!^9%$QzVq>$7e9J$rqYf(Qp z4vxdHqeBXQduv@h4GD}upEt6wxqr6THC= 3) { + for (var i = 0; i < 3 && node; i++) { + node = node.children[L.env.dispatchpath[i]]; + url = url + (url ? '/' : '') + L.env.dispatchpath[i]; + } + + if (node) + this.renderTabMenu(node, url); + } + + document.addEventListener('poll-start', this.handleBodyMargin); + document.addEventListener('poll-stop', this.handleBodyMargin); + document.addEventListener('uci-new-changes', this.handleBodyMargin); + document.addEventListener('uci-clear-changes', this.handleBodyMargin); + window.addEventListener('resize', this.handleBodyMargin); + + this.handleBodyMargin(); + }, + + renderTabMenu: function(tree, url, level) { + var container = document.querySelector('#tabmenu'), + ul = E('ul', { 'class': 'tabs' }), + children = ui.menu.getChildren(tree), + activeNode = null; + + for (var i = 0; i < children.length; i++) { + var isActive = (L.env.dispatchpath[3 + (level || 0)] == children[i].name), + activeClass = isActive ? ' active' : '', + className = 'tabmenu-item-%s %s'.format(children[i].name, activeClass); + + ul.appendChild(E('li', { 'class': className }, [ + E('a', { 'href': L.url(url, children[i].name) }, [ _(children[i].title) ] )])); + + if (isActive) + activeNode = children[i]; + } + + if (ul.children.length == 0) + return E([]); + + container.appendChild(ul); + container.style.display = ''; + + if (activeNode) + this.renderTabMenu(activeNode, url + '/' + activeNode.name, (level || 0) + 1); + + return ul; + }, + + renderMainMenu: function(tree, url, level) { + var ul = level ? E('ul', { 'class': 'dropdown-menu' }) : document.querySelector('#topmenu'), + children = ui.menu.getChildren(tree); + + if (children.length == 0 || level > 1) + return E([]); + + for (var i = 0; i < children.length; i++) { + var submenu = this.renderMainMenu(children[i], url + '/' + children[i].name, (level || 0) + 1), + subclass = (!level && submenu.firstElementChild) ? 'dropdown' : null, + linkclass = (!level && submenu.firstElementChild) ? 'menu' : null, + linkurl = submenu.firstElementChild ? '#' : L.url(url, children[i].name); + + var li = E('li', { 'class': subclass }, [ + E('a', { 'class': linkclass, 'href': linkurl }, [ _(children[i].title) ]), + submenu + ]); + + ul.appendChild(li); + } + + ul.style.display = ''; + + return ul; + }, + + renderModeMenu: function(tree) { + var ul = document.querySelector('#modemenu'), + children = ui.menu.getChildren(tree); + + for (var i = 0; i < children.length; i++) { + var isActive = (L.env.requestpath.length ? children[i].name == L.env.requestpath[0] : i == 0); + + ul.appendChild(E('li', { 'class': isActive ? 'active' : null }, [ + E('a', { 'href': L.url(children[i].name) }, [ _(children[i].title) ]), + ' ', + E('span', { 'class': 'divider' }, [ '|' ]) + ])); + + if (isActive) + this.renderMainMenu(children[i], children[i].name); + } + + if (ul.children.length > 1) + ul.style.display = ''; + }, + + handleBodyMargin: function(ev) { + var body = document.querySelector('body'), + head = document.querySelector('header'); + + body.style.marginTop = head.offsetHeight + 'px'; + } +}); diff --git a/luci-theme-lamatel/htdocs/luci-static/lamatel/cascade.css b/luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/cascade.css similarity index 98% rename from luci-theme-lamatel/htdocs/luci-static/lamatel/cascade.css rename to luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/cascade.css index 26bc66806..740adc320 100755 --- a/luci-theme-lamatel/htdocs/luci-static/lamatel/cascade.css +++ b/luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/cascade.css @@ -192,7 +192,7 @@ body { } a { - color: #f6943e; + color: #215e21; text-decoration: none; line-height: inherit; font-weight: inherit; @@ -745,11 +745,13 @@ header { } header a { - color: #3f3f45; + color: #c4c4c4; } header h3 a:hover, header .brand:hover, header ul .active > a { - background-color: #fff; + background-color: #333; + background-color: rgba(0, 0, 0, 0.33); + color: #fff; text-decoration: none; } @@ -762,9 +764,9 @@ header h3 a, header .brand { display: block; padding: 16px 20px 16px; margin-left: -20px; - color: #3f3f45; + color: #fff; font-size: 24px; - font-weight: 440; + font-weight: 333; line-height: 1; } @@ -774,9 +776,9 @@ header p { } header .fill { - background-color: #e5e5e6; + background-color: #215e21; background-repeat: repeat-x; - box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1), inset 0 -1px 0 rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.33), inset 0 -1px 0 rgba(0, 0, 0, 0.1); padding: 0 5px; } @@ -804,11 +806,13 @@ header div > ul a, .nav a { } header div > ul a:hover, .nav a:hover { + color: #fff; text-decoration: none; } header div > ul .active > a, .nav .active > a { - background-color: #fff; + background-color: #222; + background-color: rgba(0, 0, 0, 0.33); } header div > ul.secondary-nav, .nav.secondary-nav { @@ -833,14 +837,15 @@ header div > ul .dropdown-toggle:hover, .nav .dropdown-toggle:hover, header div > ul .dropdown.open .dropdown-toggle, .nav .dropdown.open .dropdown-toggle { - background: #fff; + background: #444; + background: rgba(0, 0, 0, 0.3); } header div > ul .menu-dropdown, .nav .menu-dropdown, header div > ul .dropdown-menu, .nav .dropdown-menu { - background-color: #bebec0; + background-color: #003300; } header div > ul .menu-dropdown a.menu, @@ -870,16 +875,16 @@ header div > ul .menu-dropdown li a, .nav .menu-dropdown li a, header div > ul .dropdown-menu li a, .nav .dropdown-menu li a { - color: #3f3f45; + color: #bfbfbf; } header div > ul .menu-dropdown li a:hover, .nav .menu-dropdown li a:hover, header div > ul .dropdown-menu li a:hover, .nav .dropdown-menu li a:hover { - background-color: #e5e5e6; + background-color: #215e21; background-repeat: repeat-x; - color: #3f3f45; + color: #fff; } header div > ul .menu-dropdown .active a, @@ -957,7 +962,7 @@ header .dropdown-menu a.hover, background-repeat: repeat-x; color: #404040; text-decoration: none; - box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0), inset 0 1px rgba(0, 0, 0, 0); + box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.025), inset 0 -1px rgba(0, 0, 0, 0.025); } .open .menu, @@ -1227,8 +1232,8 @@ footer { .cbi-button-apply, .cbi-button-reload, .cbi-button-edit { - border-color: #f6943e; - color: #f6943e; + border-color: #4aa44b; + color: #4aa44b; } .cbi-button-negative, @@ -1255,7 +1260,7 @@ footer { .cbi-page-actions .cbi-button-apply, .cbi-section-actions .cbi-button-edit { color: #fff; - background: #f6943e; + background: #4aa44b; } .cbi-button-positive.important, @@ -1287,7 +1292,7 @@ footer { } .cbi-dropdown:focus { - outline: 2px solid #f6943e; + outline: 2px solid #4b6e9b; } .cbi-dropdown > ul { @@ -1630,7 +1635,7 @@ a.label:hover { } .label.success { - background-color: #f6943e; + background-color: #46a546; } .label.notice { @@ -1920,7 +1925,7 @@ table table td, div.cbi-value var, .td.cbi-value-field var { font-style: italic; - color: #f6943e; + color: #215e21; } .uci-change-list { diff --git a/luci-theme-ezengreen/htdocs/luci-static/ezengreen/ezenlink.png b/luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/ezenlink.png similarity index 100% rename from luci-theme-ezengreen/htdocs/luci-static/ezengreen/ezenlink.png rename to luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/ezenlink.png diff --git a/luci-theme-ezengreen/htdocs/luci-static/ezengreen/favicon.ico b/luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/favicon.ico similarity index 100% rename from luci-theme-ezengreen/htdocs/luci-static/ezengreen/favicon.ico rename to luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/favicon.ico diff --git a/luci-theme-ezengreen/htdocs/luci-static/ezengreen/footer.png b/luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/footer.png similarity index 100% rename from luci-theme-ezengreen/htdocs/luci-static/ezengreen/footer.png rename to luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/footer.png diff --git a/luci-theme-lamatel/htdocs/luci-static/lamatel/mobile.css b/luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/mobile.css similarity index 100% rename from luci-theme-lamatel/htdocs/luci-static/lamatel/mobile.css rename to luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/mobile.css diff --git a/luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/omr-logo.png b/luci-theme-ezengreen/htdocs/luci-static/resources/openmptcprouter/images/omr-logo.png new file mode 100755 index 0000000000000000000000000000000000000000..3d532aec038b0c7bf504b1583606b1139a43a037 GIT binary patch literal 19149 zcmbTd1zeP05H?D8=YlknQcHK20@4DK%hH{)bax91(xHHWlmbgP2uMpKDJ`+mA>5aL z-S4~iyD2|m-`%q(=FH5QdFDB>TF+JRaj0>SkdW}7sw(OrA)y!oudT2!fZs3Wo-+e~ zu-#ORJdu!aNgw_rBW2})kdV-+?ez@33^mlnp{~w65Gz+pYaW=h8_*gFNm2&p27x+S zdofsA+uFNGF&(vZFfrI$Nii7+Y4B;dDOlUttNM9Z>-s&{gZeo_#jKcQq!}b(;y?$^ z)?N?>n6s0Mr#MWC>92mpf!7aj^D;5~)x^tDib?KaKn6n%Ed~Ww4{HV?9${`MSWuKf zM2rV4EXXGy%*DXZ2NvVy6XgX9aPxu1`Gm!VL>T`0#{`V#VPzw(qp1APSiqAMlbx5B zn>a78kB<+Jj{uLWhb=EyObqCQpO>GX8)(7p>FeSJfpNQdGXL9yqO~W~!`{uy-qnTS zp+|_NtGAaF6EM@im*DL7U$-uv|A+|?7%vRs#tY`*dsxz64XvR6wR7|KaQbU-D=4qE zleM$8iQYaT8bYu!eZKdg!^jI{mv*TK`U&fge~k1G@$U zYVY!}2#){ZE7pn-FKa0#em;IMH=iIkpMV~pm^eQ_uys%PM8)~|{%)$_YGrTZ`+sT* z77_=GiVFz+PfY=(v4VI({vR7#LB(xcJ)9xHlI@)#w${9EF1Abz{|QoD!PUvt0~i>X zoxuP2{!;}7Ee}^4dne!nPaPF`hNnsj!eB9BVQzjN@L$u_&=7y>;^_r(fm%ORlwtzJ z!((r6C2j-Zw-FGw5#ScF60_zOgjn%$iwRglxcS8(0%BGo0)p0H>wmwm=nD0IP=bHI zZ}tE2`jSRkqHBQ>-ya|2HgZ~Br>l%jlXU;dQx?{n(3 z`4PoG4;v?g#{ISKf=ib-^nu>jXO7>*WvLDS?(D_4{t3PYjlLHLeiEfjm%sdlEg2xI zYuo&nzcsgC94y$PoSnIZ{534epw3=DInokrp6C#6dF<_?&G$Z(<*yl7{m>Sv+EeUV z*#G`|lM$cm?|JSgMduF--gO)hNnUxZc{^#iS>e6?dj;MD8NuSw&=U&fYYpH-WHy1r z{U7gTRZ-O*7DzJK{Bwdu>u z>oyazw|M&3EbLQa94^1Lu(_`_C@$u^X2(Gm_3(DX;?v$8_CG7#|6W~d&y{eG2!E&V zcr*GDOFC%(F{?_q#yuT@J>1P0h0;aMt95&GapUroRu?P!F4H7#0?IqJEN=VvA_2}S5%;uzAqf% z?til*H7sn;U*(}h7_Iq&@3VzSpbIds{8sB$TmSc%e@hn|=?g3vXd$zh)(^eGWq*N< zbhz7Oq1L*MSZ(+S0tA7n`JTF?1CVmdvhf%(Oh7` zV+@sz`y1EXoKM-@>w5V27Viyf1=zJLGUoG_w2RDA|ESpU+P+FwLd84uN5PkGdVmcX ziTe6EdPv^d5f~}?ephwsh+fowExBF%$4_#cXxP$}gM|cI@YyG*^O5hR)rZ~B2Zz36 zA|;5C0g9Ii1Ga>35aDb(8uzcJM-QFfV*IU9BugeINXScCP1}#Ap8V$gvl^?X!aGaK zyP0(-og8(g9V|JEq6;U)z4V98~1>G`%nfYrs^ z-RS%)wT(tUswWlhW7`DPw|VhWu8;hB{RTmQ>-MOJ@^yBb*iC5*W=;I~h^+Aw{d1QK zlcX*95<}frEawboIOrdh@p$_g3a#8d8l!vJ6nds??eMkNznZFFX^})K zvCQRP)sIE%WOJo*wPLO!`&ZS(_OF)wS=~3QLi<-dl?XKt$JTZ#r;m5I^)rs5{#(Kz znWgHGVLSEGm#v+v;yY@XSu`41rGy*xqmSW~UnD>8IbTikZp@B z0OpI*pjE#DLzc^%8%^QBBRAEahL46l1%8)JctH(p+yNT9U4Kt|a`i6X7BP2+;^M#0 z@X9Fx(xVDrn;#^X%6VDiCTZRH{oKF!IG91_J60QoVIF!qXE_eGQ!fGU?HF>*olp3W(yla|nM)It3LDS+zDcX!~wjVN; zjyUoq3ujqzC`3aR66<46r^q7wO(<8#LPBLQSubf67h9>1UT7of>lZk-R>u}`hU^Q# zmlw`Ii8ogd&hBz!^X{?u}kjB|m$aGrs$-G8^3f^1#qW z1}lIbi7aGW7bYFPfw(7G*b20}HO<7x&-T_gn#rND3V0G1rmE_ku;?;N_AVGnw)zwI z+0kq!DGg3T4goD0dQ2v@p11YMi3ivL>Vt58;q0t~q_1629#Z(p=|_;jX9sb^I20`m zLt(kXJ!Y#i(9gKj+gi3?V9HJ9tXV{uqwk-gQD4c!yo;_qA9HCKfYrIc{1E-5*I!3%{H0aY3L_>mF|TjD0GE%a z5n6PtwD=19nSPklV2{a+T-8rTgL6m=8LB&NZOrl)qE8uMIK?1luT_q7?(SI$Yr zGRrp<5qvpAqOe^%suuHa8PmbP{KLiE1U(H-qaqROvr2CxN;f4g5L zNk5E@RZog^-uj|9xa~sJ5>mgP)L}{d7%G1E)1Z-=j(C47xjnOIWyuExHBkIJLE6;Dh?c^s?`2GR( zNplDL7(LG#Z@Vv^?6%TJ7enhfIzj!eq>t>&er71!&I#+SA3^KHVASTI#BjC>QCN9g zM#-@1riop7H~yA4e}9HRzqordy{M?L>snJd3ytV#{OGGaOs4Pn73vcTkKeDaI|srY zY*8dc`fJ>|P;@(GKhB}uB)>&06_Vuni6y^F2rrBXt?8t}Lb|F;R%^Ie!}W39y_(ls z?hC&B4H1=g1_h`wrWfk5T+Y%jL{y9(N#7%Nj^z!nyLR}a6r-||AvLHG<2qiZng2+V z?h=ErX!Rej97-kG5|HtY56sq0|B`5Xh!leV9BjmJl+r$`s22wJ->5XNTKX;b4-X8% z*4(H(jVS-Px2G1_cB{chjkI}n$ve;4C(#MF)s>I)DwL1U<1xl5$uCrqmRQ>C1rs!i zAxlBie0c$4$-zM|I$rt;3#U%9g%RQ*BCx&_HE#8scycCZR2s%Bm$)@k0|Kb<{_4P( zmD~N4eL6QG^V8yev<(xs^6_Zw#_gcIkO}j1Ps~evkyb>`q+;Q-nXE zFy2M`tG@F!zsh3w4K+m(Vc-@a~>VI5} zCU)h`KLh;|kj$%wNkgeY*7Oiil?=mFzbPkJ2nz0)8gw5uf`H>)rE=# zs3_91cOM_m67|uw|3OTokcn>)i9ud|Z|-d3s=wxY_xmZ_GEp)G?BZ?WjBQxI_&E6Pkz}VCkFgySY=&7xT{)vtkvzMfVZU?Gwfp99o@<83mhhH& zb=oAGsZa^J6UX>%+vIjbF!S=8~Ojz9WntS{iEUAnG_hwh5ul7`z1 zJWb}u^4EAFU%0+8&VidczPmjNlA$1#`i&a$iImvHA0k7yoYB*pGLI0Ot)|63Yd;@E zFWqN2=TH!QZ+T*92+u_#!mWtOvYr`f{k_+qxs+XrW9AGqv~u_i;c}s5JAjfH5{N9e1(e*#xEY;TUiV;e4~9 zamr3uO*_gV`^|~gCITv$X`b+-+8CyS%E3KsNem9v*N0`^b06dg~6 z%vZ*ri1ZzQTx50MZ3?WIEU678lJ*?HF!2r|2}X=S0ozX?$TUsl%IAArWO=e$>-)$$ z+v^7rxF7mlX^S37^v$cR<!)dol0@pO%Lqo|DM%G$KnhR;nLpoN

bVaUL}!q88y{QQ?r(PMb$$ zcv$tzH~bXx&D|Sg+#%Q;-B*U}-~@D>SQI2MS~;lV(ArzfqL?l+rw@pFUy6OW{c%1pGXuNp{X}}1c%i{)e!g~H zdegQqkbn;Y?aFvc9Pj#8ScA*xWpal^;hS}Gw^!A;c3tQAOP!d}Xj*mE~Ta89y4kkvHZvpfxGmJbriey%0~H zkqPMn?i+M5_v~2{W}CU2i>aX?Cb(Z}+1A68U&<9Ymkq3g%m`GrDp{eY>Yp?oytt-} zCl711{8zG;i&PPb(3QG!PSs7Rgwsdx?a$lmpCm{eC#o&b0@-hv1 zg#Tj;W$3a+BPZ17CeKmXZQGk!byM@gf0%KOpYEHT33fX2z_xS5$kb5_ovTp3r~5@B z^s+74#prB=9O;*oVYhm}oZW={7nlA^{((7<2QLa=doB0=x6Ag%c~)2UP|M{duvNFw z!d>5IU6ASN@z!Jl)@gRi!yK}=QNN2oewZs8?yAy0=mImv$n6G~icHT$ss(g1KG~eXyT| zFkbXbxv9qO7N)SJ!{Y?Yz9Z2=qVAcc&sw%$R(e%js1@3OHNp?5tP|D0)^F|PM2^3X z{m$kzf6;#8%&g^zYbSxVIR>ANvMO9Hav-&%HG7LvV5yr!I^Lsa``EtoVAcM~BAW34 zGi)*PPiXZ%F~*1Cn1XahC-&}^-*0{oA7%BHOz;g+Aa~~9Z`BGk%H}+iP^HY0N=-oa zq@wgOlZn$@X@`s)wr$rlfuM#oByh9-%V+(7=r$Kwfz#AYf=dr*YD7uj=8i|-;k};l z#eN@#M&DwMGOx3Lf_$mWW@*=r0lpCSHcz_EaxcPxD^kSqa0=U_`Lsj~Bx)q)h!M`z z`r^hF35sEi>aB>0+cGv*)+mi?-QDBM@ku3I3q2|3bIOsWc*+HI*Ch*MkS z$WbGYU;oHa*{M5fb5x@-_@&A))fK-<8Wqtg@O)EJy2%?Wb9sXz#%vBqbJf3Lw2tV*lab&p49VgQ$qr0 zkfHwK0DAU@tzur`=!8)Pi`g&rv)qjn;oonzrV<63gr}Q!C*>kEoQ+OavXR%=M#$QS zFXy;P;jnC&^0S7YkTFN4Z<{8D!jUB$s{Mk$mO!}a^Bz+ysF&x5WJCIs(qFZaUxy*T zS%JamE)JeUzN{d9kTka0S43+x7vc&~rpI>#e4g~JmnH^qo@HiU_cDQ|JN$OOruI@MBQ8n}xlEwA&B%JZUX7#!Bnb9b(SY1WFtNP6~VM1hatLyUcbc z!kJ!Ktf*0e3JQ_hJ)MNJXtzc3p5bPf#!8itjzv4w{mV9rG{8uUgC$WGi}}3BvrrOF zvw`p!)wR9(5omaN{Gb}t#qo7^(+2uUg4qF}7^ zXo>t+ZmSzSLP0=MIff`oRkiOjB(|~bgZT~?!Ri{5h`D$S?{aWCi)Rjho*diyfd-{i zdgbV&I`Okh7GfZ>w9aODA<-`EjeixF3_TI{(m=M~_)wjERNJ)-PKu062GEmiZ|5DH zIwe9+vBnRsn7b15ucJ){kFw_5$fV84TixC-jlVA^wQ}|_iNn0GS-Y+*85tnLb%a|P z(_@gX51ej4R|1RCbjvSCR(%RI`R%8$qwxgiNDFWpmwnj-k-T?r^1rRJ`PZpZnrIDK z*m1IN$frUS`XqQB^=`|+pMKqZgl!LZ@<&+-_9(QkL)}vmDL+0u|Ef;@F=tBaBzKr! z^2PyKCXgrIU)rCiK{Jl~)_9JRD*@m69s>WpQ8>}%()%QEeyYeloO_lM?pI;~x(jXCxy}X7liEW79BbCr8P!EdKU4+O zj{$qZ0X4Z^7m=>1E!1S|4!^0pT;9M10vZdk2+V^gl5crPbinC+Ze3fV%RvYv9`R^b zIFO;CeWE4IJ6zm{CScM+R{|}O&HdddNW&SWSsid!$t7N2iqOw<<)n%)xH6GU%3?W! zm=fIobgeXd7Q5vKA1IQWU$1er`W1zhYZN%*=qZJ&z+N2QU(M45ZTDomA;c^(R`n&) z;1{XBaB0W5LZ%4buS_ehj7Qxba0XkE0P|ZIx2c!hSNn<8E@@O=8V<<47gc%r7kv-& zum12q<&3v8x!HbZ_m2q2HjI-;p-u(UAYF3wpaUuHDskd3M*+K`x-ctq0tMuCJ#x2+ z7xGk5X(J~-DfPPm+MOSK0>XkMimGa8k5f(`H(faQCT7I+!Kt&tQs0Npe__6*T~^0x zv+ob_c(ZEYN>40|c6hZQco^)5yn)J?Kp64z{V8qo`m%~{CJ1NkFuOOQ!8E)0vP-wJ z&r^kMvCtF`8u z6xb>vP3wW2DhZ~SOBbB@?7;A1%c2&m>0ZtVA=AOCz1$(hOhJloc;FUDuffF#ybWUf zKw?^%`Lr%t143w8NGO%C@3-E7Q6<63aIl$8v8e!UG84s%$aS+V51!xT^xC?Pix-ml zLjBDs0OAK6ZebTDEQf(N!5zUQ=D~IZv1Lh$>MDYjLR-knR9Ktc(JR3Y$oF+@;TIjw zXvS1z0z{w#uU^vYxYReR6wX}*eoA78)##cD;;1Sd12jgDL5++9cl0xCU zr+;#DT0;Fd6=8R7*!Oqz1U<}TJx@u)1LIpEs~^0!>Ui#c?GGF`cC_h!wObUW?k}n3 zBN&_GJDVC?U^CHCWH;j++xYO-C5N&HRN#R1v+JdkDqp|F9;ZpZ$B}-vjXo{YFVn2y zxz@)f*|j~O@Ny4@3j1*Cnxk*lurRfh`of_5SJ~ZitRU znOGoP#r3Z%g5dw;dgDOkH$|Rp0pvJ_20M$%A0E4sP3qqMg}_)D7TV}-^mWIt3Sb{ zkx9bjE9PGl*1rgM6e>uUiGE|#WEy0KlHrsLz4!W1i@T2EYni6NdE_P3>zq-^p3O!# z0ccMuw_i*I+<-y%)NR;0Jd@fih^XSoM~3MXRbA^~a@2?$qsUS~eauK6g90f+p4x6C z{=H+an$vemA!24e-P2XlC_Badz50r=c$VP--X+Q96Hw`BV2keM-q==+J=anZq%>p} zMNhwTyeXsS4Ag$pi^7gh0>+2v8tX9G1|}dFpx@36xu33{YU5ulbAWb55JRbQG0%B!IiSh4&C!;_`y=PYqtKMFUQY{<((HL>H3DJ z$Qc%#EMjema8w1q3yzb7Q9s`e!-b}jxc~5Pe+hbwz`0O9a%N4X8Cg@VLbbZUVus4 z6OPlOVT!Jc{Fj|}9TW9c)X)Hfw@u$ecgsSO^!s7z|Hzy8V$)994 zT14H|7TG!{M^aSSUx&RDn5Wahko$-Uu2L?UzNw;(+?eQJWk_g=^Vi5C&;I_UNj#$^ zCaRu%7{CV!gu*iZWHoL|8SwI+mnSXubpA%+raqV&B}c*m8HNNkT$U9-I#bg4i6x+W z4EvSe`NuRF!VX!zZal>e$QsBG{L>|tKzL4ph4I{91#=w(9rr!9lcITb;K>yQ(`@A0nk0kd_(#DT ze=tlse96zS@e4wyjf+Abv1Mt!PE-LUC*$xn3MUnyFFUrc7uP%vG1;L*zJA`kTDVY1 z$eY37I3>TlZwHT`dH3maj_sLE;db`9W2n2Ul&1QT!&n!SjQ~MEX7g-4Dm>F}nl*Do z9FEpDcIz8b8>K$jXStX{G{gRSA>K&U&#>`ckEO;Wu1o1zQv&i+ImSlH z@%LIAIi?q9&lMrA$sqydG)+(BIs3 zswV2DB|aY{#uGw;^5QncGm$t-$ygE}a&`MrzhYkZ_R3>h z2ZWIv>!cuwYws34;hHn54K#V>f>P|fuCag^U#8(_Ad{tAvql z6Fu6=^<0C_#2JRL7iGXp*zZ#n#pO z@prNo*cAzmnN24~Vqz2(r0mRoW*K!AT=fwRN%hG`c`iq8>J-{e1rQ?IJ-ueSpA07`Nn z9T2F>M|kOxt?_XRzpIn(bei1rU>r+d6f3hxdTdq*+`S}tKyHmwR#87lN$sXNz-m)kD6mXe*w<-G>}~B z(B7R_aLPdEtn%X=QQL`mUe!FL@1q3v{;;_a5qI=#k>gE8d6-vM-%mG?h&iiS$6+Vp znJy8xbr}_-WlMyQ866kH&6^E!0Mo)duMeh_HZ^7J-(Q(bHqC~LirdP~!b1Fcp>B*v zMV6^a2W4|)+o#87w0X5e{OMIiA!!PXkBh{Cpu44^7s%SI2F7&ykM|Iqubkq%6HkBy zP}?qD=NM_)x+HftJVsZHlD-{+N8E)tT^Qu#SJEt#BrvF;h{6BOF{z~a)mhU)h`AA~ zKYnvq8Zcj`t-TVf>c5no`)AwRNwsp6Z&ox;bhsP28S&0INh6Ce`{oG4%#~R-yg*_N zIN5g~E4E&w6mH*-tapxPVysEZYR1u!3M31732wb8;^ds@)L+tI#E$jqQkdT}n|0$z zWVTC1m`b!i+94HL4Y3H^&WTlJpvuljRzmE=`$ph>IG8X?spl|0)iUv@G~n$^A8NXs zlVFXg5Rq(`A(W@``Xt2q%c)?S>jJbY{g9^3@z;~9s{D5#97ehct-64vS4ut#X9&uZ%V_!$ zFWztkL+AbTYX_A0>k6~UXRXS)rRE&6+T)0KGmzDM zVqcYaMbU9A6qIW>t(vhoxMMc7hCIYLtpwc@g@uAH$H1HGW}@!RNkMa zz>Y5kPKiphXWqJTI&aicdH_)R=(7zRqGJm%Qcu`!rgeO$M_8_gz)YLupbkxPyD4NS5QFkPqOSiEt)a(>~0+=bqjNN^-4drrj^ob;QIS8BI@{XF#Nr zu@JoA`%b*5YrH~~HW5?)kfUGEAxCSk$1k3dFTMRO<=y%+L5r7gWG;hfv^ipNfp^qi<;wtLeFDW1(E7Ej*#fSnPt7?o@J8_Hc@{OhPjE^SQEAb zL*G13K-V>Bju4Hh)&P=a04cTzQ;Ua7_w}cWE(afARgtQDA&2lv@u3c{4V_JPIw&Yy z359IMtJoEwM5oJ%+Qft&VNeFQ<~8#O?}8up&LqEkTn`p;e?gmpkAr)MY{GEb)h1Ro z{aNuVH}xbDr8)~iH-e0pMtpfBt>AQd(}1=;yZ!znIwPu@KKYXS2p`=-2I(H=M-yAZ zl5Jfe^Qp1_axyAmdYr<0lR11!Q8MLCZjhh9vj+|Y3XTA=Vner4<5e3)VP(a*UGaE* zCxOp)Kd9a9f_emQ}zWUeo{Fbkomp6&|S-*Pc1! zr9OkdSS%^wLQZSAZ=Zmvop#^Y0sjDb&(~kT9_Lnu-nsGR?)NfuT=2VP&Sl4qP?xH9 za{6Y24gag~&_@RAU_Z1ZpXP6RQo4peRdp1Lkg+&##wF~6I3nU`t5GFWOAThA#we$` z3|d3UsXeAio8grjvnDCM}@)|jlI4|BL$A0>UP zAxzrNN#Z$P1pHjwA)Kyt z3gg~btHSLm)YS*hou(Yr#Sf;G?=_djCv-P2^Xc<2L*8a3sv)p1yuAF{gPc()d_M!H zK#k+@5I^<(<~$yqKR6j7SBuU0mDr|a2bbGHR_a`xoM%&!BU#9Jgt*46AHD-Zb-)%2 zJF$^4$zLbz2tX^H1h91V@wbUNaO5@Lu4nGxeha&}6k*2B>7Ro|9_D#t)>4XFa>TJ1 zvP+#sl@x;XZUpDp3OcJ_8?1<>2hi0Y<4pR5@u#_`91v##2oAqD`4&#r)$xf@0OC#; z^qg92`m?}!`SUTeqH;rh?xeo)tUHbTf&p8`?IKH&fut0q-Ij_jDf9gPHL7?uO0Hc| zEBq%P=(9gJKQB*5VMHcWF4+;nTf3oC!~U^2P8RTsmQ+eeZ_9DsI2Vt7pi~OgGx?hl z!$VCKaFoqK=iQ$WRkd>d1Qdu9gLsfSNb06$TOg&G8uBQtjG;Omh%gZ%D`KH{a30C? zOX89;Of|{pb%# zzZidpE0XL($&TieYv6z$n$azg@8v{wM3?D*nH~uw@9n=f=5lD+-vn~31iP}drxm^_v?^oH9l(V%_2|V z_ZY*Ooq#0UjL1{JN~(g7-w-^eN@JMO^!WJb?v5zw+sjN4Kg8~d0S4^z_*ra4 zIm*BXc4JHVf>xczuySTrWUU75(d;-J!l*w}n-s{yetY{K`$FD5uQ=N8f1(`vb4AMc zxvGmFY)R39IA0`q`7L(?ONp*3EX@+G!2bq-csmwz$m`Sl0xWs4UqRJR&Mwt_m%PL4 zixxt>DR7=|Z^$LDwkA$giE~BUa9KU0D`Lc-NQv8R+I(bqA^lo@POEU*63LIF&|eyr z@e@^f=Pn7QqmW#i*Ovr>8iUp8Ow9Dh@3+>9o>Xc;JNpZ^afGQnO zpE_-gOkreonvefmXFaHPMGDJtt}XoxTx&~yf0Na|MuEv=Zz`pZQC7y)1UDxDsZH(6 z8D7Ge7vP+oK*h`_S8ix1$M&DJPPF8|^;orZJ?03bkt@YDD|Uerg`MW+OK0?U1xQffhB2q)TMn|mCHiQi- zJIw_5GdNNg4zWF>5!ZJXi{9R?uUK?{&OHbF{RV|@A-kvW9p^PvydQIMK>oYEl?l!v zfJl+|Jk>RDHoki0z_!S7$^#%D1l)yZAGZYiASDgFsBb@fl$)oy zG!A55{-xh$#eh0Hn>mL?&Df5p(Z}*IfW1STT?D_<0qbu@pKn>TkcG#xyz`ePKNOXO zXP2r0;6WRAG?O_3oL%eAd0+uR)6tqnhV1YdB|&w9$O87Zjd2k93Oe~vkgjR%w5(!p zl1`LmpDUUjKL#F)#;+i7@&hkeU%HSIuMGWVgEn!Aq*i-Ih7-@eV1kT-Zb~&wRNN7= zYT}L>&mZL~C7f)iy3sY0fcfd~? zM4MK>?5}_2U(l@+ z1{I_Or;b__QFL2;({nkxfjcMa@k&jAt7Mxr zIg>hRG>(3H>3T*k;3Af6>jWUlu#yRCR!KutKhU1`dEFkGW=AgF%@;+hn16*ZOk_1} z6LacCGyt3|!uuP(XB2Y1dU7BclHVNR8#?J+^!nLM)LV6AqzZ+~i%Q~Zrnc`Zp6e&7 zPlO*$$&wFhJ4P2i8LyvVupB6s@_|`r7g&u`UHUy6WKjXA_wBmw6 zEtWx3Qmn>mbBP7x(Z-I6zM&rz#l-QEOc24{ltI$!SFQ{3XpQ=Y%-@kq9@uyqU0Rc! z)5dA=wRPlg*0f7EsyJJ(J?QtX6XFxVNSVXUm&2~K;rs4mU*)@cMluN2J8l=6q=J1c z*&_(s0?F==d#IeK9rM+T_i-qG^OS6JGom`yjCGz-60Sax$?KXysHP$Gg4tN&f!VAx zizKYgG{(I-zV1rH1qhDn1iU!?)xPmcII*rEg0-bYFkmLpBT$H4++^L0Z|`YyS{UO9 zTR%0PVkED9Y3VO-=s5u?-;6A;Q6mk_{074F_B7rb_7_bFam8`fglCCX5=SqAa!>S_ z)iF>KwD4d@OXf@G4l8`m_;~yVVa$5`^A06WKTJ{2h6n`(OF81$u}^ ztlWI1xE=9E~SZsd9!YthX;y!1G25Yt7yCQd75A`GLoSfF8x47`IoD?DJ7iv9|F9!Z`e1? zx&{jm#|jM*#?MswF!0#aC9eYreA)sN{Au3G%`>@)TOGlqd%oAie&qQeMU%nw#`!HF zpEvo`NrT%X$!@omL$YfozaCtjKX zll%r?xiFw%W#eFwVgM|gIdS4H3)n2b(5+>ayqkZsBp4R7*MQc4GNozojY+s-z%S4%tu(Msk z8Xn}y_Xhx_ilBI_W&~qUEG2lVEeL1GmmZ)Q<5C$$Rjp1P<@M6v21lnBP=685nD|d4O!35k=g-I)6ErU)pQs<3@Wtq{g*%TR& z@R|%#I?P@c#CBYd(87LR(EuzuAzCT&KyCbOmzed}2bQ%KNXI+4zIlD1nwlETOs#v) z#rLeyM11{EWLM@TDf*@Ir9_UU@N)fc@3#q`ufv91{LX>XBTlKnv2=UU%4DEjf#v5g z-8H%;WF>H#h|W(s{Ld750-;y3z2qYzYHgspiFx5c7+t2Ho3JYte|+AJUn&0o>G3|TT#fdWudla+^f*WB-}m{Q-G}c z!0dRSatqNo7?m+Gl9%!m1U0k8U*OW@Pd5SF3!ZsamoHy7qBTnqUr(AEthMk=yX2R9 zQs>KSz5@hUH$-RLf|u85_r{GU$bnRO5V)?636Z6N*l&vG1hKH+S6NQCH6@n zx(PR@(QXm?T=V^NK}3Fsa3WAsk4jTs{9-+33(}yLXW@9JPv4*xiJOTLI;%_OiCmq& zO_;Hk#?lgy4`H`I|MrDb&ta?}F_ng2pR59HCD26uM<9pw@OC6T!(@RCFV^npDU`=p zSJli5SwYvgpe4kl=OW*v^OS~?!&zL}MpCw|5i=gMnD>DGjJez$xj1d|<=ZXl^k;if z2PA9l230(~QC2{??yi*b#e0nz{MlmBcXh;OuOplPhFTWrd-}Vn3C0Xz=hH>UQo(2E z_^SPQ>0Fa_Wl!qA+yGf(p=G?9aAkTMrrKr8QEsONJ#Tm&8E_4QvlF<4HD;KNv>JT3 zN){jk!+69fw4w47*7nSC@M+f}@%y972q04d=r&C8oIz+t*?TGl@uishYs+H;sI6lM zkBZ~pKx@o6EXC%5gX~a6aZZ|c()wF{10SEf9{m% zIag)WX937FZwYQwh`~^*QH6D_yJQ$X$_0;pAl=s=Teb-ZB>+k^0?3G~uiliKOxf7u zy#<)fr&Mz@J)K$3%oye6CZ%O`!?W09wwH$+xF(~88j`A9@4dMraE{v**&TgF<&w&{ zq6;jq9ACUFCry`!(WG-XbD=)5EPuFdaDM`ZFs?D=7}lgdxf##kN_hxFlE4Ljz?CJ4 zS5jX@*aF7Z-iK=b5Ds-3bVO9~V?1V}))Au&K0Daxo;AS+u#0t>Kl#PLX<4hf&9K!K z5jt=|c|1Aso63In{tm&F=l>}tHAuis9V*qL`539q=?XZCSXM6yCVgIXryAil>3rr7 zN~!;7NeZ|=8g8g8Q`JUav30ATe89o|9QVeYFqK>bNb>R8NQ9OFB*B)n9Oqc&9)`xI zR^9N3QM=T)K2QHQtNv(rz1fDN0*eYO?`kOsjzbl<|zQ5?4vcH{f zOfEKL*@?gRAp+<08B|0#{AZla-si6`D~KT#>*GfOSZevw^;P~X1yI|BcFww%?l zUjZoCKH-R^Q>V#W$N>zGRDqGP+H;<@CU8NRwdzKy_h$4NfYd>_iH-2d9tF{*hRnFL02`>q{0@?#L>e^$XNI4$e|7jm>IdzM%b*L3ilV-$2 z*c}B%EOtF1-H9phPJTLOh4+HFU12q*2f;ohY}62)$PdJs5w_+})^W`xV^(1I%1$fe z#*0rQfW9J%28jTIwB%P1Djc&SH)C9ojEgKl@(XXgIoycLm=G!GW>n*H< zVj_l#_5nb-2xY`0>F*@NC*C9Ln&*YVNq@qAFdd`zTc96EJP=E#>z+Qy+!<%q@zdfE z2%v~>yhBBQAfc~4!^m(t>hZ7IS}lR@SC5Ys(1|5n3B79&n#w}KXx^Gs5!#<|I zG1`_1u8+9^7!*^OI5An&tkFFIL_Sn}W+U}a#N9GlJSn?8KDtG1J`)9K##$^I$cuD^ zJIVWVJjXO~C=#~-yKoTw(Mq6XBtYAhgF7F*I*8!UESdcLt6#orGai~SN z4M69&=E1>Ojpkwrz??~>`}cbRKgRJ2%~0mAT?mPrZkls5*BdybJPF0CY^t1^Kph5+ z@#F!Vu4tLD)$xSLv_*kh7Hr_f1*nA#kMXk)JqItbh4ZbnHE3u5 zj|(|)&tX`9X}TWY#xz0m60B`H{>AtP5R{3$fnNB#={w;5ptd)A``tJV-BL!M_4fJN zYiDee8kUF4dG(Lgas%cE0HP(ZoNiLGw{~xUTX;PD{S=MGS_p_2>}wz~{(z3~1LP=C zP49dq29<4JU;CO6xhwVvxGb^;6wx#`pVA*3j)1Bw+90A4Y4(`+R~1v2T{D7JEj9F% zE{V_$JNPy+2-^C5_paFbAuI*rL7?1e25WxNz-AXfYK_PI2jhR+DY2vX|9=nx4!s=> z-92f?k2!Y0l_YN^#Uq!8eEoRpBUhYN)WOZ`MGI4wof7@=I+SUe;A z`KSR5A-=hr3JR8WF&_tRWQgri>D_ELIpF6NTm4jqj+Iw+|E98T$WGPpi9MK6&+*t< z4cIFKZnSi9(wcIME2BE*Xw|~7+FHf;z>z6I-ooBRWv`yxP3W2b^>}t`;cnlmp2F{X z!PnGQHU_j+xU{d+itrX*og%2=?Xu8iUNh6a!`jg-0u^jshiuISgPnEm*q+^%mk^qB zD0zmM{KqS|u3g`n%cWCZ`O8S@O6WOX-?u;VL_W-o+x^LP(fhDQrrVFL4;b%EUOc5* z)_3vmAAtvKou)a5>vHV*_bzw(qJW3@76UiL0W0j24+YpBu{{#xZHo&pOy})g0vv4n zxu-ejV*678;6AJi(?z;sfu&@Db7^4j zKkeKYqT10Gazwf6{P*2IezklmU^uM^oaT{uZEk2Pb*!Lie}C1S=(~p}XjfWHEu3&_ zr-%3+x4V0GMZES(-?A&m>!y-MXzdYYDd2u6(8#@Af|B4>LC*Pc+BHtVwD~DjzBrPd zn^hdRc6XYy6kGXTo@-tS58N+p+;Hu4wbp}s#`X;!`U>~T!Uo|14i@IbO-Ouv3m zpS!r|r!}>14^6l5%$*)+P+IDm)bJ;wqdTHYfOqZP?l4i-ZSD_#<@jz6I=t*wQU_Zl zpW{5oyDwgZxs(_R2Dfh8l4}vWXUk<<$qIqgBO%varuc=5Sjb&}@#t!#_qnT!v@UPF&E)ue)v7gFHGaX?2VP&;DcAh`bL9c`m|saBcZY}m+vgkG znz+JXH%C8kxzj%2(nZmCfqvq9+U7Jb`*ffnIDEltt)8d_KQ`UwX=svHy#D;jE|HT- zCR4A^HsSr}=M$S5T~KZM@#M>`hrUK%@4EapDB;Dcmt|`k|9DQQ)Jyqbs_pTg>sI-+ z?qymXEmzD|{aF2x zbO#@A(fQ - Copyright 2008 Jo-Philipp Wich - Copyright 2012 David Menting - Licensed to the public under the Apache License 2.0. --%> - -<% - local ver = require "luci.version" - local disp = require "luci.dispatcher" - local request = disp.context.path - local category = request[1] - local tree = disp.node() - local categories = disp.node_childs(tree) -%> -

- - - - diff --git a/luci-theme-ezengreen/luasrc/view/themes/ezengreen/header.htm b/luci-theme-ezengreen/luasrc/view/themes/ezengreen/header.htm deleted file mode 100644 index e4a3d9cfd..000000000 --- a/luci-theme-ezengreen/luasrc/view/themes/ezengreen/header.htm +++ /dev/null @@ -1,72 +0,0 @@ -<%# - Copyright 2008 Steven Barth - Copyright 2008-2016 Jo-Philipp Wich - Copyright 2012 David Menting - Licensed to the public under the Apache License 2.0. --%> -<% - local sys = require "luci.sys" - local util = require "luci.util" - local http = require "luci.http" - local disp = require "luci.dispatcher" - local ver = require "luci.version" - - local boardinfo = util.ubus("system", "board") or { } - - local node = disp.context.dispatched - local path = table.concat(disp.context.path, "-") - - http.prepare_content("text/html; charset=UTF-8") --%> - - - - - <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI - - - - - <% if node and node.css then %> - - <% end -%> - <% if css then %> - - <% end -%> - - - - - -
-
-
- <%=boardinfo.hostname or "?"%> - <% render_topmenu() %> -
- -
-
-
-
- -
- <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%> -
-

<%:No password set!%>

-

<%:You are using the default router password. Please custom your router password to protect the web interface and enable SSH.%>

- -
- <%- end -%> - - - - <% if category then render_tabmenu(category, cattree) end %> diff --git a/luci-theme-ezengreen/luasrc/view/themes/openmptcprouter/footer.htm b/luci-theme-ezengreen/luasrc/view/themes/openmptcprouter/footer.htm new file mode 100755 index 000000000..0fdd0e4d3 --- /dev/null +++ b/luci-theme-ezengreen/luasrc/view/themes/openmptcprouter/footer.htm @@ -0,0 +1,19 @@ +<%# + Copyright 2008 Steven Barth + Copyright 2008 Jo-Philipp Wich + Copyright 2012 David Menting + Licensed to the public under the Apache License 2.0. +-%> + +<% local ver = require "luci.version" %> + + +
+ + + + diff --git a/luci-theme-ezengreen/luasrc/view/themes/openmptcprouter/header.htm b/luci-theme-ezengreen/luasrc/view/themes/openmptcprouter/header.htm new file mode 100755 index 000000000..932764c24 --- /dev/null +++ b/luci-theme-ezengreen/luasrc/view/themes/openmptcprouter/header.htm @@ -0,0 +1,90 @@ +<%# + Copyright 2008 Steven Barth + Copyright 2008-2016 Jo-Philipp Wich + Copyright 2012 David Menting + Licensed to the public under the Apache License 2.0. +-%> + +<% + local sys = require "luci.sys" + local util = require "luci.util" + local http = require "luci.http" + local disp = require "luci.dispatcher" + + local boardinfo = util.ubus("system", "board") + + local node = disp.context.dispatched + + -- send as HTML5 + http.prepare_content("text/html") + + -- Get current and latest OMR version + local current_omr_version = luci.model.uci.cursor():get("openmptcprouter","settings","version") or "" + local latest_omr_version = luci.model.uci.cursor():get("openmptcprouter","latest_versions","omr") or "" + +-%> + + + + + <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - system + + + + + + + + + <% if node and node.css then %> + + <% end -%> + <% if css then %> + + <% end -%> + + + + + "> +
+
+
+ openmptcprouter businessOpenMPTCProuter + +
+
+
+
+ +
+ <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%> +
+

<%:No password set!%>

+

<%:There is no password set on this router. Please configure a root password to protect the web interface.%>

+ <% if disp.lookup("admin/system/admin") then %> + + <% end %> +
+ <%- end -%> + <%- if current_omr_version ~= "" and latest_omr_version ~= "" and current_omr_version < latest_omr_version then -%> +
+

<%=translatef("你的蚂蚁聚合openmptcprouter of china商业版 版本号 %s 最新 版本号 %s 现在可以升级",current_omr_version,latest_omr_version)%>

+ +
+ <%- end -%> +
+ + +
+ + + + diff --git a/luci-theme-ezengreen/root/etc/uci-defaults/30_luci-theme-ezengreen b/luci-theme-ezengreen/root/etc/uci-defaults/luci-theme-ezengreen similarity index 65% rename from luci-theme-ezengreen/root/etc/uci-defaults/30_luci-theme-ezengreen rename to luci-theme-ezengreen/root/etc/uci-defaults/luci-theme-ezengreen index 3b96c4239..e1c8313d2 100755 --- a/luci-theme-ezengreen/root/etc/uci-defaults/30_luci-theme-ezengreen +++ b/luci-theme-ezengreen/root/etc/uci-defaults/luci-theme-ezengreen @@ -1,12 +1,10 @@ #!/bin/sh -if [ "$PKG_UPGRADE" != 1 ]; then - uci get luci.themes.ezengreen >/dev/null 2>&1 || \ +if [ "$(uci -q get luci.themes.ezengreen)" = "" ]; then uci batch <<-EOF set luci.themes.ezengreen=/luci-static/ezengreen set luci.main.mediaurlbase=/luci-static/ezengreen commit luci EOF fi - exit 0 diff --git a/luci-theme-lamatel/Makefile b/luci-theme-lamatel/Makefile deleted file mode 100644 index 988e850c7..000000000 --- a/luci-theme-lamatel/Makefile +++ /dev/null @@ -1,16 +0,0 @@ -# -# Copyright (C) 2008-2014 The LuCI Team -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=Lamatel Theme -LUCI_DEPENDS:= - -PKG_LICENSE:=Apache-2.0 - -include $(TOPDIR)/feeds/luci/luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/luci-theme-lamatel/htdocs/luci-static/lamatel/ezenlink.png b/luci-theme-lamatel/htdocs/luci-static/lamatel/ezenlink.png deleted file mode 100755 index 070a12b7da56ad334a98ffb87ca1a382af985ca4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 553 zcmV+^0@nSBP)5Rm*L{Kop!rxswj!voA{raViK6tZ*v8R6tTepaO_o zK%jz<3ScijlMX@!jz*fb7UN%5LM!a|X5Y-td%h{l5<`};@jZaZ<;8JG{Ov%{2>=2f zjE$E=aylzEHXZ{Y&?A5!fj0+a};rI%Z*jv2iL{ zMgq8CqI=*$2EfYY1rNJ&#m0k@fwA!kz*?8~dk$t1{z70E8s|4@}f?f1JGsh-A*IZ+iaOa7=K r8C)FHmOJQUD(bA18eYuZ#s%OHNQeZcR0cH!00000NkvXXu0mjf(L3<` diff --git a/luci-theme-lamatel/htdocs/luci-static/lamatel/favicon.ico b/luci-theme-lamatel/htdocs/luci-static/lamatel/favicon.ico deleted file mode 100755 index 674d8e5d07076e5561c1dcd1cddd8d0bd59941bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 762 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 Ef*7h5cmMzZ diff --git a/luci-theme-lamatel/htdocs/luci-static/lamatel/logo.png b/luci-theme-lamatel/htdocs/luci-static/lamatel/logo.png deleted file mode 100755 index 2b7dd1c511d4c240a5245adca08486001309338a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15943 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 - Copyright 2008 Jo-Philipp Wich - Copyright 2012 David Menting - Licensed to the public under the Apache License 2.0. --%> - -<% - local ver = require "luci.version" - local disp = require "luci.dispatcher" - local request = disp.context.path - local category = request[1] - local tree = disp.node() - local categories = disp.node_childs(tree) -%> - -
- - - diff --git a/luci-theme-lamatel/luasrc/view/themes/lamatel/header.htm b/luci-theme-lamatel/luasrc/view/themes/lamatel/header.htm deleted file mode 100644 index cf042bb8c..000000000 --- a/luci-theme-lamatel/luasrc/view/themes/lamatel/header.htm +++ /dev/null @@ -1,206 +0,0 @@ -<%# - Copyright 2008 Steven Barth - Copyright 2008-2016 Jo-Philipp Wich - Copyright 2012 David Menting - Licensed to the public under the Apache License 2.0. --%> - -<% - local sys = require "luci.sys" - local util = require "luci.util" - local http = require "luci.http" - local disp = require "luci.dispatcher" - - local boardinfo = util.ubus("system", "board") - - local request = disp.context.path - local request2 = disp.context.request - - local category = request[1] - local cattree = category and disp.node(category) - - local leaf = request2[#request2] - - local tree = disp.node() - local node = disp.context.dispatched - - local categories = disp.node_childs(tree) - - local c = tree - local i, r - - -- tag all nodes leading to this page - for i, r in ipairs(request) do - if c.nodes and c.nodes[r] then - c = c.nodes[r] - c._menu_selected = true - end - end - - -- send as HTML5 - http.prepare_content("text/html") - - local function nodeurl(prefix, name, query) - local u = url(prefix, name) - if query then - u = u .. http.build_querystring(query) - end - return pcdata(u) - end - - local function render_tabmenu(prefix, node, level) - if not level then - level = 1 - end - - local childs = disp.node_childs(node) - if #childs > 0 then - if level > 2 then - write('
    ') - end - - local selected_node - local selected_name - local i, v - - for i, v in ipairs(childs) do - local nnode = node.nodes[v] - if nnode._menu_selected then - selected_node = nnode - selected_name = v - end - - if level > 2 then - write('
  • %s
  • ' %{ - v, (nnode._menu_selected or (node.leaf and v == leaf)) and 'active' or '', - nodeurl(prefix, v, nnode.query), - striptags(translate(nnode.title)) - }) - end - end - - if level > 2 then - write('
') - end - - if selected_node then - render_tabmenu(prefix .. "/" .. selected_name, selected_node, level + 1) - end - end - end - - local function render_submenu(prefix, node) - local childs = disp.node_childs(node) - if #childs > 0 then - write('') - end - end - - local function render_topmenu() - local childs = disp.node_childs(cattree) - if #childs > 0 then - write('') - end - end - - local function render_changes() - -- calculate the number of unsaved changes - if tree.nodes[category] and tree.nodes[category].ucidata then - local ucichanges = 0 - - local i, j - for i, j in pairs(require("luci.model.uci").cursor():changes()) do - ucichanges = ucichanges + #j - end - - if ucichanges > 0 then - write('%s: %d' %{ - url(category, 'uci/changes'), - http.urlencode(http.formvalue('redir') or table.concat(disp.context.request, "/")), - translate('Unsaved Changes'), - ucichanges - }) - end - end - end --%> - - - - - <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI - - - - - <% if node and node.css then %> - - <% end -%> - <% if css then %> - - <% end -%> - - - - - -
-
-
- Outdoor Router - <% render_topmenu() %> -
- -
-
-
-
- -
- <%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%> -
-

<%:No password set!%>

-

<%:You are using the default router password. Please custom your router password to protect the web interface and enable SSH.%>

- -
- <%- end -%> - - - - <% if category then render_tabmenu(category, cattree) end %> diff --git a/luci-theme-lamatel/root/etc/uci-defaults/30_luci-theme-lametal b/luci-theme-lamatel/root/etc/uci-defaults/30_luci-theme-lametal deleted file mode 100755 index 3c64379bd..000000000 --- a/luci-theme-lamatel/root/etc/uci-defaults/30_luci-theme-lametal +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -uci batch <<-EOF - set luci.themes.lamtel=/luci-static/lamatel - set luci.main.mediaurlbase=/luci-static/lamatel - commit luci -EOF -exit 0