From 1fe9ded0fc6ed31cf49b7f7e62a30594492bc6de Mon Sep 17 00:00:00 2001 From: m-lopez-f <miguel.lopez@artica.es> Date: Mon, 13 Feb 2017 16:06:17 +0100 Subject: [PATCH] Add changes of visual mobile version of pandora. Gitlab: #148 --- .../images/os_icons/so_big_icons/android.png | Bin 0 -> 1602 bytes .../images/os_icons/so_big_icons/embedded.png | Bin 0 -> 1151 bytes .../images/os_icons/so_big_icons/network.png | Bin 0 -> 2605 bytes .../os_icons/so_big_icons/satellite.png | Bin 0 -> 3099 bytes .../images/os_icons/so_big_icons/so_aix.png | Bin 0 -> 3938 bytes .../images/os_icons/so_big_icons/so_bsd.png | Bin 0 -> 2232 bytes .../images/os_icons/so_big_icons/so_cisco.png | Bin 0 -> 2041 bytes .../images/os_icons/so_big_icons/so_hpux.png | Bin 0 -> 2895 bytes .../images/os_icons/so_big_icons/so_linux.png | Bin 0 -> 7214 bytes .../images/os_icons/so_big_icons/so_mac.png | Bin 0 -> 2561 bytes .../os_icons/so_big_icons/so_mainframe.png | Bin 0 -> 900 bytes .../images/os_icons/so_big_icons/so_other.png | Bin 0 -> 3354 bytes .../os_icons/so_big_icons/so_router.png | Bin 0 -> 1642 bytes .../os_icons/so_big_icons/so_solaris.png | Bin 0 -> 2360 bytes .../os_icons/so_big_icons/so_switch.png | Bin 0 -> 2461 bytes .../os_icons/so_big_icons/so_vmware.png | Bin 0 -> 1574 bytes .../images/os_icons/so_big_icons/so_win.png | Bin 0 -> 1014 bytes pandora_console/include/functions_ui.php | 16 +- .../include/style/jquery.mobile-1.3.1.css | 64 +++++-- pandora_console/mobile/include/style/main.css | 156 +++++++++++++--- pandora_console/mobile/include/ui.class.php | 44 ++--- pandora_console/mobile/operation/agent.php | 176 +++++++++++------- pandora_console/mobile/operation/agents.php | 2 +- pandora_console/mobile/operation/events.php | 8 +- .../mobile/operation/module_graph.php | 27 ++- pandora_console/mobile/operation/modules.php | 115 ++++++++---- pandora_console/mobile/operation/tactical.php | 2 +- 27 files changed, 409 insertions(+), 201 deletions(-) create mode 100644 pandora_console/images/os_icons/so_big_icons/android.png create mode 100644 pandora_console/images/os_icons/so_big_icons/embedded.png create mode 100644 pandora_console/images/os_icons/so_big_icons/network.png create mode 100644 pandora_console/images/os_icons/so_big_icons/satellite.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_aix.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_bsd.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_cisco.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_hpux.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_linux.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_mac.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_mainframe.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_other.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_router.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_solaris.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_switch.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_vmware.png create mode 100644 pandora_console/images/os_icons/so_big_icons/so_win.png diff --git a/pandora_console/images/os_icons/so_big_icons/android.png b/pandora_console/images/os_icons/so_big_icons/android.png new file mode 100644 index 0000000000000000000000000000000000000000..73565a78baffa19b8ed8919e4e151660e40cb811 GIT binary patch literal 1602 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 AX8-^I literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/embedded.png b/pandora_console/images/os_icons/so_big_icons/embedded.png new file mode 100644 index 0000000000000000000000000000000000000000..e26b016f24ddc035127456459f111708c373fcf2 GIT binary patch literal 1151 zcmV-_1c3XAP)<h;3K|Lk000e1NJLTq003kF003kN1^@s72j!*00000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU$AxT6*RCwBAU>N2gO?Tpd7>&kmpx96* zax~LV6YT?n{s16=hGPQVk1KAlMj%a+3ln`4B+;H8TmT?|MiKQ2WgvDyV(-V26dI7& z0=SX}Be{8m7%=N{J|oVOl$zBOb;@|UR3t<I7Fq@wQH2W*wgV8)C!}t80)PM-MWbMt z)+O(e>WO~jq6S)@2q3Y~qt`RU7LWo+>;f$E$YKVB9L<RAdNjkSUujXh^c|j+)~F?e zyCHFb-i?U=*m@}F-DZ61hzTx1Al`tKYY!mF9RP~K`sN3qYC&KD5F3t`{G$L400L+f zje=1y3P!<z07i0K&(KQV5nC%Axfzcp*9dDE;L-zaoz&y(5|HYVK|U~>2=w3rTn$GI zPY@d#bneE2+%_NDyrXY3d)V|BMm;j>kx`F~dW7~hJ1qw8s0a*!b=(DNHBlA-4NJu4 zX*^AoK%m?PsQ7&#rGTZ0k^rsnNNS>tf>AIEM#0bm00G!HqZ<TaAPn>10I-1znCJ$$ zfoz~Jz8W`h1l_<5bOc9m16Sw>wy~0?>FKE?7X7}EK->I*pDPbNt{eaW008hms2BFj z(Qar@mwQ`EFhu<`dph{0v164&6DBg+WW_UH$!pD(hU=iY3a(3~rWEv@8R_5D^3}X` zt`D8cbx9GabAJ1-;4<zTJeaTT&(4etxMy>-W&E?>2u3i15sY92BN)L5M!sXD?2{2` zVU_#-?6qBDY&8*CWNhLbn-C)+L}^n9)t^xWr*`a=S~4p&$x7BPKX#*iV{d58hxgPQ z@!{MTw~aiL#8h<suCCVvnx?pI4sv5vq-g?8Xuk6ON3RC}008JKR{`2P+na`AAPifm z1294u00|}_-Jndszy78hkPYZ2j1V?pgpAM;=qaZvxaW_!t_b3J)c%R$I_EdGrQDk< z9{>OV00000001cBYLy4J_j~abi%GiGLz1lRVlNzM`d+;J;uw*Hu$;S_CWnnS8||mj zLm%!uIc)XwqHU7>Xe?qY*yP5tC_#<^yy_rXoXT8yZDNj>yJMTdXcK$=;H+4cw)s&e z!{g++$c&|W_WxQ2t(YgODfqpbZJLU)-2VCu@uoYZk!5Y~&%BET@$Feqgt_!iS<Tp> zeK8(m8z-3ikCbv+*Vse+wX#QyEM||<4P&+}5ClO0K@bEG1VI2n5CjkeK>$GjLH-J> z%=7%GmaXPTdWJBFJRzT*Kbn)EYTZ~A4aykYm_s^L5o97v<3{(zlMCmR8y8OT9-N&g zXcIHk3gjVj4TF9!?WZJ`={0;>W{YZqWQz6{nXYEljD+iCZRMmBu9I%^XR^ipl*F>c zP5nJ^cgh_VstePFek)=S2(|gL#893igWCsU3C)5XD=`2700000008_~z5!=f!tZ~L Ra>4)r002ovPDHLkV1mS9{s;g7 literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/network.png b/pandora_console/images/os_icons/so_big_icons/network.png new file mode 100644 index 0000000000000000000000000000000000000000..9b1aee5f717557282ec6104bbdec53111c3cbf38 GIT binary patch literal 2605 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 P00000NkvXXu0mjfrbo8x literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/satellite.png b/pandora_console/images/os_icons/so_big_icons/satellite.png new file mode 100644 index 0000000000000000000000000000000000000000..8fba3d7ff0ad9fdba8b1dbc14a2f35f34011b9d3 GIT binary patch literal 3099 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 literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_aix.png b/pandora_console/images/os_icons/so_big_icons/so_aix.png new file mode 100644 index 0000000000000000000000000000000000000000..7e0971b14c069e648fd9fd5b2b0b24a3380a34ca GIT binary patch literal 3938 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 literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_bsd.png b/pandora_console/images/os_icons/so_big_icons/so_bsd.png new file mode 100644 index 0000000000000000000000000000000000000000..f5a476a6fab8828b773f36830bb1a22b58a9bd00 GIT binary patch literal 2232 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 GLSTXpZumq1 literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_cisco.png b/pandora_console/images/os_icons/so_big_icons/so_cisco.png new file mode 100644 index 0000000000000000000000000000000000000000..661f248f2beca2eb3f7778ad90c85d4ac7080923 GIT binary patch literal 2041 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 XUz}%dpng#w00000NkvXXu0mjfQEJG( literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_hpux.png b/pandora_console/images/os_icons/so_big_icons/so_hpux.png new file mode 100644 index 0000000000000000000000000000000000000000..e9bab8b268329c94eeb6ce6416a2c94ad655aba8 GIT binary patch literal 2895 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 literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_linux.png b/pandora_console/images/os_icons/so_big_icons/so_linux.png new file mode 100644 index 0000000000000000000000000000000000000000..2a5f17525351de11468d5e5a1ba0aaf50b8aa5ae GIT binary patch literal 7214 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 literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_mac.png b/pandora_console/images/os_icons/so_big_icons/so_mac.png new file mode 100644 index 0000000000000000000000000000000000000000..9dbbf22f6a096e46e3503fbf6762e52e67402b84 GIT binary patch literal 2561 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 Xz7>_i$tf@F00000NkvXXu0mjfo@$c| literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_mainframe.png b/pandora_console/images/os_icons/so_big_icons/so_mainframe.png new file mode 100644 index 0000000000000000000000000000000000000000..73ce9d6240eb863ec0c1d84b3249c0cb9b42be67 GIT binary patch literal 900 zcmV-~1AF|5P)<h;3K|Lk000e1NJLTq003kF003kN1^@s72j!*00000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#CP_p=RCwBAV4xRZMCQoK%Kpct@bTlv zaJ4MR60EGOMA^iIt_g+(3-_S#kpYTLY;0@{`1nLQ50`UsYWhR0CS>RQp_}tWwq$|? zNOK<50YCr^l7vc8BBe|NF~K|PB$^~bfB>R@`a=d%Qc?}18uskjvj&nZk(ZbMPpTyk zA3kIx7$L+&4qx6*hEJ2+NwOTLCHRsIu~o_7umo3d{UaltlkAh9^a!q>^aw8AqrD8Q zv<@!TPxo=wk^>3=0%#Nsp;8!M`<R$^Gf_#HiHV77!G+TjW@cupS;B<R5^NaM;KwCL zvQO{@7pXx>R&bFTlmlzY@DHwk^a!qh^a!p$qp54qr7lowh33J<{{9X~a_|-Pbg^Xk z0Du4*MWcY;4PjhBT3Y%)JskG*=~I&2#zLwEgSDs`xgH_4W)~>f4W>U#a2*~oLhG0u zxgH_6Gfd4+^k|HXCavL=wEhm4r1f_+X^m#~(Nb$<BrW0188D5b&G<o;v_`=w7@`0m z0Q+W)0}u>_;ny%af;+g3`?!EZxrbFc8cY^SOcGNYmG=3*7z_r#_oZGQ<p6-Z@SgpK z{2UR$V67dZwkXD!?xTksH%O|zR!Bt%LK{y-UJ6pyjZ|%aohSEw#7C`r=;VeEJ{7rN z8(Yc$20<;<LM_zNtCna{OSGsZTGVpq%{wh>In+u>t(_MlLE^1is6`M~E!4_Kt#X;J zO+eYJRcxyi^Z002^6RxeglRlMPzwOy<Pe~p`^O;|jN>r=#-A8$5-uRF;sOrg8q6kF zaTKFjM}u9I#MGpT7~1|`{X8*sFnIEP+P4EA004j{X#B+5*1tov#J(tsU8uwQ&&Gqk zrHBe4eG}sKmxT~Qh-7_aPo`-&UskR?u4h8JTF7XzO4H4ua_xRx6VjECy06YXk$ESp z=Eu+dsV?({3@k*lBula+ixA0@EDMn=$s(lPgh*Dbg`{_~N(+f3BoPuRS*2vfOO~5@ zuw)SuC|OU*axf&s!O&Bdg-DiUNtUN9$s(j>A>-R6%}(3z9V6s_5@I2Q5F%Ny5C8xG a^qCjv+G@!gtFT-E0000<MNUMnLSTZ5U6nZi literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_other.png b/pandora_console/images/os_icons/so_big_icons/so_other.png new file mode 100644 index 0000000000000000000000000000000000000000..c7ed94f485a433f2fff30454ebea1094471389ff GIT binary patch literal 3354 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 literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_router.png b/pandora_console/images/os_icons/so_big_icons/so_router.png new file mode 100644 index 0000000000000000000000000000000000000000..441b2416f7ddac706af3138da5dcc74124291e3e GIT binary patch literal 1642 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 literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_solaris.png b/pandora_console/images/os_icons/so_big_icons/so_solaris.png new file mode 100644 index 0000000000000000000000000000000000000000..0055c2dc90cfff98deeb3e8d5fb69d0a76bc73bd GIT binary patch literal 2360 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 literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_switch.png b/pandora_console/images/os_icons/so_big_icons/so_switch.png new file mode 100644 index 0000000000000000000000000000000000000000..73de4894d46c5cdb5933a4221d8def88ad2dab04 GIT binary patch literal 2461 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 bU?h$|)M6B-(Ark_00000NkvXXu0mjfxXNVh literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_vmware.png b/pandora_console/images/os_icons/so_big_icons/so_vmware.png new file mode 100644 index 0000000000000000000000000000000000000000..90bc0a7783ea5d4bcc169699b67051554a418710 GIT binary patch literal 1574 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 Y1%pnS(oXXo%m4rY07*qoM6N<$f;&8_c>n+a literal 0 HcmV?d00001 diff --git a/pandora_console/images/os_icons/so_big_icons/so_win.png b/pandora_console/images/os_icons/so_big_icons/so_win.png new file mode 100644 index 0000000000000000000000000000000000000000..c46d4e8bac5421687037601f4501d377ef8accd5 GIT binary patch literal 1014 zcmV<S0}1?zP)<h;3K|Lk000e1NJLTq003kF003kN1^@s72j!*00000PbVXQnQ*UN; zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBU#m`OxIRCwBAV4xRZB&ed|+I}GE0A_b+ zfz`7hN&Y9+CMI&6N0ufQBGnxrN0Y<A_z9s26bF!aXk-{P03d({I-yov1I5dJ<UnG< zC4no^GSNIDS!j_c9R|V=9a;zAaY8~FKpOxMKqDoQBhqs{INtH3Wefl<xiJ$JdIq5q zV4_EG(Zv#cdGG@eU%-+V4^Yz*0rX6cE#r@@IANqnHzdjT1F-?Vd_orh5J017D3-$b zQ&$7DgeIXBCS(vPMLo`9g+>+i@F`YCEul$2i=-wmDV7|-Q6o~d`gI^td^B~9T7oZi zp|>z9t{FgEBMy{ULYGQw6p#b}0%#PCf<f6vr4@kmtU%Zwqj!a)7-6A<qXK|rJP-#A zd}|2e7*OaW5N$Fd<kk;tvyMh%MMJuBAN9znM@Bs|3g}R?Q(FAO>Je&>1L3IINAt+2 zM@Bs|LOjBPr*t>~F4Yiy1A7Jv$2tbK84vN$0SfHcK<mE9Q0O6Irh?Idrcpp&01$wk zGq_<81fwubI)Eee?8$CmC+G@Y!3{im>_~1<Mk);$jq$IE1%dj#=#3CQ#pFHYhYKNu z5{tU=?8(J>v-^Tc?TtmbZ8MGG2K;b?^<pT`fd^Yno^BP_#;*@_>Qal@6nLeRN3suA znQb6u@c|G(009ILKmf_gYwfFfeT*cn{#~aH?zjKaU*Q6j%_Fu(*Qd1UxA8T#>OgJz z*Z~0q5I_I{1d!u^*sT&*b2sX@y(kIfk*?G(13U$XTq~)nAgf?C?i^}`7M~+sc3H&_ zn-IIQ72f3V1IQa>oTxia*(J!~#D?HCC-G!|lp=(VthWH|+|O;oFcg4s4!$!2?UhSM zAft2>t{sC>7=;lSp|OHn2t>%_FV^o9K7~lp`|KCR&$b@`0Kgd77c<QFYHV=^B7UIn zR_!Wk20=vs0-J*PD6o?e3h%X5-PWx@FPiWsflWR2RHuN$)%D`eG!7G`ffU$HE8pgF ztlOdF%o$$nwcnQ<n*xm)M@ST~7rJq9I1M2ngb)xy2nZnrgb)Hk&`Ey9@P7ukAI&0X zpu7=Mt>!!a{<cQF`~p>WP2D@hOC5v|0zwD@A%uVsLO=)x6%x<pI|<!5<S!*{PL%k3 z`oG~9S`*TXpKTmT$CvKymU%8+NO@b@n({yry1A12F~iejPrut^*gY!0E@G=Gh1g@* kH^ttIv~LCg0AO+a0w)^2=^tM;&Hw-a07*qoM6N<$f+tO^!T<mO literal 0 HcmV?d00001 diff --git a/pandora_console/include/functions_ui.php b/pandora_console/include/functions_ui.php index ad3bafc2f4..f16e65bd13 100755 --- a/pandora_console/include/functions_ui.php +++ b/pandora_console/include/functions_ui.php @@ -615,20 +615,20 @@ function ui_print_group_icon_path ($id_group, $return = false, $path = "images/g */ function ui_print_os_icon ($id_os, $name = true, $return = false, $apply_skin = true, $networkmap = false, $only_src = false, - $relative = false, $options = false) { + $relative = false, $options = false, $big_icons = false) { - - - $subfolter = 'os_icons'; + $subfolder = 'os_icons'; if ($networkmap) { - $subfolter = 'networkmap'; + $subfolder = 'networkmap'; } + if ($big_icons) + $subfolder .= '/so_big_icons'; $icon = (string) db_get_value ('icon_name', 'tconfig_os', 'id_os', (int) $id_os); $os_name = get_os_name ($id_os); if (empty ($icon)) { if ($only_src) { - $output = html_print_image("images/" . $subfolter . "/unknown.png", + $output = html_print_image("images/" . $subfolder . "/unknown.png", true, $options, true, $relative, false, true); } else { @@ -637,13 +637,13 @@ function ui_print_os_icon ($id_os, $name = true, $return = false, } else if ($apply_skin) { if ($only_src) { - $output = html_print_image("images/" . $subfolter . "/" . $icon, true, $options, true, $relative, false, true); + $output = html_print_image("images/" . $subfolder . "/" . $icon, true, $options, true, $relative, false, true); } else { if (!isset($options['title'])) { $options['title'] = $os_name; } - $output = html_print_image("images/" . $subfolter . "/" . $icon, true, $options, false, $relative, false, true); + $output = html_print_image("images/" . $subfolder . "/" . $icon, true, $options, false, $relative, false, true); } } else diff --git a/pandora_console/mobile/include/style/jquery.mobile-1.3.1.css b/pandora_console/mobile/include/style/jquery.mobile-1.3.1.css index 3d226a605e..b3a3a4c38e 100755 --- a/pandora_console/mobile/include/style/jquery.mobile-1.3.1.css +++ b/pandora_console/mobile/include/style/jquery.mobile-1.3.1.css @@ -708,19 +708,19 @@ a.ui-link-inherit { /* Active class used as the "on" state across all themes -----------------------------------------------------------------------------------------------------------*/ .ui-btn-active { - border: 1px solid #2373a5 /*{global-active-border}*/; + border: 1px solid #82B92E /*{global-active-border}*/; background: #5393c5 /*{global-active-background-color}*/; font-weight: bold; color: #fff /*{global-active-color}*/; cursor: pointer; - text-shadow: 0 /*{global-active-shadow-x}*/ 1px /*{global-active-shadow-y}*/ 0 /*{global-active-shadow-radius}*/ #3373a5 /*{global-active-shadow-color}*/; + text-shadow: 0 /*{global-active-shadow-x}*/ 1px /*{global-active-shadow-y}*/ 0 /*{global-active-shadow-radius}*/ #82B92E /*{global-active-shadow-color}*/; text-decoration: none; - background-image: -webkit-gradient(linear, left top, left bottom, from( #5393c5 /*{global-active-background-start}*/), to( #6facd5 /*{global-active-background-end}*/)); /* Saf4+, Chrome */ - background-image: -webkit-linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); /* Chrome 10+, Saf5.1+ */ - background-image: -moz-linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); /* FF3.6 */ - background-image: -ms-linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); /* IE10 */ - background-image: -o-linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); /* Opera 11.10+ */ - background-image: linear-gradient( #5393c5 /*{global-active-background-start}*/, #6facd5 /*{global-active-background-end}*/); + background-image: -webkit-gradient(linear, left top, left bottom, from( #82B92E /*{global-active-background-start}*/), to( #82B92E /*{global-active-background-end}*/)); /* Saf4+, Chrome */ + background-image: -webkit-linear-gradient( #82B92E /*{global-active-background-start}*/, #82B92E /*{global-active-background-end}*/); /* Chrome 10+, Saf5.1+ */ + background-image: -moz-linear-gradient( #82B92E /*{global-active-background-start}*/, #82B92E /*{global-active-background-end}*/); /* FF3.6 */ + background-image: -ms-linear-gradient( #82B92E /*{global-active-background-start}*/, #82B92E /*{global-active-background-end}*/); /* IE10 */ + background-image: -o-linear-gradient( #82B92E /*{global-active-background-start}*/, #82B92E /*{global-active-background-end}*/); /* Opera 11.10+ */ + background-image: linear-gradient( #82B92E /*{global-active-background-start}*/, #82B92E /*{global-active-background-end}*/); font-family: Helvetica, Arial, sans-serif /*{global-font-family}*/; } .ui-btn-active:visited, @@ -1042,9 +1042,9 @@ a.ui-link-inherit { } .ui-focus, .ui-btn:focus { - -moz-box-shadow: inset 0 0 3px #387bbe /*{global-active-background-color}*/, 0 0 9px #387bbe /*{global-active-background-color}*/; - -webkit-box-shadow: inset 0 0 3px #387bbe /*{global-active-background-color}*/, 0 0 9px #387bbe /*{global-active-background-color}*/; - box-shadow: inset 0 0 3px #387bbe /*{global-active-background-color}*/, 0 0 9px #387bbe /*{global-active-background-color}*/; + -moz-box-shadow: inset 0 0 3px #82B92E /*{global-active-background-color}*/, 0 0 9px #82B92E /*{global-active-background-color}*/; + -webkit-box-shadow: inset 0 0 3px #82B92E /*{global-active-background-color}*/, 0 0 9px #82B92E /*{global-active-background-color}*/; + box-shadow: inset 0 0 3px #82B92E /*{global-active-background-color}*/, 0 0 9px #82B92E /*{global-active-background-color}*/; } .ui-input-text.ui-focus, .ui-input-search.ui-focus { @@ -1123,10 +1123,29 @@ div.ui-mobile-viewport { overflow-x: hidden; } .ui-header > .ui-btn-icon-notext, .ui-header-fixed.ui-fixed-hidden > .ui-btn-icon-notext { top: 6px; } .ui-header-fixed > .ui-btn-icon-notext { top: 7px;} -.ui-header .ui-title, .ui-footer .ui-title { min-height: 1.1em; text-align: center; font-size: 16px; display: block; margin: .6em 30% .8em; padding: 0; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; outline: 0 !important; } -.ui-footer .ui-title { margin: .6em 15px .8em; } +.ui-header .ui-title, .ui-footer .ui-title { + min-height: 1.1em; + text-align: center; + font-size: 16px; + display: block; + margin: .6em 30% .8em; + padding: 0; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + outline: 0 !important; +} +.ui-footer .ui-title { + margin: .6em 15px .8em; +} + /* content area*/ -.ui-content { border-width: 0; overflow: visible; overflow-x: hidden; padding: 15px; } +.ui-content { + border-width: 0; + overflow: hidden; + overflow-x: hidden; + padding: 5px 5px 0px 5px; +} /* corner styling for dialogs and popups */ .ui-corner-all > .ui-header:first-child, .ui-corner-all > .ui-content:first-child, @@ -2128,7 +2147,7 @@ label.ui-submit { font-size: 16px; line-height: 1.4; font-weight: normal; margin .ui-field-contain .ui-btn.ui-submit { width: 78%; display: inline-block; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; } .ui-hide-label .ui-btn.ui-submit { width: auto; display: block; } } -.ui-collapsible-inset { margin: .5em 0; } +.ui-collapsible-inset { margin: .5em 2px 1px; width:99%;} .ui-collapsible-heading { font-size: 16px; display: block; margin: 0 -15px; padding: 0; position: relative; } .ui-collapsible-inset .ui-collapsible-heading { margin: 0; } .ui-collapsible-heading .ui-btn { text-align: left; margin: 0; border-left-width: 0; border-right-width: 0; } @@ -2294,7 +2313,7 @@ label.ui-submit { font-size: 16px; line-height: 1.4; font-weight: normal; margin padding: 0; } .ui-dialog-contain > .ui-content { - padding: 15px; + padding: 5px 5px 0px 5px; } .ui-dialog-contain > .ui-footer { z-index: 10; @@ -3120,7 +3139,7 @@ div.ui-slider-switch.ui-mini { } } /* Breakpoint to show as a standard table at 560px (25em x 16px) or wider */ -@media ( min-width: 25em ) { +@media ( min-width: 34.99em ) { /* Fixes table rendering when switching between breakpoints in Safari <= 5. See https://github.com/jquery/jquery-mobile/issues/5380 */ .ui-table-reflow.ui-responsive { display: table-row-group; @@ -3143,7 +3162,7 @@ div.ui-slider-switch.ui-mini { } /* Hack to make IE9 and WP7.5 treat cells like block level elements, scoped to ui-responsive class */ /* Applied in a max-width media query up to the table layout breakpoint so we don't need to negate this*/ -@media ( max-width: 25em ) { +@media ( max-width: 34.98em ) { .ui-table-reflow.ui-responsive td, .ui-table-reflow.ui-responsive th { width: 100%; @@ -3153,6 +3172,15 @@ div.ui-slider-switch.ui-mini { float: left; clear: left; } + #list_agent_Modules.ui-table-reflow.ui-responsive td.cell_0 { + width: 52% !important; + } + #list_agent_Modules.ui-table-reflow.ui-responsive td.cell_1 { + width: 15% !important; + } + #list_agent_Modules.ui-table-reflow.ui-responsive td.cell_4 { + width: 33% !important; + } } /* panel */ .ui-panel { diff --git a/pandora_console/mobile/include/style/main.css b/pandora_console/mobile/include/style/main.css index 0c123564a7..5af548f7d0 100755 --- a/pandora_console/mobile/include/style/main.css +++ b/pandora_console/mobile/include/style/main.css @@ -34,6 +34,10 @@ body { } +.agent_graphs, .events_bar { + padding-top: 10px; +} + #tactical1 *, #tactical2 * { font-weight: bold; } @@ -520,11 +524,32 @@ table.event_details td.cell_event_name { } .agent_details { - line-height: 35px; + padding: 10px 0px 10px 0px; +} +.agent_details > img { + vertical-align: middle; + width: 20px; +} +.agent_os{ + float: right; + position: absolute; + top: 0px; + right: 0px; + padding: 10px; } -.agent_details img { - float: left; +.agent_list_ips { + padding: 10px 0px 10px 0px; +} +.agent_list_ips > img { + vertical-align: middle; + width: 20px; +} +.agent_last_contact { + padding: 10px 0px 10px 0px; +} +.agent_description { + padding: 10px 0px 10px 0px; } .agent_name { @@ -544,8 +569,8 @@ table.event_details td.cell_event_name { } #list_agents td { - height: 35px; - padding-top: 20px; + height: 25px; + padding-top: 10px; } .agents_tiny_stats_tactical { @@ -554,7 +579,33 @@ table.event_details td.cell_event_name { width: 100%; } -@media screen and (max-width: 25em) { +@media screen and (max-width: 34.99em) { + #list_agents td { + height: 35px; + padding-top: 7px; + display: table-cell; + clear: none; + padding-left: 0px !important; + padding-right: 0px !important; + } + + #list_agents td.cell_0 { + width: 45%; + border-top: 0px none; + } + #list_agents td.cell_0>span.tiny>img { + width: 5px; + height: 30px; + margin-top: -6px; + margin-left: 0px; + } + #list_agents td.cell_5 { + width: 30%; + } + #list_agents td.cell_6 { + width: 25%; + } + #list_agents .cell_2 .ui-table-cell-label, #list_agents .cell_3 .ui-table-cell-label, #list_agents .cell_6 .ui-table-cell-label, @@ -572,7 +623,6 @@ table.event_details td.cell_event_name { #list_agents .cell_2, #list_agents .cell_3, - #list_agents .cell_6, #list_agents .cell_7 { display: inline !important; float: none !important; @@ -594,7 +644,7 @@ table.event_details td.cell_event_name { } #list_agents .show_collapside { - display: inline !important; + display: none !important; } #list_agents .cell_1, @@ -605,16 +655,24 @@ table.event_details td.cell_event_name { } #list_agents .cell_0 .ui-link { - font-size: 15px; + font-size: 12px; } #list_agents .cell_6 .show_collapside { - display: inline !important; + display: none !important; } .agents_tiny_stats * { font-size: 12px !important; } + + #list_agent_Modules td { + padding-top: 7px !important; + } + + .agents_tiny_stats { + float: right; + } } /* For mobiles */ @@ -738,7 +796,7 @@ table.event_details td.cell_event_name { /*END-----------Visual maps styles---------------------------------------*/ /*INIT-----------Modules styles---------------------------------------*/ -@media screen and (max-width: 25em) { +@media screen and (max-width: 34.99em) { #list_Modules .cell_1 .ui-table-cell-label, #list_Modules .cell_5 .ui-table-cell-label, #list_Modules .cell_6 .ui-table-cell-label { @@ -755,7 +813,17 @@ table.event_details td.cell_event_name { #list_Modules .cell_3 .ui-table-cell-label, #list_Modules .cell_4 .ui-table-cell-label, #list_Modules .cell_5 .ui-table-cell-label { - display: none; + display: none !important; + } + + #list_Modules td { + height: 35px; + padding-top: 7px; + display: table-cell; + clear: none; + float: none; + padding-left: 0px !important; + padding-right: 0px !important; } #list_Modules .show_collapside { @@ -766,18 +834,43 @@ table.event_details td.cell_event_name { white-space: nowrap; } + #list_Modules .cell_1, #list_Modules .cell_2, #list_Modules .cell_3 { display: none !important; } #list_Modules .cell_0 .show_collapside, - #list_Modules .cell_1 .show_collapside { + #list_Modules .cell_1 .show_collapside, + #list_Modules .cell_4 .show_collapside, + #list_Modules .cell_5 .show_collapside { display: none !important; } #list_Modules .cell_0 .ui-link { - font-size: 15px; + font-size: 12px; + } + + #list_Modules .cell_0{ + width: 50%; + border-top: 0px none; + } + #list_Modules .cell_4{ + width: 25%; + } + #list_Modules .cell_5{ + width: 25%; + } +} + #list_Modules td.cell_0>span.tiny>img { + width: 5px; + height: 30px; + margin-top: -5px; + margin-left: 0px; + float: left; + } + #list_Modules .module_name { + font-size: 12px !important; } } @@ -795,6 +888,10 @@ table.event_details td.cell_event_name { padding-top: 20px; } +#list_agent_Modules td.cell_0 > span.tiny { + display: none; +} + #list_Modules .cell_5 img { float: left; } @@ -809,7 +906,7 @@ table.event_details td.cell_event_name { line-height: 20px; } -@media screen and (max-width: 25em) { +@media screen and (max-width: 34.99em) { #list_agent_Modules .ui-table-cell-label, #list_agent_Modules .cell_2, #list_agent_Modules .cell_3 { @@ -877,7 +974,7 @@ li.ui-btn { float: left; } -@media screen and (max-width: 25em) { +@media screen and (max-width: 34.99em) { .ui-table th, .ui-table td { padding: 8px !important; padding-left: 3px; @@ -924,7 +1021,7 @@ li.ui-btn { height: 28px !important; } -@media screen and (max-width: 25em) +@media screen and (max-width: 35em) { .events .status_row { display: none; @@ -939,12 +1036,12 @@ li.ui-btn { min-width: 50%; } - .agents_tiny_stats, .agents_last_contact { + .agents_last_contact { float: right; } } -@media screen and (min-width: 25em) +@media screen and (min-width: 35em) { .events .cell_0 .event_link{ display: none; @@ -1028,7 +1125,7 @@ li.ui-btn { } .event_name { - font-size: 18px !important; + font-size: 15px !important; } .login_logo img { @@ -1050,7 +1147,7 @@ li.ui-btn { } .event_name { - font-size: 15px; + font-size: 12px; font-weight: bold; } @@ -1199,6 +1296,11 @@ span.nobold * { line-height: 1.1em; } +.events_timestamp > img { + vertical-align: middle; + margin-left: 10px; +} + .events_agent { float: left; } @@ -1258,3 +1360,15 @@ DIV.nodata_container { .ui-table-reflow.ui-responsive { display: table !important; } + +.widget_agent_module > th { + background-color: #373737; +} +#list_agent_Modules >tbody > tr > td { + clear: none; + vertical-align: middle; + padding: 0px; +} +#list_agent_Modules > tbody > tr > td.cell_0 { + border-top: 0px none; +} \ No newline at end of file diff --git a/pandora_console/mobile/include/ui.class.php b/pandora_console/mobile/include/ui.class.php index 23a41b049d..2ef68dc749 100755 --- a/pandora_console/mobile/include/ui.class.php +++ b/pandora_console/mobile/include/ui.class.php @@ -780,6 +780,7 @@ class Table { foreach ($data as $id => $row) { $table_row = array(); foreach ($row as $key => $value) { + if (!in_array($key, $this->head)) { $this->head[] = $key; } @@ -843,45 +844,40 @@ class Table { $html = ''; $html = "<table data-role='table' id='" . $this->id . "' " . - "data-mode='reflow' class='" . $this->class_table . " ui-responsive table-stroke'>\n"; + "data-mode='reflow' class='" . $this->class_table . " ui-responsive table-stroke'>"; - $html .= "<thead>\n"; - $html .= "<tr>\n"; - //Empty head for white space between rows in the responsive vertical layout - $html .= "<th class='head_horizontal'></th>\n"; - foreach ($this->head as $head) { - $html .= "<th class='head_horizontal'>" . $head . "</th>\n"; + if ($this->head) { + $html .= "<thead>"; + $html .= "<tr>"; + //Empty head for white space between rows in the responsive vertical layout + //~ $html .= "<th class='head_horizontal'></th>"; + foreach ($this->head as $head) { + $html .= "<th class='head_horizontal'>" . $head . "</th>"; + } + $html .= "</tr>"; + $html .= "</thead>"; } - $html .= "</tr>\n"; - $html .= "</thead>\n"; - $html .= "<tbody>\n"; + $html .= "<tbody>"; foreach ($this->rows as $key => $row) { $class = ''; if (isset($this->rowClass[$key])) { $class = $this->rowClass[$key]; } - $html .= "<tr class='" . $class . "'>\n"; + $html .= "<tr class='" . $class . "'>"; //Empty head for white space between rows in the responsive vertical layout - if (isset($this->row_heads[$key])) { - $html .= "<th class='head_vertical'>" . $this->row_heads[$key] . "</th>\n"; - } - elseif ($this->row_keys_as_head_row) { - $html .= "<th class='head_vertical'>" . $key . "</th>\n"; - } - else { - $html .= "<th class='head_vertical' style='font-size: 0px'></th>\n"; - } + foreach ($row as $key_cell => $cell) { - $html .= "<td class='cell_" . $key_cell . "'>" . $cell . "</td>\n"; + $html .= "<td class='cell_" . $key_cell . "'>" . $cell . "</td>"; } - $html .= "</tr>\n"; + + $html .= "</tr>"; } - $html .= "</tbody>\n"; - $html .= "</table>\n"; + $html .= "</tbody>"; + $html .= "</table>"; return $html; } diff --git a/pandora_console/mobile/operation/agent.php b/pandora_console/mobile/operation/agent.php index 2bb7877278..5a765eaedb 100644 --- a/pandora_console/mobile/operation/agent.php +++ b/pandora_console/mobile/operation/agent.php @@ -114,92 +114,123 @@ class Agent { $ui->showFooter(false); $ui->beginContent(); if (empty($this->agent)) { - $ui->contentAddHtml('<span style="color: red;">' . __('No agent found') . '</span>'); + $ui->contentAddHtml('<span style="color: red;">' . + __('No agent found') . '</span>'); } else { $ui->contentBeginGrid(); - if ($this->agent['disabled']) { - $agent_name = "<em>" . $agent_name . "</em>" . ui_print_help_tip(__('Disabled'), true); - } - else if ($this->agent['quiet']) { - $agent_name = "<em>" . $agent_name . " " . html_print_image("images/dot_green.disabled.png", true, array("border" => '0', "title" => __('Quiet'), "alt" => "")) . "</em>"; - } - else { - $agent_name = $agent_name; - } - - - if ($system->getConfig('metaconsole')) { - metaconsole_connect(null, $this->agent['id_tmetaconsole_setup']); - $addresses = agents_get_addresses($this->agent['id_tagente']); - } - else - $addresses = agents_get_addresses($this->id); - - if ($system->getConfig('metaconsole')) - metaconsole_restore_db(); - - $address = $this->agent['direccion']; - foreach ($addresses as $k => $add) { - if ($add == $address) { - unset($addresses[$k]); - } - } - $ip = html_print_image('images/world.png', true, array('title' => __('IP address'))) . ' '; - $ip .= empty($address) ? '<em>' . __('N/A') . '</em>' : $address; - if (!empty($addresses)) { - $ip .= ui_print_help_tip(__('Other IP addresses').': <br>'.implode('<br>',$addresses), true); - } - $ip .= '<br />'; - - $last_contact = '<b>' . __('Last contact') . '</b>: ' - .ui_print_timestamp ($this->agent["ultimo_contacto"], true) . '<br />'; - - $description = '<b>' . __('Description') . ':</b><br>'; - if (empty($agent["comentarios"])) { - $description .= '<i>' . __('N/A') . '</i>'; - } - else { - $description .= $this->agent["comentarios"]; - } - - - $html = '<div class="agent_details">'; - $html .= ui_print_group_icon ($this->agent["id_grupo"], true, "groups_small", "", false) . ' '; - $html .= '<span class="agent_name">' . $agent_name . '</span><br />'; - $html .= $ip; - $html .= $last_contact; - $html .= $description; - $html .= '</div>'; + if ($this->agent['disabled']) { + $agent_name = "<em>" . $agent_name . "</em>" . + ui_print_help_tip(__('Disabled'), true); + } + else if ($this->agent['quiet']) { + $agent_name = "<em>" . $agent_name . " " . + html_print_image("images/dot_green.disabled.png", + true, array("border" => '0', "title" => __('Quiet'), "alt" => "")) . "</em>"; + } + else { + $agent_name = $agent_name; + } + + if ($system->getConfig('metaconsole')) { metaconsole_connect(null, $this->agent['id_tmetaconsole_setup']); - } + //~ $addresses = agents_get_addresses($this->agent['id_tagente']); + } + else + $addresses = agents_get_addresses($this->id); + + if ($system->getConfig('metaconsole')) + metaconsole_restore_db(); + + $address = $this->agent['direccion']; + //~ foreach ($addresses as $k => $add) { + //~ if ($add == $address) { + //~ unset($addresses[$k]); + //~ } + //~ } + + //~ $ip = html_print_image('images/world.png', + //~ true, array('title' => __('IP address'))) . + //~ ' '; + $ip .= empty($address) ? '<em>' . __('N/A') . + '</em>' : $address; + + //~ if (!empty($addresses)) { + //~ $ip .= ui_print_help_tip(__('Other IP addresses') . + //~ ': ' . implode(', ',$addresses), true); + //~ } + + $last_contact = '<b>' . __('Last contact') . + '</b>: ' . + ui_print_timestamp ($this->agent["ultimo_contacto"], true); + + //~ $description = '<b>' . __('Description') . ':</b> '; + if (empty($agent["comentarios"])) { + $description .= '<i>' . __('N/A') . '</i>'; + } + else { + $description .= $this->agent["comentarios"]; + } + + $html = '<div class="agent_details" style:"float:left;">'; + $html .= '<span class="agent_name">' . $agent_name . + '</span>'; + $html .= '</div>'; + $html .= '<div class="agent_os">' . ui_print_os_icon ($this->agent["id_os"], false, true, + true, false, false, false, false, true) . '</div>'; + $html .= '<div class="agent_list_ips">'; + $html .= $ip . ' - ' . + groups_get_name ($this->agent["id_grupo"], true); + $html .= '</div> + <div class="agent_last_contact">'; + $html .= $last_contact; + $html .= '</div> + <div class="agent_description">'; + $html .= $description; + $html .= '</div>'; + + if ($system->getConfig('metaconsole')) { + metaconsole_connect(null, + $this->agent['id_tmetaconsole_setup']); + } + $ui->contentGridAddCell($html, 'agent_details'); - ob_start(); - $html = '<div class="agent_graphs">'; - $html .= "<b>" . __('Modules by status') . "</b><br />"; - $html .= graph_agent_status ($this->id, 160, 160, true); - $graph_js = ob_get_clean(); - $html = $graph_js . $html; - unset($this->agent['fired_count']); - if ($this->agent['total_count'] > 0) { - $html .= '<span class="agents_tiny_stats agents_tiny_stats_tactical">' . reporting_tiny_stats($this->agent, true) . ' </span><br>'; - } - $html .= "<b>" . __('Events (24h)') . "</b><br /><br />"; - $html .= '<div id="events_bar"></div>'; - $html .= '<br>'; - $html .= '</div>'; + + ob_start(); + + $html = '<div class="agent_graphs">'; + $html .= "<b>" . __('Modules by status') . "</b>"; + $html .= graph_agent_status ($this->id, 160, 160, true); + $graph_js = ob_get_clean(); + $html = $graph_js . $html; + + unset($this->agent['fired_count']); + + if ($this->agent['total_count'] > 0) { + $html .= '<div class="agents_tiny_stats agents_tiny_stats_tactical">' . + reporting_tiny_stats($this->agent, true, 'agent', ' ') . ' </div>'; + } + + $html .= '</div>'; + $html .= '<div class="events_bar">'; + $html .= "<b>" . __('Events (24h)') . "</b>"; + $html .= '<div id="events_bar"></div>'; + $html .= '</div>'; $ui->contentGridAddCell($html, 'agent_graphs'); $ui->contentEndGrid(); + if ($system->getConfig('metaconsole')) metaconsole_restore_db(); $modules = new Modules(); + if ($system->getConfig('metaconsole')) $filters = array('id_agent' => $this->agent['id_tagente'], 'all_modules' => true, 'status' => -1); else $filters = array('id_agent' => $this->id, 'all_modules' => true, 'status' => -1); + $modules->setFilters($filters); $modules->disabledColumns(array('agent')); $ui->contentBeginCollapsible(__('Modules')); @@ -208,19 +239,24 @@ class Agent { if ($system->getConfig('metaconsole')) { metaconsole_connect(null, $this->agent['id_tmetaconsole_setup']); - } + } + $alerts = new Alerts(); + if ($system->getConfig('metaconsole')) $filters = array('id_agent' => $this->agent['id_tagente'], 'all_alerts' => true); else $filters = array('id_agent' => $this->id, 'all_alerts' => true); + $alerts->setFilters($filters); $alerts->disabledColumns(array('agent')); $ui->contentBeginCollapsible(__('Alerts')); $ui->contentCollapsibleAddItem($alerts->listAlertsHtml(true)); $ui->contentEndCollapsible(); + if ($system->getConfig('metaconsole')) metaconsole_restore_db(); + $events = new Events(); $events->addJavascriptDialog(); diff --git a/pandora_console/mobile/operation/agents.php b/pandora_console/mobile/operation/agents.php index 3430d088b9..1a11e49108 100644 --- a/pandora_console/mobile/operation/agents.php +++ b/pandora_console/mobile/operation/agents.php @@ -325,7 +325,7 @@ class Agents { $row[7] = $row[__('Modules')] = '<span class="show_collapside" style="vertical-align: 0%; display: none; font-weight: bolder;">' . __('Modules') . ' </span>' . - '<span class="agents_tiny_stats">' . reporting_tiny_stats($agent, true) . ' </span>'; + '<span class="agents_tiny_stats">' . reporting_tiny_stats($agent, true, 'agent', ' ') . ' </span>'; $last_time = strtotime ($agent["ultimo_contacto"]); $now = time (); diff --git a/pandora_console/mobile/operation/events.php b/pandora_console/mobile/operation/events.php index 18977219e5..f17a655d2a 100644 --- a/pandora_console/mobile/operation/events.php +++ b/pandora_console/mobile/operation/events.php @@ -105,7 +105,7 @@ class Events { $status_icon = html_print_image($img_st, true, false, false, false, false, true); $row = array(); - $row[] = '<b class="ui-table-cell-label">' . __('Event Name') . '</b><a href="javascript: openDetails(' . $event['id_evento'] . ')"><div class="event_name">' . io_safe_output($event['evento']) . '</div></a>'; + $row[] = '<b class="ui-table-cell-label">' . __('Event Name') . '</b><a href="javascript: openDetails(' . $event['id_evento'] . ')"><div class="event_name">' . io_safe_output(str_replace(array(' ',''), ' ', $event['evento'])) . '</div></a>'; if ($event["id_agente"] == 0) { $agent_name = __('System'); @@ -115,7 +115,7 @@ class Events { } $row_1 = '<span class="events_agent">' . $agent_name . '</span>'; - $row_1 .= '<span class="events_timestamp">' . $status_icon . '<br>' . ui_print_timestamp ($event['timestamp_rep'], true, array('units' => 'tiny')) . '</span>'; + $row_1 .= '<span class="events_timestamp">' . ui_print_timestamp ($event['timestamp_rep'], true, array('units' => 'tiny')) . $status_icon . '</span>'; $row[] = $row_1; @@ -966,10 +966,10 @@ class Events { var new_rows = \"\"; $.each(data.events, function(key, event) { new_rows = \"<tr class='events \" + event[2] + \"'>\" + - \"<td class='cell_0'>\" + + \"<td class='cell_0' style='vertical-align:middle;'>\" + event[0] + \"</td>\" + - \"<td>\" + event[1] + \"</td>\" + + \"<td style='vertical-align:middle;'>\" + event[1] + \"</td>\" + \"</tr>\" + new_rows; }); diff --git a/pandora_console/mobile/operation/module_graph.php b/pandora_console/mobile/operation/module_graph.php index c1b18fb427..62da58e81f 100644 --- a/pandora_console/mobile/operation/module_graph.php +++ b/pandora_console/mobile/operation/module_graph.php @@ -84,7 +84,7 @@ class ModuleGraph { $this->height = (int)$system->getRequest('height', 0); //Sancho says "put the height to 1/2 for to make more beautyful" - //$this->height = $this->height / 2; + $this->height = $this->height / 1.5; $this->height -= 80; //Correct the height @@ -279,37 +279,34 @@ class ModuleGraph { ob_start(); ?> <script type="text/javascript"> - $(document).bind('ready', function() { + $(document).ready(function() { function load_graph() { $("#loading_graph").show(); - $("#graph_content").html($('#loading_graph').html()) - .height(($(window).height() + var heigth = $(document).height() - $(".ui-header").height() - $(".ui-collapsible").height() - - 55) + "px").width($(".ui-collapsible").width() + "px"); - - ajax_get_graph($("#id_module").val()); + - 55; + var width = $(document).width() - 25; + ajax_get_graph($("#id_module").val(), heigth, width); } load_graph(); // Detect orientation change to refresh dinamic content - $(window).on({ - orientationchange: function(e) { - // Reload dinamic content - load_graph(); - } + window.addEventListener("resize", function() { + // Reload dinamic content + load_graph(); }); }); - function ajax_get_graph(id) { + function ajax_get_graph(id, heigth_graph, width_graph) { postvars = {}; postvars["action"] = "ajax"; postvars["parameter1"] = "module_graph"; postvars["parameter2"] = "get_graph"; - postvars["width"] = $("#graph_content").width(); - postvars["height"] = $("#graph_content").height(); + postvars["width"] = width_graph; + postvars["height"] = heigth_graph; postvars["draw_alerts"] = ($("input[name = 'draw_alerts']").is(":checked"))?1:0; postvars["draw_events"] = ($("input[name = 'draw_events']").is(":checked"))?1:0; diff --git a/pandora_console/mobile/operation/modules.php b/pandora_console/mobile/operation/modules.php index 4513ee0fa5..8c4f02b97f 100644 --- a/pandora_console/mobile/operation/modules.php +++ b/pandora_console/mobile/operation/modules.php @@ -117,8 +117,8 @@ class Modules { } $this->status = $system->getRequest('status', __("Status")); - if (($this->status === __("Status")) || ($this->status == AGENT_MODULE_STATUS_NOT_NORMAL)) { - $this->status = AGENT_MODULE_STATUS_NOT_NORMAL; + if (($this->status === __("Status")) || ($this->status == AGENT_MODULE_STATUS_ALL)) { + $this->status = AGENT_MODULE_STATUS_ALL; } else { $this->default = false; @@ -443,8 +443,49 @@ class Modules { foreach ($modules_db as $module) { $row = array(); + $image_status = ''; + if ($module['utimestamp'] == 0 && (($module['module_type'] < 21 || + $module['module_type'] > 23) && $module['module_type'] != 100)) { + $image_status = ui_print_status_image(STATUS_MODULE_NO_DATA, + __('NOT INIT'), true); + } + elseif ($module["estado"] == 0) { + $image_status = ui_print_status_image(STATUS_MODULE_OK, + __('NORMAL') . ": " . $module["datos"], true); + } + elseif ($module["estado"] == 1) { + $image_status = ui_print_status_image(STATUS_MODULE_CRITICAL, + __('CRITICAL') . ": " . $module["datos"], true); + } + elseif ($module["estado"] == 2) { + $image_status = ui_print_status_image(STATUS_MODULE_WARNING, + __('WARNING') . ": " . $module["datos"], true); + } + else { + $last_status = modules_get_agentmodule_last_status( + $module['id_agente_modulo']); + switch($last_status) { + case 0: + $image_status = ui_print_status_image(STATUS_MODULE_UNKNOWN, + __('UNKNOWN') . " - " . __('Last status') . " " . + __('NORMAL') . ": " . $module["datos"], true); + break; + case 1: + $image_status = ui_print_status_image(STATUS_MODULE_UNKNOWN, + __('UNKNOWN') . " - " . __('Last status') ." " . + __('CRITICAL') . ": " . $module["datos"], true); + break; + case 2: + $image_status = ui_print_status_image(STATUS_MODULE_UNKNOWN, + __('UNKNOWN') . " - " . __('Last status') . " " . + __('WARNING') . ": " . $module["datos"], true); + break; + } + } + + $row[0] = - $row[__('Module name')] = + $row[__('Module name')] = '<span class="tiny" style="margin-right: 5px;">' . $image_status . '</span>' . '<span class="data module_name">' . ui_print_truncate_text($module['module_name'], 30, false) . "</span>"; @@ -455,6 +496,7 @@ class Modules { ui_print_truncate_text($module['agent_name'], 50, false) . '</span>'; } + if ($module['utimestamp'] == 0 && (($module['module_type'] < 21 || $module['module_type'] > 23) && $module['module_type'] != 100)) { $row[5] = $row[__('Status')] = ui_print_status_image(STATUS_MODULE_NO_DATA, @@ -559,34 +601,30 @@ class Modules { "&refr=" . $module["module_interval"]."','".$handle."','width=700, height=480')"; if ($is_snapshot) { - - if (is_image_data($module["datos"])) { - $row[7] = $row[__('Data')] = '<a href="javascript:' . $link . '">' . - html_print_image("images/photo.png", true, - array("border" => '0', - "alt" => "", - "title" => __("Snapshot view"))) . '</a> '; + if (is_image_data($module["datos"])) { + $row[7] = $row[__('Data')] = '<a href="javascript:' . $link . '">' . + html_print_image("images/photo.png", true, + array("border" => '0', + "alt" => "", + "title" => __("Snapshot view"))) . '</a> '; + } + else { + $row[7] = $row[__('Data')] = '<a href="javascript:' . $link . '">' . + html_print_image("images/default_list.png", true, + array("border" => '0', + "alt" => "", + "title" => __("Snapshot view"))) . '</a> '; + } + } + else { + $row[7] = $row[__('Data')] = '<span style="white-space: nowrap;">' . + '<span style="display: none;" class="show_collapside">' . + $row[__('Status')] . ' </span>' . + '<a data-ajax="false" class="ui-link" ' . + 'href="index.php?page=module_graph&id=' . + $module['id_agente_modulo'] . '&id_agent=' . + $this->id_agent . '">' . $output . '</a>' . '</span>'; } - else { - $row[7] = $row[__('Data')] = '<a href="javascript:' . $link . '">' . - html_print_image("images/default_list.png", true, - array("border" => '0', - "alt" => "", - "title" => __("Snapshot view"))) . '</a> '; - - } - } - else{ - - $row[7] = $row[__('Data')] = '<span style="white-space: nowrap;">' . - '<span style="display: none;" class="show_collapside">' . - $row[__('Status')] . ' </span>' . - '<a data-ajax="false" class="ui-link" ' . - 'href="index.php?page=module_graph&id=' . - $module['id_agente_modulo'] . '&id_agent=' . - $this->id_agent . '">' . $output . '</a>' . '</span>'; - - } /* @@ -643,12 +681,12 @@ class Modules { $ui->contentAddHtml($table->getHTML()); } else { - foreach ($listModules['modules'] as $key => $module) { - $listModules['modules'][$key][__('Status')] .= - '<span style="display: none;" class="show_collapside">' . - $listModules['modules'][$key][__('Data')] . - '</span>'; - } + //~ foreach ($listModules['modules'] as $key => $module) { + //~ $listModules['modules'][$key][__('Status')] .= + //~ '<span style="display: none;" class="show_collapside">' . + //~ $listModules['modules'][$key][__('Data')] . + //~ '</span>'; + //~ } $table = new Table(); $table->id = 'list_agent_Modules'; @@ -710,9 +748,8 @@ class Modules { else { $.each(data.modules, function(key, module) { $(\"table#list_Modules tbody\").append(\"<tr>\" + - \"<th class='head_vertical'></th>\" + - \"<td class='cell_1'><b class='ui-table-cell-label'>" . __('Module name') . "</b>\" + module[0] + \"</td>\" + - \"<td class='cell_0'><b class='ui-table-cell-label'>" . __('Agent name') . "</b>\" + module[1] + \"</td>\" + + \"<td class='cell_1'><b class='ui-table-cell-label'>" . __('Module name') . "</b>\" + module[1] + \"</td>\" + + \"<td class='cell_0'><b class='ui-table-cell-label'>" . __('Agent name') . "</b>\" + module[0] + \"</td>\" + \"<td class='cell_2'><b class='ui-table-cell-label'>" . __('Status') . "</b>\" + module[5] + \"</td>\" + \"<td class='cell_3'><b class='ui-table-cell-label'>" . __('Interval') . "</b>\" + module[4] + \"</td>\" + \"<td class='cell_4'><b class='ui-table-cell-label'>" . __('Timestamp') . "</b>\" + module[6] + \"</td>\" + diff --git a/pandora_console/mobile/operation/tactical.php b/pandora_console/mobile/operation/tactical.php index 0fdcf8e8a5..e1e6118ea4 100755 --- a/pandora_console/mobile/operation/tactical.php +++ b/pandora_console/mobile/operation/tactical.php @@ -207,7 +207,7 @@ class Tactical { } else { max_height = $('#tactical2 .tactical_set').height(); - $('#tactical1').height(max_height); + //~ $('#tactical1').height(max_height); } }