<?php
/*
 * @copyright   Leyun internet Technology(Shanghai)Co.,Ltd
 * @license     http://www.dzzoffice.com/licenses/license.txt
 * @package     DzzOffice
 * @link        http://www.dzzoffice.com
 * @author      zyx(zyx@dzz.cc)
 */
 if(!$_G['uid']){
	exit(); 
 }
 //error_reporting(E_ALL);

  include_once libfile('function/organization'); 
  include_once dzz_libfile('class/pinyin');
  $py = new PinYin();
  $data=array();
  $term=trim($_GET['term']);
  $filter=intval($_GET['filter']);//0:机构和用户；1：仅用户；2：仅机构
  if($filter==1 || !$filter){
	  $param_user=array('user','user_status');
	  $sql_user="where status<1";
	  if($term){
		   $sql_user.=" and username LIKE %s";
		   $param_user[]='%'.$term.'%';
	  }
	  foreach(DB::fetch_all("select u.uid,u.username  from %t u LEFT JOIN %t s on u.uid=s.uid  $sql_user order by s.lastactivity DESC limit 10",$param_user) as $value){
		 if($value['uid']!=$_G['uid']){
			 $data[]=array('name'=>$value['username'],
						   'searchkey'=> $py->getAllPY($value['username']).$value['username'],
						   'id'=>'u'.$value['uid'],
						   'icon'=>'avatar.php?uid='.$value['uid'].'&size=small',
						   'title'=>$value['username'].':'.'u'.$value['uid']
						);
			
		 }
	  }
	  $param_org=array('organization');
	  $sql_org="where 1";
	  if($term){
		   $sql_org.=" and orgname LIKE %s";
		   $param_org[]='%'.$term.'%';
	  }
  }
   if($filter==2 || !$filter){
	  $orgids=array();
	  if($at_range=$_G['setting']['at_range'][$_G['groupid']]){
		  switch($at_range){
			  case 1: //本部门
				foreach(C::t('organization_user')->fetch_orgids_by_uid($_G['uid']) as $orgid){
					$orgids=array_merge($orgids,getOrgidTree($orgid));
				}
				if($orgids){
					$sql_org.=" and orgid IN(%n)";
					$param_org[]=$orgids;
					foreach(DB::fetch_all("select orgname,orgid,forgid from %t $sql_org limit 10",$param_org) as $org){	
						$porgids=array_reverse(getUpOrgidTree($org['orgid']));
						$titles=array();
						foreach($porgids as $porgid){
							if($porg=C::t('organization')->fetch($porgid)) $titles[]=$porg['orgname'];
						}
						 $data[]=array('name'=>$org['orgname'],
									   'title'=>implode('-',$titles),
									   'searchkey'=> $py->getAllPY($org['orgname']).$org['orgname'],
									   'id'=>'g'.$org['orgid'],
									   'icon'=>$org['forgid']?'dzz/system/images/department.png':'dzz/system/images/organization.png'
									);
						
					}
				}
				break;
			 case 2: //本机构
				  foreach(C::t('organization_user')->fetch_orgids_by_uid($_G['uid']) as $orgid){
						$orgids=array_merge($orgids,getOrgidTree($orgid));
						$orgids=array_merge($orgids,getUpOrgidTree($orgid));
					}
					if($orgids){
						$sql_org.=" and orgid IN(%n)";
						$param_org[]=$orgids;
						foreach(DB::fetch_all("select orgname,orgid,forgid from %t $sql_org limit 10",$param_org) as $org){	
							$porgids=array_reverse(getUpOrgidTree($org['orgid']));
							$titles=array();
							foreach($porgids as $porgid){
								if($porg=C::t('organization')->fetch($porgid)) $titles[]=$porg['orgname'];
							}
							$data[]=array('name'=>$org['orgname'],
										   'title'=>implode('-',$titles),
										   'searchkey'=> $py->getAllPY($org['orgname']).$org['orgname'],
										   'id'=>'g'.$org['orgid'],
										   'icon'=>$org['forgid']?'dzz/system/images/department.png':'dzz/system/images/organization.png'
										);
						}
					}
				break;
			 case 3: //全部
					foreach(DB::fetch_all("select orgname,orgid,forgid from %t $sql_org limit 10",$param_org) as $org){
						$porgids=array_reverse(getUpOrgidTree($org['orgid']));
						$titles=array();
						foreach($porgids as $porgid){
							if($porg=C::t('organization')->fetch($porgid)) $titles[]=$porg['orgname'];
						}
						$data[]=array( 'name'=>$org['orgname'],
									   'title'=>implode('-',$titles),
									   'searchkey'=> $py->getAllPY($org['orgname']).$org['orgname'],
									   'id'=>'g'.$org['orgid'],
									   'icon'=>$org['forgid']?'dzz/system/images/department.png':'dzz/system/images/organization.png'
									);
						
					}
					
				break;
		  }
	  }
   }
  exit(json_encode($data));

?>