Source for file view_header.php

Documentation is available at view_header.php

  1. <?php
  2.  
  3. /**
  4.  * view_header.php
  5.  *
  6.  * This is the code to view the message header.
  7.  *
  8.  * @copyright 1999-2014 The SquirrelMail Project Team
  9.  * @license http://opensource.org/licenses/gpl-license.php GNU Public License
  10.  * @version $Id: view_header.php 14437 2014-01-21 22:15:03Z pdontthink $
  11.  * @package squirrelmail
  12.  */
  13.  
  14. /** This is the view_header page */
  15. define('PAGE_NAME''view_header');
  16.  
  17. /**
  18.  * Include the SquirrelMail initialization file.
  19.  */
  20. require('../include/init.php');
  21.  
  22. /* SquirrelMail required files. */
  23. require_once(SM_PATH 'functions/imap.php');
  24. require_once(SM_PATH 'functions/url_parser.php');
  25.  
  26. function parse_viewheader($imapConnection,$id$passed_ent_id{
  27.  
  28.     $header_output array();
  29.     $second array();
  30.     $first array();
  31.  
  32.     if (!$passed_ent_id{
  33.         $read=sqimap_run_command ($imapConnection"FETCH $id BODY[HEADER]",
  34.                               true$a$bTRUE);
  35.     else {
  36.         $query "FETCH $id BODY[".$passed_ent_id.'.HEADER]';
  37.         $read=sqimap_run_command ($imapConnection$query,
  38.                               true$a$bTRUE);
  39.     }
  40.     $cnum 0;
  41.     for ($i=1$i count($read)$i++{
  42.         $line sm_encode_html_special_chars($read[$i]);
  43.         switch (true{
  44.             case (preg_match('/^&gt;/i'$line)):
  45.                 $second[$i$line;
  46.                 $first[$i'&nbsp;';
  47.                 $cnum++;
  48.                 break;
  49. // FIXME: is the pipe character below a mistake?  I think the original author might have thought it carried special meaning in the character class, which it does not... but then again, I am not currently trying to understand what this code actually does
  50.             case (preg_match('/^[ |\t]/'$line)):
  51.                 $second[$i$line;
  52.                 $first[$i'';
  53.                 break;
  54.             case (preg_match('/^([^:]+):(.+)/'$line$regs)):
  55.                 $first[$i$regs[1':';
  56.                 $second[$i$regs[2];
  57.                 $cnum++;
  58.                 break;
  59.             default:
  60.                 $second[$itrim($line);
  61.                 $first[$i'';
  62.                 break;
  63.         }
  64.     }
  65.     for ($i=0$i count($second)$i $j{
  66.         $f (isset($first[$i]$first[$i'');
  67.         $s (isset($second[$i]nl2br($second[$i]'');
  68.         $j $i 1;
  69.         while (($first[$j== ''&& ($j count($first))) {
  70.             $s .= '&nbsp;&nbsp;&nbsp;&nbsp;' nl2br($second[$j]);
  71.             $j++;
  72.         }
  73.         $lowf=strtolower($f);
  74.         /* do not mark these headers as emailaddresses */
  75.         if($lowf != 'message-id:' && $lowf != 'in-reply-to:' && $lowf != 'references:'{
  76.             parseEmail($s);
  77.         }
  78.         if ($f{
  79.             $header_output[array($f,$s);
  80.         }
  81.     }
  82.     sqimap_logout($imapConnection);
  83.     return $header_output;
  84. }
  85.  
  86. /* get global vars */
  87. sqgetGlobalVar('passed_id'$passed_idSQ_GETNULLSQ_TYPE_BIGINT);
  88. if sqgetGlobalVar('mailbox'$tempSQ_GET) ) {
  89.   $mailbox $temp;
  90. }
  91. if !sqgetGlobalVar('passed_ent_id'$passed_ent_idSQ_GET) ) {
  92.   $passed_ent_id '';
  93. }
  94. sqgetGlobalVar('delimiter',  $delimiter,    SQ_SESSION);
  95.  
  96. global $imap_stream_options// in case not defined in config
  97. $imapConnection sqimap_login($usernamefalse$imapServerAddress,
  98.                                $imapPort0$imap_stream_options);
  99. $mbx_response sqimap_mailbox_select($imapConnection$mailboxfalsefalsetrue);
  100. $header parse_viewheader($imapConnection,$passed_id$passed_ent_id);
  101.  
  102. $aTemplateHeaders array();
  103. foreach ($header as $h{
  104.     $aTemplateHeaders[array (
  105.                                     'Header' => $h[0],
  106.                                     'Value' => $h[1]
  107.                                 );
  108. }
  109.  
  110. sqgetGlobalVar('QUERY_STRING'$queryStrSQ_SERVER);
  111. $ret_addr SM_PATH 'src/read_body.php?'.$queryStr;
  112.  
  113. displayPageHeader$color$mailbox );
  114.  
  115. $oTemplate->assign('view_message_href'$ret_addr);
  116. $oTemplate->assign('headers'$aTemplateHeaders);
  117.  
  118. $oTemplate->display('view_header.tpl');
  119.  
  120. $oTemplate->display('footer.tpl');

Documentation generated on Mon, 24 Nov 2014 04:19:42 +0100 by phpDocumentor 1.4.3