new type API
This commit is contained in:
		
							parent
							
								
									207c77b5f0
								
							
						
					
					
						commit
						9a4963c85b
					
				| 
						 | 
					@ -1,10 +1,11 @@
 | 
				
			||||||
<?php
 | 
					<?php
 | 
				
			||||||
 | 
					use \LAM\TYPES\TypeManager;
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
$Id$
 | 
					$Id$
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
 | 
					  This code is part of LDAP Account Manager (http://www.ldap-account-manager.org/)
 | 
				
			||||||
  Copyright (C) 2003 - 2006  Tilo Lutz
 | 
					  Copyright (C) 2003 - 2006  Tilo Lutz
 | 
				
			||||||
                2007 - 2016  Roland Gruber
 | 
					                2007 - 2017  Roland Gruber
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  This program is free software; you can redistribute it and/or modify
 | 
					  This program is free software; you can redistribute it and/or modify
 | 
				
			||||||
  it under the terms of the GNU General Public License as published by
 | 
					  it under the terms of the GNU General Public License as published by
 | 
				
			||||||
| 
						 | 
					@ -437,8 +438,10 @@ class sambaGroupMapping extends baseModule {
 | 
				
			||||||
	*/
 | 
						*/
 | 
				
			||||||
	function display_html_members() {
 | 
						function display_html_members() {
 | 
				
			||||||
		$return = new htmlTable();
 | 
							$return = new htmlTable();
 | 
				
			||||||
 | 
							$typeManager = new TypeManager();
 | 
				
			||||||
		// show list of possible new members
 | 
							// show list of possible new members
 | 
				
			||||||
		if ((isset($_POST['form_subpage_' . get_class($this) . '_members_select']) || isset($_POST['setFilter'])) && isset($_POST['type'])) {
 | 
							if ((isset($_POST['form_subpage_' . get_class($this) . '_members_select']) || isset($_POST['setFilter'])) && isset($_POST['type'])) {
 | 
				
			||||||
 | 
								$type = $typeManager->getConfiguredType($_POST['type']);
 | 
				
			||||||
			$this->loadSIDCache();
 | 
								$this->loadSIDCache();
 | 
				
			||||||
			$userFilter = '';
 | 
								$userFilter = '';
 | 
				
			||||||
			$userFilterRegex = '';
 | 
								$userFilterRegex = '';
 | 
				
			||||||
| 
						 | 
					@ -447,8 +450,8 @@ class sambaGroupMapping extends baseModule {
 | 
				
			||||||
				$userFilterRegex = '/' . str_replace(array('*', '(', ')'), array('.*', '\(', '\)'), $_POST['newFilter']) . '/ui';
 | 
									$userFilterRegex = '/' . str_replace(array('*', '(', ')'), array('.*', '\(', '\)'), $_POST['newFilter']) . '/ui';
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
			$options = array();
 | 
								$options = array();
 | 
				
			||||||
			$filter = get_ldap_filter($_POST['type']);
 | 
								$filter = get_ldap_filter($type->getId());
 | 
				
			||||||
			$entries = searchLDAPByFilter($filter, array('dn', 'cn', 'uid', 'sambaSID'), array($_POST['type']));
 | 
								$entries = searchLDAP($type->getSuffix(), $filter, array('dn', 'cn', 'uid', 'sambaSID'));
 | 
				
			||||||
			$entryCount = sizeof($entries);
 | 
								$entryCount = sizeof($entries);
 | 
				
			||||||
			for ($i = 0; $i < $entryCount; $i++) {
 | 
								for ($i = 0; $i < $entryCount; $i++) {
 | 
				
			||||||
				// require SID
 | 
									// require SID
 | 
				
			||||||
| 
						 | 
					@ -482,7 +485,7 @@ class sambaGroupMapping extends baseModule {
 | 
				
			||||||
			$filterGroup->addElement(new htmlInputField('newFilter', $userFilter));
 | 
								$filterGroup->addElement(new htmlInputField('newFilter', $userFilter));
 | 
				
			||||||
			$filterGroup->addElement(new htmlButton('setFilter', _('Filter')));
 | 
								$filterGroup->addElement(new htmlButton('setFilter', _('Filter')));
 | 
				
			||||||
			$filterGroup->addElement(new htmlHelpLink('filter'));
 | 
								$filterGroup->addElement(new htmlHelpLink('filter'));
 | 
				
			||||||
			$filterGroup->addElement(new htmlHiddenInput('type', $_POST['type']));
 | 
								$filterGroup->addElement(new htmlHiddenInput('type', $type->getId()));
 | 
				
			||||||
			$return->addElement($filterGroup, true);
 | 
								$return->addElement($filterGroup, true);
 | 
				
			||||||
			$return->addElement(new htmlSpacer(null, '10px'), true);
 | 
								$return->addElement(new htmlSpacer(null, '10px'), true);
 | 
				
			||||||
			$buttonTable = new htmlTable();
 | 
								$buttonTable = new htmlTable();
 | 
				
			||||||
| 
						 | 
					@ -491,13 +494,13 @@ class sambaGroupMapping extends baseModule {
 | 
				
			||||||
			$return->addElement($buttonTable);
 | 
								$return->addElement($buttonTable);
 | 
				
			||||||
			return $return;
 | 
								return $return;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		$types = array('user', 'group', 'host');
 | 
							$types = $typeManager->getConfiguredTypesForScopes(array('user', 'group', 'host'));
 | 
				
			||||||
		$options = array();
 | 
							$options = array();
 | 
				
			||||||
		$optionsSelected = array();
 | 
							$optionsSelected = array();
 | 
				
			||||||
		for ($i = 0; $i < sizeof($types); $i++) {
 | 
							foreach ($types as $type) {
 | 
				
			||||||
			$options[LAM\TYPES\getTypeAlias($types[$i])] = $types[$i];
 | 
								$options[$type->getAlias()] = $type->getId();
 | 
				
			||||||
			if ($types[$i] == 'group') {
 | 
								if (empty($optionsSelected) && ($type->getScope() == 'group')) {
 | 
				
			||||||
				$optionsSelected[] = $types[$i];
 | 
									$optionsSelected[] = $type->getId();
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		$typeTable = new htmlTable();
 | 
							$typeTable = new htmlTable();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue