function query_group() { if ($_GET["OnlyUsers"] == "yes") { $_GET["OnlyUsers"] = 1; } $users = new user(); $query = $_POST["query"]; if (!is_numeric($_POST["rp"])) { $_POST["rp"] = 250; } $ldap = new external_ldap_search(); if ($query == null) { $query = "*"; } $hash = $ldap->find_ldap_items_groups($query, $_POST["rp"]); $query = $_POST["query"]; if ($query == null) { $query = "*"; } $data = array(); $data['page'] = 1; $data['total'] = count($hash); $data['rows'] = array(); $c = 0; if (count($hash) == 0) { json_error_show("no data"); } while (list($dn, $Displayname) = each($hash)) { if ($GLOBALS["VERBOSE"]) { echo "<code>»{$num}« = {$ligne}</code><br>\n"; } if ($dn == null) { continue; } $img = "wingroup.png"; $prepend = "ExtLdap:"; if ($_GET["callback"] != null) { $js = "{$_GET["callback"]}('{$dn}','{$prepend}','{$Displayname}')"; } $c++; if ($c > $_POST["rp"]) { if ($GLOBALS["VERBOSE"]) { echo "<code style='color:#d32d2d'>\$c ({$c}) > {$_POST["rp"]} break</code><br>\n"; } break; } $data['rows'][] = array('id' => md5(serialize($dn)), 'cell' => array("<img src='img/{$img}'>", "<span style='font-size:16px;font-weight:bolder'>{$Displayname}</span>", "<span style='font-size:16px'>" . imgsimple("arrow-right-24.png", "{add}", $js) . "</span>")); } $data['total'] = $c; echo json_encode($data); }
function groups_search() { $tpl = new templates(); $MyPage = CurrentPageName(); $q = new mysql_squid_builder(); $search = '%'; $table = "webfilter_group"; $page = 1; $FORCE_FILTER = null; $total = 0; if ($q->COUNT_ROWS($table) == 0) { json_error_show("no data"); return; } if (isset($_POST["sortname"])) { if ($_POST["sortname"] != null) { $ORDER = "ORDER BY {$_POST["sortname"]} {$_POST["sortorder"]}"; } } if (isset($_POST['page'])) { $page = $_POST['page']; } $searchstring = string_to_flexquery(); if ($searchstring != null) { $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE 1 {$FORCE_FILTER} {$searchstring}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql)); $total = $ligne["TCOUNT"]; } else { $sql = "SELECT COUNT(*) as TCOUNT FROM `{$table}` WHERE 1 {$FORCE_FILTER}"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql)); $total = $ligne["TCOUNT"]; } if (isset($_POST['rp'])) { $rp = $_POST['rp']; } $pageStart = ($page - 1) * $rp; if (!is_numeric($rp)) { $rp = 50; } $limitSql = "LIMIT {$pageStart}, {$rp}"; $sql = "SELECT * FROM `{$table}` WHERE 1 {$searchstring} {$FORCE_FILTER} {$ORDER} {$limitSql}"; $results = $q->QUERY_SQL($sql); if (mysql_num_rows($results) == 0) { json_error_show("no data"); } $data = array(); $data['page'] = $page; $data['total'] = $total + 1; $data['rows'] = array(); if (!$q->ok) { json_error_show($q->mysql_error); } $localldap[0] = $tpl->_ENGINE_parse_body("{ldap_group}"); $localldap[1] = $tpl->_ENGINE_parse_body("{virtual_group}"); $localldap[2] = $tpl->_ENGINE_parse_body("{active_directory_group}"); while ($ligne = mysql_fetch_assoc($results)) { $CountDeMembers = 0; $suffix = null; if ($GLOBALS["VERBOSE"]) { print_r($ligne); } $select = imgtootltip("32-parameters.png", "{apply}", "DansGuardianEditGroup('{$ligne["ID"]}','{$ligne["groupname"]}')"); $delete = imgtootltip("delete-24.png", "{delete}", "DansGuardianDelGroup('{$ligne["ID"]}')"); $color = "black"; if ($ligne["enabled"] == 0) { $color = "#8a8a8a"; } if ($ligne["localldap"] == 1) { $q2 = new mysql_squid_builder(); $sql = "SELECT COUNT(ID) AS tcount FROM webfilter_members WHERE groupid={$ligne["ID"]}"; $ligne2 = mysql_fetch_array($q2->QUERY_SQL($sql)); $CountDeMembers = $ligne2["tcount"]; } if ($ligne["localldap"] == 0) { if ($ligne["dn"] == null) { $gp = new groups($ligne["gpid"]); $groupadd_text = "(" . $gp->groupName . ")"; $CountDeMembers = $CountDeMembers + count($gp->members); } else { if (preg_match("#ExtLdap:(.+)#", $ligne["dn"], $re)) { $groupadd_text = "<span style='font-size:11px'>({$re[1]})</span>"; $ldapex = new external_ldap_search(); $CountDeMembers = $ldapex->CountDeMembers($re[1]); } } } if ($ligne["localldap"] == 2) { $CountDeMembers = "-"; } $groupeTypeText = $localldap[$ligne["localldap"]]; $js = "DansGuardianEditGroup('{$ligne["ID"]}','{$ligne["groupname"]}')"; $ligne["description"] = stripslashes($ligne["description"]); $data['rows'][] = array('id' => $ligne['ID'], 'cell' => array("<a href=\"javascript:blur();\" OnClick=\"javascript:{$js}\" style='font-size:16px;color:{$color};text-decoration:underline;font-weight:bold'>{$suffix}{$ligne["groupname"]} {$groupadd_text}</a>\n\t\t\t<div style='font-size:10px'><i style='font-size:16px'>{$ligne["description"]}</i>", "<span style='font-size:20px;color:{$color};'>{$groupeTypeText}</span>", "<span style='font-size:20px;color:{$color};'>{$CountDeMembers}</span>", "<span style='font-size:20px;color:{$color};'>{$delete}</span>")); } echo json_encode($data); }