PHP Classes

File: htdocs/copy_form.php

Recommend this page to a friend!
  Classes of ask sa sa   PHP LDAP admin   htdocs/copy_form.php   Download  
File: htdocs/copy_form.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP LDAP admin
Perform operations to administer a LDAP server
Author: By
Last change:
Date: 1 year ago
Size: 3,950 bytes
 

Contents

Class file image Download
<?php
/**
 * Copies a given object to create a new one.
 *
 * @package phpLDAPadmin
 * @subpackage Page
 */

/**
 */

require './common.php';

# The DN we are working with
$request = array();
$request['dn'] = get_request('dn','GET');

# Check if the entry exists.
if (! $request['dn'] || ! $app['server']->dnExists($request['dn']))
   
error(sprintf(_('The entry (%s) does not exist.'),$request['dn']),'error','index.php');

$request['page'] = new PageRender($app['server']->getIndex(),get_request('template','REQUEST',false,'none'));
$request['page']->setDN($request['dn']);
$request['page']->accept();

# Render the form
$request['page']->drawTitle(sprintf('%s <b>%s</b>',_('Copy'),get_rdn($request['dn'])));
$request['page']->drawSubTitle();

printf('<script type="text/javascript" src="%sdnChooserPopup.js"></script>',JSDIR);
echo
'<div style="text-align: center;">';
printf('%s <b>%s</b> %s:<br /><br />',_('Copy'),get_rdn($request['dn']),_('to a new object'));
echo
'</div>';

echo
'<form action="cmd.php" method="post" id="copy_form">';
echo
'<div>';
echo
'<input type="hidden" name="cmd" value="copy" />';
printf('<input type="hidden" name="server_id" value="%s" />',$app['server']->getIndex());
printf('<input type="hidden" name="server_id_src" value="%s" />',$app['server']->getIndex());
printf('<input type="hidden" name="dn_src" value="%s" />',htmlspecialchars($request['dn']));
echo
'</div>';
echo
"\n";

echo
'<table border="0" style="border-spacing: 10px; margin-left: auto; margin-right: auto;">';

echo
'<tr>';
printf('<td><acronym title="%s">%s</acronym>:</td>',
   
_('The full DN of the new entry to be created when copying the source entry'),_('Destination DN'));
echo
'<td>';
printf('<input type="text" name="dn_dst" size="45" value="%s" />',htmlspecialchars($request['dn']));
draw_chooser_link('copy_form','dn_dst','true',get_rdn($request['dn']));
echo
'</td>';
echo
'</tr>';
echo
"\n";

printf('<tr><td>%s:</td><td>%s</td></tr>',_('Destination Server'),server_select_list($app['server']->getIndex(),true,'server_id_dst'));
echo
"\n";

# We search all children, not only the visible children in the tree
$request['children'] = $app['server']->getContainerContents($request['dn']);

if (
count($request['children']) > 0) {
    echo
'<tr>';
   
printf('<td><label for="recursive">%s</label>:</td>',_('Recursive copy'));
    echo
'<td><input type="checkbox" id="recursive" name="recursive" onclick="copy_field_toggle(this)" />';
   
printf('<small>(%s)</small></td>',_('Recursively copy all children of this object as well.'));
    echo
'</tr>';
    echo
"\n";

    echo
'<tr>';
   
printf('<td><acronym title="%s">%s</acronym>:</td>',
       
_('When performing a recursive copy, only copy those entries which match this filter'),_('Filter'));
    echo
'<td><input type="text" name="filter" value="(objectClass=*)" size="45" disabled />';
    echo
'</tr>';
    echo
"\n";

    echo
'<tr>';
   
printf('<td>%s</td>',_('Delete after copy (move):'));
    echo
'<td><input type="checkbox" name="remove" value="yes" disabled />';
   
printf('<small>(%s)</small)</td>',_('Make sure your filter (above) will select all child records.'));
    echo
'</tr>';
    echo
"\n";

} else {
   
printf('<tr><td>%s</td><td><input type="checkbox" name="remove" value="yes"/></td></tr>',_('Delete after copy (move):'));
}
echo
"\n";

printf('<tr><td colspan="2" style="text-align: center;"><input type="submit" value="%s" /></td></tr>',_('Copy '));
echo
"\n";

echo
'</table>';
echo
'</form>';

if (
$_SESSION[APPCONFIG]->getValue('appearance','show_hints'))
   
printf('<div style="text-align: center;"><small><img src="%s/light.png" alt="Light" /><span class="hint">%s</span></small></div>',
       
IMGDIR,_('Hint: Copying between different servers only works if there are no schema violations'));


# Draw the javascrpt to enable/disable the filter field if this may be a recursive copy
if (count($request['children']) > 0)
   
printf('<script type="text/javascript" src="%sform_field_toggle_enable.js"></script>',JSDIR);
?>