From 1176a26375a171e985bfbfdcd3713c6a35f4e315 Mon Sep 17 00:00:00 2001 From: Michael Gray Date: Sun, 25 Feb 2018 16:07:06 +1100 Subject: [PATCH 1/4] Allow bandwidth graph colours to be set by theme --- package/gargoyle/files/www/bandwidth_expand.sh | 5 ++++- package/gargoyle/files/www/js/bandwidth.js | 2 +- package/gargoyle/files/www/js/svg_bandwidth.js | 11 +++++++++++ 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/package/gargoyle/files/www/bandwidth_expand.sh b/package/gargoyle/files/www/bandwidth_expand.sh index 90ffd18183..1a8752b21f 100755 --- a/package/gargoyle/files/www/bandwidth_expand.sh +++ b/package/gargoyle/files/www/bandwidth_expand.sh @@ -8,7 +8,10 @@ eval $( gargoyle_session_validator -c "$COOKIE_hash" -e "$COOKIE_exp" -a "$HTTP_USER_AGENT" -i "$REMOTE_ADDR" -r "login.sh" -t $(uci get gargoyle.global.session_timeout) -b "$COOKIE_browser_time" ) gargoyle_header_footer -m -c "internal.css" -j gargoyle_header_footer -m -c "internal.css" %> - + + + + diff --git a/package/gargoyle/files/www/js/bandwidth.js b/package/gargoyle/files/www/js/bandwidth.js index 6f8e185218..2d52144578 100644 --- a/package/gargoyle/files/www/js/bandwidth.js +++ b/package/gargoyle/files/www/js/bandwidth.js @@ -864,7 +864,7 @@ function expand(name) expWindow = null; } - expWindow = openPopupWindow("bandwidth_expand.sh", name + " " + bndwS.BPlot, 730, 630); + expWindow = openPopupWindow("bandwidth_expand.sh", name + " " + bndwS.BPlot, 830, 650); expandedWindows[name] = expWindow; var runOnWindowLoad = function(name) diff --git a/package/gargoyle/files/www/js/svg_bandwidth.js b/package/gargoyle/files/www/js/svg_bandwidth.js index 1147ebb481..654ca87df8 100644 --- a/package/gargoyle/files/www/js/svg_bandwidth.js +++ b/package/gargoyle/files/www/js/svg_bandwidth.js @@ -33,6 +33,17 @@ function init(evt) var bodyStyle = window.getComputedStyle(window.parent.document.body); themeColor = bodyStyle.color; themeFontFamily = bodyStyle.fontFamily; + for(var x = 1; x < 4; x++) + { + var titleEl = window.parent.getElementById("plot" + x + "_title"); + if(titleEl != null) + { + var titleColour = window.getComputedStyle(titleEl).color; + var plot = svgDoc.getElementById("plot" + x); + plot.style.stroke = titleColour; + plot.style.fill = titleColour; + } + } } var graphRightCoor=Math.floor(rightCoor*(85/100)); From 71e0378f04fa5a5ff53d5cf73a01543d831e9e1d Mon Sep 17 00:00:00 2001 From: Michael Gray Date: Sun, 25 Feb 2018 16:18:18 +1100 Subject: [PATCH 2/4] Add new theme flat-blue --- .../plugin-gargoyle-theme-flat-blue/Makefile | 63 ++ .../www/themes/flat-blue/images/wait_icon.gif | Bin 0 -> 38275 bytes .../files/www/themes/flat-blue/theme.css | 805 ++++++++++++++++++ 3 files changed, 868 insertions(+) create mode 100644 package/plugin-gargoyle-theme-flat-blue/Makefile create mode 100644 package/plugin-gargoyle-theme-flat-blue/files/www/themes/flat-blue/images/wait_icon.gif create mode 100644 package/plugin-gargoyle-theme-flat-blue/files/www/themes/flat-blue/theme.css diff --git a/package/plugin-gargoyle-theme-flat-blue/Makefile b/package/plugin-gargoyle-theme-flat-blue/Makefile new file mode 100644 index 0000000000..84229d403d --- /dev/null +++ b/package/plugin-gargoyle-theme-flat-blue/Makefile @@ -0,0 +1,63 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=plugin_gargoyle_theme_flat_blue +PKG_VERSION:=$(GARGOYLE_VERSION) +ifeq ($(GARGOYLE_VERSION),) + PKG_VERSION:=1.0.0 +endif +PKG_RELEASE:=1 + + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) + +include $(INCLUDE_DIR)/package.mk + +define Package/plugin-gargoyle-theme-flat-blue + SECTION:=admin + CATEGORY:=Administration + SUBMENU:=Gargoyle Web Interface + TITLE:=Flat Blue Theme + MAINTAINER:=Michael Gray + PKGARCH:=all +endef + +define Package/plugin-gargoyle-theme-flat-blue/description + Flat blue theme for Gargoyle +endef + +define Build/Prepare +endef + +define Build/Configure +endef + +define Build/Compile +endef + +define Package/plugin-gargoyle-theme-flat-blue/install + $(INSTALL_DIR) $(1) + $(CP) ./files/* $(1)/ +endef + +define Package/plugin-gargoyle-theme-flat-blue/postinst + if [ -z "$${IPKG_INSTROOT}" ] ; then + /etc/init.d/gargoyle_themes restart + fi +endef +define Package/plugin-gargoyle-theme-flat-blue/postrm + if [ -z "$${IPKG_INSTROOT}" ] ; then + IFS=$$(echo -en "\n\b") + for d in `find /www/themes/ -type d` ; do + if [ -d "$$d" ] ; then + contents=$$(ls "$$d") + if [ -z "$$contents" ] ; then + rmdir -p "$$d" 2>/dev/null + fi + fi + done + /etc/init.d/gargoyle_themes restart + fi +endef + + +$(eval $(call BuildPackage,plugin-gargoyle-theme-flat-blue)) diff --git a/package/plugin-gargoyle-theme-flat-blue/files/www/themes/flat-blue/images/wait_icon.gif b/package/plugin-gargoyle-theme-flat-blue/files/www/themes/flat-blue/images/wait_icon.gif new file mode 100644 index 0000000000000000000000000000000000000000..d22b000118c7e91f8413d373cda094993b0846a4 GIT binary patch literal 38275 zcmeIbcT|+;_62MqIuu2!f~X)vN2E(t7~0G*^dcZAASxI&iW*Cdkt#(I22fB`%7B1q z0FfXuMi7;uiJ(S|T~sh8SB>$i*WCM^_kCs_UWO8reBbZ;BV^5Tjam1f%w7BJefHVs zJT5F}3(GLoajN6~J&yQiwyv4}B9CD|^XxqT(#K<-o#10&=V5H`Zffst&Tv~mek>Sn z!+tCsIQV1bz(F5t2M&B}95}WPoJEeVc8;$0j;;>yadLHZV#CMDiS0~&T%6e~XExiJ z#c^S|yRbZ&OdlrGpXCzBb_r%XFLQMc<2XfdoL0IyM!GphxjC+OcUa@@u-4t-Gk1se z9*hkhjA#$WMi0g&PsV0X`z@aK+r8|*@?I3{vnauL;cnlB$$qveeztr3Y}5R0(*13? zi*2$N+hhk=9|*9{4X{2GXmupeswl{^WQj#tu*LD<1t&umREC(JT55KBsaf4J)A~@; zv!SNng_?XHW^z8vq#?}YLb&n8aO2C%jrq%sS|g0wBMduN74y|C~96W^|N|j?;m|0eLDZa8j~NRZ98{(HKcr2lao?j zbhNazw5+VGyuAGQ@#7U06(>%dIC=8q*I$2KSy@?CRaISGed^Synwpx^r%%_`)_(KN zH+6M&XU?3dudo01+i%aFJ^S5v-<>;m?)&e*KY#vwLqkJjW8;Mj7n+)yE?&HN>C&ak zmoGOrH}m=YmX?;**4DPRw)Xb+j*gBiSFUt+c3!=DwX3VEySw|^wQJX}U%zqV#t%RI zaP#KPo}Qjtw{HFTqhj~_pN^5n_W zr%(I(`uh9(pFMl_(@#G=fByXEpMU=4mtX$%uYbLG@#5vnm#<#E`t{deU%!6++i$l z@qh=lcVgmV<0QuE6W}0VGLH6SoB~aSS()DuN0ZYHZmul2uzQ+1JC9jacrnhUsX3$j zMbe>#$-POI(T1+YnOhX=?KW0F=IejbUB}7obeeO(;;NMCw&<%fxU_xr)je90nMSEW zjhl>Wyyr}pNT^kDsJz_HP7dDD-{Vl=Ry^s8nh()WBb2{htk+H~_z5P_B$U+kwJlxr7rGByCGfxeo3#QLjrn#SM)vL|WZi(GK`j@S3^!aQ;LFfL z0kvWwSu3DWFerrrssxi#BHYL-;o-vcVlus%Oh2Z}VyG1?mnCdxC>J4Q#R!F>;p!C5 zaauvvja8^_xH$^yhKHbTK+%AT0p;RLZ@Uhii=Qer9p=bLY-o0hdzOeVdz9 z&CC18)(6^yadSq5KCAO~RDA!`X$h=8vDKRLo?CTG^T}# zRV#J3pU={rRU8xh$t34A-H9=CiEni$w(R7FRJfNiCSr| zs>kp1>fiX>C*JHgi;H4TYKODeN{4&(M6L^|)9crcua2Hqa`uy$@Pp;kTGcq)&zH-) zdKxWH^vpk>Gc)N`oT=WdZR<+wWDaVDHqW-wsnWc1(N|0N7o|htT+=NopA=qrU-++k z=i?+v=DzMPZ?E8M6G!SPd}NLU9tfy6tK3L8BcpOcW^>1~G;LXz)7g!iHH;9#It zUZB;{AWI|<$_Z^?UcJ<;cG)0dfWQvIpfTLIiTqqzPCy>C!IcQZt1AqfqcT{$MD7IOU_--HSA#5 z(~jLf}Fok)ZGBE7&z@jH;a5s>?h&t2Mf1%1DFQ&nEZSR;TM0owgh zAkS&K7Fbi-p^(6N_@V5zR!3G`kZxIUV1I{noMBgGu+p*owp_jGMryR>boXqtPfC1y zBHQHWFVyRoZ;rUyvMA_elTJ-n>%-<91v$fy1sC)_O^@}Ize2;TRIzz+}jm2PH|4<&doI1tehS3Wfg)v5dBuW|Gz*lihE4; z0D9yKV1X~9?yi~36_f#8TDXHiqID`iP+)i}= z9uBzm2Udsff0L&@$oXwv_8{kXc`u6dS%l;~7yzjl_W}c80Q8vQLD825FE|mhplYc= z(Vtl+Q1pWlPl$RzJks?o5k`P`5t65R07%*+4?vXaKbH9o9)4g{Bn-OSv(Jdgm+a=!TNkv6#<-hL5S@v4ohrRyICr~vvd$oFPi0LJM_BVN-yK|)EO)l2zUw16YiEqnu-g)=M*=7OH z&vCa=9Ub$|{|6mCH1gO06hS+{9?N_51&Mr7yU)pWfY6;$7fpA zmP-KA_O8yMu7u+UP=|&cbUSc502??RTJ;^?gt-UZI>4Li?_q>zkO)U@JL=pqzmrh6 zLd*_!AJX%H_S4JE&InyTD%6qD2Vx#I?^K)<2wz3Ge8}Rv8#zxD+aE#egn<9l=+gbUy;k|7JlYGkcuO;y1kM5KBa>sg}XNL}_ z@_BFn>kRkU5P#jZ^|Fx+eTOY#?a7;38ZC8ORpnc{o;Q|rWbbl*oObed_8OJKwP(zq z`X+?>rOa!7Q+{E(-)~ZiIc94dYZK}WGh*dCyOK6;P(ISUzqmEkrGCxxt?vr^yGwnJ zFKw^i{FAV4mmh4_jUPXLvbf|l#hEiT=c^kp1lLY)q1#9@p8D@UPSOt&@Id4s;1Rlq z;qoB@ei$cT2yMjTq(R3bx^)VRV`x(qJ0^0F>%iiGZgAm{V&CRv2cmr^1>Mk_WA|R5 z+l8ha3Ge|H2Vd@J5CLsqaS-ho+Sr-{4dZOp6g6LECQ+eDqvae&iI%Rm;-)XnK z+UVj@?5N=t$b3pyj$i1L7DCHD){v`x#dyu3X}|FGr?j%U|1r}zni%Y{eO}J~eQFkN z3JY!dt19ivLuM`Dd|E1*sS`F)X>a6#mDieNx=S1<20fISKht{Mx#s%QKmAa-y!D8! zwUE3g4@S6-HJgfC`2KOw6`ACDp!OSc^XS95p;V2uITg~xWDesQ^R!TsBc3LynhCbM z2b1_`cmsKZCAX5}h-`P{#32t31Unkkp(!2cbj;=Pz6*iQkzmKL zN2HF7Ioz>>7Y~dMc08Ki5%$~?G`%ClI~v_l9Xbqq(xEd!%AIP*Q@uGLbqxDqH2X&Z zejYKmTWfM>z17Xlj)XCn5Z;i!r7kb+A8p598Yev>!X27#M$scXrX`puFFoT}-CJy~ zBXy&*Xm{AmOv6u#RV;Wid<_W~?i$~fd+vh_&Z8|;Uc1%2Ac*Utw9{5cQFC#kA8V;bj$fz0wqzz( zzUJS%e2zQKY;RM_+T)Q=m!5LM@>=m7E@!fV;x?tn7u8n$vi|kfsv04ApFS@n@BeS0 zO*GtqZlGsCH~4Fan@1VIi?rQ%^e$+-NvmBjP7`+C$XG`ccVKIg&RZbLg#d>E8<01k z8%ApaT$8gj(B%XDwd4C zb9Pr19r`Cv;%OH~fwpr~XW(nCw2airrNPRqS6v6?6@JJHemD8Cow|o|iprTtDLLJ* zm~SgFW@kHm;7Pi|j+CoOIWk&ypAZ zVri=BaFXt!Y+6{W_S8znHde*09zlEdETOSJ1lO#;N7(|h#=SIF+ajhpLDPeqYU+So zw67ix%T)i2AZrSQ!AJv|Ml*6m&@eUwg2rANp~6WEjesy=p%FqHI&Bz|p-vl(#t|>^PltGoV16c?m*Zd! zm7M{|gSzgIV`t&K9I`bqF9%)jaAk+jg``hwv*ODNkBs%(IAKG(G77F2)smuoU+Ux| zcFHVS*<4u#epWDlax>6|mbuHMmUjo}vos{ytADe6;c_Qq&7@Oiftx~;E!58#erV9>C`j{^ zRt|Ge{AO z%uy`Hm+1l#Iz-&d1W_1bLI!FahGb|K4z?P~%zc@ky1jmO<) z8k@b_q(Rq}N=`EknpWPP5vg$Ue*NwfcKJ@p>l2z*sC6-dvpCx%`#s#hqyL-Z75fK$bFS(+VYQ-4<*`{gQrF|-da+^6x{#Y9FAcvkmoqz z2H?i{7U6SjkBdrjYQjxOe%9xXVxiCu6Y#ej19tKr$9wHByXQf~yAkSSo=7xRD;m>$6R z<(8g0ndhj?GUm>ZC-9w1;#+bpYp#Yg-+qo-;S2)b^GJN3O0>_(*kP3?z_+4uE`je) zRowUbDyVsK-Ia{@%D?GrVS3MyofTE1+O^Q!rNl2O{L>?~6TWxWm8Un~U@oE6(~~xJ zD$>0k{?gumAmWHN^Q6>4*B8%vcns-$&$HZDc07$Aq-G~I8uJ+ehO70jO?F=#Z-3)v zp2MX1%|F&{{E5uN#Eu^?7?BO3b5Y6u_vsw<Dj^QR8hu=k#FK9%TG!TIwh_&Jo8EAJjBEza3ggZc= zq;|qtL&6<+y^74bf_4XLhd9j8L`)-D06@Egp$^mzeK;2GB2D-(p87}NUeJMmYDi>Z zwz#y$gw%7tI(al_Y(yp)k=+`F&K>HTSz>+d>8UiHr!tG{ovWbGniVWgBP6@rX0N%Q zOyfHOoihjMyc^)2wZp2(q?)AjS3Dj`=PK?e4!)SeIwqBS&@o_hLVE^+dp^@ruZ_!D zvOXy@#`=p|1==S1Y%zxt?`I6de;v+auFz~S)-FANo<81bgLlbGrvAjQPwvr?kGb6* za3}WCqw2~h+|Zvs&&`bNR5?l8eYUEn$^^sxvjMn^vb&Wi-2aTJK4>b2%r}&5!zf28 zeb_&TmF@`cfOR76LYnG8?RYSTAP#hnkd3)Ki0zC9W5_uNaKn}h3b_EIgHVSLbm(Zm z1$uL2n}cUgjkO`495U+wXzJv9a6e9jS;?pi5nitdA@b|ckHfADwI#=l4ns0%#zCv2 z;rGxL7Zh*#8_6~z;0|9gL6%@YB3XUS#eSC;gSJPD1qB&~iFHC^l^?=>;WC^&Z z?6BHlQY}fS_X*0D1l(7uxcm8<6)17tWy+iR*LVyCa~E^_t*0fgW;n|gYMiOfPqA6; zx8}6m;`><@6Su7KizvQ-Fh@J%ebwA}R!`-GPcmyRI3~%TT|IeeNOI2o;En*vx%19k zDt_8dAMe(%b;T4_>yR|<+hLcc<}X+rAA4JvcAY;%Xvz&?c+ol9UuAd#{vv)m2EK@( z#}$B@cfs5aiFQ0h1H8jHTm^w78Tjfz>BQm+x#tGMGEC{1$?={WFgbGJ@Ms(}Ikw<1 z>IW^h{fQus)XalO1Nq&97P#eqE~M-GmKV1`|L1IUluurI8s86WSm zcV8+k&kz{iD~D{@lS#-=T&wm_Oqyi}3_ngN=y|f40Qo&Ttg?`xSD3p&HjWXZvr9V*Q*>hV`zTWzL?(3J?8H%x{ zwUfbA01o6% z!W51DeCro=1F zs^Z_wo?B$t%(Pu99plDKCM2VQyQ- z8&8E;ZEX-b^OV(HVt-XuSyg}0@SCfDM&uK=oyZ4BAG>%WbpWe+aP9!|nBwu` z3aqQ4CLa6n)JQAL-2@K2(5D07BZ`M*R6^L3saA3=O}M*Gj^0q?j`vl7->Ks^5p9ov z55gWZJ7LucTXrn(Q62`tA7*XmLWvFb#xO$CBa;rc)&ce8zWPA!1=G5yJ@>Hi=-Ro%U#y)pgs7imN71Ir~y24$e?!bph(7 zqvW4^S3g$Cl8WlHH1X_Z+AfYa&2{j;ayh|fN{H7k#+Bv+Vqd@hkUY)F)4`N?+c&VY zM2#o@#SF7|D{uVh5Z9Z`FyP_V>dd%g1N!cHC5xyk%< zUaOls7~iXpm*d%cv#(~XIknC#V#NkeTkR9K3Q|1v_?DdbfZU3$zc6#eWxi3dH0{5Y zsC{j}@7Wxk3$s@}=?mMKVA72DS4ZyYt^ZC>kL>zERR1woED-r)bua4M;}aIBrx&iL zQH^?N>rrP9;bn8*=nIP!|c(9Lu_ zj)Md&O3grX59mjR9k}#B`vmmKZk~kxP2F`agkwVqfL%TC<)Fwt)M~ zUk04n{n?3(xG~&+%v}rGy-|94o7$QO4q8+8?G9e85+7U2V>w3n8k%}@Irhd{%e%bF zrmbv^p}W3+5H2P$D|5#}&5DPY=~)wX-)7~p(j`3$Xnr3Yn_Qd}4$qZ*;@D(bkW!db zcm9lJSH$9Y^9Q@kxSg7XrV@eP-}yu*H=1gO%ndH=p3+n5BQwi3=Z217>EvQ%vw#Z` z*~+00^n1rEUR8`WD|zq5|3NxDKC6A9QMFSPzhQFSjyK8{D{rRg-ag_OlHsCkwexoT zz-G&ABh`^?`@hrF3-}%9+HrPnq%IyyeJt`t01qAgz`&hyeuD7k$q=lN<(VS!SL(GI zWa8n0yI^09@bMU1(9E5($1<4i2c$lccNOY&$zi7jax z4~=cM3^S!0t*N&@$$RN=tZiyy`Ul>bS6B1pnA$#!S6oKe%xrgwonEX=ch`6mzwJs} zWs6ny?ejWW{l|C>O7@jBwvtK0oGf$kaJAL1@9!y4^I^WUyb#e+D!z)B^-8vDdc3V# z%*EvDc5kM=?2~w3=K`5553fsZ0h*5k;7kYm_$W-`0Tcxm3p()C8bSlt;`d` z6Rqzu>KQM}uN;y#`D%r1FZ*tjoJKb%xi~!KjN$ybH@y`}S~dU+Im$FW!uMhBRS(D~p)GsN;aah-~c zyHm9NK*k0q>mV76)>84_8rn?7tv&VJ4D#-fbq~fJbsUGIbSP;9@*XDfxUUDu3j?vj zqcg%`Jh=BFNgEN=3zYxRW*-6nBNPBe{gv&W#9)5k7svCm#vnfo+(&7^5Hn%KTiQk$O=O1u#jdy1%XaB~fiYggTf$w$vrdB^J;^$@Wa+iJm zpd?9JFK*@R8RMBN++&UWH2wM>M$+xnd9=+j(T}gk8~C#~6m>~9=4W)wtx@8;U1Khk z?b;hLiFd>D(~5Mr$d$!Q;+^8HR34bgw#RL{V-ul&Iy5NTTlGfW%rc3FlZ?#^Z?DyPaEuOP zeWrlommkU;Gw+8t??(f@Wk*Gf{HivogoX7@FE=K( zT#lV(&IsaHyH1Xq)lr$ZjhEk&tN-Y%O3sC;9l0TsJ`ao9%}P_>5b)k|+kINAnM-uQ z_@?TWlNagzAYW6MRpz59wwRvKdu(E6_O8!mH`RMTJ+Clnab-l;gXS4}w4P|+FV<_* zPe}dFP@WiFJZJavAkEh?H^O#TrLTU|{{F>=>vbE|I`Zqe?3-0l>gzfJ>5~;I^fX** zK5W!jnlekQ`|Q@xOF0(1Is#%`@z(l>&=ElYXExskK_5Vm7F7}GMW`MBRipr5=wpsY zQeK#|6Ktspq&%tSQR9ww(5ahj_`VcEKjnZN5Ik{!f?5MW)(baT1*_^XvBSjxEyJKn zKqY=;=;II$YUNS(hRoazgys>`V(K=VTA6RYZ2+yl*nzDEfh zQIGGVnI6sUZbc*9k1_p-hbn2;M`3#Nj<#ger+cO(Sl{RsuUXmZ5*JP|J&Qw&Q@dRm z%;(+D&DDQ;RwYt>T1R&H*7tkllUk>0&h(pP)w8j9rkZt~)LvhoP{{>W;?aR;YA#+Y z_s^VkODFxgou=OAyS&wv7umW}SIe*Q#nv=rW!yGxn%TdHp~jwda&7K3L$BRx+-lpT z#q+~2etzOy!cE`Dim~&W4z3NzUCy1g*#Y9in>S z-C1I76#z~iq9E2*k5Mkp5-A+vVY%-@P0@NALN^N3!7(}T>mgG|)$s`6RA^)SUUXvj zXILFhQ^0x*Byz57b!&)SetPdVh~tb6>PA0FOKTe^H)5E6ese{X*ls|&d2?s~MomEa zeC4v>p1xM`IIZT&;IdxToLt=pXI0)#nA(xOZ0ZrOMu%jN>@VGK^_`NPdR2dCq(NJ? zaer5KAnlD~y-5ML#AW7n{Ty!%`NU^ZV1%C+7OdRpvLFohQT#?V1^29;x z8fsJLT6sOwdB^Zzn>()eG)nO!<2t#9Hi5r>+Hhb` zhpA&~wN~S7#>_^y{x|o7ZKv|hos#@dIH-iQOW4RLKJ?A_z1zwFM=HzgZbQ zbuU*4S*mFBQhlavL}^|fQ?Ti}bQU(?MH+Km8&^?a|M3m^0aW9Kbwtk?+en&I6}e!o zjj{*>>KvVghig&ThZ`wChYUG%b^^9wP?HWZI^s~gaJ~j&9a(Y0R$Xu^4oB*QtLlO) zks^DpLotufK?C4LlsY(b=%y_st106b0I1a>9nHyb+2VIUnRGh=~ z4S{^n01opveEA3~4&`d^tu?#8+4*8@*jQseTEwPpWR0Gnck8X^R`n^f7Ot(k9m*7w z<(bcx+CF1>bumj*^4pqTlj!`(Rt6i>yqNTkwu1}a*6=Pgxg4;Y7p9vP#a-FCKZJJj zym+z)JAo5)t3ZNPc5T1kjFs*Er&V2j9eJMd`fP$+gtPWn|UEJN8G;c)Z*C% zw@L($uMInBw_u&B8Q)3wy4_->2_aI+9o*T$@#pfk%FVx)qGv04a_lAs?W2V$_D%owy508Mr|c4j;;3-4@GqpmP|q5l#3KOGwKCm!Dc{4v2=? z8bUN`xnZOR={Zc{qUaVr1A(E9yY9b3-UGPaz@b?4o-Hm{5<(lZzp6c!|BreU2JXnI zjR^B;DYtd5F+C2>ogQ}nrDHYkn1MnV&6qEn=8&ywVy>%G+A3$3&Mpit?eZy_>$H;V z>#+VZ`>3I!zfMnIA1lt9%?-Pm@VGl}1M^K(>7|Igc-JqZf0NixrR)SVkgEr}EhK0?FfV)Hu^7 zE!n?Grm?ipvq+V>{o3>M_>SCOLt#`#b_l}dW~$Lm?8pK7@cCE~sQ($94+C%P!-2}j z%3jd84>=Zza869!964y=6*gkfT}ZV41~iZCcI3mMRd#X_Mqt9BgghvC2+4thM_F04 z*)Gz!BgY+IlcSE;sc{;So9|iV`8at031}Y0<^k2{O&6HAp`Eya_n(##??0ho8!W|O zY@?T-s1LdTutnTB{QlEug8rkWJOKOV7MHe!@N@fP|G9^sua46g5#h2s+uogO?#P)l zJ*=V!?#OBCDTIA6;zzeP%}Hhdw<lxnrIV+GSQ*T@>Hohf~AjT>4^v)CIFZB6~m_<{A+0{`DV-2OB z-)_k4%{gkXBxCkAPNIvUYVzjJ>)k0CMnt1^H%rp zc;){YRy(Yme2Kgi2}Hg&9`CXL-=Z9|`7mN0tUBz|jXrJ1ZrvbqcO+~(V%qK~xc`h+ zWQLMECUmF)kdlQXb5I8G%T1)b7rga0v<9G94cdrB*?H8(Q^#!7`;kE9u;q>rFVOZu z#8C@$(E{$o!VVn1M@1d1qsLrex(1tYSn3bDFefrvBT0Ptxf*WaM+QA{+G4HgooJiu zUwE`8t!m8LSyy3Q=OleB%yB z&3)`i6XX)6@VMG)jr#n={PgVn*;lug${w><)3{=x&o(}0Z%Kb=QRCz7&d{UJF^doS zO_#-#YN)hHPCxFO5YC!3fnBTW&1K6~>xi>xnTP0KO#Sd~v$nnAs{E~Csk8{^v-uOY z#WZTJ?2a{6IV9D)Shc$<|FvwJiNE{f7}L7yP0uzi54TQ~SuG{TFPb)-To<+7J~jkL z1uXSDLD$sWD-OgVq85qD0BIvl4u2x>0#PGbKGc^R)|8`;)9}eD-;e6b~duXo5_f;P@-C&JKM#+IRyvlUFK;vStKAQFQv7&$O z8*O(+w%t-E@2Gf?+1EaO&UBCTt031)bQL^a81cDnj&qXPugbi8TMJ2;ze@<+n|)CB zFah%hWsPr0m^T>H`z?ZfsyU6CbUCwlcC=f@ar$(l3UBXehcjts*nZ6Y^f~#Fl5;i6 zd_!fd%xF7x&XgwZJ48SIR;)g``iRB_Ywf~i zSIRtH=+X%~a>0|W)ML<)n@jdv2%~en=>k(W(CbL7qX*g0>x=MME7QRP@VOD30uu3-iTQi8(`f}HvCq`_4iUR4 z{i#KSkE|O*n=THB=k8@xq)Uj)PxvHEG1oyZ`mlPFM`w-L6>eLmd1`kIleOJ`gPd$g z>~gkZwVLNTkF$1?Q>Jjb_8p)v-ouDDcUE4BQb6cF1^r047Wwyl z6o|)lU|1DD!1m9! zZF*Uhl$NVH-KVn5u{uIyo`TO?p!)VE)fD#otA$M*4hj6IMAfwHZ297?rPUGcM>Q^3 z=%>g%Xl8HW(OJf(VR>8w8MazkUkNwfL+_$jomt;3Zs3&F8G+Yz_|{?Uhn}teYH2*3 zb?&FiD`2eZBU()#n|oXViGez_0uuciz0r=BI`$c?gK6yMm%+?jT(O!fjj&a zBc7`ALEj4`zHpZn5RX6)aL0&8Gk9?15$MUR4FP?D)@L%|aLp373p!^(!8-B$Ds=3y z;g0Uupwat4LY7242z}Us!B4yhZFd3CArp_2H9+|2C>`2xM+O}arg3D)P9B&gXdfM| z!k`D6j!eZ8XDCr57MgbACVT|s=7?2yY|!Bh?C^sAkEJ{uts)lO5Zu2_+gf>W-`JZj zgWhx*^n%*c+Mxzl}k1wi%1`Xu6w+neSlv)>a`4~X}%i4TmHYEaSB(O^GV z(W!7)!f(H0prH$E{ubs*mhx+QqZz%3%PE}Z&M%`CrE@lA{&bzYUOq*kT%n>t-#Ft) z@uthJe3j20>26|oxuzW2`C_Vyk8wt5yxrwz@z$SnxO#q*V{B-}Puz}AsH(p9#rhMh zqhd;@g4KVxud<&bsi4Rd-@Zm=UWLe=8r69gBJ(!<*FQ6OqxSfN zfR4dEN`sF@0G0dkcVy3_HlK*$2z5R|_GE*P=5q+vu_>w*zG6eXy$np>5)+JseRvc1bI;*0YSWv%1931t1+W~Z+!K963_Tro$V*<|S5 zBkO#Hy)IO{x6E6rVYZ3hyjY`Zu6u%EVYTT^hZP5`b(UzhvE|iT*jp0)8HF!aun*A= z@q&5#PXuNg$+ftN*UARRS@^v1I@tO1VFO)PS*hSCLw|;0Sn1D20ruC~dvs^g4;j-R zIfbPMUuA1YEIB*zN|!t*AZ%a3mlDQHx0U?HFmj(FE90=+YtDj_`4aH_a^1^E&6#@A sv~kvOk!tLpv0q^97a02m#(sgZUtsJP82bgreu1%HVC)z82mJ#758*`Ll>h($ literal 0 HcmV?d00001 diff --git a/package/plugin-gargoyle-theme-flat-blue/files/www/themes/flat-blue/theme.css b/package/plugin-gargoyle-theme-flat-blue/files/www/themes/flat-blue/theme.css new file mode 100644 index 0000000000..b3cad43210 --- /dev/null +++ b/package/plugin-gargoyle-theme-flat-blue/files/www/themes/flat-blue/theme.css @@ -0,0 +1,805 @@ +/* + * Based on the Bootswatch.com Theme "superhero" by Thomas Park + * Customised for Gargoyle by Michael Gray + */ +#garg_title +{ + font-size: 40px; +} +li.list-group-item span:last-child +{ + float: right; + text-align: right; +} +.list-group-item +{ + overflow-x: auto; +} +.list-group +{ + padding-left:0; +} +html +{ + overflow-x: hidden; +} +html, body, .full-height +{ + height: 100%; +} +body +{ + background: #2B3E50; + font-size:12px; + color: #FFFFFF; + font-family: "Lato", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; +} +#content +{ + background: #2B3E50; + width: 100%; + left: 0; + margin-top: 128px; +} +#content .row > div +{ + margin-bottom: 15px; +} +fieldset +{ + margin: 10px; + padding: 10px; +} +legend +{ + font-weight: bold; + color: #888AB8; + width: auto; + border-bottom: 0; + margin-bottom: 0; +} +.green +{ + background: #23ae89 !important; +} +.blue +{ + background: #2361ae !important; +} +.orange +{ + background: #d3a938 !important; +} +.red +{ + background: #ae2323 !important; +} +@media screen and (max-width: 991px) +{ + .row-offcanvas + { + position: relative; + left: 0; + top: 0; + -webkit-transition: top 0.25s ease-in-out; + -moz-transition: top 0.25s ease-in-out; + -o-transition: top 0.25s ease-in-out; + transition: top 0.25s ease-in-out; + } + .row-offcanvas.active + { + top: 30%; + } + .sidebar-header + { + float: none !important; + margin: 0px 0px 0px -100px !important; + padding: 0 !important; + left: 50%; + position: absolute !important; + text-align: center; + } + .major-sidebar-item + { + display: block !important; + position: relative !important; + top: 65px; + text-align: center; + } + .major-sidebar-item>a + { + padding: 0px 75px !important; + } + ul.sidebar-list.active + { + position: relative !important; + top: 0 !important; + left: 0 !important; + display: block; + } + .minor-sidebar-item.active + { + padding: 0px 15px !important; + } + .minor-sidebar-item>a + { + padding: 0px 15px !important; + margin-top: 10px; + } + #garg_title + { + font-size: 30px; + } +} +@media screen and (max-width: 767px) +{ + .row-offcanvas + { + position: relative; + left: 0; + -webkit-transition: top 0.25s ease-in-out; + -moz-transition: top 0.25s ease-in-out; + -o-transition: top 0.25s ease-in-out; + transition: top 0.25s ease-in-out; + } + .row-offcanvas.active + { + top: 55%; + } +} +#sidebar +{ + z-index: 4; + padding-left: 0; + padding-right: 0; + right: 0; + width: 100%; + position: absolute; + height: 128px; + background: #4E5D6B; + overflow-y: auto; + -webkit-overflow-scrolling: touch; +} +.avatar +{ + display: none; +} +.sidebar-footer +{ + display: none; +} +h1.page-header +{ + color: #FFFFFF; + text-indent: 10px; +} +.page-header +{ + background: #4E5D6B; + margin-top: 20px; + padding: 10px 0 10px; + border: none; +} +@media screen and (max-width: 991px) +{ + #sidebar + { + top: -30%; + height: 30%; + position: absolute; + padding: 0px; + } + #content + { + margin-top: 0 !important; + } +} +@media screen and (max-width: 767px) +{ + #sidebar + { + top: -55%; + height: 55%; + position: absolute; + padding: 0px; + } + #content + { + margin-top: 0 !important; + } +} +#topnavbar +{ + z-index: 3; + margin-right: -15px; + margin-left: -15px; + border-radius: 0px; + margin-bottom: 0; +} +.sidebar-toggle +{ + float: left; + margin-left: 10px; + margin-right: 10px; +} +.navbar-brand +{ + padding-top: 20px; + display: none; +} +@media screen and (max-width: 991px) +{ + .navbar-brand + { + position: absolute; + width: 100%; + left: 0; + top: 0; + text-align: center; + } + .navbar-toggle + { + z-index: 1; + } +} +@media screen and (min-width: 992px) +{ + .navbar-right + { + margin-right: -30px; + } + div#topnavbar + { + display: none; + } + .page-header + { + margin-top: 10px; + } +} +#row-offcanvas > .container-fluid +{ + padding-left: 0; + padding-right: 0; +} +.btn:not(.btn-default), #bottom_button_container > .btn +{ + font-weight: bold; +} +.btn:hover:not(.btn-default), #bottom_button_container > .btn:hover +{ + font-weight: bold; +} +#bottom_button_container +{ + text-align: center; + padding-top: 10px; + padding-bottom: 10px; + margin-left: 0px; +} +#login_status.alert +{ + background: #F2F2F2; + border-radius: 5px; +} +label +{ + font-weight:normal; +} +input +{ + font-size:11px; + padding:2px; + display:inline; +} +select +{ + font-size:11px; + padding:2px; + width:auto; + display:inline; +} +button +{ + display:inline; +} +.form-group +{ + margin-bottom:8px; +} +.form-control +{ + padding:2px; + font-size:11px;; + width:auto; + display:inline; +} +.btn +{ + padding:4px 6px; + font-size:12px; + display:inline; +} +.short-left-pad +{ + padding-left:2px; +} +.second_row_right_column +{ + margin-top:4px; + margin-bottom:8px; +} +.indent +{ + margin-left:15px; + display:block; +} +.form-group-sm select.form-control +{ + height: 25px; + line-height: 25px; +} +.form-group-lg select.form-control +{ + height: 25px; + line-height: 25px; +} +select.form-control +{ + height: 25px; + line-height: 25px; + max-width: 100%; +} +.form-group-sm input.form-control +{ + height: 25px; + line-height: 25px; +} +.form-group-lg input.form-control +{ + height: 25px; + line-height: 25px; +} +input.form-control +{ + height: 25px; + line-height: 25px; + max-width: 100%; +} +.btn-lg +{ + padding:10px 16px; + font-size:22px; + border-radius: 0; +} +.navbar-toggle +{ + padding:9px 10px; + background-color: #E6E6E6 !important; +} +.table-striped>tbody>tr:nth-of-type(even) +{ + background-color: #4A5967; +} +.table-striped>tbody>tr:nth-of-type(odd) +{ + background-color: #2D4050; +} +.header_row +{ + background-color: #BDC4C9; + color: #2D4050; + font-weight: bold !important; +} +th +{ + font-weight: bold; +} +.bandwidth_title_text +{ + color: inherit; +} +.textarea-lg +{ + width: 100%; + min-height: 70px; +} +@media (min-width:1200px) +{ + .brk-lg + { + display:block; + clear:both; + } + .brk-md + { + display:none; + clear:none; + } + .brk-sm + { + display:none; + clear:none; + } + .brk-xs + { + display:none; + clear:none; + } + +} +@media (min-width:992px) +{ + .brk-lg + { + display:block; + clear:both; + } + .brk-md + { + display:block; + clear:both; + } + .brk-sm + { + display:none; + clear:none; + } + .brk-xs + { + display:none; + clear:none; + } +} +@media (min-width:768px) +{ + .brk-lg + { + display:block; + clear:both; + } + .brk-md + { + display:block; + clear:both; + } + .brk-sm + { + display:block; + clear:both; + } + .brk-xs + { + display:none; + clear:none; + } +} + +.panel +{ + background-color: #4E5D6B; + border-color: #4E5D6B; + border-radius: 0; +} +.panel-default>.panel-heading +{ + background-color: #5B6976; + color: #FFFFFF; +} +.panel-heading +{ + border: none; +} +.btn +{ + border: none; + border-radius: 0; + transition: 0.25s; +} +.btn:hover +{ + transition: 0.5s; + border: none; +} +.btn-default +{ + background-color: #E56A2D; + color: #FFFFFF; + border: none; +} +.btn-default:hover +{ + background-color: #C15A27; + color: #FFFFFF; +} +.btn-default.disabled:hover +{ + background-color: #E56A2D; +} +.btn-primary +{ + background-color: #E56A2D; + color: #FFFFFF; +} +.btn-primary:hover +{ + background-color: #C15A27; + color: #FFFFFF; +} +.btn-primary.disabled:hover +{ + background-color: #E56A2D; +} +.btn-secondary +{ + background-color: #4E5D6B; + color: #FFFFFF; +} +.btn-secondary:hover +{ + background-color: #3F4B56; + color: #FFFFFF; +} +.btn-secondary.disabled:hover +{ + background-color: #4E5D6B; +} +.btn-success +{ + background-color: #4FB765; + color: #FFFFFF; +} +.btn-success:hover +{ + background-color: #3AA553; + color: #FFFFFF; +} +.btn-success.disabled:hover +{ + background-color: #4FB765; +} +.btn-info +{ + background-color: #4BBEDB; + color: #FFFFFF; +} +.btn-info:hover +{ + background-color: #1BB2D4; + color: #FFFFFF; +} +.btn-info.disabled:hover +{ + background-color: #4BBEDB; +} +.btn-warning +{ + background-color: #F4AC5A; + color: #FFFFFF; +} +.btn-warning:hover +{ + background-color: #F29D40; + color: #FFFFFF; +} +.btn-warning.disabled:hover +{ + background-color: #F4AC5A; +} +.btn-danger +{ + background-color: #DF5452; + color: #FFFFFF; +} +.btn-danger:hover +{ + background-color: #D83836; + color: #FFFFFF; +} +.btn-danger.disabled:hover +{ + background-color: #DF5452; +} +.panel-title +{ + font-size: 20px; +} +.alert +{ + border-radius: 0; + border: none; + color: #FFFFFF; +} +.alert-primary +{ + background-color: #E56A2D; + color: #FFFFFF; +} +.alert-secondary +{ + background-color: #4E5D6B; + color: #FFFFFF; +} +.alert-success +{ + background-color: #4FB765; + color: #FFFFFF; +} +.alert-info +{ + background-color: #4BBEDB; + color: #FFFFFF; +} +.alert-warning +{ + background-color: #F4AC5A; + color: #FFFFFF; +} +.alert-danger +{ + background-color: #DF5452; + color: #FFFFFF; +} +.pseudo_link +{ + color: #E56A2D; +} +.pseudo_link:hover +{ + color: #9D4B36; +} +a +{ + color: #E56A2D; + font-weight: bold; +} +a:hover +{ + color: #9D4B36; + font-weight: bold; +} +.form-control +{ + border-radius: 0; +} +.form-control.disabled +{ + background-color: #4E5D6B; + color: #FFFFFF !important; +} +.internal_divider +{ + border-color: #FFFFFF; +} +ul.nav.sidebar +{ + margin: 0; + list-style-type: none; +} +ul.sidebar-list.active +{ + margin: 0; + position: absolute; + top: 54px; + left: 215px; + padding: 0; + font-weight: bold; +} +.sidebar-header +{ + float: left; + margin: -6px 5px 5px 10px; + padding: 10px; + width: 200px; + height: 100px; +} +.major-sidebar-item +{ + display: inline; + position: static; +} +.major-sidebar-item>a +{ + display: inline; + color: #FFFFFF; + padding: 15px 20px; + font-size: 20px; + top: 10px; + position: relative; +} +.major-sidebar-item.active>a +{ + background: #E56A2D; +} +.major-sidebar-item>a:hover +{ + background: #808B96; +} +.minor-sidebar-item +{ + display: -webkit-flex; + -webkit-flex-wrap: wrap; + display: inline-flex; + flex-wrap: wrap; +} +.minor-sidebar-item.active +{ + background: #E56A2D; + padding: 10px 15px; +} +.minor-sidebar-item.active:hover +{ + background: #E56A2D; + color: #FFFFFF; +} +.minor-sidebar-item>a +{ + display: inline; + color: #FFFFFF; + font-size: 12px; + padding: 10px 15px; +} +.minor-sidebar-item>a:hover +{ + background: #808B96; + text-decoration: none; +} +.minor-sidebar-item>a:empty +{ + display: none; +} +code +{ + border-radius: 0; +} +.nav>li +{ + position:static; + display:inline; +} +.nav>li>a +{ + display:inline; + padding:15px 20px; +} +.nav>li>a:hover +{ + background: #808B96; +} +.tabField +{ + margin-top: 16px; + background: #233544; +} +.nav-tabs +{ + border-bottom: none; + margin-top: 20px; +} +.nav-tabs>li>a +{ + background: #233544; +} +#wait_msg +{ + background-color: #2D4050; + border-radius: 0; + border-style: solid; + border-color: #233544; +} +#spectrum_plot +{ + background: #FFFFFF; +} +#plot1_title +{ + color: #4BBEDB; +} +#plot2_title +{ + color: #DF5452; +} +#plot3_title +{ + color: #4FB765; +} From bd2f7be7cfa10fbdad5152afc217bb35adde00dd Mon Sep 17 00:00:00 2001 From: Michael Gray Date: Tue, 27 Feb 2018 17:12:24 +1100 Subject: [PATCH 3/4] Fix invalid function --- package/gargoyle/files/www/js/svg_bandwidth.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/gargoyle/files/www/js/svg_bandwidth.js b/package/gargoyle/files/www/js/svg_bandwidth.js index 654ca87df8..80b90741e9 100644 --- a/package/gargoyle/files/www/js/svg_bandwidth.js +++ b/package/gargoyle/files/www/js/svg_bandwidth.js @@ -35,7 +35,7 @@ function init(evt) themeFontFamily = bodyStyle.fontFamily; for(var x = 1; x < 4; x++) { - var titleEl = window.parent.getElementById("plot" + x + "_title"); + var titleEl = window.parent.document.getElementById("plot" + x + "_title"); if(titleEl != null) { var titleColour = window.getComputedStyle(titleEl).color; From 98ddb86fe8162299928e4f2a80b63415f85fa116 Mon Sep 17 00:00:00 2001 From: Michael Gray Date: Tue, 27 Feb 2018 17:24:52 +1100 Subject: [PATCH 4/4] Remove duplicated header/footer call --- package/gargoyle/files/www/bandwidth_expand.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/gargoyle/files/www/bandwidth_expand.sh b/package/gargoyle/files/www/bandwidth_expand.sh index 1a8752b21f..7ac2c06b09 100755 --- a/package/gargoyle/files/www/bandwidth_expand.sh +++ b/package/gargoyle/files/www/bandwidth_expand.sh @@ -6,7 +6,7 @@ # itself remain covered by the GPL. # See http://gargoyle-router.com/faq.html#qfoss for more information eval $( gargoyle_session_validator -c "$COOKIE_hash" -e "$COOKIE_exp" -a "$HTTP_USER_AGENT" -i "$REMOTE_ADDR" -r "login.sh" -t $(uci get gargoyle.global.session_timeout) -b "$COOKIE_browser_time" ) - gargoyle_header_footer -m -c "internal.css" -j gargoyle_header_footer -m -c "internal.css" + gargoyle_header_footer -m -c "internal.css" %>