122
$query="SELECT ID, FULLNAME, EMAIL FROM table_clients";
if($filters[0]!="") $query.=" WHERE ".$filters[0];
if($filters[1]!="")
{
if($filters[0]!="") $query.=" OR ";
else $query.=" WHERE ";
$query.=" (SELECT COUNT(*) FROM table_clients_employees
WHERE ID_CLIENT=table_clients.ID";
if($filters[1]!="") $query.=" AND ".$filters[1];
$query.=")>0";
}
$parent_ids=array();
//echo $query;
if($ds->Open($query) && $ds->RowCount>0)
{
do
{
$parent_ids[]=$ds->GetFieldValue("ID");
$result["t1_".$ds->GetFieldValue("ID")]=array("NAME"=>$ds-
>GetFieldValue("FULLNAME"),
"MAIL"=>$ds->GetFieldValue("EMAIL"), "CHILDREN"=>array());
}while($ds->NextRow());
}
if(sizeof($parent_ids) > 0)
{
$ds = new ODBDataSet("", $this, GetConnection("MainDBConnection"));
$query="SELECT ID, NAME, EMAIL, ID_CLIENT FROM
table_clients_employees
WHERE ID_CLIENT IN (0,".implode(",",$parent_ids).")";
if($filters[1]!="") $query.=" AND ".$filters[1];
if($ds->Open($query) && $ds->RowCount>0)
{
do
{
$result["t1_".$ds->GetFieldValue("ID_CLIENT")]["CHILDREN"]
[$ds->GetFieldValue("ID")]=array("NAME"=>$ds-
>GetFieldValue("NAME"),
"MAIL"=>$ds->GetFieldValue("EMAIL"), "CHILDREN"=>array());
}while($ds->NextRow());
}
}
return $result;
}
public function ButtonCancel_OnClick()
{
$this->Close();
}
public function ButtonOk_OnClick()