⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 utility_all.php

📁 通达OA最重要的函数库
💻 PHP
📖 第 1 页 / 共 4 页
字号:
<?


  function format_date ($STRING1)
  {
    $STRING1 = str_replace ('-0', '-', $STRING1);
    $STR = strtok ($STRING1, '-');
    $STRING2 = $STR . '年';
    $STR = strtok ('-');
    $STRING2 .= $STR . '月';
    $STR = strtok (' ');
    $STRING2 .= $STR . '日';
    return $STRING2;
  }

  function get_week ($STRING1)
  {
    $STR = strtok ($STRING1, '-');
    $YEAR = $STR;
    $STR = strtok ('-');
    $MONTH = $STR;
    $STR = strtok (' ');
    $DAY = $STR;
    $TIME1 = mktime (0, 0, 0, $MONTH, $DAY, $YEAR);
   switch (date ('w', $TIME1))
    {
      case 0:
      {
        return '日';
      }

      case 1:
      {
        return '一';
      }

      case 2:
      {
        return '二';
      }

      case 3:
      {
        return '三';
      }

      case 4:
      {
        return '四';
      }

      case 5:
      {
        return '五';
      }

      case 6:
      {
        return '六';
      }
    }

  }

  function format_money ($STR)
  {
    if ($STR == '')
    {
      return '';
    }

    if ($STR == '.00')
    {
      return '0.00';
    }

    $TOK = strtok ($STR, '.');
    if (strcmp ($STR, $TOK) == '0')
    {
      $STR .= '.00';
    }
    else
    {
      $TOK = strtok ('.');
      for ($I = 1; $I <= 2 - strlen ($TOK); ++$I)
      {
        $STR .= '0';
      }
    }

    if (substr ($STR, 0, 1) == '.')
    {
      $STR = '0' . $STR;
    }

    return $STR;
  }

  function compare_date ($DATE1, $DATE2)
  {
    $STR = strtok ($DATE1, '-');
    $YEAR1 = $STR;
    $STR = strtok ('-');
    $MON1 = $STR;
    $STR = strtok ('-');
    $DAY1 = $STR;
    $STR = strtok ($DATE2, '-');
    $YEAR2 = $STR;
    $STR = strtok ('-');
    $MON2 = $STR;
    $STR = strtok ('-');
    $DAY2 = $STR;
    if ($YEAR2 < $YEAR1)
    {
      return 1;
    }
    else
    {
      if ($YEAR1 < $YEAR2)
      {
        return -1;
      }
      else
      {
        if ($MON2 < $MON1)
        {
          return 1;
        }
        else
        {
          if ($MON1 < $MON2)
          {
            return -1;
          }
          else
          {
            if ($DAY2 < $DAY1)
            {
              return 1;
            }
            else
            {
              if ($DAY1 < $DAY2)
              {
                return -1;
              }
              else
              {
                return 0;
              }
            }
          }
        }
      }
    }

  }

  function compare_time ($TIME1, $TIME2)
  {
    $STR = strtok ($TIME1, ':');
    $HOUR1 = $STR;
    $STR = strtok (':');
    $MIN1 = $STR;
    $STR = strtok (':');
    $SEC1 = $STR;
    $STR = strtok ($TIME2, ':');
    $HOUR2 = $STR;
    $STR = strtok (':');
    $MIN2 = $STR;
    $STR = strtok (':');
    $SEC2 = $STR;
    if ($HOUR2 < $HOUR1)
    {
      return 1;
    }
    else
    {
      if ($HOUR1 < $HOUR2)
      {
        return -1;
      }
      else
      {
        if ($MIN2 < $MIN1)
        {
          return 1;
        }
        else
        {
          if ($MIN1 < $MIN2)
          {
            return -1;
          }
          else
          {
            if ($SEC2 < $SEC1)
            {
              return 1;
            }
            else
            {
              if ($SEC1 < $SEC2)
              {
                return -1;
              }
              else
              {
                return 0;
              }
            }
          }
        }
      }
    }

  }

  function compare_date_time ($DATE_TIME1, $DATE_TIME2)
  {
    if (((($DATE_TIME1 == null OR strlen ($DATE_TIME1) == 0) OR $DATE_TIME2 == null) OR strlen ($DATE_TIME2) == 0))
    {
      return -1;
    }

    $DATE_TIME1_ARRY = explode (' ', $DATE_TIME1);
    $DATE_TIME2_ARRY = explode (' ', $DATE_TIME2);
    if (compare_date ($DATE_TIME1_ARRY[0], $DATE_TIME2_ARRY[0]) == 1)
    {
      return 1;
    }
    else
    {
      if (compare_date ($DATE_TIME1_ARRY[0], $DATE_TIME2_ARRY[0]) == 0)
      {
        if (compare_time ($DATE_TIME1_ARRY[1], $DATE_TIME2_ARRY[1]) == 1)
        {
          return 1;
        }
        else
        {
          if (compare_time ($DATE_TIME1_ARRY[1], $DATE_TIME2_ARRY[1]) == 0)
          {
            return 0;
          }
          else
          {
            return -1;
          }
        }
      }
      else
      {
        return -1;
      }
    }

  }

  function upload ($ATTACHMENT, $ATTACHMENT_NAME)
  {
    $FB_STR1 = urldecode ($ATTACHMENT_NAME);
    if ((strstr ($FB_STR1, '/') OR strstr ($FB_STR1, '\\')))
    {
      message ('错误', '禁止上传此文件类型。');
      button_back ();
      exit ();
    }

    $UPLOAD_MAX_FILESIZE = get_cfg_var ('upload_max_filesize');
    if (($_FILES['ATTACHMENT']['size'] == 0 AND $_FILES['ATTACHMENT1']['size'] == 0))
    {
      message ('错误', '请勿上传空文件,请点击浏览按钮,选择一个正确的文件。');
      button_back ();
      exit ();
    }

    $EXT_NAME = substr ($ATTACHMENT_NAME, -4);
    if (stristr ($EXT_NAME, '.php'))
    {
      message ('错误', 'PHP文件被禁止上传。');
      button_back ();
      exit ();
    }

    if (strstr ($ATTACHMENT_NAME, '\''))
    {
      message ('附件上传失败', '原因:附件文件名不能含有\'号!');
      button_back ();
      exit ();
    }

    if (!file_exists ($ATTACHMENT))
    {
      message ('附件上传失败', '' . '原因:附件文件为空或文件名太长,或附件大于 ' . $UPLOAD_MAX_FILESIZE . ' 字节,或文件路径不存在!');
      button_back ();
      exit ();
    }

    mt_srand ((double)microtime () * 1000000);
    $ATTACHMENT_ID = mt_rand ();
    global $ATTACH_PATH;
    $PATH = $ATTACH_PATH . $ATTACHMENT_ID;
    if (!file_exists ($PATH))
    {
      mkdir ($PATH, 448);
    }

    $FILENAME = $PATH . '/' . $ATTACHMENT_NAME;
    copy ($ATTACHMENT, $FILENAME);
    unlink ($ATTACHMENT);
    if (!file_exists ($FILENAME))
    {
      message ('附件上传失败', '' . '原因:附件文件为空或文件名太长,或附件大于 ' . $UPLOAD_MAX_FILESIZE . ' 字节,或文件路径不存在!');
      button_back ();
      exit ();
    }

    return $ATTACHMENT_ID;
  }

  function delete_attach ($ATTACHMENT_ID, $ATTACHMENT_NAME)
  {
    global $ATTACH_PATH;
    global $connection;
    $PATH = $ATTACH_PATH . $ATTACHMENT_ID;
    $FILENAME = $PATH . '/' . $ATTACHMENT_NAME;
    if (file_exists ($FILENAME))
    {
      unlink ($FILENAME);
      rmdir ($PATH);
    }

    $ATTACHMENT_ID = $ATTACHMENT_ID * 3 + 2;
    $query = '' . 'delete from ATTACHMENT_EDIT where ATTACHMENT_ID=\'' . $ATTACHMENT_ID . '\'';
    exequery ($connection, $query);
  }

  function attach_size ($ATTACHMENT_ID, $ATTACHMENT_NAME)
  {
    $ATTACH_SIZE = 0;
    global $ATTACH_PATH;
    $PATH = $ATTACH_PATH . $ATTACHMENT_ID;
    $FILENAME = $PATH . '/' . $ATTACHMENT_NAME;
    if (file_exists ($FILENAME))
    {
      $ATTACH_SIZE = filesize ($FILENAME);
    }

    return $ATTACH_SIZE;
  }

  function copy_attach ($ATTACHMENT_ID, $ATTACHMENT_NAME)
  {
    global $ATTACH_PATH;
    $ATTACHMENT_ID = ($ATTACHMENT_ID - 2) / 3;
    $PATH = $ATTACH_PATH . $ATTACHMENT_ID;
    $FILENAME1 = $PATH . '/' . $ATTACHMENT_NAME;
    mt_srand ((double)microtime () * 1000000);
    $ATTACHMENT_ID = mt_rand ();
    $PATH = $ATTACH_PATH . $ATTACHMENT_ID;
    if (!file_exists ($PATH))
    {
      mkdir ($PATH, 448);
    }

    $FILENAME2 = $PATH . '/' . $ATTACHMENT_NAME;
    copy ($FILENAME1, $FILENAME2);
    return $ATTACHMENT_ID;
  }

  function is_chinese (&$str, $location)
  {
    $ch = true;
    $i = $location;
    while ((160 < ord ($str[$i]) AND 0 <= $i))
    {
      $ch = !$ch;
      --$i;
    }

    if ($i != $location)
    {
      $f_str = ($ch ? 1 : -1);
    }
    else
    {
      $f_str = false;
    }

    return $f_str;
  }

  function csubstr (&$str, $start = 0, $long = 0, $ltor = true, $cn_len = 2)
  {
    if ($long == 0)
    {
      $long = strlen ($str);
    }

    if ($ltor == false)
    {
      $str = cstrrev ($str);
    }

    if ($cn_len == 1)
    {
      $i = 0;
      for ($fs = 0; $i < $start; ++$fs)
      {
        $i += (ord ($str[$fs]) <= 160 ? 1 : 0.5);
      }

      $i = 0;
      for ($fe = $fs; $i < $long; ++$fe)
      {
        $i += (ord ($str[$fe]) <= 160 ? 1 : 0.5);
      }

      $long = $fe - $fs;
    }
    else
    {
      $fs = (is_chinese (&$str, $start) == 1 ? $start - 1 : $start);
      $fe = $long + $start - 1;
      $end = (is_chinese (&$str, $fe) == -1 ? $fe - 1 : $fe);
      $long = $end - $fs + 1;
    }

    $f_str = substr ($str, $fs, $long);
    if ($ltor == false)
    {
      $f_str = cstrrev ($f_str);
    }

    return $f_str;
  }

  function is_ip ($IP)
  {
    $IP_ARRAY = explode ('.', $IP);
    $IP_ARRAY_NUM = sizeof ($IP_ARRAY);
    if ($IP_ARRAY_NUM != 4)
    {
      return false;
    }

    for ($I = 0; $I < $IP_ARRAY_NUM; ++$I)
    {
      if (((!is_numeric ($IP_ARRAY[$I]) OR $IP_ARRAY[$I] < 0) OR 255 < $IP_ARRAY[$I]))
      {
        return false;
      }

      if (($I == 3 AND $IP_ARRAY[$I] == 255))
      {
        return false;
        continue;
      }
    }

    return true;
  }

  function check_ip ($USER_IP, $TYPE, $USER_ID)
  {
    global $connection;
    $query = 'SELECT * from SYS_PARA where PARA_NAME=\'IP_UNLIMITED_USER\'';
    $cursor = exequery ($connection, $query);
    if ($ROW = mysql_fetch_array ($cursor))
    {
      $IP_UNLIMITED_USER = $ROW['PARA_VALUE'];
    }

    if (find_id ($IP_UNLIMITED_USER, $USER_ID))
    {
      return true;
    }

    $query = '' . 'select * from IP_RULE where TYPE=\'' . $TYPE . '\'';
    $cursor = exequery ($connection, $query);
    $RULE_COUNT = 0;
    $FLAG = 0;
    while ($ROW = mysql_fetch_array ($cursor))
    {
      ++$RULE_COUNT;
      $BEGIN_IP = $ROW['BEGIN_IP'];
      $END_IP = $ROW['END_IP'];
      if ((ip2long ($BEGIN_IP) <= ip2long ($USER_IP) AND ip2long ($USER_IP) <= ip2long ($END_IP)))
      {
        $FLAG = 1;
        break;
      }
    }

    if (($RULE_COUNT == 0 OR $FLAG == 1))
    {
      return true;
    }

⌨️ 快捷键说明

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