<?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(); 
?> 
 
 |