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

📄 utility_all.php

📁 通达OA最重要的函数库
💻 PHP
📖 第 1 页 / 共 4 页
字号:
        $URL = '/general/workflow/list';
        break;
      }

      case '8':
      {
        $URL = '/general/meeting/manage/';
        break;
      }

      case '9':
      {
        if (((strstr ($CONTENT, '提交') AND strstr ($CONTENT, '申请')) AND strstr ($CONTENT, '请批示')))
        {
          $URL = '/general/vehicle/checkup/';
          break;
        }
        else
        {
          $URL = '/general/vehicle/';
          break;
        }

        break;
      }

      case '10':
      {
        $URL = '/general/mobile_sms/';
        break;
      }

      case '11':
      {
        $URL = '/general/vote/show/';
        break;
      }

      case '12':
      {
        $URL = '/general/work_plan/show/';
        break;
      }

      case '13':
      {
        $URL = '/general/diary/';
        break;
      }

      case '14':
      {
        $URL = '/general/news/show/';
        break;
      }

      case '15':
      {
        $URL = '/general/score/submit/';
        break;
      }

      case '16':
      {
        $URL = '/general/file_folder/index1.php';
        break;
      }

      case '17':
      {
        $URL = '/general/netdisk';
        break;
      }

      case '18':
      {
        $URL = '/general/bbs';
      }
    }

    return $URL;
  }

  function full_path ($SORT_ID)
  {
    if ($SORT_ID == 0)
    {
      return null;
    }

    global $connection;
    $query = '' . 'SELECT * from FILE_SORT where SORT_ID=' . $SORT_ID;
    $cursor = exequery ($connection, $query);
    if ($ROW = mysql_fetch_array ($cursor))
    {
      $SORT_PARENT = $ROW['SORT_PARENT'];
      $SORT_NAME = $ROW['SORT_NAME'];
    }

    return full_path ($SORT_PARENT) . '/' . $SORT_NAME;
  }

  function avatar_size ($AVATAR)
  {
    global $ROOT_PATH;
    global $connection;
    $FILENAME = $ROOT_PATH . 'images/avatar/' . $AVATAR . '.gif';
    $query = 'SELECT * from INTERFACE';
    $cursor = exequery ($connection, $query);
    if ($ROW = mysql_fetch_array ($cursor))
    {
      $AVATAR_WIDTH = $ROW['AVATAR_WIDTH'];
      $AVATAR_HEIGHT = $ROW['AVATAR_HEIGHT'];
    }

    $IMG_ATTR = @getimagesize ($FILENAME);
    if ($AVATAR_WIDTH < $IMG_ATTR[0])
    {
      $IMG_ATTR[0] = $AVATAR_WIDTH;
    }

    if ($AVATAR_HEIGHT < $IMG_ATTR[1])
    {
      $IMG_ATTR[1] = $AVATAR_HEIGHT;
    }

    if ($IMG_ATTR[0] < 15)
    {
      $IMG_ATTR[0] = 15;
    }

    if ($IMG_ATTR[1] < 15)
    {
      $IMG_ATTR[1] = 15;
    }

    return ('' . 'width="' . $IMG_ATTR['0'] . '" height="' . $IMG_ATTR['1'] . '"');
  }

  function login_check ($USERNAME, $PASSWORD)
  {
    global $connection;
    session_start ();
    ob_start ();
    $USER_IP = get_client_ip ();
    $query = 'SELECT * from SYS_PARA where PARA_NAME=\'SEC_PASS_FLAG\' or PARA_NAME=\'SEC_PASS_TIME\' or PARA_NAME=\'SEC_RETRY_BAN\' or PARA_NAME=\'SEC_RETRY_TIMES\' or PARA_NAME=\'SEC_BAN_TIME\'';
    $cursor = exequery ($connection, $query);
    while ($ROW = mysql_fetch_array ($cursor))
    {
      $PARA_NAME = $ROW['PARA_NAME'];
      $PARA_VALUE = $ROW['PARA_VALUE'];
      if ($PARA_NAME == 'SEC_PASS_FLAG')
      {
        $SEC_PASS_FLAG = $PARA_VALUE;
        continue;
      }
      else
      {
        if ($PARA_NAME == 'SEC_PASS_TIME')
        {
          $SEC_PASS_TIME = $PARA_VALUE;
          continue;
        }
        else
        {
          if ($PARA_NAME == 'SEC_RETRY_BAN')
          {
            $SEC_RETRY_BAN = $PARA_VALUE;
            continue;
          }
          else
          {
            if ($PARA_NAME == 'SEC_RETRY_TIMES')
            {
              $SEC_RETRY_TIMES = $PARA_VALUE;
              continue;
            }
            else
            {
              if ($PARA_NAME == 'SEC_BAN_TIME')
              {
                $SEC_BAN_TIME = $PARA_VALUE;
                continue;
              }

              continue;
            }

            continue;
          }

          continue;
        }

        continue;
      }
    }

    $LOGIN_RETRY_COUNT = $_COOKIE['LOGIN_RETRY_COUNT'];
    if (($SEC_RETRY_BAN == '1' AND $SEC_RETRY_TIMES <= $LOGIN_RETRY_COUNT))
    {
      return '' . '用户名或密码错误超过 ' . $SEC_RETRY_TIMES . ' 次,请等待' . $SEC_BAN_TIME . '分钟后重试!';
    }

    if (!check_ip ($USER_IP, '0', $USERNAME))
    {
      add_log (9, '' . 'USERNAME=' . $USERNAME, $USERNAME);
      if ($SEC_RETRY_BAN == '1')
      {
        ++$LOGIN_RETRY_COUNT;
        setcookie ('LOGIN_RETRY_COUNT', $LOGIN_RETRY_COUNT, time () + $SEC_BAN_TIME * 60);
      }

      return '您无权限从该IP(' . $USER_IP . ')登录!';
    }

    $query = '' . 'SELECT * from USER where USER_ID=\'' . $USERNAME . '\' or BYNAME=\'' . $USERNAME . '\'';
    $cursor = exequery ($connection, $query);
    if (!$ROW = mysql_fetch_array ($cursor))
    {
      add_log (10, '' . 'USERNAME=' . $USERNAME, $USERNAME);
      if ($SEC_RETRY_BAN == '1')
      {
        ++$LOGIN_RETRY_COUNT;
        setcookie ('LOGIN_RETRY_COUNT', $LOGIN_RETRY_COUNT, time () + $SEC_BAN_TIME * 60);
      }

      return '用户名或密码错误,注意大小写!';
    }

    $USER_ID = $ROW['USER_ID'];
    $BYNAME = $ROW['BYNAME'];
    $USER_NAME = $ROW['USER_NAME'];
    if ((($USERNAME != $USER_ID AND $USERNAME != $BYNAME) OR $USERNAME == ''))
    {
      add_log (10, '' . 'USERNAME=' . $USERNAME, $USERNAME);
      if ($SEC_RETRY_BAN == '1')
      {
        ++$LOGIN_RETRY_COUNT;
        setcookie ('LOGIN_RETRY_COUNT', $LOGIN_RETRY_COUNT, time () + $SEC_BAN_TIME * 60);
      }

      return '用户名或密码错误,注意大小写!';
    }

    $PWD = $ROW['PASSWORD'];
    $NOT_LOGIN = $ROW['NOT_LOGIN'];
    if ($NOT_LOGIN)
    {
      if ($SEC_RETRY_BAN == '1')
      {
        ++$LOGIN_RETRY_COUNT;
        setcookie ('LOGIN_RETRY_COUNT', $LOGIN_RETRY_COUNT, time () + $SEC_BAN_TIME * 60);
      }

      return '用户' . $USERNAME . '被设定为禁止登录!';
    }

    if (crypt ($PASSWORD, $PWD) != $PWD)
    {
      $ERROR_PWD = maskstr ($PASSWORD, 2, 1);
      add_log (2, $ERROR_PWD, $USER_ID);
      if ($SEC_RETRY_BAN == '1')
      {
        ++$LOGIN_RETRY_COUNT;
        setcookie ('LOGIN_RETRY_COUNT', $LOGIN_RETRY_COUNT, time () + $SEC_BAN_TIME * 60);
      }

      return '用户名或密码错误,注意大小写!';
    }

    global $LOGIN_USER_ID;
    global $LOGIN_BYNAME;
    global $LOGIN_USER_NAME;
    global $LOGIN_USER_PRIV;
    global $LOGIN_DEPT_ID;
    global $LOGIN_AVATAR;
    global $LOGIN_THEME;
    global $LOGIN_FUNC_STR;
    global $LOGIN_NOT_VIEW_USER;
    $LOGIN_USER_PRIV = $ROW['USER_PRIV'];
    $USER_PRIV_OTHER = $ROW['USER_PRIV_OTHER'];
    $LOGIN_AVATAR = $ROW['AVATAR'];
    $LOGIN_DEPT_ID = $ROW['DEPT_ID'];
    $LAST_PASS_TIME = $ROW['LAST_PASS_TIME'];
    $LOGIN_THEME = $ROW['THEME'];
    $LOGIN_NOT_VIEW_USER = $ROW['NOT_VIEW_USER'];
    if ($LOGIN_THEME == '')
    {
      $LOGIN_THEME = '1';
    }

    if (!find_id ($USER_PRIV_OTHER, $LOGIN_USER_PRIV))
    {
      $USER_PRIV_OTHER .= $LOGIN_USER_PRIV . ',';
    }

    $LOGIN_FUNC_STR = '';
    $TOK = strtok ($USER_PRIV_OTHER, ',');
    while ($TOK != '')
    {
      $query1 = '' . 'SELECT * from USER_PRIV where USER_PRIV=\'' . $TOK . '\'';
      $cursor1 = exequery ($connection, $query1);
      if ($ROW = mysql_fetch_array ($cursor1))
      {
        $FUNC_STR = $ROW['FUNC_ID_STR'];
        $MY_ARRAY = explode (',', $FUNC_STR);
        $ARRAY_COUNT = sizeof ($MY_ARRAY);
        if ($MY_ARRAY[$ARRAY_COUNT - 1] == '')
        {
          --$ARRAY_COUNT;
        }

        for ($I = 0; $I < $ARRAY_COUNT; ++$I)
        {
          if (!find_id ($LOGIN_FUNC_STR, $MY_ARRAY[$I]))
          {
            $LOGIN_FUNC_STR .= $MY_ARRAY[$I] . ',';
            continue;
          }
        }
      }

      $TOK = strtok (',');
    }

    $LOGIN_USER_ID = $USER_ID;
    $LOGIN_BYNAME = $BYNAME;
    $LOGIN_USER_NAME = $USER_NAME;
    session_register ('LOGIN_USER_ID');
    session_register ('LOGIN_BYNAME');
    session_register ('LOGIN_USER_NAME');
    session_register ('LOGIN_USER_PRIV');
    session_register ('LOGIN_DEPT_ID');
    session_register ('LOGIN_AVATAR');
    session_register ('LOGIN_THEME');
    session_register ('LOGIN_FUNC_STR');
    session_register ('LOGIN_NOT_VIEW_USER');
    setcookie ('USER_NAME_COOKIE', $USERNAME, time () + 86400000);
    setcookie ('OA_USER_ID', $LOGIN_USER_ID);
    if (($SEC_PASS_FLAG == '1' AND $SEC_PASS_TIME * 24 * 3600 <= time () - strtotime ($LAST_PASS_TIME)))
    {
      header ('location: /general/pass.php');
      exit ();
    }

    add_log (1, '', $LOGIN_USER_ID);
    affair_sms ();
    return '1';
  }

  function format_cvs ($STR)
  {
    $STR = str_replace ('"', '', $STR);
    if (strpos ($STR, ',') === false)
    {
      return $STR;
    }
    else
    {
      $STR = '"' . $STR . '"';
    }

    return $STR;
  }

  function is_media ($FILE_NAME)
  {
    global $connection;
    $query = 'SELECT * from SYS_PARA where PARA_NAME=\'MEDIA_REAL_TYPE\'';
    $cursor = exequery ($connection, $query);
    if ($ROW = mysql_fetch_array ($cursor))
    {
      $MEDIA_REAL_TYPE = $ROW['PARA_VALUE'];
    }

    $query = 'SELECT * from SYS_PARA where PARA_NAME=\'MEDIA_MS_TYPE\'';
    $cursor = exequery ($connection, $query);
    if ($ROW = mysql_fetch_array ($cursor))
    {
      $MEDIA_MS_TYPE = $ROW['PARA_VALUE'];
    }

    $MEDIA_REAL_TYPE = strtolower ($MEDIA_REAL_TYPE);
    $MEDIA_MS_TYPE = strtolower ($MEDIA_MS_TYPE);
    $EXT_NAME = strtolower (substr ($FILE_NAME, strrpos ($FILE_NAME, '.') + 1));
    if (find_id ($MEDIA_REAL_TYPE, $EXT_NAME))
    {
      return 1;
    }

    if (find_id ($MEDIA_MS_TYPE, $EXT_NAME))
    {
      return 2;
    }

    return 0;
  }

  function keyed_str ($TXT, $ENCRYPT_KEY)
  {
    $ENCRYPT_KEY = md5 ($ENCRYPT_KEY);
    $CTR = 0;
    $TMP = '';
    for ($I = 0; $I < strlen ($TXT); ++$I)
    {
      if ($CTR == strlen ($ENCRYPT_KEY))
      {
        $CTR = 0;
      }

      $TMP .= substr ($TXT, $I, 1) ^ substr ($ENCRYPT_KEY, $CTR, 1);
      ++$CTR;
    }

    return $TMP;
  }

  function encrypt_str ($TXT, $KEY)
  {
    srand ((double)microtime () * 1000000);
    $ENCRYPT_KEY = md5 (rand (0, 32000));
    $CTR = 0;
    $TMP = '';
    for ($I = 0; $I < strlen ($TXT); ++$I)
    {
      if ($CTR == strlen ($ENCRYPT_KEY))
      {
        $CTR = 0;
      }

      $TMP .= substr ($ENCRYPT_KEY, $CTR, 1) . (substr ($TXT, $I, 1) ^ substr ($ENCRYPT_KEY, $CTR, 1));
      ++$CTR;
    }

    return keyed_str ($TMP, $KEY);
  }

  function decrypt_str ($TXT, $KEY)
  {
    $TXT = keyed_str ($TXT, $KEY);
    $TMP = '';
    for ($I = 0; $I < strlen ($TXT); ++$I)
    {
      $MD5 = substr ($TXT, $I, 1);
      ++$I;
      $TMP .= substr ($TXT, $I, 1) ^ $MD5;
    }

    return $TMP;
  }

  function get_client_ip ()
  {
    if (isset ($_SERVER))
    {
      if (isset ($_SERVER['HTTP_X_FORWARDED_FOR']))
      {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
      }
      else
      {
        if (isset ($_SERVER['HTTP_CLIENT_IP']))
        {
          $ip = $_SERVER['HTTP_CLIENT_IP'];
        }
        else
        {
          $ip = $_SERVER['REMOTE_ADDR'];
        }
      }
    }
    else
    {
      if (getenv ('HTTP_X_FORWARDED_FOR'))
      {
        $ip = getenv ('HTTP_X_FORWARDED_FOR');
      }
      else
      {
        if (getenv ('HTTP_CLIENT_IP'))
        {
          $ip = getenv ('HTTP_CLIENT_IP');
        }
        else
        {
          $ip = getenv ('REMOTE_ADDR');
        }
      }
    }

    return $ip;
  }

  include_once 'inc/conn.php';
  include_once 'inc/utility.php';
?>

⌨️ 快捷键说明

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