HEX
Server: Apache
System: Linux vps-cdc32557.vps.ovh.ca 5.15.0-156-generic #166-Ubuntu SMP Sat Aug 9 00:02:46 UTC 2025 x86_64
User: hanode (1017)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/share/webmin/ldap-useradmin/search_group.cgi
#!/usr/bin/perl
# search_group.cgi
# Ask the LDAP server to return groups matching some query

require './ldap-useradmin-lib.pl';
&ReadParse();
&useradmin::load_theme_library();	# So that ui functions work

# Do the search
$ldap = &ldap_connect();
$base = &get_group_base();
if ($in{'match'} == 0) {
	$search = "($in{'field'}=$in{'what'})";
	}
elsif ($in{'match'} == 1) {
	$search = "($in{'field'}=*$in{'what'}*)";
	}
elsif ($in{'match'} == 2) {
	$search = "(!($in{'field'}=$in{'what'}))";
	}
elsif ($in{'match'} == 3) {
	$search = "(!($in{'field'}=*$in{'what'}*))";
	}
$rv = $ldap->search(base => $base,
		    filter => "(&".&group_filter().$search.")");
if ($rv->code) {
	&error(&text('search_err', "<tt>$search</tt>",
		     "<tt>$base</tt>", $rv->error));
	}
@groups = $rv->all_entries;

if ($in{'match'} == 6) {
	# Apply less-than filter manually
	@groups = grep { $_->get_value($in{'field'}) < $in{'what'} } @groups;
	}
elsif ($in{'match'} == 7) {
	# Apply greater-than filter manually
	@groups = grep { $_->get_value($in{'field'}) > $in{'what'} } @groups;
	}

&ui_print_header(undef, $text{'search_title'}, "");
if (@groups == 0) {
	print "<p><b>$text{'search_gnotfound'}</b>.<p>\n";
	}
else {
	@glist = map { { &dn_to_hash($_) } } @groups;
	&useradmin::groups_table(\@glist, 0, 1);
	}
&ui_print_footer("", $text{'index_return'});