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

📄 tree.php

📁 通达OA官方提供的30源代码,感觉很实在
💻 PHP
字号:
<?
include_once("inc/auth.php");
include_once("inc/utility_all.php");
include_once("inc/utility_org.php");
include_once("inc/ip2add.php");
include_once("inc/user_online.php");
ob_end_clean();
header("Content-type: text/xml");

$PARENT_ID=$DEPT_ID;
//$LOGIN_USER_ID="admin";
//$LOGIN_DEPT_ID="1";
//$LOGIN_USER_PRIV="1";

if($MODULE_ID!="" && ($DEPT_PRIV=="2" || $DEPT_PRIV=="3" || $ROLE_PRIV=="3"))
{
   $query1 = "SELECT * from MODULE_PRIV where UID='$LOGIN_UID' and MODULE_ID='$MODULE_ID'";
   $cursor1= exequery($connection,$query1);
   if($ROW=mysql_fetch_array($cursor1))
   {
      $DEPT_ID_STR=$ROW["DEPT_ID"];
      $PRIV_ID_STR=$ROW["PRIV_ID"];
      $USER_ID_STR=$ROW["USER_ID"];
   }
}
else if($MODULE_ID=="" && $DEPT_PRIV=="2")
{
   $query = "SELECT POST_DEPT from USER where UID='$LOGIN_UID'";
   $cursor= exequery($connection,$query);
   if($ROW=mysql_fetch_array($cursor))
      $DEPT_ID_STR=$ROW["POST_DEPT"];
}

if($MODULE_ID=="0")
   $EXCLUDE_UID_STR=my_exclude_uid();
   
//--------------------------------------------
echo "<?xml version=\"1.0\" encoding=\"gb2312\"?>\n";
echo "<TreeNode>\n";
if($PARENT_ID==0)
{
	$query = "SELECT * from UNIT";
  $cursor= exequery($connection,$query);
  if($ROW=mysql_fetch_array($cursor))
     $UNIT_NAME=$ROW["UNIT_NAME"];

  $UNIT_NAME=htmlspecialchars($UNIT_NAME);
  $UNIT_NAME=str_replace("\"","&quot;",$UNIT_NAME);
  $UNIT_NAME=stripslashes($UNIT_NAME);

  echo "  <TreeNode id=\"0\" text=\"$UNIT_NAME\" Xml=\"\" img_src=\"/images/menu/system.gif\">\n";
  echo userListTree($PARENT_ID);
  echo "  </TreeNode>\n";
}
else
  echo userListTree($PARENT_ID);

echo "</TreeNode>\n";


