From d2617df147b257dddce1e20a8ccb3cbcc03ec4c6 Mon Sep 17 00:00:00 2001 From: daniel <daniel.barbero@artica.es> Date: Thu, 22 Sep 2016 10:55:57 +0200 Subject: [PATCH 1/2] Ticket integria:4063 fixed report alert for module, group, agent --- .../include/functions_reporting.php | 189 +++++++----------- 1 file changed, 73 insertions(+), 116 deletions(-) diff --git a/pandora_console/include/functions_reporting.php b/pandora_console/include/functions_reporting.php index 89cecfcca3..43ea87e9bd 100644 --- a/pandora_console/include/functions_reporting.php +++ b/pandora_console/include/functions_reporting.php @@ -2601,19 +2601,14 @@ function reporting_alert_report_group($report, $content) { $data_row['template'] = db_get_value_filter('name', 'talert_templates', array('id' => $alert['id_alert_template'])); - - $actions = db_get_all_rows_sql('SELECT name - FROM talert_actions - WHERE id IN (SELECT id_alert_action - FROM talert_template_module_actions - WHERE id_alert_template_module = ' . $alert['id_alert_template'] . ')'); + $actions = alerts_get_alert_agent_module_actions ($alert['id']); if (!empty($actions)) { $row = db_get_row_sql('SELECT id_alert_action FROM talert_templates WHERE id IN (SELECT id_alert_template FROM talert_template_modules - WHERE id = ' . $alert['id_alert_template'] . ')'); + WHERE id = ' . $alert['id'] . ')'); $id_action = 0; if (!empty($row)) @@ -2622,16 +2617,13 @@ function reporting_alert_report_group($report, $content) { // Prevent from void action if (empty($id_action)) $id_action = 0; - + } + else { $actions = db_get_all_rows_sql('SELECT name FROM talert_actions WHERE id = ' . $id_action); - - if (empty($actions)) { - $actions = array(); - } } - + $data_row['action'] = array(); foreach ($actions as $action) { $data_row['action'][] = $action['name']; @@ -2643,9 +2635,12 @@ function reporting_alert_report_group($report, $content) { $alert['id_alert_template'], (int) $content['period'], (int) $report["datetime"]); + if (empty($firedTimes)) { $firedTimes = array(); + $firedTimes[0]['timestamp'] = '----------------------------'; } + foreach ($firedTimes as $fireTime) { $data_row['fired'][] = $fireTime['timestamp']; } @@ -2675,8 +2670,6 @@ function reporting_alert_report_agent($report, $content) { if ($config['metaconsole']) { $id_meta = metaconsole_get_id_server($content["server_name"]); - - $server = metaconsole_get_connection_by_id ($id_meta); metaconsole_connect($server); } @@ -2700,87 +2693,69 @@ function reporting_alert_report_agent($report, $content) { $data = array(); - foreach ($alerts as $alert) { - $data_row = array(); - - $data_row['disabled'] = $alert['disabled']; - - $data_row['module'] = db_get_value_filter('nombre', 'tagente_modulo', - array('id_agente_modulo' => $alert['id_agent_module'])); - $data_row['template'] = db_get_value_filter('name', 'talert_templates', - array('id' => $alert['id_alert_template'])); - - - - switch ($config["dbtype"]) { - case "mysql": - case "postgresql": - $actions = db_get_all_rows_sql('SELECT name - FROM talert_actions - WHERE id IN (SELECT id_alert_action - FROM talert_template_module_actions - WHERE id_alert_template_module = ' . $alert['id_alert_template'] . ');'); - break; - case "oracle": - $actions = db_get_all_rows_sql('SELECT name - FROM talert_actions - WHERE id IN (SELECT id_alert_action - FROM talert_template_module_actions - WHERE id_alert_template_module = ' . $alert['id_alert_template'] . ')'); - break; - } - - - - - if (!empty($actions)) { - $row = db_get_row_sql('SELECT id_alert_action - FROM talert_templates - WHERE id IN (SELECT id_alert_template - FROM talert_template_modules - WHERE id = ' . $alert['id_alert_template'] . ')'); + if (is_array($alerts) || is_object($alerts)) { + foreach ($alerts as $alert) { + $data_row = array(); - $id_action = 0; - if (!empty($row)) - $id_action = $row['id_alert_action']; + $data_row['disabled'] = $alert['disabled']; - // Prevent from void action - if (empty($id_action)) + $data_row['module'] = db_get_value_filter('nombre', 'tagente_modulo', + array('id_agente_modulo' => $alert['id_agent_module'])); + $data_row['template'] = db_get_value_filter('name', 'talert_templates', + array('id' => $alert['id_alert_template'])); + + $actions = alerts_get_alert_agent_module_actions ($alert['id']); + + if (!empty($actions)) { + $row = db_get_row_sql('SELECT id_alert_action + FROM talert_templates + WHERE id IN (SELECT id_alert_template + FROM talert_template_modules + WHERE id = ' . $alert['id_alert_template'] . ')'); + $id_action = 0; - - $actions = db_get_all_rows_sql('SELECT name - FROM talert_actions - WHERE id = ' . $id_action); + if (!empty($row)) + $id_action = $row['id_alert_action']; + + // Prevent from void action + if (empty($id_action)) + $id_action = 0; + } + else { + $actions = db_get_all_rows_sql('SELECT name + FROM talert_actions + WHERE id = ' . $id_action); + } if (empty($actions)) { $actions = array(); } + + $data_row['action'] = array(); + foreach ($actions as $action) { + $data_row['action'][] = $action['name']; + } + + $data_row['fired'] = array(); + $firedTimes = get_module_alert_fired( + $alert['id_agent_module'], + $alert['id_alert_template'], + (int) $content['period'], + (int) $report["datetime"]); + + if (empty($firedTimes)) { + $firedTimes = array(); + $firedTimes[0]['timestamp'] = '----------------------------'; + } + + foreach ($firedTimes as $fireTime) { + $data_row['fired'][] = $fireTime['timestamp']; + } + + $data[] = $data_row; } - - $data_row['action'] = array(); - foreach ($actions as $action) { - $data_row['action'][] = $action['name']; - } - - $data_row['fired'] = array(); - $firedTimes = get_module_alert_fired( - $alert['id_agent_module'], - $alert['id_alert_template'], - (int) $content['period'], - (int) $report["datetime"]); - - - - if (empty($firedTimes)) { - $firedTimes = array(); - } - foreach ($firedTimes as $fireTime) { - $data_row['fired'][] = $fireTime['timestamp']; - } - - $data[] = $data_row; } - + $return['data'] = $data; if ($config['metaconsole']) { @@ -2845,7 +2820,9 @@ function reporting_alert_report_module($report, $content) { } $data = array(); + foreach ($alerts as $alert) { + $data_row = array(); $data_row['disabled'] = $alert['disabled']; @@ -2853,25 +2830,7 @@ function reporting_alert_report_module($report, $content) { $data_row['template'] = db_get_value_filter('name', 'talert_templates', array('id' => $alert['id_alert_template'])); - switch ($config["dbtype"]) { - case "mysql": - case "postgresql": - $actions = db_get_all_rows_sql('SELECT name - FROM talert_actions - WHERE id IN (SELECT id_alert_action - FROM talert_template_module_actions - WHERE id_alert_template_module = ' . $alert['id_alert_template_module'] . ');'); - break; - case "oracle": - $actions = db_get_all_rows_sql('SELECT name - FROM talert_actions - WHERE id IN (SELECT id_alert_action - FROM talert_template_module_actions - WHERE id_alert_template_module = ' . $alert['id_alert_template_module'] . ')'); - break; - } - - + $actions = alerts_get_alert_agent_module_actions ($alert['id_alert_template_module']); if (!empty($actions)) { $row = db_get_row_sql('SELECT id_alert_action @@ -2881,43 +2840,41 @@ function reporting_alert_report_module($report, $content) { WHERE id = ' . $alert['id_alert_template_module'] . ')'); $id_action = 0; + if (!empty($row)) $id_action = $row['id_alert_action']; // Prevent from void action if (empty($id_action)) $id_action = 0; - + } + else { $actions = db_get_all_rows_sql('SELECT name FROM talert_actions WHERE id = ' . $id_action); - - if (empty($actions)) { - $actions = array(); - } } $data_row['action'] = array(); foreach ($actions as $action) { $data_row['action'][] = $action['name']; } - + $data_row['fired'] = array(); $firedTimes = get_module_alert_fired( $content['id_agent_module'], $alert['id_alert_template_module'], (int) $content['period'], - (int) $report["datetime"]); - - + (int) $report["datetime"]); if (empty($firedTimes)) { $firedTimes = array(); + $firedTimes[0]['timestamp'] = '----------------------------'; } + foreach ($firedTimes as $fireTime) { $data_row['fired'][] = $fireTime['timestamp']; } - + $data[] = $data_row; } From 6f33c0eaf877030ef6ecea00b73cdc74c3609969 Mon Sep 17 00:00:00 2001 From: enriquecd <enrique.camargo@artica.com> Date: Thu, 22 Sep 2016 11:12:19 +0200 Subject: [PATCH 2/2] modificacion de estilos de ventana modal y editor de usuarios --- pandora_console/general/alert_enterprise.php | 37 +++-- pandora_console/images/icono_cerrar.png | Bin 0 -> 284 bytes pandora_console/images/icono_popup.png | Bin 0 -> 3493 bytes pandora_console/images/logo_citrix.png | Bin 0 -> 3004 bytes pandora_console/images/logo_exchange.png | Bin 0 -> 5391 bytes pandora_console/images/logo_oracle.png | Bin 0 -> 5679 bytes pandora_console/images/logo_sap.png | Bin 0 -> 5673 bytes .../include/javascript/jquery.pandora.js | 131 ++++++++---------- pandora_console/include/styles/pandora.css | 76 ++++++++-- pandora_console/operation/system_alert.php | 19 ++- pandora_console/operation/users/user_edit.php | 7 +- 11 files changed, 175 insertions(+), 95 deletions(-) create mode 100644 pandora_console/images/icono_cerrar.png create mode 100644 pandora_console/images/icono_popup.png create mode 100644 pandora_console/images/logo_citrix.png create mode 100644 pandora_console/images/logo_exchange.png create mode 100644 pandora_console/images/logo_oracle.png create mode 100644 pandora_console/images/logo_sap.png diff --git a/pandora_console/general/alert_enterprise.php b/pandora_console/general/alert_enterprise.php index 14c1465955..b6a635f668 100644 --- a/pandora_console/general/alert_enterprise.php +++ b/pandora_console/general/alert_enterprise.php @@ -2,11 +2,21 @@ $tipo = $_GET['message']; -echo "<div class='info_box' style='padding-top:20px;padding-bottom:20px;'><span style='padding:20px;'>"; +echo " +<div class='modalheader'> +<span class='modalheadertext'> +Community version</span> +<img class='modalclosex cerrar' src='".$config['homeurl']."images/icono_cerrar.png'> +</div> + +<div class='modalcontent'> +<img class='modalcontentimg' src='".$config['homeurl']."images/icono_popup.png'> +<div class='modalcontenttext'>"; switch ($tipo) { case "module": - echo __("The community version have not the ability to define your own library of local modules, or distribute it to remote agents. You need to do that changes individually on each agent, but it's possible by using external tools and space time and effort. Nor can distribute local plugins, and nor does it have access to the library of plugins enterprise to monitor applications such as Informix, Oracle, DB2, SQL Server, Exchange, WebSphere, Oracle Exadata, F5, JBoss, HyperV, VMWare, RHEV, to name a few. With the Enterprise version will have all this, and the ability to distribute and manage their own local modules to your systems, individually or through policies."); + echo __("The community version have not the ability to define your own library of local modules, or distribute it to remote agents. You need to do that changes individually on each agent, but it's possible by using external tools and space time and effort. Nor can distribute local plugins, and nor does it have access to the library of plugins enterprise to monitor applications such as Informix, Oracle, DB2, SQL Server, Exchange, WebSphere, Oracle Exadata, F5, JBoss, HyperV, VMWare, RHEV, to name a few. With the Enterprise version will have all this, and the ability to distribute and manage their own local modules to your systems, individually or through policies. + <br><br><img style='width:105px' src='".$config['homeurl']."images/logo_oracle.png'><img style='width:105px' src='".$config['homeurl']."images/logo_citrix.png'><img style='width:105px' src='".$config['homeurl']."images/logo_sap.png'><img style='width:105px' src='".$config['homeurl']."images/logo_exchange.png'>"); break; case "massive": echo __("You want to manage your monitoring homogeneously? Do you have many systems and is difficult to manage in a comprehensive manner? Would you like to deploy monitoring, alerts and even local plugins with a single click? Pandora FMS Enterprise Policies are exactly what you need, you'll save time, effort and dislikes. More information (link to pandorafms.com)"); @@ -21,19 +31,28 @@ switch ($tipo) { break; } -echo "</span></div>"; +echo " +</div> +<div class='modalokbutton cerrar'> +<span class='modalokbuttontext'>OK</span> +</div> - -echo "<button id='cerrar' onclick='ocultar();'>OK</button>"; +<div class='modalgobutton gopandora'> +<span class='modalokbuttontext'>Go to Enterprise version</span> +</div> +"; ?> <script> -function ocultar(){ -$("#alert_messages" ).dialog('close'); +$(".cerrar").click(function(){ + $("#alert_messages").hide(); + $( "#opacidad" ).remove(); +}); - -} +$(".gopandora").click(function(){ + window.open('https://pandorafms.com/es/software-de-monitorizacion-pandorafms/','_blank'); +}); </script> diff --git a/pandora_console/images/icono_cerrar.png b/pandora_console/images/icono_cerrar.png new file mode 100644 index 0000000000000000000000000000000000000000..124540abaef8b148da58df2aedae27feee85f7d3 GIT binary patch literal 284 zcmeAS@N?(olHy`uVBq!ia0vp^{2<K1#=yYnb8+b%AV;#qHKHUqKdq!Zu_%?nF(p4K zRlzeiF+DXXH8G{K@MNkDP|-e57srr_TS*BHZ2ub>6dD35K0BH?FdSU!z*L}Wz}CUW zp}<yhphGRIBZn=biPK|$`$>kIYz&Mn+l3;vt>lkNs3aU{SjQ~8V0J=7FTa38i=d8# z!4C%|#*<bl=6l*#`ZyF{uCBSq6n(Hm?2vpz1jDH~hBC8FfgWLdjz2xmBETz<@Z#G! z_s%RI{p3^3tiLw4e5zr(c%lE%l>bK>zgsMBZ%}08Vfo|2A@KD1_X`;Zo(hTBOFNh* gd=)PGbMOh{js6Fljs-?71p0)*)78&qol`;+0Jt7#l>h($ literal 0 HcmV?d00001 diff --git a/pandora_console/images/icono_popup.png b/pandora_console/images/icono_popup.png new file mode 100644 index 0000000000000000000000000000000000000000..eb0b7427be98677a31b99ca4018153bfdceb844a GIT binary patch literal 3493 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 TLAk{O00000NkvXXu0mjf9MMo{ literal 0 HcmV?d00001 diff --git a/pandora_console/images/logo_citrix.png b/pandora_console/images/logo_citrix.png new file mode 100644 index 0000000000000000000000000000000000000000..50608ea4e2e1630a7f176fee9e32a2182e5cded6 GIT binary patch literal 3004 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 literal 0 HcmV?d00001 diff --git a/pandora_console/images/logo_exchange.png b/pandora_console/images/logo_exchange.png new file mode 100644 index 0000000000000000000000000000000000000000..88b7e7e10baacc30810525ea3384a75cd2ea6d76 GIT binary patch literal 5391 zcmaJ_by!qezec)4C6pRa0jU{kfPtZAKstx+7#ap<hVBwULIouR1qo>o5D5Y4W|UMw zP+Gb}1nzjg<N59%_uT!g{p_{Y^LyW4tat5-)78F5LwS>ufPjETO%<+>zk1?NA#zdz zf-6#wJS*{o8(3u%tO3dq>t~Bb5-2*L?2rI84_hasKGN19z`GAAOF%$$+XZ2QHPO<9 z*rPmzZGYPc`+Iod(F6pt^8Q}7_HIZlzz*r;;tA#6ZffNQxHv$$jU}`|T3#@uvx{mV z8fg%yjj#`NvzK<@mX`y_`a|#p9!RV$z~95&69e&wa{t8(!S{bp1GxcznPA<Z-2Vy6 zL`xR{L!prX31KlIdyt3-01Oru5tjgiMFat&AQ4d@2;aa$BH|DUFho=m@b|%u_l9<G zgy_Rn{`Q3*LAjl=ST6_==;!Ar>?bCSLOTIPq@|^QbBKxx;VpzP0iIY}e<4rItv?KK zB*q@?;)QiVc>;bj+S;LfuuyJ%r2k35!|NYfPt4zC!WRtaZ|emV5eEHE>5rk7*8gwn z;qi|(2CI+!Z@m8}F$NLfg#_v&F(@CjJ$~UFZ~b=V1%aWFwpbJzfkL_esiLkk3X8%x zqr3nx12BM3%huk-^Y_HvzYtnl5H(K>*4EP=sRoB~<2i&~TpS=OAVsh;zDY`n!9_%r z!Ajy_n3NP)9IPxRDg_dU|G~mh_C6j+PwXG8!+)_V|BC%B1`jX1XE+k=;)`@pL8CkX ze<clZ`S)00|H}6_*5Th{f&VKOhz|z%dujjIQvaF4>*sg(AK~H$|41L{iPt+CFYKK? zIuHQ?LxdV!5#c{&_v`Xfo`^o2;wr(dYYB&k(~?iH?Gn{3*=;+=)2#QcTU$WC&d-u< zmj_L$QM2#6%C9YsT{?gG`t|&>Iq3MqM&7;TbL+Q(5*D<tmgJQd#@8n=QwUgC`e@j~ z3GDLu5Um%sfE(cw=o%2{SAACB4jq5J-?r6#XwVU8@VO*iYj;nNkr>ELn-oJ#Ow6)8 zn9;Gbg5$hDS!o@`2o3p}YTKWBms%rD7+D{B4&jE-azOSjAq=^ciIn|HjDT>Pn|+@& z`EB58C4e2~2Vu=kZ95Cy>i0SCxqhFoal$#)`)=OsSQ<!U5w>jX^jhp?s5&Xj5L2sr zN|Mn*U43wj1T4rBJ=Y?WGEx+tYQXTqTwVF=2qMM8ex0;^XlrZR*<aBi_4V~l6+BoT zVkOnn(;FMCN1l1!cf!38nZXz0L&+HFvv9SR;L|7H+heE{_HW!+Tw1zua&p2#OB8Z? ze&%<dh>SM8D=09Kg##K$TvwKt7iD|8w`8+>azb2>w2`EBW*Z?QApTYtY;~0~QcBK& zV^%{)k&JG>@1adv<d)^oB`nzYM;JNx&Rzv6N7K{T(Ddj6-b<o3g=_JzbM9=t`exr+ zp2x#Q%=jLL$*>I@8r~XqniwUACVKv$j_2UyAKPvX_@-&SP_g}Fu$!W9KSX~aLe5yX zaxyPi4hLI1gsdBtDrXFG)vQhWfwd0$_C<1i)oXp=J7;Ph=GV#Hb>B_j=>Rzot>gu1 zP58@dKUQ6Iszh5Qr9a5yWzC!7Pyvz@Npr<^aJgl_*Hv%JuK#%Zez$b=qZ;s}WklKR z48I@qaQ7yq6&YoA5>YX;=>vMgIC!MTK=q@6>^GLeX{Js!rsB`FI_*UAN12$-J3tMU zX65bPZ16li-=jF7A0~Eonuan)X<yu8{vNQm&SUy^L6$cv1T4WuyYHP@sMcl^PLZO? z@hB;MU9TAN3c-K4Bm)YGspqp$RE@CPr44(${(Kr0MtCV*41Gj*r5@NincogdlE>dS z-0MBftPo`)tY(;UHA%{=mc&X#mt?Fyzz5%S$EZ+Q-wGsEY;KctQ_w`KnXJEhnCp{k zP`A-zQ;aFATS(HuomFSJaWk5fG1Ic)&Ny(VE!#mYbGT9I#4tC=S;dbuC$yi_@#m5a z{v@HVW(QY-t+W+Ne=<#!61L7x^%U6GL^szVQ%=8#v8xJee-gKdx<+KISkg#iZc3LG zxKF%Dm)3VeuU;T3C~F;_2xQGMDz)_%A!_?3dn~x@GPupdi=wxt+iA(j2-^9+z?=S} zk>ZxI%FjBXp!fyT<1JxTZEKzhS)x5X`QRW3&6DpkRlF}qPVYdo5MLuVvw3=2v~O*X zv*d|7)P8XfIbVj<)MgiRv$y}Gnh6z8GVkg+G5p2gQ|{Xz@8RbZ;0As^-AWZh=qjEG zi+PCPS56y<32f$w+w)H4#{IzVU8v+ma3qtJ8wuQ`CZO2@4{9-(8WCF6vBOe{cC z#3g@P+2^{$!E=>Dkm;dnZ~_K{k<w<EE?#<2KhjSL{&8LdO!L|dA(511<r62#PwxzD zo|X6%%G7hyR^R;d#zsgPf`79G3rTFVdGzwy%&qYx)i((d3IuNB{38=8gdw%lo59rA z)R(wl=0q_)>;gR>+H=Bdh&r}|CAo(#PR5RJY245x@bKm^oi%~p%yjaR7T`lTev?<6 zg+G<zNr^M&3~l9n(s#QO{JFV|kb-#mM=QL_M36oXu24E2`N?_lI4LnPLi=@;g)mu$ zCTV6TbFCRj97{|7;DqI=I>{t2k5rI<v(+$%dcoBP?I&U;$W--$lj93>=^m^2ac9aH zLSjXN49z3lOr=q2#PsI!3YphY&;7l**b{HhIT9P(Po*hH-bv-DeUp@;R(ybW6g1(G zZi9<K+1YK`s_xzQ99Hc)<K>k4w+<Uf)*4Ovr?!tzZG7bTihy!uRTX9fk8Zp6thq;h zOqVErBY}QC^Gi(nZ1{EGRV^%1U}S<QZ87vXR8so*ID0>PZhHeh%tgD7*+@2EGX#>L zf$uObnI}rplI!(}XD`lF3s<|)+B9UgdZ9{h&}1bg3W=yqI<>oO1(fP%IORIc!mFwt zDpfx?VtAO~)kSQ&7sP}d*Ry}IOi9Z3GRZnD;Yw1+UAtCS`F@4Umz2~!VJhtk{^~3~ z|MSrL8+!P=k9VjU;_iLpBxrfn!CXy&QC_UdaY_AZHv^3DrZruX(L0#a+08in0^L9z z1)l?_pH$3p&EdG|sgEB&0tU+a`_)Z%t>61oK$^Ad7&fe@yzvjHA_hjhAbEA($53Lr zYLtWTecw=JE+mAi%eE*pSaWvSdB#&mAdagR2|vj!bY_~JEc@+QjQOTM;N@eP$?-C| zqh~z=J%*aP)6vn5o^(bdR;Q+cDY%te$vrTuZR-Q-!8gnTCq2^7s6&kTj(TLSAJXV% zWoMp8rYf?=cm``co~zVHe0f5y%%wSve4a0)^Ql!@YGrJ0w&3%cR1EX%>(y7;^N$HU zmIJs)pN82dnAKsp!ArdBrS2|fsdBg$UXNrBsBlq7d_WTPZgQ%67sKhUL|dKE$26nd z)lIeAb0?IIc|6Vm^A$X}$ClS0aLR$fJa;JvXlC+nu&_L8mM;`oSz8123gGuw7K#sS z<KO@fU4i9&$|)>VF}jqM6zcND1}9HVO%0+lha3+M4|DVL;dR8v52TM|l_TPCb<b?$ z=Mdpa-$8e-QmEfC2w?b*>~nbA(()p!qG8a)G$3FWnI7`uJX_5@v+be$%NtG;Ln1*J zdHd4){&&Q|;F0!rLLnicT@zZgbV$R;6#9t?BiqnQR!NlR_k&^s{e6Bg3;oPz1ydK7 z+5CJyO5!El4fEZ=-68PtRNO{Ih@qjaXvXdK89$qagiJ8grv_WMw~G@8GZXeNq~+y- zF<725lE+OmpEmuk>UWvfYn1e2FJen;=Pe(LD!sT+>h7%0U0On#Sy-g*DY&_ny0dx- zc9YBphd4T_bdM12*7<R-cuDnoGK;V$J5`97ed$H!$x8W4I3*Yx0;;-unUflHZpwFl z{6^oesd5rR$8`ZnSmJ@dvV+YDmYLw+0{Txfv$CQ`e+<^%h4=S7owaIc)6vq&D=wyB z>`7j!ec9O9xVVh-I0U~jZnUTv6dOJ2I67ZnUq=I>K^5BSwCJ}nO3t31Dmprn?qGA< z#kv}rp_$AA>(_;S5`N~~42j*VQ@BadFIzd9?`2Q>?DRA=23pM9S{$A(M2ImvDNGpD znr%jm$Df~{S5uf;S_*X)p7&S6ctU$S>9S?8TVXY=B+e^l_OBWvcivG^o#j+h2|ObN z->hQPvQU*!tQx1c&)2*4OvU+{nTuv^dGVo+c{!t2imP49&pbwhu#7?pk>XeKf`-=_ zqw?icISUCXh4)4%si*{JzGlC;VMDTOxIwh0t#l-ZYhD@7z&I|Sk$#2E7w^ioCHUO{ zE6R!FiArS?BL~%1olzT`o3N%*8h&Te6_H!zk3ly&qO7rk{1r`kj7|gnxewJ5yD!+^ z;5yrL_S>fyRNU5uI=i~K#o=~*kA$OL0-`irb~G-HhvPa!vr^I4u`6S~t5}a6vzIZ$ z^klV@3Y@Rn+%glqY8d_buY@)cHF^mswGVc%3>;r0eZnswa0jq*n~7{P&G2*gUDmXL zI~3KQD0w?+*`&hXzn=tozY2k8T~r+mn_#s$^t@q0vEPhaGxeGJtzv+(S95`(L@HrL zr6i5?*Mh@-<zJuSn!NwHu-!O}wB;EDuq+)tJg8iB9^j%^X*NPvRNLIlj#_MuIEnUm zpKGzyy}w+@^S;S5+d(~jG<3d`VsY_({OD_Kim4CMqQg5?BcmfDy88NrvA0MtD}}am zEg|i#s(NS4K+Dv@!sT&YOu<b7<K<T;ULusU{49?(Sb_0DoyGc+!PDDOvzg@Ta}l5p zgPnKh<d@qhn9e7KnRSq+YLxFfHI^Z62O^-TM+<Nv!5$VU#8!VE(aC*h!ccdDDQFJu z5(#pe)z}AxT@VVIR$n)#eD}>lIflMiMn+~SIM_ng&W@+u8El8#QfHI5;*U-TMJbxh zHZ(MRe(RQ&Kb`)yBW`%w!y_FmMA6qL7X8KmQOkN`U$jcfZ8wFvhvDw?(I2@ITM?H= zA_oTYQQO_j0E}qSA)nHLW5JB{PCz5Wvlg0*wOc#0Md4ga>>ms(H_GVbP@L~uLz1gf zgQL5Lo-rVNiYX=DN>rr_c?k%JW+bS)c;@O2r9b{<!oK9<f4DZzCn(rijU4C>VUvVZ zK6yGZNnmX(&>MCQE6v(ChL)In3gb+hOU{@pK^QTTZhq!pwHIZ8c*KqPCqrHm!g>ij z++7`W)apvg(rQ31Be%bIeQBqD!jYJem6NcyI|<NkGBPx5`+>cXf1eVhtGazf@h3?n zTXebXyD%QVfGdX<fiD9~Te)#dG-LbgL1RAqe20Oal&j<A7w?Ju0?)1N1_##ni><dq zGBT-CsEzDrga&gg>b<zKW&Aup?`l1l<3XzBU%z$6$jDe5e2UI}YF2L4-`h(MP%vdH zc6mBBb<cYHs|E!{%3bbur7vFuiW(bvK3ZvL2!x!p-Am2N()4Z0F4W9Was`kK3v?MM zDn=k41fOmCrKYFC9cxTypI@oXeROx!e1C5*KYMl6*{n4b$}Z!ZFi~a-Tfx0-g*C9( z3->$b6&3M)@pN~;d4*E;5l4{xhKZ|730=zB0DL6g`t?zxx~sR3!Rx}L<I|#^1*RD_ zdwvf;x(1oAGg0?c!0E=aZWDr{EY#vbNACJo`Kbd^Y_tUlp-6TJR@JNI{Oou@&hJS> zyP(Ciy#c#1?Ev}BO0<5o`T(C}aIoy#w{J;?J!U@RgyhhR4>qjp{q?Rx5hs=`itL?D z4eSr^L{?aqQdt-v5Z80osvVr11};utZt?Ywu5&HH`*y3VMWwr=^rW@(Wmi7<BwX(L z`QPDnI*4ERG^!gG)0pK{JTR)<3O*X~ak@5MI_y)DJd~Qyz3e!i>$tYIbyeTb`lSkc zMN(_NRGkzl9|n!)@Mjl@km=8sM_8~)wfJtDjjSKuQoRz@PGTO6+xprR%MJv}-|F$( zn)y;$PsPj!g~9}%y%aMYA`F&;LM?}D^fRP}Z|~-|>%Q%>%f)}wKBAN#i=|`C>~D6Y z^-R8E63T=s-ML4;R(Iv$g41(N9?_eL$A&XR9i@5q!W4e&URyn6{WPzkU;q;{t3>1+ znY9uz*uMEt#70hAo3{z>%c-K;LccvGqYuLbcNSE#5rS^Nv+to5G;h4ltMja{K^n76 ze%;E<?B@q?dL|ShUe1}SrKy=Zzcx08aQ|w?H!CRCw6?w$4QjJm|G2cY<?9dSD06ve zG%N71x`YA8Dck*#Cu(?OacN~mqpZ(HL_YTAkeldae<Hu}X;Aq!<Ltx-*$($+#6(8= z8u+a;B`}3!3u&or%yyyHm4#NBsoX>Jk^3+q*R#rsw;NMpj7eb`tsk-%zWEpHe{72) zBf$;z_doGa8Ekmw&=z^>k1>qEzF;_^VFmX>f4#}j?wNM|N;Ou5ojcT_5Z6kvR$05D zj2j$GmFFNAGn6-dJeY0MRaIqY;^HT!b1EC=>;xlfPyAjV_*Q#raRp;OGkox4^bQAd zndV*JLCby8*Vpgw`?wZA;wD~3cXoHHQykjI5WODG>MAI)-uZ=5^XD4Ro#$e$C{mbk ztm)VAa*QIfBOQ>j$i6ChK5ZkN?Asi=u`<|D^`h+;t7NKTr`)-YllB&QkFmQ4JA1Z1 zpEDxwVflcwXxzBTAWxQDh?$8jo9gR)sTaK#^UFgoZKmtWUFmgF?!Kw3Gpd$-$RzZ{ zG-fpLQmJ2n&t8atZr*zV5gAX#FU+UdMY5E;$NQZQb%kGx4DtIHrJAxfyh6z)@_zv5 CbKJiG literal 0 HcmV?d00001 diff --git a/pandora_console/images/logo_oracle.png b/pandora_console/images/logo_oracle.png new file mode 100644 index 0000000000000000000000000000000000000000..f9a2db467dbec12720bd81cb9b4778e8eee48827 GIT binary patch literal 5679 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 literal 0 HcmV?d00001 diff --git a/pandora_console/images/logo_sap.png b/pandora_console/images/logo_sap.png new file mode 100644 index 0000000000000000000000000000000000000000..8ae8c5ccb64dad18d507273ce9ecd333fb72128e GIT binary patch literal 5673 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 literal 0 HcmV?d00001 diff --git a/pandora_console/include/javascript/jquery.pandora.js b/pandora_console/include/javascript/jquery.pandora.js index 3828a11cee..cc1035c1b1 100644 --- a/pandora_console/include/javascript/jquery.pandora.js +++ b/pandora_console/include/javascript/jquery.pandora.js @@ -3,27 +3,27 @@ return this.each (function () { this.checked = true; });}; - + $.fn.uncheck = function () { return this.each (function () { this.checked = false; });}; - + $.fn.enable = function () { return $(this).removeAttr ("disabled"); }; - + $.fn.disable = function () { return $(this).attr ("disabled", "disabled"); }; - + $.fn.pulsate = function () { var i = 0; for (i = 0; i <= 2; i++) { $(this).fadeOut ("slow").fadeIn ("slow"); } }; - + $.fn.showMessage = function (msg) { return $(this).hide ().empty () .text (msg) @@ -54,38 +54,29 @@ $(document).ready (function () { }, "html" ); - - return false; - }); - - $("a.show_systemalert_dialog").click (function () { - jQuery.get ("ajax.php", - {"page": "operation/system_alert"}, - function (data, status) { - $("#alert_messages").hide () - .empty () - .append (data) - .dialog ({ - title: $("a#show_systemalert_dialog").attr ("title"), - resizable: true, - draggable: true, - modal: true, - overlay: { - opacity: 0.5, - background: "black" - }, - width: 700, - height: 300 - }) - .show (); - }, - "html" - ); + return false; }); + $("a.show_systemalert_dialog").click (function () { + $('body').append( "<div id='opacidad' style='position:fixed;background:black;opacity:0.6;z-index:1'></div>" ); + jQuery.get ("ajax.php", + {"page": "operation/system_alert"}, + function (data, status) { + $("#alert_messages").hide () + .empty () + .append (data) + .show (); + }, + "html" + ); + return false; + }); + +// Creacion de ventana modal y botones $("#publienterprise").click (function () { + $('body').append( "<div id='opacidad' style='position:fixed;background:black;opacity:0.6;z-index:1'></div>" ); jQuery.get ("ajax.php", { "page": "general/alert_enterprise", @@ -94,24 +85,18 @@ $(document).ready (function () { $("#alert_messages").hide () .empty () .append (data) - .dialog ({ - title: $("#publienterprise").attr ("title"), - resizable: true, - draggable: true, - modal: true, - open: function (event, ui) { - $(this).css({'overflow': 'hidden','text-align': 'center','padding-right':'25px','padding-bottom':'25px'}); //this line does the actual hiding - }, - overlay: { - opacity: 0.5, - background: "black" - }, - width: 600 - }) .show (); }, "html" ); + + + + return false; + }); + + + return false; }); @@ -120,12 +105,12 @@ $(document).ready (function () { if ($('#license_error_msg_dialog').length) { if (typeof(process_login_ok) == "undefined") process_login_ok = 0; - + if (typeof(show_error_license) == "undefined") show_error_license = 0; - + if (process_login_ok || show_error_license) { - + $( "#license_error_msg_dialog" ).dialog({ dialogClass: "no-close", closeOnEscape: false, @@ -147,17 +132,17 @@ $(document).ready (function () { ); } }); - + $("#submit-hide-license-error-msg").click (function () { $("#license_error_msg_dialog" ).dialog('close') }); - + } } - - + + if ($('#msg_change_password').length) { - + $( "#msg_change_password" ).dialog({ resizable: true, draggable: true, @@ -169,11 +154,11 @@ $(document).ready (function () { background: "black" } }); - + } - + if ($('#login_blocked').length) { - + $( "#login_blocked" ).dialog({ resizable: true, draggable: true, @@ -185,9 +170,9 @@ $(document).ready (function () { background: "black" } }); - + } - + forced_title_callback(); }); @@ -199,21 +184,21 @@ function forced_title_callback() { /////////////////////////////////////////// $('#forced_title_layer').css('left', 0); $('#forced_title_layer').css('top', 0); - + /////////////////////////////////////////// // Get info of the image /////////////////////////////////////////// - + var img_top = $(this).offset().top; var img_width = $(this).width(); var img_height = $(this).height(); var img_id = $(this).attr('id'); var img_left_mid = $(this).offset().left + (img_width / 2); - + /////////////////////////////////////////// // Put title in the layer /////////////////////////////////////////// - + // If the '.forced_title' element has 'use_title_for_force_title' = 1 // into their 'data' prop, the element title will be used for the // content. @@ -223,46 +208,46 @@ function forced_title_callback() { else { var title = $('#forced_title_'+img_id).html(); } - + $('#forced_title_layer').html(title); - + /////////////////////////////////////////// // Get info of the layer /////////////////////////////////////////// - + var layer_width = $('#forced_title_layer').width(); var layer_height = $('#forced_title_layer').height(); - + /////////////////////////////////////////// // Obtain the new position of the layer /////////////////////////////////////////// - + // Jquery doesnt know the padding of the layer var layer_padding = 4; - + // Deduct padding of both sides var layer_top = img_top - layer_height - (layer_padding * 2) - 5; if (layer_top < 0) { layer_top = img_top + img_height + (layer_padding * 2); } - + // Deduct padding of one side var layer_left = img_left_mid - (layer_width / 2) - layer_padding; if (layer_left < 0) { layer_left = 0; } - + var real_layer_width = layer_width + (layer_padding * 2) + 5; var layer_right = layer_left + real_layer_width; var screen_width = $(window).width(); if (screen_width < layer_right) { layer_left = screen_width - real_layer_width; } - + /////////////////////////////////////////// // Set the layer position and show /////////////////////////////////////////// - + $('#forced_title_layer').css('left', layer_left); $('#forced_title_layer').css('top', layer_top); $('#forced_title_layer').show(); diff --git a/pandora_console/include/styles/pandora.css b/pandora_console/include/styles/pandora.css index 89a70ddf9e..1ec759fba5 100644 --- a/pandora_console/include/styles/pandora.css +++ b/pandora_console/include/styles/pandora.css @@ -465,7 +465,7 @@ div#login_in, #login_f { -moz-transform: rotate(36deg); /* FF */ -o-transform: rotate(36deg); /* Opera */ -webkit-transform: rotate(36deg); /* Safari and Chrome */ - + float: right; margin-top: 18px; width: 80px; @@ -3031,13 +3031,13 @@ table#policy_modules td * { margin: 0px; } -.databox.filters td>img, .databox.filters td>div>a>img, +.databox.filters td>img, .databox.filters td>div>a>img, .databox.filters td>span>img, .databox.filters td>span>a>img, .databox.filters td>a>img{ vertical-align: middle; margin-left: 5px; } -.databox.data td>img,.databox.data th>img, .databox.data td>div>a>img, +.databox.data td>img,.databox.data th>img, .databox.data td>div>a>img, .databox.data td>span>img, .databox.data td>span>a>img, .databox.data td>a>img, .databox.data td>form>a>img { vertical-align: middle; @@ -3164,7 +3164,7 @@ table#policy_modules td * { height: 210px; background: blue; border-radius: 15px; - + top: 50px; left: 10px; position: absolute; @@ -3192,7 +3192,7 @@ table#policy_modules td * { @media screen and (-webkit-min-device-pixel-ratio:0) { /* Only for chrome */ - + .vertical_range { left: -87px; top: 93px; @@ -3202,7 +3202,7 @@ table#policy_modules td * { .home_zoom { top: 310px; left: 10px; - + display: table-cell; position: absolute; font-weight: bolder; @@ -3220,7 +3220,7 @@ table#policy_modules td * { .zoom_in { top: 10px; left: 10px; - + display: table-cell; position: absolute; font-weight: bolder; @@ -3238,7 +3238,7 @@ table#policy_modules td * { .zoom_out { top: 270px; left: 10px; - + display: table-cell; position: absolute; font-weight: bolder; @@ -3449,4 +3449,62 @@ div.simple_value > a > span.text > p { .unicode{ font-family: unicodeFont; -} \ No newline at end of file +} + +#alert_messages{ + -moz-border-bottom-right-radius: 5px; + -webkit-border-bottom-left-radius: 5px; + border-bottom-right-radius: 5px; + border-bottom-left-radius: 5px; + z-index:2; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + -webkit-transform: translate(-50%, -50%); + position:absolute; + width:650px; + background:white; +} +.modalheader{ + text-align:center;width:100%;height:37px;left:0px;background-color:#82b92e; +} +.modalheadertext{ + color:white;position:relative;font-family:Nunito;font-size:13pt;top:8px; +} +.modalclosex{ + cursor:pointer;display:inline;float:right;margin-right:10px;margin-top:10px; +} +.modalcontent{ + color:black;background:white; +} +.modalcontentimg{ + float:left;margin-left:30px;margin-top:30px; +} +.modalcontenttext{ + float:left;text-align:justify;color:black;font-size: 9.5pt;line-height:13pt;margin-top:30px;width:430px;margin-left:30px; +} +.modalokbutton{ + cursor:pointer;text-align:center;margin-right:45px;margin-top:30px;margin-bottom:30px;float:right;-moz-border-radius: 3px; + -webkit-border-radius: 3px;border-radius: 3px;bottom:0px;width:90px;height:30px;background-color:white;border: 1px solid #82b92e; +} +.modalokbuttontext{ + color:#82b92e;font-family:Nunito;font-size:10pt;position:relative;top:6px; +} +.modalgobutton{ + cursor:pointer;text-align:center;margin-right:15px;margin-top:30px;margin-bottom:30px;float:right;-moz-border-radius: 3px; + -webkit-border-radius: 3px;border-radius: 3px;bottom:0px;width:240px;height:30px;background-color:white;border: 1px solid #82b92e; +} +.modalgobuttontext{ +color:#82b92e;font-family:Nunito;font-size:10pt;position:relative;top:6px; +} + + +#opacidad{ + opacity:0.5; + z-index:1; + width:100%; + height:100%; + position:absolute; + left:0px; + top:0px; +} diff --git a/pandora_console/operation/system_alert.php b/pandora_console/operation/system_alert.php index d4a7c116a0..20737c3bf1 100644 --- a/pandora_console/operation/system_alert.php +++ b/pandora_console/operation/system_alert.php @@ -2,6 +2,23 @@ // TODO: Poner esto resizable y dragable: http://jqueryui.com/demos/dialog -echo get_pandora_error_for_header(); +echo " +<div class='modalheader'> +<span class='modalheadertext'>Community version</span> +<img class='modalclosex cerrar' src='".$config['homeurl']."/images/icono_cerrar.png'> +</div>".get_pandora_error_for_header()." + +<div class='modalokbutton cerrar'> +<span class='modalokbuttontext close'>OK</span> +</div>"; ?> + +<script> + +$(".cerrar").click(function(){ + $("#alert_messages").hide(); + $( "#opacidad" ).remove(); +}); + +</script> diff --git a/pandora_console/operation/users/user_edit.php b/pandora_console/operation/users/user_edit.php index 017b0675f2..5e7f35cc5a 100644 --- a/pandora_console/operation/users/user_edit.php +++ b/pandora_console/operation/users/user_edit.php @@ -201,8 +201,9 @@ if (defined('METACONSOLE')) { $table->head_colspan[0] = 5; $table->headstyle[0] = 'text-align: center'; } -$table->style[0] = 'width: 500px;'; -$table->style[2] = 'width: 200px;'; +$table->style[0] = 'min-width: 500px;width: 500px;'; +$table->style[1] = 'min-width: 500px;width: 500px;'; +$table->style[2] = 'min-width: 200px;width: 200px;'; $data = array(); $data[0] = '<b>' . __('User ID') . '</b>'; @@ -443,7 +444,7 @@ $select_out = html_print_select ($autorefresh_list_out, 'autorefresh_list_out[]' $arrows = " "; $select_in = html_print_select ($autorefresh_list, 'autorefresh_list[]', '', '', '', '', true, true, true, '', false, 'width:200px'); -$table_ichanges = '<table> +$table_ichanges = '<table style="position:relative;left:160px;"> <tr> <td>' . __('Full list of pages') . '</td> <td></td>