function query() { if ($_GET["OnlyUsers"] == "yes") { $_GET["OnlyUsers"] = 1; } $users = new user(); $query = $_POST["query"]; $OnlyUsers = $_GET["OnlyUsers"]; $OnlyGroups = $_GET["OnlyGroups"]; $OnlyGUID = $_GET["OnlyGUID"]; $OnlyName = $_GET["OnlyName"]; $OnlyCheckAD = $_GET["OnlyCheckAD"]; $OnlyLDAP = $_GET["OnlyLDAP"]; $Zarafa = $_GET["Zarafa"]; $OnlyAD = $_GET["OnlyAD"]; $sock = new sockets(); $EnableSambaActiveDirectory = $sock->GET_INFO("EnableSambaActiveDirectory"); if (!is_numeric($EnableSambaActiveDirectory)) { $EnableSambaActiveDirectory = 0; } writelogs("qtype={$_POST["qtype"]}; EnableSambaActiveDirectory={$EnableSambaActiveDirectory}, OnlyUsers={$OnlyUsers} OnlyGroups={$_GET["OnlyGroups"]}", __FUNCTION__, __FILE__, __LINE__); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . ":" . __LINE__ . " OnlyUsers={$OnlyUsers} OnlyGroups={$_GET["OnlyGroups"]}<br>\n"; } if ($EnableSambaActiveDirectory == 1) { if ($_POST["qtype"] == "members") { query_members_ad(); return; } } if ($_POST["qtype"] == "groups") { query_group(); return; } if ($OnlyGroups == 1) { query_group(); return; } $nogetent = false; if (!is_numeric($OnlyGUID)) { $OnlyGUID = 0; } if (!is_numeric($OnlyUsers)) { $OnlyUsers = 0; } if (!is_numeric($OnlyName)) { $OnlyName = 0; } if (!is_numeric($OnlyCheckAD)) { $OnlyCheckAD = 0; } if (!is_numeric($OnlyLDAP)) { $OnlyLDAP = 0; } if (!is_numeric($OnlyAD)) { $OnlyAD = 0; } if (!is_numeric($OnlyGroups)) { $OnlyGroups = 0; } if ($OnlyLDAP == 1) { $_GET["OnlyAD"] = 0; } $ObjectZarafa = false; if ($OnlyAD == 1) { $OnlyCheckAD = 1; } if ($Zarafa == 1) { $nogetent = true; $ObjectZarafa = true; } $hash = array(); if (!isset($_GET["prepend"])) { $_GET["prepend"] = 0; } else { if ($_GET["prepend"] == 'yes') { $_GET["prepend"] = 1; } if ($_GET["prepend"] == 'no') { $_GET["prepend"] = 0; } } $WORKGROUP = null; $sock = new sockets(); if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . ":" . __LINE__ . " OnlyAD={$_GET["OnlyAD"]}<br>\n"; } if ($_GET["OnlyAD"] == 1) { $EnableSambaActiveDirectory = $sock->GET_INFO("EnableSambaActiveDirectory"); if (!is_numeric($EnableSambaActiveDirectory)) { $EnableSambaActiveDirectory = 0; } if ($EnableSambaActiveDirectory == 1) { $config_activedirectory = unserialize(base64_decode($sock->GET_INFO("SambaAdInfos"))); $WORKGROUP = strtoupper($config_activedirectory["WORKGROUP"]) . "/"; } } if ($query == '*') { if ($WORKGROUP != null) { $query = "{$WORKGROUP}/*"; } else { $query = null; } } else { if ($WORKGROUP != null) { $query = "{$WORKGROUP}/{$query}"; } } $usersMenus = new usersMenus(); if (!$usersMenus->IsSuperAdmin()) { $_GET["organization"] = $_SESSION["ou"]; } if ($query == null) { $query = "*"; } if (!isset($_POST["rp"])) { $_POST["rp"] = 50; } if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . ":" . __LINE__ . " ->"; } if ($GLOBALS["VERBOSE"]) { echo __FUNCTION__ . ":" . __LINE__ . " ->find_ldap_items({$query},{$_GET["organization"]},{$nogetent},ObjectZarafa={$ObjectZarafa},{$_POST["rp"]},OnlyGUID={$OnlyGUID},OnlyUsers={$OnlyUsers},OnlyCheckAD={$OnlyCheckAD}...<br>\n"; } $hash = $users->find_ldap_items($query, $_GET["organization"], $nogetent, $ObjectZarafa, $_POST["rp"], $OnlyGroups, $OnlyUsers, $OnlyCheckAD); $data = array(); $data['page'] = 1; $data['total'] = count($hash); $data['rows'] = array(); $c = 0; while (list($num, $ligne) = each($hash)) { if ($num == null) { continue; } $gid = 0; if (preg_match("#^@(.+?):([0-9]+)#", $ligne, $re)) { if ($OnlyUsers == 1) { continue; } $img = "wingroup.png"; $Displayname = "{$re[1]}"; $prepend = "group:"; $gid = $re[2]; if ($OnlyName == 1) { if (preg_match("#^@(.+)#", $num, $ri)) { $num = $ri[1]; } } } else { if ($OnlyGroups == 1) { continue; } $Displayname = $ligne; $img = "user-18.png"; $prepend = "user:"******"NOComputers"] == 1) { continue; } $Displayname = str_replace('$', '', $Displayname); $img = "base.gif"; $prepend = "computer:"; } $js = "SambaBrowseSelect('{$num}','{$prepend}',{$gid})"; if ($_GET["callback"] != null) { $js = "{$_GET["callback"]}('{$num}','{$prepend}',{$gid})"; } $c++; if ($c > $_POST["rp"]) { break; } $data['rows'][] = array('id' => md5(serialize($ligne["displayname"])), 'cell' => array("<img src='img/{$img}'>", "<span style='font-size:14px;font-weight:bolder'>{$Displayname}</span> <span style='font-size:11px'>({$num})</span>", "<span style='font-size:14px'>" . imgsimple("arrow-right-24.png", "{add}", $js) . "</span>")); } $data['total'] = $c; echo json_encode($data); }
function query() { if ($_GET["OnlyUsers"] == "yes") { $_GET["OnlyUsers"] = 1; } $users = new user(); $query = $_POST["query"]; if ($_POST["qtype"] == "groups") { query_group(); return; } $nogetent = false; $uid = $_GET["uid"]; $OnlyUsers = $_GET["OnlyUsers"]; $OnlyGroups = $_GET["OnlyGroups"]; $OnlyGUID = $_GET["OnlyGUID"]; $OnlyName = $_GET["OnlyName"]; $OnlyCheckAD = $_GET["OnlyCheckAD"]; $OnlyLDAP = $_GET["OnlyLDAP"]; $Zarafa = $_GET["Zarafa"]; if (!is_numeric($OnlyGUID)) { $OnlyGUID = 0; } if (!is_numeric($OnlyUsers)) { $OnlyUsers = 0; } if (!is_numeric($OnlyName)) { $OnlyName = 0; } if (!is_numeric($OnlyCheckAD)) { $OnlyCheckAD = 0; } if (!is_numeric($OnlyLDAP)) { $OnlyLDAP = 0; } if ($OnlyLDAP == 1) { $_GET["OnlyAD"] = 0; } $ObjectZarafa = false; if ($Zarafa == 1) { $nogetent = true; $ObjectZarafa = true; } $hash = array(); if (!isset($_GET["prepend"])) { $_GET["prepend"] = 0; } else { if ($_GET["prepend"] == 'yes') { $_GET["prepend"] = 1; } if ($_GET["prepend"] == 'no') { $_GET["prepend"] = 0; } } $WORKGROUP = null; $mapi = new mapizarafa(); if (!$mapi->list_folders($_GET["uid"], true)) { json_error_show($mapi->error, 1); } $hash = $mapi->Folders; $data = array(); $data['page'] = 1; $data['total'] = count($hash); $data['rows'] = array(); $c = 0; if ($GLOBALS["VERBOSE"]) { echo "query():: hash = " . count($hash) . " entries...<br\n"; } while (list($folder, $array) = each($hash)) { $ID = $array["ID"]; $type = $array["TYPE"]; $img = "icon_mailfolder.gif"; if ($type == "SYNC_FOLDER_TYPE_USER_APPOINTMENT") { $img = "icon_calendar.gif"; } if ($type == "SYNC_FOLDER_TYPE_USER_CONTACT") { $img = "icon_contact.gif"; } if ($_GET["callback"] != null) { $js = "{$_GET["callback"]}('{$folder}','{$ID}','{$uid}','{$type}')"; } $c++; if ($c > $_POST["rp"]) { break; } $data['rows'][] = array('id' => md5($folder), 'cell' => array("<img src='img/{$img}'>", "<span style='font-size:14px;font-weight:bolder'>{$folder}</span>", "<span style='font-size:14px'>" . imgsimple("arrow-right-24.png", "{add}", $js) . "</span>")); } $data['total'] = $c; echo json_encode($data); }