//======================================================
function userListTree($PARENT_ID)
{
   global $connection,$LOGIN_USER_ID,$MANAGE_FLAG,$LOGIN_DEPT_ID,$LOGIN_USER_PRIV,$PRIV_NO,$PRIV_NO,$PARA_URL1,$PARA_URL2,$PARA_TARGET,$PARA_ID,$PARA_VALUE,$ONLINE_REF_SEC,$PWD,$SYS_ONLINE_USER,$SHOW_IP,$SYS_DEPARTMENT,$DEPT_PRIV,$ROLE_PRIV,$DEPT_ID_STR,$PRIV_ID_STR,$USER_ID_STR,$EXCLUDE_UID_STR,$MODULE_ID;

   $DEPT_PRIV_I=$DEPT_PRIV=="3" || is_dept_priv($PARENT_ID, $DEPT_PRIV, $DEPT_ID_STR);
   if($DEPT_PRIV_I==1)
   {
      $query1 = "SELECT UID,HRMS.USER_ID,USER_NAME,HRMS.SEX,LAST_VISIT_TIME,LAST_VISIT_IP,PRIV_NO from USER_PRIV,USER left join HRMS on USER.USER_ID=HRMS.USER_ID where USER.DEPT_ID=0 and HRMS.DEPT_ID!=0 and HRMS.DEPT_ID='$PARENT_ID' and USER.USER_PRIV=USER_PRIV.USER_PRIV";
      if($LOGIN_USER_PRIV!="1")
      {
         if($ROLE_PRIV=="0")
            $query1 .= " and USER_PRIV.PRIV_NO>$PRIV_NO";
         else if($ROLE_PRIV=="1")
            $query1 .= " and USER_PRIV.PRIV_NO>=$PRIV_NO";
         else if($ROLE_PRIV=="3")
            $query1 .= " and find_in_set(USER.USER_PRIV,'$PRIV_ID_STR')";
         if($PRIV_NO_FLAG=="3")
            $query1 .= " and USER_PRIV.USER_PRIV!=1";
         if($DEPT_PRIV=="3")
            $query1 .= " and find_in_set(USER.USER_ID,'$USER_ID_STR')";
      }
      if($MANAGE_FLAG!="1")
         $query1.= " and NOT_LOGIN!='1'";

      $query1.= " order by PRIV_NO,USER_NO,USER_NAME";
//echo $query1;exit;
      $cursor1= exequery($connection,$query1);
      while($ROW=mysql_fetch_array($cursor1))
      {
          $UID=$ROW["UID"];
          $USER_ID=$ROW["USER_ID"];
          $USER_NAME=$ROW["USER_NAME"];
          $SEX=$ROW["SEX"];
          $LAST_VISIT_TIME=$ROW["LAST_VISIT_TIME"];
          $PRIV_NO1=$ROW["PRIV_NO"];
          $LAST_VISIT_IP="";

          if($SEX=="")
             $SEX="0";
          if(is_array($SYS_ONLINE_USER[strval($UID)]))
          {
             $IMG_NAME=$SEX."-1";
             if($SHOW_IP)
             {
                $LAST_VISIT_IP=$ROW["LAST_VISIT_IP"];
                if($LAST_VISIT_IP=="")
                {
                   $query= "select IP from SYS_LOG where TYPE='1' and USER_ID='$USER_ID' order by TIME desc limit 0,1";
                   $cursor= exequery($connection,$query);
                   if($ROW=mysql_fetch_array($cursor))
                   $LAST_VISIT_IP=$ROW["IP"];
                }
                $LAST_VISIT_IP=" (".htmlspecialchars(convertip($LAST_VISIT_IP))." ".$LAST_VISIT_IP.")";
             }
          }
          else
             $IMG_NAME=$SEX."-2";

          $USER_NAME=htmlspecialchars($USER_NAME);

          if($PARA_ID=="")
             $URL="$PARA_URL2?USER_ID=$USER_ID";
          else if($PARA_ID=="ISPIRIT"&&$PARA_VALUE=="1")
             $URL="/ispirit/go.php?LOGIN_USER_ID=$LOGIN_USER_ID&amp;PWD=$PWD&amp;URL=$PARA_URL2?USER_ID=$USER_ID";
          else
             $URL="$PARA_URL2?USER_ID=$USER_ID&amp;$PARA_ID=$PARA_VALUE";

          $XML_TEXT_USER.="<TreeNode id=\"$USER_ID\" value=\"$USER_ID\" text=\"$USER_NAME\" href=\"$URL\" img_src=\"/images/".$IMG_NAME.".gif\" onload=\"RAP('$USER_ID');\" title=\"".$USER_NAME.$LAST_VISIT_IP."\" target=\"$PARA_TARGET\"/>\n";
      }//while
   }

   while(list($DEPT_ID1, $DEPT) = each($SYS_DEPARTMENT))
   {
       if($DEPT["DEPT_PARENT"]!=$PARENT_ID)
          continue;
       
       $DEPT_NAME1=$DEPT["DEPT_NAME"];
       $DEPT_NAME1=htmlspecialchars($DEPT_NAME1);
       $DEPT_NAME1=stripslashes($DEPT_NAME1);

       $CHILD_COUNT=0;
       $query = "SELECT 1 from DEPARTMENT where DEPT_PARENT='$DEPT_ID1' limit 0,1";
       $cursor2= exequery($connection,$query);
       if($ROW1=mysql_fetch_array($cursor2))
          $CHILD_COUNT++;
       $query = "SELECT 1 from USER where DEPT_ID='$DEPT_ID1' or find_in_set('$DEPT_ID1', DEPT_ID_OTHER) limit 0,1";
       $cursor2= exequery($connection,$query);
       if($ROW1=mysql_fetch_array($cursor2))
          $CHILD_COUNT++;

      $DEPT_PRIV_I1=$DEPT_PRIV=="3" || is_dept_priv($DEPT_ID1, $DEPT_PRIV, $DEPT_ID_STR);

       if($DEPT_PRIV_I1==1)
          $XML_TEXT_DEPT.="<TreeNode id=\"$DEPT_ID1\" text=\"[$DEPT_NAME1]\" ";
       else
          $XML_TEXT_DEPT.="<TreeNode id=\"$DEPT_ID1\" text=\"$DEPT_NAME1\" ";

       if($PARA_URL1!="" && $DEPT_PRIV_I1==1)
          $XML_TEXT_DEPT.="href=\"$PARA_URL1?DEPT_ID=$DEPT_ID1&amp;$PARA_ID=$PARA_VALUE\" target=\"$PARA_TARGET\"";
       else
          $XML_TEXT_DEPT.="href=\"javascript:;\" target=\"_self\"";
       $XML_TEXT_DEPT.=" img_src=\"/images/node_dept.gif\" title=\"$DEPT_NAME1\"";
       if($CHILD_COUNT>0 || $DEPT_PRIV_I==1)
          $XML_TEXT_DEPT.=" Xml=\"/general/hrms/manage/tree.php?DEPT_ID=$DEPT_ID1&amp;PARA_URL1=$PARA_URL1&amp;PARA_URL2=$PARA_URL2&amp;PARA_TARGET=$PARA_TARGET&amp;PRIV_NO=$PRIV_NO&amp;PARA_ID=$PARA_ID&amp;PARA_VALUE=$PARA_VALUE&amp;MANAGE_FLAG=$MANAGE_FLAG&amp;MODULE_ID=$MODULE_ID&amp;SHOW_IP=$SHOW_IP&amp;PWD=$PWD&amp;DEPT_PRIV=$DEPT_PRIV&amp;ROLE_PRIV=$ROLE_PRIV&amp;PRIV_NO_FLAG=$PRIV_NO_FLAG\"";
       $XML_TEXT_DEPT.="/>\n";
   }//while

   return $XML_TEXT_USER.$XML_TEXT_DEPT;
}
?>

⌨️ 快捷键说明

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