phpldapadmin/htdocs/refresh.php

55 lines
1.1 KiB
PHP

<?php
/**
* This script deletes the session variable 'tree', which will result in re-querying
* the LDAP server to grab the contents of all LDAP entries starting from the base.
*
* @package phpLDAPadmin
* @subpackage Page
*/
/**
*/
require './common.php';
if (get_request('purge','REQUEST')) {
$tree = get_cached_item($app['server']->getIndex(),'tree');
del_cached_item($app['server']->getIndex(),'tree');
if ($tree)
{
$openDNs = $tree->listOpenItems();
}
else
{
$openDNs = array();
}
$tree = Tree::getInstance($app['server']->getIndex());
foreach ($openDNs as $value) {
$entry = $tree->getEntry($value);
if (! $entry) {
$tree->addEntry($value);
$entry = $tree->getEntry($value);
}
$tree->readChildren($value,true);
$entry->open();
}
set_cached_item($app['server']->getIndex(),'tree','null',$tree);
}
if (get_request('meth','REQUEST') == 'ajax')
{
header(sprintf('Location: cmd.php?cmd=draw_tree_node&noheader=%s&server_id=%s&meth=ajax&frame=TREE', get_request('noheader', 'REQUEST', FALSE, 0), $app['server']->getIndex()));
}
else
{
header(sprintf('Location: cmd.php?server_id=%s', $app['server']->getIndex()));
}
die();