export.php

来自「通达OA2007SE源代码 非常好的」· PHP 代码 · 共 194 行

PHP
194
字号
<?
  include_once 'inc/auth.php';
  include_once 'inc/zip.php';
  include_once 'inc/utility_all.php';
  $zip = new zip ();
  if (($DELETE_STR == ''))
  {
    $DELETE_STR = 0;
  }
  else
  {
    $DELETE_STR = substr ($DELETE_STR, 0, -1);
  }
  $COUNT = 0;
  $query = (((''.'SELECT * from EMAIL_BODY where BODY_ID in (').$DELETE_STR).')');
  $cursor = exequery ($connection, $query);
  while ($ROW = mysql_fetch_array ($cursor))
  {
    $FROM_ID = $ROW['FROM_ID'];
    $TO_ID2 = $ROW['TO_ID2'];
    $COPY_TO_ID = $ROW['COPY_TO_ID'];
    $SUBJECT = $ROW['SUBJECT'];
    $CONTENT = $ROW['CONTENT'];
    $SEND_TIME = $ROW['SEND_TIME'];
    $ATTACHMENT_ID = $ROW['ATTACHMENT_ID'];
    $ATTACHMENT_NAME = $ROW['ATTACHMENT_NAME'];
    $SUBJECT = htmlspecialchars ($SUBJECT);
    $CONTENT = str_replace ('  ', '&nbsp;&nbsp;', $CONTENT);
    $CONTENT = str_replace ('
', '<br>', $CONTENT);
    $TO_ID2 = substr (str_replace (',,', ',', str_replace (',,', ',', $TO_ID2)), 0, -1);
    if (($FROM_ID != $LOGIN_USER_ID))
    {
      $query1 = (((''.'SELECT USER_NAME from USER where USER_ID=\'').$FROM_ID).'\'');
      $cursor1 = exequery ($connection, $query1);
      if ($ROW = mysql_fetch_array ($cursor1))
      {
        $FROM_NAME = $ROW['USER_NAME'];
      }
    }
    else
    {
      $FROM_NAME = $LOGIN_USER_NAME;
    }
    $TO_NAME = '';
    if (($TO_ID2 != $LOGIN_USER_ID))
    {
      $query1 = (((''.'SELECT USER_NAME from USER where find_in_set(USER_ID,\'').$TO_ID2).'\')');
      $cursor1 = exequery ($connection, $query1);
      while ($ROW = mysql_fetch_array ($cursor1))
      {
        ($TO_NAME .= ($ROW['USER_NAME'].','));
      }
      if ((substr ($TO_NAME, -1) == ','))
      {
        $TO_NAME = substr ($TO_NAME, 0, -1);
      }
    }
    else
    {
      $TO_NAME = $LOGIN_USER_NAME;
    }
    $COPY_TO_NAME = '';
    if (($COPY_TO_ID != ''))
    {
      $query1 = (((''.'SELECT USER_NAME from USER where find_in_set(USER_ID,\'').$COPY_TO_ID).'\')');
      $cursor1 = exequery ($connection, $query1);
      while ($ROW = mysql_fetch_array ($cursor1))
      {
        ($COPY_TO_NAME .= ($ROW['USER_NAME'].','));
      }
      if ((substr ($COPY_TO_NAME, -1) == ','))
      {
        $COPY_TO_NAME = substr ($COPY_TO_NAME, 0, -1);
      }
    }
    if ((substr ($TO_ID, -1) == ','))
    {
      $TO_ID = substr ($TO_ID, 0, -1);
    }
    if ((substr ($COPY_TO_ID, -1) == ','))
    {
      $COPY_TO_ID = substr ($COPY_TO_ID, 0, -1);
    }
    if ((($TO_ID != $LOGIN_USER_ID) AND ($FROM_ID != $LOGIN_USER_ID)))
    {
      exit ();
    }
    $SUBJECT1 = str_replace (':', ':', $SUBJECT);
    $SUBJECT1 = str_replace ('\\', '', $SUBJECT1);
    $SUBJECT1 = str_replace ('/', '', $SUBJECT1);
    $SUBJECT1 = str_replace ('*', '', $SUBJECT1);
    $SUBJECT1 = str_replace ('?', '', $SUBJECT1);
    $SUBJECT1 = str_replace ('"', '“', $SUBJECT1);
    $SUBJECT1 = str_replace ('<', '[', $SUBJECT1);
    $SUBJECT1 = str_replace ('>', ']', $SUBJECT1);
    $SUBJECT1 = str_replace ('|', '', $SUBJECT1);
    $FILE_CONTENT = (('Date: '.gmdate ('r', strtotime ($SEND_TIME))).'
');
    ($FILE_CONTENT .= (((('From: "'.$FROM_NAME).'" <').$FROM_ID).'>
'));
    ($FILE_CONTENT .= 'MIME-Version: 1.0
');
    ($FILE_CONTENT .= (((('To: "'.$TO_NAME).'" <').$TO_ID2).'>
'));
    if (($COPY_TO_ID != ''))
    {
      ($FILE_CONTENT .= (((('Cc: "'.$COPY_TO_NAME).'" <').$COPY_TO_ID).'>
'));
    }
    ($FILE_CONTENT .= (('Subject: '.$SUBJECT).'
'));
    ($FILE_CONTENT .= 'Content-Type: multipart/mixed; boundary="==========tongda=========="
');
    ($FILE_CONTENT .= 'This is a multi-part message in MIME format.
');
    ($FILE_CONTENT .= '--==========tongda==========
');
    ($FILE_CONTENT .= 'Content-Type: text/html;	charset="gb2312"
');
    ($FILE_CONTENT .= 'Content-Transfer-Encoding: base64
');
    ($FILE_CONTENT .= (chunk_split (base64_encode ($CONTENT)).'
'));
    $ATTACHMENT_ID_ARRAY = explode (',', $ATTACHMENT_ID);
    $ATTACHMENT_NAME_ARRAY = explode ('*', $ATTACHMENT_NAME);
    $ARRAY_COUNT = sizeof ($ATTACHMENT_ID_ARRAY);
    for ($I = 0; ($I < ($ARRAY_COUNT - 1)); ++$I)
    {
      $filename = attach_real_path ($ATTACHMENT_ID_ARRAY[$I], $ATTACHMENT_NAME_ARRAY[$I]);
      if (!file_exists ($filename))
      {
        continue;
      }
      else
      {
        ($FILE_CONTENT .= '--==========tongda==========
');
        ($FILE_CONTENT .= (('Content-Type: application/octet-stream;	name="'.$ATTACHMENT_NAME_ARRAY[$I]).'"
'));
        ($FILE_CONTENT .= 'Content-Transfer-Encoding: base64
');
        ($FILE_CONTENT .= (('Content-Disposition: attachment; filename="'.$ATTACHMENT_NAME_ARRAY[$I]).'"
'));
        ($FILE_CONTENT .= (chunk_split (base64_encode (file_get_contents ($filename))).'
'));
        continue;
      }
    }
    ($FILE_CONTENT .= '--==========tongda==========--');
    $zipfiles[] = array (($SUBJECT1.'.eml'), $FILE_CONTENT);
    $subject_array[$COUNT] = ($SUBJECT1.'.eml');
    ++$COUNT;
  }
  $filecount = array_count_values ($subject_array);
  while (list ($key, $value) = each ($filecount))
  {
    if (($value <= 1))
    {
      continue;
    }
    else
    {
      $COUNT = 0;
      for ($I = 0; ($I < count ($zipfiles)); ++$I)
      {
        if (($zipfiles[$I][0] != $key))
        {
          continue;
        }
        else
        {
          if ((0 < $COUNT))
          {
            $zipfiles[$I][0] = (((substr ($zipfiles[$I][0], 0, -4).'(').$COUNT).').eml');
          }
          ++$COUNT;
          continue;
        }
      }
      continue;
    }
  }
  $zip->Add ($zipfiles, 1);
  $code = $zip->get_file ();
  ob_end_clean ();
  header ('Cache-control: private');
  header ('Content-type: application/x-zip');
  header ('Accept-Ranges: bytes');
  header (('Accept-Length: '.strlen ($code)));
  header ((('Content-Disposition: attachment; filename= OA内部邮件('.date ('Y-m-d', time ())).').zip'));
  echo $code;
?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?