home *** CD-ROM | disk | FTP | other *** search
/ ftp.f-secure.com / 2014.06.ftp.f-secure.com.tar / ftp.f-secure.com / support / hotfix / fsav-server / FSAVSRV900_HF07.jar / iuwebui / forms / tree_fsma / alerting.php next >
PHP Script  |  2010-09-07  |  11KB  |  277 lines

  1. <?php
  2.     include ("..\common\commonphp.php");
  3.  
  4.     $tab_name = "tabFSMAAlerting";
  5.  
  6.     $Page_Settings = array(    array(oid => '1.3.6.1.4.1.2213.11.1.18.2.5.1', type => GLOBAL_STR),
  7.                             array(oid => '1.3.6.1.4.1.2213.11.1.18.2.5.2', type => GLOBAL_STR),
  8.                             array(oid => '1.3.6.1.4.1.2213.11.1.18.2.5.3', type => GLOBAL_STR),
  9.                             array(oid => '1.3.6.1.4.1.2213.11.1.18.20', type => GLOBAL_TBL));
  10.  
  11.     $alert_config = array();
  12.     $smtp_forwards = array();
  13.     $my_smtp_forwards = array();
  14.  
  15.     if(!isset($_POST[SUBMIT_TABLE]))
  16.     {
  17.         /* first load of the page */
  18.         readSettings(&$Page_Settings);
  19.         parse_fsma_alerting_table($Page_Settings[3][value], &$alert_config, &$smtp_forwards, &$my_smtp_forwards);
  20.     }
  21.     else 
  22.     {
  23.         if($_POST[RESTORE_TABLE] == 1)
  24.         {
  25.             /* user wants to restore defaults */
  26.             readDefaultSettings(&$Page_Settings);
  27.         }
  28.         else
  29.         {
  30.             readSettings(&$Page_Settings);
  31.  
  32.             readPageData(&$Page_Settings);
  33.         
  34.             parse_fsma_alerting_table($Page_Settings[3][value], &$alert_config, &$smtp_forwards, &$my_smtp_forwards);
  35.  
  36.             foreach($_POST["VAR"] as $severity => $content)
  37.             foreach($content as $product => $value)
  38.             {
  39.                 if($value == 1)
  40.                     $alert_config[$severity][$product] = $value;
  41.                 else
  42.                     unset($alert_config[$severity][$product]);
  43.             }
  44.  
  45.             if($_POST[REMOVE_ITEM] != -1)
  46.             {
  47.                 if (($tmp = $my_smtp_forwards[$_POST[REMOVE_ITEM]]) != null)
  48.                 {
  49.                     $oids = fsma_alerting_table_product_to_oids($tmp["product"]);
  50.                     $email = $tmp["e-mail"];
  51.                     
  52.                     $old_size = strlen($email);
  53.                     foreach($smtp_forwards as $severity => $entry)
  54.                         foreach($entry as $oid => $emails)
  55.                         {
  56.                             foreach ($oids as $oid2)
  57.                             {
  58.                                 if ($oid2 != $oid)
  59.                                     continue;                    
  60.                                 $found_item = strpos($emails, $email);
  61.                                 if($found_item !== false)
  62.                                 {
  63.                                     if(strlen($emails) == $old_size)
  64.                                         unset($smtp_forwards[$severity][$oid]);
  65.                                     else if($found_item === 0)
  66.                                         $smtp_forwards[$severity][$oid] = substr_replace($smtp_forwards[$severity][$oid], '', 0, $old_size + 1);
  67.                                     else
  68.                                         $smtp_forwards[$severity][$oid] = substr_replace($smtp_forwards[$severity][$oid], '', $found_item - 1, $old_size + 1);
  69.                                 }
  70.                             }
  71.                         }
  72.                 }
  73.             }
  74.  
  75.             create_fsma_alerting_table(&$Page_Settings[3][value], $alert_config, $smtp_forwards);
  76.  
  77.             if($_POST[SUBMIT_TABLE] == 1)    
  78.                 writeSettings($Page_Settings);
  79.             
  80.         }
  81.         exit(0);
  82.     }    
  83.  
  84.     show_form_management($tab_name);
  85. ?>
  86.  
  87. <script language="javascript">
  88.     tabFSMAAlerting_remove_hit = function(item_index)
  89.     {
  90.         refreshed = true;
  91.         document.form_tabFSMAAlerting.REMOVE_ITEM.value = item_index;
  92.         document.form_tabFSMAAlerting.SUBMIT_TABLE.value = 1;
  93.         dojo.byId("tabFSMAAlerting_submitit").click();
  94.     }
  95.     
  96.     <?php echo $tab_name;?>_settings_check = function()
  97.     {
  98.         var frm = document.form_<?php echo $tab_name;?>;
  99.         var msg = validate_string(frm.VAR_PAGE_SETTINGS_0.value);
  100.         if (msg == null)
  101.         {
  102.             msg = validate_string(frm.VAR_PAGE_SETTINGS_2.value);
  103.         }
  104.         if (msg == null)
  105.         {
  106.             msg = validate_string(frm.VAR_PAGE_SETTINGS_1.value);
  107.         }
  108.         if (msg != null)
  109.         {
  110.             show_webui_message_box(localized_strings.InvalidInput, msg, 0);
  111.             return false;
  112.         }
  113.         return true;
  114.     }
  115. </script>
  116.  
  117.     <form method="POST" action='<?php echo "{$_SERVER['PHP_SELF']}?{$_SERVER['QUERY_STRING']}";?>' id="form_<?php echo $tab_name;?>" name="form_<?php echo $tab_name;?>" style="padding: 0; margin: 0;">
  118.         <input type="hidden" name="SUBMIT_TABLE" value="0">
  119.         <input type="hidden" name="RESTORE_TABLE" value="0">
  120.         <input type="hidden" name="APPLY_SETTINGS" value="0">
  121.         <input type="hidden" name="REMOVE_ITEM" value="">
  122.         <button style='display:none' type='submit' id='tabFSMAAlerting_submitit'></button>
  123.  
  124.         <?php show_action_menu('Alerts', $tab_name); ?>
  125.         <table border="0" cellspacing="5" cellpadding="0" class="main_page_table">
  126.             <tr>
  127.                 <td valign="top" width=100%>
  128.                     <table cellspacing="0" cellpadding="0" border="0" width=100% class="table_settings">
  129.                         <tr class="table_heading">
  130.                             <td width="10px"><div class="table_stats_heading"><img src="../pics/layout/corner_up_left.gif" alt="" class="left_top"/></div></td>
  131.                             <td align="left" width=155><div class="table_stats_heading"><span style='margin-left: 0px; padding-left: 0px;'><?=fsloc("Destinations")?></span></div></td>
  132. <?php 
  133.                     for($entry = 0; $entry < 5; $entry++)
  134.                         echo "<td align='center' width=100><table cellpadding=0 cellspacing=0><tr><td>{$fsma_severities[$entry]}<td width=20px align=right><img src='{$fsma_severityImages[$entry]}' border=0></table></td>";
  135. ?>                            
  136.                             <td width="10px"><div class="table_stats_heading"><img src="../pics/layout/corner_up_right.gif" alt="" class="right_top"/></div></td>
  137.                         </tr>
  138.                         <tr class="tr_setting"><td><td><?=fsloc("F-Secure Policy Manager")?></td>
  139. <?php 
  140.             for($entry = 0; $entry < 5; $entry++)
  141.                 echo "
  142.                     <td align=center><input type='hidden' name='VAR[{$entry}][1]' value='0'>
  143.                     <input type='checkbox' name='VAR[{$entry}][1]' value='1' " . ($alert_config[$entry][1] == 1 ? 'checked' : '') . "></td>
  144.                 ";
  145. ?>
  146.                         <td></tr><tr class="tr_setting"><td><td><?=fsloc("Windows Event Log")?>
  147. <?php 
  148.             for($entry = 0; $entry < 5; $entry++)
  149.                 echo "
  150.                     <td align=center><input type='hidden' name='VAR[{$entry}][4]' value='0'>
  151.                     <input type='checkbox' name='VAR[{$entry}][4]' value='1' " . ($alert_config[$entry][4] == 1 ? 'checked' : '') . "></td>
  152.                 ";
  153. ?>
  154.                         <td></tr>
  155.                     </table>
  156.                     <table cellspacing="0" cellpadding="0" border="0" width=100% class="table_settings">
  157.                         <?php show_section_title('Sending alerts by SMTP');?>
  158.                         <tr class="tr_setting"><td class="td_setting" width=200>
  159.               <?=$Page_Settings[0][lock];?>
  160.               <?=fsloc("SMTP server address:")?> 
  161.                         </td><td><input type="text" size=90 name="VAR_PAGE_SETTINGS_0" value="<?php echo htmlspecialchars($Page_Settings[0][value]);?>">
  162.                         </td></tr><tr class="tr_setting">
  163.               <td class="td_setting">
  164.                   <?=$Page_Settings[2][lock];?>
  165.             <?=fsloc("E-mail subject:")?> 
  166.                         </td><td><input type="text" size=90 name="VAR_PAGE_SETTINGS_2" value="<?php echo htmlspecialchars($Page_Settings[2][value]);?>">
  167.                         </td></tr><tr class="tr_setting"><td class="td_setting">
  168.               <?=$Page_Settings[1][lock];?>
  169.               <?=fsloc("E-mail return address:")?>
  170.                         </td><td><input type="text" size=90 name="VAR_PAGE_SETTINGS_1" value="<?php echo htmlspecialchars($Page_Settings[1][value]);?>">
  171.                         </td></tr>
  172.                     </table>
  173.  
  174. <?php 
  175.     $products = array();
  176.     if (products_is_av4srv_installed())
  177.     {
  178.         $products["srv"] = "Anti-Virus for Windows Servers";
  179.     }
  180.     if (products_is_av4mse_installed())
  181.     {
  182.         $products["mse"] = "Anti-Virus for Microsoft Exchange";
  183.     }
  184.     
  185.     $showProductName = count($products) > 1;
  186. ?>
  187.                     
  188.                     
  189. <?php foreach ($products as $productID => $productName) { 
  190.         
  191.         $productForwards = 0;
  192.         
  193.         if ($my_smtp_forwards)
  194.             foreach($my_smtp_forwards as $entry)
  195.                 if ($productID == $entry["product"])
  196.                     ++$productForwards;
  197.                 
  198. ?>
  199.                     <table border="0" cellpadding="0" cellspacing="0" width=100% class="table_settings">
  200.                         <tr class="table_heading">
  201.                             <td width="15px"><div class="table_stats_heading"><img src="../pics/layout/corner_up_left.gif" alt="" class="left_top"/></div></td>
  202.                             <td align="left" vAlign='top' width=300 <?=$showProductName ? "height=40" : ""?> >
  203.                                 <div class="table_stats_heading">
  204.                                     <span style='margin: 0px; padding: 0px;'>
  205.                                         <?=fsloc("Alert recipients")?>                                    
  206.                                     </span>
  207.                                     <?php if ($showProductName) { ?>
  208.                                         <br>
  209.                                         <span style='margin: 0px; padding: 0px; position: relative; top: -7px; white-space:nowrap'>(<?=$productName?>)</span>
  210.                                     <?php } ?>
  211.                                 </div>
  212.                             </td>
  213. <?php 
  214.     for($entry = 0; $entry < 5; $entry++) 
  215.         echo "<td align='center' vAlign='center' width=120><div class='table_stats_heading'><span><img src='{$fsma_severityImages[$entry]}' border=0></span></div></td>"; 
  216. ?>
  217.                             <td align="right" vAlign='center' style="width:200px" class="table_stats_heading">
  218. <?php if ($global_can_edit) { ?>
  219.                                     <a href="javascript:;" style='padding: 0; margin: 0' onClick="EnableExtraDialog('/tree_fsma/popup_alerts.php?NewItem&0&<?=$productID?>');">
  220.                                         <img src='../pics/icon/add-16.png' border='0' style='position: relative; top: 3px; background: #F3F3F3;' />
  221.                                         <?=fsloc("Add new recipient...")?>
  222.                                     </a>
  223. <?php } ?>
  224.                             </td>
  225.                             <td width="15px"><div class="table_stats_heading"><img src="../pics/layout/corner_up_right.gif" alt="" class="right_top"/></div></td>
  226.                         </tr>
  227. <?php    
  228.     if($productForwards == 0)
  229.     {
  230.         echo '<tr class="tr_setting">' .
  231.               ($global_can_edit ? "<td class='td_setting' colspan=7>".fsloc("No recipients are specified.")."</td></tr>" : '</tr>');
  232.     }
  233.     else
  234.     {
  235.         $index = -1;
  236.         $tr_type = '';
  237.         
  238.         /*echo "<pre>";
  239.         var_dump($smtp_forwards);
  240.         echo "</pre>";*/
  241.         
  242.         foreach($my_smtp_forwards as $key=>$entry)
  243.         {
  244.             $index++;
  245.             if ($productID != $entry["product"])
  246.                 continue;
  247.             $email_address = $entry["e-mail"];
  248.             $checked_array = $entry;
  249.             $tr_type = ($tr_type == '_odd') ? '_even' : '_odd';
  250.             $remove_text = $global_can_edit ? "<a href='javascript:;' onClick='javascript: tabFSMAAlerting_remove_hit(\"{$key}\");'>".fsloc('remove')."</a>" : ' ';
  251.       $locs = array(fsloc('Yes'), fsloc('No'));
  252.       echo "
  253.                     <tr class='tr_setting$tr_type' style='line-height: 30px;'><td></td>
  254.                     <td style='padding-left: 0px;'><a href='javascript:;' onClick='javascript: EnableExtraDialog(\"/tree_fsma/popup_alerts.php?EditItemFull&{$index}\");'>{$email_address}</a></td>
  255.                     <td align='center' style='padding-left: 10px;'><font color=#4068b8>" . ($checked_array[0] ? $locs[0] : $locs[1]) . "</font></td>
  256.                     <td align='center' style='padding-left: 10px;'><font color=#4068b8>" . ($checked_array[1] ? $locs[0] : $locs[1]) . "</font></td>
  257.                     <td align='center' style='padding-left: 10px;'><font color=#4068b8>" . ($checked_array[2] ? $locs[0] : $locs[1]) . "</font></td>
  258.                     <td align='center' style='padding-left: 10px;'><font color=#4068b8>" . ($checked_array[3] ? $locs[0] : $locs[1]) . "</font></td>
  259.                     <td align='center' style='padding-left: 10px;'><font color=#4068b8>" . ($checked_array[4] ? $locs[0] : $locs[1]) . "</font></td>
  260.                     <td align='right' style='padding-left: 0px;'>$remove_text</td><td> </td>
  261.                     </tr>
  262.             ";    
  263.         }
  264.     }
  265. ?>
  266.                     </table>
  267.                     
  268. <?php } // foreach ?>                    
  269.                 </td>
  270.             </tr>
  271.             <?php show_action_buttons($tab_name, true, true); ?>
  272.         </table>
  273.         
  274.     
  275.     </form>
  276.  
  277.