RELEASE 0.9.6
This commit is contained in:
parent
d12096bbd3
commit
7ff3528665
192
add_attr.php
192
add_attr.php
@ -1,9 +1,7 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/add_attr.php,v 1.10 2004/08/15 17:39:20 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/add_attr.php,v 1.12 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
/*
|
||||
* add_attr.php
|
||||
/**
|
||||
* Adds an attribute/value pair to an object
|
||||
*
|
||||
* Variables that come in as POST vars:
|
||||
@ -12,130 +10,158 @@
|
||||
* - attr
|
||||
* - val
|
||||
* - binary
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
require 'templates/template_config.php';
|
||||
|
||||
$server_id = $_POST['server_id'];
|
||||
$server_id = (isset($_POST['server_id']) ? $_POST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$attr = $_POST['attr'];
|
||||
$val = isset( $_POST['val'] ) ? $_POST['val'] : false;;
|
||||
$dn = $_POST['dn'] ;
|
||||
$is_binary_val = isset( $_POST['binary'] ) ? true : false;
|
||||
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$encoded_attr = rawurlencode( $attr );
|
||||
$is_binary_val = isset( $_POST['binary'] ) ? true : false;
|
||||
|
||||
if( ! $is_binary_val && $val == "" ) {
|
||||
pla_error( $lang['left_attr_blank'] );
|
||||
}
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
// special case for binary attributes (like jpegPhoto and userCertificate):
|
||||
// special case for binary attributes (like jpegPhoto and userCertificate):
|
||||
// we must go read the data from the file and override $val with the binary data
|
||||
// Secondly, we must check if the ";binary" option has to be appended to the name
|
||||
// of the attribute.
|
||||
|
||||
// Check to see if this is a unique Attribute
|
||||
if( $badattr = checkUniqueAttr( $server_id, $dn, $attr, array($val) ) ) {
|
||||
$search_href='search.php?search=true&form=advanced&server_id=' . $server_id . '&filter=' . $attr . '=' . $badattr;
|
||||
pla_error(sprintf( $lang['unique_attr_failed'] , $attr,$badattr,$dn,$search_href ) );
|
||||
if( $badattr = checkUniqueAttr( $ldapserver, $dn, $attr, array($val) ) ) {
|
||||
$search_href = sprintf('search.php?search=true&form=advanced&server_id=%s&filter=%s=%s',$server_id,$attr,$badattr);
|
||||
pla_error(sprintf( $lang['unique_attr_failed'],$attr,$badattr,$dn,$search_href ) );
|
||||
}
|
||||
|
||||
if( $is_binary_val ) {
|
||||
if( 0 == $_FILES['val']['size'] )
|
||||
pla_error( $lang['file_empty'] );
|
||||
if( ! is_uploaded_file( $_FILES['val']['tmp_name'] ) ) {
|
||||
if( isset( $_FILES['val']['error'] ) )
|
||||
switch($_FILES['val']['error']){
|
||||
case 0: //no error; possible file attack!
|
||||
pla_error( $lang['invalid_file'] );
|
||||
case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini
|
||||
pla_error( $lang['uploaded_file_too_big'] );
|
||||
case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form
|
||||
pla_error( $lang['uploaded_file_too_big'] );
|
||||
case 3: //uploaded file was only partially uploaded
|
||||
pla_error( $lang['uploaded_file_partial'] );
|
||||
case 4: //no file was uploaded
|
||||
pla_error( $lang['left_attr_blank'] );
|
||||
default: //a default error, just in case! :)
|
||||
pla_error( $lang['invalid_file'] );
|
||||
break;
|
||||
}
|
||||
else
|
||||
pla_error( $lang['invalid_file'] );
|
||||
}
|
||||
if( 0 == $_FILES['val']['size'] )
|
||||
pla_error( $lang['file_empty'] );
|
||||
|
||||
if( ! is_uploaded_file( $_FILES['val']['tmp_name'] ) ) {
|
||||
|
||||
if( isset( $_FILES['val']['error'] ) )
|
||||
|
||||
switch($_FILES['val']['error']) {
|
||||
case 0: //no error; possible file attack!
|
||||
pla_error( $lang['invalid_file'] );
|
||||
break;
|
||||
|
||||
case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini
|
||||
pla_error( $lang['uploaded_file_too_big'] );
|
||||
break;
|
||||
|
||||
case 2: //uploaded file exceeds the MAX_FILE_SIZE directive specified in the html form
|
||||
pla_error( $lang['uploaded_file_too_big'] );
|
||||
break;
|
||||
|
||||
case 3: //uploaded file was only partially uploaded
|
||||
pla_error( $lang['uploaded_file_partial'] );
|
||||
break;
|
||||
|
||||
case 4: //no file was uploaded
|
||||
pla_error( $lang['left_attr_blank'] );
|
||||
break;
|
||||
|
||||
default: //a default error, just in case! :)
|
||||
pla_error( $lang['invalid_file'] );
|
||||
break;
|
||||
}
|
||||
|
||||
else
|
||||
pla_error( $lang['invalid_file'] );
|
||||
}
|
||||
|
||||
$file = $_FILES['val']['tmp_name'];
|
||||
$f = fopen( $file, 'r' );
|
||||
$binary_data = fread( $f, filesize( $file ) );
|
||||
fclose( $f );
|
||||
$val = $binary_data;
|
||||
$f = fopen( $file, 'r' );
|
||||
$binary_data = fread( $f, filesize( $file ) );
|
||||
fclose( $f );
|
||||
|
||||
$val = $binary_data;
|
||||
|
||||
if( is_binary_option_required( $server_id, $attr ) )
|
||||
$attr .=";binary";
|
||||
$attr .= ";binary";
|
||||
}
|
||||
|
||||
// Automagically hash new userPassword attributes according to the
|
||||
// chosen in config.php.
|
||||
if( 0 == strcasecmp( $attr, 'userpassword' ) )
|
||||
{
|
||||
// Automagically hash new userPassword attributes according to the
|
||||
// chosen in config.php.
|
||||
if( 0 == strcasecmp( $attr, 'userpassword' ) ) {
|
||||
|
||||
if( isset( $servers[$server_id]['default_hash'] ) &&
|
||||
$servers[$server_id]['default_hash'] != '' )
|
||||
{
|
||||
$servers[$server_id]['default_hash'] != '' ) {
|
||||
|
||||
$enc_type = $servers[$server_id]['default_hash'];
|
||||
$val = password_hash( $val, $enc_type );
|
||||
}
|
||||
}
|
||||
elseif( ( 0 == strcasecmp( $attr , 'sambantpassword' ) || 0 == strcasecmp( $attr , 'sambalmpassword') ) ){
|
||||
$mkntPassword = new MkntPasswdUtil();
|
||||
$mkntPassword->createSambaPasswords( $val );
|
||||
$val = $mkntPassword->valueOf($attr);
|
||||
|
||||
elseif( in_array( $attr,array('sambantpassword','sambalmpassword') ) ){
|
||||
$mkntPassword = new MkntPasswdUtil();
|
||||
$mkntPassword->createSambaPasswords( $val );
|
||||
$val = $mkntPassword->valueOf($attr);
|
||||
}
|
||||
|
||||
$ds = pla_ldap_connect( $server_id ) or pla_error( $lang['could_not_connect'] );
|
||||
$new_entry = array( $attr => $val );
|
||||
$result = @ldap_mod_add( $ds, $dn, $new_entry );
|
||||
$result = @ldap_mod_add( $ldapserver->connect(), $dn, $new_entry );
|
||||
|
||||
if( $result )
|
||||
header( "Location: edit.php?server_id=$server_id&dn=$encoded_dn&modified_attrs[]=$encoded_attr" );
|
||||
header( "Location: edit.php?server_id=$server_id&dn=$encoded_dn&modified_attrs[]=$encoded_attr" );
|
||||
|
||||
else
|
||||
pla_error( $lang['failed_to_add_attr'], ldap_error( $ds ) , ldap_errno( $ds ) );
|
||||
pla_error( $lang['failed_to_add_attr'],ldap_error($ldapserver->connect()),ldap_errno($ldapserver->connect()) );
|
||||
|
||||
// check if we need to append the ;binary option to the name
|
||||
// of some binary attribute
|
||||
/**
|
||||
* Check if we need to append the ;binary option to the name
|
||||
* of some binary attribute
|
||||
*
|
||||
* @param int $server_id Server ID that the attribute is in.
|
||||
* @param attr $attr Attribute to test to see if it requires ;binary added to it.
|
||||
* @return bool
|
||||
*/
|
||||
|
||||
function is_binary_option_required( $server_id, $attr ){
|
||||
function is_binary_option_required( $server_id, $attr ) {
|
||||
|
||||
// list of the binary attributes which need the ";binary" option
|
||||
$binary_attributes_with_options = array(
|
||||
// Superior: Ldapv3 Syntaxes (1.3.6.1.4.1.1466.115.121.1)
|
||||
'1.3.6.1.4.1.1466.115.121.1.8' => "userCertificate",
|
||||
'1.3.6.1.4.1.1466.115.121.1.8' => "caCertificate",
|
||||
'1.3.6.1.4.1.1466.115.121.1.10' => "crossCertificatePair",
|
||||
'1.3.6.1.4.1.1466.115.121.1.9' => "certificateRevocationList",
|
||||
'1.3.6.1.4.1.1466.115.121.1.9' => "authorityRevocationList",
|
||||
// Superior: Netscape Ldap attributes types (2.16.840.1.113730.3.1)
|
||||
'2.16.840.1.113730.3.1.40' => "userSMIMECertificate"
|
||||
);
|
||||
|
||||
// quick check by attr name (short circuits the schema check if possible)
|
||||
//foreach( $binary_attributes_with_options as $oid => $name )
|
||||
//if( 0 == strcasecmp( $attr, $name ) )
|
||||
// list of the binary attributes which need the ";binary" option
|
||||
$binary_attributes_with_options = array(
|
||||
// Superior: Ldapv3 Syntaxes (1.3.6.1.4.1.1466.115.121.1)
|
||||
'1.3.6.1.4.1.1466.115.121.1.8' => "userCertificate",
|
||||
'1.3.6.1.4.1.1466.115.121.1.8' => "caCertificate",
|
||||
'1.3.6.1.4.1.1466.115.121.1.10' => "crossCertificatePair",
|
||||
'1.3.6.1.4.1.1466.115.121.1.9' => "certificateRevocationList",
|
||||
'1.3.6.1.4.1.1466.115.121.1.9' => "authorityRevocationList",
|
||||
// Superior: Netscape Ldap attributes types (2.16.840.1.113730.3.1)
|
||||
'2.16.840.1.113730.3.1.40' => "userSMIMECertificate"
|
||||
);
|
||||
|
||||
// quick check by attr name (short circuits the schema check if possible)
|
||||
//foreach( $binary_attributes_with_options as $oid => $name )
|
||||
//if( 0 == strcasecmp( $attr, $name ) )
|
||||
//return true;
|
||||
|
||||
$schema_attr = get_schema_attribute( $server_id, $attr );
|
||||
if( ! $schema_attr )
|
||||
return false;
|
||||
$schema_attr = get_schema_attribute( $ldapserver, $attr );
|
||||
if( ! $schema_attr )
|
||||
return false;
|
||||
|
||||
$syntax = $schema_attr->getSyntaxOID();
|
||||
if( isset( $binary_attributes_with_options[ $syntax ] ) )
|
||||
return true;
|
||||
$syntax = $schema_attr->getSyntaxOID();
|
||||
if( isset( $binary_attributes_with_options[ $syntax ] ) )
|
||||
return true;
|
||||
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -1,29 +1,32 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/add_attr_form.php,v 1.9 2004/09/15 12:31:52 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/add_attr_form.php,v 1.11 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
/*
|
||||
* add_attr_form.php
|
||||
/**
|
||||
* Displays a form for adding an attribute/value to an LDAP entry.
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
* - dn (rawurlencoded)
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = $_GET['dn'];
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$server_id = $_GET['server_id'];
|
||||
$rdn = get_rdn( $dn );
|
||||
$server_name = $servers[$server_id]['name'];
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
$friendly_attrs = process_friendly_attr_table();
|
||||
|
||||
include './header.php'; ?>
|
||||
@ -31,22 +34,24 @@ include './header.php'; ?>
|
||||
<body>
|
||||
|
||||
<h3 class="title"><?php echo sprintf( $lang['add_new_attribute'], htmlspecialchars( $rdn ) ); ?></b></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['server']; ?>: <b><?php echo $server_name; ?></b> <?php echo $lang['distinguished_name']; ?>: <b><?php echo htmlspecialchars( ( $dn ) ); ?></b></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['server']; ?>: <b><?php echo $ldapserver->name; ?></b> <?php echo $lang['distinguished_name']; ?>: <b><?php echo htmlspecialchars( ( $dn ) ); ?></b></h3>
|
||||
|
||||
<?php
|
||||
<?php $attrs = get_object_attrs( $ldapserver, $dn );
|
||||
|
||||
$attrs = get_object_attrs( $server_id, $dn );
|
||||
$oclasses = get_object_attr( $server_id, $dn, 'objectClass' );
|
||||
$oclasses = get_object_attr( $ldapserver, $dn, 'objectClass' );
|
||||
if( ! is_array( $oclasses ) )
|
||||
$oclasses = array( $oclasses );
|
||||
|
||||
$avail_attrs = array();
|
||||
$schema_oclasses = get_schema_objectclasses( $server_id, $dn );
|
||||
|
||||
$schema_oclasses = get_schema_objectclasses( $ldapserver, $dn );
|
||||
foreach( $oclasses as $oclass ) {
|
||||
$schema_oclass = get_schema_objectclass( $server_id, $oclass, $dn );
|
||||
$schema_oclass = get_schema_objectclass( $ldapserver, $oclass, $dn );
|
||||
|
||||
if( $schema_oclass && 0 == strcasecmp( 'objectclass', get_class( $schema_oclass ) ) )
|
||||
$avail_attrs = array_merge( $schema_oclass->getMustAttrNames( $schema_oclasses ),
|
||||
$schema_oclass->getMayAttrNames( $schema_oclasses ),
|
||||
$avail_attrs );
|
||||
$schema_oclass->getMayAttrNames( $schema_oclasses ),
|
||||
$avail_attrs );
|
||||
}
|
||||
|
||||
$avail_attrs = array_unique( $avail_attrs );
|
||||
@ -55,99 +60,117 @@ sort( $avail_attrs );
|
||||
|
||||
$avail_binary_attrs = array();
|
||||
foreach( $avail_attrs as $i => $attr ) {
|
||||
if( is_attr_binary( $server_id, $attr ) ) {
|
||||
|
||||
if( is_attr_binary( $ldapserver, $attr ) ) {
|
||||
$avail_binary_attrs[] = $attr;
|
||||
unset( $avail_attrs[ $i ] );
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<br />
|
||||
|
||||
<center>
|
||||
|
||||
<?php echo $lang['add_new_attribute'];
|
||||
|
||||
<?php echo $lang['add_new_attribute']; ?>
|
||||
if( is_array( $avail_attrs ) && count( $avail_attrs ) > 0 ) { ?>
|
||||
|
||||
<?php if( is_array( $avail_attrs ) && count( $avail_attrs ) > 0 ) { ?>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<form action="add_attr.php" method="post">
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<input type="hidden" name="dn" value="<?php echo htmlspecialchars($dn); ?>" />
|
||||
<form action="add_attr.php" method="post">
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<input type="hidden" name="dn" value="<?php echo htmlspecialchars($dn); ?>" />
|
||||
|
||||
<select name="attr"><?php
|
||||
|
||||
$attr_select_html = '';
|
||||
usort($avail_attrs,"sortAttrs");
|
||||
foreach( $avail_attrs as $a ) {
|
||||
// is there a user-friendly translation available for this attribute?
|
||||
if( isset( $friendly_attrs[ strtolower( $a ) ] ) ) {
|
||||
$attr_display = htmlspecialchars( $friendly_attrs[ strtolower( $a ) ] ) . " (" .
|
||||
<select name="attr">
|
||||
|
||||
<?php $attr_select_html = '';
|
||||
usort($avail_attrs,"sortAttrs");
|
||||
foreach( $avail_attrs as $a ) {
|
||||
|
||||
// is there a user-friendly translation available for this attribute?
|
||||
if( isset( $friendly_attrs[ strtolower( $a ) ] ) ) {
|
||||
$attr_display = htmlspecialchars( $friendly_attrs[ strtolower( $a ) ] ) . " (" .
|
||||
htmlspecialchars($a) . ")";
|
||||
} else {
|
||||
$attr_display = htmlspecialchars( $a );
|
||||
}
|
||||
echo $attr_display;
|
||||
$attr_select_html .= "<option>$attr_display</option>\n";
|
||||
echo "<option value=\"" . htmlspecialchars($a) . "\">$attr_display</option>";
|
||||
} ?>
|
||||
</select>
|
||||
<input type="text" name="val" size="20" />
|
||||
<input type="submit" name="submit" value="<?php echo $lang['add']; ?>" class="update_dn" />
|
||||
</form>
|
||||
<?php } else { ?>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<small>(<?php echo $lang['no_new_attrs_available']; ?>)</small>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<?php echo $lang['add_new_binary_attr']; ?>
|
||||
<?php if( count( $avail_binary_attrs ) > 0 ) { ?>
|
||||
} else {
|
||||
$attr_display = htmlspecialchars( $a );
|
||||
}
|
||||
|
||||
echo $attr_display;
|
||||
$attr_select_html .= "<option>$attr_display</option>\n";
|
||||
echo "<option value=\"" . htmlspecialchars($a) . "\">$attr_display</option>";
|
||||
} ?>
|
||||
|
||||
</select>
|
||||
|
||||
<input type="text" name="val" size="20" />
|
||||
<input type="submit" name="submit" value="<?php echo $lang['add']; ?>" class="update_dn" />
|
||||
</form>
|
||||
|
||||
<?php } else { ?>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<small>(<?php echo $lang['no_new_attrs_available']; ?>)</small>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<?php echo $lang['add_new_binary_attr'];
|
||||
if( count( $avail_binary_attrs ) > 0 ) { ?>
|
||||
|
||||
<!-- Form to add a new BINARY attribute to this entry -->
|
||||
<form action="add_attr.php" method="post" enctype="multipart/form-data">
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<input type="hidden" name="dn" value="<?php echo $dn; ?>" />
|
||||
<input type="hidden" name="binary" value="true" />
|
||||
<br />
|
||||
|
||||
<select name="attr">
|
||||
<?php
|
||||
$attr_select_html = '';
|
||||
usort($avail_binary_attrs,"sortAttrs");
|
||||
foreach( $avail_binary_attrs as $a ) {
|
||||
// is there a user-friendly translation available for this attribute?
|
||||
if( isset( $friendly_attrs[ strtolower( $a ) ] ) ) {
|
||||
$attr_display = htmlspecialchars( $friendly_attrs[ strtolower( $a ) ] ) . " (" .
|
||||
|
||||
<?php $attr_select_html = '';
|
||||
|
||||
usort($avail_binary_attrs,"sortAttrs");
|
||||
|
||||
foreach( $avail_binary_attrs as $a ) {
|
||||
|
||||
// is there a user-friendly translation available for this attribute?
|
||||
if( isset( $friendly_attrs[ strtolower( $a ) ] ) ) {
|
||||
$attr_display = htmlspecialchars( $friendly_attrs[ strtolower( $a ) ] ) . " (" .
|
||||
htmlspecialchars($a) . ")";
|
||||
} else {
|
||||
$attr_display = htmlspecialchars( $a );
|
||||
}
|
||||
|
||||
echo $attr_display;
|
||||
$attr_select_html .= "<option>$attr_display</option>\n";
|
||||
echo "<option value=\"" . htmlspecialchars($a) . "\">$attr_display</option>";
|
||||
} ?>
|
||||
|
||||
} else {
|
||||
$attr_display = htmlspecialchars( $a );
|
||||
}
|
||||
|
||||
echo $attr_display;
|
||||
$attr_select_html .= "<option>$attr_display</option>\n";
|
||||
echo "<option value=\"" . htmlspecialchars($a) . "\">$attr_display</option>";
|
||||
} ?>
|
||||
|
||||
</select>
|
||||
|
||||
<input type="file" name="val" size="20" />
|
||||
<input type="submit" name="submit" value="<?php echo $lang['add']; ?>" class="update_dn" />
|
||||
<?php
|
||||
if( ! ini_get( 'file_uploads' ) )
|
||||
echo "<br><small><b>" . $lang['warning_file_uploads_disabled'] . "</b></small><br>";
|
||||
else
|
||||
echo "<br><small><b>" . sprintf( $lang['max_file_size'], ini_get( 'upload_max_filesize' ) ) . "</b></small><br>";
|
||||
?>
|
||||
|
||||
<?php if( ! ini_get( 'file_uploads' ) )
|
||||
echo "<br><small><b>" . $lang['warning_file_uploads_disabled'] . "</b></small><br>";
|
||||
|
||||
else
|
||||
echo "<br><small><b>" . sprintf( $lang['max_file_size'], ini_get( 'upload_max_filesize' ) ) . "</b></small><br>";
|
||||
?>
|
||||
|
||||
</form>
|
||||
|
||||
<?php } else { ?>
|
||||
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<small>(<?php echo $lang['no_new_binary_attrs_available']; ?>)</small>
|
||||
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</center>
|
||||
@ -159,16 +182,18 @@ foreach( $avail_attrs as $i => $attr ) {
|
||||
/**
|
||||
* Given an attribute $x, this returns true if it is NOT already specified
|
||||
* in the current entry, returns false otherwise.
|
||||
*
|
||||
* @param attr $x
|
||||
* @return bool
|
||||
* @ignore
|
||||
*/
|
||||
function not_an_attr( $x )
|
||||
{
|
||||
function not_an_attr( $x ) {
|
||||
global $attrs;
|
||||
|
||||
//return ! isset( $attrs[ strtolower( $x ) ] );
|
||||
foreach( $attrs as $attr => $values )
|
||||
if( 0 == strcasecmp( $attr, $x ) )
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
?>
|
||||
|
@ -1,36 +1,41 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/add_oclass.php,v 1.11 2004/08/15 17:39:20 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/add_oclass.php,v 1.14 2005/03/20 04:43:36 wurley Exp $
|
||||
|
||||
/*
|
||||
* add_oclass.php
|
||||
/**
|
||||
* Adds an objectClass to the specified dn.
|
||||
* Variables that come in as POST vars:
|
||||
*
|
||||
* Note, this does not do any schema violation checking. That is
|
||||
* performed in add_oclass_form.php.
|
||||
*
|
||||
* Vars that come in as POST:
|
||||
* Variables that come in as POST vars:
|
||||
* - dn (rawurlencoded)
|
||||
* - server_id
|
||||
* - new_oclass
|
||||
* - new_attrs (array, if any)
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = (isset($_POST['server_id']) ? $_POST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = rawurldecode( $_POST['dn'] );
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$new_oclass = $_POST['new_oclass'];
|
||||
$server_id = $_POST['server_id'];
|
||||
$new_attrs = $_POST['new_attrs'];
|
||||
|
||||
if( is_attr_read_only( $server_id, 'objectClass' ) )
|
||||
pla_error( "ObjectClasses are flagged as read only in the phpLDAPadmin configuration." );
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
if( is_attr_read_only( $ldapserver, 'objectClass' ) )
|
||||
pla_error( "ObjectClasses are flagged as read only in the phpLDAPadmin configuration." );
|
||||
|
||||
$new_entry = array();
|
||||
$new_entry['objectClass'] = $new_oclass;
|
||||
@ -42,29 +47,24 @@ if( is_array( $new_attrs ) && count( $new_attrs ) > 0 )
|
||||
foreach( $new_attrs as $attr => $val ) {
|
||||
|
||||
// Check to see if this is a unique Attribute
|
||||
if( $badattr = checkUniqueAttr( $server_id, $dn, $attr, array($val) ) ) {
|
||||
$search_href='search.php?search=true&form=advanced&server_id=' . $server_id . '&filter=' . $attr . '=' . $badattr;
|
||||
pla_error(sprintf( $lang['unique_attr_failed'] , $attr,$badattr,$dn,$search_href ) );
|
||||
if( $badattr = checkUniqueAttr( $ldapserver, $dn, $attr, array($val) ) ) {
|
||||
$search_href = sprintf('search.php?search=true&form=advanced&server_id=%s&filter=%s=%s',$server_id,$attr,$badattr);
|
||||
pla_error(sprintf( $lang['unique_attr_failed'],$attr,$badattr,$dn,$search_href ) );
|
||||
}
|
||||
|
||||
$new_entry[ $attr ] = $val;
|
||||
}
|
||||
|
||||
//echo "<pre>";
|
||||
//echo "<pre>";
|
||||
//print_r( $new_entry );
|
||||
//exit;
|
||||
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
$add_res = @ldap_mod_add( $ds, $dn, $new_entry );
|
||||
$add_res = @ldap_mod_add( $ldapserver->connect(), $dn, $new_entry );
|
||||
|
||||
if( ! $add_res )
|
||||
{
|
||||
pla_error( $lang['could_not_perform_ldap_mod_add'], ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
if( ! $add_res ) {
|
||||
pla_error( $lang['could_not_perform_ldap_mod_add'],ldap_error($ldapserver->connect()),ldap_errno($ldapserver->connect()) );
|
||||
|
||||
} else {
|
||||
header( "Location: edit.php?server_id=$server_id&dn=$encoded_dn&modified_attrs[]=objectclass" );
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -1,9 +1,7 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/add_oclass_form.php,v 1.15 2004/10/22 13:58:59 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/add_oclass_form.php,v 1.18 2005/03/12 14:03:36 wurley Exp $
|
||||
|
||||
/*
|
||||
* add_oclass_form.php
|
||||
/**
|
||||
* This page may simply add the objectClass and take you back to the edit page,
|
||||
* but, in one condition it may prompt the user for input. That condition is this:
|
||||
*
|
||||
@ -11,38 +9,44 @@
|
||||
* attributes with 1 or more not defined by the object. In that case, we will
|
||||
* present a form for the user to add those attributes to the object.
|
||||
*
|
||||
* Variables that come in as POST vars:
|
||||
* Variables that come in as REQUEST vars:
|
||||
* - dn (rawurlencoded)
|
||||
* - server_id
|
||||
* - new_oclass
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$dn = rawurldecode( $_POST['dn'] );
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$new_oclass = $_POST['new_oclass'];
|
||||
$server_id = $_POST['server_id'];
|
||||
$server_id = (isset($_REQUEST['server_id']) ? $_REQUEST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
$new_oclass = $_REQUEST['new_oclass'];
|
||||
$dn = rawurldecode( $_REQUEST['dn'] );
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
|
||||
/* Ensure that the object has defined all MUST attrs for this objectClass.
|
||||
* If it hasn't, present a form to have the user enter values for all the
|
||||
* newly required attrs. */
|
||||
|
||||
$entry = get_object_attrs( $server_id, $dn, true );
|
||||
$entry = get_object_attrs( $ldapserver, $dn, true );
|
||||
|
||||
$current_attrs = array();
|
||||
foreach( $entry as $attr => $junk )
|
||||
$current_attrs[] = strtolower($attr);
|
||||
|
||||
// grab the required attributes for the new objectClass
|
||||
$oclass = get_schema_objectclass( $server_id, $new_oclass );
|
||||
$oclass = get_schema_objectclass( $ldapserver, $new_oclass );
|
||||
if( $oclass )
|
||||
$must_attrs = $oclass->getMustAttrs();
|
||||
|
||||
else
|
||||
$must_attrs = array();
|
||||
|
||||
@ -54,52 +58,57 @@ else
|
||||
// but that the object does not currently contain
|
||||
$needed_attrs = array();
|
||||
foreach( $must_attrs as $attr ) {
|
||||
$attr = get_schema_attribute( $server_id, $attr->getName() );
|
||||
//echo "<pre>"; var_dump( $attr ); echo "</pre>";
|
||||
// First, check if one of this attr's aliases is already an attribute of this entry
|
||||
foreach( $attr->getAliases() as $alias_attr_name )
|
||||
if( in_array( strtolower( $alias_attr_name ), $current_attrs ) )
|
||||
// Skip this attribute since it's already in the entry
|
||||
continue;
|
||||
if( in_array( strtolower($attr->getName()), $current_attrs ) )
|
||||
continue;
|
||||
$attr = get_schema_attribute( $ldapserver, $attr->getName() );
|
||||
|
||||
// We made it this far, so the attribute needs to be added to this entry in order
|
||||
// to add this objectClass
|
||||
$needed_attrs[] = $attr;
|
||||
//echo "<pre>"; var_dump( $attr ); echo "</pre>";
|
||||
|
||||
// First, check if one of this attr's aliases is already an attribute of this entry
|
||||
foreach( $attr->getAliases() as $alias_attr_name )
|
||||
if( in_array( strtolower( $alias_attr_name ), $current_attrs ) )
|
||||
|
||||
// Skip this attribute since it's already in the entry
|
||||
continue;
|
||||
|
||||
if( in_array( strtolower($attr->getName()), $current_attrs ) )
|
||||
continue;
|
||||
|
||||
// We made it this far, so the attribute needs to be added to this entry in order
|
||||
// to add this objectClass
|
||||
$needed_attrs[] = $attr;
|
||||
}
|
||||
|
||||
if( count( $needed_attrs ) > 0 )
|
||||
{
|
||||
if( count( $needed_attrs ) > 0 ) {
|
||||
include './header.php'; ?>
|
||||
<body>
|
||||
|
||||
|
||||
<h3 class="title"><?php echo $lang['new_required_attrs']; ?></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['requires_to_add'] . ' ' . count($needed_attrs) .
|
||||
' ' . $lang['new_attributes']; ?></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['requires_to_add'] . ' ' . count($needed_attrs) .
|
||||
' ' . $lang['new_attributes']; ?></h3>
|
||||
|
||||
<small>
|
||||
<?php
|
||||
echo $lang['new_required_attrs_instructions'];
|
||||
|
||||
<?php echo $lang['new_required_attrs_instructions'];
|
||||
echo ' ' . count( $needed_attrs ) . ' ' . $lang['new_attributes'] . ' ';
|
||||
echo $lang['that_this_oclass_requires']; ?>
|
||||
|
||||
</small>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
||||
|
||||
<form action="add_oclass.php" method="post">
|
||||
<input type="hidden" name="new_oclass" value="<?php echo htmlspecialchars( $new_oclass ); ?>" />
|
||||
<input type="hidden" name="dn" value="<?php echo $encoded_dn; ?>" />
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
|
||||
|
||||
<table class="edit_dn" cellspacing="0">
|
||||
<tr><th colspan="2"><?php echo $lang['new_required_attrs']; ?></th></tr>
|
||||
|
||||
<?php foreach( $needed_attrs as $count => $attr ) { ?>
|
||||
|
||||
<tr><td class="attr"><b><?php echo htmlspecialchars($attr->getName()); ?></b></td></tr>
|
||||
<tr><td class="val"><input type="text" name="new_attrs[<?php echo htmlspecialchars($attr->getName()); ?>]" value="" size="40" /></tr>
|
||||
<?php } ?>
|
||||
<tr><td class="val"><input type="text" name="new_attrs[<?php echo htmlspecialchars($attr->getName()); ?>]" value="" size="40" /></tr>
|
||||
<?php } ?>
|
||||
|
||||
</table>
|
||||
<br />
|
||||
@ -110,18 +119,14 @@ if( count( $needed_attrs ) > 0 )
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
$add_res = @ldap_mod_add( $ds, $dn, array( 'objectClass' => $new_oclass ) );
|
||||
<?php } else {
|
||||
|
||||
$add_res = @ldap_mod_add( $ldapserver->connect(), $dn, array( 'objectClass' => $new_oclass ) );
|
||||
if( ! $add_res )
|
||||
pla_error( "Could not perform ldap_mod_add operation.", ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
pla_error( "Could not perform ldap_mod_add operation.",
|
||||
ldap_error( $ldapserver->connect() ),ldap_errno( $ldapserver->connect() ) );
|
||||
else
|
||||
header( "Location: edit.php?server_id=$server_id&dn=$encoded_dn&modified_attrs[]=objectClass" );
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -1,69 +1,73 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/add_value.php,v 1.13 2004/08/15 17:39:20 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/add_value.php,v 1.17 2005/03/12 10:42:27 wurley Exp $
|
||||
|
||||
/*
|
||||
* add_value.php
|
||||
/**
|
||||
* Adds a value to an attribute for a given dn.
|
||||
*
|
||||
* Variables that come in as POST vars:
|
||||
* - dn (rawurlencoded)
|
||||
* - attr (rawurlencoded) the attribute to which we are adding a value
|
||||
* - attr (rawurlencoded) the attribute to which we are adding a value
|
||||
* - server_id
|
||||
* - new_value (form element)
|
||||
* - binary
|
||||
* - binary
|
||||
*
|
||||
* On success, redirect to the edit_dn page.
|
||||
* On failure, echo an error.
|
||||
* On success, redirect to the edit_dn page. On failure, echo an error.
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$dn = rawurldecode( $_POST['dn'] );
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$server_id = (isset($_POST['server_id']) ? $_POST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$attr = $_POST['attr'];
|
||||
$encoded_attr = rawurlencode( $attr );
|
||||
$server_id = $_POST['server_id'];
|
||||
$new_value = $_POST['new_value'];
|
||||
$dn = rawurldecode( $_POST['dn'] );
|
||||
$is_binary_val = isset( $_POST['binary'] ) ? true : false;
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( is_attr_read_only( $server_id, $attr ) )
|
||||
pla_error( "The attribute '" . htmlspecialchars( $attr ) . "' is flagged as read only in the phpLDAPadmin configuration." );
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$encoded_attr = rawurlencode( $attr );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
if( is_attr_read_only( $ldapserver, $attr ) )
|
||||
pla_error(sprintf($lang['attr_is_read_only'],htmlspecialchars( $attr )));
|
||||
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
|
||||
// special case for binary attributes:
|
||||
// special case for binary attributes:
|
||||
// we must go read the data from the file.
|
||||
if( $is_binary_val )
|
||||
{
|
||||
if( $is_binary_val ) {
|
||||
$file = $_FILES['new_value']['tmp_name'];
|
||||
|
||||
$f = fopen( $file, 'r' );
|
||||
$binary_value = fread( $f, filesize( $file ) );
|
||||
fclose( $f );
|
||||
|
||||
$new_value = $binary_value;
|
||||
}
|
||||
|
||||
$new_entry = array( $attr => $new_value );
|
||||
$new_entry = array( $attr => $new_value );
|
||||
|
||||
// Check to see if this is a unique Attribute
|
||||
if( $badattr = checkUniqueAttr( $server_id, $dn, $attr, $new_entry ) ) {
|
||||
$search_href='search.php?search=true&form=advanced&server_id=' . $server_id . '&filter=' . $attr . '=' . $badattr;
|
||||
pla_error(sprintf( $lang['unique_attr_failed'] , $attr,$badattr,$dn,$search_href ) );
|
||||
if( $badattr = checkUniqueAttr( $ldapserver, $dn, $attr, $new_entry ) ) {
|
||||
$search_href = sprintf('search.php?search=true&form=advanced&server_id=%s&filter=%s=%s',$server_id,$attr,$badattr);
|
||||
pla_error(sprintf( $lang['unique_attr_failed'],$attr,$badattr,$dn,$search_href ) );
|
||||
}
|
||||
|
||||
// Call the custom callback for each attribute modification
|
||||
// and verify that it should be modified.
|
||||
if( preAttrAdd( $server_id, $dn, $attr, $new_entry ) ) {
|
||||
if( run_hook ( 'pre_attr_add', array ( 'server_id' => $server_id, 'dn' => $dn, 'attr_name' => $attr,
|
||||
'new_value' => $new_entry ) ) ) {
|
||||
|
||||
$add_result = @ldap_mod_add( $ds, $dn, $new_entry );
|
||||
$add_result = @ldap_mod_add( $ldapserver->connect(), $dn, $new_entry );
|
||||
|
||||
if( ! $add_result )
|
||||
pla_error( $lang['could_not_perform_ldap_mod_add'], ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
pla_error( $lang['could_not_perform_ldap_mod_add'], ldap_error( $ldapserver->connect() ), ldap_errno( $ldapserver->connect() ) );
|
||||
}
|
||||
|
||||
header( "Location: edit.php?server_id=$server_id&dn=$encoded_dn&modified_attrs[]=$encoded_attr" );
|
||||
|
@ -1,49 +1,56 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/add_value_form.php,v 1.26 2004/08/15 17:39:20 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/add_value_form.php,v 1.29 2005/03/12 14:03:36 wurley Exp $
|
||||
|
||||
/*
|
||||
* add_value_form.php
|
||||
/**
|
||||
* Displays a form to allow the user to enter a new value to add
|
||||
* to the existing list of values for a multi-valued attribute.
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
* - dn (rawurlencoded)
|
||||
* - attr (rawurlencoded) the attribute to which we are adding a value
|
||||
* - attr (rawurlencoded) the attribute to which we are adding a value
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$attr = $_GET['attr'];
|
||||
$dn = isset( $_GET['dn'] ) ? $_GET['dn'] : null;
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$server_id = $_GET['server_id'];
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
$encoded_attr = rawurlencode( $attr );
|
||||
|
||||
if( null != $dn ) {
|
||||
$rdn = get_rdn( $dn );
|
||||
|
||||
} else {
|
||||
$rdn = null;
|
||||
}
|
||||
$server_name = $servers[$server_id]['name'];
|
||||
$attr = $_GET['attr'];
|
||||
$encoded_attr = rawurlencode( $attr );
|
||||
$current_values = get_object_attr( $server_id, $dn, $attr );
|
||||
$num_current_values = ( is_array($current_values) ? count($current_values) : 1 );
|
||||
|
||||
$current_values = get_object_attr( $ldapserver, $dn, $attr );
|
||||
$num_current_values = ( is_array($current_values) ? count($current_values) : 0 );
|
||||
$is_object_class = ( 0 == strcasecmp( $attr, 'objectClass' ) ) ? true : false;
|
||||
$is_jpeg_photo = is_jpeg_photo( $server_id, $attr ); //( 0 == strcasecmp( $attr, 'jpegPhoto' ) ) ? true : false;
|
||||
$is_jpeg_photo = is_jpeg_photo( $ldapserver, $attr ); //( 0 == strcasecmp( $attr, 'jpegPhoto' ) ) ? true : false;
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
|
||||
|
||||
if( $is_object_class ) {
|
||||
if( $is_object_class ) {
|
||||
// fetch all available objectClasses and remove those from the list that are already defined in the entry
|
||||
$schema_oclasses = get_schema_objectclasses( $server_id );
|
||||
$schema_oclasses = get_schema_objectclasses( $ldapserver );
|
||||
|
||||
foreach( $current_values as $oclass )
|
||||
unset( $schema_oclasses[ strtolower( $oclass ) ] );
|
||||
|
||||
} else {
|
||||
$schema_attr = get_schema_attribute( $server_id, $attr );
|
||||
$schema_attr = get_schema_attribute( $ldapserver, $attr );
|
||||
}
|
||||
|
||||
include './header.php'; ?>
|
||||
@ -52,62 +59,77 @@ include './header.php'; ?>
|
||||
|
||||
<h3 class="title">
|
||||
<?php echo $lang['add_new']; ?>
|
||||
<b><?php echo htmlspecialchars($attr); ?></b>
|
||||
<b><?php echo htmlspecialchars($attr); ?></b>
|
||||
<?php echo $lang['value_to']; ?>
|
||||
<b><?php echo htmlspecialchars($rdn); ?></b></h3>
|
||||
|
||||
<h3 class="subtitle">
|
||||
<?php echo $lang['server']; ?>:
|
||||
<b><?php echo $server_name; ?></b>
|
||||
<?php echo $lang['server']; ?>:
|
||||
<b><?php echo $ldapserver->name; ?></b>
|
||||
<?php echo $lang['distinguished_name']; ?>: <b><?php echo htmlspecialchars( $dn ); ?></b></h3>
|
||||
|
||||
<?php echo $lang['current_list_of']; ?> <b><?php echo $num_current_values; ?></b>
|
||||
<?php echo $lang['current_list_of']; ?> <b><?php echo $num_current_values; ?></b>
|
||||
<?php echo $lang['values_for_attribute']; ?> <b><?php echo htmlspecialchars($attr); ?></b>:
|
||||
|
||||
<?php if( $is_jpeg_photo ) { ?>
|
||||
|
||||
<table><td>
|
||||
<?php draw_jpeg_photos( $server_id, $dn, $attr, false ); ?>
|
||||
</td></table>
|
||||
|
||||
<!-- Temporary warning until we find a way to add jpegPhoto values without an INAPROPRIATE_MATCHING error -->
|
||||
<?php if ($num_current_values) { ?>
|
||||
<?php if( $is_jpeg_photo ) { ?>
|
||||
|
||||
<table><tr><td>
|
||||
<?php draw_jpeg_photos( $ldapserver, $dn, $attr, false ); ?>
|
||||
</td></tr></table>
|
||||
|
||||
<!-- Temporary warning until we find a way to add jpegPhoto values without an INAPROPRIATE_MATCHING error -->
|
||||
<p><small>
|
||||
<?php echo $lang['inappropriate_matching_note']; ?>
|
||||
</small></p>
|
||||
<!-- End of temporary warning -->
|
||||
|
||||
<?php } else if( is_attr_binary( $server_id, $attr ) ) { ?>
|
||||
|
||||
<?php } else if( is_attr_binary( $ldapserver, $attr ) ) { ?>
|
||||
<ul>
|
||||
<?php if( is_array( $vals ) ) { for( $i=1; $i<=count($vals); $i++ ) {
|
||||
$href = "download_binary_attr.php?server_id=$server_id&dn=$encoded_dn&attr=$attr&value_num=" . ($i-1); ?>
|
||||
<li><a href="<?php echo $href; ?>"><img src="images/save.png" /> <?php echo $lang['download_value'] . ' ' . $i; ?>)</a></li>
|
||||
<?php } } else {
|
||||
$href = "download_binary_attr.php?server_id=$server_id&dn=$encoded_dn&attr=$attr"; ?>
|
||||
|
||||
<?php if( is_array( $vals ) ) {
|
||||
|
||||
for( $i=1; $i<=count($vals); $i++ ) {
|
||||
|
||||
$href = sprintf('download_binary_attr.php?server_id=%s&dn=%s&attr=%s&value_num=%s',
|
||||
$server_id,$encoded_dn,$attr,$i-1); ?>
|
||||
|
||||
<li><a href="<?php echo $href; ?>"><img src="images/save.png" /> <?php echo $lang['download_value'] . ' ' . $i; ?>)</a></li>
|
||||
<?php }
|
||||
|
||||
} else {
|
||||
$href = sprintf('download_binary_attr.php?server_id=%s&dn=%s&attr=%s',$server_id,$encoded_dn,$attr); ?>
|
||||
<li><a href="<?php echo $href; ?>"><img src="images/save.png" /> <?php echo $lang['download_value']; ?></a></li>
|
||||
<?php } ?>
|
||||
|
||||
</ul>
|
||||
<!-- Temporary warning until we find a way to add jpegPhoto values without an INAPROPRIATE_MATCHING error -->
|
||||
<!-- Temporary warning until we find a way to add jpegPhoto values without an INAPROPRIATE_MATCHING error -->
|
||||
<p><small>
|
||||
<?php echo $lang['inappropriate_matching_note']; ?>
|
||||
</small></p>
|
||||
<!-- End of temporary warning -->
|
||||
|
||||
|
||||
<?php } else { ?>
|
||||
|
||||
<ul class="current_values">
|
||||
<?php if( is_array( $current_values ) ) /*$num_current_values > 1 )*/ {
|
||||
foreach( $current_values as $val ) { ?>
|
||||
<ul class="current_values">
|
||||
|
||||
<?php if( is_array( $current_values ) ) /*$num_current_values > 1 )*/ {
|
||||
|
||||
foreach( $current_values as $val ) { ?>
|
||||
<li><nobr><?php echo htmlspecialchars(($val)); ?></nobr></li>
|
||||
<?php } ?>
|
||||
|
||||
<?php } ?>
|
||||
<?php } else { ?>
|
||||
|
||||
<?php } else { ?>
|
||||
<li><nobr><?php echo htmlspecialchars(($current_values)); ?></nobr></li>
|
||||
<?php } ?>
|
||||
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
<?php } ?>
|
||||
<?php } else { ?>
|
||||
<br />
|
||||
<br />
|
||||
<?php } ?>
|
||||
|
||||
<?php echo $lang['enter_value_to_add']; ?>
|
||||
<br />
|
||||
@ -123,46 +145,50 @@ include './header.php'; ?>
|
||||
<?php foreach( $schema_oclasses as $name => $oclass ) {
|
||||
|
||||
// exclude any structural ones, as they'll only generate an LDAP_OBJECT_CLASS_VIOLATION
|
||||
if ($oclass->type == "structural") continue;
|
||||
?>
|
||||
if ($oclass->type == "structural") continue; ?>
|
||||
|
||||
<option value="<?php echo $oclass->getName(); ?>"><?php echo $oclass->getName(); ?></option>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</select> <input type="submit" value="<?php echo $lang['add_new_objectclass']; ?>" />
|
||||
|
||||
</select>
|
||||
<input type="submit" value="<?php echo $lang['add_new_objectclass']; ?>" />
|
||||
|
||||
<br />
|
||||
<?php if( show_hints() ) { ?>
|
||||
<small>
|
||||
<br />
|
||||
<img src="images/light.png" /><span class="hint"><?php echo $lang['new_required_attrs_note']; ?></span>
|
||||
</small>
|
||||
<?php } ?>
|
||||
<?php }
|
||||
|
||||
<?php } else { ?>
|
||||
} else { ?>
|
||||
|
||||
<form action="add_value.php" method="post" class="new_value" name="new_value_form"<?php
|
||||
if( is_attr_binary( $ldapserver, $attr ) ) echo "enctype=\"multipart/form-data\""; ?>>
|
||||
|
||||
<form action="add_value.php" method="post" class="new_value" name="new_value_form"<?php
|
||||
if( is_attr_binary( $server_id, $attr ) ) echo "enctype=\"multipart/form-data\""; ?>>
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<input type="hidden" name="dn" value="<?php echo $encoded_dn; ?>" />
|
||||
<input type="hidden" name="attr" value="<?php echo $encoded_attr; ?>" />
|
||||
|
||||
<?php if( is_attr_binary( $server_id, $attr ) ) { ?>
|
||||
<input type="file" name="new_value" />
|
||||
<input type="hidden" name="binary" value="true" />
|
||||
<?php } else { ?>
|
||||
<?php if( is_multi_line_attr( $attr, $server_id ) ) { ?>
|
||||
<textarea name="new_value" rows="3" cols="30"></textarea>
|
||||
<?php } else { ?>
|
||||
<input type="text" <?php
|
||||
if( $schema_attr->getMaxLength() )
|
||||
echo "maxlength=\"" . $schema_attr->getMaxLength() . "\" ";
|
||||
?>name="new_value" size="40" value="" /><?php
|
||||
// draw the "browse" button next to this input box if this attr houses DNs:
|
||||
if( is_dn_attr( $server_id, $attr ) ) draw_chooser_link( "new_value_form.new_value", false ); ?>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
<?php if( is_attr_binary( $ldapserver, $attr ) ) { ?>
|
||||
<input type="file" name="new_value" />
|
||||
<input type="hidden" name="binary" value="true" />
|
||||
|
||||
<?php } else {
|
||||
if( is_multi_line_attr( $attr, $server_id ) ) { ?>
|
||||
|
||||
<textarea name="new_value" rows="3" cols="30"></textarea>
|
||||
|
||||
<?php } else { ?>
|
||||
<input type="text" <?php if( $schema_attr->getMaxLength() ) echo "maxlength=\"" . $schema_attr->getMaxLength() . "\" "; ?>name="new_value" size="40" value="" />
|
||||
|
||||
<?php // draw the "browse" button next to this input box if this attr houses DNs:
|
||||
if( is_dn_attr( $ldapserver, $attr ) )
|
||||
draw_chooser_link( "new_value_form.new_value", false ); ?>
|
||||
|
||||
<?php }
|
||||
} ?>
|
||||
|
||||
<input type="submit" name="submit" value="<?php echo $lang['add_new_value']; ?>" />
|
||||
<br />
|
||||
@ -176,7 +202,7 @@ include './header.php'; ?>
|
||||
<?php } ?>
|
||||
|
||||
<?php if( $schema_attr->getMaxLength() ) { ?>
|
||||
<small><b><?php echo $lang['maximum_length']; ?>:</b> <?php echo number_format( $schema_attr->getMaxLength() ); ?> <?php echo $lang['characters']; ?></small><br />
|
||||
<small><b><?php echo $lang['maximum_length']; ?>:</b> <?php echo number_format( $schema_attr->getMaxLength() ); ?> <?php echo $lang['characters']; ?></small><br />
|
||||
<?php } ?>
|
||||
|
||||
</form>
|
||||
|
@ -1,4 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/blowfish.php,v 1.3 2005/02/25 13:44:05 wurley Exp $
|
||||
|
||||
/**
|
||||
* The Cipher_blowfish:: class implements the Cipher interface enryption data
|
||||
@ -12,10 +13,13 @@
|
||||
* did not receive this file, see http://www.fsf.org/copyleft/lgpl.html.
|
||||
*
|
||||
* @author Mike Cochrane <mike@graftonhall.co.nz>
|
||||
* @version $Revision: 1.1 $
|
||||
* @version $Revision: 1.3 $
|
||||
* @since Horde 2.2
|
||||
* @package horde.cipher
|
||||
*/
|
||||
/**
|
||||
* @package horde.cipher
|
||||
*/
|
||||
|
||||
// Change for phpMyAdmin by lem9:
|
||||
//class Horde_Cipher_blowfish extends Horde_Cipher {
|
||||
@ -386,7 +390,7 @@ class Horde_Cipher_blowfish {
|
||||
$parts = $this->_encryptBlock($L, $R);
|
||||
return pack("NN", $parts['L'], $parts['R']);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Encrypt a block on data.
|
||||
*
|
||||
|
@ -1,10 +1,15 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/check_lang_files.php,v 1.9 2004/05/23 21:53:08 i18phpldapadmin Exp $
|
||||
?>
|
||||
<?php
|
||||
// phpldapadmin/check_lang_files.php, $Revision: 1.9 $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/check_lang_files.php,v 1.11 2005/02/25 13:44:05 wurley Exp $
|
||||
|
||||
/**
|
||||
* Test script to check that $lang variables in each language file.
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
echo "<html><head><title>phpldapadmin - check of translation</title></head><body>";
|
||||
$CHECKLANG=$_REQUEST['CHECKLANG'];
|
||||
|
||||
include realpath( './lang/en.php' );
|
||||
$english_lang = $lang;
|
||||
@ -39,6 +44,8 @@ if( false === $unused_keys )
|
||||
echo "</ol>\n";
|
||||
|
||||
echo "<h1>Incomplete or Erroneous Language Files</h1>\n\n";
|
||||
if ($CHECKLANG)
|
||||
printf("<h1>Checking language files %s</h1>\n\n",$CHECKLANG);
|
||||
echo "<h1><A HREF='?'>check all languages</A></h1>\n";
|
||||
flush();
|
||||
while( ( $file = readdir( $dir ) ) !== false ) {
|
||||
@ -48,13 +55,13 @@ while( ( $file = readdir( $dir ) ) !== false ) {
|
||||
// Sanity check. Is this really a PHP file?
|
||||
if( ! preg_match( "/\.php$/", $file ) )
|
||||
continue;
|
||||
echo "<h2><A HREF='?CHECKLANG=$file'>$file</A></h2>\n";
|
||||
echo "<ol>\n";
|
||||
unset( $lang );
|
||||
$lang = array();
|
||||
include realpath( $lang_dir.'/'.$file );
|
||||
$has_errors = false;
|
||||
if ($CHECKLANG=="" || $file===$CHECKLANG ){
|
||||
echo "<h2><A HREF='?CHECKLANG=$file'>$file</A></h2>\n";
|
||||
echo "<ol>\n";
|
||||
foreach( $english_lang as $key => $string )
|
||||
if( ! isset( $lang[ $key ] ) ) {
|
||||
$has_errors = true;
|
||||
|
27
collapse.php
27
collapse.php
@ -1,26 +1,30 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/collapse.php,v 1.11 2004/08/15 17:39:20 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/collapse.php,v 1.12 2005/02/25 13:44:05 wurley Exp $
|
||||
|
||||
/*
|
||||
* collapse.php
|
||||
/**
|
||||
* This script alters the session variable 'tree', collapsing it
|
||||
* at the dn specified in the query string.
|
||||
* at the dn specified in the query string.
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
* - dn (rawurlencoded)
|
||||
* - server_id
|
||||
*
|
||||
* Note: this script is equal and opposite to expand.php
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
//$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
//if( ! $ldapserver->haveAuthInfo())
|
||||
// pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = $_GET['dn'];
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$server_id = $_GET['server_id'];
|
||||
|
||||
check_server_id( $server_id ) or pla_error( "Bad server_id: " . htmlspecialchars( $server_id ) );
|
||||
|
||||
initialize_session_tree();
|
||||
|
||||
@ -35,10 +39,9 @@ $random_junk = md5( strtotime( 'now' ) . $time['usec'] );
|
||||
|
||||
// If cookies were disabled, build the url parameter for the session id.
|
||||
// It will be append to the url to be redirect
|
||||
$id_session_param="";
|
||||
if(SID != ""){
|
||||
$id_session_param = "&".session_name()."=".session_id();
|
||||
}
|
||||
$id_session_param = "";
|
||||
if (SID != "")
|
||||
$id_session_param = "&".session_name()."=".session_id();
|
||||
|
||||
header( "Location:tree.php?foo=$random_junk#{$server_id}_{$encoded_dn}$id_session_param" );
|
||||
?>
|
||||
|
52
common.php
52
common.php
@ -1,10 +1,11 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/common.php,v 1.55 2004/10/14 20:32:48 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/common.php,v 1.59 2005/03/16 11:20:23 wurley Exp $
|
||||
|
||||
/*
|
||||
* common.php
|
||||
/**
|
||||
* Contains code to be executed at the top of each phpLDAPadmin page.
|
||||
* include this file at the top of every PHP file.
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
// Work-around to get PLA to work in PHP5
|
||||
@ -19,8 +20,9 @@ else
|
||||
// For PHP4
|
||||
error_reporting( E_ALL );
|
||||
|
||||
|
||||
// For PHP5 backward/forward compatibility
|
||||
/**
|
||||
* For PHP5 backward/forward compatibility
|
||||
*/
|
||||
if( ! defined( 'E_STRICT' ) ) {
|
||||
define( 'E_STRICT', 2048 );
|
||||
}
|
||||
@ -41,7 +43,7 @@ ob_start();
|
||||
if( ! file_exists( realpath( './functions.php' ) ) ) {
|
||||
ob_end_clean();
|
||||
die( "Fatal error: Required file 'functions.php' does not exist." );
|
||||
}
|
||||
}
|
||||
if( ! is_readable( realpath( './functions.php' ) ) ) {
|
||||
ob_end_clean();
|
||||
die( "Cannot read the file 'functions.php' its permissions are too strict." );
|
||||
@ -66,24 +68,31 @@ if( file_exists( realpath( './config.php' ) ) ) {
|
||||
ob_end_clean();
|
||||
}
|
||||
|
||||
$required_files = array(
|
||||
$required_files = array(
|
||||
// The base English language strings
|
||||
'./lang/recoded/en.php',
|
||||
// Functions for talking to LDAP servers.
|
||||
'./server_functions.php',
|
||||
// Functions for managing the session (pla_session_start(), etc.)
|
||||
'./session_functions.php',
|
||||
'./session_functions.php',
|
||||
// Functions for reading the server schema (get_schema_object_classes(), etc.)
|
||||
'./schema_functions.php',
|
||||
'./schema_functions.php',
|
||||
// Functions that can be defined by the user (preEntryDelete(), postEntryDelete(), etc.)
|
||||
'./custom_functions.php',
|
||||
// Functions for hashing passwords with OpenSSL binary (only if mhash not present)
|
||||
'./emuhash_functions.php' );
|
||||
|
||||
'./emuhash_functions.php',
|
||||
// Functions for sending syslog messages
|
||||
'./syslog.php',
|
||||
// Functions for running various hooks
|
||||
'./hooks.php',
|
||||
// Functions for timeout and automatic logout feature
|
||||
'./timeout_functions.php' );
|
||||
|
||||
// Include each required file and check for sanity.
|
||||
foreach( $required_files as $file_name ) {
|
||||
file_exists( realpath( $file_name ) )
|
||||
or pla_error( "Fatal error: Required file '$file_name' does not exist." );
|
||||
is_readable( realpath( $file_name ) )
|
||||
is_readable( realpath( $file_name ) )
|
||||
or pla_error( "Fatal error: Cannot read the file '$file_name', its permissions are too strict." );
|
||||
ob_start();
|
||||
require_once realpath( $file_name );
|
||||
@ -91,7 +100,7 @@ foreach( $required_files as $file_name ) {
|
||||
}
|
||||
|
||||
if( pla_session_start() )
|
||||
postSessionInit();
|
||||
run_hook ( 'post_session_init', array () );
|
||||
|
||||
// Language configuration. Auto or specified?
|
||||
// Shall we attempt to auto-determine the language?
|
||||
@ -108,7 +117,7 @@ if( isset( $language ) ) {
|
||||
$value=preg_split ("/[-]+/", $value );
|
||||
$HTTP_LANGS2[$key]=$value[0];
|
||||
}
|
||||
|
||||
|
||||
$HTTP_LANGS = array_merge ($HTTP_LANGS1, $HTTP_LANGS2);
|
||||
foreach( $HTTP_LANGS as $HTTP_LANG) {
|
||||
// try to grab one after the other the language file
|
||||
@ -121,6 +130,7 @@ if( isset( $language ) ) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
// grab the language file configured in config.php
|
||||
if( $language != null ) {
|
||||
@ -131,8 +141,8 @@ if( isset( $language ) ) {
|
||||
ob_start();
|
||||
include realpath( "lang/recoded/$language.php" );
|
||||
ob_end_clean();
|
||||
} else {
|
||||
pla_error( "Could not read language file 'lang/recoded/$language.php'. Either the file
|
||||
} else {
|
||||
pla_error( "Could not read language file 'lang/recoded/$language.php'. Either the file
|
||||
does not exist, or its permissions do not allow phpLDAPadmin to read it." );
|
||||
}
|
||||
}
|
||||
@ -144,7 +154,7 @@ if( ! isset( $templates ) || ! is_array( $templates ) )
|
||||
$templates = array();
|
||||
|
||||
// Always including the 'custom' template (the most generic and flexible)
|
||||
$templates['custom'] =
|
||||
$templates['custom'] =
|
||||
array( 'desc' => 'Custom',
|
||||
'icon' => 'images/object.png',
|
||||
'handler' => 'custom.php' );
|
||||
@ -152,6 +162,7 @@ $templates['custom'] =
|
||||
// Strip slashes from GET, POST, and COOKIE variables if this
|
||||
// PHP install is configured to automatically addslashes()
|
||||
if ( get_magic_quotes_gpc() && ( ! isset( $slashes_stripped ) || ! $slashes_stripped ) ) {
|
||||
array_stripslashes($_REQUEST);
|
||||
array_stripslashes($_GET);
|
||||
array_stripslashes($_POST);
|
||||
array_stripslashes($_COOKIE);
|
||||
@ -159,4 +170,11 @@ if ( get_magic_quotes_gpc() && ( ! isset( $slashes_stripped ) || ! $slashes_stri
|
||||
$slashes_stripped = true;
|
||||
}
|
||||
|
||||
// Update $_SESSION[ 'activity' ]
|
||||
// for timeout and automatic logout feature
|
||||
if ( isset($_REQUEST['server_id']) ) {
|
||||
$ldapserver = new LDAPServer($_REQUEST['server_id']);
|
||||
if ( $ldapserver->haveAuthInfo() )
|
||||
set_lastactivity( $ldapserver );
|
||||
}
|
||||
?>
|
||||
|
559
compare.php
Normal file
559
compare.php
Normal file
@ -0,0 +1,559 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/compare.php,v 1.4 2005/03/18 07:24:30 wurley Exp $
|
||||
|
||||
/**
|
||||
* Compare two DNs - the destination DN is editable.
|
||||
*
|
||||
* Variables that come in as POST vars:
|
||||
*/
|
||||
/**
|
||||
* @todo Dont allow adding values if the objectclass doesnt exist.
|
||||
* @todo Show what objectclass needs to be added to add a value.
|
||||
*/
|
||||
|
||||
require realpath( 'common.php' );
|
||||
|
||||
$dn_src = isset( $_POST['dn_src'] ) ? $_POST['dn_src'] : null;
|
||||
$dn_dst = isset( $_POST['dn_dst'] ) ? $_POST['dn_dst'] : null;
|
||||
|
||||
$encoded_dn_src = rawurlencode( $dn_src );
|
||||
$encoded_dn_dst = rawurlencode( $dn_dst );
|
||||
|
||||
$server_id_src = (isset($_POST['server_id_src']) ? $_POST['server_id_src'] : '');
|
||||
$server_id_dst = (isset($_POST['server_id_dst']) ? $_POST['server_id_dst'] : '');
|
||||
|
||||
$ldapserver_src = new LDAPServer($server_id_src);
|
||||
if( ! $ldapserver_src->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$ldapserver_dst = new LDAPServer($server_id_dst);
|
||||
if( ! $ldapserver_src->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
dn_exists( $ldapserver_src, $dn_src ) or pla_error( sprintf( $lang['no_such_entry'], pretty_print_dn( $dn_src ) ) );
|
||||
dn_exists( $ldapserver_dst, $dn_dst ) or pla_error( sprintf( $lang['no_such_entry'], pretty_print_dn( $dn_dst ) ) );
|
||||
|
||||
$friendly_attrs = process_friendly_attr_table();
|
||||
|
||||
$attrs_src = get_object_attrs( $ldapserver_src, $dn_src, false, get_view_deref_setting() );
|
||||
$attrs_dst = get_object_attrs( $ldapserver_dst, $dn_dst, false, get_view_deref_setting() );
|
||||
|
||||
# Get a list of all attributes.
|
||||
$attrs_all = array_keys($attrs_src);
|
||||
foreach ($attrs_dst as $key => $val)
|
||||
if (! in_array($key,$attrs_all))
|
||||
$attrs_all[] = $key;
|
||||
|
||||
include './header.php'; ?>
|
||||
<body>
|
||||
|
||||
<table class="comp_dn" border=0>
|
||||
<tr><td colspan=4>
|
||||
<h3 class="title"><?php echo $lang['comparing']; ?></h3>
|
||||
</td></tr>
|
||||
|
||||
<tr>
|
||||
<td colspan=2>
|
||||
<h3 class="subtitle"><?php echo $lang['server']; ?>: <b><?php echo $ldapserver_src->name; ?></b> <?php echo $lang['distinguished_name'];?>: <b><?php echo htmlspecialchars( ( $dn_src ) ); ?></b></h3>
|
||||
</td>
|
||||
<td colspan=2>
|
||||
<h3 class="subtitle"><?php echo $lang['server']; ?>: <b><?php echo $ldapserver_dst->name; ?></b> <?php echo $lang['distinguished_name'];?>: <b><?php echo htmlspecialchars( ( $dn_dst ) ); ?></b></h3>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan=3><td align=right>
|
||||
<form action="compare.php" method="post" name="compare_form">
|
||||
<input type="hidden" name="server_id_src" value="<?php echo $ldapserver_dst->server_id; ?>" />
|
||||
<input type="hidden" name="server_id_dst" value="<?php echo $ldapserver_src->server_id; ?>" />
|
||||
<input type="hidden" name="dn_src" value="<?php echo htmlspecialchars( $dn_dst ); ?>" />
|
||||
<input type="hidden" name="dn_dst" value="<?php echo htmlspecialchars( $dn_src ); ?>" />
|
||||
<input type="submit" value="<?php echo $lang['switch_entry']; ?>" />
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php if( ! $attrs_all || ! is_array( $attrs_all ) ) {
|
||||
echo "<tr><td colspan=\"2\">(" . $lang['no_attributes'] . ")</td></tr>\n";
|
||||
echo "</table>";
|
||||
echo "</html>";
|
||||
die();
|
||||
}
|
||||
|
||||
sort( $attrs_all );
|
||||
|
||||
// Work through each of the attributes.
|
||||
foreach( $attrs_all as $attr ) {
|
||||
flush();
|
||||
|
||||
# If this is the DN, get the next attribute.
|
||||
if( ! strcasecmp( $attr, 'dn' ) )
|
||||
continue;
|
||||
|
||||
// Has the config.php specified that this attribute is to be hidden or shown?
|
||||
if( is_attr_hidden( $ldapserver_src, $attr) || is_attr_hidden( $ldapserver_dst, $attr))
|
||||
continue; ?>
|
||||
|
||||
<!-- Begin Attribute -->
|
||||
<tr>
|
||||
|
||||
<?php foreach (array('src','dst') as $side) { ?>
|
||||
|
||||
<?php
|
||||
if( $side == 'dst' && ! $ldapserver_dst->isReadOnly() ) { ?>
|
||||
|
||||
<form action="update_confirm.php" method="post" name="edit_form">
|
||||
<input type="hidden" name="server_id" value="<?php echo $ldapserver_dst->server_id; ?>" />
|
||||
<input type="hidden" name="dn" value="<?php echo $dn_dst; ?>" />
|
||||
|
||||
<?php }
|
||||
|
||||
$schema_attr_src = get_schema_attribute( $ldapserver_src, $attr, $dn_src );
|
||||
$schema_attr_dst = get_schema_attribute( $ldapserver_dst, $attr, $dn_dst );
|
||||
|
||||
// Setup the $attr_note, which will be displayed to the right of the attr name (if any)
|
||||
$attr_note = '';
|
||||
|
||||
// is there a user-friendly translation available for this attribute?
|
||||
if( isset( $friendly_attrs[ strtolower( $attr ) ] ) ) {
|
||||
$attr_display = $friendly_attrs[ strtolower( $attr ) ];
|
||||
$attr_note = "<acronym title=\"" . sprintf( $lang['alias_for'], $attr_display, $attr ) . "\">alias</acronym>";
|
||||
} else {
|
||||
$attr_note = "";
|
||||
$attr_display = $attr;
|
||||
}
|
||||
|
||||
// is this attribute required by an objectClass?
|
||||
$required_by = '';
|
||||
switch ($side) {
|
||||
case 'src':
|
||||
$ldapserver = $ldapserver_src;
|
||||
if( $schema_attr_src )
|
||||
foreach( $schema_attr_src->getRequiredByObjectClasses() as $required )
|
||||
if( isset($attrs_src['objectClass']) && in_array( strtolower( $required ), arrayLower( $attrs_src['objectClass'] ) ) )
|
||||
$required_by .= $required . ' ';
|
||||
|
||||
// It seems that some LDAP servers (Domino) returns attributes in lower case?
|
||||
elseif( isset($attrs_src['objectclass']) && in_array( strtolower( $required ), arrayLower( $attrs_src['objectclass'] ) ) )
|
||||
$required_by .= $required . ' ';
|
||||
|
||||
break;
|
||||
|
||||
case 'dst':
|
||||
$ldapserver = $ldapserver_dst;
|
||||
if( $schema_attr_dst )
|
||||
foreach( $schema_attr_dst->getRequiredByObjectClasses() as $required )
|
||||
if( isset($attrs_dst['objectClass']) && in_array( strtolower( $required ), arrayLower( $attrs_dst['objectClass'] ) ) )
|
||||
$required_by .= $required . ' ';
|
||||
|
||||
// It seems that some LDAP servers (Domino) returns attributes in lower case?
|
||||
elseif( isset($attrs_dst['objectclass']) && in_array( strtolower( $required ), arrayLower( $attrs_dst['objectclass'] ) ) )
|
||||
$required_by .= $required . ' ';
|
||||
break;
|
||||
}
|
||||
|
||||
if( $required_by ) {
|
||||
if( trim( $attr_note ) )
|
||||
$attr_note .= ', ';
|
||||
$attr_note .= "<acronym title=\"" . sprintf( $lang['required_for'], $required_by ) . "\">" . $lang['required'] . "</acronym> ";
|
||||
} ?>
|
||||
|
||||
<td class="attr">
|
||||
<?php $schema_href="schema.php?server_id=$server_id_src&view=attributes&viewvalue=" . real_attr_name($attr); ?>
|
||||
<b><a title="<?php echo sprintf( $lang['attr_name_tooltip'], $attr ) ?>" href="<?php echo $schema_href; ?>"><?php echo $attr_display; ?></a></b>
|
||||
</td>
|
||||
|
||||
<td class="attr_note">
|
||||
<sup><small><?php echo $attr_note; ?></small></sup>
|
||||
|
||||
<?php if( is_attr_read_only( $ldapserver, $attr ) ) { ?>
|
||||
<small>(<acronym title="<?php echo $lang['read_only_tooltip']; ?>"><?php echo $lang['read_only']; ?></acronym>)</small>
|
||||
<?php } ?>
|
||||
</td>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</tr>
|
||||
<!-- End of Attribute -->
|
||||
|
||||
<!-- Begin Values -->
|
||||
<tr>
|
||||
|
||||
<?php
|
||||
foreach (array('src','dst') as $side) {
|
||||
$vals = null; ?>
|
||||
|
||||
<td> </td><td class="val">
|
||||
|
||||
<?php // If this attribute isnt set, then show a blank.
|
||||
$toJump = 0;
|
||||
switch ($side) {
|
||||
case 'src':
|
||||
if (! isset($attrs_src[$attr])) {
|
||||
echo "<small><". $lang['no_value']."></small></td>";
|
||||
$toJump = 1;
|
||||
continue;
|
||||
} else
|
||||
$vals = $attrs_src[$attr];
|
||||
|
||||
$ldapserver = $ldapserver_src;
|
||||
break;
|
||||
case 'dst':
|
||||
if (! isset($attrs_dst[$attr])) {
|
||||
echo "<small><". $lang['no_value']."></small></td>";
|
||||
$toJump = 1;
|
||||
continue;
|
||||
} else
|
||||
$vals = $attrs_dst[$attr];
|
||||
|
||||
$ldapserver = $ldapserver_dst;
|
||||
break;
|
||||
}
|
||||
if ($toJump) continue;
|
||||
|
||||
/*
|
||||
* Is this attribute a jpegPhoto?
|
||||
*/
|
||||
if( is_jpeg_photo( $ldapserver, $attr ) ) {
|
||||
|
||||
switch ($side) {
|
||||
case 'src':
|
||||
// Don't draw the delete buttons if there is more than one jpegPhoto
|
||||
// (phpLDAPadmin can't handle this case yet)
|
||||
draw_jpeg_photos( $ldapserver, $dn_src, $attr, false );
|
||||
break;
|
||||
|
||||
case 'dst':
|
||||
if( $ldapserver_dst->isReadOnly() || is_attr_read_only( $ldapserver_dst, $attr ) )
|
||||
draw_jpeg_photos( $ldapserver, $dn_dst, $attr, false );
|
||||
else
|
||||
draw_jpeg_photos( $ldapserver, $dn_dst, $attr, true );
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
// proceed to the next attribute
|
||||
echo "</td>\n";
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* Is this attribute binary?
|
||||
*/
|
||||
if( is_attr_binary( $ldapserver, $attr ) ) {
|
||||
switch ($side) {
|
||||
case 'src':
|
||||
$href = sprintf("download_binary_attr.php?server_id=%s&dn=%s&attr=%s",$ldapserver->server_id,$encoded_dn_src,$attr);
|
||||
break;
|
||||
|
||||
case 'dst':
|
||||
$href = sprintf("download_binary_attr.php?server_id=%s&dn=%s&attr=%s",$ldapserver->server_id,$encoded_dn_dst,$attr);
|
||||
break;
|
||||
}
|
||||
?>
|
||||
|
||||
<small>
|
||||
|
||||
<?php echo $lang['binary_value']; ?><br />
|
||||
|
||||
<?php if( count( $vals ) > 1 ) { for( $i=1; $i<=count($vals); $i++ ) { ?>
|
||||
<a href="<?php echo $href . "&value_num=$i"; ?>"><img
|
||||
src="images/save.png" /> <?php echo $lang['download_value']; ?>(<?php echo $i; ?>)</a><br />
|
||||
|
||||
<?php } } else { ?>
|
||||
<a href="<?php echo $href; ?>"><img src="images/save.png" /> <?php echo $lang['download_value']; ?></a><br />
|
||||
|
||||
<?php }
|
||||
|
||||
if( $side == 'dst' && ! $ldapserver_dst->isReadOnly() && ! is_attr_read_only( $ldapserver, $attr ) ) { ?>
|
||||
|
||||
<a href="javascript:deleteAttribute( '<?php echo $attr; ?>' );" style="color:red;"><img src="images/trash.png" /> <?php echo $lang['delete_attribute']; ?></a>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</small>
|
||||
</td>
|
||||
|
||||
<?php continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* Note: at this point, the attribute must be text-based (not binary or jpeg)
|
||||
*/
|
||||
|
||||
/*
|
||||
* If this server is in read-only mode or this attribute is configured as read_only,
|
||||
* simply draw the attribute values and continue.
|
||||
*/
|
||||
|
||||
if( $side == 'dst' && ($ldapserver->isReadOnly() || is_attr_read_only( $ldapserver, $attr )) ) {
|
||||
if( is_array( $vals ) ) {
|
||||
foreach( $vals as $i => $val ) {
|
||||
if( trim( $val ) == "" )
|
||||
echo "<span style=\"color:red\">[" . $lang['empty'] . "]</span><br />\n";
|
||||
|
||||
elseif( 0 == strcasecmp( $attr, 'userPassword' ) && obfuscate_password_display() )
|
||||
echo preg_replace( '/./', '*', $val ) . "<br />";
|
||||
|
||||
else
|
||||
echo htmlspecialchars( $val ) . "<br />";
|
||||
}
|
||||
|
||||
} else {
|
||||
if( 0 == strcasecmp( $attr, 'userPassword' ) && obfuscate_password_display() )
|
||||
echo preg_replace( '/./', '*', $vals ) . "<br />";
|
||||
else
|
||||
echo $vals . "<br />";
|
||||
}
|
||||
echo "</td>";
|
||||
continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* Is this a userPassword attribute?
|
||||
*/
|
||||
if( ! strcasecmp( $attr, 'userpassword' ) ) {
|
||||
$user_password = $vals[0];
|
||||
$enc_type = get_enc_type( $user_password );
|
||||
|
||||
// Set the default hashing type if the password is blank (must be newly created)
|
||||
if( $user_password == '' ) {
|
||||
$enc_type = get_default_hash( $server_id );
|
||||
}
|
||||
|
||||
if ($side == 'dst') { ?>
|
||||
|
||||
<input type="hidden" name="old_values[userpassword]" value="<?php echo htmlspecialchars($user_password); ?>" />
|
||||
|
||||
<!-- Special case of enc_type to detect changes when user changes enc_type but not the password value -->
|
||||
<input size="38" type="hidden" name="old_enc_type" value="<?php echo ($enc_type==''?'clear':$enc_type); ?>" />
|
||||
|
||||
<?php }
|
||||
|
||||
if( obfuscate_password_display() || is_null( $enc_type ) ) {
|
||||
echo htmlspecialchars( preg_replace( "/./", "*", $user_password ) );
|
||||
} else {
|
||||
echo htmlspecialchars( $user_password );
|
||||
} ?>
|
||||
|
||||
<br />
|
||||
|
||||
<?php if ($side == 'dst') { ?>
|
||||
|
||||
<input style="width: 260px" type="password" name="new_values[userpassword]" value="<?php echo htmlspecialchars( $user_password ); ?>" />
|
||||
|
||||
<?php echo enc_type_select_list($enc_type);
|
||||
|
||||
} ?>
|
||||
|
||||
<br />
|
||||
|
||||
<script language="javascript">
|
||||
<!--
|
||||
function passwordComparePopup()
|
||||
{
|
||||
mywindow = open( 'password_checker.php', 'myname', 'resizable=no,width=450,height=200,scrollbars=1' );
|
||||
mywindow.location.href = 'password_checker.php?hash=<?php echo base64_encode($user_password); ?>&base64=true';
|
||||
if( mywindow.opener == null )
|
||||
mywindow.opener = self;
|
||||
}
|
||||
-->
|
||||
</script>
|
||||
|
||||
<small><a href="javascript:passwordComparePopup()"><?php echo $lang['t_check_pass']; ?></a></small>
|
||||
|
||||
</td>
|
||||
|
||||
<?php continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* Is this a boolean attribute?
|
||||
*/
|
||||
if( is_attr_boolean( $ldapserver, $attr) ) {
|
||||
$val = $vals[0];
|
||||
|
||||
if ($side = 'dst') {?>
|
||||
|
||||
<input type="hidden" name="old_values[<?php echo htmlspecialchars( $attr ); ?>]" value="<?php echo htmlspecialchars($val); ?>" />
|
||||
|
||||
<select name="new_values[<?php echo htmlspecialchars( $attr ); ?>]">
|
||||
<option value="TRUE"<?php echo ($val=='TRUE' ? ' selected' : ''); ?>><?php echo $lang['true']; ?></option>
|
||||
<option value="FALSE"<?php echo ($val=='FALSE' ? ' selected' : ''); ?>><?php echo $lang['false']; ?></option>
|
||||
<option value="">(<?php echo $lang['none_remove_value']; ?>)</option>
|
||||
</select>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</td>
|
||||
|
||||
<?php continue;
|
||||
}
|
||||
|
||||
/*
|
||||
* End of special case attributes (non plain text).
|
||||
*/
|
||||
|
||||
foreach( $vals as $i => $val ) {
|
||||
|
||||
if ($side == 'dst') {
|
||||
$input_name = "new_values[" . htmlspecialchars( $attr ) . "][$i]";
|
||||
// We smack an id="..." tag in here that doesn't have [][] in it to allow the
|
||||
// draw_chooser_link() to identify it after the user clicks.
|
||||
$input_id = "new_values_" . htmlspecialchars($attr) . "_" . $i; ?>
|
||||
|
||||
<!-- The old_values array will let update.php know if the entry contents changed
|
||||
between the time the user loaded this page and saved their changes. -->
|
||||
<input type="hidden" name="old_values[<?php echo htmlspecialchars( $attr ); ?>][<?php echo $i; ?>]" value="<?php echo htmlspecialchars($val); ?>" />
|
||||
<?php }
|
||||
|
||||
// Is this value is a structural objectClass, make it read-only
|
||||
if( 0 == strcasecmp( $attr, 'objectClass' ) ) { ?>
|
||||
|
||||
<a title="<?php echo $lang['view_schema_for_oclass']; ?>" href="schema.php?server_id=<?php echo $ldapserver->server_id; ?>&view=objectClasses&viewvalue=<?php echo htmlspecialchars( $val ); ?>"><img src="images/info.png" /></a>
|
||||
|
||||
<?php $schema_object = get_schema_objectclass( $ldapserver, $val);
|
||||
|
||||
if ($schema_object->type == 'structural') {
|
||||
echo "$val <small>(<acronym title=\"" . sprintf( $lang['structural_object_class_cannot_remove'] ) . "\">" . $lang['structural'] . "</acronym>)</small><br />";
|
||||
|
||||
if ($side == 'dst') {?>
|
||||
|
||||
<input type="hidden" name="<?php echo $input_name; ?>" id="<?php echo $input_id; ?>" value="<?php echo htmlspecialchars($val); ?>" />
|
||||
|
||||
<?php }
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if( is_dn_string( $val ) || is_dn_attr( $ldapserver, $attr ) ) { ?>
|
||||
|
||||
<a title="<?php echo sprintf( $lang['go_to_dn'], htmlspecialchars($val) ); ?>" href="edit.php?server_id=<?php echo $ldapserver->server_id; ?>&dn=<?php echo rawurlencode($val); ?>"><img style="vertical-align: top" src="images/go.png" /></a>
|
||||
|
||||
<?php } elseif( is_mail_string( $val ) ) { ?>
|
||||
|
||||
<a href="mailto:<?php echo htmlspecialchars($val); ?>"><img style="vertical-align: center" src="images/mail.png" /></a>
|
||||
|
||||
<?php } elseif( is_url_string( $val ) ) { ?>
|
||||
|
||||
<a href="<?php echo htmlspecialchars($val); ?>" target="new"><img style="vertical-align: center" src="images/dc.png" /></a>
|
||||
|
||||
<?php }
|
||||
|
||||
if( is_multi_line_attr( $attr, $val, $ldapserver->server_id ) ) {
|
||||
|
||||
if ($side == 'dst') {?>
|
||||
<textarea class="val" rows="3" cols="30" name="<?php echo $input_name; ?>" id="<?php echo $input_id; ?>"><?php echo htmlspecialchars($val); ?></textarea>
|
||||
|
||||
<?php } else {
|
||||
echo htmlspecialchars($val);
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
if ($side == 'dst') {?>
|
||||
|
||||
<input type="text" class="val" name="<?php echo $input_name; ?>" id="<?php echo $input_id; ?>" value="<?php echo htmlspecialchars($val); ?>" />
|
||||
|
||||
<?php } else {
|
||||
echo htmlspecialchars($val);
|
||||
}
|
||||
}
|
||||
|
||||
// draw a link for popping up the entry browser if this is the type of attribute
|
||||
// that houses DNs.
|
||||
if( is_dn_attr( $ldapserver, $attr ) )
|
||||
draw_chooser_link( "edit_form.$input_id", false ); ?>
|
||||
|
||||
<br />
|
||||
<?php } ?>
|
||||
|
||||
</td>
|
||||
|
||||
<?php } /* end foreach value */ ?>
|
||||
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
/* Draw the "add value" link under the list of values for this attributes */
|
||||
|
||||
if (! $ldapserver_dst->isReadOnly()) {
|
||||
|
||||
// First check if the required objectClass is in this DN
|
||||
$isOK = 0;
|
||||
$src_oclass = array();
|
||||
$attr_object = get_schema_attribute( $ldapserver_dst, $attr, $dn_dst );
|
||||
foreach ($attr_object->used_in_object_classes as $oclass) {
|
||||
if (in_array(strtolower($oclass),arrayLower($attrs_dst['objectClass']))) {
|
||||
$isOK = 1;
|
||||
break;
|
||||
} else {
|
||||
// Find oclass that the source has that provides this attribute.
|
||||
if (in_array($oclass,$attrs_src['objectClass']))
|
||||
$src_oclass[] = $oclass;
|
||||
}
|
||||
}
|
||||
|
||||
print "<tr><td colspan=2> </td><td> </td><td>";
|
||||
if (! $isOK) {
|
||||
|
||||
if (count($src_oclass) == 1) {
|
||||
$add_href = "add_oclass_form.php?server_id=$ldapserver_dst->server_id&dn=$encoded_dn_dst&new_oclass=$src_oclass[0]";
|
||||
} else {
|
||||
$add_href = "add_value_form.php?server_id=$ldapserver_dst->server_id&dn=$encoded_dn_dst&attr=objectClass";
|
||||
}
|
||||
|
||||
if ($attr == 'objectClass')
|
||||
printf('<div class="add_oclass">(<a href="%s" title="%s">%s</a>)</div>',$add_href,$lang['add_oclass_and_attrs'],$lang['add_value']);
|
||||
else
|
||||
printf('<div class="add_oclass">(<a href="%s" title="%s">%s</a>)</div>',$add_href,sprintf($lang['need_oclass'], implode(" ",$src_oclass)),$lang['add_new_objectclass']);
|
||||
|
||||
} else {
|
||||
if(! $schema_attr_dst->getIsSingleValue() || (! isset($vals))) {
|
||||
|
||||
$add_href = "add_value_form.php?server_id=$ldapserver_dst->server_id&dn=$encoded_dn_dst&attr=" . rawurlencode( $attr );
|
||||
|
||||
echo "<div class=\"add_value\">(<a href=\"$add_href\" title=\"" . sprintf( $lang['add_value_tooltip'], $attr ) . "\">" . $lang['add_value'] . "</a>)</div>\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
print "</td></tr>"; ?>
|
||||
|
||||
</td>
|
||||
|
||||
<?php flush(); ?>
|
||||
|
||||
</tr>
|
||||
|
||||
<?php } /* End foreach( $attrs as $attr => $vals ) */
|
||||
|
||||
if( ! $ldapserver_dst->isReadOnly( ) ) { ?>
|
||||
|
||||
<td colspan="2"> </td><td colspan=2><center><input type="submit" value="<?php echo $lang['save_changes']; ?>" /></center></td></tr></form>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</table>
|
||||
|
||||
<?php /* If this entry has a binary attribute, we need to provide a form for it to submit when deleting it. */ ?>
|
||||
<script language="javascript">
|
||||
//<!--
|
||||
function deleteAttribute( attrName )
|
||||
{
|
||||
if( confirm( "<?php echo $lang['really_delete_attribute']; ?> '" + attrName + "'?" ) ) {
|
||||
document.delete_attribute_form.attr.value = attrName;
|
||||
document.delete_attribute_form.submit();
|
||||
}
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<!-- This form is submitted by JavaScript when the user clicks "Delete attribute" on a binary attribute -->
|
||||
<form name="delete_attribute_form" action="delete_attr.php" method="post">
|
||||
<input type="hidden" name="server_id" value="<?php echo $ldapserver_dst->server_id; ?>" />
|
||||
<input type="hidden" name="dn" value="<?php echo $dn_dst; ?>" />
|
||||
<input type="hidden" name="attr" value="FILLED IN BY JAVASCRIPT" />
|
||||
</form>
|
||||
|
||||
</body>
|
||||
</html>
|
82
compare_form.php
Normal file
82
compare_form.php
Normal file
@ -0,0 +1,82 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/compare_form.php,v 1.1 2005/03/12 14:03:36 wurley Exp $
|
||||
|
||||
/**
|
||||
* Compares to DN entries side by side.
|
||||
*
|
||||
* - dn (rawurlencoded)
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = (isset($_GET['dn']) ? $_GET['dn'] : '');
|
||||
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$rdn = get_rdn( $dn );
|
||||
$container = get_container( $dn );
|
||||
|
||||
$attrs = get_object_attrs( $ldapserver, $dn );
|
||||
$select_server_html = server_select_list($server_id,true,'server_id_dst');
|
||||
|
||||
include './header.php'; ?>
|
||||
|
||||
<body>
|
||||
|
||||
<h3 class="title"><?php echo $lang['compare_dn']. ' ' . $rdn; ?></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['server']; ?>: <b><?php echo $ldapserver->name; ?></b>
|
||||
<?php if ($dn) { ?>
|
||||
<?php echo $lang['distinguished_name']?>: <b><?php echo $dn; ?></b>
|
||||
<?php } ?>
|
||||
</h3>
|
||||
|
||||
<center>
|
||||
<?php echo $lang['compare']; ?> <b><?php echo htmlspecialchars( $rdn ); ?></b> <?php echo $lang['with']; ?>:<br />
|
||||
<br />
|
||||
|
||||
<form action="compare.php" method="post" name="compare_form">
|
||||
<input type="hidden" name="server_id_src" value="<?php echo $server_id; ?>" />
|
||||
|
||||
<table style="border-spacing: 10px">
|
||||
<tr>
|
||||
<?php if (! $dn) { ?>
|
||||
<td><acronym title="<?php echo $lang['compf_dn_tooltip']; ?>"><?php echo $lang['compf_source_dn']; ?></acronym>:</td>
|
||||
<td>
|
||||
<input type="text" name="dn_src" size="45" value="<?php echo htmlspecialchars( $dn ); ?>" />
|
||||
<?php draw_chooser_link( 'compare_form.dn_src', 'true', $rdn ); ?></td>
|
||||
</td>
|
||||
<?php } else { ?>
|
||||
<input type="hidden" name="dn_src" value="<?php echo htmlspecialchars( $dn ); ?>" />
|
||||
<?php } ?>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><acronym title="<?php echo $lang['compf_dn_tooltip']; ?>"><?php echo $lang['copyf_dest_dn']; ?></acronym>:</td>
|
||||
<td>
|
||||
<input type="text" name="dn_dst" size="45" value="" />
|
||||
<?php draw_chooser_link( 'compare_form.dn_dst', 'true', '' ); ?></td>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><?php echo $lang['copyf_dest_server']?>:</td>
|
||||
<td><?php echo $select_server_html; ?></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2" align="right"><input type="submit" value="<?php echo $lang['compare']; ?>" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
@ -12,7 +12,7 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* phpLDAPadmin can encrypt the content of sensitive cookies if you set this
|
||||
* phpLDAPadmin can encrypt the content of sensitive cookies if you set this
|
||||
* to a big random string.
|
||||
*/
|
||||
$blowfish_secret = '';
|
||||
@ -20,63 +20,63 @@ $blowfish_secret = '';
|
||||
// Your LDAP servers
|
||||
$i=0;
|
||||
$servers = array();
|
||||
$servers[$i]['name'] = 'My LDAP Server'; /* A convenient name that will appear in
|
||||
the tree viewer and throughout phpLDAPadmin to
|
||||
$servers[$i]['name'] = 'My LDAP Server'; /* A convenient name that will appear in
|
||||
the tree viewer and throughout phpLDAPadmin to
|
||||
identify this LDAP server to users. */
|
||||
$servers[$i]['host'] = 'ldap.example.com'; /* Examples:
|
||||
'ldap.example.com',
|
||||
$servers[$i]['host'] = 'ldap.example.com'; /* Examples:
|
||||
'ldap.example.com',
|
||||
'ldaps://ldap.example.com/',
|
||||
'ldapi://%2fusr%local%2fvar%2frun%2fldapi'
|
||||
(Unix socket at /usr/local/var/run/ldap)
|
||||
Note: Leave 'host' blank to make phpLDAPadmin
|
||||
ignore this server. */
|
||||
$servers[$i]['base'] = 'dc=example,dc=com'; /* The base DN of your LDAP server. Leave this
|
||||
$servers[$i]['base'] = 'dc=example,dc=com'; /* The base DN of your LDAP server. Leave this
|
||||
blank to have phpLDAPadmin auto-detect it for you. */
|
||||
$servers[$i]['port'] = 389; /* The port your LDAP server listens on
|
||||
$servers[$i]['port'] = 389; /* The port your LDAP server listens on
|
||||
(no quotes). 389 is standard. */
|
||||
$servers[$i]['auth_type'] = 'config'; /* Three options for auth_type:
|
||||
1. 'cookie': you will login via a web form,
|
||||
and a client-side cookie will store your
|
||||
login dn and password.
|
||||
$servers[$i]['auth_type'] = 'config'; /* Three options for auth_type:
|
||||
1. 'cookie': you will login via a web form,
|
||||
and a client-side cookie will store your
|
||||
login dn and password.
|
||||
2. 'session': same as cookie but your login dn
|
||||
and password are stored on the web server in
|
||||
a persistent session variable.
|
||||
3. 'config': specify your login dn and password
|
||||
3. 'config': specify your login dn and password
|
||||
here in this config file. No login will be
|
||||
required to use phpLDAPadmin for this server.
|
||||
Choose wisely to protect your authentication
|
||||
information appropriately for your situation. If
|
||||
required to use phpLDAPadmin for this server.
|
||||
Choose wisely to protect your authentication
|
||||
information appropriately for your situation. If
|
||||
you choose 'cookie', your cookie contents will be
|
||||
encrypted using blowfish and the secret your specify
|
||||
above as $blowfish_secret. */
|
||||
$servers[$i]['login_dn'] = 'cn=Manager,dc=example,dc=com';
|
||||
/* The DN of the user for phpLDAPadmin to bind with.
|
||||
For anonymous binds or 'cookie' or 'session' auth_types,
|
||||
/* The DN of the user for phpLDAPadmin to bind with.
|
||||
For anonymous binds or 'cookie' or 'session' auth_types,
|
||||
leave the login_dn and login_pass blank. If you specify a
|
||||
login_attr in conjunction with a cookie or session auth_type,
|
||||
then you can also specify the login_dn/login_pass here for
|
||||
searching the directory for users (ie, if your LDAP server
|
||||
searching the directory for users (ie, if your LDAP server
|
||||
does not allow anonymous binds. */
|
||||
$servers[$i]['login_pass'] = 'secret'; /* Your LDAP password. If you specified an empty login_dn above, this
|
||||
MUST also be blank. */
|
||||
$servers[$i]['tls'] = false; /* Use TLS (Transport Layer Security) to connect to the LDAP
|
||||
$servers[$i]['tls'] = false; /* Use TLS (Transport Layer Security) to connect to the LDAP
|
||||
server. */
|
||||
$servers[$i]['low_bandwidth'] = false; /* If the link between your web server and this LDAP server is
|
||||
slow, it is recommended that you set 'low_bandwidth' to true.
|
||||
This will cause phpLDAPadmin to forego some "fancy" features
|
||||
to conserve bandwidth. */
|
||||
$servers[$i]['default_hash'] = 'crypt'; /* Default password hashing algorithm.
|
||||
One of md5, ssha, sha, md5crpyt, smd5, blowfish, crypt or
|
||||
One of md5, ssha, sha, md5crpyt, smd5, blowfish, crypt or
|
||||
leave blank for now default algorithm. */
|
||||
$servers[$i]['login_attr'] = 'dn'; /* If you specified 'cookie' or 'session' as the auth_type above,
|
||||
you can optionally specify here an attribute
|
||||
$servers[$i]['login_attr'] = 'dn'; /* If you specified 'cookie' or 'session' as the auth_type above,
|
||||
you can optionally specify here an attribute
|
||||
to use when logging in. If you enter 'uid'
|
||||
and login as 'dsmith', phpLDAPadmin will
|
||||
and login as 'dsmith', phpLDAPadmin will
|
||||
search for (uid=dsmith) and log in as that user. Leave
|
||||
blank or specify 'dn' to use full DN for
|
||||
blank or specify 'dn' to use full DN for
|
||||
logging in. Note also that if your LDAP server requires
|
||||
you to login to perform searches, you can enter
|
||||
the DN to use when searching in 'login_dn' and
|
||||
the DN to use when searching in 'login_dn' and
|
||||
'login_pass' above. You may also specify 'string', in which case
|
||||
you can provide a string to use for logging users
|
||||
in. See 'login_string' directly below. */
|
||||
@ -88,34 +88,34 @@ $servers[$i]['login_string'] = 'uid=<username>,ou=People,dc=example,dc=com';
|
||||
"uid=dsmith,ou=People,dc=example,dc=com", then I can specify a string
|
||||
"uid=<username>,ou=People,dc=example,dc=com" and my users can login with
|
||||
their user names alone, i.e., "dsmith" in this case. */
|
||||
$servers[$i]['login_class'] = ''; /* If 'login_attr' is used above such that phpLDAPadmin will
|
||||
search for your DN at login, you may restrict the search to
|
||||
a specific objectClass. E.g., set this to 'posixAccount' or
|
||||
$servers[$i]['login_class'] = ''; /* If 'login_attr' is used above such that phpLDAPadmin will
|
||||
search for your DN at login, you may restrict the search to
|
||||
a specific objectClass. E.g., set this to 'posixAccount' or
|
||||
'inetOrgPerson', depending upon your setup. */
|
||||
$servers[$i]['read_only'] = false; /* Specify true If you want phpLDAPadmin to not
|
||||
display or permit any modification to the
|
||||
display or permit any modification to the
|
||||
LDAP server. */
|
||||
$servers[$i]['show_create'] = true; /* Specify false if you do not want phpLDAPadmin to
|
||||
$servers[$i]['show_create'] = true; /* Specify false if you do not want phpLDAPadmin to
|
||||
draw the 'Create new' links in the tree viewer. */
|
||||
$servers[$i]['enable_auto_uid_numbers'] = false;
|
||||
/* This feature allows phpLDAPadmin to
|
||||
$servers[$i]['enable_auto_uid_numbers'] = false;
|
||||
/* This feature allows phpLDAPadmin to
|
||||
automatically determine the next
|
||||
available uidNumber for a new entry. */
|
||||
$servers[$i]['auto_uid_number_mechanism'] = 'search';
|
||||
$servers[$i]['auto_uid_number_mechanism'] = 'search';
|
||||
/* The mechanism to use when finding the next available uidNumber.
|
||||
Two possible values: 'uidpool' or 'search'. The 'uidpool'
|
||||
mechanism uses an existing uidPool entry in your LDAP server
|
||||
to blindly lookup the next available uidNumber. The 'search'
|
||||
to blindly lookup the next available uidNumber. The 'search'
|
||||
mechanism searches for entries with a uidNumber value and finds
|
||||
the first available uidNumber (slower). */
|
||||
$servers[$i]['auto_uid_number_search_base'] = 'ou=People,dc=example,dc=com';
|
||||
$servers[$i]['auto_uid_number_search_base'] = 'ou=People,dc=example,dc=com';
|
||||
/* The DN of the search base when the 'search'
|
||||
mechanism is used above. */
|
||||
$servers[$i]['auto_uid_number_min'] = 1000;
|
||||
/* The minimum number to use when searching for the next
|
||||
available UID number (only when 'search' is used for
|
||||
available UID number (only when 'search' is used for
|
||||
auto_uid_number_mechanism' */
|
||||
$servers[$i]['auto_uid_number_uid_pool_dn'] = 'cn=uidPool,dc=example,dc=com';
|
||||
$servers[$i]['auto_uid_number_uid_pool_dn'] = 'cn=uidPool,dc=example,dc=com';
|
||||
/* The DN of the uidPool entry when 'uidpool'
|
||||
mechanism is used above. */
|
||||
$servers[$i]['auto_uid_number_search_dn'] = '';
|
||||
@ -140,6 +140,22 @@ $servers[$i]['unique_attrs_dn'] = '';
|
||||
$servers[$i]['unique_attrs_dn_pass'] = '';
|
||||
/* The password for the dn above */
|
||||
|
||||
// $servers[$i]['only_login_allowed_dns'] = array( 'uid=stran,ou=People,dc=example,dc=com',
|
||||
// '(&(gidNumber=811)(objectClass=groupOfNames))',
|
||||
// '(|(uidNumber=200)(uidNumber=201))',
|
||||
// 'cn=callcenter,ou=Group,dc=example,dc=com' );
|
||||
/* If you set this, then only these DNs are allowed to log in.
|
||||
This array can contain individual users, groups or ldap search filter(s).
|
||||
Keep in mind that the user has not authenticated yet, so this will be an
|
||||
anonymous search to the LDAP server, so make your ACLs allow these searches
|
||||
to return results! */
|
||||
// $servers[$i]['visible'] = false;
|
||||
/* Set this if you dont want this LDAP server to show in the tree */
|
||||
// $servers[$i]['session_timeout'] = 5;
|
||||
/* This is the time out value in minutes for the server.
|
||||
After as many minutes of inactivity you will be automatically logged out.
|
||||
If not set, the default value will be ( session_cache_expire()-1 ) */
|
||||
|
||||
// If you want to configure additional LDAP servers, do so below.
|
||||
$i++;
|
||||
$servers[$i]['name'] = 'Another server';
|
||||
@ -157,15 +173,17 @@ $servers[$i]['login_class'] = '';
|
||||
$servers[$i]['read_only'] = false;
|
||||
$servers[$i]['show_create'] = true;
|
||||
$servers[$i]['enable_auto_uid_numbers'] = false;
|
||||
$servers[$i]['auto_uid_number_mechanism'] = 'search';
|
||||
$servers[$i]['auto_uid_number_search_base'] = 'ou=People,dc=example,dc=com';
|
||||
$servers[$i]['auto_uid_number_mechanism'] = 'search';
|
||||
$servers[$i]['auto_uid_number_search_base'] = 'ou=People,dc=example,dc=com';
|
||||
$servers[$i]['auto_uid_number_min'] = 1000;
|
||||
$servers[$i]['auto_uid_number_uid_pool_dn'] = 'cn=uidPool,dc=example,dc=com';
|
||||
$servers[$i]['unique_attrs_dn'] = '';
|
||||
$servers[$i]['unique_attrs_dn_pass'] = '';
|
||||
|
||||
// If you want to configure more LDAP servers, copy and paste the above (including the "$i++;")
|
||||
|
||||
// The temporary storage directory where we will put jpegPhoto data
|
||||
// This directory must be readable and writable by your web server
|
||||
// This directory must be readable and writable by your web server
|
||||
$jpeg_temp_dir = "/tmp"; // Example for Unix systems
|
||||
//$jpeg_temp_dir = "c:\\temp"; // Example for Windows systems
|
||||
|
||||
@ -173,6 +191,9 @@ $jpeg_temp_dir = "/tmp"; // Example for Unix systems
|
||||
/** Appearance and Behavior **/
|
||||
/** **/
|
||||
|
||||
// Whenever we display a date use this format.
|
||||
$date_format = "%A %e %B %Y";
|
||||
|
||||
// Set this to true if you want to hide the Request New Feature and Report bugs.
|
||||
$hide_configuration_management = false;
|
||||
|
||||
@ -201,21 +222,21 @@ $tree_display_format = '%rdn';
|
||||
|
||||
// Aliases and Referrrals
|
||||
//
|
||||
// Similar to ldapsearh's -a option, the following options allow you to configure
|
||||
// how phpLDAPadmin will treat aliases and referrals in the LDAP tree.
|
||||
// Similar to ldapsearh's -a option, the following options allow you to configure
|
||||
// how phpLDAPadmin will treat aliases and referrals in the LDAP tree.
|
||||
// For the following four settings, avaialable options include:
|
||||
//
|
||||
// LDAP_DEREF_NEVER - aliases are never dereferenced (eg, the contents of
|
||||
// LDAP_DEREF_NEVER - aliases are never dereferenced (eg, the contents of
|
||||
// the alias itself are shown and not the referenced entry).
|
||||
// LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but
|
||||
// LDAP_DEREF_SEARCHING - aliases should be dereferenced during the search but
|
||||
// not when locating the base object of the search.
|
||||
// LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base
|
||||
// LDAP_DEREF_FINDING - aliases should be dereferenced when locating the base
|
||||
// object but not during the search.
|
||||
// LDAP_DEREF_ALWAYS - aliases should be dereferenced always (eg, the contents
|
||||
// LDAP_DEREF_ALWAYS - aliases should be dereferenced always (eg, the contents
|
||||
// of the referenced entry is shown and not the aliasing entry)
|
||||
|
||||
// How to handle references and aliases in the search form. See above for options.
|
||||
$search_deref = LDAP_DEREF_ALWAYS;
|
||||
$search_deref = LDAP_DEREF_ALWAYS;
|
||||
|
||||
// How to handle references and aliases in the tree viewer. See above for options.
|
||||
$tree_deref = LDAP_DEREF_NEVER;
|
||||
@ -227,8 +248,8 @@ $export_deref = LDAP_DEREF_NEVER;
|
||||
$view_deref = LDAP_DEREF_NEVER;
|
||||
|
||||
|
||||
// The language setting. If you set this to 'auto', phpLDAPadmin will
|
||||
// attempt to determine your language automatically. Otherwise, available
|
||||
// The language setting. If you set this to 'auto', phpLDAPadmin will
|
||||
// attempt to determine your language automatically. Otherwise, available
|
||||
// lanaguages are: 'ct', 'de', 'en', 'es', 'fr', 'it', 'nl', and 'ru'
|
||||
// Localization is not complete yet, but most strings have been translated.
|
||||
// Please help by writing language files. See lang/en.php for an example.
|
||||
@ -242,12 +263,12 @@ $enable_mass_delete = false;
|
||||
// when a user logs in to a server anonymously
|
||||
$anonymous_bind_implies_read_only = true;
|
||||
|
||||
// Set to true if you want phpLDAPadmin to redirect anonymous
|
||||
// Set to true if you want phpLDAPadmin to redirect anonymous
|
||||
// users to a search form with no tree viewer on the left after
|
||||
// logging in.
|
||||
$anonymous_bind_redirect_no_tree = false;
|
||||
|
||||
// If you used auth_type 'form' in the servers list, you can adjust how long the cookie will last
|
||||
// If you used auth_type 'form' in the servers list, you can adjust how long the cookie will last
|
||||
// (default is 0 seconds, which expires when you close the browser)
|
||||
$cookie_time = 0; // seconds
|
||||
|
||||
@ -268,7 +289,7 @@ $search_result_size_limit = 50;
|
||||
// Set this to 'list' to see "Google" style formatted search results.
|
||||
$default_search_display = 'list';
|
||||
|
||||
// If true, display all password hash values as "******". Note that clear-text
|
||||
// If true, display all password hash values as "******". Note that clear-text
|
||||
// passwords will always be displayed as "******", regardless of this setting.
|
||||
$obfuscate_password_display = false;
|
||||
|
||||
@ -277,7 +298,7 @@ $obfuscate_password_display = false;
|
||||
/** **/
|
||||
|
||||
// Which attributes to include in the drop-down menu of the simple search form (comma-separated)
|
||||
// Change this to suit your needs for convenient searching. Be sure to change the corresponding
|
||||
// Change this to suit your needs for convenient searching. Be sure to change the corresponding
|
||||
// list below ($search_attributes_display)
|
||||
$search_attributes = "uid, cn, gidNumber, objectClass, telephoneNumber, mail, street";
|
||||
|
||||
@ -285,9 +306,9 @@ $search_attributes = "uid, cn, gidNumber, objectClass, telephoneNumber, mail, st
|
||||
// for your search attributes, do so here. Both lists must have the same number of entries.
|
||||
$search_attributes_display = "User Name, Common Name, Group ID, Object Class, Phone Number, Email, Address";
|
||||
|
||||
// The list of attributes to display in each search result entry.
|
||||
// The list of attributes to display in each search result entry.
|
||||
// Note that you can add * to the list to display all attributes
|
||||
$search_result_attributes = "cn, sn, uid, postalAddress, telephoneNumber";
|
||||
$search_result_attributes = "cn, sn, uid, postalAddress, telephoneNumber";
|
||||
|
||||
// You can re-arrange the order of the search criteria on the simple search form by modifying this array
|
||||
// You cannot however change the names of the criteria. Criteria names will be translated at run-time.
|
||||
@ -298,9 +319,9 @@ $search_criteria_options = array( "equals", "starts with", "contains", "ends wit
|
||||
$multi_line_attributes = array( "postalAddress", "homePostalAddress", "personalSignature" );
|
||||
|
||||
// A list of syntax OIDs which support multi-line attribute values:
|
||||
$multi_line_syntax_oids = array(
|
||||
$multi_line_syntax_oids = array(
|
||||
// octet string syntax OID:
|
||||
"1.3.6.1.4.1.1466.115.121.1.40",
|
||||
"1.3.6.1.4.1.1466.115.121.1.40",
|
||||
// postal address syntax OID:
|
||||
"1.3.6.1.4.1.1466.115.121.1.41" );
|
||||
|
||||
@ -316,6 +337,28 @@ $friendly_attrs = array();
|
||||
$friendly_attrs[ 'facsimileTelephoneNumber' ] = 'Fax';
|
||||
$friendly_attrs[ 'telephoneNumber' ] = 'Phone';
|
||||
|
||||
/** **/
|
||||
/** support for attrs display order **/
|
||||
/** **/
|
||||
|
||||
// Use this array if you want to have your attributes displayed in a specific order.
|
||||
// You can use default attribute names or their fridenly names.
|
||||
// For example, "sn" will be displayed right after "givenName". All the other attributes
|
||||
// that are not specified in this array will be displayed after in alphabetical order.
|
||||
|
||||
// $attrs_display_order = array(
|
||||
// "givenName",
|
||||
// "sn",
|
||||
// "cn",
|
||||
// "displayName",
|
||||
// "uid",
|
||||
// "uidNumber",
|
||||
// "gidNumber",
|
||||
// "homeDirectory",
|
||||
// "mail",
|
||||
// "userPassword"
|
||||
// );
|
||||
|
||||
/** **/
|
||||
/** Hidden attributes **/
|
||||
/** **/
|
||||
|
179
copy.php
179
copy.php
@ -1,48 +1,59 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/copy.php,v 1.25 2004/08/15 17:35:25 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/copy.php,v 1.31 2005/03/14 11:46:24 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* copy.php
|
||||
/**
|
||||
* Copies a given object to create a new one.
|
||||
*
|
||||
* Vars that come in as POST vars
|
||||
* - source_dn (rawurlencoded)
|
||||
* - new_dn (form element)
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require realpath( 'common.php' );
|
||||
|
||||
$source_dn = $_POST['old_dn'];
|
||||
$dest_dn = $_POST['new_dn'];
|
||||
$encoded_dn = rawurlencode( $source_dn );
|
||||
$source_server_id = $_POST['server_id'];
|
||||
$dest_server_id = $_POST['dest_server_id'];
|
||||
$do_recursive = ( isset( $_POST['recursive'] ) && $_POST['recursive'] == 'on' ) ? true : false;
|
||||
$source_server_id = (isset($_POST['server_id']) ? $_POST['server_id'] : '');
|
||||
$dest_server_id = (isset($_POST['dest_server_id']) ? $_POST['dest_server_id'] : '');
|
||||
|
||||
if( is_server_read_only( $dest_server_id ) )
|
||||
$ldapserver_source = new LDAPServer($source_server_id);
|
||||
$ldapserver_dest = new LDAPServer($dest_server_id);
|
||||
|
||||
if( $ldapserver_dest->isReadOnly() )
|
||||
pla_error( $lang['copy_server_read_only'] );
|
||||
|
||||
check_server_id( $source_server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $source_server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
check_server_id( $dest_server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $dest_server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
if( ! $ldapserver_source->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
if( ! $ldapserver_dest->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$source_dn = $_POST['old_dn'];
|
||||
$dest_dn = $_POST['new_dn'];
|
||||
$do_recursive = ( isset( $_POST['recursive'] ) && $_POST['recursive'] == 'on' ) ? true : false;
|
||||
$remove = ( isset( $_POST['remove'] ) && $_POST['remove'] == 'yes' ) ? true : false;
|
||||
$encoded_dn = rawurlencode( $source_dn );
|
||||
|
||||
include './header.php';
|
||||
|
||||
/* Error checking */
|
||||
if( 0 == strlen( trim( $dest_dn ) ) )
|
||||
pla_error( $lang['copy_dest_dn_blank'] );
|
||||
|
||||
if( pla_compare_dns( $source_dn,$dest_dn ) == 0 && $source_server_id == $dest_server_id )
|
||||
pla_error( $lang['copy_source_dest_dn_same'] );
|
||||
if( dn_exists( $dest_server_id, $dest_dn ) )
|
||||
|
||||
if( dn_exists( $ldapserver_dest, $dest_dn ) )
|
||||
pla_error( sprintf( $lang['copy_dest_already_exists'], pretty_print_dn( $dest_dn ) ) );
|
||||
if( ! dn_exists( $dest_server_id, get_container( $dest_dn ) ) )
|
||||
|
||||
if( ! dn_exists( $ldapserver_dest, get_container( $dest_dn ) ) )
|
||||
pla_error( sprintf( $lang['copy_dest_container_does_not_exist'], pretty_print_dn( get_container($dest_dn) ) ) );
|
||||
|
||||
if( $do_recursive ) {
|
||||
$filter = isset( $_POST['filter'] ) ? $_POST['filter'] : '(objectClass=*)';
|
||||
|
||||
// build a tree similar to that of the tree browser to give to r_copy_dn
|
||||
$snapshot_tree = array();
|
||||
echo "<body>\n";
|
||||
@ -51,105 +62,103 @@ if( $do_recursive ) {
|
||||
echo "<br /><br />";
|
||||
echo "<small>\n";
|
||||
echo $lang['copy_building_snapshot'];
|
||||
|
||||
flush();
|
||||
build_tree( $source_server_id, $source_dn, $snapshot_tree, $filter );
|
||||
|
||||
build_tree( $ldapserver_source, $source_dn, $snapshot_tree, $filter );
|
||||
echo " <span style=\"color:green\">" . $lang['success'] . "</span><br />\n";
|
||||
flush();
|
||||
|
||||
// prevent script from bailing early on a long delete
|
||||
@set_time_limit( 0 );
|
||||
|
||||
$copy_result = r_copy_dn( $source_server_id, $dest_server_id, $snapshot_tree, $source_dn, $dest_dn );
|
||||
$copy_result = r_copy_dn( $ldapserver_source, $ldapserver_dest, $snapshot_tree, $source_dn, $dest_dn );
|
||||
echo "</small>\n";
|
||||
|
||||
} else {
|
||||
$copy_result = copy_dn( $source_server_id, $source_dn, $dest_server_id, $dest_dn );
|
||||
$copy_result = copy_dn( $ldapserver_source, $source_dn, $ldapserver_dest, $dest_dn );
|
||||
}
|
||||
|
||||
if( $copy_result )
|
||||
{
|
||||
if( $copy_result ) {
|
||||
$edit_url="edit.php?server_id=$dest_server_id&dn=" . rawurlencode( $dest_dn );
|
||||
$new_rdn = get_rdn( $dest_dn );
|
||||
$container = get_container( $dest_dn );
|
||||
|
||||
if( array_key_exists( 'tree', $_SESSION ) )
|
||||
{
|
||||
// do we not have a tree and tree icons yet? Build a new ones.
|
||||
initialize_session_tree();
|
||||
if( array_key_exists( 'tree', $_SESSION ) ) {
|
||||
// do we not have a tree and tree icons yet? Build a new ones.
|
||||
initialize_session_tree();
|
||||
$tree = $_SESSION['tree'];
|
||||
$tree_icons = $_SESSION['tree_icons'];
|
||||
if( isset( $tree[$dest_server_id][$container] ) )
|
||||
{
|
||||
|
||||
if( isset( $tree[$dest_server_id][$container] ) ) {
|
||||
$tree[$dest_server_id][$container][] = $dest_dn;
|
||||
sort( $tree[ $dest_server_id ][ $container ] );
|
||||
$tree_icons[$dest_server_id][$dest_dn] = get_icon( $dest_server_id, $dest_dn );
|
||||
$tree_icons[$dest_server_id][$dest_dn] = get_icon( $ldapserver_dest, $dest_dn );
|
||||
|
||||
$_SESSION['tree'] = $tree;
|
||||
$_SESSION['tree_icons'] = $tree_icons;
|
||||
session_write_close();
|
||||
}
|
||||
}
|
||||
} ?>
|
||||
|
||||
?>
|
||||
<!-- refresh the tree view (with the new DN renamed)
|
||||
and redirect to the edit_dn page -->
|
||||
<center>
|
||||
<?php echo $lang['copy_successful_like_to']. "<a href=\"$edit_url\">" . $lang['copy_view_new_entry'] ."</a>"?>
|
||||
</center>
|
||||
<!-- refresh the tree view (with the new DN renamed)
|
||||
and redirect to the edit_dn page -->
|
||||
<script language="javascript">
|
||||
parent.left_frame.location.reload();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php if ($remove) {
|
||||
sleep(2);
|
||||
$delete_url = "delete_form.php?server_id=$dest_server_id&dn=" .rawurlencode( $source_dn ); ?>
|
||||
|
||||
<!-- redirect to the delete form -->
|
||||
<script language="javascript">
|
||||
parent.left_frame.location.reload();
|
||||
parent.right_frame.location="<?php echo $delete_url; ?>"
|
||||
</script>
|
||||
<br />
|
||||
<center>
|
||||
<?php echo $lang['copy_successful_like_to']. "<a href=\"$edit_url\">" . $lang['copy_view_new_entry'] ."</a>"?>
|
||||
</center>
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{
|
||||
<?php }
|
||||
|
||||
} else {
|
||||
exit;
|
||||
}
|
||||
|
||||
function r_copy_dn( $source_server_id, $dest_server_id, $tree, $root_dn, $dest_dn )
|
||||
{
|
||||
function r_copy_dn( $ldapserver_source, $ldapserver_dest, $tree, $root_dn, $dest_dn ) {
|
||||
global $lang;
|
||||
echo "<nobr>". $lang['copy_copying'] . htmlspecialchars( $root_dn ) . "...";
|
||||
flush();
|
||||
$copy_result = copy_dn( $source_server_id, $root_dn, $dest_server_id, $dest_dn );
|
||||
|
||||
if( ! $copy_result ) {
|
||||
$copy_result = copy_dn( $ldapserver_source, $root_dn, $ldapserver_dest, $dest_dn );
|
||||
|
||||
if( ! $copy_result )
|
||||
return false;
|
||||
}
|
||||
|
||||
echo "<span style=\"color:green\">".$lang['success']."</span></nobr><br />\n";
|
||||
flush();
|
||||
|
||||
$children = isset( $tree[ $root_dn ] ) ? $tree[ $root_dn ] : null;
|
||||
if( is_array( $children ) && count( $children ) > 0 )
|
||||
{
|
||||
if( is_array( $children ) && count( $children ) > 0 ) {
|
||||
foreach( $children as $child_dn ) {
|
||||
$child_rdn = get_rdn( $child_dn );
|
||||
$new_dest_dn = $child_rdn . ',' . $dest_dn;
|
||||
r_copy_dn( $source_server_id, $dest_server_id, $tree, $child_dn, $new_dest_dn );
|
||||
r_copy_dn( $ldapserver_source, $ldapserver_dest, $tree, $child_dn, $new_dest_dn );
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function copy_dn( $source_server_id, $source_dn, $dest_server_id, $dest_dn )
|
||||
{
|
||||
global $ds, $lang;
|
||||
function copy_dn( $ldapserver_source, $source_dn, $ldapserver_dest, $dest_dn ) {
|
||||
global $lang;
|
||||
|
||||
$ds = pla_ldap_connect( $dest_server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
$attrs = get_object_attrs( $ldapserver_source, $source_dn );
|
||||
|
||||
$attrs = get_object_attrs( $source_server_id, $source_dn );
|
||||
$new_entry = $attrs;
|
||||
// modify the prefix-value (ie "bob" in cn=bob) to match the destination DN's value.
|
||||
$rdn_attr = substr( $dest_dn, 0, strpos( $dest_dn, '=' ) );
|
||||
@ -160,27 +169,39 @@ function copy_dn( $source_server_id, $source_dn, $dest_server_id, $dest_dn )
|
||||
unset( $new_entry['dn'] );
|
||||
|
||||
// Check the user-defined custom call back first
|
||||
if( true === preEntryCreate( $dest_server_id, $dest_dn, $new_entry ) ) {
|
||||
$add_result = @ldap_add( $ds, $dest_dn, $new_entry );
|
||||
if( ! $add_result ) {
|
||||
postEntryCreate( $dest_server_id, $dest_dn, $new_entry );
|
||||
echo "</small><br /><br />";
|
||||
pla_error( $lang['copy_failed'] . $dest_dn, ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
}
|
||||
if( true === run_hook ( 'pre_entry_create',
|
||||
array ( 'server_id' => $ldapserver_dest->server_id, 'dn' => $dest_dn, 'attrs' => $new_entry ) ) ) {
|
||||
|
||||
$add_result = @ldap_add( $ldapserver_dest->connect(), $dest_dn, $new_entry );
|
||||
if( ! $add_result ) {
|
||||
run_hook ( 'post_entry_create', array ( 'server_id' => $ldapserver_dest->server_id,
|
||||
'dn' => $dest_dn, 'attrs' => $new_entry ) );
|
||||
|
||||
echo "</small><br /><br />";
|
||||
pla_error( $lang['copy_failed'] . $dest_dn, ldap_error( $ldapserver_dest->connect() ), ldap_errno( $ldapserver_dest->connect() ) );
|
||||
}
|
||||
|
||||
return $add_result;
|
||||
|
||||
return $add_result;
|
||||
} else {
|
||||
return false;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function build_tree( $source_server_id, $root_dn, &$tree, $filter='(objectClass=*)' )
|
||||
/**
|
||||
* @param object $ldapserver
|
||||
* @param dn $root_dn
|
||||
* @param unknown $tree
|
||||
* @param string $filter
|
||||
*/
|
||||
function build_tree( $ldapserver, $root_dn, &$tree, $filter='(objectClass=*)' )
|
||||
{
|
||||
$children = get_container_contents( $source_server_id, $root_dn, 0, $filter );
|
||||
if( is_array( $children ) && count( $children ) > 0 )
|
||||
{
|
||||
$children = get_container_contents( $ldapserver, $root_dn, 0, $filter );
|
||||
|
||||
if( is_array( $children ) && count( $children ) > 0 ) {
|
||||
$tree[ $root_dn ] = $children;
|
||||
foreach( $children as $child_dn )
|
||||
build_tree( $source_server_id, $child_dn, $tree, $filter );
|
||||
build_tree( $ldapserver, $child_dn, $tree, $filter );
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
@ -1,71 +1,69 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/copy_form.php,v 1.19 2004/08/15 17:39:20 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/copy_form.php,v 1.22 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* copy_form.php
|
||||
/**
|
||||
* Copies a given object to create a new one.
|
||||
*
|
||||
* - dn (rawurlencoded)
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = $_GET['dn'] ;
|
||||
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$server_id = $_GET['server_id'];
|
||||
$rdn = get_rdn( $dn );
|
||||
$container = get_container( $dn );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id_underline'] . htmlspecialchars( $server_id ) );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
$attrs = get_object_attrs( $ldapserver, $dn );
|
||||
$select_server_html = server_select_list($server_id,true,'dest_server_id');
|
||||
$children = get_container_contents( $ldapserver, $dn );
|
||||
|
||||
$attrs = get_object_attrs( $server_id, $dn );
|
||||
$server_name = $servers[$server_id]['name'];
|
||||
|
||||
$select_server_html = "";
|
||||
if (count($servers)>1){
|
||||
$select_server_html .= '<select name="dest_server_id">';
|
||||
foreach( $servers as $id => $server )
|
||||
if( $server['host'] )
|
||||
$select_server_html .= "<option value=\"$id\"". ($id==$server_id?" selected":"") .">" . htmlspecialchars($server['name']) . "</option>\n";
|
||||
$select_server_html .= '</select>';
|
||||
} else {
|
||||
$server = reset($servers);
|
||||
if( $server['host'] )
|
||||
$select_server_html .= '<input type="hidden" name="dest_server_id" value="'.key($servers).'">' .
|
||||
'<b>' . $server['name'] . '</b>';
|
||||
}
|
||||
|
||||
$children = get_container_contents( $server_id, $dn );
|
||||
|
||||
include './header.php';
|
||||
include './header.php';
|
||||
|
||||
// Draw some javaScrpt to enable/disable the filter field if this may be a recursive copy
|
||||
if( is_array( $children ) && count( $children ) > 0 ) { ?>
|
||||
<script language="javascript">
|
||||
//<!--
|
||||
|
||||
<script language="javascript">
|
||||
//<!--
|
||||
function toggle_disable_filter_field( recursive_checkbox )
|
||||
{
|
||||
if( recursive_checkbox.checked ) {
|
||||
recursive_checkbox.form.remove.disabled = false;
|
||||
recursive_checkbox.form.filter.disabled = false;
|
||||
} else {
|
||||
recursive_checkbox.form.remove.disabled = true;
|
||||
recursive_checkbox.form.remove.checked = false;
|
||||
recursive_checkbox.form.filter.disabled = true;
|
||||
}
|
||||
}
|
||||
//-->
|
||||
</script>
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<body>
|
||||
|
||||
<h3 class="title"><?php echo $lang['copyf_title_copy'] . $rdn; ?></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['server']; ?>: <b><?php echo $server_name; ?></b> <?php echo $lang['distinguished_name']?>: <b><?php echo $dn; ?></b></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['server']; ?>: <b><?php echo $ldapserver->name; ?></b> <?php echo $lang['distinguished_name']?>: <b><?php echo $dn; ?></b></h3>
|
||||
|
||||
<center>
|
||||
<?php echo $lang['copyf_title_copy'] ?><b><?php echo htmlspecialchars( $rdn ); ?></b> <?php echo $lang['copyf_to_new_object']?>:<br />
|
||||
<br />
|
||||
|
||||
<form action="copy.php" method="post" name="copy_form">
|
||||
<input type="hidden" name="old_dn" value="<?php echo $dn; ?>" />
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
@ -75,7 +73,7 @@ if( is_array( $children ) && count( $children ) > 0 ) { ?>
|
||||
<td><acronym title="<?php echo $lang['copyf_dest_dn_tooltip']; ?>"><?php echo $lang['copyf_dest_dn']?></acronym>:</td>
|
||||
<td>
|
||||
<input type="text" name="new_dn" size="45" value="<?php echo htmlspecialchars( $dn ); ?>" />
|
||||
<?php draw_chooser_link( 'copy_form.new_dn' ); ?></td>
|
||||
<?php draw_chooser_link( 'copy_form.new_dn', 'true', $rdn ); ?></td>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -94,8 +92,17 @@ if( is_array( $children ) && count( $children ) > 0 ) { ?>
|
||||
<td><acronym title="<?php echo $lang['filter_tooltip']; ?>"><?php echo $lang['filter']; ?></acronym>:</td>
|
||||
<td><input type="text" name="filter" value="(objectClass=*)" size="45" disabled />
|
||||
</tr>
|
||||
<tr>
|
||||
<td><?php echo $lang['delete_after_copy']; ?></td>
|
||||
<td><input type="checkbox" name="remove" value="yes"/ disabled>
|
||||
<small>(<?php echo $lang['delete_after_copy_warn']; ?>)</small)</td>
|
||||
</tr>
|
||||
<?php } else { ?>
|
||||
<tr>
|
||||
<td><?php echo $lang['delete_after_copy']; ?></td>
|
||||
<td><input type="checkbox" name="remove" value="yes"/></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<tr>
|
||||
<td colspan="2" align="right"><input type="submit" value="<?php echo $lang['copyf_title_copy']; ?>" /></td>
|
||||
</tr>
|
||||
@ -103,11 +110,10 @@ if( is_array( $children ) && count( $children ) > 0 ) { ?>
|
||||
</form>
|
||||
|
||||
<script language="javascript">
|
||||
//<!--
|
||||
/* If the user uses the back button, this way we draw the filter field
|
||||
properly. */
|
||||
toggle_disable_filter_field( document.copy_form.recursive );
|
||||
//-->
|
||||
//<!--
|
||||
/* If the user uses the back button, this way we draw the filter field properly. */
|
||||
toggle_disable_filter_field( document.copy_form.recursive );
|
||||
//-->
|
||||
</script>
|
||||
|
||||
<?php if( show_hints() ) {?>
|
||||
|
122
create.php
122
create.php
@ -1,9 +1,7 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/create.php,v 1.29 2004/10/28 13:37:39 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/create.php,v 1.32 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* create.php
|
||||
/**
|
||||
* Creates a new object.
|
||||
*
|
||||
* Variables that come in as POST vars:
|
||||
@ -14,52 +12,62 @@
|
||||
* and the values being their respective values)
|
||||
* - object_classes (rawurlencoded, and serialized array of objectClasses)
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require realpath( './common.php' );
|
||||
|
||||
$server_id = (isset($_POST['server_id']) ? $_POST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$new_dn = isset( $_POST['new_dn'] ) ? $_POST['new_dn'] : null;
|
||||
$encoded_dn = rawurlencode( $new_dn );
|
||||
$server_id = $_POST['server_id'];
|
||||
$vals = isset( $_POST['vals'] ) ? $_POST['vals'] : array();
|
||||
$attrs = isset( $_POST['attrs'] ) ? $_POST['attrs'] : array();
|
||||
$required_attrs = isset( $_POST['required_attrs'] ) ? $_POST['required_attrs'] : false;
|
||||
$object_classes = unserialize( rawurldecode( $_POST['object_classes'] ) );
|
||||
$redirect = isset( $_POST['redirect'] ) ? $_POST['redirect'] : false;
|
||||
|
||||
$encoded_dn = rawurlencode( $new_dn );
|
||||
$container = get_container( $new_dn );
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
// build the new entry
|
||||
$new_entry = array();
|
||||
if( isset( $required_attrs ) && is_array( $required_attrs ) ) {
|
||||
foreach( $required_attrs as $attr => $val ) {
|
||||
if( $val == '' )
|
||||
pla_error( sprintf( $lang['create_required_attribute'], htmlspecialchars( $attr ) ) );
|
||||
$new_entry[ $attr ][] = $val;
|
||||
$new_entry[ $attr ][] = $val;
|
||||
}
|
||||
}
|
||||
|
||||
if( isset( $attrs ) && is_array( $attrs ) ) {
|
||||
foreach( $attrs as $i => $attr ) {
|
||||
if( is_attr_binary( $server_id, $attr ) ) {
|
||||
if( is_attr_binary( $ldapserver, $attr ) ) {
|
||||
if( isset( $_FILES['vals']['name'][$i] ) && $_FILES['vals']['name'][$i] != '' ) {
|
||||
|
||||
// read in the data from the file
|
||||
$file = $_FILES['vals']['tmp_name'][$i];
|
||||
$f = fopen( $file, 'r' );
|
||||
$binary_data = fread( $f, filesize( $file ) );
|
||||
fclose( $f );
|
||||
|
||||
$val = $binary_data;
|
||||
$new_entry[ $attr ][] = $val;
|
||||
}
|
||||
|
||||
} else {
|
||||
$val = isset( $vals[$i] ) ? $vals[$i] : '';
|
||||
$val = isset( $vals[$i] ) ? $vals[$i] : '';
|
||||
|
||||
if( '' !== trim($val) )
|
||||
$new_entry[ $attr ][] = $val;
|
||||
$new_entry[ $attr ][] = $val;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -71,78 +79,80 @@ if( ! in_array( 'top', $new_entry['objectClass'] ) )
|
||||
foreach( $new_entry as $attr => $vals ) {
|
||||
|
||||
// Check to see if this is a unique Attribute
|
||||
if( $badattr = checkUniqueAttr( $server_id, $new_dn, $attr, $vals ) ) {
|
||||
$search_href='search.php?search=true&form=advanced&server_id=' . $server_id . '&filter=' . $attr . '=' . $badattr;
|
||||
pla_error(sprintf( $lang['unique_attr_failed'] , $attr,$badattr,$new_dn,$search_href ) );
|
||||
if( $badattr = checkUniqueAttr( $ldapserver, $new_dn, $attr, $vals ) ) {
|
||||
$search_href = sprintf('search.php?search=true&form=advanced&server_id=%s&filter=%s=%s',$server_id,$attr,$badattr);
|
||||
pla_error(sprintf( $lang['unique_attr_failed'],$attr,$badattr,$new_dn,$search_href ) );
|
||||
}
|
||||
|
||||
if( ! is_attr_binary( $server_id, $attr ) )
|
||||
if( ! is_attr_binary( $ldapserver, $attr ) )
|
||||
if( is_array( $vals ) )
|
||||
foreach( $vals as $i => $v )
|
||||
$new_entry[ $attr ][ $i ] = $v;
|
||||
else
|
||||
$new_entry[ $attr ] = $vals;
|
||||
$new_entry[ $attr ][ $i ] = $v;
|
||||
|
||||
else
|
||||
$new_entry[ $attr ] = $vals;
|
||||
}
|
||||
|
||||
//echo "<pre>"; var_dump( $new_dn );print_r( $new_entry ); echo "</pre>";
|
||||
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
|
||||
// Check the user-defined custom call back first
|
||||
if( true === preEntryCreate( $server_id, $new_dn, $new_entry ) )
|
||||
$add_result = @ldap_add( $ds, $new_dn, $new_entry );
|
||||
else
|
||||
exit;
|
||||
if( $add_result )
|
||||
{
|
||||
postEntryCreate( $server_id, $new_dn, $new_entry );
|
||||
if( $redirect )
|
||||
$redirect_url = $redirect;
|
||||
else
|
||||
$redirect_url = "edit.php?server_id=$server_id&dn=" . rawurlencode( $new_dn );
|
||||
if( true === run_hook ( 'pre_entry_create', array ( 'server_id' => $server_id,'dn' => $new_dn,'attrs' => $new_entry ) ) )
|
||||
$add_result = @ldap_add( $ldapserver->connect(), $new_dn, $new_entry );
|
||||
|
||||
if( array_key_exists( 'tree', $_SESSION ) )
|
||||
{
|
||||
else {
|
||||
pla_error( $lang['create_could_not_add'] );
|
||||
exit;
|
||||
}
|
||||
|
||||
if( $add_result ) {
|
||||
run_hook ( 'post_entry_create', array ( 'server_id' => $server_id, 'dn' => $new_dn, 'attrs' => $new_entry ) );
|
||||
|
||||
if( $redirect )
|
||||
$redirect_url = $redirect;
|
||||
|
||||
else
|
||||
$redirect_url = "edit.php?server_id=$server_id&dn=" . rawurlencode( $new_dn );
|
||||
|
||||
if( array_key_exists( 'tree', $_SESSION ) ) {
|
||||
$tree = $_SESSION['tree'];
|
||||
$tree_icons = $_SESSION['tree_icons'];
|
||||
|
||||
if( isset( $tree[$server_id][$container] ) ) {
|
||||
$tree[$server_id][$container][] = $new_dn;
|
||||
sort( $tree[$server_id][$container] );
|
||||
$tree_icons[$server_id][$new_dn] = get_icon( $server_id, $new_dn );
|
||||
$tree_icons[$server_id][$new_dn] = get_icon( $ldapserver, $new_dn );
|
||||
}
|
||||
|
||||
$_SESSION['tree'] = $tree;
|
||||
$_SESSION['tree_icons'] = $tree_icons;
|
||||
session_write_close();
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<?php if( isset( $tree[$server_id][$container] ) || $new_dn == $servers[$server_id]['base'] ) { ?>
|
||||
|
||||
<!-- refresh the tree view (with the new DN renamed)
|
||||
and redirect to the edit_dn page -->
|
||||
<script language="javascript">
|
||||
parent.left_frame.location.reload();
|
||||
location.href='<?php echo $redirect_url; ?>';
|
||||
</script>
|
||||
<?php if( isset( $tree[$server_id][$container] ) || $new_dn == $servers[$server_id]['base'] ) { ?>
|
||||
|
||||
<?php } ?>
|
||||
<!-- refresh the tree view (with the new DN renamed)
|
||||
and redirect to the edit_dn page -->
|
||||
<script language="javascript">
|
||||
parent.left_frame.location.reload();
|
||||
location.href='<?php echo $redirect_url; ?>';
|
||||
</script>
|
||||
|
||||
<meta http-equiv="refresh" content="0; url=<?php echo $redirect_url; ?>" />
|
||||
<?php } ?>
|
||||
|
||||
<meta http-equiv="refresh" content="0; url=<?php echo $redirect_url; ?>" />
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<?php echo $lang['redirecting'] ?> <a href="<?php echo $redirect_url; ?>"><?php echo $lang['here']?></a>.
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{
|
||||
pla_error( $lang['create_could_not_add'], ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
}
|
||||
|
||||
<?php } else {
|
||||
pla_error( $lang['create_could_not_add'], ldap_error( $ldapserver->connect() ), ldap_errno( $ldapserver->connect() ) );
|
||||
}
|
||||
?>
|
||||
|
186
create_form.php
186
create_form.php
@ -1,49 +1,34 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/create_form.php,v 1.21 2004/10/28 13:37:39 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/create_form.php,v 1.22 2005/02/25 13:44:05 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* create_form.php
|
||||
/**
|
||||
* The menu where the user chooses an RDN, Container, and Template for creating a new entry.
|
||||
* After submitting this form, the user is taken to their chosen Template handler.
|
||||
*
|
||||
* Variables that come in as GET vars
|
||||
* - server_id (optional)
|
||||
* - container (rawurlencoded) (optional)
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
require 'templates/template_config.php';
|
||||
|
||||
$server_id = $_REQUEST['server_id'];
|
||||
$server_id = (isset($_REQUEST['server_id']) ? $_REQUEST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$step = isset( $_REQUEST['step'] ) ? $_REQUEST['step'] : 1; // defaults to 1
|
||||
$container = $_REQUEST['container'];
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id_underline'] . htmlspecialchars( $server_id ) );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
$server_name = $servers[$server_id]['name'];
|
||||
|
||||
// build the server drop-down html
|
||||
$server_menu_html = '';
|
||||
if (count($servers)>1){
|
||||
$server_menu_html .= '<select name="server_id">';
|
||||
$js_dn_list = '';
|
||||
foreach( $servers as $id => $server ) {
|
||||
if( $server['host'] ) {
|
||||
$server_menu_html .= '<option value="'.$id.'"' . ( $id==$server_id? ' selected="true"' : '' ) . '>';
|
||||
$server_menu_html .= $server['name'] . '</option>';
|
||||
}
|
||||
}
|
||||
$server_menu_html .= '</select>';
|
||||
} else {
|
||||
$server = reset($servers);
|
||||
if( $server['host'] )
|
||||
$server_menu_html .= '<input type="hidden" name="server_id" value="'.key($servers).'" />' .
|
||||
'<b>' . $server['name'] . '</b>';
|
||||
}
|
||||
$server_menu_html = server_select_list($server_id,true);
|
||||
|
||||
include './header.php'; ?>
|
||||
|
||||
@ -51,76 +36,99 @@ include './header.php'; ?>
|
||||
|
||||
<h3 class="title"><?php echo $lang['createf_create_object']?></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['createf_choose_temp']?></h3>
|
||||
<center><h3><?php echo $lang['createf_select_temp']?></h3></center>
|
||||
<form action="creation_template.php" method="post">
|
||||
<center><h3><?php echo $lang['createf_select_temp']?></h3></center>
|
||||
|
||||
<form action="creation_template.php" method="post">
|
||||
<input type="hidden" name="container" value="<?php echo htmlspecialchars( $container ); ?>" />
|
||||
<table class="create">
|
||||
<tr>
|
||||
<td class="heading"><?php echo $lang['server']; ?>:</td>
|
||||
<td><?php echo $server_menu_html; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="heading">
|
||||
<?php echo $lang['template']; ?>:
|
||||
</td>
|
||||
<td>
|
||||
<table class="template_display">
|
||||
<tr>
|
||||
<td>
|
||||
<table class="templates">
|
||||
<?php
|
||||
$count = count( $templates );
|
||||
$i = -1;
|
||||
foreach( $templates as $name => $template ) {
|
||||
$i++;
|
||||
// Balance the columns properly
|
||||
if( ( count( $templates ) % 2 == 0 && $i == intval( $count / 2 ) ) ||
|
||||
( count( $templates ) % 2 == 1 && $i == intval( $count / 2 ) + 1 ) )
|
||||
echo "</table></td><td><table class=\"templates\">";
|
||||
// Check and see if this template should be shown in the list
|
||||
$isValid = false;
|
||||
if( isset($template['regexp'] ) ) {
|
||||
if( @preg_match( "/".$template['regexp']."/i", $container ) ) {
|
||||
$isValid = true;
|
||||
}
|
||||
} else {
|
||||
$isValid = true;
|
||||
}
|
||||
|
||||
?>
|
||||
<tr>
|
||||
<td><input type="radio" name="template" value="<?php echo htmlspecialchars($name);?>"
|
||||
id="<?php echo htmlspecialchars($name); ?>"
|
||||
<?php if( 0 == strcasecmp( 'Custom', $name ) ) echo ' checked';
|
||||
if( ! $isValid ) echo ' disabled'; ?> />
|
||||
</td>
|
||||
<td class="icon"><label for="<?php echo htmlspecialchars($name);?>"><img src="<?php echo $template['icon']; ?>" /></label></td>
|
||||
<td>
|
||||
<label for="<?php echo htmlspecialchars($name);?>">
|
||||
<?php if( 0 == strcasecmp( 'Custom', $template['desc'] ) ) echo '<b>';
|
||||
if( ! $isValid ) echo "<span style=\"color: gray\"><acronym title=\"This template is not allowed in this container\">";
|
||||
echo htmlspecialchars( $template['desc'] );
|
||||
if( ! $isValid ) echo "</acronym></span>";
|
||||
if( 0 == strcasecmp( 'Custom', $template['desc'] ) ) echo '</b>'; ?>
|
||||
</label></td>
|
||||
</tr>
|
||||
<?php
|
||||
} // end foreach ?>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<tr>
|
||||
<td class="heading"><?php echo $lang['template']; ?>:</td>
|
||||
<td>
|
||||
|
||||
<table class="template_display">
|
||||
<tr>
|
||||
<td>
|
||||
<table class="templates">
|
||||
|
||||
<?php $count = count( $templates );
|
||||
$i = -1;
|
||||
|
||||
foreach( $templates as $name => $template ) {
|
||||
$i++;
|
||||
|
||||
// Balance the columns properly
|
||||
if( ( count( $templates ) % 2 == 0 && $i == intval( $count / 2 ) ) ||
|
||||
( count( $templates ) % 2 == 1 && $i == intval( $count / 2 ) + 1 ) )
|
||||
|
||||
echo "</table></td><td><table class=\"templates\">";
|
||||
|
||||
// Check and see if this template should be shown in the list
|
||||
$isValid = false;
|
||||
|
||||
if( isset($template['regexp'] ) ) {
|
||||
if( @preg_match( "/".$template['regexp']."/i", $container ) ) {
|
||||
$isValid = true;
|
||||
}
|
||||
|
||||
} else {
|
||||
$isValid = true;
|
||||
} ?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<input type="radio" name="template" value="<?php echo htmlspecialchars($name);?>"
|
||||
id="<?php echo htmlspecialchars($name); ?>"
|
||||
|
||||
<?php if( 0 == strcasecmp( 'Custom', $name ) ) echo ' checked';
|
||||
if( ! $isValid ) echo ' disabled'; ?> />
|
||||
|
||||
</td>
|
||||
|
||||
<td class="icon">
|
||||
<label for="<?php echo htmlspecialchars($name);?>">
|
||||
<img src="<?php echo $template['icon']; ?>" />
|
||||
</label>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<label for="<?php echo htmlspecialchars($name);?>">
|
||||
|
||||
<?php if( 0 == strcasecmp( 'Custom', $template['desc'] ) ) echo '<b>';
|
||||
|
||||
if( ! $isValid )
|
||||
echo "<span style=\"color: gray\"><acronym title=\"This template is not allowed in this container\">";
|
||||
|
||||
echo htmlspecialchars( $template['desc'] );
|
||||
|
||||
if( ! $isValid ) echo "</acronym></span>";
|
||||
if( 0 == strcasecmp( 'Custom', $template['desc'] ) ) echo '</b>'; ?>
|
||||
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php } // end foreach ?>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2"><center><input type="submit" name="submit" value="<?php echo $lang['proceed_gt']?>" /></center></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</form>
|
||||
<tr>
|
||||
<td colspan="2"><center><input type="submit" name="submit" value="<?php echo $lang['proceed_gt']?>" /></center></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,20 +1,32 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/creation_template.php,v 1.18 2004/10/24 23:51:49 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/creation_template.php,v 1.22 2005/03/12 00:57:17 wurley Exp $
|
||||
|
||||
/* file: creation_template.php
|
||||
/**
|
||||
* This file simply acts as a plugin grabber for the creator templates in
|
||||
* the directory templates/creation/
|
||||
*
|
||||
* Expected POST vars:
|
||||
* server_id
|
||||
* template
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require_once 'common.php';
|
||||
require 'templates/template_config.php';
|
||||
|
||||
$template = http_get_value( 'template' );
|
||||
$template !== false or pla_error( $lang['ctemplate_no_template'] );
|
||||
$server_id = (isset($_REQUEST['server_id']) ? $_REQUEST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$template = (isset($_REQUEST['template']) ? $_REQUEST['template'] : null);
|
||||
! is_null($template) or pla_error( $lang['ctemplate_no_template'] );
|
||||
|
||||
if( $template == 'custom' ) {
|
||||
foreach( $templates as $id => $template ) {
|
||||
@ -28,35 +40,29 @@ if( $template == 'custom' ) {
|
||||
isset( $templates[$template] ) or pla_error( sprintf( $lang['invalid_template'], htmlspecialchars( $template ) ) );
|
||||
$template_id = $template;
|
||||
$template = isset( $templates[$template] ) ? $templates[$template_id] : null;
|
||||
$server_id = http_get_value( 'server_id' );
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
$server_name = $servers[ $server_id ][ 'name' ];
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
|
||||
include './header.php';
|
||||
|
||||
if ( ! array_key_exists('no_header', $template ) ) {
|
||||
include './header.php';
|
||||
?>
|
||||
|
||||
<body>
|
||||
<h3 class="title"><?php echo $lang['createf_create_object']?></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['ctemplate_on_server']?> '<?php echo htmlspecialchars( $server_name ); ?>', <?php echo $lang['using_template']?> '<?php echo htmlspecialchars( $template['desc'] ); ?>'</h3>
|
||||
<h3 class="subtitle"><?php echo $lang['ctemplate_on_server']?> '<?php echo htmlspecialchars( $ldapserver->name ); ?>', <?php echo $lang['using_template']?> '<?php echo htmlspecialchars( $template['desc'] ); ?>'</h3>
|
||||
|
||||
<?php
|
||||
<?php }
|
||||
|
||||
$handler = 'templates/creation/' . $template['handler'];
|
||||
$handler = realpath( $handler );
|
||||
|
||||
if( ! file_exists( $handler ) )
|
||||
pla_error( sprintf( $lang['template_does_not_exist'], htmlspecialchars( $template['handler'] ) ) );
|
||||
|
||||
if( ! is_readable( $handler ) )
|
||||
pla_error( sprintf( $lang['template_not_readable'], htmlspecialchars( $template['handler'] ) ) );
|
||||
|
||||
include $handler;
|
||||
|
||||
echo "</body>\n</html>";
|
||||
|
||||
if ( ! array_key_exists('no_header', $template ) ) {
|
||||
echo "</body>\n</html>";
|
||||
}
|
||||
?>
|
||||
|
@ -1,9 +1,12 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/custom_functions.php,v 1.6 2004/05/27 13:25:13 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/custom_functions.php,v 1.8 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* custom_functions.php: Choose your own adventure.
|
||||
/**
|
||||
* CUSTOM_FUCTIONS has been DEPRECIATED, please use the hooks functions now.
|
||||
* Let the phpLDAPadmin developers know if you REALLY need this - it will be removed
|
||||
* in future releases.
|
||||
*
|
||||
* custom_functions.php:
|
||||
*
|
||||
* This file is full of functions (callbacks really) that are
|
||||
* meant to be filled in by users of phpLDAPadmin (you). These functions
|
||||
@ -56,6 +59,9 @@
|
||||
* - ldap_delete (ie, removing entries)
|
||||
* - ldap_modify (ie, changing the value of an attribute, for both
|
||||
* multi- and single-valued attributes)
|
||||
* @deprecated
|
||||
* @see hooks.php
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -86,6 +92,7 @@ function postAttrModify( $server_id, $dn, $attr_name, $new_value )
|
||||
* this function also gives you the attribute name ($attr_name)
|
||||
* and the new value that the attribute will have ($new_value).
|
||||
* $new_value may be a string or an array of strings.
|
||||
* @deprecated
|
||||
*/
|
||||
function preAttrModify( $server_id, $dn, $attr_name, $new_value )
|
||||
{
|
||||
@ -101,6 +108,7 @@ function preAttrModify( $server_id, $dn, $attr_name, $new_value )
|
||||
* this function also gives you the attribute name ($attr_name)
|
||||
* and the new value that the attribute will have ($new_value).
|
||||
* $new_value may be a string or an array of strings.
|
||||
* @deprecated
|
||||
*/
|
||||
function preAttrAdd( $server_id, $dn, $attr_name, $new_value )
|
||||
{
|
||||
@ -116,6 +124,7 @@ function preAttrAdd( $server_id, $dn, $attr_name, $new_value )
|
||||
* one may wish to create the user's home directory.
|
||||
* See the documentation for preEntryCreate() below for
|
||||
* the description of the $attrs parameter.
|
||||
* @deprecated
|
||||
*/
|
||||
function postEntryCreate( $server_id, $dn, $attrs )
|
||||
{
|
||||
@ -149,6 +158,7 @@ function postEntryCreate( $server_id, $dn, $attrs )
|
||||
* ...
|
||||
* )
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
function preEntryCreate( $server_id, $dn, $attrs )
|
||||
{
|
||||
@ -160,6 +170,7 @@ function preEntryCreate( $server_id, $dn, $attrs )
|
||||
* This function is executed before an entry is deleted.
|
||||
* If it returns true, the entry is deleted, if false
|
||||
* is returned, the entry is not deleted.
|
||||
* @deprecated
|
||||
*/
|
||||
function preEntryDelete( $server_id, $dn )
|
||||
{
|
||||
@ -171,6 +182,7 @@ function preEntryDelete( $server_id, $dn )
|
||||
* This function is executed after an entry is deleted.
|
||||
* Unlike preEntryDelete(), this function's return
|
||||
* value is ignored.
|
||||
* @deprecated
|
||||
*/
|
||||
function postEntryDelete( $server_id, $dn )
|
||||
{
|
||||
@ -179,9 +191,10 @@ function postEntryDelete( $server_id, $dn )
|
||||
|
||||
/**
|
||||
* This function is called, after a new session is initilaized
|
||||
* @deprecated
|
||||
*/
|
||||
function postSessionInit()
|
||||
{
|
||||
// Fill me in
|
||||
}
|
||||
|
||||
?>
|
||||
|
68
delete.php
68
delete.php
@ -1,72 +1,73 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/delete.php,v 1.18 2004/08/15 17:35:25 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/delete.php,v 1.21 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
/*
|
||||
* delete.php
|
||||
/**
|
||||
* Deletes a DN and presents a "job's done" message.
|
||||
*
|
||||
* Variables that come in as POST vars:
|
||||
* - dn (rawurlencoded)
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require realpath( 'common.php' );
|
||||
|
||||
$server_id = (isset($_POST['server_id']) ? $_POST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = $_POST['dn'];
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$server_id = $_POST['server_id'];
|
||||
|
||||
if( $dn === null )
|
||||
pla_error( $lang['you_must_specify_a_dn'] );
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
dn_exists( $server_id, $dn ) or pla_error( sprintf( $lang['no_such_entry'], '<b>' . pretty_print_dn( $dn ) . '</b>' ) );
|
||||
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
dn_exists( $ldapserver, $dn ) or pla_error( sprintf( $lang['no_such_entry'], '<b>' . pretty_print_dn( $dn ) . '</b>' ) );
|
||||
|
||||
// Check the user-defined custom callback first.
|
||||
if( true === preEntryDelete( $server_id, $dn ) ) {
|
||||
$del_result = @ldap_delete( $ds, $dn );
|
||||
if( true === run_hook ( 'pre_entry_delete', array ( 'server_id' => $server_id, 'dn' => $dn ) ) ) {
|
||||
$del_result = @ldap_delete( $ldapserver->connect(), $dn );
|
||||
|
||||
} else {
|
||||
exit;
|
||||
pla_error( sprintf( $lang['could_not_delete_entry'], '<b>' . pretty_print_dn( $dn ) . '</b>' ));
|
||||
}
|
||||
|
||||
if( $del_result )
|
||||
{
|
||||
if( $del_result ) {
|
||||
|
||||
// Custom callback
|
||||
postEntryDelete( $server_id, $dn );
|
||||
run_hook ( 'post_entry_delete', array ( 'server_id' => $server_id, 'dn' => $dn ) );
|
||||
|
||||
// kill the DN from the tree browser session variable and
|
||||
// refresh the tree viewer frame (left_frame)
|
||||
|
||||
if( array_key_exists( 'tree', $_SESSION ) )
|
||||
{
|
||||
if( array_key_exists( 'tree', $_SESSION ) ) {
|
||||
$tree = $_SESSION['tree'];
|
||||
|
||||
if( isset( $tree[$server_id] ) && is_array( $tree[$server_id] ) ) {
|
||||
|
||||
// does it have children? (it shouldn't, but hey, you never know)
|
||||
// does it have children? (it shouldn't, but hey, you never know)
|
||||
if( isset( $tree[$server_id][$dn] ) )
|
||||
unset( $tree[$server_id][$dn] );
|
||||
|
||||
|
||||
// search and destroy
|
||||
foreach( $tree[$server_id] as $tree_dn => $subtree )
|
||||
foreach( $subtree as $key => $sub_tree_dn )
|
||||
if( 0 == strcasecmp( $sub_tree_dn, $dn ) )
|
||||
if( 0 == strcasecmp( $sub_tree_dn, $dn ) )
|
||||
unset( $tree[$server_id][$tree_dn][$key] );
|
||||
|
||||
$_SESSION['tree'] = $tree;
|
||||
}
|
||||
session_write_close();
|
||||
}
|
||||
|
||||
include './header.php';
|
||||
|
||||
?>
|
||||
include './header.php'; ?>
|
||||
|
||||
<script language="javascript">
|
||||
parent.left_frame.location.reload();
|
||||
@ -76,11 +77,8 @@ if( $del_result )
|
||||
<br />
|
||||
<center><?php echo sprintf( $lang['entry_deleted_successfully'], '<b>' .pretty_print_dn($dn) . '</b>' ); ?></center>
|
||||
|
||||
<?php
|
||||
|
||||
|
||||
} else {
|
||||
pla_error( sprintf( $lang['could_not_delete_entry'], '<b>' . pretty_print_dn( $dn ) . '</b>' ),
|
||||
ldap_error( $ds ),
|
||||
ldap_errno( $ds ) );
|
||||
<?php } else {
|
||||
pla_error( sprintf( $lang['could_not_delete_entry'], '<b>' . pretty_print_dn( $dn ) . '</b>' ),
|
||||
ldap_error( $ldapserver->connect() ), ldap_errno( $ldapserver->connect() ) );
|
||||
}
|
||||
?>
|
||||
|
@ -1,47 +1,51 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/delete_attr.php,v 1.9 2004/08/15 17:39:20 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/delete_attr.php,v 1.11 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* delete_attr.php
|
||||
/**
|
||||
* Deletes an attribute from an entry with NO confirmation.
|
||||
*
|
||||
* On success, redirect to edit.php
|
||||
* On failure, echo an error.
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = $_POST['server_id'];
|
||||
$server_id = (isset($_POST['server_id']) ? $_POST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = $_POST['dn'] ;
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$attr = $_POST['attr'];
|
||||
|
||||
if( is_attr_read_only( $server_id, $attr ) )
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
|
||||
if( is_attr_read_only( $ldapserver, $attr ) )
|
||||
pla_error( sprintf( $lang['attr_is_read_only'], htmlspecialchars( $attr ) ) );
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
if( ! $attr ) pla_error( $lang['no_attr_specified'] );
|
||||
if( ! $dn ) pla_error( $lang['no_dn_specified'] );
|
||||
|
||||
$update_array = array();
|
||||
$update_array[$attr] = array();
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
$res = @ldap_modify( $ds, $dn, $update_array );
|
||||
if( $res )
|
||||
{
|
||||
|
||||
$res = @ldap_modify( $ldapserver->connect(), $dn, $update_array );
|
||||
if( $res ) {
|
||||
$redirect_url = "edit.php?server_id=$server_id&dn=$encoded_dn";
|
||||
|
||||
foreach( $update_array as $attr => $junk )
|
||||
$redirect_url .= "&modified_attrs[]=$attr";
|
||||
header( "Location: $redirect_url" );
|
||||
}
|
||||
else
|
||||
{
|
||||
pla_error( $lang['could_not_perform_ldap_modify'], ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
}
|
||||
|
||||
header( "Location: $redirect_url" );
|
||||
|
||||
} else {
|
||||
pla_error( $lang['could_not_perform_ldap_modify'], ldap_error( $ldapserver->connect() ), ldap_errno( $ldapserver->connect() ) );
|
||||
}
|
||||
?>
|
||||
|
189
delete_form.php
189
delete_form.php
@ -1,151 +1,154 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/delete_form.php,v 1.17 2004/10/21 00:14:48 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/delete_form.php,v 1.19 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
/*
|
||||
/**
|
||||
* delete_form.php
|
||||
* Displays a last chance confirmation form to delete a dn.
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
* - dn (rawurlencoded)
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = $_GET['dn'];
|
||||
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$server_id = $_GET['server_id'];
|
||||
$rdn = pla_explode_dn( $dn );
|
||||
$rdn = $rdn[0];
|
||||
$server_name = $servers[$server_id]['name'];
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$children = get_container_contents( $server_id, $dn,0,'(objectClass=*)',LDAP_DEREF_NEVER );
|
||||
$has_children = count($children)>0 ? true : false;
|
||||
$children = get_container_contents( $ldapserver,$dn,0,'(objectClass=*)',LDAP_DEREF_NEVER );
|
||||
$has_children = count($children) > 0 ? true : false;
|
||||
|
||||
include './header.php'; ?>
|
||||
|
||||
<body>
|
||||
|
||||
<h3 class="title"><?php echo sprintf( $lang['delete_dn'], htmlspecialchars( $rdn ) ); ?></b></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['server']; ?>: <b><?php echo $server_name; ?></b> <?php echo $lang['distinguished_name']; ?>: <b><?php echo htmlspecialchars( ( $dn ) ); ?></b></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['server']; ?>: <b><?php echo $ldapserver->name; ?></b> <?php echo $lang['distinguished_name']; ?>: <b><?php echo htmlspecialchars( ( $dn ) ); ?></b></h3>
|
||||
|
||||
<?php if( $has_children ) { ?>
|
||||
<?php if( $has_children ) { ?>
|
||||
|
||||
<center><b><?php echo $lang['permanently_delete_children']; ?></b><br /><br />
|
||||
|
||||
<?php
|
||||
flush(); // so the user can get something on their screen while we figure out how many children this object has
|
||||
if( $has_children ) {
|
||||
<?php flush(); // so the user can get something on their screen while we figure out how many children this object has
|
||||
|
||||
// get the total number of child objects (whole sub-tree)
|
||||
$s = pla_ldap_search( $server_id, 'objectClass=*', $dn, array('dn'), 'sub' );
|
||||
$s = pla_ldap_search( $ldapserver, 'objectClass=*', $dn, array('dn'), 'sub' );
|
||||
$sub_tree_count = count( $s );
|
||||
}
|
||||
?>
|
||||
|
||||
<table class="delete_confirm">
|
||||
<td>
|
||||
|
||||
<p>
|
||||
<?php echo sprintf( $lang['entry_is_root_sub_tree'], $sub_tree_count ); ?>
|
||||
<small>(<a href="search.php?search=true&server_id=<?php echo $server_id; ?>&filter=<?php echo rawurlencode('objectClass=*'); ?>&base_dn=<?php echo $encoded_dn; ?>&form=advanced&scope=sub"><?php echo $lang['view_entries']; ?></a>)</small>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<?php echo sprintf( $lang['confirm_recursive_delete'], ($sub_tree_count-1) ); ?><br />
|
||||
<br />
|
||||
<small><?php echo $lang['confirm_recursive_delete_note']; ?></small>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<center>
|
||||
<form action="rdelete.php" method="post">
|
||||
<input type="hidden" name="dn" value="<?php echo $dn; ?>" />
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<input type="submit" class="scary" value="<?php echo sprintf( $lang['delete_all_x_objects'], $sub_tree_count ); ?>" />
|
||||
</form>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<center>
|
||||
<form action="edit.php" method="get">
|
||||
<input type="hidden" name="dn" value="<?php echo htmlspecialchars($dn); ?>" />
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<input type="submit" name="submit" value="<?php echo $lang['cancel']; ?>" class="cancel" />
|
||||
</form>
|
||||
</center>
|
||||
<p>
|
||||
<?php echo sprintf( $lang['entry_is_root_sub_tree'], $sub_tree_count ); ?>
|
||||
<small>(<a href="search.php?search=true&server_id=<?php echo $server_id; ?>&filter=<?php echo rawurlencode('objectClass=*'); ?>&base_dn=<?php echo $encoded_dn; ?>&form=advanced&scope=sub"><?php echo $lang['view_entries']; ?></a>)</small>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<?php echo sprintf( $lang['confirm_recursive_delete'], ($sub_tree_count-1) ); ?><br />
|
||||
<br />
|
||||
<small><?php echo $lang['confirm_recursive_delete_note']; ?></small>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<center>
|
||||
<form action="rdelete.php" method="post">
|
||||
<input type="hidden" name="dn" value="<?php echo $dn; ?>" />
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<input type="submit" class="scary" value="<?php echo sprintf( $lang['delete_all_x_objects'], $sub_tree_count ); ?>" />
|
||||
</form>
|
||||
</center>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<center>
|
||||
<form action="edit.php" method="get">
|
||||
<input type="hidden" name="dn" value="<?php echo htmlspecialchars($dn); ?>" />
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<input type="submit" name="submit" value="<?php echo $lang['cancel']; ?>" class="cancel" />
|
||||
</form>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</table>
|
||||
|
||||
<?php flush(); ?>
|
||||
<br />
|
||||
<br />
|
||||
<?php echo $lang['list_of_entries_to_be_deleted']; ?><br />
|
||||
<select size="<?php echo min( 10, $sub_tree_count );?>" multiple disabled style="background:white; color:black;width:500px" >
|
||||
<?php $i=0; ?>
|
||||
<?php foreach( $s as $dn => $junk ) { ?>
|
||||
<?php $i++; ?>
|
||||
<option><?php echo $i; ?>. <?php echo htmlspecialchars( ( $dn ) ); ?></option>
|
||||
<?php } ?>
|
||||
|
||||
<select size="<?php echo min( 10, $sub_tree_count );?>" multiple disabled style="background:white; color:black;width:500px" >
|
||||
<?php $i=0;
|
||||
foreach( $s as $dn => $junk ) {
|
||||
$i++; ?>
|
||||
|
||||
<option><?php echo $i; ?>. <?php echo htmlspecialchars( ( $dn ) ); ?></option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
|
||||
<br />
|
||||
|
||||
<?php } else { ?>
|
||||
<?php } else { ?>
|
||||
|
||||
<center>
|
||||
|
||||
<table class="delete_confirm">
|
||||
<td>
|
||||
|
||||
<?php echo $lang['sure_permanent_delete_object']; ?><br />
|
||||
<br />
|
||||
<nobr><acronym title="<?php echo $lang['distinguished_name']; ?>"><?php echo $lang['dn']; ?></acronym>: <b><?php echo pretty_print_dn( $dn ); ?></b><nobr><br />
|
||||
<nobr><?php echo $lang['server']; ?>: <b><?php echo htmlspecialchars($server_name); ?></b></nobr><br />
|
||||
<br />
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<center>
|
||||
<form action="delete.php" method="post">
|
||||
<input type="hidden" name="dn" value="<?php echo htmlspecialchars($dn); ?>" />
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<input type="submit" name="submit" value="<?php echo $lang['delete']; ?>" class="scary" />
|
||||
</center>
|
||||
</form>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<center>
|
||||
<form action="edit.php" method="get">
|
||||
<input type="hidden" name="dn" value="<?php echo $dn; ?>" />
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<input type="submit" name="submit" value="<?php echo $lang['cancel']; ?>" class="cancel" />
|
||||
</form>
|
||||
</center>
|
||||
<?php echo $lang['sure_permanent_delete_object']; ?><br />
|
||||
<br />
|
||||
<nobr><acronym title="<?php echo $lang['distinguished_name']; ?>"><?php echo $lang['dn']; ?></acronym>: <b><?php echo pretty_print_dn( $dn ); ?></b><nobr><br />
|
||||
<nobr><?php echo $lang['server']; ?>: <b><?php echo htmlspecialchars($ldapserver->name); ?></b></nobr><br />
|
||||
<br />
|
||||
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<center>
|
||||
<form action="delete.php" method="post">
|
||||
<input type="hidden" name="dn" value="<?php echo htmlspecialchars($dn); ?>" />
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<input type="submit" name="submit" value="<?php echo $lang['delete']; ?>" class="scary" />
|
||||
</form>
|
||||
</center>
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<center>
|
||||
<form action="edit.php" method="get">
|
||||
<input type="hidden" name="dn" value="<?php echo $dn; ?>" />
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<input type="submit" name="submit" value="<?php echo $lang['cancel']; ?>" class="cancel" />
|
||||
</form>
|
||||
</center>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</td>
|
||||
</table>
|
||||
|
||||
</center>
|
||||
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
19
doc/CREDITS
19
doc/CREDITS
@ -1,6 +1,9 @@
|
||||
* Project Creator:
|
||||
- David Smith
|
||||
|
||||
* Project Developers:
|
||||
|
||||
- David Smith Maintainer
|
||||
- Deon George Maintainer
|
||||
- Xavier Renard Import/Export and Samba
|
||||
- Uwe Ebel I18n
|
||||
|
||||
@ -9,7 +12,7 @@
|
||||
- Bayu Irawan userPassword hash, html fixes, ldap_modify fixes
|
||||
- Uwe Ebel short_open_tags fix
|
||||
- Andrew Tipton SUP support in schema parser
|
||||
- Eigil Bjørgum UTF-8 support
|
||||
- Eigil Bjørgum UTF-8 support
|
||||
- Brandon Lederer DNS entry template
|
||||
Nathan Rotschafer
|
||||
- Steve Rigler Password hash patch
|
||||
@ -21,6 +24,11 @@
|
||||
- Piotr Tarnowski i18n fixes
|
||||
- Deon George Auto-uidNumber enhancements and many fixes
|
||||
- Pierre Belanger Speed-ups to auto-uidNumber
|
||||
- Benjamin Drieu Syslog, Hooks and other fixes
|
||||
- Samuel Tran User login restriction
|
||||
- Daniel van Eeden Unicode, CSS fixes
|
||||
- Piotr Tarnowski More locatisation fixes
|
||||
- Tomas Kuliavas Improved password encoding functions
|
||||
|
||||
* Translators:
|
||||
|
||||
@ -30,11 +38,11 @@
|
||||
- Xavier Renard French
|
||||
- Dave Smith English ;)
|
||||
- Richard Lucassen Dutch
|
||||
- Andreu Sanchez Spanish and Català
|
||||
- Andreu Sanchez Spanish and Català
|
||||
- Dmitry Gorpinenko, Russian
|
||||
Aleksey Soldatov
|
||||
Sergey Saukh
|
||||
- Unknown Italian
|
||||
- Unknown Italian, Tain, Simplified Chinese
|
||||
- Alexandre Maciel Portuguese (Brasilian)
|
||||
Elton Schroeder Fenner (CLeGi)
|
||||
- Piotr Tarnowski (DrFugazi) Polish
|
||||
@ -45,6 +53,3 @@
|
||||
|
||||
If you can help translate, please join the phpldapadmin-devel mailing list:
|
||||
https://lists.sourceforge.net/mailman/listinfo/phpldapadmin-devel
|
||||
|
||||
|
||||
|
||||
|
@ -1,3 +1,58 @@
|
||||
* Version 0.9.6, 2005-04-03
|
||||
|
||||
* Summary:
|
||||
The main goals for this version was to close all the outstanding bugs and apply all the submitted patchs
|
||||
on sourceforge. All the sourceforge easy to do RFE's where also included.
|
||||
|
||||
* Notes:
|
||||
- Added support for mulpiple Base DN's
|
||||
- Added support to log for syslog (Benjamin Drieu)
|
||||
- Added hooks feature to replace custom functions (Benjamin Drieu)
|
||||
- Entry chooser now auto adds rdn entry for copy/move operations (wigi2)
|
||||
- Initial support for AD Schema Retrieval
|
||||
- Added login restriction (Samuel Tran)
|
||||
- Added support to move objects (aka Copy then Delete) (wigi2)
|
||||
- No longer show + next to objects that have no children in tree viewer (when hide_configuration_management=true)
|
||||
- Added date evaluation to shadow attributes (shadowAccount)
|
||||
- Added Enhancement to show attributes in a specifc order (Samuel Tran)
|
||||
- Added Server Info OID descriptions
|
||||
- Added new feature to compare two DNs
|
||||
- Binary SID to text SID feature for MSAD objectSid entries.
|
||||
- Added session timeout feature (Samuel Tran)
|
||||
|
||||
* New Languages:
|
||||
- Taiwan (Anonymous)
|
||||
- Simplfied Chinese (Anonymous)
|
||||
|
||||
* Changes:
|
||||
- LDAP server configuration is being moved into an Object LDAPServer, all future interactions should
|
||||
use this object class from now on.
|
||||
- Some more conversions of english static text into language files.
|
||||
- Some code cleanup, excess whitespace removal, etc...
|
||||
- Tags for phpdoc updated.
|
||||
- Added cvs header to files missing the header.
|
||||
- LDIF Import function improvements (Xavier Renard)
|
||||
- UniqueAttrs fix, now showing actual value (in multi value attribs) that breaches uniqueness
|
||||
- Fixed check_lang_files when register_globals=off
|
||||
- css fixes (Daniel van Eeden)
|
||||
- More locatisation fixes (Piotr Tarnowski)
|
||||
- Schema functions all use cached entries now by default
|
||||
- Improved password encoding functions (Tomas Kuliavas)
|
||||
- If auth_type = session, then dn and password is also blowfish encrypted
|
||||
- Prettied up the icon index (Dave Smith)
|
||||
- Make the rdn not editable in the default template.
|
||||
|
||||
* Fixes:
|
||||
- password_check when magic_quotes_gpc is on.
|
||||
- Misc fixes (Benjamin Drieu)
|
||||
- Fix searchs when searching for values with brackets
|
||||
- Unicode fixes (Daniel van Eeden)
|
||||
- View jpeg photo minor security fix (Dave Smith)
|
||||
- Check password link missing in read-only mode
|
||||
|
||||
* Sourceforge bug fixes:
|
||||
1117099 1117316 1120048 1150947 1152962 1153360 1055401 1158148 1161425
|
||||
|
||||
|
||||
* Version 0.9.5, 2004-12-17
|
||||
|
||||
|
@ -1,26 +1,26 @@
|
||||
$Header: /cvsroot/phpldapadmin/phpldapadmin/doc/INSTALL-es.txt,v 1.3 2004/03/19 20:22:54 i18phpldapadmin Exp $
|
||||
Estas instrucciones dejan por sentado que tienes una instalación
|
||||
$Header: /cvsroot/phpldapadmin/phpldapadmin/doc/INSTALL-es.txt,v 1.4 2005/02/06 00:37:15 wurley Exp $
|
||||
Estas instrucciones dejan por sentado que tienes una instalación
|
||||
funcionando de:
|
||||
a. Servidor Web (Apache, IIS, etc).
|
||||
b. PHP 4.1.0 o mas nuevo (con soporte LDAP)
|
||||
|
||||
* Instalando phpLDAPadmin en 4 pasos muy simples:
|
||||
|
||||
1. Desempaqueta el archivo (si estás leyendo esto, ya lo has hecho).
|
||||
2. Pon el directorio resultante 'phpldapadmin' en algún lugar de tu
|
||||
1. Desempaqueta el archivo (si estás leyendo esto, ya lo has hecho).
|
||||
2. Pon el directorio resultante 'phpldapadmin' en algún lugar de tu
|
||||
directorio web raiz.
|
||||
3. Copia 'config.php.example' a 'config.php' y edítalo para que se
|
||||
acomode a tu configuración y tu gusto.
|
||||
4. Entonces, con el navegador ve a la dirección que contiene los archivos
|
||||
3. Copia 'config.php.example' a 'config.php' y edítalo para que se
|
||||
acomode a tu configuración y tu gusto.
|
||||
4. Entonces, con el navegador ve a la dirección que contiene los archivos
|
||||
del directorio phpldapadmin.
|
||||
|
||||
* Notas del navegador
|
||||
|
||||
phpLDAP se desarrolló bajo Mozilla, y será donde seguramente corra mejor.
|
||||
Aún así, las pruebas se han hecho bajo Internet Explorer, y tendría que funcionar
|
||||
bien también. No se ha hecho ninguna prueba con Konqueror (o cualquier navegador
|
||||
phpLDAP se desarrolló bajo Mozilla, y será donde seguramente corra mejor.
|
||||
Aún así, las pruebas se han hecho bajo Internet Explorer, y tendría que funcionar
|
||||
bien también. No se ha hecho ninguna prueba con Konqueror (o cualquier navegador
|
||||
basado en kthml como Safari) o Opera. Si encuentras alguna incompatibilidad, por favor
|
||||
háznoslo saber.
|
||||
háznoslo saber.
|
||||
|
||||
* Contribuidores
|
||||
|
||||
@ -36,21 +36,21 @@ funcionando de:
|
||||
- Bayu Irawan userPassword hash, arreglos html, arreglos ldap_modify
|
||||
- Uwe Ebel arreglo short_open_tags
|
||||
- Andrew Tipton soporte SUP en el parseador del esquema
|
||||
- Eigil Bjørgum soporte UTF-8
|
||||
- Eigil Bjørgum soporte UTF-8
|
||||
- Brandon Lederer plantilla de entrada de DNS
|
||||
Nathan Rotschafer
|
||||
- Steve Rigler Parche para Password hash
|
||||
- Chris Jackson Contraseñas Blowfish y md5crypt
|
||||
- Chris Jackson Contraseñas Blowfish y md5crypt
|
||||
- Marius Rieder Parseador avanzado de esquema
|
||||
- Nick Burch Un montón de arreglos de realpath()
|
||||
- Nick Burch Un montón de arreglos de realpath()
|
||||
|
||||
Traductores:
|
||||
|
||||
- Uwe Ebel Alemán
|
||||
- Xavier Renard Francés
|
||||
- Dave Smith Inglés ;)
|
||||
- Uwe Ebel Alemán
|
||||
- Xavier Renard Francés
|
||||
- Dave Smith Inglés ;)
|
||||
|
||||
Si puedes ayudar a traducir, por favor apúntate a la lista de correo phpldapadmin:
|
||||
Si puedes ayudar a traducir, por favor apúntate a la lista de correo phpldapadmin:
|
||||
https://lists.sourceforge.net/mailman/listinfo/phpldapadmin-devel
|
||||
|
||||
|
||||
|
@ -1,23 +1,23 @@
|
||||
$Header: /cvsroot/phpldapadmin/phpldapadmin/doc/INSTALL-fr.txt,v 1.3 2004/03/19 20:22:54 i18phpldapadmin Exp $
|
||||
Les instructions suivantes supposent une installation en état de marche de:
|
||||
$Header: /cvsroot/phpldapadmin/phpldapadmin/doc/INSTALL-fr.txt,v 1.4 2005/02/06 00:37:15 wurley Exp $
|
||||
Les instructions suivantes supposent une installation en état de marche de:
|
||||
a. Un serveur web (Apache, IIS, etc).
|
||||
b. PHP 4.1.0 ou une version plus récente (avec le support LDAP).
|
||||
b. PHP 4.1.0 ou une version plus récente (avec le support LDAP).
|
||||
|
||||
* Installer phpLDAPadmin en quatre étapes simples:
|
||||
* Installer phpLDAPadmin en quatre étapes simples:
|
||||
|
||||
1. Dé-tarrer l'archive (si vous lisez ceci, c'est que vous l'avez déjà fait).
|
||||
2. Mettre le répertoire 'phpldapadmin' ainsi obtenu quelque part sous
|
||||
1. Dé-tarrer l'archive (si vous lisez ceci, c'est que vous l'avez déjà fait).
|
||||
2. Mettre le répertoire 'phpldapadmin' ainsi obtenu quelque part sous
|
||||
la racine de votre serveur web.
|
||||
3. Copier 'config.php.example' vers 'config.php' et éditer selon vos besoins.
|
||||
4. Ensuite, pointer votre navigateur vers le répertoire phpldapadmin.
|
||||
3. Copier 'config.php.example' vers 'config.php' et éditer selon vos besoins.
|
||||
4. Ensuite, pointer votre navigateur vers le répertoire phpldapadmin.
|
||||
|
||||
* Notes sur les navigateurs
|
||||
|
||||
phpLDAPadmin a été developpé avec Mozilla et fonctionnera vraisemblablement
|
||||
mieux avec celui-ci. Cependant, des tests ont été effectué avec Internet Explorer
|
||||
et cela devrait fonctionner également. Aucun test n'a été réalisé ni avec Konqueror
|
||||
(ou un navigateur basé sur khtml comme Safari par exemple) ni avec Opera. Si
|
||||
vous trouvez une incompatibilité avec votre navigateur, merci de la reporter.
|
||||
phpLDAPadmin a été developpé avec Mozilla et fonctionnera vraisemblablement
|
||||
mieux avec celui-ci. Cependant, des tests ont été effectué avec Internet Explorer
|
||||
et cela devrait fonctionner également. Aucun test n'a été réalisé ni avec Konqueror
|
||||
(ou un navigateur basé sur khtml comme Safari par exemple) ni avec Opera. Si
|
||||
vous trouvez une incompatibilité avec votre navigateur, merci de la reporter.
|
||||
|
||||
* Contributions:
|
||||
|
||||
@ -25,7 +25,7 @@ Les instructions suivantes supposent une installation en
|
||||
|
||||
- David Smith Maintenance
|
||||
- Xavier Renard Responsable LDIF
|
||||
- Marius Rieder Responsable pour les schéma LDAP
|
||||
- Marius Rieder Responsable pour les schéma LDAP
|
||||
- Nate Rotschafer Directeur des releases
|
||||
|
||||
Auteurs de patchs:
|
||||
@ -33,25 +33,25 @@ Les instructions suivantes supposent une installation en
|
||||
- Bayu Irawan hachage pour le mot de passe utilisateur,
|
||||
corrections html, corrections pour ldap_modiy
|
||||
- Uwe Ebel Corrections pour short_open_tags
|
||||
- Andrew Tipton Support pour SUP dans le parseur de schémas
|
||||
- Eigil Bjørgum Support pour UTF-8
|
||||
- Brandon Lederer Patron pour les entrées DNS
|
||||
- Andrew Tipton Support pour SUP dans le parseur de schémas
|
||||
- Eigil Bjørgum Support pour UTF-8
|
||||
- Brandon Lederer Patron pour les entrées DNS
|
||||
Nathan Rotschafer
|
||||
- Steve Rigler Correction pour les hachages des mots de passe
|
||||
- Chris Jackson Mots de passe Blowfish et md5crypt
|
||||
- Marius Rieder Amélioration du parseur de schémas
|
||||
- Marius Rieder Amélioration du parseur de schémas
|
||||
- Nick Burch Corrections multiples pour realpath()
|
||||
|
||||
Traducteurs:
|
||||
|
||||
- Uwe Ebel & Marius Reider Allemand
|
||||
- Xavier Renard Français
|
||||
- Xavier Renard Français
|
||||
- Dave Smith Anglais ;)
|
||||
- Richard Lucassen Néerlandais
|
||||
- Richard Lucassen Néerlandais
|
||||
- Andreu Sanchez Espagnol et Catalan
|
||||
- Dmitry Gorpinenko Russe
|
||||
- Unknown Italien
|
||||
|
||||
Si vous pouvez aider à traduire phpLDAPAdmin, veuillez s'il vous plaît vous abonner
|
||||
à la liste de diffusion phpldapadmin-devel:
|
||||
Si vous pouvez aider à traduire phpLDAPAdmin, veuillez s'il vous plaît vous abonner
|
||||
à la liste de diffusion phpldapadmin-devel:
|
||||
https://lists.sourceforge.net/mailman/listinfo/phpldapadmin-devel
|
||||
|
56
doc/ROADMAP
56
doc/ROADMAP
@ -1,56 +0,0 @@
|
||||
$Header: /cvsroot/phpldapadmin/phpldapadmin/doc/ROADMAP,v 1.19 2004/03/25 12:50:39 uugdave Exp $
|
||||
phpLDAPadmin roadmap
|
||||
|
||||
0.9.3 planned features:
|
||||
Bugfix release.
|
||||
This release will focus on fixing bugs, adding minor features, and improving stability.
|
||||
Samba 3.0 support in samba user and machine creation templates
|
||||
Move template config to a new config file: template_config.php (or something)
|
||||
|
||||
0.9.4 planned features:
|
||||
* Complete i18n. All strings localized.
|
||||
Modification templates:
|
||||
* gropOfNames (view full DNs and browse buttons)
|
||||
* groupOfUniqueNames (view full DNs and browse buttons)
|
||||
* http auth_type (a la phpMyAdmin)
|
||||
* read-only attributes (similar to hidden attributes) in config
|
||||
* Default mod template: Add a "browse" button for attributes that store DNs.
|
||||
caveat: We don't have a way to reference form elements with "[]" in the name, causing a proble
|
||||
with our default mod template. The "browser" button is present, but cannot populate the form
|
||||
element.
|
||||
* Add output buffering when including lang files so no output is sent to the browser (which could cause problems for sessions and cookies)
|
||||
* Paging search results.
|
||||
* Anonymous binds redirect to search page with no tree viewer (as an option in config)
|
||||
* pretty-printed DNs
|
||||
* DSML exports
|
||||
* obfuscated password display
|
||||
* more linkage in the schema browser (used by links)
|
||||
* jpegs drawn in-line in searches
|
||||
* configurable read-only attributes
|
||||
* paging in search results (ie, viewing entries 1-50 of 436)
|
||||
* Configuration for templates.
|
||||
|
||||
0.9.5 planned features:
|
||||
Maybe create a class called Config with static functions for fetching configuration data (ie, Config::isServerReadOnly()).
|
||||
or: Object-oriented server and general configuration (ie, add a class Server)
|
||||
Support and test ActiveDirectory and iMail LDAP schema.
|
||||
Add link to objectClass values in default mod template to jump to that objectClass in the schema viewer.
|
||||
Make deref param modifiable in the advanced search form (LDAP_DEREF_ALWAYS, LDAP_DEREF_NEVER, etc.)
|
||||
Better handling of aliases and referals (display the actual alias with aliasedObjectName or ref attrs, and don't follow or perhaps make it configurable like ldapsearch)
|
||||
Remove all HTML from language files.
|
||||
Add a random hint on the welcome page
|
||||
Add blowfish encryption to encrypt cookie-stored passwords and DNs.
|
||||
Support for modifying replica entries (using ldap_set_rebind_proc())
|
||||
Modification templates
|
||||
user
|
||||
oragnizationalUnit
|
||||
sambaUser (v 2 and 3)
|
||||
sambaMachine
|
||||
Search filter builder for simple search form (just select AND or OR for a group of criteria)
|
||||
Add mass-update feature (user provides filter and set of attrs/vals to modify)
|
||||
No-schema mode of operation (some servers simply won't give us schema. This becomes a problem for normal operation)
|
||||
i18n localization of all creation templates
|
||||
Hidden/read-only attrs on a filter-basis (ie, different users have different viewable, writable attributes)
|
||||
Serious compatibility testing for additional LDAP servers.
|
||||
|
||||
(* means an item is complete and checed into CVS)
|
1218
doc/hooks.sgml
Normal file
1218
doc/hooks.sgml
Normal file
File diff suppressed because it is too large
Load Diff
15
doc/test_encoding.sh
Executable file
15
doc/test_encoding.sh
Executable file
@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
# $Header: /cvsroot/phpldapadmin/phpldapadmin/doc/test_encoding.sh,v 1.1 2005/02/06 00:37:15 wurley Exp $
|
||||
# $Id: test_encoding.sh,v 1.1 2005/02/06 00:37:15 wurley Exp $
|
||||
# Written by: Daniel van Eeden <daniel_e@dds.nl>
|
||||
# Purpose: test utf-8 encoding
|
||||
|
||||
for file in `find . -type f ! -name \*png ! -name \*jpg | egrep -v "^./lang/"`
|
||||
do
|
||||
output=`iconv ${file} -o /dev/null 2>&1`
|
||||
err=$?
|
||||
output=`echo ${output} | cut -d: -f2`
|
||||
if [ ${err} != "0" ]; then
|
||||
echo "${file}:${output}"
|
||||
fi
|
||||
done
|
@ -1,6 +1,11 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/documentation.php,v 1.7 2004/12/17 15:21:15 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/documentation.php,v 1.8 2005/02/25 13:44:06 wurley Exp $
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
include './common.php';
|
||||
include './header.php';
|
||||
@ -45,5 +50,3 @@ switch( $view ) {
|
||||
|
||||
<h3 class="doc">Modification Templates</h3>
|
||||
<p class="doc">TODO: Write me.</p>
|
||||
|
||||
|
||||
|
28
donate.php
28
donate.php
@ -1,11 +1,17 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/donate.php,v 1.7 2005/02/26 12:35:05 wurley Exp $
|
||||
|
||||
include 'common.php';
|
||||
include 'header.php';
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
include './common.php';
|
||||
include './header.php';
|
||||
|
||||
$donate_base_href="https://sourceforge.net/donate/index.php?group_id=61828&type=0";
|
||||
$amounts = array( 10, 20, 50, 100 );
|
||||
|
||||
?>
|
||||
|
||||
<body>
|
||||
@ -22,10 +28,8 @@ $amounts = array( 10, 20, 50, 100 );
|
||||
<?php foreach( $amounts as $amount ) { ?>
|
||||
|
||||
<td align="center">
|
||||
<a
|
||||
href="<?php echo $donate_base_href; ?>&amt=<?php echo $amount; ?>"
|
||||
target="new"><img
|
||||
src="images/paypal-donate.png"
|
||||
<a href="<?php echo $donate_base_href; ?>&amt=<?php echo $amount; ?>" target="new">
|
||||
<img src="images/paypal-donate.png"
|
||||
alt="[<?php echo sprintf( $lang['donate_amount'], '$US ' . $amount ); ?>]"
|
||||
title="<?php echo sprintf( $lang['donate_amount'], '$US ' . $amount ); ?>" /></a>
|
||||
</td>
|
||||
@ -35,9 +39,7 @@ $amounts = array( 10, 20, 50, 100 );
|
||||
|
||||
<tr>
|
||||
<?php foreach( $amounts as $amount ) { ?>
|
||||
|
||||
<td align="center"><?php echo sprintf( $lang['donate_amount'], '$' . $amount ); ?></td>
|
||||
|
||||
<?php } ?>
|
||||
</tr>
|
||||
|
||||
@ -45,14 +47,6 @@ $amounts = array( 10, 20, 50, 100 );
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<center>
|
||||
<?php echo $lang['wish_list_option']; ?>
|
||||
<br />
|
||||
<br />
|
||||
<a href="http://www.amazon.com/gp/registry/22APPYURX48VA"><?php echo $lang['wish_list']; ?></a>
|
||||
</center>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
@ -1,35 +1,45 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/download_binary_attr.php,v 1.8 2004/08/15 17:39:20 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/download_binary_attr.php,v 1.10 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = $_GET['server_id'];
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = rawurldecode( $_GET['dn'] );
|
||||
$attr = $_GET['attr'];
|
||||
|
||||
// if there are multiple values in this attribute, which one do you want to see?
|
||||
$value_num = isset( $_GET['value_num'] ) ? $_GET['value_num'] : 0;
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
dn_exists( $server_id, $dn ) or pla_error( sprintf( $lang['no_such_entry'], pretty_print_dn( $dn ) ) );
|
||||
dn_exists( $ldapserver, $dn ) or
|
||||
pla_error( sprintf( $lang['no_such_entry'], pretty_print_dn( $dn ) ) );
|
||||
|
||||
$search = @ldap_read( $ds, $dn, "(objectClass=*)", array( $attr ), 0, 0, 0, get_view_deref_setting() );
|
||||
$search = @ldap_read( $ldapserver->connect(),$dn,"(objectClass=*)",array($attr),0,0,0,get_view_deref_setting() );
|
||||
if( ! $search )
|
||||
pla_error( $lang['error_performing_search'], ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
$entry = ldap_first_entry( $ds, $search );
|
||||
$attrs = ldap_get_attributes( $ds, $entry );
|
||||
$attr = ldap_first_attribute( $ds, $entry, $attrs );
|
||||
$values = ldap_get_values_len( $ds, $entry, $attr );
|
||||
pla_error( $lang['error_performing_search'],ldap_error($ldapserver->connect()),ldap_errno($ldapserver->connect()) );
|
||||
|
||||
$entry = ldap_first_entry( $ldapserver->connect(),$search );
|
||||
$attrs = ldap_get_attributes( $ldapserver->connect(),$entry );
|
||||
$attr = ldap_first_attribute( $ldapserver->connect(),$entry,$attrs );
|
||||
$values = ldap_get_values_len( $ldapserver->connect(),$entry,$attr );
|
||||
$count = $values['count'];
|
||||
|
||||
// Dump the binary data to the browser
|
||||
header( "Content-type: octet-stream" );
|
||||
header( "Content-disposition: attachment; filename=$attr" );
|
||||
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
|
||||
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
|
||||
header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
|
||||
header( "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT" );
|
||||
echo $values[$value_num];
|
||||
|
||||
?>
|
||||
|
39
edit.php
39
edit.php
@ -1,9 +1,7 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/edit.php,v 1.48 2004/10/14 03:33:36 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/edit.php,v 1.52 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
/*
|
||||
* edit.php
|
||||
/**
|
||||
* Displays the specified dn from the specified server for editing
|
||||
* in its template as determined by get_template(). This is a simple
|
||||
* shell for displaying entries. The real work is done by the templates
|
||||
@ -14,48 +12,49 @@
|
||||
* - server_id
|
||||
* - use_default_template (optional) If set, use the default template no matter what
|
||||
* - Other vars may be set and used by the modification templates
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require_once realpath( 'common.php' );
|
||||
require_once realpath( 'templates/template_config.php' );
|
||||
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = isset( $_GET['dn'] ) ? $_GET['dn'] : false;
|
||||
$dn !== false or pla_error( $lang['missing_dn_in_query_string'] );
|
||||
|
||||
$decoded_dn = rawurldecode( $dn );
|
||||
$encoded_dn = rawurlencode( $decoded_dn );
|
||||
|
||||
$server_id = isset( $_GET['server_id'] ) ? $_GET['server_id'] : false;
|
||||
$server_id !== false or pla_error( $lang['missing_server_id_in_query_string'] );
|
||||
|
||||
// Template authors may wish to present the user with a link back to the default, generic
|
||||
// Template authors may wish to present the user with a link back to the default, generic
|
||||
// template for editing. They may use this as the target of the href to do so.
|
||||
$default_href = "edit.php?server_id=$server_id&dn=$encoded_dn&use_default_template=true";
|
||||
|
||||
$use_default_template = isset( $_GET['use_default_template'] ) ? true : false;
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
|
||||
if( $use_default_template ) {
|
||||
require realpath( 'templates/modification/default.php' );
|
||||
} else {
|
||||
|
||||
$template = get_template( $server_id, $dn );
|
||||
} else {
|
||||
$template = get_template( $ldapserver, $dn );
|
||||
$template_file = "templates/modification/$template.php";
|
||||
|
||||
if( file_exists( realpath( $template_file ) ) )
|
||||
require realpath( $template_file );
|
||||
|
||||
else {
|
||||
echo "\n\n";
|
||||
echo $lang['missing_template_file'];
|
||||
echo $lang['missing_template_file'];
|
||||
echo " <b>$template_file</b>. ";
|
||||
echo $lang['using_default'];
|
||||
echo "<br />\n\n";
|
||||
require realpath( 'templates/modification/default.php' );
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -1,5 +1,9 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/emuhash_functions.php,v 1.6 2005/03/25 00:59:48 wurley Exp $
|
||||
|
||||
/**
|
||||
* @package other
|
||||
*/
|
||||
/*******************************************************************************
|
||||
* emuhash - partly emulates the php mhash functions
|
||||
* version: 2004040701
|
||||
@ -31,74 +35,80 @@ if( ! function_exists( 'mhash' ) && ! function_exists( 'mhash_keygen_s2k' ) ) {
|
||||
$emuhash_openssl = '/usr/bin/openssl';
|
||||
|
||||
// don't create mhash functions if we don't have a working openssl
|
||||
if( ! file_exists( $emuhash_openssl ) )
|
||||
unset( $emuhash_openssl );
|
||||
elseif ( function_exists( 'is_executable' ) && ! is_executable( $emuhash_openssl ) ) {
|
||||
if( ! file_exists( $emuhash_openssl ) )
|
||||
unset( $emuhash_openssl );
|
||||
} else {
|
||||
|
||||
if( ! isset( $emuhash_temp_dir ) )
|
||||
$emuhash_temp_dir = '/tmp';
|
||||
elseif ( function_exists( 'is_executable' ) && ! is_executable( $emuhash_openssl ) )
|
||||
unset( $emuhash_openssl );
|
||||
|
||||
else {
|
||||
|
||||
if( ! isset( $emuhash_temp_dir ) )
|
||||
$emuhash_temp_dir = '/tmp';
|
||||
|
||||
/******************************************************************************/
|
||||
/* Define constants used in the mhash emulation code. */
|
||||
/******************************************************************************/
|
||||
|
||||
define('MHASH_MD5', 'md5');
|
||||
define('MHASH_SHA1', 'sha1');
|
||||
define('MHASH_RIPEMD160', 'rmd160');
|
||||
define('MHASH_MD5', 'md5');
|
||||
define('MHASH_SHA1', 'sha1');
|
||||
define('MHASH_RIPEMD160', 'rmd160');
|
||||
|
||||
/******************************************************************************/
|
||||
/* Functions to emulate parts of php-mash. */
|
||||
/******************************************************************************/
|
||||
|
||||
function openssl_hash( $openssl_hash_id, $password_clear ) {
|
||||
global $emuhash_openssl, $emuhash_temp_dir;
|
||||
function openssl_hash( $openssl_hash_id, $password_clear ) {
|
||||
global $emuhash_openssl, $emuhash_temp_dir;
|
||||
|
||||
$current_magic_quotes = get_magic_quotes_runtime();
|
||||
set_magic_quotes_runtime( 0 );
|
||||
$tmpfile = tempnam( $emuhash_temp_dir, "emuhash" );
|
||||
$pwhandle = fopen( $tmpfile, "w" );
|
||||
if( ! $pwhandle )
|
||||
pla_error( "Unable to create a temporary file '$tmpfile' to create hashed password" );
|
||||
fwrite( $pwhandle, $password_clear );
|
||||
fclose( $pwhandle );
|
||||
$cmd = $emuhash_openssl . ' ' . $openssl_hash_id . ' -binary < ' . $tmpfile;
|
||||
$prog = popen( $cmd, "r" );
|
||||
$pass = fread( $prog, 1024 );
|
||||
pclose( $prog );
|
||||
unlink( $tmpfile );
|
||||
set_magic_quotes_runtime( $current_magic_quotes );
|
||||
$current_magic_quotes = get_magic_quotes_runtime();
|
||||
set_magic_quotes_runtime( 0 );
|
||||
$tmpfile = tempnam( $emuhash_temp_dir, "emuhash" );
|
||||
$pwhandle = fopen( $tmpfile, "w" );
|
||||
|
||||
return $pass;
|
||||
}
|
||||
if( ! $pwhandle )
|
||||
pla_error( "Unable to create a temporary file '$tmpfile' to create hashed password" );
|
||||
|
||||
function mhash( $hash_id, $password_clear ) {
|
||||
switch( $hash_id ) {
|
||||
case MHASH_MD5:
|
||||
$emuhash = openssl_hash( MHASH_MD5, $password_clear );
|
||||
break;
|
||||
case MHASH_SHA1:
|
||||
$emuhash = openssl_hash( MHASH_SHA1, $password_clear );
|
||||
break;
|
||||
case MHASH_RIPEMD160:
|
||||
$emuhash = openssl_hash( MHASH_RIPEMD160, $password_clear );
|
||||
break;
|
||||
default:
|
||||
$emuhash = FALSE;
|
||||
}
|
||||
fwrite( $pwhandle, $password_clear );
|
||||
fclose( $pwhandle );
|
||||
$cmd = $emuhash_openssl . ' ' . $openssl_hash_id . ' -binary < ' . $tmpfile;
|
||||
$prog = popen( $cmd, "r" );
|
||||
$pass = fread( $prog, 1024 );
|
||||
pclose( $prog );
|
||||
unlink( $tmpfile );
|
||||
set_magic_quotes_runtime( $current_magic_quotes );
|
||||
|
||||
return $emuhash;
|
||||
}
|
||||
return $pass;
|
||||
}
|
||||
|
||||
function mhash_keygen_s2k( $hash_id, $password_clear, $salt, $bytes ) {
|
||||
return substr(pack("H*", bin2hex(mhash($hash_id, ($salt . $password_clear)))), 0, $bytes);
|
||||
}
|
||||
function mhash( $hash_id, $password_clear ) {
|
||||
switch( $hash_id ) {
|
||||
case MHASH_MD5:
|
||||
$emuhash = openssl_hash( MHASH_MD5, $password_clear );
|
||||
break;
|
||||
|
||||
case MHASH_SHA1:
|
||||
$emuhash = openssl_hash( MHASH_SHA1, $password_clear );
|
||||
break;
|
||||
|
||||
case MHASH_RIPEMD160:
|
||||
$emuhash = openssl_hash( MHASH_RIPEMD160, $password_clear );
|
||||
break;
|
||||
|
||||
default:
|
||||
$emuhash = FALSE;
|
||||
}
|
||||
|
||||
return $emuhash;
|
||||
}
|
||||
|
||||
function mhash_keygen_s2k( $hash_id, $password_clear, $salt, $bytes ) {
|
||||
return substr(pack("H*", bin2hex(mhash($hash_id, ($salt . $password_clear)))), 0, $bytes);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -1,7 +1,7 @@
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/entry_chooser.js,v 1.2 2004/03/19 20:18:41 i18phpldapadmin Exp $
|
||||
function dnChooserPopup( form_element )
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/entry_chooser.js,v 1.3 2005/02/10 12:34:26 wurley Exp $
|
||||
function dnChooserPopup(form_element,rdn)
|
||||
{
|
||||
mywindow=open('entry_chooser.php','myname','resizable=no,width=600,height=370,scrollbars=1');
|
||||
mywindow.location.href = 'entry_chooser.php?form_element=' + form_element;
|
||||
mywindow.location.href = 'entry_chooser.php?form_element=' + form_element + '&rdn=' + rdn;
|
||||
if (mywindow.opener == null) mywindow.opener = self;
|
||||
}
|
||||
|
@ -1,90 +1,100 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/entry_chooser.php,v 1.16 2004/08/15 17:39:20 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/entry_chooser.php,v 1.23 2005/03/25 16:30:21 wurley Exp $
|
||||
|
||||
/**
|
||||
* Display a selection (popup window) to pick a DN.
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$container = isset( $_GET['container'] ) ? rawurldecode( $_GET['container'] ) : false;
|
||||
$server_id = isset( $_GET['server_id'] ) ? $_GET['server_id'] : false;
|
||||
$container = isset( $_GET['container'] ) ? rawurldecode( $_GET['container'] ) : false;
|
||||
$return_form_element = isset( $_GET['form_element'] ) ? htmlspecialchars( $_GET['form_element'] ) : null;
|
||||
$rdn = isset( $_GET['rdn'] ) ? htmlspecialchars( $_GET['rdn'] ) : null;
|
||||
|
||||
include "header.php";
|
||||
include "./header.php";
|
||||
|
||||
echo "<h3 class=\"subtitle\">" . $lang['entry_chooser_title'] . "</h3>\n";
|
||||
flush();
|
||||
?>
|
||||
flush(); ?>
|
||||
|
||||
<script language="javascript">
|
||||
function returnDN( dn )
|
||||
{
|
||||
function returnDN( dn ) {
|
||||
opener.document.<?php echo $return_form_element; ?>.value = dn;
|
||||
close();
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php
|
||||
|
||||
if( $container ) {
|
||||
echo $lang['server_colon_pare'] . "<b>" . htmlspecialchars( $servers[ $server_id ][ 'name' ] ) . "</b><br />\n";
|
||||
<?php if( $container ) {
|
||||
echo $lang['server_colon_pare'] . "<b>" . htmlspecialchars( $servers[ $server_id ][ 'name' ] ) . "</b><br />\n";
|
||||
echo $lang['look_in'] . "<b>" . htmlspecialchars( $container ) . "</b><br />\n";
|
||||
}
|
||||
|
||||
/* Has the use already begun to descend into a specific server tree? */
|
||||
if( $server_id !== false && $container !== false )
|
||||
{
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
if( $server_id !== false && $container !== false ) {
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn_list = get_container_contents( $server_id, $container, 0, '(objectClass=*)', get_tree_deref_setting() );
|
||||
$dn_list = get_container_contents( $ldapserver, $container, 0, '(objectClass=*)', get_tree_deref_setting() );
|
||||
sort( $dn_list );
|
||||
|
||||
$base_dn = $servers[ $server_id ][ 'base' ];
|
||||
if( ! $base_dn )
|
||||
$base_dn = try_to_get_root_dn( $server_id );
|
||||
foreach ($ldapserver->getBaseDN() as $base_dn) {
|
||||
debug_log(sprintf('%s: Comparing BaseDN [%s] with container [%s]','entry_chooser.php',$base_dn,$container),9);
|
||||
if( 0 == pla_compare_dns( $container, $base_dn ) ) {
|
||||
$parent_container = false;
|
||||
$up_href = sprintf('entry_chooser.php?form_element=%s&rdn=%s',$return_form_element,$rdn);
|
||||
break;
|
||||
|
||||
if( 0 == pla_compare_dns( $container, $base_dn ) ) {
|
||||
$parent_container = false;
|
||||
$up_href = "entry_chooser.php?form_element=$return_form_element";
|
||||
} else {
|
||||
$parent_container = get_container( $container );
|
||||
$up_href = "entry_chooser.php?form_element=$return_form_element&server_id=$server_id&container=" .
|
||||
rawurlencode( $parent_container );
|
||||
} else {
|
||||
$parent_container = get_container( $container );
|
||||
$up_href = sprintf('entry_chooser.php?form_element=%s&rdn=%s&server_id=%s&container=%s',
|
||||
$return_form_element,$rdn,$server_id,rawurlencode( $parent_container ));
|
||||
}
|
||||
}
|
||||
|
||||
echo " <a href=\"$up_href\" style=\"text-decoration:none\">" .
|
||||
"<img src=\"images/up.png\"> ". $lang['back_up_p'] ."</a><br />\n";
|
||||
|
||||
if( count( $dn_list ) == 0 )
|
||||
echo " (". $lang['no_entries'] .")<br />\n";
|
||||
|
||||
else
|
||||
foreach( $dn_list as $dn ) {
|
||||
$href = "javascript:returnDN( '$dn' )";
|
||||
echo " <a href=\"entry_chooser.php?form_element=$return_form_element".
|
||||
$href = sprintf("javascript:returnDN( '%s%s' )",($rdn ? "$rdn," : ''),$dn);
|
||||
echo " <a href=\"entry_chooser.php?form_element=$return_form_element&rdn=$rdn".
|
||||
"&server_id=$server_id&container=" .
|
||||
rawurlencode( $dn ) . "\"><img src=\"images/plus.png\" /></a> " .
|
||||
"<a href=\"$href\">" . htmlspecialchars( $dn ) . "</a><br />\n";
|
||||
}
|
||||
}
|
||||
|
||||
/* draw the root of the selection tree (ie, list all the servers) */
|
||||
else
|
||||
{
|
||||
} else {
|
||||
foreach( $servers as $id => $server ) {
|
||||
if( $server['host'] ) {
|
||||
echo "<b>" . htmlspecialchars( $server['name'] ) . "</b><br />\n";
|
||||
if( ! have_auth_info( $id ) )
|
||||
echo "<small> (" . $lang['not_logged_in'] . ")</small><br />";
|
||||
|
||||
$ldapserver = new LDAPServer($id);
|
||||
|
||||
if( $ldapserver->isVisible() ) {
|
||||
|
||||
if( ! $ldapserver->haveAuthInfo() )
|
||||
continue;
|
||||
|
||||
else {
|
||||
$dn = ( $server['base'] ? $server['base'] : try_to_get_root_dn( $id ) );
|
||||
if( ! $dn ) {
|
||||
echo "<small> (". $lang['could_not_det_base_dn'] .")</small><br />";
|
||||
} else {
|
||||
$href = "javascript:returnDN( '$dn' )";
|
||||
echo " <a href=\"entry_chooser.php?form_element=" .
|
||||
"$return_form_element&server_id=$id&container=" .
|
||||
rawurlencode( $dn ) . "\"><img src=\"images/plus.png\" /></a> " .
|
||||
"<a href=\"$href\">" . htmlspecialchars( $dn ) . "</a><br />\n";
|
||||
echo "<b>" . htmlspecialchars( $ldapserver->name ) . "</b><br />\n";
|
||||
foreach ($ldapserver->getBaseDN() as $dn) {
|
||||
if( ! $dn ) {
|
||||
echo "<small> (". $lang['could_not_det_base_dn'] .")</small><br />";
|
||||
} else {
|
||||
$href = sprintf("javascript:returnDN( '%s%s' )",($rdn ? "$rdn," : ''),$dn);
|
||||
echo " <a href=\"entry_chooser.php?form_element=" .
|
||||
"$return_form_element&rdn=$rdn&server_id=$id&container=" .
|
||||
rawurlencode( $dn ) . "\"><img src=\"images/plus.png\" /></a> " .
|
||||
"<a href=\"$href\">" . htmlspecialchars( $dn ) . "</a><br />\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -102,5 +112,4 @@ $elmpart =substr($return_form_element,strpos($return_form_element,".")+1);
|
||||
|
||||
// rebuilt return value
|
||||
$return_form_element = $formpart . ".elements[\"" . $elmpart . "\"]";
|
||||
|
||||
?>
|
||||
|
30
expand.php
30
expand.php
@ -1,21 +1,29 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/expand.php,v 1.18 2004/08/15 17:39:20 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/expand.php,v 1.20 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* expand.php
|
||||
/**
|
||||
* This script alters the session variable 'tree', expanding it
|
||||
* at the dn specified in the query string.
|
||||
* at the dn specified in the query string.
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
* - dn (rawurlencoded)
|
||||
* - server_id
|
||||
*
|
||||
* Note: this script is equal and opposite to collapse.php
|
||||
* @package phpLDAPadmin
|
||||
* @see collapse.php
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
// no expire header stuff
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
|
||||
@ -30,17 +38,12 @@ $dn = $_GET['dn'];
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$server_id = $_GET['server_id'];
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
initialize_session_tree();
|
||||
|
||||
$tree = $_SESSION['tree'];
|
||||
$tree_icons = $_SESSION['tree_icons'];
|
||||
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
$contents = get_container_contents( $server_id, $dn, 0, '(objectClass=*)', get_tree_deref_setting() );
|
||||
$contents = get_container_contents( $ldapserver, $dn, 0, '(objectClass=*)', get_tree_deref_setting() );
|
||||
|
||||
usort( $contents, 'pla_compare_dns' );
|
||||
$tree[$server_id][$dn] = $contents;
|
||||
@ -50,7 +53,7 @@ $tree[$server_id][$dn] = $contents;
|
||||
//exit;
|
||||
|
||||
foreach( $contents as $dn )
|
||||
$tree_icons[$server_id][$dn] = get_icon( $server_id, $dn );
|
||||
$tree_icons[$server_id][$dn] = get_icon( $ldapserver, $dn );
|
||||
|
||||
$_SESSION['tree'] = $tree;
|
||||
$_SESSION['tree_icons'] = $tree_icons;
|
||||
@ -64,9 +67,8 @@ $random_junk = md5( strtotime( 'now' ) . $time['usec'] );
|
||||
// If cookies were disabled, build the url parameter for the session id.
|
||||
// It will be append to the url to be redirect
|
||||
$id_session_param="";
|
||||
if( SID != "" ){
|
||||
if( SID != "" )
|
||||
$id_session_param = "&".session_name()."=".session_id();
|
||||
}
|
||||
|
||||
session_write_close();
|
||||
|
||||
|
23
export.php
23
export.php
@ -1,30 +1,39 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/export.php,v 1.11 2004/10/23 21:13:15 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/export.php,v 1.13 2005/03/05 04:26:25 wurley Exp $
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require 'export_functions.php';
|
||||
|
||||
// get the POST parameters
|
||||
$server_id = (isset($_POST['server_id']) ? $_POST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$base_dn = isset($_POST['dn']) ? $_POST['dn']:NULL;
|
||||
$server_id = isset($_POST['server_id']) ? $_POST['server_id']:NULL;
|
||||
$format = isset( $_POST['format'] ) ? $_POST['format'] : "unix";
|
||||
$scope = isset($_POST['scope']) ? $_POST['scope'] : 'base';
|
||||
$filter = isset($_POST['filter']) ? $_POST['filter'] : 'objectclass=*';
|
||||
$target = isset($_POST['target']) ? $_POST['target'] : 'display';
|
||||
$save_as_file = isset( $_POST['save_as_file'] ) && $_POST['save_as_file'] == 'on';
|
||||
$attributes = array();
|
||||
|
||||
// add system attributes if needed
|
||||
$attributes = array();
|
||||
if( isset( $_POST['sys_attr'] ) ){
|
||||
array_push($attributes,'*');
|
||||
array_push($attributes,'+');
|
||||
}
|
||||
|
||||
isset($_POST['exporter_id']) or pla_error( $lang['must_choose_export_format'] );
|
||||
$exporter_id = $_POST['exporter_id'];
|
||||
isset($exporters[$exporter_id]) or pla_error( $lang['invalid_export_format'] );
|
||||
|
||||
// do some check
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
// Initialisation of other variables
|
||||
$rdn = get_rdn( $base_dn );
|
||||
$friendly_rdn = get_rdn( $base_dn, 1 );
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/export_form.php,v 1.19 2004/10/24 23:51:49 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/export_form.php,v 1.20 2005/02/25 13:44:06 wurley Exp $
|
||||
|
||||
/**
|
||||
* export_form.php
|
||||
@ -7,6 +7,9 @@
|
||||
*
|
||||
* Html form to choose an export format(ldif,...)
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require 'export_functions.php';
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/export_functions.php,v 1.20 2004/11/03 22:00:52 xrenard Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/export_functions.php,v 1.26 2005/03/21 12:43:17 wurley Exp $
|
||||
|
||||
/**
|
||||
* Fuctions and classes for exporting ldap entries to others formats
|
||||
@ -9,31 +9,38 @@
|
||||
* @author The phpLDAPadmin development team
|
||||
* @see export.php and export_form.php
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
// include common configuration definitions
|
||||
include('common.php');
|
||||
include('./common.php');
|
||||
|
||||
// registry for the exporters
|
||||
$exporters = array();
|
||||
|
||||
$exporters[] = array('output_type'=>'ldif',
|
||||
'desc' => 'LDIF',
|
||||
'extension' => 'ldif'
|
||||
);
|
||||
$exporters[] = array(
|
||||
'output_type'=>'ldif',
|
||||
'desc' => 'LDIF',
|
||||
'extension' => 'ldif'
|
||||
);
|
||||
|
||||
$exporters[] = array('output_type'=>'dsml',
|
||||
'desc' => 'DSML V.1',
|
||||
'extension' => 'xml'
|
||||
);
|
||||
$exporters[] = array(
|
||||
'output_type'=>'dsml',
|
||||
'desc' => 'DSML V.1',
|
||||
'extension' => 'xml'
|
||||
);
|
||||
|
||||
$exporters[] = array('output_type'=>'vcard',
|
||||
'desc' => 'VCARD 2.1',
|
||||
'extension' => 'vcf'
|
||||
);
|
||||
$exporters[] = array('output_type'=>'csv',
|
||||
'desc' => $lang['csv_spreadsheet'],
|
||||
'extension' => 'csv'
|
||||
);
|
||||
$exporters[] = array(
|
||||
'output_type'=>'vcard',
|
||||
'desc' => 'VCARD 2.1',
|
||||
'extension' => 'vcf'
|
||||
);
|
||||
|
||||
$exporters[] = array(
|
||||
'output_type'=>'csv',
|
||||
'desc' => $lang['csv_spreadsheet'],
|
||||
'extension' => 'csv'
|
||||
);
|
||||
|
||||
/**
|
||||
* This class encapsulate informations about the ldap server
|
||||
@ -47,36 +54,33 @@ $exporters[] = array('output_type'=>'csv',
|
||||
* it indicates the query filter for the search.
|
||||
* $scope: if the source of the export is the ldap server,
|
||||
* it indicates the scope of the search.
|
||||
* $server_host: the host name of the server.
|
||||
* $server_name: the name of the server.
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class LdapInfo{
|
||||
class LdapExportInfo extends LDAPServer{
|
||||
|
||||
var $base_dn;
|
||||
var $query_filter;
|
||||
var $scope;
|
||||
var $server_host = NULL;
|
||||
var $server_name = NULL;
|
||||
var $server_id = NULL;
|
||||
|
||||
/**
|
||||
* Create a new LdapInfo object
|
||||
* Create a new LdapExportInfo object
|
||||
*
|
||||
* @param int $server_id the server id
|
||||
* @param String $base_dn the base_dn for the search in a ldap server
|
||||
* @param String $query_filter the query filter for the search
|
||||
* @param String scope the scope of the search in a ldap server
|
||||
* @param String $scope the scope of the search in a ldap server
|
||||
*/
|
||||
|
||||
function LdapInfo($server_id,$base_dn = NULL,$query_filter = NULL,$scope = NULL){
|
||||
global $servers;
|
||||
function LdapExportInfo($server_id,$base_dn = NULL,$query_filter = NULL,$scope = NULL){
|
||||
// Call our parent to initialise.
|
||||
parent::LDAPServer($server_id);
|
||||
|
||||
// global $servers;
|
||||
$this->base_dn = $base_dn;
|
||||
$this->query_filter = $query_filter;
|
||||
$this->scope = $scope;
|
||||
$this->server_name = $servers[ $server_id ][ 'name' ];
|
||||
$this->server_host = $servers[ $server_id ][ 'host' ];
|
||||
$this->server_id = $server_id;
|
||||
}
|
||||
}
|
||||
|
||||
@ -91,6 +95,7 @@ class LdapInfo{
|
||||
* the PlaExporter
|
||||
*
|
||||
* @see PlaExporter
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class PlaAbstractExporter{
|
||||
@ -139,6 +144,8 @@ class PlaAbstractExporter{
|
||||
/**
|
||||
* PlaExporter acts a wrapper around another exporter.
|
||||
* In other words, it will act as a decorator for another decorator
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class PlaExporter extends PlaAbstractExporter{
|
||||
@ -238,6 +245,7 @@ class PlaExporter extends PlaAbstractExporter{
|
||||
/**
|
||||
* Export data from a ldap server
|
||||
* @extends PlaAbstractExporter
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class PlaLdapExporter extends PlaAbstractExporter{
|
||||
@ -250,7 +258,6 @@ class PlaLdapExporter extends PlaAbstractExporter{
|
||||
var $ldap_info;
|
||||
var $queryFilter;
|
||||
var $hasNext;
|
||||
var $connection_open_state;
|
||||
var $attributes;
|
||||
/**
|
||||
* Create a PlaLdapExporter object.
|
||||
@ -266,17 +273,16 @@ class PlaLdapExporter extends PlaAbstractExporter{
|
||||
$this->server_id = $server_id;
|
||||
$this->queryFilter = $queryFilter;
|
||||
// infos for the server
|
||||
$this->ldap_info = new LdapInfo($server_id,$base_dn,$queryFilter,$scope);
|
||||
$this->ldap_info = new LdapExportInfo($server_id,$base_dn,$queryFilter,$scope);
|
||||
// boolean to check if there is more entries
|
||||
$this->hasNext = 0;
|
||||
// boolean to check the state of the connection
|
||||
$this->connection_open_state = 0;
|
||||
|
||||
$this->attributes = $attributes;
|
||||
// connect to the server
|
||||
$this->ds = @pla_ldap_connect( $this->server_id );
|
||||
pla_ldap_connection_is_error( $this->ds );
|
||||
$this->connection_open_state = 1;
|
||||
$this->ds = $this->ldap_info->connect();
|
||||
// @todo test whether we need to call pla_ldap_connection_is_error here.
|
||||
//pla_ldap_connection_is_error( $this->ds );
|
||||
|
||||
// get the data to be exported
|
||||
if( $this->scope == 'base' )
|
||||
@ -349,7 +355,7 @@ class PlaLdapExporter extends PlaAbstractExporter{
|
||||
|
||||
//iterate over the attributes
|
||||
while( $attr ){
|
||||
if( is_attr_binary( $this->server_id,$attr ) ){
|
||||
if( is_attr_binary( $this,$attr ) ){
|
||||
$this->entry_array[$attr] = @ldap_get_values_len( $this->ds,$this->entry_id,$attr );
|
||||
}
|
||||
else{
|
||||
@ -375,20 +381,22 @@ class PlaLdapExporter extends PlaAbstractExporter{
|
||||
* May be call when the processing is finished
|
||||
* and to free some ressources.
|
||||
* @return bool true or false if any errors is encountered
|
||||
* @todo This could break something, so need to add a method to LDAPServer to close connection and reset $connected.
|
||||
*/
|
||||
function pla_close(){
|
||||
if($this->connection_open_state){
|
||||
return @ldap_close( $this->ds );
|
||||
}
|
||||
else{
|
||||
return true;
|
||||
}
|
||||
// if($this->ldap_info->connected){
|
||||
// return @ldap_close( $this->ds );
|
||||
// }
|
||||
// else{
|
||||
// return true;
|
||||
// }
|
||||
}
|
||||
} // end PlaLdapExporter
|
||||
|
||||
/**
|
||||
* Export entries to ldif format
|
||||
* @extends PlaExporter
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class PlaLdifExporter extends PlaExporter{
|
||||
@ -428,7 +436,7 @@ class PlaLdifExporter extends PlaExporter{
|
||||
|
||||
// display dn
|
||||
if( $this->is_safe_ascii( $entry['dn'] ))
|
||||
$this->multi_lines_display("dn:". $entry['dn']);
|
||||
$this->multi_lines_display("dn: ". $entry['dn']);
|
||||
else
|
||||
$this->multi_lines_display("dn:: " . base64_encode( $entry['dn'] ));
|
||||
array_shift($entry);
|
||||
@ -436,7 +444,7 @@ class PlaLdifExporter extends PlaExporter{
|
||||
// display the attributes
|
||||
foreach( $entry as $key => $attr ){
|
||||
foreach( $attr as $value ){
|
||||
if( !$this->is_safe_ascii($value) || is_attr_binary($pla_ldap_info->server_id,$key ) ){
|
||||
if( !$this->is_safe_ascii($value) || is_attr_binary($pla_ldap_info,$key ) ){
|
||||
$this->multi_lines_display( $key.":: " . base64_encode( $value ) );
|
||||
}
|
||||
else{
|
||||
@ -458,8 +466,9 @@ class PlaLdifExporter extends PlaExporter{
|
||||
echo "version: 1$this->br$this->br";
|
||||
echo "# " . sprintf( $lang['ldif_export_for_dn'], $pla_ldap_info->base_dn ) . $this->br;
|
||||
echo "# " . sprintf( $lang['generated_on_date'], date("F j, Y g:i a") ) . $this->br;
|
||||
echo "# " . $lang['server'] . ": " .$pla_ldap_info->server_name . " (" . $pla_ldap_info->server_host . ")" . $this->br;
|
||||
echo "# " . $lang['server'] . ": " .$pla_ldap_info->name . " (" . $pla_ldap_info->host . ")" . $this->br;
|
||||
echo "# " . $lang['search_scope'] . ": " . $pla_ldap_info->scope . $this->br;
|
||||
echo "# " . $lang['search_filter'] . ": " . $pla_ldap_info->query_filter . $this->br;
|
||||
echo "# " . $lang['total_entries'] . ": " . $this->pla_num_entries() . $this->br;
|
||||
echo $this->br;
|
||||
}
|
||||
@ -491,6 +500,7 @@ class PlaLdifExporter extends PlaExporter{
|
||||
/**
|
||||
* Export entries to DSML v.1
|
||||
* @extends PlaExporter
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class PlaDsmlExporter extends PlaExporter{
|
||||
@ -529,8 +539,9 @@ class PlaDsmlExporter extends PlaExporter{
|
||||
echo "<!-- " . $this->br;
|
||||
echo "# " . sprintf( $lang['dsml_export_for_dn'], $pla_ldap_info->base_dn ) . $this->br;
|
||||
echo "# " . sprintf( $lang['generated_on_date'], date("F j, Y g:i a") ) . $this->br;
|
||||
echo "# " . $lang['server'] . ": " . $pla_ldap_info->server_name . " (" . $pla_ldap_info->server_host . ")" . $this->br;
|
||||
echo "# " . $lang['server'] . ": " . $pla_ldap_info->name . " (" . $pla_ldap_info->host . ")" . $this->br;
|
||||
echo "# " . $lang['search_scope'] . ": " . $pla_ldap_info->scope . $this->br;
|
||||
echo "# " . $lang['search_filter'] . ": " . $pla_ldap_info->query_filter . $this->br;
|
||||
echo "# " . $lang['total_entries'] . ": " . $this->pla_num_entries() . $this->br;
|
||||
echo "-->" . $this->br;
|
||||
|
||||
@ -560,7 +571,7 @@ class PlaDsmlExporter extends PlaExporter{
|
||||
echo $attr_indent."<attr name=\"$key\">".$this->br;
|
||||
|
||||
// if the attribute is binary, set the flag $binary_mode to true
|
||||
$binary_mode = is_attr_binary($pla_ldap_info->server_id,$key)?1:0;
|
||||
$binary_mode = is_attr_binary($pla_ldap_info,$key)?1:0;
|
||||
|
||||
foreach($attr as $value){
|
||||
echo $attr_value_indent."<value>".($binary_mode?base64_encode( $value): htmlspecialchars( $value ) )."</value>".$this->br;
|
||||
@ -579,6 +590,9 @@ class PlaDsmlExporter extends PlaExporter{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
class PlaVcardExporter extends PlaExporter{
|
||||
|
||||
// mappping one to one attribute
|
||||
@ -621,8 +635,8 @@ class PlaVcardExporter extends PlaExporter{
|
||||
$base_dn = $ldap_info->base_dn;
|
||||
$server_id = $ldap_info->server_id;
|
||||
$scope = $ldap_info->scope;
|
||||
$server_name = $ldap_info->server_name;
|
||||
$server_host = $ldap_info->server_host;
|
||||
$server_name = $ldap_info->name;
|
||||
$server_host = $ldap_info->host;
|
||||
|
||||
while( $this->pla_has_entry() ){
|
||||
$entry = $this->pla_fetch_entry_array();
|
||||
@ -696,6 +710,7 @@ class PlaVcardExporter extends PlaExporter{
|
||||
* Export to cvs format
|
||||
*
|
||||
* @author Glen Ogilvie
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class PlaCSVExporter extends PlaExporter{
|
||||
@ -723,8 +738,8 @@ class PlaCSVExporter extends PlaExporter{
|
||||
$base_dn = $ldap_info->base_dn;
|
||||
$server_id = $ldap_info->server_id;
|
||||
$scope = $ldap_info->scope;
|
||||
$server_name = $ldap_info->server_name;
|
||||
$server_host = $ldap_info->server_host;
|
||||
$server_name = $ldap_info->name;
|
||||
$server_host = $ldap_info->host;
|
||||
|
||||
$entries = array();
|
||||
$headers = array();
|
||||
@ -769,7 +784,7 @@ class PlaCSVExporter extends PlaExporter{
|
||||
|
||||
echo $this->qualifier;
|
||||
if (key_exists($attr_name, $entry)) {
|
||||
$binary_attribute = is_attr_binary( $server_id, $attr_name )?1:0;
|
||||
$binary_attribute = is_attr_binary( $ldap_info, $attr_name )?1:0;
|
||||
|
||||
$attr_values = $entry[$attr_name];
|
||||
|
||||
@ -803,6 +818,9 @@ class PlaCSVExporter extends PlaExporter{
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class MyCustomExporter extends PlaExporter{
|
||||
|
||||
@ -825,8 +843,8 @@ class MyCustomExporter extends PlaExporter{
|
||||
$base_dn = $ldap_info->base_dn;
|
||||
$server_id = $ldap_info->server_id;
|
||||
$scope = $ldap_info->scope;
|
||||
$server_name = $ldap_info->server_name;
|
||||
$server_host = $ldap_info->server_host;
|
||||
$server_name = $ldap_info->name;
|
||||
$server_host = $ldap_info->host;
|
||||
|
||||
|
||||
// Just a simple loop. For each entry
|
||||
|
2748
functions.php
2748
functions.php
File diff suppressed because it is too large
Load Diff
34
header.php
34
header.php
@ -1,16 +1,20 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/header.php,v 1.14 2004/10/24 23:51:49 uugdave Exp $
|
||||
|
||||
// We want to get $language into scope in case we were included
|
||||
// from within a function
|
||||
global $language;
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/header.php,v 1.15 2005/02/25 13:44:06 wurley Exp $
|
||||
|
||||
// text/xml won't work with MSIE, but is very useful for debugging xhtml code.
|
||||
//@header( "Content-type: text/xml; charset=\"UTF-8\"" );
|
||||
@header( "Content-type: text/html; charset=\"UTF-8\"" );
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
// XML version and encoding for well-behaved browsers
|
||||
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
|
||||
// We want to get $language into scope in case we were included
|
||||
// from within a function
|
||||
global $language;
|
||||
|
||||
// text/xml won't work with MSIE, but is very useful for debugging xhtml code.
|
||||
//@header( "Content-type: text/xml; charset=\"UTF-8\"" );
|
||||
@header( "Content-type: text/html; charset=\"UTF-8\"" );
|
||||
|
||||
// XML version and encoding for well-behaved browsers
|
||||
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
|
||||
?>
|
||||
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
@ -19,12 +23,14 @@
|
||||
<head>
|
||||
<title>phpLDAPadmin</title>
|
||||
<link rel="stylesheet" href="style.css" media="screen" />
|
||||
<?php
|
||||
if( isset( $server_id ) ) {
|
||||
|
||||
<?php if( isset( $server_id ) ) {
|
||||
$custom_file = get_custom_file( $server_id, 'style.css' );
|
||||
if( strcmp( $custom_file, 'style.css' ) != 0 ) { ?>
|
||||
|
||||
if( strcmp( $custom_file, 'style.css' ) != 0 ) { ?>
|
||||
<link rel="stylesheet" href="<?php echo $custom_file ?>" media="screen" />
|
||||
<?php } } ?>
|
||||
<?php }
|
||||
} ?>
|
||||
<script src="entry_chooser.js" type="text/javascript"></script>
|
||||
<script src="ie_png_work_around.js" type="text/javascript"></script>
|
||||
<script src="search_util.js" type="text/javascript"></script>
|
||||
|
15
help.php
15
help.php
@ -1,8 +1,16 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/help.php,v 1.5 2005/02/26 12:35:05 wurley Exp $
|
||||
|
||||
include 'common.php';
|
||||
include 'header.php';
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
include './common.php';
|
||||
include './header.php';
|
||||
|
||||
$forum_href = get_href( 'forum' );
|
||||
?>
|
||||
|
||||
<body>
|
||||
@ -12,9 +20,8 @@ include 'header.php';
|
||||
<center>
|
||||
<p>Do you have a problem or question?</p>
|
||||
<p>Perhaps you are new to LDAP and need a little guidance?</p>
|
||||
<p>Help is only one click away. Visit the online <a href="http://www.phpldapadmin.com/forum">phpLDAPadmin support forum</a>.</p>
|
||||
<p>Help is only one click away. Visit the online <a href="<?php echo $forum_href; ?>">phpLDAPadmin support forum</a>.</p>
|
||||
<br />
|
||||
<p>(Note that paying members will receive priority support, so <a target="new" href="https://www.phpldapadmin.com/product_info.php/products_id/28">buy your membership</a> today.)</p>
|
||||
</center>
|
||||
|
||||
</body>
|
||||
|
190
hooks.php
Normal file
190
hooks.php
Normal file
@ -0,0 +1,190 @@
|
||||
<?
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/hooks.php,v 1.4 2005/03/05 09:38:46 wurley Exp $
|
||||
|
||||
/**
|
||||
* Functions related to hooks management.
|
||||
*
|
||||
* @author Benjamin Drieu <benjamin.drieu@fr.alcove.com> and Alcôve
|
||||
* @package phpLDAPadmin
|
||||
*
|
||||
* 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 the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*/
|
||||
|
||||
if ( ! isset($hooks) ) {
|
||||
/** This variable contains all hooks that are defined. */
|
||||
$hooks = array();
|
||||
}
|
||||
|
||||
/**
|
||||
* Compares two arrays by numerically comparing their 'prority'
|
||||
* value. Standard `cmp-like' function.
|
||||
*
|
||||
* @param a First element to compare.
|
||||
* @param b Second element to compare.
|
||||
*
|
||||
* @return -1 if priority of first element is smaller than second
|
||||
* element priority. 1 otherwise.
|
||||
*/
|
||||
function sort_array_by_priority ( $a, $b ) {
|
||||
return ( ( $a['priority'] < $b['priority'] ) ? -1 : 1 );
|
||||
}
|
||||
|
||||
/**
|
||||
* Runs procedures attached to a hook.
|
||||
*
|
||||
* @param hook_name Name of hook to run.
|
||||
* @param args Array of optional arguments set by
|
||||
* phpldapadmin. It is normally in a form known
|
||||
* by call_user_func_array() :
|
||||
* <pre>[ 'server_id' => 0,
|
||||
* 'dn' => 'uid=epoussa,ou=tech,o=corp,o=fr' ]</pre>
|
||||
*
|
||||
* @return true if all procedures returned true, false otherwise.
|
||||
*/
|
||||
function run_hook ( $hook_name, $args ) {
|
||||
global $hooks;
|
||||
|
||||
$debug = 0;
|
||||
if ($debug)
|
||||
syslog_msg ( LOG_DEBUG, "Running hook $hook_name." );
|
||||
|
||||
if ( ! array_key_exists ( $hook_name, $hooks ) ) {
|
||||
syslog_msg ( LOG_NOTICE,"Hook '$hook_name' not defined !\n" );
|
||||
return true;
|
||||
}
|
||||
|
||||
unset ( $rollbacks );
|
||||
$rollbacks = array ();
|
||||
reset ( $hooks[$hook_name] );
|
||||
|
||||
/** Execution of procedures attached is done using a numeric order
|
||||
* since all procedures have been attached to the hook with a
|
||||
* numerical weight. */
|
||||
while ( list ( $key, $hook ) = each ( $hooks[$hook_name] ) ) {
|
||||
array_push ( $rollbacks, $hook['rollback_function'] );
|
||||
if ($debug)
|
||||
syslog_msg ( LOG_DEBUG,"Calling " . $hook['hook_function'] . "\n" );
|
||||
$result = call_user_func_array ( $hook['hook_function'], $args );
|
||||
syslog_msg ( "Called " . $hook['hook_function'] . "\n" );
|
||||
|
||||
/** If a procedure fails, its optional rollback is executed with
|
||||
* the same arguments. After that, all rollbacks from
|
||||
* previously executed procedures are executed in the reverse
|
||||
* order. */
|
||||
if ( $result != true ) {
|
||||
if ($debug)
|
||||
syslog_msg ( LOG_DEBUG, "Function " . $hook['hook_function'] . " returned $result\n" );
|
||||
|
||||
while ( $rollbacks ) {
|
||||
$rollback = array_pop ( $rollbacks );
|
||||
|
||||
if ( $rollback != false ) {
|
||||
if ($debug)
|
||||
syslog_msg ( LOG_DEBUG,"Executing rollback $rollback\n" );
|
||||
call_user_func_array ( $rollback, $args );
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Adds a procedure to a hook for later execution.
|
||||
*
|
||||
* @param hook_name Name of the hook.
|
||||
* @param priority Numeric priority. Lowest means
|
||||
* procedure will be executed before.
|
||||
* @param hook_function Name of the php function called upon
|
||||
* hook trigger.
|
||||
* @param rollback_function Name of the php rollback function
|
||||
* called upon failure.
|
||||
*/
|
||||
function add_hook ( $hook_name, $priority, $hook_function, $rollback_function ) {
|
||||
global $hooks;
|
||||
|
||||
if ( ! array_key_exists ( $hook_name, $hooks ) ) {
|
||||
$hooks[$hook_name] = array();
|
||||
}
|
||||
|
||||
array_push ( $hooks[$hook_name], array ( 'priority' => $priority, 'hook_function' => $hook_function,
|
||||
'rollback_function' => $rollback_function ) );
|
||||
|
||||
uasort ( $hooks[$hook_name], "sort_array_by_priority" );
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes a procedure from a hook, based on a filter.
|
||||
*
|
||||
* @param hook_name Name of the hook.
|
||||
* @param priority Numeric priority. If set, all
|
||||
* procedures of that priority will be
|
||||
* removed.
|
||||
* @param hook_function Name of the procedure function. If
|
||||
* set, all procedures that call this
|
||||
* function will be removed.
|
||||
* @param rollback_function Name of the php rollback function
|
||||
* called upon failure. If set, all
|
||||
* procedures that call this function
|
||||
* as a rollback will be removed.
|
||||
*/
|
||||
function remove_hook ( $hook_name, $priority, $hook_function, $rollback_function ) {
|
||||
global $hooks;
|
||||
|
||||
if ( array_key_exists ( $hook_name, $hooks ) ) {
|
||||
reset ( $hooks[$hook_name] );
|
||||
|
||||
while ( list ( $key, $hook ) = each ( $hooks[$hook_name] ) ) {
|
||||
if ( ( $priority >= 0 && $priority == $hook['priority'] ) ||
|
||||
( $hook_function && $hook_function == $hook['hook_function'] ) ||
|
||||
( $rollback_function && $rollback_function == $hook['rollback_function'] ) ) {
|
||||
unset ( $hooks[$hook_name][$key] );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes all procedures from a hook.
|
||||
*
|
||||
* @param hook_name Name of hook to clear.
|
||||
*/
|
||||
function clear_hooks ( $hook_name ) {
|
||||
global $hooks;
|
||||
|
||||
if ( array_key_exists ( $hook_name, $hooks ) ) {
|
||||
unset ( $hooks[$hook_name] );
|
||||
}
|
||||
}
|
||||
|
||||
/* Evaluating user-made hooks */
|
||||
if ( is_dir('hooks') ) {
|
||||
$dir = dir ('hooks');
|
||||
|
||||
while (false !== ($entry = $dir -> read() ) ) {
|
||||
if ( is_file ("hooks/$entry") and eregi ('php[0-9]?$', $entry) ) {
|
||||
require_once "hooks/$entry";
|
||||
}
|
||||
}
|
||||
|
||||
$dir -> close();
|
||||
}
|
||||
|
||||
?>
|
BIN
images/compare.png
Normal file
BIN
images/compare.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 665 B |
@ -1,6 +1,15 @@
|
||||
<?php
|
||||
require_once '../header.php';
|
||||
/**
|
||||
* This will show a nice table of all the icons used by phpLDAPadmin.
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="../style.css" media="screen" />
|
||||
</head>
|
||||
<body>
|
||||
<h3 class="title">phpLDAPadmin icons</h3>
|
||||
<br />
|
||||
@ -9,7 +18,6 @@
|
||||
|
||||
$dir = opendir( '.' );
|
||||
while( ( $file = readdir( $dir ) ) !== false ) {
|
||||
$counter++;
|
||||
if( $file == '.' || $file == '..' )
|
||||
continue;
|
||||
if( ! preg_match( '/\.png$/', $file ) )
|
||||
@ -19,15 +27,22 @@ while( ( $file = readdir( $dir ) ) !== false ) {
|
||||
$files[ filesize( $file ) . '_' . $file ] = $file;
|
||||
}
|
||||
|
||||
ksort( $files );
|
||||
sort( $files );
|
||||
|
||||
$cell_style = "color: #888; text-align:center; padding: 10px; padding-bottom: 20px; vertical-align: bottom;";
|
||||
$counter = 0;
|
||||
print "<center><b>The " . count( $files ) . " icons used by phpLDAPadmin</b></center>";
|
||||
echo "<table style=\"font-family: arial; font-size: 12px;\">";
|
||||
echo "<tr>";
|
||||
foreach( $files as $file ) {
|
||||
if( $counter % 6 == 0 ) {
|
||||
echo "</tr>\n";
|
||||
flush();
|
||||
echo "<tr>";
|
||||
}
|
||||
$counter++;
|
||||
echo '<img title="' . htmlspecialchars( $file ) . '" src="' . htmlspecialchars( $file ) . '" /> ';
|
||||
if( $counter % 15 == 0 )
|
||||
echo '<br /><br />';
|
||||
flush();
|
||||
echo '<td style="' . $cell_style . '"><img title="' . htmlspecialchars( $file ) . '" src="' . htmlspecialchars( $file ) . '" /><br />';
|
||||
echo "$file</td>\n";
|
||||
}
|
||||
|
||||
?>
|
||||
|
BIN
images/logo.jpg
BIN
images/logo.jpg
Binary file not shown.
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 17 KiB |
BIN
images/timeout.png
Normal file
BIN
images/timeout.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 608 B |
151
index.php
151
index.php
@ -1,6 +1,9 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/index.php,v 1.30 2004/08/19 13:26:28 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/index.php,v 1.32 2005/02/26 12:35:05 wurley Exp $
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
/*******************************************
|
||||
<pre>
|
||||
@ -14,36 +17,36 @@ PHP is not installed on your web server!!!
|
||||
require './common.php';
|
||||
|
||||
if( ! file_exists(realpath( 'config.php' )) ) {
|
||||
|
||||
?>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>phpLDAPadmin - <?php echo pla_version(); ?></title>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h3 class="title">Configure phpLDAPadmin</h1>
|
||||
<br />
|
||||
<br />
|
||||
|
||||
<center>
|
||||
<?php echo $lang['need_to_configure']; ?>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php } elseif( check_config() ) {
|
||||
<?php } elseif( check_config() ) {
|
||||
|
||||
require 'config.php';
|
||||
require './config.php';
|
||||
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
|
||||
|
||||
?>
|
||||
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
|
||||
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN"
|
||||
"http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="no-NO">
|
||||
|
||||
<head><title>phpLDAPadmin - <?php echo pla_version(); ?></title></head>
|
||||
|
||||
<frameset cols="<?php echo $tree_width; ?>,*">
|
||||
@ -53,12 +56,7 @@ echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
|
||||
|
||||
</html>
|
||||
|
||||
<?php } else { ?>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
|
||||
<?php
|
||||
<?php }
|
||||
|
||||
/*
|
||||
* Makes sure that the config file is properly setup and
|
||||
@ -66,24 +64,22 @@ echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
|
||||
* TODO: Check ALL config elements for correctness in syntax
|
||||
* TODO: Make sure all required config stuff is defined.
|
||||
*/
|
||||
function check_config()
|
||||
{
|
||||
global $lang;
|
||||
function check_config() {
|
||||
global $lang;
|
||||
|
||||
/* Make sure their PHP version is current enough */
|
||||
if( strcmp( phpversion(), REQUIRED_PHP_VERSION ) < 0 ) {
|
||||
pla_error( "phpLDAPadmin requires PHP version 4.1.0 or greater. You are using " . phpversion() );
|
||||
}
|
||||
|
||||
/* Make sure this PHP install has LDAP support */
|
||||
if( ! extension_loaded( 'ldap' ) )
|
||||
{
|
||||
if( ! extension_loaded( 'ldap' ) ) {
|
||||
pla_error( "Your install of PHP appears to be missing LDAP support. Please install " .
|
||||
"LDAP support before using phpLDAPadmin. (Don't forget to restart your web server afterwards)" );
|
||||
"LDAP support before using phpLDAPadmin. (Don't forget to restart your web server afterwards)" );
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Make sure the config file is readable */
|
||||
//if( ! is_readable( 'config.php' ) )
|
||||
if( ! is_readable( realpath( 'config.php' ) ) ) {
|
||||
pla_error( "The config file 'config.php' is not readable. Please check its permissions." );
|
||||
return false;
|
||||
@ -91,69 +87,75 @@ function check_config()
|
||||
|
||||
// Make sure their session save path is writable, if they are using a file system session module, that is.
|
||||
if( 0 == strcasecmp( "Files", session_module_name() && ! is_writable( realpath( session_save_path() ) ) ) ) {
|
||||
pla_error( "Your PHP session configuration is incorrect. Please check the value of session.save_path
|
||||
in your php.ini to ensure that the directory specified there exists and is writable.
|
||||
The current setting of \"". session_save_path() . "\" is un-writable by the web server." );
|
||||
return false;
|
||||
pla_error( "Your PHP session configuration is incorrect. Please check the value of session.save_path
|
||||
in your php.ini to ensure that the directory specified there exists and is writable.
|
||||
The current setting of \"". session_save_path() . "\" is un-writable by the web server." );
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/* check for syntax errors in config.php */
|
||||
// capture the result of including the file with output buffering
|
||||
ob_start();
|
||||
include 'config.php';
|
||||
include './config.php';
|
||||
$str = ob_get_contents();
|
||||
ob_end_clean();
|
||||
if( $str && false !== strpos( $str, 'error' ) ) {
|
||||
|
||||
if( $str && false !== strpos( $str, 'error' ) ) {
|
||||
$str = strip_tags( $str );
|
||||
$matches = array();
|
||||
preg_match( "/on line (\d+)/", $str, $matches );
|
||||
$line_num = $matches[1];
|
||||
$file = file( 'config.php' );
|
||||
?>
|
||||
<html>
|
||||
<head>
|
||||
<title>phpLDAPadmin Config File Error</title>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h3 class="title">Config file error</h3>
|
||||
<h3 class="subtitle">Syntax error on line <?php echo $line_num; ?></h3>
|
||||
|
||||
<center>
|
||||
Looks like your config file has a syntax error on line <?php echo $line_num; ?>.
|
||||
Here is a snippet around that line
|
||||
<br />
|
||||
<br />
|
||||
<div style="text-align: left; margin-left: 80px; margin-right: 80px; border: 1px solid black; padding: 10px;">
|
||||
<tt>
|
||||
<?php
|
||||
for( $i=$line_num-9; $i<$line_num+5; $i++ ) {
|
||||
if( $i+1 == $line_num )
|
||||
echo "<div style=\"color:red;background:#fdd\">";
|
||||
if( $i < 0 )
|
||||
continue;
|
||||
echo "<b>" . ($i+1) . "</b>: " . htmlspecialchars($file[ $i ]) . "<br />";
|
||||
if( $i+1 == $line_num )
|
||||
echo "</div>";
|
||||
}
|
||||
?>
|
||||
</tt>
|
||||
</div>
|
||||
<br />
|
||||
Hint: Sometimes these errors are caused by lines <b>preceding</b> the line reported.
|
||||
</body>
|
||||
</html>
|
||||
<html>
|
||||
<head>
|
||||
<title>phpLDAPadmin Config File Error</title>
|
||||
<link rel="stylesheet" href="style.css" />
|
||||
</head>
|
||||
|
||||
<?php
|
||||
return false;
|
||||
<body>
|
||||
<h3 class="title">Config file error</h3>
|
||||
<h3 class="subtitle">Syntax error on line <?php echo $line_num; ?></h3>
|
||||
|
||||
<center>
|
||||
Looks like your config file has a syntax error on line <?php echo $line_num; ?>.
|
||||
Here is a snippet around that line
|
||||
<br />
|
||||
<br />
|
||||
<div style="text-align: left; margin-left: 80px; margin-right: 80px; border: 1px solid black; padding: 10px;">
|
||||
<tt>
|
||||
|
||||
<?php for( $i=$line_num-9; $i<$line_num+5; $i++ ) {
|
||||
if( $i+1 == $line_num )
|
||||
echo "<div style=\"color:red;background:#fdd\">";
|
||||
|
||||
if( $i < 0 )
|
||||
continue;
|
||||
echo "<b>" . ($i+1) . "</b>: " . htmlspecialchars($file[ $i ]) . "<br />";
|
||||
|
||||
if( $i+1 == $line_num )
|
||||
echo "</div>";
|
||||
}
|
||||
?>
|
||||
|
||||
</tt>
|
||||
|
||||
</div>
|
||||
<br />
|
||||
Hint: Sometimes these errors are caused by lines <b>preceding</b> the line reported.
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php return false;
|
||||
}
|
||||
|
||||
/* check the existence of the servers array */
|
||||
require 'config.php';
|
||||
require './config.php';
|
||||
|
||||
if( ! isset( $servers ) || ! is_array( $servers ) || count( $servers ) == 0 ) {
|
||||
pla_error( "Your config.php is missing the \$servers array or the \$servers array is empty.
|
||||
Please see the sample file config.php.example ", false );
|
||||
Please see the sample file config.php.example ", false );
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -162,6 +164,7 @@ function check_config()
|
||||
foreach( $servers as $i => $server )
|
||||
if( isset( $server['host'] ) )
|
||||
$count++;
|
||||
|
||||
if( $count == 0 ) {
|
||||
pla_error( "None of the " . count($servers) . " servers in your \$servers configuration is
|
||||
active in config.php. At least one of your servers must set the 'host' directive.
|
||||
@ -170,13 +173,14 @@ function check_config()
|
||||
return false;
|
||||
}
|
||||
|
||||
// Check that 'base' is present on all serve entries
|
||||
foreach( $servers as $id => $server ) {
|
||||
if( isset( $server['host'] ) && isset( $server['name'] ) )
|
||||
isset( $server['base'] ) or pla_error ( "Your configuration has an error. You omitted the 'base' directive
|
||||
on server number $id. Your server entry must have a 'base' directive
|
||||
even if it's empty ('')." );
|
||||
}
|
||||
// Check that 'base' is present on all serve entries
|
||||
foreach( $servers as $id => $server ) {
|
||||
if( isset( $server['host'] ) && isset( $server['name'] ) )
|
||||
isset( $server['base'] )
|
||||
or pla_error ( "Your configuration has an error. You omitted the 'base' directive
|
||||
on server number $id. Your server entry must have a 'base' directive
|
||||
even if it's empty ('')." );
|
||||
}
|
||||
|
||||
// Check each of the servers in the servers array
|
||||
foreach( $servers as $id => $server ) {
|
||||
@ -184,7 +188,7 @@ function check_config()
|
||||
|
||||
// Make sure they specified an auth_type
|
||||
if( ! isset( $server['auth_type'] ) ) {
|
||||
pla_error( "Your configuratoin has an error. You omitted the 'auth_type' directive on server number $id
|
||||
pla_error( "Your configuration has an error. You omitted the 'auth_type' directive on server number $id
|
||||
'auth_type' must be set, and it must be one of 'config', 'cookie', or 'session'.", false );
|
||||
return false;
|
||||
}
|
||||
@ -200,5 +204,4 @@ function check_config()
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
?>
|
||||
|
@ -1,7 +1,7 @@
|
||||
#
|
||||
# This Makefile (lang/Makefile) converts the source lang files to UTF8
|
||||
# coding. You need iconv installed to use it.
|
||||
# $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/Makefile,v 1.24 2004/12/09 14:12:16 uugdave Exp $
|
||||
# $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/Makefile,v 1.25 2005/02/06 00:21:30 wurley Exp $
|
||||
# ToDo: detect the encoding in the "source"
|
||||
#
|
||||
# posible detect of the language
|
||||
@ -34,10 +34,10 @@ TARGETS=${DESTDIR}/auto.php \
|
||||
${DESTDIR}/pt-br.php \
|
||||
${DESTDIR}/ru.php \
|
||||
${DESTDIR}/sv.php \
|
||||
${DESTDIR}/zh-cn.php \
|
||||
${DESTDIR}/zh-tw.php \
|
||||
${DESTDIR}/zz.php \
|
||||
${DESTDIR}/zzz.php
|
||||
# OFF zh-tw.php
|
||||
# ${DESTDIR}/zh-tw.php \
|
||||
|
||||
default:
|
||||
@echo "usage:"
|
||||
@ -129,11 +129,16 @@ ${DESTDIR}/ru.php: ru.php
|
||||
@echo "Fixing encoding ru.php to UTF8 "${DESTDIR}/ru.php
|
||||
@iconv -f utf8 -t utf8 ru.php > ${DESTDIR}/ru.php
|
||||
|
||||
#${DESTDIR}/zh-tw.php: zh-tw.php
|
||||
# @echo "Copying only the zh-tw.php"
|
||||
# @iconv -f utf8 -t utf8 zh-tw.php ${DESTDIR}/zh-tw.php
|
||||
${DESTDIR}/zh-cn.php: zh-cn.php
|
||||
@echo "Copying only the zh-cn.php"
|
||||
@cp zh-cn.php ${DESTDIR}/zh-cn.php
|
||||
|
||||
${DESTDIR}/zh-tw.php: zh-tw.php
|
||||
@echo "Copying only the zh-tw.php"
|
||||
@cp zh-tw.php ${DESTDIR}/zh-tw.php
|
||||
# @iconv -f utf8 -t utf8 zh-tw.php ${DESTDIR}/zh-tw.php
|
||||
# INTERNAL BUG COULDN CONVERT IT, SO WE COPY IT
|
||||
# cp zh-tw.php ${DESTDIR}/zh-tw.php
|
||||
|
||||
${DESTDIR}/zz.php: zz.php
|
||||
@echo "Copying only the zz.php"
|
||||
@cp zz.php ${DESTDIR}/.
|
||||
|
@ -1,8 +1,8 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/auto.php,v 1.9 2004/12/09 14:02:24 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/auto.php,v 1.10 2005/02/06 00:21:30 wurley Exp $
|
||||
|
||||
// Language for auto-detect
|
||||
// phpldapadmin/lang/auto.php in $Revision: 1.9 $
|
||||
// phpldapadmin/lang/auto.php in $Revision: 1.10 $
|
||||
$useLang="en"; // default use english encoding, a Option in Config would be nice
|
||||
|
||||
// keep the beginning and ending spaces, they are used for finding the best language
|
||||
@ -30,6 +30,8 @@ $langSupport=array(" ca "=>"ca" // catalan
|
||||
," ru-"=>"ru" // ru- exits?
|
||||
," sv "=>"sv" //swedish
|
||||
," sv-"=>"sv" // swedisch to
|
||||
," zh-cn"=>"zh-cn" // simplified chinese
|
||||
," zh-tw"=>"zh-tw" // taiwan?
|
||||
);// all supported languages in this array
|
||||
// test
|
||||
|
||||
|
75
lang/en.php
75
lang/en.php
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/en.php,v 1.107 2005/01/07 04:06:27 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/en.php,v 1.121 2005/03/26 01:18:28 wurley Exp $
|
||||
|
||||
|
||||
/* --- INSTRUCTIONS FOR TRANSLATORS ---
|
||||
@ -31,7 +31,6 @@ $lang['search_for_entries_whose'] = 'Search for entries whose';
|
||||
$lang['base_dn'] = 'Base DN';
|
||||
$lang['search_scope'] = 'Search Scope';
|
||||
$lang['show_attributes'] = 'Show Attributtes';
|
||||
$lang['attributes'] = 'Attributes';
|
||||
$lang['Search'] = 'Search';
|
||||
$lang['predefined_search_str'] = 'Select a predefined search';
|
||||
$lang['predefined_searches'] = 'Predefined Searches';
|
||||
@ -74,13 +73,13 @@ $lang['please_specify_in_config'] = 'Please specify it in config.php';
|
||||
$lang['create_new_entry_in'] = 'Create a new entry in';
|
||||
$lang['login_link'] = 'Login...';
|
||||
$lang['login'] = 'login';
|
||||
$lang['base_entry_does_not_exist'] = 'The base entry does not exist.';
|
||||
$lang['base_entry_does_not_exist'] = 'This base entry does not exist.';
|
||||
$lang['create_it'] = 'Create it?';
|
||||
|
||||
// Entry display
|
||||
$lang['delete_this_entry'] = 'Delete this entry';
|
||||
$lang['delete_this_entry_tooltip'] = 'You will be prompted to confirm this decision';
|
||||
$lang['copy_this_entry'] = 'Copy this entry';
|
||||
$lang['copy_this_entry'] = 'Copy or move this entry';
|
||||
$lang['copy_this_entry_tooltip'] = 'Copy this object to another location, a new DN, or another server';
|
||||
$lang['export'] = 'Export';
|
||||
$lang['export_lcase'] = 'export';
|
||||
@ -118,6 +117,7 @@ $lang['binary_value'] = 'Binary value';
|
||||
$lang['add_new_binary_attr'] = 'Add new binary attribute';
|
||||
$lang['alias_for'] = 'Note: \'%s\' is an alias for \'%s\'';
|
||||
$lang['required_for'] = 'Required attribute for objectClass(es) %s';
|
||||
$lang['required_by_entry'] = 'This attribute is required for the RDN.';
|
||||
$lang['download_value'] = 'download value';
|
||||
$lang['delete_attribute'] = 'delete attribute';
|
||||
$lang['true'] = 'true';
|
||||
@ -127,13 +127,10 @@ $lang['really_delete_attribute'] = 'Really delete attribute';
|
||||
$lang['add_new_value'] = 'Add New Value';
|
||||
|
||||
// Schema browser
|
||||
$lang['the_following_objectclasses'] = 'The following objectClasses are supported by this LDAP server.';
|
||||
$lang['the_following_attributes'] = 'The following attributeTypes are supported by this LDAP server.';
|
||||
$lang['the_following_matching'] = 'The following matching rules are supported by this LDAP server.';
|
||||
$lang['the_following_syntaxes'] = 'The following syntaxes are supported by this LDAP server.';
|
||||
$lang['schema_retrieve_error_1']='The server does not fully support the LDAP protocol.';
|
||||
$lang['schema_retrieve_error_2']='Your version of PHP does not correctly perform the query.';
|
||||
$lang['schema_retrieve_error_3']='Or lastly, phpLDAPadmin doesn\'t know how to fetch the schema for your server.';
|
||||
$lang['schema_retrieve_error_3']='phpLDAPadmin doesn\'t know how to fetch the schema for your server.';
|
||||
$lang['schema_retrieve_error_4']='Or lastly, your LDAP server doesnt provide this information.';
|
||||
$lang['jump_to_objectclass'] = 'Jump to an objectClass';
|
||||
$lang['view_schema_for_oclass'] = 'View the schema description for this objectClass';
|
||||
$lang['jump_to_attr'] = 'Jump to an attribute type';
|
||||
@ -233,19 +230,15 @@ $lang['not_enough_login_info'] = 'Not enough information to login to server. Ple
|
||||
$lang['could_not_connect'] = 'Could not connect to LDAP server.';
|
||||
$lang['could_not_connect_to_host_on_port'] = 'Could not connect to "%s" on port "%s"';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'Could not perform ldap_mod_add operation.';
|
||||
$lang['bad_server_id_underline'] = 'Bad server_id: ';
|
||||
$lang['home'] = 'Home';
|
||||
$lang['help'] = 'Help';
|
||||
$lang['success'] = 'Success';
|
||||
$lang['server_colon_pare'] = 'Server: ';
|
||||
$lang['look_in'] = 'Looking in: ';
|
||||
$lang['missing_server_id_in_query_string'] = 'No server ID specified in query string!';
|
||||
$lang['missing_dn_in_query_string'] = 'No DN specified in query string!';
|
||||
$lang['back_up_p'] = 'Back Up...';
|
||||
$lang['no_entries'] = 'no entries';
|
||||
$lang['not_logged_in'] = 'Not logged in';
|
||||
$lang['could_not_det_base_dn'] = 'Could not determine base DN';
|
||||
$lang['please_report_this_as_a_bug']='Please report this as a bug.';
|
||||
$lang['reasons_for_error']='This could happen for several reasons, the most probable of which are:';
|
||||
$lang['yes']='Yes';
|
||||
$lang['no']='No';
|
||||
@ -254,13 +247,16 @@ $lang['delete']='Delete';
|
||||
$lang['back']='Back';
|
||||
$lang['object']='object';
|
||||
$lang['delete_all']='Delete all';
|
||||
$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546';
|
||||
$lang['hint'] = 'hint';
|
||||
$lang['bug'] = 'bug';
|
||||
$lang['warning'] = 'warning';
|
||||
$lang['light'] = 'light'; // the word 'light' from 'light bulb'
|
||||
$lang['proceed_gt'] = 'Proceed >>';
|
||||
|
||||
$lang['no_blowfish_secret'] = 'phpLDAPadmin cannot safely encrypt & decrypt your sensitive information, because $blowfish_secret is not set in config.php. You need to edit config.php and set $blowfish_secret to some secret string now.';
|
||||
$lang['jpeg_dir_not_writable'] = 'Please set $jpeg_temp_dir to a writable directory in the phpLDAPadmin config.php';
|
||||
$lang['jpeg_dir_not_writable_error'] = 'Could not write to the $jpeg_temp_dir directory %s. Please verify that your web server can write files there.';
|
||||
$lang['jpeg_unable_toget'] = 'Could not fetch jpeg data from LDAP server for attribute %s.';
|
||||
$lang['jpeg_delete'] = 'Delete photo';
|
||||
|
||||
// Add value form
|
||||
$lang['add_new'] = 'Add new';
|
||||
@ -294,8 +290,8 @@ $lang['must_choose_template'] = 'You must choose a template';
|
||||
$lang['invalid_template'] = '%s is an invalid template';
|
||||
$lang['using_template'] = 'using template';
|
||||
$lang['go_to_dn'] = 'Go to %s';
|
||||
+$lang['structural_object_class_cannot_remove'] = 'This is a structural ObjectClass and cannot be removed.';
|
||||
+$lang['structural'] = 'structural';
|
||||
$lang['structural_object_class_cannot_remove'] = 'This is a structural ObjectClass and cannot be removed.';
|
||||
$lang['structural'] = 'structural';
|
||||
|
||||
//copy_form.php
|
||||
$lang['copyf_title_copy'] = 'Copy ';
|
||||
@ -307,8 +303,9 @@ $lang['copyf_note'] = 'Hint: Copying between different servers only works if the
|
||||
$lang['copyf_recursive_copy'] = 'Recursively copy all children of this object as well.';
|
||||
$lang['recursive_copy'] = 'Recursive copy';
|
||||
$lang['filter'] = 'Filter';
|
||||
$lang['search_filter'] = 'Search Filter';
|
||||
$lang['filter_tooltip'] = 'When performing a recursive copy, only copy those entries which match this filter';
|
||||
$lang['delete_after_copy'] = 'Delete after copy (move):';
|
||||
$lang['delete_after_copy_warn'] = 'Make sure your filter (above) will select all child records.';
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute'] = 'You left the value blank for required attribute (%s).';
|
||||
@ -356,10 +353,8 @@ $lang['scope_base'] = 'Base (base dn only)';
|
||||
$lang['standard_ldap_search_filter'] = 'Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))';
|
||||
$lang['search_filter'] = 'Search Filter';
|
||||
$lang['list_of_attrs_to_display_in_results'] = 'A list of attributes to display in the results (comma-separated)';
|
||||
$lang['show_attributes'] = 'Show Attributes';
|
||||
|
||||
// search_form_simple.php
|
||||
$lang['search_for_entries_whose'] = 'Search for entries whose:';
|
||||
$lang['equals'] = 'equals';
|
||||
$lang['starts with'] = 'starts with';
|
||||
$lang['contains'] = 'contains';
|
||||
@ -386,6 +381,7 @@ $lang['commit'] = 'Commit';
|
||||
$lang['cancel'] = 'Cancel';
|
||||
$lang['you_made_no_changes'] = 'You made no changes';
|
||||
$lang['go_back'] = 'Go back';
|
||||
$lang['unable_create_samba_pass'] = 'Unable to create samba password. Please check your configuration in template_config.php';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note'] = 'Use the menu to the left to navigate';
|
||||
@ -397,8 +393,6 @@ $lang['pla_logo'] = 'phpLDAPadmin logo';
|
||||
// Donate.php
|
||||
$lang['donation_instructions'] = 'To donate funds to the phpLDAPadmin project, use one of the PayPal buttons below.';
|
||||
$lang['donate_amount'] = 'Donate %s';
|
||||
$lang['wish_list_option'] = 'Or perhaps you would prefer to purchase an gift for a phpLDAPadmin developer.';
|
||||
$lang['wish_list'] = 'View Dave\'s phpLDAPadmin wish list';
|
||||
|
||||
$lang['purge_cache'] = 'Purge caches';
|
||||
$lang['no_cache_to_purge'] = 'No cache to purge.';
|
||||
@ -437,15 +431,15 @@ $lang['could_not_bind_anon'] = 'Could not bind anonymously to server.';
|
||||
$lang['could_not_bind'] = 'Could not bind to the LDAP server.';
|
||||
$lang['anonymous_bind'] = 'Anonymous Bind';
|
||||
$lang['bad_user_name_or_password'] = 'Bad username or password. Please try again.';
|
||||
$lang['redirecting_click_if_nothing_happens'] = 'Redirecting... Click here if nothing happens.';
|
||||
$lang['successfully_logged_in_to_server'] = 'Successfully logged into server <b>%s</b>';
|
||||
$lang['could_not_set_cookie'] = 'Could not set cookie.';
|
||||
$lang['ldap_said'] = 'LDAP said: %s';
|
||||
$lang['ferror_error'] = 'Error';
|
||||
$lang['fbrowse'] = 'browse';
|
||||
$lang['delete_photo'] = 'Delete Photo';
|
||||
$lang['install_not_support_blowfish'] = 'Your PHP install does not support blowfish encryption.';
|
||||
$lang['install_not_support_md5crypt'] = 'Your PHP install does not support md5crypt encryption.';
|
||||
$lang['install_not_support_ext_des'] = 'Your system crypt library does not support extended DES encryption.';
|
||||
$lang['install_not_support_blowfish'] = 'Your system crypt library does not support blowfish encryption.';
|
||||
$lang['install_not_support_md5crypt'] = 'Your system crypt library does not support md5crypt encryption.';
|
||||
$lang['install_no_mash'] = 'Your PHP install does not have the mhash() function. Cannot do SHA hashes.';
|
||||
$lang['jpeg_contains_errors'] = 'jpegPhoto contains errors<br />';
|
||||
$lang['ferror_number'] = 'Error number: %s (%s)';
|
||||
@ -457,8 +451,10 @@ $lang['ferror_unrecognized_num'] = 'Unrecognized error number: ';
|
||||
$lang['ferror_nonfatil_bug'] = '<center><table class=\'notice\'><tr><td colspan=\'2\'><center><img src=\'images/warning.png\' height=\'12\' width=\'13\' />
|
||||
<b>You found a non-fatal phpLDAPadmin bug!</b></td></tr><tr><td>Error:</td><td><b>%s</b> (<b>%s</b>)</td></tr><tr><td>File:</td>
|
||||
<td><b>%s</b> line <b>%s</b>, caller <b>%s</b></td></tr><tr><td>Versions:</td><td>PLA: <b>%s</b>, PHP: <b>%s</b>, SAPI: <b>%s</b>
|
||||
</td></tr><tr><td>Web server:</td><td><b>%s</b></td></tr><tr><td colspan=\'2\'><center><a target=\'new\' href=\'%s\'>
|
||||
Please report this bug by clicking here</a>.</center></td></tr></table></center><br />';
|
||||
</td></tr><tr><td>Web server:</td><td><b>%s</b></td></tr>
|
||||
<tr><td colspan=\'2\'><center><a target=\'new\' href=\'%s\'>Please check and see if this bug has been reported here</a>.</center></td></tr>
|
||||
<tr><td colspan=\'2\'><center><a target=\'new\' href=\'%s\'>If it hasnt been reported, you may report this bug by clicking here</a>.</center></td></tr>
|
||||
</table></center><br />';
|
||||
$lang['ferror_congrats_found_bug'] = 'Congratulations! You found a bug in phpLDAPadmin.<br /><br />
|
||||
<table class=\'bug\'>
|
||||
<tr><td>Error:</td><td><b>%s</b></td></tr>
|
||||
@ -514,16 +510,14 @@ $lang['searching'] = 'Searching...';
|
||||
$lang['size_limit_exceeded'] = 'Notice, search size limit exceeded.';
|
||||
$lang['entry'] = 'Entry';
|
||||
$lang['ldif_export_for_dn'] = 'LDIF Export for: %s';
|
||||
$lang['generated_on_date'] = 'Generated by phpLDAPadmin ( http://www.phpldapadmin.com/ ) on %s';
|
||||
$lang['generated_on_date'] = 'Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s';
|
||||
$lang['total_entries'] = 'Total Entries';
|
||||
$lang['dsml_export_for_dn'] = 'DSLM Export for: %s';
|
||||
$lang['include_system_attrs'] = 'Include system attributes';
|
||||
$lang['csv_spreadsheet'] = 'CSV (Spreadsheet)';
|
||||
|
||||
// logins
|
||||
$lang['could_not_find_user'] = 'Could not find a user "%s"';
|
||||
$lang['password_blank'] = 'You left the password blank.';
|
||||
$lang['login_cancelled'] = 'Login cancelled.';
|
||||
$lang['no_one_logged_in'] = 'No one is logged in to that server.';
|
||||
$lang['could_not_logout'] = 'Could not logout.';
|
||||
$lang['unknown_auth_type'] = 'Unknown auth_type: %s';
|
||||
@ -535,6 +529,7 @@ $lang['login_dn'] = 'Login DN';
|
||||
$lang['user_name'] = 'User name';
|
||||
$lang['password'] = 'Password';
|
||||
$lang['authenticate'] = 'Authenticate';
|
||||
$lang['login_not_allowed'] = 'Sorry, you are not allowed to use phpLDAPadmin with this LDAP server.';
|
||||
|
||||
// Entry browser
|
||||
$lang['entry_chooser_title'] = 'Entry Chooser';
|
||||
@ -565,7 +560,6 @@ $lang['invalid_rdn'] = 'Invalid RDN value';
|
||||
$lang['could_not_rename'] = 'Could not rename the entry';
|
||||
|
||||
// General errors
|
||||
$lang['php5_unsupported'] = 'phpLDAPadmin does not yet support PHP 5. You will likely encounter many weird problems if you continue.';
|
||||
$lang['mismatched_search_attr_config'] = 'Your configuration has an error. $search_attributes must have the same number of attributes as $search_attributes_display.';
|
||||
|
||||
// Password checker
|
||||
@ -577,7 +571,6 @@ $lang['to'] = 'To';
|
||||
|
||||
// Templates
|
||||
$lang['using'] = 'Using the';
|
||||
$lang['template'] = 'template';
|
||||
$lang['switch_to'] = 'You may switch to the ';
|
||||
$lang['default_template'] = 'default template';
|
||||
|
||||
@ -671,4 +664,22 @@ $lang['t_create_address'] = 'Create Address';
|
||||
// default template
|
||||
$lang['t_check_pass'] = 'Check password...';
|
||||
|
||||
// compare form
|
||||
$lang['compare'] = 'Compare';
|
||||
$lang['comparing'] = 'Comparing the following DNs';
|
||||
$lang['compare_dn'] = 'Compare another DN with';
|
||||
$lang['with'] = 'with ';
|
||||
$lang['compf_source_dn'] = 'Source DN';
|
||||
$lang['compf_dn_tooltip'] = 'Compare this DN with another';
|
||||
$lang['switch_entry'] = 'Switch Entry';
|
||||
$lang['no_value'] = 'No Value';
|
||||
$lang['compare_with'] = 'Compare with another entry';
|
||||
$lang['need_oclass'] = 'You need one of the following ObjectClass(es) to add this attribute %s.';
|
||||
|
||||
// Time out page
|
||||
$lang['session_timed_out_1'] = 'Your Session timed out after';
|
||||
$lang['session_timed_out_2'] = 'min. of inactivity. You have been automatically logged out.';
|
||||
$lang['log_back_in'] = 'To log back in please click on the following link:';
|
||||
$lang['session_timed_out_tree'] = '(Session timed out. Automatically logged out.)';
|
||||
$lang['timeout_at'] = 'Inactivity will log you off at %s';
|
||||
?>
|
||||
|
771
lang/es.php
771
lang/es.php
@ -1,28 +1,37 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/es.php,v 1.19 2004/06/07 13:01:28 uugdave Exp $
|
||||
|
||||
/*
|
||||
* Spanish (es_ES) translation file for phpLDAPadmin
|
||||
*
|
||||
* Date: 02/05/2005
|
||||
* Source: CVS snapshot of en.php as of 02/05/2005
|
||||
* Translator: Miguelanxo Otero Salgueiro <miguelanxo@telefonica.net>
|
||||
*/
|
||||
|
||||
// Search form
|
||||
$lang['simple_search_form_str'] = 'Formulario de búsqueda sencilla';
|
||||
$lang['advanced_search_form_str'] = 'Formulario de búsqueda avanzada';
|
||||
$lang['server'] = 'Servidor';
|
||||
$lang['search_for_entries_whose'] = 'Buscar objetos los cuales';
|
||||
$lang['base_dn'] = 'DN Base';
|
||||
$lang['search_scope'] = 'Alcance de la búsqueda';
|
||||
$lang['search_ filter'] = 'Filtro de Búsqueda';
|
||||
$lang['search_for_entries_whose'] = 'Buscar objetos que';
|
||||
$lang['base_dn'] = 'DN base';
|
||||
$lang['search_scope'] = 'Ámbito de búsqueda';
|
||||
$lang['show_attributes'] = 'Mostrar atributos';
|
||||
$lang['attributes'] = 'Atributos';
|
||||
$lang['Search'] = 'Buscar';
|
||||
$lang['equals'] = 'equivale';
|
||||
$lang['starts_with'] = 'comienza con';
|
||||
$lang['contains'] = 'contiene';
|
||||
$lang['ends_with'] = 'termina con';
|
||||
$lang['sounds_like'] = 'suena como';
|
||||
$lang['predefined_search_str'] = 'Seleccionar una búsqueda predefinida';
|
||||
$lang['predefined_searches'] = 'Búsquedas predefinidas';
|
||||
$lang['no_predefined_queries'] = 'No hay ninguna búsqueda predefinida en config.php.';
|
||||
$lang['export_results'] = 'exportar resultados';
|
||||
$lang['unrecoginzed_search_result_format'] = 'Formato de resultado de búsqueda no reconocido: %s';
|
||||
$lang['format'] = 'Formato';
|
||||
$lang['list'] = 'lista';
|
||||
$lang['table'] = 'tabla';
|
||||
$lang['bad_search_display'] = 'Su config.php especifica un valor no válido para $default_search_display: %s. Por favor, arréglelo';
|
||||
$lang['page_n'] = 'Página %d';
|
||||
$lang['no_results'] = 'La búsqueda no ha encontrado resultados.';
|
||||
|
||||
// Tree browser
|
||||
$lang['request_new_feature'] = 'Pedir funcionalidad';
|
||||
$lang['see_open_requests'] = 'Ver las peticiones';
|
||||
$lang['report_bug'] = 'Reportar un error';
|
||||
$lang['see_open_bugs'] = 'Ver los errores';
|
||||
$lang['request_new_feature'] = 'Solicitar una nueva funcionalidad';
|
||||
$lang['report_bug'] = 'Informar de un error';
|
||||
$lang['schema'] = 'esquema';
|
||||
$lang['search'] = 'buscar';
|
||||
$lang['create'] = 'crear';
|
||||
@ -30,313 +39,617 @@ $lang['info'] = 'info';
|
||||
$lang['import'] = 'importar';
|
||||
$lang['refresh'] = 'refrescar';
|
||||
$lang['logout'] = 'salir';
|
||||
$lang['create_new'] = 'Crear Nuevo Objeto';
|
||||
$lang['view_schema_for'] = 'Ver esquema para';
|
||||
$lang['refresh_expanded_containers'] = 'Refrescar todos los contenedores extendidos para';
|
||||
$lang['create_new_entry_on'] = 'Crear nuevo objeto en';
|
||||
$lang['view_server_info'] = 'Ver información del servidor';
|
||||
$lang['import_from_ldif'] = 'Importar objetos de archivo LDIF';
|
||||
$lang['logout_of_this_server'] = 'Salir de este servidor';
|
||||
$lang['create_new'] = 'Crear nuevo objeto';
|
||||
$lang['view_schema_for'] = 'Ver el esquema del';
|
||||
$lang['refresh_expanded_containers'] = 'Refrescar todos los contenedores extendidos del';
|
||||
$lang['create_new_entry_on'] = 'Crear un nuevo objeto en el';
|
||||
$lang['new'] = 'nuevo';
|
||||
$lang['view_server_info'] = 'Ver la información enviada por el servidor';
|
||||
$lang['import_from_ldif'] = 'Importar desde un fichero LDIF';
|
||||
$lang['logout_of_this_server'] = 'Desconectar del servidor';
|
||||
$lang['logged_in_as'] = 'Conectado como: ';
|
||||
$lang['read_only'] = 'inalterable';
|
||||
$lang['could_not_determine_root'] = 'No se ha podido determinar la raiz del servidor LDAP.';
|
||||
$lang['ldap_refuses_to_give_root'] = 'Parece ser que el servidor LDAP se ha configurado para no revelar su raiz.';
|
||||
$lang['please_specify_in_config'] = 'Por favor especifícala en el archivo config.php';
|
||||
$lang['create_new_entry_in'] = 'Crear un nuevo objeto en';
|
||||
$lang['login_link'] = 'Autenticación...';
|
||||
$lang['this_base_dn_is_not_valid'] = 'Esta DN base no es válida.';
|
||||
$lang['this_base_dn_does_not_exist'] = 'Este objeto no existe.';
|
||||
$lang['read_only'] = 'sólo lectura';
|
||||
$lang['read_only_tooltip'] = 'Este atributo ha sido marcado como de sólo lectura por el administrador de phpLDAPadmin';
|
||||
$lang['could_not_determine_root'] = 'No se ha podido determinar la raíz de su árbol LDAP.';
|
||||
$lang['ldap_refuses_to_give_root'] = 'Parece que el servidor LDAP ha sido configurado para no revelar su raíz.';
|
||||
$lang['please_specify_in_config'] = 'Por favór, especifíquela en config.php';
|
||||
$lang['create_new_entry_in'] = 'Crear nuevo objeto en';
|
||||
$lang['login_link'] = 'Autentificación';
|
||||
$lang['login'] = 'conectar';
|
||||
$lang['base_entry_does_not_exist'] = 'Este objeto base no existe.';
|
||||
$lang['create_it'] = '¿Crearlo?';
|
||||
|
||||
// Entry display
|
||||
$lang['delete_this_entry'] = 'Borrar este objeto';
|
||||
$lang['delete_this_entry_tooltip'] = 'Se tendrá que confirmar esta decision';
|
||||
$lang['delete_this_entry_tooltip'] = 'Se le pedirá confirmación';
|
||||
$lang['copy_this_entry'] = 'Copiar este objeto';
|
||||
$lang['copy_this_entry_tooltip'] = 'Copiar este objeto para otra localización, DN nuevo, o para otro servidor.';
|
||||
$lang['export_to_ldif'] = 'Exportar archivo LDIF';
|
||||
$lang['export_to_ldif_tooltip'] = 'Guardar archivo LDIF de este objeto';
|
||||
$lang['export_subtree_to_ldif_tooltip'] = 'Guardar archivo LDIF de este objeto i todos sus objetos hijos';
|
||||
$lang['export_subtree_to_ldif'] = 'Exportar archivo LDIF de sub-estructura';
|
||||
$lang['export_mac'] = 'Avance de línea de Macintosh';
|
||||
$lang['export_win'] = 'Avance de línea de Windows';
|
||||
$lang['export_unix'] = 'Avance de línea de Unix';
|
||||
$lang['create_a_child_entry'] = 'Crear objeto como hijo';
|
||||
$lang['add_a_jpeg_photo'] = 'Agregar jpegPhoto';
|
||||
$lang['copy_this_entry_tooltip'] = 'Copiar este objeto en otro sitio: un nuevo DN u otro servidor';
|
||||
$lang['export'] = 'Exportar';
|
||||
$lang['export_lcase'] = 'exportar';
|
||||
$lang['export_tooltip'] = 'Exportar este objeto';
|
||||
$lang['export_subtree_tooltip'] = 'Exportar este objeto y todos sus hijos';
|
||||
$lang['export_subtree'] = 'Exportar subárbol';
|
||||
$lang['create_a_child_entry'] = 'Crear un objeto hijo';
|
||||
$lang['rename_entry'] = 'Renombrar objeto';
|
||||
$lang['rename'] = 'Renombrar';
|
||||
$lang['add'] = 'Agregar';
|
||||
$lang['add'] = 'Añadir';
|
||||
$lang['view'] = 'Ver';
|
||||
$lang['add_new_attribute'] = 'Agregar nuevo atributo';
|
||||
$lang['add_new_attribute_tooltip'] = 'Agregar nuevo atributo/valor a este objeto';
|
||||
$lang['internal_attributes'] = 'Atributos Internos';
|
||||
$lang['hide_internal_attrs'] = 'ocultar los atributos internos';
|
||||
$lang['show_internal_attrs'] = 'mostrar els atributos internos';
|
||||
$lang['internal_attrs_tooltip'] = 'Los atributos fijos automaticamente para el servidor';
|
||||
$lang['entry_attributes'] = 'Atributos del objeto';
|
||||
$lang['attr_name_tooltip'] = 'Haz click para ver la definicion del esquema para tipos de atributo \'%s\'';
|
||||
$lang['click_to_display'] = 'Haz click para mostrar';
|
||||
$lang['hidden'] = 'ocultado';
|
||||
$lang['view_one_child'] = 'Ver 1 hijo';
|
||||
$lang['view_children'] = 'Ver %s hijos';
|
||||
$lang['add_new_attribute'] = 'Añadir atributo';
|
||||
$lang['add_new_objectclass'] = 'Añadir ObjectClass';
|
||||
$lang['hide_internal_attrs'] = 'Ocultar atributos internos';
|
||||
$lang['show_internal_attrs'] = 'Mostrar atributos internos';
|
||||
$lang['attr_name_tooltip'] = 'Haga click para ver el esquema del atributo de tipo \'%s\'';
|
||||
$lang['none'] = 'ninguno';
|
||||
$lang['save_changes'] = 'Guardar los cambios';
|
||||
$lang['add_value'] = 'agregar valor';
|
||||
$lang['add_value_tooltip'] = 'Agregar valor adicional a este atributo';
|
||||
$lang['no_internal_attributes'] = 'No hay atributos internos';
|
||||
$lang['no_attributes'] = 'Este objeto no tiene atributos';
|
||||
$lang['save_changes'] = 'Guardar cambios';
|
||||
$lang['add_value'] = 'añadir valor';
|
||||
$lang['add_value_tooltip'] = 'Añadir un valor al atributo \'%s\'';
|
||||
$lang['refresh_entry'] = 'Refrescar';
|
||||
$lang['refresh_this_entry'] = 'Refrescar este objeto';
|
||||
$lang['delete_hint'] = 'Pista: <b>Para borrar un atributo</b>, vacía el formulario de texto y haz click en Guardar.';
|
||||
$lang['attr_schema_hint'] = 'Pista: <b>Para ver el esquema de un atributo</b>, haz click en el nombre del atributo.';
|
||||
$lang['attrs_modified'] = 'Algunos atributos (%s) fueron modificados y estan remarcados más abajo.';
|
||||
$lang['attr_modified'] = 'Un atributo (%s) fué modificado y está remarcado más abajo.';
|
||||
$lang['viewing_read_only'] = 'Mostrando el objeto en modo de no alterar.';
|
||||
$lang['change_entry_rdn'] = 'Modificar el RDN de este objeto';
|
||||
$lang['no_new_attrs_available'] = 'No hay atributos nuevos disponibles para este objeto';
|
||||
$lang['delete_hint'] = 'Nota: para borrar un atributo, borre su atributo y haga click en guardar.';
|
||||
$lang['attr_schema_hint'] = 'Nota: Para ver el esquema de un atributo, haga click en su nombre.';
|
||||
$lang['attrs_modified'] = 'Se han modificado algunos atributos (%s) que se encuentran destacados mas abajo.';
|
||||
$lang['attr_modified'] = 'Se ha modificado algún atributo (%s) que se encuentra destacado más abajo.';
|
||||
$lang['viewing_read_only'] = 'Nota: Modo de sólo lectura.';
|
||||
$lang['no_new_attrs_available'] = 'no hay nuevos atributos en este objeto';
|
||||
$lang['no_new_binary_attrs_available'] = 'no hay nuevos atributos binarios en este objeto';
|
||||
$lang['binary_value'] = 'Valor binario';
|
||||
$lang['add_new_binary_attr'] = 'Agregar valor binario';
|
||||
$lang['add_new_binary_attr_tooltip'] = 'Agregar atributo/valor binario de un archivo';
|
||||
$lang['alias_for'] = '%s es sinónimo para %s';
|
||||
$lang['download_value'] = 'Descargar valor';
|
||||
$lang['delete_attribute'] = 'Borrar atributo';
|
||||
$lang['true'] = 'verdad';
|
||||
$lang['add_new_binary_attr'] = 'Añadir atributo binario';
|
||||
$lang['alias_for'] = 'Nota: \'%s\' es un alias de \'%s\'';
|
||||
$lang['required_for'] = 'Atributo requerido para la(s) clase(s) de objeto %s';
|
||||
$lang['download_value'] = 'descargar valor';
|
||||
$lang['delete_attribute'] = 'borrar atributo';
|
||||
$lang['true'] = 'verdadero';
|
||||
$lang['false'] = 'falso';
|
||||
$lang['none_remove_value'] = 'ningo, borrar valor';
|
||||
$lang['really_delete_attribute'] = 'Borrar realmente el atributo?';
|
||||
$lang['none_remove_value'] = 'ninguno, borrar valor';
|
||||
$lang['really_delete_attribute'] = '¿Borrar realmente el atributo';
|
||||
$lang['add_new_value'] = 'Añadir valor';
|
||||
|
||||
// Schema browser
|
||||
$lang['the_following_objectclasses'] = 'Los siguientes <b>ObjectClass</b> están presentes en este servidor LDAP.';
|
||||
$lang['the_following_attributes'] = 'Los siguientes <b>attributeTypes</b> están presentes en este servidor LDAP.';
|
||||
$lang['the_following_matching'] = 'Los siguientes <b>matching rules</b> están presentes en este servidor LDAP.';
|
||||
$lang['the_following_syntaxes'] = 'Los siguientes <b>sintaxis</b> están presentes en este servidor LDAP.';
|
||||
$lang['jump_to_objectclass'] = 'Saltar a una ObjectClass';
|
||||
$lang['jump_to_attr'] = 'Saltar a un atributo';
|
||||
$lang['schema_for_server'] = 'Esquema del servidor ';
|
||||
$lang['required_attrs'] = 'Atributos Requeridos (MUST)';
|
||||
$lang['optional_attrs'] = 'Atributos Opcionales (MAY)';
|
||||
$lang['the_following_objectclasses'] = 'El servidor LDAP soporta las siguientes clases de objeto:';
|
||||
$lang['the_following_attributes'] = 'El servidor LDAP soporta los siguientes tipos de atributo:';
|
||||
$lang['the_following_matching'] = 'El servidor LDAP soporta las siguientes reglas de coincidencia:';
|
||||
$lang['the_following_syntaxes'] = 'El servidor LDAP soporta las siguientes sintaxis:';
|
||||
$lang['schema_retrieve_error_1']='El servidor LDAP no soporta el protocolo LDAP en su totalidad.';
|
||||
$lang['schema_retrieve_error_2']='Su versión de PHP no realiza la petición correctamente.';
|
||||
$lang['schema_retrieve_error_3']='O el phpLDAPadmin no sabe como obtener el esquema del servidor.';
|
||||
$lang['jump_to_objectclass'] = 'Ir a la clase de objeto';
|
||||
$lang['view_schema_for_oclass'] = 'Ver la descripción del esquema para esta clase de objeto.';
|
||||
$lang['jump_to_attr'] = 'Ir al tipo de atributo';
|
||||
$lang['jump_to_matching_rule'] = 'Ir a la regla de coincidencia';
|
||||
$lang['schema_for_server'] = 'Esquema del servidor';
|
||||
$lang['required_attrs'] = 'Atributos requeridos';
|
||||
$lang['required'] = 'requerido';
|
||||
$lang['optional_attrs'] = 'Atributos opcionales';
|
||||
$lang['optional_binary_attrs'] = 'Atributos binarios opcionales';
|
||||
$lang['OID'] = 'OID';
|
||||
$lang['aliases']='Alias';
|
||||
$lang['desc'] = 'Descripción';
|
||||
$lang['name'] = 'Nom';
|
||||
$lang['is_obsolete'] = 'Esta ObjectClass es <b>obsoleta</b>';
|
||||
$lang['inherits'] = 'Hereda';
|
||||
$lang['jump_to_this_oclass'] = 'Saltar a esta ObjectClass';
|
||||
$lang['matching_rule_oid'] = 'OID de Matching Rule';
|
||||
$lang['syntax_oid'] = 'OID de Sintaxi';
|
||||
$lang['not_applicable'] = 'no es aplicable';
|
||||
$lang['not_specified'] = 'no especificada';
|
||||
$lang['no_description']='sin descripción';
|
||||
$lang['name'] = 'Nombre';
|
||||
$lang['equality']='Igualdad';
|
||||
$lang['is_obsolete'] = 'Esta clase de objeto es obsoleta.';
|
||||
$lang['inherits'] = 'Hereda de';
|
||||
$lang['inherited_from'] = 'Heredado de';
|
||||
$lang['parent_to'] = 'Padre de';
|
||||
$lang['jump_to_this_oclass'] = 'Ir a la definición de esta clase de objeto';
|
||||
$lang['matching_rule_oid'] = 'OID de la regla de coincidencia';
|
||||
$lang['syntax_oid'] = 'OID de sintaxis';
|
||||
$lang['not_applicable'] = 'no aplicable';
|
||||
$lang['not_specified'] = 'no especificado';
|
||||
$lang['character'] = 'carácter';
|
||||
$lang['characters'] = 'caracteres';
|
||||
$lang['used_by_objectclasses'] = 'Usado por la clase de objeto';
|
||||
$lang['used_by_attributes'] = 'Usado por los atributos';
|
||||
$lang['maximum_length'] = 'Longitud máxima';
|
||||
$lang['attribute_types']='Tipos de atributo';
|
||||
$lang['syntaxes'] = 'Sintaxis';
|
||||
$lang['matchingrules'] = 'Reglas de coincidencia';
|
||||
$lang['oid'] = 'OID';
|
||||
$lang['obsolete'] = 'Obsoleto';
|
||||
$lang['ordering'] = 'Ordenación';
|
||||
$lang['substring_rule'] = 'Regla de subcadena';
|
||||
$lang['single_valued'] = 'Univaludado';
|
||||
$lang['collective'] = 'Colectivo';
|
||||
$lang['user_modification'] = 'Modificado por el usuario';
|
||||
$lang['usage'] = 'Uso';
|
||||
$lang['could_not_retrieve_schema_from'] = 'No se ha podido obtener el esquema de';
|
||||
$lang['type'] = 'Tipo';
|
||||
$lang['no_such_schema_item'] = 'No hay tal ítem en el esquema: "%s"';
|
||||
|
||||
// Deleting entries
|
||||
$lang['entry_deleted_successfully'] = 'Entrada \'%s\' borrada correctamente.';
|
||||
$lang['you_must_specify_a_dn'] = 'Tienes que especificar un DN';
|
||||
$lang['could_not_delete_entry'] = 'No he podido borrar la entrada: %s';
|
||||
$lang['entry_deleted_successfully'] = 'Objeto %s borrado correctamente.';
|
||||
$lang['you_must_specify_a_dn'] = 'Debe especificar un DN';
|
||||
$lang['could_not_delete_entry'] = 'No se ha podido borrar el objeto %s';
|
||||
$lang['no_such_entry'] = 'No hay tal objeto %s';
|
||||
$lang['delete_dn'] = 'Borrar %s';
|
||||
$lang['permanently_delete_children'] = '¿Borrar también todos los hijos?';
|
||||
$lang['entry_is_root_sub_tree'] = 'Este objeto es la raíz de un subárbol que contiene %s objetos.';
|
||||
$lang['view_entries'] = 'ver objetos';
|
||||
$lang['confirm_recursive_delete'] = 'phpLDAPadmin puede borrar recursivamente este objeto y sus %s hijos. Vea más abajo la lista de objetos que se borrarán ahora. ¿Todavía quiere hacerlo?';
|
||||
$lang['confirm_recursive_delete_note'] = 'Nota: es potencialmente peligroso y debe hacerlo a su cuenta y riesgo. Esta operación NO puede deshacerse. Tome en consideración alias, referencias y otras cosas que puedan causar problemas.';
|
||||
$lang['delete_all_x_objects'] = 'Borrar los %s objetos';
|
||||
$lang['recursive_delete_progress'] = 'Progreso de la borración recursiva';
|
||||
$lang['entry_and_sub_tree_deleted_successfully'] = 'Objeto %s y su subárbol borrado correctamente.';
|
||||
$lang['failed_to_delete_entry'] = 'Error al borrar el objeto %s';
|
||||
$lang['list_of_entries_to_be_deleted'] = 'Lista de objetos a borrar:';
|
||||
$lang['sure_permanent_delete_object']='¿Está seguro de querer borrar este objeto?';
|
||||
$lang['dn'] = 'DN';
|
||||
|
||||
// Deleting attributes
|
||||
$lang['attr_is_read_only'] = 'El atributo "%s" está marcado como de sólo lectura en la configuración de phpLDAPadmin.';
|
||||
$lang['no_attr_specified'] = 'No se ha especificado ningún nombre de atributo.';
|
||||
$lang['no_dn_specified'] = 'No se ha especificado ningún DN';
|
||||
|
||||
// Adding attributes
|
||||
$lang['left_attr_blank'] = 'Ha dejado en blanco el valor del atributo. Por favor, vuelva atrás e inténtelo de nuevo.';
|
||||
$lang['failed_to_add_attr'] = 'Error al añadir atributo.';
|
||||
$lang['file_empty'] = 'El fichero que ha escogido no existe o está vacío. Por favor vuelva atrás e inténtelo de nuevo.';
|
||||
$lang['invalid_file'] = 'Error de seguridad: El fichero que está enviando puede ser malicioso.';
|
||||
$lang['warning_file_uploads_disabled'] = 'Su configuración del PHP ha desactivado la recepción de ficheros. Por favor revise php.ini antes de continuar.';
|
||||
$lang['uploaded_file_too_big'] = 'El fichero que está enviando es demasiado grande. Por favor revise el ajuste "upload_max_size" en php.ini.';
|
||||
$lang['uploaded_file_partial'] = 'El fichero que ha seleccionado sólo se ha recibido parcialmente debido a un error de red.';
|
||||
$lang['max_file_size'] = 'Tamaño máximo de fichero: %s';
|
||||
|
||||
// Updating values
|
||||
$lang['modification_successful'] = '¡Modificación realizada correctamente!';
|
||||
$lang['change_password_new_login'] = 'Como ha cambiado su contraseña, debe conectarse de nuevo empleando la nueva.';
|
||||
|
||||
// Adding objectClass form
|
||||
$lang['new_required_attrs'] = 'Nuevos atributos requeridos';
|
||||
$lang['requires_to_add'] = 'Esta acción exige que se agreguen';
|
||||
$lang['requires_to_add'] = 'Esta acción requiere que añada';
|
||||
$lang['new_attributes'] = 'nuevos atributos';
|
||||
$lang['new_required_attrs_instructions'] = 'Instrucciones: Para agregar esta ObjectClass a este objeto, se tiene que especificar';
|
||||
$lang['that_this_oclass_requires'] = 'que este ObjectClass requiere. Se puede hacer con este formulario.';
|
||||
$lang['add_oclass_and_attrs'] = 'Agregar ObjectClass y Atributos';
|
||||
$lang['new_required_attrs_instructions'] = 'Instrucciones: Para poder añadir esta clase a este objeto, debe especificar';
|
||||
$lang['that_this_oclass_requires'] = 'que esta clase requiere. Puede hacerlo en este formulario.';
|
||||
$lang['add_oclass_and_attrs'] = 'Añadir clase de objeto y atributos';
|
||||
$lang['objectclasses'] = 'Clases de objeto';
|
||||
|
||||
// General
|
||||
$lang['chooser_link_tooltip'] = 'Haz click para seleccionar un objeto graficamente';
|
||||
$lang['no_updates_in_read_only_mode'] = 'No se puede modificar el objeto si el servidor está operando en modo inalterable.';
|
||||
$lang['bad_server_id'] = 'El identificador de servidor está mal';
|
||||
$lang['not_enough_login_info'] = 'No tengo suficiente información para conectar al servidor. Por favor configura correctamente el archivo config.php';
|
||||
$lang['could_not_connect'] = 'No se ha podido conectar al servidor LDAP';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'No se ha podido ejecutar la operación del ldap_mod_add.';
|
||||
$lang['bad_server_id_underline'] = 'El identificador del servidor está mal: ';
|
||||
$lang['success'] = 'Exito';
|
||||
$lang['chooser_link_tooltip'] = 'Haga click en el diálogo emergente para seleccionar un DN de forma gráfica';
|
||||
$lang['no_updates_in_read_only_mode'] = 'No puede realizar cambios cuando el servidor está funcionando en modo de sólo lectura';
|
||||
$lang['bad_server_id'] = 'Identificador de servidor no válido';
|
||||
$lang['not_enough_login_info'] = 'No hay información suficiente para conectar con el servidor. Por favor, revise su configuración.';
|
||||
$lang['could_not_connect'] = 'No se ha podido conectar con el servidor LDAP.';
|
||||
$lang['could_not_connect_to_host_on_port'] = 'No se ha podido conectar con "%s" en el puerto "%s"';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'No se ha podido realizar la operación "ldap_mod_add".';
|
||||
$lang['bad_server_id_underline'] = 'Identificador de servidor no válido: ';
|
||||
$lang['success'] = 'Éxito';
|
||||
$lang['home'] = 'Inicio';
|
||||
$lang['help'] = 'Ayuda';
|
||||
$lang['success'] = 'Éxito';
|
||||
$lang['server_colon_pare'] = 'Servidor: ';
|
||||
$lang['look_in'] = 'Buscando a: ';
|
||||
$lang['missing_server_id_in_query_string'] = 'No está presente el identificador del servidor en la URL';
|
||||
$lang['missing_dn_in_query_string'] = 'No está presente el DN en la URL';
|
||||
$lang['back_up_p'] = 'Volver a...';
|
||||
$lang['no_entries'] = 'no hay entradas';
|
||||
$lang['not_logged_in'] = 'No estás autenticado';
|
||||
$lang['could_not_det_base_dn'] = 'No he podido determinar la base DN';
|
||||
$lang['look_in'] = 'Buscando en: ';
|
||||
$lang['missing_server_id_in_query_string'] = '¡No se ha especificado ningún servidor en la petición!';
|
||||
$lang['missing_dn_in_query_string'] = '¡No se ha especificado ningún DN en la petición!';
|
||||
$lang['back_up_p'] = 'Volver';
|
||||
$lang['no_entries'] = 'no hay objetos';
|
||||
$lang['not_logged_in'] = 'No está conectado';
|
||||
$lang['could_not_det_base_dn'] = 'No se puede determinar el DN base';
|
||||
$lang['please_report_this_as_a_bug']='Por favor informe de este error.';
|
||||
$lang['reasons_for_error']='Esto puede suceder por varias razones, las más probables son:';
|
||||
$lang['yes']='Sí';
|
||||
$lang['no']='No';
|
||||
$lang['go']='Ir';
|
||||
$lang['delete']='Borrar';
|
||||
$lang['back']='Atrás';
|
||||
$lang['object']='objeto';
|
||||
$lang['delete_all']='Borrar todo';
|
||||
$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546';
|
||||
$lang['hint'] = 'nota';
|
||||
$lang['bug'] = 'error';
|
||||
$lang['warning'] = 'aviso';
|
||||
$lang['light'] = 'bombilla'; // the word 'light' from 'light bulb'
|
||||
$lang['proceed_gt'] = 'Proceder >>';
|
||||
|
||||
// Add value form
|
||||
$lang['add_new'] = 'Agregar';
|
||||
$lang['value_to'] = 'valor a';
|
||||
$lang['server'] = 'Servidor';
|
||||
$lang['add_new'] = 'Añadir';
|
||||
$lang['value_to'] = 'valor de';
|
||||
$lang['distinguished_name'] = 'Nombre distinguido';
|
||||
$lang['current_list_of'] = 'La lista actual de';
|
||||
$lang['values_for_attribute'] = 'valores para el atributo';
|
||||
$lang['inappropriate_matching_note'] = 'Nota: Sino has configurado una regla \'EQUALITY\' en el servidor LDAP, recibirás un error \'inappropriate matching\'';
|
||||
$lang['enter_value_to_add'] = 'Proveer el valor para agregar: ';
|
||||
$lang['new_required_attrs_note'] = 'Nota: Es posible que se requiera agregar nuevos atributos para satisfacer los requisitos de esta ObjectClass';
|
||||
$lang['syntax'] = 'Sintaxi';
|
||||
$lang['current_list_of'] = 'Lista actual de';
|
||||
$lang['values_for_attribute'] = 'valores del atributo';
|
||||
$lang['inappropriate_matching_note'] = 'Nota: Si no ha creado una regla de igualdad en el servidor LDAP para este atributo, obtendrá un error de coincidencia inapropiada ("inappropriate matching").';
|
||||
$lang['enter_value_to_add'] = 'Introduzca el valor a añadir:';
|
||||
$lang['new_required_attrs_note'] = 'Nota: puede que tenga que introducir nuevos atributos que esta clase de objeto requiera';
|
||||
$lang['syntax'] = 'Sintaxis';
|
||||
|
||||
//copy.php
|
||||
$lang['copy_server_read_only'] = 'No se pueden realizar las modificaciones si el servidor está operando en modo inalterable';
|
||||
$lang['copy_dest_dn_blank'] = 'No se ha rellenado el formulario de DN.';
|
||||
$lang['copy_dest_already_exists'] = 'La entrada de destino (%s) encara existe.';
|
||||
$lang['copy_dest_container_does_not_exist'] = 'El contenedor de destino (%s) no existe.';
|
||||
$lang['copy_source_dest_dn_same'] = 'El DN de la fuente y el DN de destino son los mismos.';
|
||||
$lang['copy_server_read_only'] = 'No puede realizar modificaciones cuando el servidor está en modo de sólo lectura';
|
||||
$lang['copy_dest_dn_blank'] = 'Ha dejado el campo DN en blanco.';
|
||||
$lang['copy_dest_already_exists'] = 'El objeto destino (%s) ya existe.';
|
||||
$lang['copy_dest_container_does_not_exist'] = 'El contenedor destino (%s) no existe.';
|
||||
$lang['copy_source_dest_dn_same'] = 'El DN origen y destino son iguales.';
|
||||
$lang['copy_copying'] = 'Copiando ';
|
||||
$lang['copy_recursive_copy_progress'] = 'El progreso de la copia recurrente';
|
||||
$lang['copy_building_snapshot'] = 'Construyendo la \'foto\' del arbol para copiar... ';
|
||||
$lang['copy_successful_like_to'] = 'Exito! Deseas ';
|
||||
$lang['copy_view_new_entry'] = 'Ver el nuevo objeto?';
|
||||
$lang['copy_failed'] = 'Error al copiar DN: ';
|
||||
$lang['copy_recursive_copy_progress'] = 'Progreso de la copia recursiva';
|
||||
$lang['copy_building_snapshot'] = 'Creando imagen del árbol a copiar... ';
|
||||
$lang['copy_successful_like_to'] = '¡Copia correcta! ¿Le gustaría ';
|
||||
$lang['copy_view_new_entry'] = 'ver el nuevo objeto';
|
||||
$lang['copy_failed'] = 'Error al copiar el DN: ';
|
||||
|
||||
//edit.php
|
||||
$lang['missing_template_file'] = 'Error: falta la plantilla, ';
|
||||
$lang['using_default'] = 'Usando el archivo por defecto.';
|
||||
$lang['missing_template_file'] = 'Aviso: falta el fichero de plantilla, ';
|
||||
$lang['using_default'] = 'usando la plantilla por defecto.';
|
||||
$lang['template'] = 'Plantilla';
|
||||
$lang['must_choose_template'] = 'Debes escoger una plantilla';
|
||||
$lang['invalid_template'] = '%s no es una plantilla válida';
|
||||
$lang['using_template'] = 'usando plantilla';
|
||||
$lang['go_to_dn'] = 'Ir a %s';
|
||||
$lang['structural_object_class_cannot_remove'] = 'Esta es una clase de objeto estructural y no se puede eliminar.';
|
||||
$lang['structural'] = 'estructural';
|
||||
|
||||
//copy_form.php
|
||||
$lang['copyf_title_copy'] = 'Copiar ';
|
||||
$lang['copyf_to_new_object'] = 'a un objeto nuevo';
|
||||
$lang['copyf_dest_dn'] = 'DN de destino';
|
||||
$lang['copyf_dest_dn_tooltip'] = 'El DN entero de la nueva entrada a ser creada quan se copie la entrada fuente';
|
||||
$lang['copyf_dest_server'] = 'Servidor de destino';
|
||||
$lang['copyf_note'] = 'Nota: Copiar entre dos servidores funciona solamente si no hay violaciones del esquema.';
|
||||
$lang['copyf_recursive_copy'] = 'Borrar todos los hijos recurentemente también?';
|
||||
$lang['copyf_dest_dn'] = 'DN destino';
|
||||
$lang['copyf_dest_dn_tooltip'] = 'El DN completo del objeto a crear';
|
||||
$lang['copyf_dest_server'] = 'Servidor destino';
|
||||
$lang['copyf_note'] = 'Nota: Sólo se puede copiar entre servidores diferentes cuando no hay violaciones de esquema';
|
||||
$lang['copyf_recursive_copy'] = 'También copiar recursivamente todos los hijos de este objeto.';
|
||||
$lang['recursive_copy'] = 'Copia recursiva';
|
||||
$lang['filter'] = 'Filtro';
|
||||
$lang['search_filter'] = 'Filtro de búsqueda';
|
||||
$lang['filter_tooltip'] = 'Cuando se realice una copia recursiva, copiar sólo los objetos que superen el filtrado';
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute'] = 'Te has dejado el valor en blanco del atributo requerido <b>%s</b>.';
|
||||
$lang['create_redirecting'] = 'Redirigiendo';
|
||||
$lang['create_here'] = 'aquí';
|
||||
$lang['create_could_not_add'] = 'No he podido agregar el objeto al servidor LDAP.';
|
||||
$lang['create_required_attribute'] = 'Ha dejado el valor del atributo requerido (%s) en blanco.';
|
||||
$lang['redirecting'] = 'Redirigiendo...';
|
||||
$lang['here'] = 'aquí';
|
||||
$lang['create_could_not_add'] = 'No se ha podido añadir el objeto al servidor LDAP.';
|
||||
|
||||
//create_form.php
|
||||
$lang['createf_create_object'] = 'Crear Objeto';
|
||||
$lang['createf_choose_temp'] = 'Escoge una plantilla';
|
||||
$lang['createf_select_temp'] = 'Selecciona una plantilla para al proceso de creación';
|
||||
$lang['createf_proceed'] = 'Proceder';
|
||||
$lang['createf_create_object'] = 'Crear objeto';
|
||||
$lang['createf_choose_temp'] = 'Escoja una plantilla';
|
||||
$lang['createf_select_temp'] = 'Seleccione una plantilla para el proceso de creación';
|
||||
$lang['save_as_file'] = 'Guardar como fichero';
|
||||
$lang['rdn_field_blank'] = 'Ha dejado el campo RDN en blanco.';
|
||||
$lang['container_does_not_exist'] = 'El contenedor que ha especificado (%s) no existe. Por favor inténtelo de nuevo.';
|
||||
$lang['no_objectclasses_selected'] = 'No ha seleccionado ninguna clase para este objeto. Por favor, vuelva atrás y hágalo ahora.';
|
||||
$lang['hint_structural_oclass'] = 'Nota: Debe escoger al menos una clase de objeto estructural';
|
||||
|
||||
//creation_template.php
|
||||
$lang['ctemplate_on_server'] = 'Al servidor';
|
||||
$lang['ctemplate_no_template'] = 'No se ha especificado ninguna plantilla en las variables del POST.';
|
||||
$lang['ctemplate_config_handler'] = 'Tu configuración especifica un manejador de';
|
||||
$lang['ctemplate_handler_does_not_exist'] = 'para esta plantilla. Pero este manejador no existe en el directorio \'templates/creation\'.';
|
||||
$lang['ctemplate_on_server'] = 'En el servidor';
|
||||
$lang['ctemplate_no_template'] = 'No se ha especificado ninguna plantilla en las variables POST.';
|
||||
$lang['template_not_readable'] = 'Su configuración especifica un fichero "%s" para esta plantilla pero dicho fichero no se puede leer debido a que sus permisos son demasiado restrictivos.';
|
||||
$lang['template_does_not_exist'] = 'Su configuración especifica un fichero "%s" para esta plantilla pero dicho fichero no existe en el directorio templates/creation.';
|
||||
$lang['create_step1'] = 'Paso 1 de 2: Nombre y clase(s) de objeto';
|
||||
$lang['create_step2'] = 'Paso 2 de 2: Especifique attributos y valores';
|
||||
$lang['relative_distinguished_name'] = 'Nombre Distinguido Relativo (RDN)';
|
||||
$lang['rdn'] = 'RDN';
|
||||
$lang['rdn_example'] = '(ejemplo: cn=nuevaPersona)';
|
||||
$lang['container'] = 'Contenedor';
|
||||
|
||||
// search.php
|
||||
$lang['you_have_not_logged_into_server'] = 'Aún no te has autenticado en ell servidor seleccionado, no puedes hacer ninguna búsqueda.';
|
||||
$lang['click_to_go_to_login_form'] = 'Hac click aquí para ir al formulario de autenticación';
|
||||
$lang['unrecognized_criteria_option'] = 'Opcion de criterio desconocida: ';
|
||||
$lang['if_you_want_to_add_criteria'] = 'Si quieres agregar tu propio criterio en la lista. Estate seguro de editar search.php para manejarlo. Saliendo.';
|
||||
$lang['entries_found'] = 'Entrades encontradas: ';
|
||||
$lang['filter_performed'] = 'Filtro realitzado: ';
|
||||
$lang['search_duration'] = 'Búsqueda realitzada para phpLDAPadmin a';
|
||||
$lang['you_have_not_logged_into_server'] = 'Todavía no ha conectado con el servidor, así que no puede realizar búsquedas.';
|
||||
$lang['click_to_go_to_login_form'] = 'Pulse aquí para ir al formulario de conexión';
|
||||
$lang['unrecognized_criteria_option'] = 'Criterio no reconocido: ';
|
||||
$lang['if_you_want_to_add_criteria'] = 'Si quiere puede añadir su propios criterios a la lista. Asegúrese de editar search.php para manejarlos. Saliendo...';
|
||||
$lang['entries_found'] = 'Objetos encontrados: ';
|
||||
$lang['filter_performed'] = 'Filtrado realizado: ';
|
||||
$lang['search_duration'] = 'Búsqueda realizada por phpLDAPadmin en';
|
||||
$lang['seconds'] = 'segundos';
|
||||
|
||||
// search_form_advanced.php
|
||||
$lang['scope_in_which_to_search'] = 'El alcance en el que buscar';
|
||||
$lang['scope_sub'] = 'Sub (todo el sub-arbol)';
|
||||
$lang['scope_one'] = 'Uno (un nivel por debajo de la base)';
|
||||
$lang['scope_base'] = 'Base (solo base dn)';
|
||||
$lang['standard_ldap_search_filter'] = 'Filtro de búsqueda estándar de LDAP. Ejemplo: (&(sn=Smith)(givenname=David))';
|
||||
$lang['scope_in_which_to_search'] = 'Ámbito de búsqueda';
|
||||
$lang['scope_sub'] = 'Sub (subárbol completo)';
|
||||
$lang['scope_one'] = 'One (un nivel bajo la base)';
|
||||
$lang['scope_base'] = 'Base (sólo la base)';
|
||||
$lang['standard_ldap_search_filter'] = 'Filtro de búsqueda LDAP estándar. Ejemplo: (&(sn=Picapiedra)(givenname=Pedro))';
|
||||
$lang['search_filter'] = 'Filtro de búsqueda';
|
||||
$lang['list_of_attrs_to_display_in_results'] = 'Una lista de atributos para mostrar los resultados (separados por comas)';
|
||||
$lang['list_of_attrs_to_display_in_results'] = 'Lista de atributos para mostrar en los resultados (separados por comas)';
|
||||
$lang['show_attributes'] = 'Mostrar atributos';
|
||||
|
||||
// search_form_simple.php
|
||||
$lang['search_for_entries_whose'] = 'Buscar entradas las cuales:';
|
||||
$lang['equals'] = 'sea igual';
|
||||
$lang['starts with'] = 'comience con';
|
||||
$lang['search_for_entries_whose'] = 'Buscar entradas en las que';
|
||||
$lang['equals'] = 'sea igual a';
|
||||
$lang['starts with'] = 'comience por';
|
||||
$lang['contains'] = 'contenga';
|
||||
$lang['ends with'] = 'termine con';
|
||||
$lang['ends with'] = 'acabe en';
|
||||
$lang['sounds like'] = 'suene como';
|
||||
$lang['predefined_search_str'] = 'o seleccione uno de esta lista';
|
||||
|
||||
// server_info.php
|
||||
$lang['could_not_fetch_server_info'] = 'No se ha podido sacar información LDAP del servidor';
|
||||
$lang['server_info_for'] = 'Información del servidor para: ';
|
||||
$lang['server_reports_following'] = 'El servidor muestra la siguiente información sobre el mismo';
|
||||
$lang['nothing_to_report'] = 'Este servidor no tiene nada a mostrar.';
|
||||
$lang['could_not_fetch_server_info'] = 'No se ha podido obtener ninguna información del servidor LDAP. Esto puede deberse a este <a href="http://bugs.php.net/bug.php?id=29587">error</a> es su versión de PHP o quizás su servidor LDAP posee controles de acceso que privan a los clientes de acceso al RootDSE.';
|
||||
$lang['server_info_for'] = 'Información sobre el servidor: ';
|
||||
$lang['server_reports_following'] = 'El servidor LDAP envía la siguiente información:';
|
||||
$lang['nothing_to_report'] = 'Este servidor no tiene nada sobre lo que informar.';
|
||||
|
||||
//update.php
|
||||
$lang['update_array_malformed'] = 'el update_array está mal formado. Esto podría ser un error del phpLDAPadmin. Por favor reportalo.';
|
||||
$lang['could_not_perform_ldap_modify'] = 'No he podido ejecutar la operación ldap_modify.';
|
||||
$lang['update_array_malformed'] = 'El array update_array no está bien formado. Esto puede indicar un error de phpLDAPadmin. Por favor, informe de ello.';
|
||||
$lang['could_not_perform_ldap_modify'] = 'No se ha podido realizar la operación "ldap_modify".';
|
||||
|
||||
// update_confirm.php
|
||||
$lang['do_you_want_to_make_these_changes'] = 'Quieres hacer estos cambios?';
|
||||
$lang['do_you_want_to_make_these_changes'] = '¿Quiere realizar estos cambios?';
|
||||
$lang['attribute'] = 'Atributo';
|
||||
$lang['old_value'] = 'Valor viejo';
|
||||
$lang['new_value'] = 'Valor nuevo';
|
||||
$lang['old_value'] = 'Valor anterior';
|
||||
$lang['new_value'] = 'Nuevo valor';
|
||||
$lang['attr_deleted'] = '[atributo borrado]';
|
||||
$lang['commit'] = 'Cometer';
|
||||
$lang['cancel'] = 'Cancelar';
|
||||
$lang['you_made_no_changes'] = 'No has hecho ningún cambio';
|
||||
$lang['you_made_no_changes'] = 'No ha realizado cambios';
|
||||
$lang['go_back'] = 'Volver atrás';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note'] = 'Usa el menú de la izquierda para navegar';
|
||||
$lang['credits'] = "Créditos";
|
||||
$lang['changelog'] = "Histórico de cambios";
|
||||
$lang['documentation'] = "Documentación";
|
||||
$lang['welcome_note'] = 'Use el menú de la izquierda para navegar';
|
||||
$lang['credits'] = 'Creditos';
|
||||
$lang['changelog'] = 'Lista de cambios';
|
||||
$lang['donate'] = 'Donar';
|
||||
$lang['pla_logo'] = 'logotipo de phpLDAPadmin';
|
||||
|
||||
// Donate.php
|
||||
$lang['donation_instructions'] = 'Para donar fondos al proyecto phpLDAPadmin, use uno de los botones de abajo.';
|
||||
$lang['donate_amount'] = 'Donar %s';
|
||||
|
||||
$lang['purge_cache'] = 'Borrar cachés';
|
||||
$lang['no_cache_to_purge'] = 'No hay que borrar ningún caché.';
|
||||
$lang['done_purging_caches'] = 'Se han borrado %s bytes de caché.';
|
||||
$lang['purge_cache_tooltip'] = 'Se han borrado todos los datos en el caché de phpLDAPadmin, incluyendo los esquemas del servidor.';
|
||||
|
||||
// view_jpeg_photo.php
|
||||
$lang['unsafe_file_name'] = 'Nombre de archivo inseguro: ';
|
||||
$lang['no_such_file'] = 'Archivo inexistente: ';
|
||||
$lang['unsafe_file_name'] = 'Nombre de fichero no seguro: ';
|
||||
$lang['no_such_file'] = 'No hay tal fichero: ';
|
||||
|
||||
//function.php
|
||||
$lang['auto_update_not_setup'] = 'Has activado los auto_uid_numbers para <b>%s</b> en tu configuración,
|
||||
pero no has especificado el auto_uid_number_mechanism. Por favor soluciona
|
||||
este problema.';
|
||||
$lang['uidpool_not_set'] = 'Has especificado el <tt>auto_uid_number_mechanism</tt> como <tt>uidpool</tt>
|
||||
en tu configuración para el servidor <b>%s</b>, pero no has especificado el
|
||||
audo_uid_number_uid_pool_dn. Por favor especificalo antes de proceder.';
|
||||
$lang['uidpool_not_exist'] = 'Parece ser que el uidPool que has especificado en tu configuración (<tt>%s</tt>)
|
||||
$lang['auto_update_not_setup'] = 'Ha activado "auto_uid_numbers" para <b>%s</b> en su configuración,
|
||||
pero no ha especificado el mecanismo "auto_uid_number_mechanism". Por favor, corrija este problema';
|
||||
$lang['uidpool_not_set'] = 'Ha especificado el mecanismo "auto_uid_number_mechanism" como "uidpool"
|
||||
en su configuración para el servidor <b>%s</b>, pero no ha especificado
|
||||
"audo_uid_number_uid_pool_dn". Por favor, verifiquelo antes de continuar.';
|
||||
$lang['uidpool_not_exist'] = 'Parece ser que el "uidPool" que ha especificado en su configuración ("%s")
|
||||
no existe.';
|
||||
$lang['specified_uidpool'] = 'Has especificado el <tt>auto_uid_number_mechanism</tt> como <tt>search</tt> en tu
|
||||
configuración para el servidor <b>%s</b>, pero no has especificado el
|
||||
<tt>auto_uid_number_search_base</tt>. Por favor especificalo antes de proceder.';
|
||||
$lang['auto_uid_invalid_value'] = 'Has especificado un valor no válido para el auto_uid_number_mechanism (<tt>%s</tt>)
|
||||
en tu configuración. Solo <tt>uidpool</tt> y <tt>search</tt> son válidos.
|
||||
Por favor soluciona este problema.';
|
||||
$lang['error_auth_type_config'] = 'Error: Tienes un error en tu archivo de configuración. Los dos únicos valores aceptados para
|
||||
\'auth_type\' en la sección $servers son \'config\' y \'form\'. Tu has puesto \'%s\',
|
||||
el cual no está aceptado. ';
|
||||
$lang['php_install_not_supports_tls'] = 'Tu instalación de PHP no soporta TLS';
|
||||
$lang['could_not_start_tls'] = 'No he podido iniciar el TLS.<br />Revisa tu configuración del servidor LDAP.';
|
||||
$lang['auth_type_not_valid'] = 'Tienes un error en el archivo de configuración. auth_type de %s no es válido.';
|
||||
$lang['ldap_said'] = '<b>LDAP dijo</b>: %s<br /><br />';
|
||||
$lang['specified_uidpool'] = 'Ha especificado "auto_uid_number_mechanism" como "search" en la
|
||||
configuración del servidor <b>%s</b>, pero no ha especificado
|
||||
"auto_uid_number_search_base". Por favor, especifíquelo antes de continuar.';
|
||||
$lang['auto_uid_invalid_credential'] = 'Imposible conectar con <b>%s</b> con sus credenciales "auto_uid". Por favor, verifique su fichero de configuración.';
|
||||
$lang['bad_auto_uid_search_base'] = 'Su configuración de phpLDAPadmin especifica "auto_uid_search_base" como no válida para el servidor %s';
|
||||
$lang['auto_uid_invalid_value'] = 'Ha especificado un valor no válido para el mecanismo "auto_uid_number_mechanism" ("%s")
|
||||
en su configuración. Sólo son válidos "uidpool" y "search". Por favor, corrija este problema.';
|
||||
$lang['error_auth_type_config'] = 'Error: Tiene un error en su fichero de configurción. Los tres únicos valores para "auth_type"
|
||||
en la sección $servers son \'session\', \'cookie\', y \'config\'. Usted ha introducido \'%s\',
|
||||
que no está permitido. ';
|
||||
$lang['unique_attrs_invalid_credential'] = 'Imposible conectarse a <b>%s</b> con sus credenciales unique_attr. Por favor, revise su fichero de configuración.';
|
||||
$lang['unique_attr_failed'] = 'Su intento de añadir <b>%s</b> (<i>%s</i>) a <br><b>%s</b><br> NO se ha permitido. Tal atributo/valor pertenece a otro objeto.<p>Probablemente desee <a href=\'%s\'>buscar</a> tal objeto.';
|
||||
$lang['php_install_not_supports_tls'] = 'Su instalación de PHP no soporta TLS.';
|
||||
$lang['could_not_start_tls'] = 'No se ha podido iniciar TLS. Por favor, revise su configuración LDAP.';
|
||||
$lang['could_not_bind_anon'] = 'No se ha podido conectar con el servidor de forma anónima.';
|
||||
$lang['could_not_bind'] = 'No se ha podido conectar con el servidor LDAP.';
|
||||
$lang['anonymous_bind'] = 'Conexión anónima';
|
||||
$lang['bad_user_name_or_password'] = 'Nombre de usuario o contraseña incorrectos. Por favor, inténtelo de nuevo.';
|
||||
$lang['redirecting_click_if_nothing_happens'] = 'Redirigiendo... Pulse aquí si no sucede nada.';
|
||||
$lang['successfully_logged_in_to_server'] = 'Ha conectado con el servidor <b>%s</b>.';
|
||||
$lang['could_not_set_cookie'] = 'No se ha podido guardar la cookie.';
|
||||
$lang['ldap_said'] = 'LDAP ha dicho: %s';
|
||||
$lang['ferror_error'] = 'Error';
|
||||
$lang['fbrowse'] = 'mostrar';
|
||||
$lang['fbrowse'] = 'seleccionar';
|
||||
$lang['delete_photo'] = 'Borrar foto';
|
||||
$lang['install_not_support_blowfish'] = 'Tu instalación de PHP no soporta los tipos de encriptación blowfish.';
|
||||
$lang['install_no_mash'] = 'Tu instalación de PHP no tiene la funcion mhash(). No puedo hacer hash SHA.';
|
||||
$lang['jpeg_contains_errors'] = 'jpegPhoto contiene errores<br />';
|
||||
$lang['ferror_number'] = '<b>Error número</b>: %s <small>(%s)</small><br /><br />';
|
||||
$lang['ferror_discription'] = '<b>Descripción</b>: %s <br /><br />';
|
||||
$lang['ferror_number_short'] = '<b>Error número</b>: %s<br /><br />';
|
||||
$lang['ferror_discription_short'] = '<b>Descripción</b>: (no hay descripción)<br />';
|
||||
$lang['ferror_submit_bug'] = 'Es un error del phpLDAPadmin? Si así es, por favor <a href=\'%s\'>dínoslo</a>.';
|
||||
$lang['ferror_unrecognized_num'] = 'Número de error desconocido: ';
|
||||
$lang['install_not_support_blowfish'] = 'Su instalación de PHP no soporta encriptación blowfish.';
|
||||
$lang['install_not_support_md5crypt'] = 'Su instalación de PHP no soporta encriptación md5crypt.';
|
||||
$lang['install_no_mash'] = 'Su instalación de PHP no posee la función mhash(). No se pueden realizar hashes SHA.';
|
||||
$lang['jpeg_contains_errors'] = 'La foto jpegPhoto contiene errores<br />';
|
||||
$lang['ferror_number'] = 'Error número: %s (%s)';
|
||||
$lang['ferror_discription'] = 'Descripción: %s <br /><br />';
|
||||
$lang['ferror_number_short'] = 'Error número: %s<br /><br />';
|
||||
$lang['ferror_discription_short'] = 'Descripción: (no existe descripción disponible)<br />';
|
||||
$lang['ferror_submit_bug'] = '¿Es éste un error de phpLDAPadmin? Si es así, por favor <a href=\'%s\'>informe sobre ello</a>.';
|
||||
$lang['ferror_unrecognized_num'] = 'Número de error no reconocido: ';
|
||||
$lang['ferror_nonfatil_bug'] = '<center><table class=\'notice\'><tr><td colspan=\'2\'><center><img src=\'images/warning.png\' height=\'12\' width=\'13\' />
|
||||
<b>Has encontrado un error menor del phpLDAPadmin!</b></td></tr><tr><td>Error:</td><td><b>%s</b> (<b>%s</b>)</td></tr><tr><td>Archivo:</td>
|
||||
<b>¡Ha encontrado un error no fatal en phpLDAPadmin!</b></td></tr><tr><td>Error:</td><td><b>%s</b> (<b>%s</b>)</td></tr><tr><td>Fichero:</td>
|
||||
<td><b>%s</b> línea <b>%s</b>, caller <b>%s</b></td></tr><tr><td>Versiones:</td><td>PLA: <b>%s</b>, PHP: <b>%s</b>, SAPI: <b>%s</b>
|
||||
</td></tr><tr><td>Servidor Web:</td><td><b>%s</b></td></tr><tr><td colspan=\'2\'><center><a target=\'new\' href=\'%s\'>
|
||||
Envía este error haciendo click aquí</a>.</center></td></tr></table></center><br />';
|
||||
$lang['ferror_congrats_found_bug'] = 'Felicidades! Has encontrado un error en el phpLDAPadmin.<br /><br />
|
||||
</td></tr><tr><td>Servidor web:</td><td><b>%s</b></td></tr><tr><td colspan=\'2\'><center><a target=\'new\' href=\'%s\'>
|
||||
Por favor, informe de este error pulsando aquí</a>.</center></td></tr></table></center><br />';
|
||||
$lang['ferror_congrats_found_bug'] = '¡Felicidades! Ha encontrado un error en phpLDAPadmin.<br /><br />
|
||||
<table class=\'bug\'>
|
||||
<tr><td>Error:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Nivel:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Archivo:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Fichero:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Línea:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Caller:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Versión PLA:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Caller:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Verisón PLA:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Versión PHP:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PHP SAPI:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Servidor Web:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Servidor web:</td><td><b>%s</b></td></tr>
|
||||
</table>
|
||||
<br />
|
||||
Por favor envía este error haciendo click abajo!';
|
||||
Por favor, informe sobre este error haciendo click más abajo!';
|
||||
|
||||
//ldif_import_form
|
||||
$lang['import_ldif_file_title'] = 'Importar archivo LDIF';
|
||||
$lang['select_ldif_file'] = 'Selecciona un archivo LDIF:';
|
||||
$lang['select_ldif_file_proceed'] = 'Proceder >>';
|
||||
$lang['import_ldif_file_title'] = 'Importar fichero LDIF';
|
||||
$lang['select_ldif_file'] = 'Seleccione un fichero LDIF:';
|
||||
$lang['dont_stop_on_errors'] = 'Ignorar errores';
|
||||
|
||||
//ldif_import
|
||||
$lang['add_action'] = 'Añadiendo...';
|
||||
$lang['delete_action'] = 'Borrando...';
|
||||
$lang['rename_action'] = 'Renombrando...';
|
||||
$lang['modify_action'] = 'Modificando...';
|
||||
$lang['warning_no_ldif_version_found'] = 'No se ha encontrado versión. Asumiendo 1.';
|
||||
$lang['valid_dn_line_required'] = 'Se requiere una línea válida.';
|
||||
$lang['missing_uploaded_file'] = 'Falta el fichero enviado.';
|
||||
$lang['no_ldif_file_specified.'] = 'No se ha especificado un fichero LDIF. Por favor, inténtelo de nuevo.';
|
||||
$lang['ldif_file_empty'] = 'El fichero LDIF enviado está vacío.';
|
||||
$lang['empty'] = 'vacío';
|
||||
$lang['file'] = 'Fichero';
|
||||
$lang['number_bytes'] = '%s bytes';
|
||||
|
||||
$lang['failed'] = 'fallado';
|
||||
$lang['ldif_parse_error'] = 'Error de parseado LDIF';
|
||||
$lang['ldif_could_not_add_object'] = 'No he podido añadir el objeto:';
|
||||
$lang['ldif_could_not_rename_object'] = 'No he podido renombrar el objeto:';
|
||||
$lang['ldif_could_not_delete_object'] = 'No he podido borrar el objeto:';
|
||||
$lang['ldif_could_not_modify_object'] = 'No he podido modificar el objeto:';
|
||||
$lang['ldif_line_number'] = 'Linea Número:';
|
||||
$lang['ldif_line'] = 'Linea:';
|
||||
$lang['failed'] = 'Error';
|
||||
$lang['ldif_parse_error'] = 'Error al parsear LDIF';
|
||||
$lang['ldif_could_not_add_object'] = 'No se ha podido añadir objeto:';
|
||||
$lang['ldif_could_not_rename_object'] = 'No se ha podido renombrar el objeto:';
|
||||
$lang['ldif_could_not_delete_object'] = 'No se ha podido borrar el objeto:';
|
||||
$lang['ldif_could_not_modify_object'] = 'No se ha podido modificar el objeto:';
|
||||
$lang['ldif_line_number'] = 'Número de línea:';
|
||||
$lang['ldif_line'] = 'Línea:';
|
||||
|
||||
// Exports
|
||||
$lang['export_format'] = 'Formato de exportación';
|
||||
$lang['line_ends'] = 'Fin de línea';
|
||||
$lang['must_choose_export_format'] = 'Debe escoger un formato de exportación.';
|
||||
$lang['invalid_export_format'] = 'Formato de exportación no válido';
|
||||
$lang['no_exporter_found'] = 'No se ha encontrado ningún exportador válido.';
|
||||
$lang['error_performing_search'] = 'Se ha encontrado un error al realizar la búsqueda.';
|
||||
$lang['showing_results_x_through_y'] = 'Mostrando los resultados de %s a %s.';
|
||||
$lang['searching'] = 'Buscando...';
|
||||
$lang['size_limit_exceeded'] = 'Nota: se ha excedido el tiempo de búsqueda.';
|
||||
$lang['entry'] = 'Objeto';
|
||||
$lang['ldif_export_for_dn'] = 'Exportación LDIF de: %s';
|
||||
$lang['generated_on_date'] = 'Generado por phpLDAPadmin el %s';
|
||||
$lang['total_entries'] = 'Entradas totales';
|
||||
$lang['dsml_export_for_dn'] = 'Exportación DSLM de: %s';
|
||||
$lang['include_system_attrs'] = 'Incluir atributos de sistema';
|
||||
$lang['csv_spreadsheet'] = 'CSV (Hoja de cálculo)';
|
||||
|
||||
// logins
|
||||
$lang['could_not_find_user'] = 'No se ha podido encontrar el usuario "%s"';
|
||||
$lang['password_blank'] = 'Ha dejado la contraseña en blanco.';
|
||||
$lang['login_cancelled'] = 'Conexión cancelada.';
|
||||
$lang['no_one_logged_in'] = 'No hay nadie conectado con el servidor.';
|
||||
$lang['could_not_logout'] = 'No se ha podido desconectar.';
|
||||
$lang['unknown_auth_type'] = 'Tipo de autentificación "auth_type" desconocido: %s';
|
||||
$lang['logged_out_successfully'] = 'Se ha desconectado del servidor <b>%s</b>';
|
||||
$lang['authenticate_to_server'] = 'Autentificación del servidor %s';
|
||||
$lang['warning_this_web_connection_is_unencrypted'] = 'Aviso: Esta conexión no está encriptada.';
|
||||
$lang['not_using_https'] = 'No está usando \'https\'. El navegador web enviará su información sin encriptar.';
|
||||
$lang['login_dn'] = 'Login';
|
||||
$lang['user_name'] = 'Nombre de usuario';
|
||||
$lang['password'] = 'Contraseña';
|
||||
$lang['authenticate'] = 'Entrar';
|
||||
|
||||
// Entry browser
|
||||
$lang['entry_chooser_title'] = 'Selector de objetos';
|
||||
|
||||
// Index page
|
||||
$lang['need_to_configure'] = 'Debe configurar phpLDAPadmin, editando el fichero \'config.php\'. Se proporciona un fichero de configuración de ejemplo en \'config.php.example\'';
|
||||
|
||||
// Mass deletes
|
||||
$lang['no_deletes_in_read_only'] = 'No se permiten borrados en modo de sólo lectura.';
|
||||
$lang['error_calling_mass_delete'] = 'Error al llamar a "mass_delete.php". Falta la variable POST "mass_delete".';
|
||||
$lang['mass_delete_not_array'] = 'La variable POST "mass_delete" no es un array.';
|
||||
$lang['mass_delete_not_enabled'] = 'No está activado el borrado masivo. Por favor, actívelo en config.php antes de continuar.';
|
||||
$lang['search_attrs_wrong_count'] = 'Su config.php tiene un error. El número de atributos en $search_attributes y $search_attributes_display es diferente';
|
||||
$lang['mass_deleting'] = 'Efectuando borrado masivo';
|
||||
$lang['mass_delete_progress'] = 'Borrado en progreso en el servidor "%s"';
|
||||
$lang['malformed_mass_delete_array'] = 'Array de borrado masivo mal formado.';
|
||||
$lang['no_entries_to_delete'] = 'No ha seleccionado objetos para borrar.';
|
||||
$lang['deleting_dn'] = 'Borrando %s';
|
||||
$lang['total_entries_failed'] = 'No han podido borrarse %s de %s objetos.';
|
||||
$lang['all_entries_successful'] = 'Todos los objetos han sido borrados.';
|
||||
$lang['confirm_mass_delete'] = 'Confirmar borrado masivo de %s objetos en el servidor %s';
|
||||
$lang['yes_delete'] = '¡Sí, borrar!';
|
||||
|
||||
// Renaming entries
|
||||
$lang['non_leaf_nodes_cannot_be_renamed'] = 'No puede renombrar un objeto que tenga hijos';
|
||||
$lang['no_rdn_change'] = 'No ha cambiado el RDN';
|
||||
$lang['invalid_rdn'] = 'Valor RDN no válido';
|
||||
$lang['could_not_rename'] = 'No se ha podido renombrar el objeto';
|
||||
|
||||
// General errors
|
||||
$lang['php5_unsupported'] = 'phpLDAPadmin no soporta todavía PHP 5. Si continúa encontrará probablemente extraños errores.';
|
||||
$lang['mismatched_search_attr_config'] = 'Su configuración tiene un error. $search_attributes debe tener el mismo número de atributos que $search_attributes_display.';
|
||||
|
||||
// Password checker
|
||||
$lang['passwords_match'] = '¡Las contraseñas coinciden!';
|
||||
$lang['passwords_do_not_match'] = '¡Las contraseñas no coinciden!';
|
||||
$lang['password_checker_tool'] = 'Herramienta de comprobación de contraseñas';
|
||||
$lang['compare'] = 'Comparar';
|
||||
$lang['to'] = 'con';
|
||||
|
||||
// Templates
|
||||
$lang['using'] = 'Usando la';
|
||||
$lang['template'] = 'plantilla';
|
||||
$lang['switch_to'] = 'Puede cambair a la ';
|
||||
$lang['default_template'] = 'plantilla por defecto';
|
||||
|
||||
// template_config
|
||||
$lang['user_account'] = 'Cuenta de Usuario (posixAccount)';
|
||||
$lang['address_book_inet'] = 'Entrada del libro de direcciones (inetOrgPerson)';
|
||||
$lang['address_book_moz'] = 'Entrada del libro de direcciones (mozillaOrgPerson)';
|
||||
$lang['kolab_user'] = 'Entrada de Usuario Kolab';
|
||||
$lang['organizational_unit'] = 'Unidad Organizativa';
|
||||
$lang['organizational_role'] = 'Rol Organizativo';
|
||||
$lang['posix_group'] = 'Grupo Posix';
|
||||
$lang['samba_machine'] = 'Ordenador con Samba NT';
|
||||
$lang['samba3_machine'] = 'Ordenador con Samba 3 NT';
|
||||
$lang['samba_user'] = 'Usuario de Samba';
|
||||
$lang['samba3_user'] = 'Usuario de Samba 3';
|
||||
$lang['samba3_group'] = 'Mapeo de Grupo de Samba 3';
|
||||
$lang['dns_entry'] = 'Entrada DNS';
|
||||
$lang['simple_sec_object'] = 'Objeto de Seguridad Simple';
|
||||
$lang['courier_mail_account'] = 'Cuenta de Correo Courier';
|
||||
$lang['courier_mail_alias'] = 'Alias de Correo Courier';
|
||||
$lang['ldap_alias'] = 'Alias de LDAP';
|
||||
$lang['sendmail_cluster'] = 'Cluster de Sendmail';
|
||||
$lang['sendmail_domain'] = 'Dominio de Sendmail';
|
||||
$lang['sendmail_alias'] = 'Alias de Sendmail';
|
||||
$lang['sendmail_virt_dom'] = 'Dominio Virtual de Sendmail';
|
||||
$lang['sendmail_virt_users'] = 'Usuarios Virtuales de Sendmail';
|
||||
$lang['sendmail_relays'] = 'Relés de Sendmail';
|
||||
$lang['custom'] = 'A medida';
|
||||
$lang['samba_domain_name'] = 'Mi Nombre de Dominio de Samba';
|
||||
$lang['administrators'] = 'Administradores';
|
||||
$lang['users'] = 'Usuarios';
|
||||
$lang['guests'] = 'Invitados';
|
||||
$lang['power_users'] = 'Usuarios Privilegiados';
|
||||
$lang['account_ops'] = 'Administradores de Cuentas';
|
||||
$lang['server_ops'] = 'Administradores de Servidor';
|
||||
$lang['print_ops'] = 'Administradores de Impresión';
|
||||
$lang['backup_ops'] = 'Administradores de Copias de Seguridad';
|
||||
$lang['replicator'] = 'Replicador';
|
||||
$lang['unable_smb_passwords'] = ' Imposible crear las contraseñas de Samba. Por favor, revise la configuración en template_config.php';
|
||||
$lang['err_smb_conf'] = 'Error: Tiene un error en su configuración de Samba.';
|
||||
$lang['err_smb_no_name_sid'] = 'Error: Necesita indicar el nombre y el sid de su dominio Samba.';
|
||||
$lang['err_smb_no_name'] = 'Error: No se ha indicado el nombre del dominio Samba.';
|
||||
$lang['err_smb_no_sid'] = 'Error: No se ha indicado el sid del dominio Samba.';
|
||||
|
||||
// Samba Account Template
|
||||
$lang['samba_account'] = 'Cuenta Samba';
|
||||
$lang['samba_account_lcase'] = 'cuenta samba';
|
||||
|
||||
// New User (Posix) Account
|
||||
$lang['t_new_user_account'] = 'Nueva cuenta de usuario';
|
||||
$lang['t_hint_customize'] = 'Nota: Para modificar esta plantilla, edite el fichero templates/creation/new_user_template.php';
|
||||
$lang['t_name'] = 'Nombre';
|
||||
$lang['t_first_name'] = 'Nombre propio';
|
||||
$lang['t_last_name'] = 'Apellido';
|
||||
$lang['t_first'] = 'nombre propio';
|
||||
$lang['t_last'] = 'apellido';
|
||||
$lang['t_common_name'] = 'Nombre común';
|
||||
$lang['t_user_name'] = 'Nombre de Usuario';
|
||||
$lang['t_password'] = 'Contraseña';
|
||||
$lang['t_encryption'] = 'Encriptación';
|
||||
$lang['t_login_shell'] = 'Shell de entrada';
|
||||
$lang['t_home_dir'] = 'Directorio de usuario';
|
||||
$lang['t_uid_number'] = 'Número UID';
|
||||
$lang['t_auto_det'] = '(determinado automáticamente)';
|
||||
$lang['t_group'] = 'Grupo';
|
||||
$lang['t_gid_number'] = 'Número GID';
|
||||
$lang['t_err_passwords'] = 'Sus contraseñas no coinciden. Por favor, vuelva atrás e inténtelo de nuevon.';
|
||||
$lang['t_err_field_blank'] = 'No puede dejar en blanco el %s. Por favor, vuelva atrás e inténtelo de nuevo.';
|
||||
$lang['t_err_field_num'] = 'Sólo puede introducir valores numéricos en el campo %s. Por favor, vuelva atrás e inténtelo de nuevo.';
|
||||
$lang['t_err_bad_container'] = 'El contenedor que ha especificado (%s) no existe. Por favor, vuelva atrás e inténtelo de nuevo.';
|
||||
$lang['t_confirm_account_creation'] = 'Confirmar creación de cuenta';
|
||||
$lang['t_secret'] = '[secreta]';
|
||||
$lang['t_create_account'] = 'Crear cuenta';
|
||||
|
||||
// New Address Template
|
||||
$lang['t_new_address'] = 'Nueva entrada en el libro de direcciones';
|
||||
$lang['t_organization'] = 'Organización';
|
||||
$lang['t_address'] = 'Dirección';
|
||||
$lang['t_city'] = 'Ciudad';
|
||||
$lang['t_postal_code'] = 'Código postal';
|
||||
$lang['t_street'] = 'Calle';
|
||||
$lang['t_work_phone'] = 'Teléfono de trabajo';
|
||||
$lang['t_fax'] = 'Fax';
|
||||
$lang['t_mobile'] = 'Móvil';
|
||||
$lang['t_email'] = 'Email';
|
||||
$lang['t_container'] = 'Contenedor';
|
||||
$lang['t_err_cn_blank'] = 'No puede dejar el campo "Nombre Común" en blanco. Por favor, vuelva atrás e inténtelo de nuevo.';
|
||||
$lang['t_confim_creation'] = 'Confirmar creación de entrada:';
|
||||
$lang['t_create_address'] = 'Crear dirección';
|
||||
|
||||
// default template
|
||||
$lang['t_check_pass'] = 'Compruebe la contraseña...';
|
||||
|
||||
?>
|
||||
|
||||
|
145
lang/fr.php
145
lang/fr.php
@ -11,7 +11,7 @@
|
||||
*
|
||||
* Thank you!
|
||||
*
|
||||
* $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/fr.php,v 1.25 2004/05/29 04:07:02 uugdave Exp $
|
||||
* $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/fr.php,v 1.29 2005/04/01 22:40:23 xrenard Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -34,6 +34,14 @@ $lang['contains'] = 'contient';
|
||||
$lang['predefined_search_str'] = 'Selectionner une recherche prédéfinie';
|
||||
$lang['predefined_searches'] = 'Recherches prédéfinies';
|
||||
$lang['no_predefined_queries'] = 'Aucune requête n\' a été définie dans config.php.';
|
||||
$lang['export_results'] = 'exporter le resultat';
|
||||
$lang['unrecoginzed_search_result_format'] = 'Le format du résultat de la recherche est non reconnu: %s';
|
||||
$lang['format'] = 'Format';
|
||||
$lang['list'] = 'liste';
|
||||
$lang['table'] = 'table';
|
||||
$lang['bad_search_display'] = 'Le fichier config.php contient une valeur invalide pour $default_search_display: %s. Veuillez le corriger';
|
||||
$lang['page_n'] = 'Page %d';
|
||||
$lang['no_results'] = 'Aucun résultat pour cette recherche.';
|
||||
|
||||
// Tree browser
|
||||
$lang['request_new_feature'] = 'Demander une nouvelle fonctionnalité';
|
||||
@ -54,20 +62,25 @@ $lang['view_server_info'] = 'Voir les informations sur le serveur';
|
||||
$lang['import_from_ldif'] = 'Importer des entrées à partir d\'un fichier LDIF';
|
||||
$lang['logout_of_this_server'] = 'Se déconnecter de ce serveur';
|
||||
$lang['logged_in_as'] = 'Connecté en tant que: ';
|
||||
$lang['this_base_dn_is_not_valid'] = 'Ceci n\'est pas un DN valide.';
|
||||
$lang['this_base_dn_does_not_exist'] = 'Cette entrée n\'existe pas.';
|
||||
$lang['read_only'] = 'Lecture seule';
|
||||
$lang['read_only_tooltip'] = 'Cet attribut a été mis en lecture seule par l\'administrateur de phpLDAPAdmin';
|
||||
$lang['could_not_determine_root'] = 'La racine de l\'arborescence Ldap n\'a pu être déterminée.';
|
||||
$lang['ldap_refuses_to_give_root'] = 'Il semble que le serveur LDAP a été configuré de telle sorte que la racine ne soit pas révelée.';
|
||||
$lang['please_specify_in_config'] = 'Veuillez le spécifier dans le fichier config.php';
|
||||
$lang['create_new_entry_in'] = 'Créer une nouvelle entrée dans';
|
||||
$lang['login_link'] = 'Login...';
|
||||
$lang['login'] = 'login';
|
||||
|
||||
$lang['base_entry_does_not_exist'] = 'L\'entrée racine n\'existe pas.';
|
||||
$lang['create_it'] = 'La créer?';
|
||||
// Entry display
|
||||
$lang['delete_this_entry'] = 'Supprimer cette entrée';
|
||||
$lang['delete_this_entry_tooltip'] = 'Il vous sera demandé confirmation';
|
||||
$lang['copy_this_entry'] = 'Copier cette entrée';
|
||||
$lang['copy_this_entry_tooltip'] = 'Copier cet objet vers un autre endroit, un nouveau DN ou un autre serveur';
|
||||
$lang['export'] = 'Exporter';
|
||||
$lang['export_lcase'] = 'exporter';
|
||||
$lang['export_tooltip'] = 'Sauvegarder cet objet';
|
||||
$lang['export_subtree_tooltip'] = 'Sauvegarder cet objet ainsi que tous les sous-objets';
|
||||
$lang['export_subtree'] = 'Exporter l\'arborescence';
|
||||
@ -84,7 +97,9 @@ $lang['hide_internal_attrs'] = 'Cacher les attributs internes';
|
||||
$lang['show_internal_attrs'] = 'Montrer les attributs internes';
|
||||
$lang['attr_name_tooltip'] = 'Cliquer pour voir la définition de schéma pour l\'attribut de type \'%s\'';
|
||||
$lang['none'] = 'aucun';
|
||||
$lang['save_changes'] = 'Sauver les modifications';
|
||||
$lang['no_internal_attributes'] = 'Aucun attributs internes.';
|
||||
$lang['no_attributes'] = 'Cette entrée n\a aucun attributs.';
|
||||
$lang['save_changes'] = 'Sauvegarder les modifications';
|
||||
$lang['add_value'] = 'ajouter une valeur';
|
||||
$lang['add_value_tooltip'] = 'Ajouter une valeur supplémentaire à cet attribut';
|
||||
$lang['refresh_entry'] = 'Rafraichir';
|
||||
@ -99,6 +114,8 @@ $lang['no_new_binary_attrs_available'] = 'plus d\' attributs binaires disponible
|
||||
$lang['binary_value'] = 'Valeur de type binaire';
|
||||
$lang['add_new_binary_attr'] = 'Ajouter un nouvel attribut de type binaire';
|
||||
$lang['alias_for'] = 'Alias pour';
|
||||
$lang['required_for'] = 'Attribut requis par le(s) objectClass(es) %s';
|
||||
$lang['required_by_entry'] = 'Cet attribut est requis par le RDN.';
|
||||
$lang['download_value'] = 'Télécharger le contenu';
|
||||
$lang['delete_attribute'] = 'Supprimer l\'attribut';
|
||||
$lang['true'] = 'vrai';
|
||||
@ -108,18 +125,17 @@ $lang['really_delete_attribute'] = 'Voulez-vous vraiment supprimer l\'attribut';
|
||||
$lang['add_new_value'] = 'Ajouter une nouvelle valeur';
|
||||
|
||||
// Schema browser
|
||||
$lang['the_following_objectclasses'] = 'Les classes d\'objets (objectClasses) suivantes sont supportés par ce serveur LDAP.';
|
||||
$lang['the_following_attributes'] = 'Les types d\'attributs (attributesTypes) suivants sont supportés par ce serveur LDAP.';
|
||||
$lang['the_following_matching'] = 'Les opérateurs (matching rules) suivants sont supportés par ce serveur LDAP.';
|
||||
$lang['the_following_syntaxes'] = 'Les syntaxes suivantes sont supportés par ce serveur LDAP.';
|
||||
$lang['schema_retrieve_error_1']='Le serveur ne supporte pas entièrement le protocol LDAP.';
|
||||
$lang['schema_retrieve_error_2']='Votre version de PHP ne permet pas d\'exécute correctement la requête.';
|
||||
$lang['schema_retrieve_error_3']='Ou tout du moins, phpLDAPadmin ne sait pas comment récupérer le schéma pour votre serveur.';
|
||||
$lang['schema_retrieve_error_2']='Votre version de PHP ne permet pas d\'exécuter correctement la requête.';
|
||||
$lang['schema_retrieve_error_3']='phpLDAPadmin ne sait pas comment récupérer le schéma pour votre serveur.';
|
||||
$lang['schema_retrieve_error_4']='Ou tout du moins, votre serveur LDAP ne procure pas cette information.';
|
||||
$lang['jump_to_objectclass'] = 'Aller à une classe d\'objet';
|
||||
$lang['view_schema_for_oclass'] = 'Voir la description du schema pour cette objectClass';
|
||||
$lang['jump_to_attr'] = 'Aller à un attribut';
|
||||
$lang['jump_to_matching_rule'] = 'Aller à une règle d\'égalité';
|
||||
$lang['schema_for_server'] = 'Schema pour le serveur';
|
||||
$lang['required_attrs'] = 'Attributs obligatoires';
|
||||
$lang['required'] = 'requis';
|
||||
$lang['optional_attrs'] = 'Attributs optionnels';
|
||||
$lang['optional_binary_attrs'] = 'Attributs binaires optionnels';
|
||||
$lang['OID'] = 'OID';
|
||||
@ -131,6 +147,7 @@ $lang['equality']='Egalit
|
||||
$lang['is_obsolete'] = 'Cette classe d\'objet est obsolete';
|
||||
$lang['inherits'] = 'hérite';
|
||||
$lang['inherited_from']='hérite de';
|
||||
$lang['parent_to'] = 'Parent de';
|
||||
$lang['jump_to_this_oclass'] = 'Aller à la définition de cette classe d\'objet';
|
||||
$lang['matching_rule_oid'] = 'OID de l\'opérateur';
|
||||
$lang['syntax_oid'] = 'OID de la syntaxe';
|
||||
@ -140,8 +157,7 @@ $lang['character']='caract
|
||||
$lang['characters']='caractères';
|
||||
$lang['used_by_objectclasses']='Utilisé par les objectClasses';
|
||||
$lang['used_by_attributes']='Utilisé par les attributes';
|
||||
$lang['maximum_length']='Maximum Length';
|
||||
$lang['attributes']='Types d\'attribut';
|
||||
$lang['attribute_types']='Types d\'attribut';
|
||||
$lang['syntaxes']='Syntaxes';
|
||||
$lang['objectclasses']='objectClasses';
|
||||
$lang['matchingrules']='Règles d\'égalité';
|
||||
@ -155,7 +171,12 @@ $lang['user_modification']='Modification Utilisateur';
|
||||
$lang['usage']='Usage';
|
||||
$lang['maximum_length']='Longueur maximale';
|
||||
$lang['could_not_retrieve_schema_from']='Impossible de récupérer le schéma de';
|
||||
$lang['the_following_objectclasses'] = 'Les classes d\'objets (objectClasses) suivantes sont supportés par ce serveur LDAP.';
|
||||
$lang['the_following_attributes'] = 'Les types d\'attributs (attributesTypes) suivants sont supportés par ce serveur LDAP.';
|
||||
$lang['the_following_matching'] = 'Les opérateurs (matching rules) suivants sont supportés par ce serveur LDAP.';
|
||||
$lang['the_following_syntaxes'] = 'Les syntaxes suivantes sont supportés par ce serveur LDAP.';
|
||||
$lang['type']='Type';
|
||||
$lang['no_such_schema_item'] = 'No such schema item: "%s"';
|
||||
|
||||
// Deleting entries
|
||||
$lang['entry_deleted_successfully'] = 'Suppression de l\'entrée \'%s\' réussie.';
|
||||
@ -182,8 +203,14 @@ $lang['no_attr_specified'] = 'Aucun nom d\'attributs sp
|
||||
$lang['no_dn_specified'] = 'Aucun DN specifié';
|
||||
|
||||
// Adding attributes
|
||||
$lang['left_attr_blank'] = 'Vous avez laisser la valeur de l\'attribut vide. Veuillez s\'il vous plaît retourner à la page précédente et recommencer.';
|
||||
$lang['left_attr_blank'] = 'Vous avez laissé la valeur de l\'attribut vide. Veuillez s\'il vous plaît retourner à la page précédente et recommencer.';
|
||||
$lang['failed_to_add_attr'] = 'Echec lors de l\'ajout de l\'attribut.';
|
||||
$lang['file_empty'] = 'Le fichier choisi soit est vide soit n\'existe pas. Veuillez recommencez.';
|
||||
$lang['invalid_file'] = 'Erreur de sécurité: Le fichier uploadé peut etre dangereux.';
|
||||
$lang['warning_file_uploads_disabled'] = 'Votre configuration PHP interdit l\'upload de fichiers. Veuillez vérifier votre fichier php.ini avant de continuer.';
|
||||
$lang['uploaded_file_too_big'] = 'Le fichier à uploader est de trop grande taille. Veuillez vérifier votre fichier php.ini et particulièrement la directive upload_max_size setting';
|
||||
$lang['uploaded_file_partial'] = 'Le fichier sélectionner a été partiellement uploadé, probablement du à une erreur réseau.';
|
||||
$lang['max_file_size'] = 'Taille Maximum du fichier: %s';
|
||||
|
||||
// Updating values
|
||||
$lang['modification_successful'] = 'Modification réussie!';
|
||||
@ -201,10 +228,12 @@ $lang['add_oclass_and_attrs'] = 'Ajout d\' ObjectClass et d\'attributs';
|
||||
$lang['chooser_link_tooltip'] = 'Cliquer pour choisir un entré(DN)';
|
||||
$lang['no_updates_in_read_only_mode'] = 'Vous ne pouvez effectuer des mises à jour si le serveur est en lecture seule';
|
||||
$lang['bad_server_id'] = 'Id de serveur invalide';
|
||||
$lang['not_enough_login_info'] = 'Informations insuffisantes pour se logguer au serveur. Veuillez, s\'il vous plaî, vérifier votre configuration.';
|
||||
$lang['not_enough_login_info'] = 'Informations insuffisantes pour se logguer au serveur. Veuillez, s\'il vous plaît, vérifier votre configuration.';
|
||||
$lang['could_not_connect'] = 'Impossible de se connecter au serveur LDAP.';
|
||||
$lang['could_not_connect_to_host_on_port'] = 'Impossible de se connecter à "%s" sur le port "%s"';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'Echec lors de l\'opération ldap_mod_add.';
|
||||
$lang['home'] = 'Home';
|
||||
$lang['help'] = 'Aide';
|
||||
$lang['bad_server_id_underline'] = 'serveur_id invalide: ';
|
||||
$lang['success'] = 'Succès';
|
||||
$lang['server_colon_pare'] = 'Serveur: ';
|
||||
@ -230,6 +259,11 @@ $lang['bug'] = 'bogue';
|
||||
$lang['warning'] = 'Avertissement';
|
||||
$lang['light'] = 'lumière'; // the word 'light' from 'light bulb'
|
||||
$lang['proceed_gt'] = 'Continuer >>';
|
||||
$lang['no_blowfish_secret'] = 'phpLDAPadmin ne peut de façon sur encrypter et décrypter les informations du fait que $blowfish_secret n\'est pas défini dans config.php. Vous devez définir $blowfish_secret avec une chaine de caractère de votre choix.';
|
||||
$lang['jpeg_dir_not_writable'] = 'Veuillez assigner à la variable $jpeg_temp_dir le nom d\'un répertoire accessible en écriture dans le fichier config.php';
|
||||
$lang['jpeg_dir_not_writable_error'] = 'Impossible d\'écrire dans le répertoire %s défini par la directive $jpeg_temp_dir. Veuillez vérifier que votre serveur web à les droits en écriture pour ce répertoire.';
|
||||
$lang['jpeg_unable_toget'] = 'Impossible de trouver la ressource jpeg du serveur LDAP pour l\'attribut %s.';
|
||||
$lang['jpeg_delete'] = 'Supprimer la photo';
|
||||
|
||||
|
||||
// Add value form
|
||||
@ -265,6 +299,8 @@ $lang['must_choose_template'] = 'Vous devez choisir un mod
|
||||
$lang['invalid_template'] = '%s est un modèle non valide';
|
||||
$lang['using_template'] = 'Utilisation du modèle';
|
||||
$lang['go_to_dn'] = 'Aller à %s';
|
||||
$lang['structural_object_class_cannot_remove'] = 'Ceci est une \'objectclass\' de type structurelle et ne peut etre supprimé.';
|
||||
$lang['structural'] = 'structurelle';
|
||||
|
||||
|
||||
|
||||
@ -280,13 +316,16 @@ $lang['copyf_recursive_copy'] = 'Copier r
|
||||
$lang['recursive_copy'] = 'Copie récursive';
|
||||
$lang['filter'] = 'Filtre';
|
||||
$lang['filter_tooltip'] = 'Lors d\'une copie récursive, seuls les entrées correspondant à ce filtre seront copiés';
|
||||
$lang['delete_after_copy'] = 'Suppresion après copie (déplacer):';
|
||||
$lang['delete_after_copy_warn'] = 'Soyez certain que votre filtre (ci-dessus) selectionnera tous les enregistrements enfants.';
|
||||
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute'] = 'Une valeur n\'a pas été spécifiée pour l\'attribut requis %s.';
|
||||
$lang['redirecting'] = 'Redirection';
|
||||
$lang['here'] = 'ici';
|
||||
$lang['create_could_not_add'] = 'L\'ajout de l\'objet au serveur LDAP n\'a pu être effectuée.';
|
||||
$lang['rdn_field_blank'] = 'Vous avez laisser le champ du RDN vide.';
|
||||
$lang['rdn_field_blank'] = 'Vous avez laissé le champ du RDN vide.';
|
||||
$lang['container_does_not_exist'] = 'Le containeur que vous avez spécifié (%s) n\'existe pas. Veuillez, s\'il vous plaît recommencer.';
|
||||
$lang['no_objectclasses_selected'] = 'Vous n\'avez sélectionner aucun ObjectClasses pour cet objet. Veuillez s\'il vous plaît retourner à la page précédente et le faire.';
|
||||
$lang['hint_structural_oclass'] = 'Note: Vous devez choisir au moins une classe d\'objet de type structural';
|
||||
@ -295,6 +334,7 @@ $lang['hint_structural_oclass'] = 'Note: Vous devez choisir au moins une classe
|
||||
$lang['createf_create_object'] = 'Creation d\'un objet';
|
||||
$lang['createf_choose_temp'] = 'Choix d\'un modèle';
|
||||
$lang['createf_select_temp'] = 'Selectionner un modèle pour la procédure de création';
|
||||
$lang['save_as_file'] = 'Sauvegarder en tant que fichier';
|
||||
$lang['createf_proceed'] = 'Continuer';
|
||||
$lang['relative_distinguished_name'] = 'Relative Distinguished Name';
|
||||
$lang['rdn'] = 'RDN';
|
||||
@ -306,6 +346,8 @@ $lang['alias_for'] = 'Alias pour %s';
|
||||
//creation_template.php
|
||||
$lang['ctemplate_on_server'] = 'Sur le serveur';
|
||||
$lang['ctemplate_no_template'] = 'Aucun modèle spécifié dans les variables POST.';
|
||||
$lang['template_not_readable'] = 'Votre fichier de configuration définit un gestionnaire de "%s" pour ce \'template\' mais ce fichier ne possède pas les droits de lecture.';
|
||||
$lang['template_does_not_exist'] = 'Votre fichier de configuration définit un gestionnaire de "%s" pour ce \'template\' mais le gestionnaire n\'existe pas dans le répertoire templates/creation.';
|
||||
$lang['ctemplate_config_handler'] = 'Votre configuration scécifie un gestionnaire de';
|
||||
$lang['ctemplate_handler_does_not_exist'] = 'pour ce modèle. Cependant, ce gestionnaire n\'existe pas dans le répertoire \'templates/creation\'.';
|
||||
$lang['create_step1'] = 'Etape 1 de 2: Nom et classes d\'objet';
|
||||
@ -358,12 +400,23 @@ $lang['commit'] = 'Valider';
|
||||
$lang['cancel'] = 'Annuler';
|
||||
$lang['you_made_no_changes'] = 'Aucun changement n\'a été effectué';
|
||||
$lang['go_back'] = 'Retour';
|
||||
$lang['unable_create_samba_pass'] = 'Impossible de créer le mot de passe samba. Veuillez vérifiez votre configuration dans le fichier template_config.php';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note'] = 'Utilisez le menu de gauche pour la navigation';
|
||||
$lang['credits'] = 'Crédits';
|
||||
$lang['changelog'] = 'ChangeLog';
|
||||
$lang['donate'] = 'Donation';
|
||||
$lang['pla_logo'] = 'phpLDAPadmin logo';
|
||||
|
||||
|
||||
// Donate.php
|
||||
$lang['donation_instructions'] = 'Pour effectuer une doantion au projet phpLDAadmin, veuillez utilisez un des boutons PayPal ci-dessous.';
|
||||
$lang['donate_amount'] = 'Donner %s';
|
||||
$lang['purge_cache'] = 'Vider la cache';
|
||||
$lang['no_cache_to_purge'] = 'Aucune cache à vider.';
|
||||
$lang['done_purging_caches'] = 'Suppression de %s octets de la cache.';
|
||||
$lang['purge_cache_tooltip'] = 'Supprimer toutes les données en cache dans phpLDAPadmin, y compris les schemas serveur.';
|
||||
|
||||
// view_jpeg_photo.php
|
||||
$lang['unsafe_file_name'] = 'Nom de fichier non sûr: ';
|
||||
@ -521,6 +574,70 @@ $lang['non_leaf_nodes_cannot_be_renamed'] = 'Vous ne pouvez pas renommer une ent
|
||||
$lang['no_rdn_change'] = 'Le RDN n\'a pas été modifié';
|
||||
$lang['invalid_rdn'] = 'Valeur invalide du RDN';
|
||||
$lang['could_not_rename'] = 'Impossible de renommer l\'entrée';
|
||||
$lang['csv_spreadsheet'] = 'CSV (tableur)';
|
||||
|
||||
|
||||
// Samba Account Template
|
||||
$lang['samba_account'] = 'Samba Account';
|
||||
$lang['samba_account_lcase'] = 'samba account';
|
||||
|
||||
// New User (Posix) Account
|
||||
$lang['t_new_user_account'] = 'Nouveau compte utilisateur';
|
||||
$lang['t_hint_customize'] = 'Astuce: Pour personnaliser ce \'template\', éditez le fichier templates/creation/new_user_template.php';
|
||||
$lang['t_name'] = 'Nom';
|
||||
$lang['t_first_name'] = 'Prénom';
|
||||
$lang['t_last_name'] = 'Nom de famille';
|
||||
$lang['t_first'] = 'first';
|
||||
$lang['t_last'] = 'last';
|
||||
$lang['t_common_name'] = 'Common name';
|
||||
$lang['t_user_name'] = 'Nom d\'utilisateur';
|
||||
$lang['t_password'] = 'Mot de passe';
|
||||
$lang['t_encryption'] = 'Encryption';
|
||||
$lang['t_login_shell'] = 'Login Shell';
|
||||
$lang['t_home_dir'] = 'Home Directory';
|
||||
$lang['t_uid_number'] = 'UID Number';
|
||||
$lang['t_auto_det'] = '(déterminé automatiquement)';
|
||||
$lang['t_group'] = 'Groupe';
|
||||
$lang['t_gid_number'] = 'GID Number';
|
||||
$lang['t_err_passwords'] = 'Les mots de passe ne correspondent pas. Veuillez revenir en arrière et recommencez.';
|
||||
$lang['t_err_field_blank'] = 'Le champ %s ne peut etre vide. Veuillez revenir en arrière et recommencez.';
|
||||
$lang['t_err_field_num'] = 'Seuls des valeurs numériques sont valides pour le champ %s. Veuillez revenir en arrière et recommencez.';
|
||||
$lang['t_err_bad_container'] = 'Le conténeur spécifié (%s) n\'existe pas. Veuillez revenir en arrière et recommencez.';
|
||||
$lang['t_confirm_account_creation'] = 'Confirmation de la création du compte';
|
||||
$lang['t_secret'] = '[secret]';
|
||||
$lang['t_create_account'] = 'Créer le compte';
|
||||
|
||||
// New Address Template
|
||||
$lang['t_new_address'] = 'New Address Book Entry';
|
||||
$lang['t_organization'] = 'Organisation';
|
||||
$lang['t_address'] = 'Adresse';
|
||||
$lang['t_city'] = 'Ville';
|
||||
$lang['t_postal_code'] = 'Code postal';
|
||||
$lang['t_street'] = 'rue';
|
||||
$lang['t_work_phone'] = 'Work phone';
|
||||
$lang['t_fax'] = 'Fax';
|
||||
$lang['t_mobile'] = 'Mobile';
|
||||
$lang['t_email'] = 'Email';
|
||||
$lang['t_container'] = 'Conténeur';
|
||||
$lang['t_err_cn_blank'] = 'Le champ \'Common Name\' ne peut etre vide. Veuillez revenir en arrière et recommencer.';
|
||||
$lang['t_confim_creation'] = 'Confirmation de la création de l\'entrée:';
|
||||
$lang['t_create_address'] = 'Create Address';
|
||||
|
||||
// compare form
|
||||
$lang['compare'] = 'Comparer';
|
||||
$lang['comparing'] = 'Comparaison des DNs suivant:';
|
||||
$lang['compare_dn'] = 'Comparer un autre DN avec';
|
||||
$lang['with'] = 'avec ';
|
||||
$lang['compf_source_dn'] = 'DN Source';
|
||||
$lang['compf_dn_tooltip'] = 'Comparer ce DN avec un autre';
|
||||
$lang['switch_entry'] = 'Intervertir les entrées';
|
||||
$lang['no_value'] = 'Aucune Valeur';
|
||||
$lang['compare_with'] = 'Comparer avec une autre entrée';
|
||||
$lang['need_oclass'] = 'You need one of the following ObjectClass(es) to add this attribute %s.';
|
||||
|
||||
// Time out page
|
||||
$lang['session_timed_out_1'] = 'Votre session a expiré après';
|
||||
$lang['session_timed_out_2'] = 'min. d\'inactivité. Vous avez été automatiquement déconnecté.';
|
||||
$lang['log_back_in'] = 'Pour vous connecter à nouveau, cliquez sur le lien suivant:';
|
||||
$lang['session_timed_out_tree'] = '(Expiration de session. Déconnexion automatique.)';
|
||||
?>
|
||||
|
292
lang/ja.php
292
lang/ja.php
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/ja.php,v 1.1 2004/12/09 14:02:37 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/ja.php,v 1.4 2005/03/08 10:21:59 wurley Exp $
|
||||
|
||||
|
||||
/* --- INSTRUCTIONS FOR TRANSLATORS ---
|
||||
@ -37,7 +37,7 @@ $lang['predefined_search_str'] = '事前定義された検索を選択';
|
||||
$lang['predefined_searches'] = '事前定義検索';
|
||||
$lang['no_predefined_queries'] = 'config.php で定義された照会はありません。';
|
||||
$lang['export_results'] = '結果エクスポート';
|
||||
$lang['unrecoginzed_search_result_format'] = 'Unrecognized search result format: %s';
|
||||
$lang['unrecoginzed_search_result_format'] = '認識できない書式の検索結果です: %s';
|
||||
$lang['format'] = '書式';
|
||||
$lang['list'] = '一覧';
|
||||
$lang['table'] = 'テーブル';
|
||||
@ -56,14 +56,16 @@ $lang['import'] = 'インポート';
|
||||
$lang['refresh'] = '再描画';
|
||||
$lang['logout'] = 'ログアウト';
|
||||
$lang['create_new'] = 'ここに新規エントリを追加';
|
||||
$lang['view_schema_for'] = 'View schema for';
|
||||
$lang['refresh_expanded_containers'] = 'Refresh all expanded containers for';
|
||||
$lang['create_new_entry_on'] = 'Create a new entry on';
|
||||
$lang['view_schema_for'] = 'スキーマを閲覧 対象:';
|
||||
$lang['refresh_expanded_containers'] = '展開済みの内容を再描画 対象:';
|
||||
$lang['create_new_entry_on'] = 'エントリを新規作成 対象:';
|
||||
$lang['new'] = '新規';
|
||||
$lang['view_server_info'] = 'サーバーが提供する情報を閲覧';
|
||||
$lang['import_from_ldif'] = 'LDIF ファイルからのインポートエントリ';
|
||||
$lang['logout_of_this_server'] = 'このサーバーのログアウト';
|
||||
$lang['logged_in_as'] = 'Logged in as: ';
|
||||
$lang['logged_in_as'] = '次のコンテナでログイン: ';
|
||||
$lang['this_base_dn_is_not_valid'] = 'これは有効な DN ではありません。';
|
||||
$lang['this_base_dn_does_not_exist'] = 'このエントリは存在しません。';
|
||||
$lang['read_only'] = '読み込み専用';
|
||||
$lang['read_only_tooltip'] = 'この属性は phpLDAP 管理者により、読み込み専用で設定されています。';
|
||||
$lang['could_not_determine_root'] = 'LDAP ツリーのルートが決定できません。';
|
||||
@ -73,7 +75,7 @@ $lang['create_new_entry_in'] = 'Create a new entry in';
|
||||
$lang['login_link'] = 'ログイン...';
|
||||
$lang['login'] = 'ログイン';
|
||||
$lang['base_entry_does_not_exist'] = 'ベースエントリが存在しません。';
|
||||
$lang['create_it'] = 'Create it?';
|
||||
$lang['create_it'] = '作成しますか?';
|
||||
|
||||
// Entry display
|
||||
$lang['delete_this_entry'] = 'このエントリを削除';
|
||||
@ -92,35 +94,35 @@ $lang['add'] = '追加';
|
||||
$lang['view'] = 'View';
|
||||
$lang['view_one_child'] = 'ひとつの子を閲覧';
|
||||
$lang['view_children'] = '%s 個の子を閲覧';
|
||||
$lang['add_new_attribute'] = '新規属性追加';
|
||||
$lang['add_new_objectclass'] = '新規 ObjectClass を追加';
|
||||
$lang['add_new_attribute'] = '新規属性を追加';
|
||||
$lang['add_new_objectclass'] = '新規 ObjectClass を追加する';
|
||||
$lang['hide_internal_attrs'] = '内部属性を隠す';
|
||||
$lang['show_internal_attrs'] = '内部属性を表示';
|
||||
$lang['attr_name_tooltip'] = 'Click to view the schema defintion for attribute type \'%s\'';
|
||||
$lang['attr_name_tooltip'] = '属性タイプ \'%s\' のためのスキーマ定義を見るためにクリックしてください。';
|
||||
$lang['none'] = 'なし';
|
||||
$lang['no_internal_attributes'] = '内部属性がありません';
|
||||
$lang['no_attributes'] = 'このエントリは属性を持っていません';
|
||||
$lang['save_changes'] = '変更を保存';
|
||||
$lang['add_value'] = '値追加';
|
||||
$lang['add_value_tooltip'] = 'Add an additional value to attribute \'%s\'';
|
||||
$lang['add_value_tooltip'] = '追加値を属性「%s」に追加する';
|
||||
$lang['refresh_entry'] = '再描画';
|
||||
$lang['refresh_this_entry'] = 'このエントリを再描画';
|
||||
$lang['refresh_this_entry'] = 'このエントリを再描画する';
|
||||
$lang['delete_hint'] = 'ヒント: 属性を削除するにはテキストフィールドを空にして保存をクリックします。';
|
||||
$lang['attr_schema_hint'] = 'ヒント: 属性のスキーマを閲覧するには、属性名をクリックします。';
|
||||
$lang['attrs_modified'] = 'Some attributes (%s) were modified and are highlighted below.';
|
||||
$lang['attr_modified'] = 'An attribute (%s) was modified and is highlighted below.';
|
||||
$lang['viewing_read_only'] = 'Viewing entry in read-only mode.';
|
||||
$lang['no_new_attrs_available'] = 'no new attributes available for this entry';
|
||||
$lang['no_new_binary_attrs_available'] = 'no new binary attributes available for this entry';
|
||||
$lang['attrs_modified'] = 'いくつかの属性 (%s) は修正され、下記でハイライトされました。';
|
||||
$lang['attr_modified'] = 'ひとつの属性 (%s) は修正され、下記でハイライトされました。';
|
||||
$lang['viewing_read_only'] = '読み込みモードでエントリを閲覧中。';
|
||||
$lang['no_new_attrs_available'] = 'このエントリに利用可能な新規属性はありません。';
|
||||
$lang['no_new_binary_attrs_available'] = 'このエントリに利用可能な新規バイナリ属性はありません。';
|
||||
$lang['binary_value'] = 'バイナリ値';
|
||||
$lang['add_new_binary_attr'] = '新規バイナリ属性を追加';
|
||||
$lang['alias_for'] = 'Note: \'%s\' is an alias for \'%s\'';
|
||||
$lang['alias_for'] = '注: \'%s\' は \'%s\' のエイリアスです。';
|
||||
$lang['required_for'] = 'objectClass %s の必須属性';
|
||||
$lang['download_value'] = 'ダウンロード値';
|
||||
$lang['delete_attribute'] = '属性削除';
|
||||
$lang['true'] = 'true';
|
||||
$lang['false'] = 'false';
|
||||
$lang['none_remove_value'] = 'none, remove value';
|
||||
$lang['none_remove_value'] = 'いいえ、値を削除します';
|
||||
$lang['really_delete_attribute'] = '本当に属性を削除';
|
||||
$lang['add_new_value'] = '新規値追加';
|
||||
|
||||
@ -132,6 +134,7 @@ $lang['the_following_syntaxes'] = '次の文法はこの LDAP サーバーでサ
|
||||
$lang['schema_retrieve_error_1']='このサーバーはすべての LDAP プロトコルをサポートしていません。';
|
||||
$lang['schema_retrieve_error_2']='この PHP のバージョンは正確に照会を行えません。';
|
||||
$lang['schema_retrieve_error_3']='あるいは、phpLDAPadmin は、あなたのサーバーからスキーマを取得する方法を知りません。';
|
||||
$lang['schema_retrieve_error_4']='Or lastly, LDAP サーバーはこの情報を提供していません。';
|
||||
$lang['jump_to_objectclass'] = 'objectClass に移動';
|
||||
$lang['view_schema_for_oclass'] = 'この objectClass のスキーマ説明を閲覧';
|
||||
$lang['jump_to_attr'] = '属性タイプに移動';
|
||||
@ -153,16 +156,16 @@ $lang['inherited_from'] = '派生元';
|
||||
$lang['parent_to'] = '派生先';
|
||||
$lang['jump_to_this_oclass'] = 'この objectClass 定義に移動';
|
||||
$lang['matching_rule_oid'] = '適用ルール OID';
|
||||
$lang['syntax_oid'] = 'Syntax OID';
|
||||
$lang['syntax_oid'] = '文法 OID';
|
||||
$lang['not_applicable'] = '適用可能ではありません';
|
||||
$lang['not_specified'] = '指定されていません';
|
||||
$lang['character']='character';
|
||||
$lang['characters']='characters';
|
||||
$lang['used_by_objectclasses']='Used by objectClasses';
|
||||
$lang['used_by_attributes']='Used by Attributes';
|
||||
$lang['used_by_objectclasses']='objectClass を使する';
|
||||
$lang['used_by_attributes']='Attributes で使する';
|
||||
$lang['maximum_length']='最大長';
|
||||
$lang['attribute_types']='属性タイプ';
|
||||
$lang['syntaxes']='Syntaxes';
|
||||
$lang['syntaxes']='文法一覧';
|
||||
$lang['matchingrules']='一致ルール';
|
||||
$lang['oid']='OID';
|
||||
$lang['obsolete']='旧式';
|
||||
@ -182,16 +185,16 @@ $lang['you_must_specify_a_dn'] = 'DN を指定しなければなりません';
|
||||
$lang['could_not_delete_entry'] = 'エントリを削除できませんでした: %s';
|
||||
$lang['no_such_entry'] = 'エントリがありません: %s';
|
||||
$lang['delete_dn'] = '%s 削除';
|
||||
$lang['permanently_delete_children'] = 'Permanently delete all children also?';
|
||||
$lang['permanently_delete_children'] = 'さらに永久にすべての子を削除しますか?';
|
||||
$lang['entry_is_root_sub_tree'] = 'このエントリは %s エントリを含むサブツリーのルートです。';
|
||||
$lang['view_entries'] = 'エントリ閲覧';
|
||||
$lang['confirm_recursive_delete'] = 'phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?';
|
||||
$lang['confirm_recursive_delete_note'] = 'Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems.';
|
||||
$lang['confirm_recursive_delete'] = 'phpLDAPadmin は再帰的に、このエントリとその子のすべての %s を削除できます。このアクションが削除するすべてのエントリの一覧は、下記を参照してください。本当に本当に削除しますか?';
|
||||
$lang['confirm_recursive_delete_note'] = '注: これは潜在的に非常に危険です。また、自己責任でこれをします。このオペレーションは取り消せません。エイリアス・referralとその他の問題を考察を持ってください。';
|
||||
$lang['delete_all_x_objects'] = '%s オブジェクトをすべて削除';
|
||||
$lang['recursive_delete_progress'] = '再帰削除進行';
|
||||
$lang['entry_and_sub_tree_deleted_successfully'] = 'エントリ %s とサブツリーの削除に成功しました。';
|
||||
$lang['failed_to_delete_entry'] = 'エントリ %s のふぁ駆除に失敗しました';
|
||||
$lang['list_of_entries_to_be_deleted'] = 'List of entries to be deleted:';
|
||||
$lang['failed_to_delete_entry'] = 'エントリ %s の削除に失敗しました';
|
||||
$lang['list_of_entries_to_be_deleted'] = 'エントリの一覧を削除しました:';
|
||||
$lang['sure_permanent_delete_object']='本当にこのオブジェクトを永続的に削除しますか?';
|
||||
$lang['dn'] = 'DN';
|
||||
|
||||
@ -201,13 +204,13 @@ $lang['no_attr_specified'] = '属性名が指定されていません。';
|
||||
$lang['no_dn_specified'] = 'DN が指定されていません';
|
||||
|
||||
// Adding attributes
|
||||
$lang['left_attr_blank'] = 'You left the attribute value blank. Please go back and try again.';
|
||||
$lang['left_attr_blank'] = '属性値が空です。戻ってからもう一度試してください。';
|
||||
$lang['failed_to_add_attr'] = '属性の追加に失敗しました。';
|
||||
$lang['file_empty'] = 'The file you chose is either empty or does not exist. Please go back and try again.';
|
||||
$lang['invalid_file'] = 'Security error: The file being uploaded may be malicious.';
|
||||
$lang['warning_file_uploads_disabled'] = 'Your PHP configuration has disabled file uploads. Please check php.ini before proceeding.';
|
||||
$lang['uploaded_file_too_big'] = 'アップロードされたファイルが大きすぎます。php.ini の upload_max_size 設定を調べてください。';
|
||||
$lang['uploaded_file_partial'] = '選択したファイルは、部分的なアップロードさでした。The file you selected was only partially uploaded, likley due to a network error.';
|
||||
$lang['file_empty'] = 'あなたの選んだファイルは空か存在しないかのいずれかです。戻ってからもう一度試してください。';
|
||||
$lang['invalid_file'] = 'セキュリティエラー: アップロードされたファイルは悪意のあるものかもしれません。';
|
||||
$lang['warning_file_uploads_disabled'] = 'PHP の設定でファイルのアップロードが無効です。続行する前に、php.ini を確認してください。';
|
||||
$lang['uploaded_file_too_big'] = 'アップロードされたファイルが大きすぎます。php.ini の upload_max_size 設定を確認してください。';
|
||||
$lang['uploaded_file_partial'] = '選択したファイルは、部分的なアップロードでした。likley due to a network error.';
|
||||
$lang['max_file_size'] = '最大ファイルサイズ: %s';
|
||||
|
||||
// Updating values
|
||||
@ -217,22 +220,23 @@ $lang['change_password_new_login'] = 'パスワードを変更したので、今
|
||||
// Adding objectClass form
|
||||
$lang['new_required_attrs'] = '新規必須属性';
|
||||
$lang['requires_to_add'] = 'This action requires you to add';
|
||||
$lang['new_attributes'] = '新貴族性';
|
||||
$lang['new_attributes'] = '新規属性';
|
||||
$lang['new_required_attrs_instructions'] = 'Instructions: In order to add this objectClass to this entry, you must specify';
|
||||
$lang['that_this_oclass_requires'] = 'that this objectClass requires. You can do so in this form.';
|
||||
$lang['that_this_oclass_requires'] = 'それは objectClass に必要です。このフォームでそうすることができます。';
|
||||
$lang['add_oclass_and_attrs'] = 'ObjectClass と属性を追加';
|
||||
$lang['objectclasses'] = 'ObjectClasses';
|
||||
$lang['objectclasses'] = 'ObjectClass 一覧';
|
||||
|
||||
// General
|
||||
$lang['chooser_link_tooltip'] = 'Click to popup a dialog to select an entry (DN) graphically';
|
||||
$lang['no_updates_in_read_only_mode'] = 'You cannot perform updates while server is in read-only mode';
|
||||
$lang['no_updates_in_read_only_mode'] = 'サーバーは読み込みモードなので、更新を実行できません。';
|
||||
$lang['bad_server_id'] = '間違ったサーバー ID';
|
||||
$lang['not_enough_login_info'] = 'サーバーにログインする情報が不足しています。設定を確認してください。';
|
||||
$lang['could_not_connect'] = 'LDAP サーバーに接続できませんでした。';
|
||||
$lang['could_not_connect_to_host_on_port'] = '"%s" のポート "%s" に接続できませんでした';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'Could not perform ldap_mod_add operation.';
|
||||
$lang['bad_server_id_underline'] = 'Bad server_id: ';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'ldap_mod_add 操作を実行できませんでした。';
|
||||
$lang['bad_server_id_underline'] = '間違った server_id: ';
|
||||
$lang['home'] = 'ホーム';
|
||||
$lang['help'] = 'ヘルプ';
|
||||
$lang['success'] = '成功';
|
||||
$lang['server_colon_pare'] = 'サーバー: ';
|
||||
$lang['look_in'] = 'Looking in: ';
|
||||
@ -240,8 +244,8 @@ $lang['missing_server_id_in_query_string'] = '照会文字列にサーバー ID
|
||||
$lang['missing_dn_in_query_string'] = '照会文字列に DN が指定されていません!';
|
||||
$lang['back_up_p'] = 'バックアップ...';
|
||||
$lang['no_entries'] = 'エントリがありません';
|
||||
$lang['not_logged_in'] = 'Not logged in';
|
||||
$lang['could_not_det_base_dn'] = 'Could not determine base DN';
|
||||
$lang['not_logged_in'] = 'ログインしていません';
|
||||
$lang['could_not_det_base_dn'] = 'ベース DN を決定することが出来ませんでした';
|
||||
$lang['please_report_this_as_a_bug']='この不都合を報告してください。';
|
||||
$lang['reasons_for_error']='This could happen for several reasons, the most probable of which are:';
|
||||
$lang['yes']='はい';
|
||||
@ -257,7 +261,11 @@ $lang['bug'] = '不都合';
|
||||
$lang['warning'] = '警告';
|
||||
$lang['light'] = 'light'; // the word 'light' from 'light bulb'
|
||||
$lang['proceed_gt'] = '進む >>';
|
||||
|
||||
$lang['no_blowfish_secret'] = '$blowfish_secret が config.php で設定されていないので、phpLDAPadmin は安全に機密情報を暗号化と解読をすることができません。config.php を編集し、秘密文字列を $blowfish_secret に設定するする必要があります。';
|
||||
$lang['jpeg_dir_not_writable'] = 'phpLDAPadmin の設定ファイル config.php で、書き込み可能なディレクトリを $jpeg_temp_dir に設定してください。';
|
||||
$lang['jpeg_dir_not_writable_error'] = '$jpeg_temp_dir で指定したディレクトリ %s に書き込みできません。ウェブサーバーがそこにファイルを書き込みできることを確認してください。';
|
||||
$lang['jpeg_unable_toget'] = '属性 %s 用に LDAP サーバーから jpeg データを取得できませんでした。';
|
||||
$lang['jpeg_delete'] = '写真を削除';
|
||||
|
||||
// Add value form
|
||||
$lang['add_new'] = '新規追加';
|
||||
@ -265,14 +273,14 @@ $lang['value_to'] = 'value to';
|
||||
$lang['distinguished_name'] = '関連名';
|
||||
$lang['current_list_of'] = 'Current list of';
|
||||
$lang['values_for_attribute'] = '属性の値';
|
||||
$lang['inappropriate_matching_note'] = 'Note: You will get an "inappropriate matching" error if you have not setup an EQUALITY rule on your LDAP server for this attribute.';
|
||||
$lang['inappropriate_matching_note'] = '注: LDAP サーバーでこの属性の EQUALITY ルールをセットアップしていなかった場合、"inappropriate matching" エラーを取得するでしょう。';
|
||||
$lang['enter_value_to_add'] = 'Enter the value you would like to add:';
|
||||
$lang['new_required_attrs_note'] = 'Note: you may be required to enter new attributes that this objectClass requires';
|
||||
$lang['syntax'] = 'Syntax';
|
||||
$lang['syntax'] = '文法';
|
||||
|
||||
//copy.php
|
||||
$lang['copy_server_read_only'] = 'You cannot perform updates while server is in read-only mode';
|
||||
$lang['copy_dest_dn_blank'] = 'You left the destination DN blank.';
|
||||
$lang['copy_server_read_only'] = 'サーバーが読み込みモードなので、更新を行うことができません。';
|
||||
$lang['copy_dest_dn_blank'] = '対象 DN がブランクで残されました。';
|
||||
$lang['copy_dest_already_exists'] = '対象エントリ (%s) は既に存在します。';
|
||||
$lang['copy_dest_container_does_not_exist'] = '対象先コンテナー (%s) は存在しません。';
|
||||
$lang['copy_source_dest_dn_same'] = '対象元と対象先 DN が同じです。';
|
||||
@ -291,8 +299,8 @@ $lang['must_choose_template'] = 'テンプレートを選ばなければなり
|
||||
$lang['invalid_template'] = '%s は無効なテンプレート';
|
||||
$lang['using_template'] = '使用中のテンプレート';
|
||||
$lang['go_to_dn'] = '%s に移動';
|
||||
+$lang['structural_object_class_cannot_remove'] = 'これは構造 ObjectClass なので削除できませんでした。';
|
||||
+$lang['structural'] = '構造';
|
||||
$lang['structural_object_class_cannot_remove'] = 'これは構造 ObjectClass なので削除できませんでした。';
|
||||
$lang['structural'] = '構造';
|
||||
|
||||
//copy_form.php
|
||||
$lang['copyf_title_copy'] = 'コピー ';
|
||||
@ -300,16 +308,18 @@ $lang['copyf_to_new_object'] = 'to a new object';
|
||||
$lang['copyf_dest_dn'] = '対象 DN';
|
||||
$lang['copyf_dest_dn_tooltip'] = 'The full DN of the new entry to be created when copying the source entry';
|
||||
$lang['copyf_dest_server'] = '対象サーバー';
|
||||
$lang['copyf_note'] = 'Hint: Copying between different servers only works if there are no schema violations';
|
||||
$lang['copyf_note'] = 'Hint: スキーマ違反がなければ、異なるサーバー間のコピー処理のみ行います。';
|
||||
$lang['copyf_recursive_copy'] = '同様にこのオブジェクトのすべての子を再帰コピーします。';
|
||||
$lang['recursive_copy'] = '再帰コピー';
|
||||
$lang['filter'] = 'Filter';
|
||||
$lang['filter'] = 'フィルター';
|
||||
$lang['search_filter'] = '検索フィルター';
|
||||
$lang['filter_tooltip'] = 'When performing a recursive copy, only copy those entries which match this filter';
|
||||
$lang['filter_tooltip'] = '再帰的なコピーを行なう場合、このフィルタと一致するエントリのみコピーしてください。';
|
||||
$lang['delete_after_copy'] = 'コピーの後に削除 (移動):';
|
||||
$lang['delete_after_copy_warn'] = 'Make sure your filter (above) will select all child records.';
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute'] = 'You left the value blank for required attribute (%s).';
|
||||
$lang['redirecting'] = 'Redirecting...';
|
||||
$lang['redirecting'] = 'リダイレクト中...';
|
||||
$lang['here'] = 'ここ';
|
||||
$lang['create_could_not_add'] = 'LDAP サーバーにオブジェクトを追加できませんでした。';
|
||||
|
||||
@ -318,10 +328,10 @@ $lang['createf_create_object'] = 'オブジェクト作成';
|
||||
$lang['createf_choose_temp'] = 'テンプレート選択';
|
||||
$lang['createf_select_temp'] = '作成処理のテンプレートを選択';
|
||||
$lang['save_as_file'] = 'ファイルに保存';
|
||||
$lang['rdn_field_blank'] = 'You left the RDN field blank.';
|
||||
$lang['rdn_field_blank'] = 'RDN フィールドが空です。';
|
||||
$lang['container_does_not_exist'] = '指定したコンテナー(%s)が存在しません。もう一度行ってください。';
|
||||
$lang['no_objectclasses_selected'] = 'You did not select any ObjectClasses for this object. Please go back and do so.';
|
||||
$lang['hint_structural_oclass'] = 'ヒント: You must choose exactly one structural objectClass (shown in bold above)';
|
||||
$lang['no_objectclasses_selected'] = 'このオブジェクトのためのいくつかの ObjectClass を選択しませんでした。戻ってそのように実行してください。';
|
||||
$lang['hint_structural_oclass'] = 'ヒント: ひとつの構造 objectClass を選択しなければなりません (上で強調表示されています)';
|
||||
|
||||
//creation_template.php
|
||||
$lang['ctemplate_on_server'] = 'サーバー';
|
||||
@ -365,16 +375,16 @@ $lang['sounds like'] = 'に近い';
|
||||
|
||||
// server_info.php
|
||||
$lang['could_not_fetch_server_info'] = 'サーバーから LDAP 情報を取得できませんでした。これはあなたの PHP バージョンの<a href="http://bugs.php.net/bug.php?id=29587">不都合</a>によるかもしれません。あるいは、あなたの LDAP サーバーは、LDAP クライアントが RootDSE にアクセスするのを防ぐアクセス制御指定をしています。';
|
||||
$lang['server_info_for'] = 'Server info for: ';
|
||||
$lang['server_reports_following'] = 'Server reports the following information about itself';
|
||||
$lang['server_info_for'] = 'サーバー情報: ';
|
||||
$lang['server_reports_following'] = 'サーバーは自分自身で次の情報を報告しました。';
|
||||
$lang['nothing_to_report'] = 'このサーバーはなにも報告するものはありません。';
|
||||
|
||||
//update.php
|
||||
$lang['update_array_malformed'] = 'update_array がオカシイです。This might be a phpLDAPadmin bug. Please report it.';
|
||||
$lang['update_array_malformed'] = 'update_array がおかしいです。これは phpLDAPadmin のバグかもしれませんので、報告してください。';
|
||||
$lang['could_not_perform_ldap_modify'] = 'ldap_modify 操作が実行できませんでした。';
|
||||
|
||||
// update_confirm.php
|
||||
$lang['do_you_want_to_make_these_changes'] = 'Do you want to make these changes?';
|
||||
$lang['do_you_want_to_make_these_changes'] = '変更をしたいですか?';
|
||||
$lang['attribute'] = '属性';
|
||||
$lang['old_value'] = '古い値';
|
||||
$lang['new_value'] = '新しい値';
|
||||
@ -382,20 +392,19 @@ $lang['attr_deleted'] = '[属性を削除しました]';
|
||||
$lang['commit'] = 'コミット';
|
||||
$lang['cancel'] = '取り消し';
|
||||
$lang['you_made_no_changes'] = '変更はありません';
|
||||
$lang['go_back'] = 'Go back';
|
||||
$lang['go_back'] = '戻る';
|
||||
$lang['unable_create_samba_pass'] = 'samba パスワードを作成できませんでした。template_conf.php の設定を確認してください。';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note'] = '左へのメニューを使用して捜査します';
|
||||
$lang['welcome_note'] = '左へのメニューを使用して操作します';
|
||||
$lang['credits'] = 'クレジット';
|
||||
$lang['changelog'] = '変更履歴';
|
||||
$lang['donate'] = '寄贈';
|
||||
$lang['donate'] = '寄附';
|
||||
$lang['pla_logo'] = 'phpLDAPadmin ロゴ';
|
||||
|
||||
// Donate.php
|
||||
$lang['donation_instructions'] = 'phpLDAPadmin プロジェクトに資金を寄贈するためには、PayPal ボタンのうちの 1 つを下に使用してください。';
|
||||
$lang['donate_amount'] = '%s を寄贈';
|
||||
$lang['wish_list_option'] = 'Or perhaps you would prefer to purchase an gift for a phpLDAPadmin developer.';
|
||||
$lang['wish_list'] = 'Dave\'s phpLDAPadmin のゐっ主リストを閲覧';
|
||||
|
||||
$lang['purge_cache'] = 'キャッシュ破棄';
|
||||
$lang['no_cache_to_purge'] = '破棄するキャッシュはありませんでした。';
|
||||
@ -407,44 +416,44 @@ $lang['unsafe_file_name'] = '安全でないファイル名: ';
|
||||
$lang['no_such_file'] = 'ファイルがありません: ';
|
||||
|
||||
//function.php
|
||||
$lang['auto_update_not_setup'] = 'You have enabled auto_uid_numbers for <b>%s</b> in your configuration,
|
||||
but you have not specified the auto_uid_number_mechanism. Please correct
|
||||
this problem.';
|
||||
$lang['uidpool_not_set'] = 'You specified the "auto_uid_number_mechanism" as "uidpool"
|
||||
in your configuration for server <b>%s</b>, but you did not specify the
|
||||
audo_uid_number_uid_pool_dn. Please specify it before proceeding.';
|
||||
$lang['auto_update_not_setup'] = '設定ファイルの <b>%s</b>You の auto_uid_numbers が有効ですが、
|
||||
auto_uid_number_mechanism が指定されていません。
|
||||
この問題を修正してください。.';
|
||||
$lang['uidpool_not_set'] = 'サーバー <b>%s</b> の設定で、"auto_uid_number_mechanism" を "uidpool" に指定していますが、
|
||||
audo_uid_number_uid_pool_dn を指定していません。
|
||||
続行する前にそれを指定してください';
|
||||
$lang['uidpool_not_exist'] = 'It appears that the uidPool you specified in your configuration ("%s")
|
||||
does not exist.';
|
||||
$lang['specified_uidpool'] = 'You specified the "auto_uid_number_mechanism" as "search" in your
|
||||
configuration for server <b>%s</b>, but you did not specify the
|
||||
"auto_uid_number_search_base". Please specify it before proceeding.';
|
||||
$lang['auto_uid_invalid_credential'] = 'Unable to bind to <b>%s</b> with your with auto_uid credentials. Please check your configuration file.';
|
||||
$lang['bad_auto_uid_search_base'] = 'Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s';
|
||||
$lang['auto_uid_invalid_value'] = 'You specified an invalid value for auto_uid_number_mechanism ("%s")
|
||||
in your configration. Only "uidpool" and "search" are valid.
|
||||
Please correct this problem.';
|
||||
$lang['error_auth_type_config'] = 'Error: You have an error in your config file. The only three allowed values
|
||||
for auth_type in the $servers section are \'session\', \'cookie\', and \'config\'. You entered \'%s\',
|
||||
which is not allowed. ';
|
||||
$lang['unique_attrs_invalid_credential'] = 'Unable to bind to <b>%s</b> with your with unique_attrs credentials. Please check your configuration file.';
|
||||
$lang['unique_attr_failed'] = 'Your attempt to add <b>%s</b> (<i>%s</i>) to <br><b>%s</b><br> is NOT allowed. That attribute/value belongs to another entry.<p>You might like to <a href=\'%s\'>search</a> for that entry.';
|
||||
$lang['specified_uidpool'] = 'サーバー <b>%s</b> の設定で「search」に「auto_uid_number_mechanism」を指定しました。
|
||||
しかし「auto_uid_number_search_base」が指定されていません。
|
||||
これを実行前に指定してください。';
|
||||
$lang['auto_uid_invalid_credential'] = 'Unable to bind to <b>%s</b> with your with auto_uid credentials. 設定ファイルを確認してください。';
|
||||
$lang['bad_auto_uid_search_base'] = 'phpLDAPadmin の設定で、サーバー %s に無効な auto_uid_search_base が指定されました';
|
||||
$lang['auto_uid_invalid_value'] = '設定ファイルの auto_uid_number_mechanism の指定が間違った値("%s")です。
|
||||
"uidpool" と "search" のみ有効です。
|
||||
この問題を修正してください。';
|
||||
$lang['error_auth_type_config'] = 'エラー: 設定ファイルのにエラーがあります。$servers セクションの auth_type は
|
||||
「session」「cookie」「config」のみっつの値のみ許可されていますが、
|
||||
許可されない「%s」が入力されました。';
|
||||
$lang['unique_attrs_invalid_credential'] = 'Unable to bind to <b>%s</b> with your with unique_attrs credentials. 設定ファイルを確認してください。';
|
||||
$lang['unique_attr_failed'] = '<b>%s</b> (<i>%s</i>) の <b>%s</b> への追加の試みは許可<b>されていません</b>。<br />その属性/値は別のエントリが所有しています。<p>そのエントリを<a href=\'%s\'>検索</a>などするしょう。';
|
||||
$lang['php_install_not_supports_tls'] = 'インストールされている PHP は TLS をサポートしていません。';
|
||||
$lang['could_not_start_tls'] = 'TLS を開始できません。LDAP サーバーの設定を確認してください。';
|
||||
$lang['could_not_bind_anon'] = 'サーバーに匿名接続できませんでした。';
|
||||
$lang['could_not_bind'] = 'LDAP サーバーに接続できませんでした。';
|
||||
$lang['anonymous_bind'] = '匿名接続';
|
||||
$lang['bad_user_name_or_password'] = 'ユーザー名かパスワードがおかしいです。もう一度行ってください。';
|
||||
$lang['redirecting_click_if_nothing_happens'] = 'Redirecting... Click here if nothing happens.';
|
||||
$lang['successfully_logged_in_to_server'] = 'サーバー <b>%s</b>へのログインに成功しました';
|
||||
$lang['redirecting_click_if_nothing_happens'] = 'リダイレクト中... もし何も起こらなかったらここをクリックしてください。';
|
||||
$lang['successfully_logged_in_to_server'] = 'サーバー <b>%s</b> へのログインに成功しました';
|
||||
$lang['could_not_set_cookie'] = 'cookie を設定できませんでした。';
|
||||
$lang['ldap_said'] = 'LDAP 回答: %s';
|
||||
$lang['ldap_said'] = 'LDAP の回答: %s';
|
||||
$lang['ferror_error'] = 'エラー';
|
||||
$lang['fbrowse'] = '閲覧';
|
||||
$lang['delete_photo'] = '写真削除';
|
||||
$lang['install_not_support_blowfish'] = 'インストールされた PHP は blowfish 暗号化をサポートしていません。';
|
||||
$lang['install_not_support_md5crypt'] = 'インストールされた PHP は md5crypt 暗号化をサポートしていません。';
|
||||
$lang['install_no_mash'] = 'インストールされた PHP は mhash() をサポートしていません。SHA ハッシュをすることができません。';
|
||||
$lang['jpeg_contains_errors'] = 'jpegPhoto contains errors<br />';
|
||||
$lang['jpeg_contains_errors'] = 'エラーを含む jpeg 写真<br />';
|
||||
$lang['ferror_number'] = 'エラー番号: %s (%s)';
|
||||
$lang['ferror_discription'] = '説明: %s <br /><br />';
|
||||
$lang['ferror_number_short'] = 'エラー番号: %s<br /><br />';
|
||||
@ -511,7 +520,7 @@ $lang['searching'] = '検索中...';
|
||||
$lang['size_limit_exceeded'] = '通知です。検索サイズが制限を越えました。';
|
||||
$lang['entry'] = 'エントリ';
|
||||
$lang['ldif_export_for_dn'] = 'LDIF エクスポート: %s';
|
||||
$lang['generated_on_date'] = 'Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s';
|
||||
$lang['generated_on_date'] = '%s に phpLDAPadmin ( http://www.phpldapadmin.com/ ) で生成しました。';
|
||||
$lang['total_entries'] = '総エントリ';
|
||||
$lang['dsml_export_for_dn'] = 'DSLM エクスポート: %s';
|
||||
$lang['include_system_attrs'] = 'システム属性を含む';
|
||||
@ -519,19 +528,20 @@ $lang['csv_spreadsheet'] = 'CSV (スプレッドシート)';
|
||||
|
||||
// logins
|
||||
$lang['could_not_find_user'] = 'ユーザー "%s" が見つかりません';
|
||||
$lang['password_blank'] = 'You left the password blank.';
|
||||
$lang['password_blank'] = 'パスワードが空です。';
|
||||
$lang['login_cancelled'] = 'ログインが取り消されました。';
|
||||
$lang['no_one_logged_in'] = 'No one is logged in to that server.';
|
||||
$lang['could_not_logout'] = 'ログアウトできませんでした。';
|
||||
$lang['unknown_auth_type'] = '未知の auth_type: %s';
|
||||
$lang['logged_out_successfully'] = 'サーバー <b>%s</b> からログアウトに成功しました';
|
||||
$lang['authenticate_to_server'] = 'Authenticate to server %s';
|
||||
$lang['authenticate_to_server'] = 'サーバー %s へ認証';
|
||||
$lang['warning_this_web_connection_is_unencrypted'] = '警告: このウェブ接続は暗号化されていません。';
|
||||
$lang['not_using_https'] = 'You are not using \'https\'. Web browser will transmit login information in clear text.';
|
||||
$lang['not_using_https'] = 'あなたは \'https\' を使っていません。ログイン情報はブラウザからクリアテキストで送信されます、';
|
||||
$lang['login_dn'] = 'ログイン DN';
|
||||
$lang['user_name'] = 'ユーザー名';
|
||||
$lang['password'] = 'パスワード';
|
||||
$lang['authenticate'] = 'Authenticate';
|
||||
$lang['login_not_allowed'] = 'すみません、この LDAP サーバーと phpLDAPadmin を使用することを許可していません。';
|
||||
|
||||
// Entry browser
|
||||
$lang['entry_chooser_title'] = 'エントリ選択';
|
||||
@ -563,7 +573,7 @@ $lang['could_not_rename'] = 'エントリの名称変更が出来ませんでし
|
||||
|
||||
// General errors
|
||||
$lang['php5_unsupported'] = 'phpLDAPadmin は PHP 5 をサポートしていません。You will likely encounter many weird problems if you continue.';
|
||||
$lang['mismatched_search_attr_config'] = '設定にエラーがあります。$search_attributes must have the same number of attributes as $search_attributes_display.';
|
||||
$lang['mismatched_search_attr_config'] = '設定にエラーがあります。$search_attributes は $search_attributes_display の属性と同じ数を持たなければいけません。';
|
||||
|
||||
// Password checker
|
||||
$lang['passwords_match'] = 'パスワードが一致しました!';
|
||||
@ -572,4 +582,100 @@ $lang['password_checker_tool'] = 'パスワードチェックツール';
|
||||
$lang['compare'] = '比較';
|
||||
$lang['to'] = 'To';
|
||||
|
||||
// Templates
|
||||
$lang['using'] = 'Using the';
|
||||
$lang['template'] = 'テンプレート';
|
||||
$lang['switch_to'] = 'You may switch to the ';
|
||||
$lang['default_template'] = 'デフォルトテンプレート';
|
||||
|
||||
// template_config
|
||||
$lang['user_account'] = 'ユーザーアカウント (posixAccount)';
|
||||
$lang['address_book_inet'] = 'アドレス帳エントリ (inetOrgPerson)';
|
||||
$lang['address_book_moz'] = 'アドレス帳エントリ (mozillaOrgPerson)';
|
||||
$lang['kolab_user'] = 'Kolab ユーザーエントリ';
|
||||
$lang['organizational_unit'] = '所属組織';
|
||||
$lang['organizational_role'] = '所属職務';
|
||||
$lang['posix_group'] = 'Posix グループ';
|
||||
$lang['samba_machine'] = 'Samba NT マシン';
|
||||
$lang['samba3_machine'] = 'Samba 3 NT マシン';
|
||||
$lang['samba_user'] = 'Samba ユーザー';
|
||||
$lang['samba3_user'] = 'Samba 3 ユーザー';
|
||||
$lang['samba3_group'] = 'Samba 3 グループマップ';
|
||||
$lang['dns_entry'] = 'DNS エントリ';
|
||||
$lang['simple_sec_object'] = '簡易セキュリティオブジェクト';
|
||||
$lang['courier_mail_account'] = 'Courier メールアカウント';
|
||||
$lang['courier_mail_alias'] = 'Courier メール別名';
|
||||
$lang['ldap_alias'] = 'LDAP 別名';
|
||||
$lang['sendmail_cluster'] = 'Sendmail クラスター';
|
||||
$lang['sendmail_domain'] = 'Sendmail ドメイン';
|
||||
$lang['sendmail_alias'] = 'Sendmail エイリアス';
|
||||
$lang['sendmail_virt_dom'] = 'Sendmail 仮想ドメイン';
|
||||
$lang['sendmail_virt_users'] = 'Sendmail 仮想ユーザー';
|
||||
$lang['sendmail_relays'] = 'Sendmail リレー';
|
||||
$lang['custom'] = 'カスタム';
|
||||
$lang['samba_domain_name'] = '自分の Samba ドメイン名';
|
||||
$lang['administrators'] = 'Administrators';
|
||||
$lang['users'] = 'Users';
|
||||
$lang['guests'] = 'Guests';
|
||||
$lang['power_users'] = 'Power Users';
|
||||
$lang['account_ops'] = 'Account Operators';
|
||||
$lang['server_ops'] = 'Server Operators';
|
||||
$lang['print_ops'] = 'Print Operators';
|
||||
$lang['backup_ops'] = 'backup Operators';
|
||||
$lang['replicator'] = 'Replicator';
|
||||
$lang['unable_smb_passwords'] = ' Samba のパスワードを作成できませんでした。template_config.php の設定を確認してください。';
|
||||
$lang['err_smb_conf'] = 'エラー: samba の設定にエラーがあります。';
|
||||
$lang['err_smb_no_name_sid'] = 'エラー: samba ドメインの名前および sid を提供する必要があります。';
|
||||
$lang['err_smb_no_name'] = 'エラー: 名前は samba ドメインに提供されませんでした。';
|
||||
$lang['err_smb_no_sid'] = 'エラー: sid は samba ドメインに提供されませんでした。';
|
||||
|
||||
// Samba Account Template
|
||||
$lang['samba_account'] = 'Samba アカウント';
|
||||
$lang['samba_account_lcase'] = 'samba アカウント';
|
||||
|
||||
// New User (Posix) Account
|
||||
$lang['t_new_user_account'] = '新規ユーザーアカウント';
|
||||
$lang['t_hint_customize'] = 'ヒント: このテンプレートをカスタマイズする場合、ファイル templates/creation/new_user_template.php を編集します。';
|
||||
$lang['t_name'] = '名前';
|
||||
$lang['t_first_name'] = '名前';
|
||||
$lang['t_last_name'] = '苗字';
|
||||
$lang['t_first'] = 'first';
|
||||
$lang['t_last'] = 'last';
|
||||
$lang['t_common_name'] = '共通名';
|
||||
$lang['t_user_name'] = 'ユーザー名';
|
||||
$lang['t_password'] = 'パスワード';
|
||||
$lang['t_encryption'] = '暗号化';
|
||||
$lang['t_login_shell'] = 'ログインシェル';
|
||||
$lang['t_home_dir'] = 'ホームディレクトリ';
|
||||
$lang['t_uid_number'] = 'UID 番号';
|
||||
$lang['t_auto_det'] = '(自動採決)';
|
||||
$lang['t_group'] = 'グループ';
|
||||
$lang['t_gid_number'] = 'GID 番号';
|
||||
$lang['t_err_passwords'] = 'パスワードが一致しません。戻ってからもう一度試してください。';
|
||||
$lang['t_err_field_blank'] = '%s ブランクを残すことはできません。戻ってからもう一度試してください。';
|
||||
$lang['t_err_field_num'] = 'フィールド %s は数値のみ入力で出来ます。戻ってからもう一度試してください。';
|
||||
$lang['t_err_bad_container'] = '指定した内容(%s)は存在しません。戻ってからもう一度試してください。';
|
||||
$lang['t_confirm_account_creation'] = 'アカウント作成確認';
|
||||
$lang['t_secret'] = '[secret]';
|
||||
$lang['t_create_account'] = 'アカウント作成';
|
||||
|
||||
// New Address Template
|
||||
$lang['t_new_address'] = '新規アドレス帳エントリ';
|
||||
$lang['t_organization'] = '組織';
|
||||
$lang['t_address'] = '住所';
|
||||
$lang['t_city'] = '都市';
|
||||
$lang['t_postal_code'] = '郵便番号';
|
||||
$lang['t_street'] = '築町村';
|
||||
$lang['t_work_phone'] = '業務電話';
|
||||
$lang['t_fax'] = 'Fax';
|
||||
$lang['t_mobile'] = '携帯電話';
|
||||
$lang['t_email'] = '電子メール';
|
||||
$lang['t_container'] = 'コンテナー';
|
||||
$lang['t_err_cn_blank'] = '一般名を空にすることは出来ません。戻ってからもう一度試してください。';
|
||||
$lang['t_confim_creation'] = 'エントリ作成の確認:';
|
||||
$lang['t_create_address'] = 'アドレス作成';
|
||||
|
||||
// default template
|
||||
$lang['t_check_pass'] = 'パスワード検査...';
|
||||
|
||||
?>
|
||||
|
135
lang/pl.php
135
lang/pl.php
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/pl.php,v 1.10 2004/12/09 14:16:15 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/pl.php,v 1.13 2005/03/25 01:15:27 wurley Exp $
|
||||
|
||||
/* --- INSTRUCTIONS FOR TRANSLATORS ---
|
||||
*
|
||||
@ -16,10 +16,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/* $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/pl.php,v 1.10 2004/12/09 14:16:15 uugdave Exp $
|
||||
/* $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/pl.php,v 1.13 2005/03/25 01:15:27 wurley Exp $
|
||||
* initial translation from Piotr (DrFugazi) Tarnowski on Version 0.9.3
|
||||
*/
|
||||
// Based on en.php version 1.80
|
||||
// Based on en.php version 1.120
|
||||
|
||||
// Search form
|
||||
$lang['simple_search_form_str'] = 'Wyszukiwanie proste';
|
||||
@ -29,7 +29,6 @@ $lang['search_for_entries_whose'] = 'Szukaj wpis
|
||||
$lang['base_dn'] = 'Bazowa DN';
|
||||
$lang['search_scope'] = 'Zakres przeszukiwania';
|
||||
$lang['show_attributes'] = 'Poka¿ atrybuty';
|
||||
$lang['attributes'] = 'Atrybuty';
|
||||
$lang['Search'] = 'Szukaj';
|
||||
$lang['equals'] = 'równa siê';
|
||||
$lang['contains'] = 'zawiera';
|
||||
@ -42,10 +41,12 @@ $lang['format'] = 'Format';
|
||||
$lang['list'] = 'lista';
|
||||
$lang['table'] = 'tabela';
|
||||
$lang['bad_search_display'] = 'W Twojej konfiguracji (config.php) okre¶lona jest nieprawid³owa warto¶æ dla $default_search_display: %s. Proszê to poprawiæ';
|
||||
$lang['page_n'] = 'Strona %d';
|
||||
$lang['no_results'] = 'Wyszukiwanie nie przyniosło żadnych rezultatów.';
|
||||
|
||||
// Tree browser
|
||||
$lang['request_new_feature'] = 'Zg³o¶ zapotrzebowanie na now± funkcjonalno¶æ';
|
||||
$lang['report_bug'] = 'Zg³o¶ b³±d (report a bug)';
|
||||
$lang['request_new_feature'] = 'Zgłoś zapotrzebowanie';
|
||||
$lang['report_bug'] = 'Zgłoś błąd';
|
||||
$lang['schema'] = 'schemat';
|
||||
$lang['search'] = 'szukaj';
|
||||
$lang['create'] = 'utwórz';
|
||||
@ -53,7 +54,7 @@ $lang['info'] = 'info';
|
||||
$lang['import'] = 'import';
|
||||
$lang['refresh'] = 'od¶wie¿';
|
||||
$lang['logout'] = 'wyloguj';
|
||||
$lang['create_new'] = 'Utwórz nowy';
|
||||
$lang['create_new'] = 'Utwórz nowy wpis';
|
||||
$lang['view_schema_for'] = 'Poka¿ schemat dla';
|
||||
$lang['refresh_expanded_containers'] = 'Od¶wie¿ wszystkie otwarte kontenery dla';
|
||||
$lang['create_new_entry_on'] = 'Utwórz nowy wpis na';
|
||||
@ -62,6 +63,8 @@ $lang['view_server_info'] = 'Poka
|
||||
$lang['import_from_ldif'] = 'Importuj wpisy z pliku LDIF';
|
||||
$lang['logout_of_this_server'] = 'Wyloguj z tego serwera';
|
||||
$lang['logged_in_as'] = 'Zalogowany/a jako: ';
|
||||
$lang['this_base_dn_is_not_valid'] = 'To nie jest prawidłowa DN.';
|
||||
$lang['this_base_dn_does_not_exist'] = 'Ten wpis nie istnieje';
|
||||
$lang['read_only'] = 'tylko-do-odczytu';
|
||||
$lang['read_only_tooltip'] = 'Ten atrybut zosta³ oznaczony przez administratora phpLDAPadmin jako tylko-do-odczytu';
|
||||
$lang['could_not_determine_root'] = 'Nie mo¿na ustaliæ korzenia Twojego drzewa LDAP.';
|
||||
@ -70,11 +73,13 @@ $lang['please_specify_in_config'] = 'Prosz
|
||||
$lang['create_new_entry_in'] = 'Utwórz nowy wpis w';
|
||||
$lang['login_link'] = 'Logowanie...';
|
||||
$lang['login'] = 'login';
|
||||
|
||||
$lang['base_entry_does_not_exist'] = 'Ten wpis bazowy nie istnieje';
|
||||
$lang['create_it'] = 'Utworzyć ?';
|
||||
|
||||
// Entry display
|
||||
$lang['delete_this_entry'] = 'Usuñ ten wpis';
|
||||
$lang['delete_this_entry_tooltip'] = 'Bêdziesz poproszony/a o potwierdzenie tej decyzji';
|
||||
$lang['copy_this_entry'] = 'Skopiuj ten wpis';
|
||||
$lang['copy_this_entry'] = 'Skopiuj lub przenieś ten wpis';
|
||||
$lang['copy_this_entry_tooltip'] = 'Skopiuj ten obiekt do innej lokalizacji, nowej DN, lub do innego serwera';
|
||||
$lang['export'] = 'Eksportuj';
|
||||
$lang['export_lcase'] = 'eksportuj';
|
||||
@ -112,6 +117,7 @@ $lang['binary_value'] = 'Warto
|
||||
$lang['add_new_binary_attr'] = 'Dodaj nowy atrybut binarny';
|
||||
$lang['alias_for'] = 'Uwaga: \'%s\' jest aliasem dla \'%s\'';
|
||||
$lang['required_for'] = 'Atrybut wymagany dla klas(y) obiektu %s';
|
||||
$lang['required_by_entry'] = 'Ten atrybut jest wymagany dla RDN';
|
||||
$lang['download_value'] = 'pobierz (download) warto¶æ';
|
||||
$lang['delete_attribute'] = 'usuñ atrybut';
|
||||
$lang['true'] = 'prawda';
|
||||
@ -121,13 +127,10 @@ $lang['really_delete_attribute'] = 'Definitywnie usu
|
||||
$lang['add_new_value'] = 'Dodaj now± warto¶æ';
|
||||
|
||||
// Schema browser
|
||||
$lang['the_following_objectclasses'] = 'Nastêpuj±ce klasy obiektu s± wspierane przez ten serwer LDAP.';
|
||||
$lang['the_following_attributes'] = 'Nastêpuj±ce typy atrybutów s± wspierane przez ten serwer LDAP.';
|
||||
$lang['the_following_matching'] = 'Nastêpuj±ce regu³y dopasowania s± wspierane przez ten serwer LDAP.';
|
||||
$lang['the_following_syntaxes'] = 'Nastêpuj±ce sk³adnie s± wspierane przez ten serwer LDAP.';
|
||||
$lang['schema_retrieve_error_1']='Serwer nie wspiera w pe³ni protoko³u LDAP.';
|
||||
$lang['schema_retrieve_error_2']='Twoja wersja PHP niepoprawnie wykonuje zapytanie.';
|
||||
$lang['schema_retrieve_error_3']='Lub w ostateczno¶ci, phpLDAPadmin nie wie jak uzyskaæ schemat dla Twojego serwera.';
|
||||
$lang['schema_retrieve_error_3']='phpLDAPadmin nie wie jak uzyskać schemat z Twojego serwera.';
|
||||
$lang['schema_retrieve_error_4']='Lub w ostateczności, Twój serwer nie dostarcza tej informacji.';
|
||||
$lang['jump_to_objectclass'] = 'Skocz do klasy obiektu';
|
||||
$lang['view_schema_for_oclass'] = 'Poka¿ opis schematu dla tej klasy obiektu';
|
||||
$lang['jump_to_attr'] = 'Skocz do typu atrybutu';
|
||||
@ -224,17 +227,15 @@ $lang['not_enough_login_info'] = 'Brak wystarczaj
|
||||
$lang['could_not_connect'] = 'Nie mo¿na pod³±czyæ siê do serwera LDAP.';
|
||||
$lang['could_not_connect_to_host_on_port'] = 'Nie mo¿na pod³±czyæ siê do "%s" na port "%s"';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'Nie mo¿na dokonaæ operacji ldap_mod_add.';
|
||||
$lang['bad_server_id_underline'] = 'Z³y server_id: ';
|
||||
$lang['home'] = 'Strona główna';
|
||||
$lang['help'] = 'Pomoc';
|
||||
$lang['success'] = 'Sukces';
|
||||
$lang['server_colon_pare'] = 'Serwer: ';
|
||||
$lang['look_in'] = 'Szukam w: ';
|
||||
$lang['missing_server_id_in_query_string'] = 'Nie okre¶lono ID serwera w zapytaniu !';
|
||||
$lang['missing_dn_in_query_string'] = 'Nie okre¶lono DN w zapytaniu !';
|
||||
$lang['back_up_p'] = 'Do góry...';
|
||||
$lang['no_entries'] = 'brak wpisów';
|
||||
$lang['not_logged_in'] = 'Nie zalogowany/a';
|
||||
$lang['could_not_det_base_dn'] = 'Nie mo¿na okre¶liæ bazowego DN';
|
||||
$lang['please_report_this_as_a_bug']='Proszê zg³osiæ to jako b³±d.';
|
||||
$lang['reasons_for_error']='To mog³o zdarzyæ siê z kilku powodów, z których najbardziej prawdopodobne to:';
|
||||
$lang['yes']='Tak';
|
||||
$lang['no']='Nie';
|
||||
@ -243,12 +244,16 @@ $lang['delete']='Usu
|
||||
$lang['back']='Powrót';
|
||||
$lang['object']='obiekt';
|
||||
$lang['delete_all']='Usuñ wszystko';
|
||||
$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546';
|
||||
$lang['hint'] = 'wskazówka';
|
||||
$lang['bug'] = 'b³±d (bug)';
|
||||
$lang['warning'] = 'ostrze¿enie';
|
||||
$lang['light'] = '¿arówka'; // the word 'light' from 'light bulb'
|
||||
$lang['proceed_gt'] = 'Dalej >>';
|
||||
$lang['no_blowfish_secret'] = 'phpLDAPadmin nie może bezpiecznie szyfrować danych, ponieważ zmienna $blowfish_secret nie jest ustawiona w config.php. Należy wyedytować config.php i wpisać jakiś łańcuch znaków do zmiennej $blowfish_secret';
|
||||
$lang['jpeg_dir_not_writable'] = 'Proszę ustawić zmienną $jpeg_temp_dir w config.php na katalog z możliwością zapisu plików';
|
||||
$lang['jpeg_dir_not_writable_error'] = 'Nie można zapisać do katalogu $jpeg_temp_dir %s. Sprawdź proszę czy Twój serwer może zapisywać pliki w tym katalogu.';
|
||||
$lang['jpeg_unable_toget'] = 'Nie można pobrać danych jpeg z serwera LDAP dla atrybutu %s.';
|
||||
$lang['jpeg_delete'] = 'Usuń zdjęcie';
|
||||
|
||||
// Add value form
|
||||
$lang['add_new'] = 'Dodaj';
|
||||
@ -296,7 +301,9 @@ $lang['copyf_recursive_copy'] = 'Rekursywne kopiowanie wszystkich potomnych obie
|
||||
$lang['recursive_copy'] = 'Kopia rekursywna';
|
||||
$lang['filter'] = 'Filtr';
|
||||
$lang['filter_tooltip'] = 'Podczas rekursywnego kopiowania, kopiowane s± tylko wpisy pasuj±ce do filtra';
|
||||
|
||||
$lang['delete_after_copy'] = 'Usuń po skopiowaniu (przenieś):';
|
||||
$lang['delete_after_copy_warn'] = 'Upewnij się, że ustawienia filtra (powyżej) pozwalają na wybranie wszystkich rekordów podrzędnych.';
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute'] = 'Brak warto¶ci dla wymaganego atrybutu (%s).';
|
||||
$lang['redirecting'] = 'Przekierowujê';
|
||||
@ -307,17 +314,17 @@ $lang['create_could_not_add'] = 'Nie mo
|
||||
$lang['createf_create_object'] = 'Utwórz obiekt';
|
||||
$lang['createf_choose_temp'] = 'Wybierz szablon';
|
||||
$lang['createf_select_temp'] = 'Wybierz szablon dla procesu tworzenia';
|
||||
$lang['createf_proceed'] = 'Dalej';
|
||||
$lang['save_as_file'] = 'Zapisz jako';
|
||||
$lang['rdn_field_blank'] = 'Pozostawi³e¶/a¶ puste pole RDN.';
|
||||
$lang['container_does_not_exist'] = 'Kontener który okre¶li³e¶/a¶ (%s) nie istnieje. Spróbuj ponownie.';
|
||||
$lang['no_objectclasses_selected'] = 'Nie wybra³e¶/a¶ ¿adnych Klas Obiektu dla tego obiektu. Wróæ proszê i zrób to.';
|
||||
$lang['hint_structural_oclass'] = 'Wskazówka: Musisz wybraæ co najmniej jedn± strukturaln± klasê obiektu (wyró¿nion± pogrubieniem)';
|
||||
$lang['hint_structural_oclass'] = 'Wskazówka: Musisz wybrać dokładnie jedną strukturalną klasę obiektu (wyróżnioną pogrubieniem)';
|
||||
|
||||
//creation_template.php
|
||||
$lang['ctemplate_on_server'] = 'Na serwerze';
|
||||
$lang['ctemplate_no_template'] = 'Brak okre¶lenia szablonu w zmiennych POST.';
|
||||
$lang['ctemplate_config_handler'] = 'Twoja konfiguracja okre¶la handler';
|
||||
$lang['ctemplate_handler_does_not_exist'] = 'dla tego szablonu. Ale, ten handler nie istnieje w szablonach/tworzonym katalogu';
|
||||
$lang['template_not_readable'] = 'Twoja konfiguracja określa obsługę "%s" dla tego szablonu, ale tego pliku nie da się odczytać, ponieważ uprawnienia są zbyt restrykcyjne.';
|
||||
$lang['template_does_not_exist'] = 'Twoja konfiguracja określa obsługę "%s" dla tego szablonu, ale pliku obsługi nie ma w katalogu templates/creation.';
|
||||
$lang['create_step1'] = 'Krok 1 z 2: Nazwa i klasa/y obiektu';
|
||||
$lang['create_step2'] = 'Krok 2 z 2: Okre¶lenie atrybutów i warto¶ci';
|
||||
$lang['relative_distinguished_name'] = 'Relatywna Wyró¿niona Nazwa (RDN)';
|
||||
@ -350,7 +357,7 @@ $lang['ends with'] = 'ko
|
||||
$lang['sounds like'] = 'brzmi jak';
|
||||
|
||||
// server_info.php
|
||||
$lang['could_not_fetch_server_info'] = 'Nie mo¿na uzyskaæ informacji od serwera LDAP';
|
||||
$lang['could_not_fetch_server_info'] = 'Nie można uzyskać informacji od serwera LDAP. Może to być spowodowane <a href="http://bugs.php.net/bug.php?id=29587">błędem</a> w Twojej wersji PHP albo na przykład tym, że Twój serwer LDAP posiada listę kontroli dostępu nie zezwalającą na pobranie RootDSE klientom LDAP';
|
||||
$lang['server_info_for'] = 'Informacja o serwerze: ';
|
||||
$lang['server_reports_following'] = 'Serwer zwróci³ nastêpuj±ce informacje o sobie';
|
||||
$lang['nothing_to_report'] = 'Ten serwer nie chce nic powiedzieæ o sobie :).';
|
||||
@ -369,24 +376,30 @@ $lang['commit'] = 'Zatwierd
|
||||
$lang['cancel'] = 'Anuluj';
|
||||
$lang['you_made_no_changes'] = 'Nie dokonano ¿adnych zmian';
|
||||
$lang['go_back'] = 'Powrót';
|
||||
$lang['unable_create_samba_pass'] = 'Nie można utworzyć hasła dla samby. Sprawdź proszę swoją konfigurację w template_config.php';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note'] = 'U¿yj menu z lewej strony do nawigacji';
|
||||
$lang['credits'] = 'Lista p³ac';
|
||||
$lang['changelog'] = 'Historia zmian';
|
||||
$lang['donate'] = 'Wesprzyj projekt';
|
||||
$lang['purge_cache'] = 'Wyczy¶æ pamiêæ podrêczn±';
|
||||
$lang['pla_logo'] = 'phpLDAPadmin logo';
|
||||
|
||||
// Donate.php
|
||||
$lang['donation_instructions'] = 'Aby wesprzeć projekt phpLDAPadmin skorzystaj z jednego z przycisków PayPal umieszczonych poniżej';
|
||||
$lang['donate_amount'] = 'Wesprzyj kwotą %s';
|
||||
|
||||
$lang['purge_cache'] = 'Wyczyść cache';
|
||||
$lang['no_cache_to_purge'] = 'Nie ma czego czy¶ciæ.';
|
||||
$lang['done_purging_caches'] = 'Wyczyszczono %s bajtów pamiêci podrêcznej.';
|
||||
|
||||
$lang['done_purging_caches'] = 'Wyczyszczono %s bajtów pamięci podręcznej (cache).';
|
||||
$lang['purge_cache_tooltip'] = 'Czyści wszystkie dane podręczne (cache) w phpLDAPadmin, łącznie ze schematami serwera';
|
||||
|
||||
// view_jpeg_photo.php
|
||||
$lang['unsafe_file_name'] = 'Niebezpieczna nazwa pliku: ';
|
||||
$lang['no_such_file'] = 'Nie znaleziono pliku: ';
|
||||
|
||||
//function.php
|
||||
$lang['auto_update_not_setup'] = 'Zezwoli³e¶/a¶ na automatyczne nadawanie uid (auto_uid_numbers)
|
||||
dla <b>%s</b> w konfiguracji, ale nie okre¶li³e¶/a¶ mechanizmu
|
||||
(auto_uid_number_mechanism). Proszê skorygowaæ ten problem.';
|
||||
$lang['auto_update_not_setup'] = 'Zezwoliłeś/aś na automatyczne nadawanie uid (auto_uid_numbers) dla <b>%s</b> w konfiguracji, ale nie określiłeś/aś mechanizmu (auto_uid_number_mechanism). Proszę skorygować ten problem.';
|
||||
$lang['uidpool_not_set'] = 'Okre¶li³e¶/a¶ mechanizm autonumerowania uid "auto_uid_number_mechanism" jako "uidpool" w konfiguracji Twojego serwera <b>%s</b>, lecz nie okre¶li³e¶/a¶ audo_uid_number_uid_pool_dn. Proszê okre¶l to zanim przejdziesz dalej.';
|
||||
$lang['uidpool_not_exist'] = 'Wygl±da na to, ¿e uidPool, któr± okre¶li³e¶/a¶ w Twojej konfiguracji ("%s") nie istnieje.';
|
||||
$lang['specified_uidpool'] = 'Okre¶li³e¶/a¶ "auto_uid_number_mechanism" jako "search" w konfiguracji Twojego serwera <b>%s</b>, ale nie okre¶li³e¶/a¶ bazy "auto_uid_number_search_base". Zrób to zanim przejdziesz dalej.';
|
||||
@ -402,15 +415,15 @@ $lang['could_not_bind_anon'] = 'Nie mo
|
||||
$lang['could_not_bind'] = 'Nie mo¿na pod³±czyæ siê do serwera LDAP.';
|
||||
$lang['anonymous_bind'] = 'Pod³±czenie anonimowe';
|
||||
$lang['bad_user_name_or_password'] = 'Z³a nazwa u¿ytkownika lub has³o. Spróbuj ponownie.';
|
||||
$lang['redirecting_click_if_nothing_happens'] = 'Przekierowujê... Kliknij tutaj je¶li nic siê nie dzieje.';
|
||||
$lang['successfully_logged_in_to_server'] = 'Pomy¶lnie zalogowano do serwera <b>%s</b>';
|
||||
$lang['could_not_set_cookie'] = 'Nie mo¿na ustawiæ ciasteczka (cookie).';
|
||||
$lang['ldap_said'] = 'LDAP odpowiedzia³: %s';
|
||||
$lang['ferror_error'] = 'B³±d';
|
||||
$lang['fbrowse'] = 'przegl±daj';
|
||||
$lang['delete_photo'] = 'Usuñ fotografiê';
|
||||
$lang['install_not_support_blowfish'] = 'Twoja instalacja PHP nie wspiera szyfrowania blowfish.';
|
||||
$lang['install_not_support_md5crypt'] = 'Twoja instalacja PHP nie wspiera szyfrowania md5crypt.';
|
||||
$lang['install_not_support_ext_des'] = 'Twoja systemowa biblioteka crypt nie wspiera rozszerzonego szyfrowania DES';
|
||||
$lang['install_not_support_blowfish'] = 'Twoja systemowa biblioteka crypt nie wspiera szyfrowania blowfish.';
|
||||
$lang['install_not_support_md5crypt'] = 'Twoja systemowa biblioteka crypt nie wspiera szyfrowania md5crypt.';
|
||||
$lang['install_no_mash'] = 'Twoja instalacja PHP nie posiada funkcji mhash(). Nie mogê tworzyæ haszy SHA.';
|
||||
$lang['jpeg_contains_errors'] = 'jpegPhoto zawiera b³êdy<br />';
|
||||
$lang['ferror_number'] = 'B³±d numer: %s (%s)';
|
||||
@ -442,7 +455,6 @@ $lang['ferror_congrats_found_bug'] = 'Gratulacje ! Znalaz
|
||||
//ldif_import_form
|
||||
$lang['import_ldif_file_title'] = 'Importuj plik LDIF';
|
||||
$lang['select_ldif_file'] = 'Wybierz plik LDIF:';
|
||||
$lang['select_ldif_file_proceed'] = 'Dalej >>';
|
||||
$lang['dont_stop_on_errors'] = 'Nie zatrzymuj siê po napotkaniu b³êdów';
|
||||
|
||||
//ldif_import
|
||||
@ -453,7 +465,7 @@ $lang['modify_action'] = 'Modyfikowanie...';
|
||||
$lang['warning_no_ldif_version_found'] = 'Nie znaleziono numeru wersji. Przyjmujê 1.';
|
||||
$lang['valid_dn_line_required'] = 'Wymagana jest poprawna linia DN.';
|
||||
$lang['missing_uploaded_file'] = 'Brak wgrywanego pliku.';
|
||||
$lang['no_ldif_file_specified.'] = 'Nie okre¶lono pliku LDIF. Spróbuj ponownie.';
|
||||
$lang['no_ldif_file_specified'] = 'Nie określono pliku LDIF. Spróbuj ponownie.';
|
||||
$lang['ldif_file_empty'] = 'Wgrany plik LDIF jest pusty.';
|
||||
$lang['empty'] = 'pusty';
|
||||
$lang['file'] = 'Plik';
|
||||
@ -489,11 +501,10 @@ $lang['generated_on_date'] = 'Wygenerowane przez phpLDAPadmin ( http://phpldapad
|
||||
$lang['total_entries'] = '£±cznie wpisów';
|
||||
$lang['dsml_export_for_dn'] = 'Eksport DSLM dla: %s';
|
||||
$lang['include_system_attrs'] = 'Zawiera atrybuty systemowe';
|
||||
$lang['csv_spreadsheet'] = 'CVS (arkusz)';
|
||||
|
||||
// logins
|
||||
$lang['could_not_find_user'] = 'Nie mo¿na znale¼æ u¿ytkownika "%s"';
|
||||
$lang['password_blank'] = 'Pozostawi³e¶/a¶ puste has³o.';
|
||||
$lang['login_cancelled'] = 'Logowanie anulowane.';
|
||||
$lang['no_one_logged_in'] = 'Nikt nie jest zalogowany do tego serwera.';
|
||||
$lang['could_not_logout'] = 'Nie mo¿na wylogowaæ.';
|
||||
$lang['unknown_auth_type'] = 'Nieznany auth_type: %s';
|
||||
@ -505,6 +516,7 @@ $lang['login_dn'] = 'Login DN';
|
||||
$lang['user_name'] = 'Nazwa u¿ytkownika';
|
||||
$lang['password'] = 'Has³o';
|
||||
$lang['authenticate'] = 'Zaloguj';
|
||||
$lang['login_not_allowed'] = 'Przykro mi, ale nie masz uprawnień aby korzystać z phpLDAPadmin na tym serwerze LDAP.';
|
||||
|
||||
// Entry browser
|
||||
$lang['entry_chooser_title'] = 'Wybór wpisu';
|
||||
@ -534,15 +546,25 @@ $lang['no_rdn_change'] = 'Nie zmieni
|
||||
$lang['invalid_rdn'] = 'B³êdna warto¶æ RDN';
|
||||
$lang['could_not_rename'] = 'Nie mo¿na zmieniæ nazwy wpisu';
|
||||
|
||||
// General errors
|
||||
$lang['mismatched_search_attr_config'] = 'Twoja konfiguracja zawiera błąd. $search_attributes musi posiadać tą samą ilość atrybutów co $search_attributes_display.';
|
||||
|
||||
// Password checker
|
||||
$lang['passwords_match'] = 'Hasła zgodne !';
|
||||
$lang['passwords_do_not_match'] = 'Hasła nie zgadzają się !';
|
||||
$lang['password_checker_tool'] = 'Narzędzie do sprawdzania haseł';
|
||||
$lang['compare'] = 'Porównaj';
|
||||
$lang['to'] = 'Do';
|
||||
|
||||
// Templates
|
||||
$lang['using'] = 'U¿ywaj±c';
|
||||
$lang['template'] = 'szablonu';
|
||||
$lang['switch_to'] = 'Mo¿esz prze³±czyæ siê do ';
|
||||
$lang['default_template'] = 'domy¶lnego szablonu';
|
||||
|
||||
// template_config
|
||||
$lang['user_account'] = 'Konto U¿ytkownika (posixAccount)';
|
||||
$lang['address_book'] = 'Wpis Ksi±¿ki Adresowej (inetOrgPerson)';
|
||||
$lang['address_book_inet'] = 'Wpis Książki Adresowej (inetOrgPerson)';
|
||||
$lang['address_book_moz'] = 'Wpis Książki Adresowej (mozillaOrgPerson)';
|
||||
$lang['kolab_user'] = 'Wpis U¿ytkownika Kolab';
|
||||
$lang['organizational_unit'] = 'Jednostka Organizacyjna';
|
||||
$lang['organizational_role'] = 'Rola w Organizacji';
|
||||
@ -557,6 +579,12 @@ $lang['simple_sec_object'] = 'Prosty obiekt bezpiecze
|
||||
$lang['courier_mail_account'] = 'Konto Pocztowe w Courier';
|
||||
$lang['courier_mail_alias'] = 'Alias Pocztowy w Courier';
|
||||
$lang['ldap_alias'] = 'Alias w LDAP';
|
||||
$lang['sendmail_cluster'] = 'Klaster Sendmail';
|
||||
$lang['sendmail_domain'] = 'Domena Sendmail';
|
||||
$lang['sendmail_alias'] = 'Alias Sendmail';
|
||||
$lang['sendmail_virt_dom'] = 'Wirtualna Domena Sendmail';
|
||||
$lang['sendmail_virt_users'] = 'Wirtualni Użytkownicy Sendmail';
|
||||
$lang['sendmail_relays'] = 'Sendmail Relays';
|
||||
$lang['custom'] = 'Ogólne';
|
||||
$lang['samba_domain_name'] = 'Moja nazwa domeny w Samba';
|
||||
$lang['administrators'] = 'Administratorzy';
|
||||
@ -569,6 +597,10 @@ $lang['print_ops'] = 'Operatorzy drukowania';
|
||||
$lang['backup_ops'] = 'Operatorzy archiwizacji danych';
|
||||
$lang['replicator'] = 'Replikator';
|
||||
$lang['unable_smb_passwords'] = ' Nie mo¿na utworzyæ hase³ Samba. Proszê sprawdziæ konfiguracjê w template_config.php';
|
||||
$lang['err_smb_conf'] = 'Błąd: masz błąd w konfiguracji samby';
|
||||
$lang['err_smb_no_name_sid'] = 'Błąd: musisz wprowadzić nazwę oraz sid dla Twojej domeny samby.';
|
||||
$lang['err_smb_no_name'] = 'Błąd: brak nazwy dla domeny samby.';
|
||||
$lang['err_smb_no_sid'] = 'Błąd: brak sid dla domeny samby';
|
||||
|
||||
// Samba Account Template
|
||||
$lang['samba_account'] = 'Konto Samba';
|
||||
@ -580,6 +612,8 @@ $lang['t_hint_customize'] = 'Wskaz
|
||||
$lang['t_name'] = 'Nazwa/Nazwisko';
|
||||
$lang['t_first_name'] = 'Imiê';
|
||||
$lang['t_last_name'] = 'Nazwisko';
|
||||
$lang['t_first'] = 'imię';
|
||||
$lang['t_last'] = 'nazwisko';
|
||||
$lang['t_common_name'] = 'Nazwa';
|
||||
$lang['t_user_name'] = 'Nazwa u¿ytkownika';
|
||||
$lang['t_password'] = 'Has³o';
|
||||
@ -614,4 +648,25 @@ $lang['t_err_cn_blank'] = 'Nie mo
|
||||
$lang['t_confim_creation'] = 'Potwierd¼ utworzenie wpisu:';
|
||||
$lang['t_create_address'] = 'Utwórz adres';
|
||||
|
||||
// default template
|
||||
$lang['t_check_pass'] = 'Sprawdź hasło';
|
||||
|
||||
// compare form
|
||||
$lang['compare'] = 'Porównaj';
|
||||
$lang['comparing'] = 'Porównuję następujące DN';
|
||||
$lang['compare_dn'] = 'Porównaj inny DN z';
|
||||
$lang['with'] = 'z';
|
||||
$lang['compf_source_dn'] = 'Źródłowa DN';
|
||||
$lang['compf_dn_tooltip'] = 'Prównaj tą DN z inną';
|
||||
$lang['switch_entry'] = 'Zamień wpisy';
|
||||
$lang['no_value'] = 'Brak wartości';
|
||||
$lang['compare_with'] = 'Porównaj z innym wpisem';
|
||||
$lang['need_oclass'] = 'Musisz posiadać jedną z następujących klas obiektów, aby dodać ten atrybut %s ';
|
||||
|
||||
// Time out page
|
||||
$lang['session_timed_out_1'] = 'Twoja sesja wygaśnie po';
|
||||
$lang['session_timed_out_2'] = 'min. nieaktywności. Zostaniesz automatycznie wylogowany/a.';
|
||||
$lang['log_back_in'] = 'Aby się zalogować ponownie kliknij w następujący link:';
|
||||
$lang['session_timed_out_tree'] = '(Sesja wygasła. Automatycznie wylogowano)';
|
||||
$lang['timeout_at'] = 'Brak aktywności wyloguje Cię o %s';
|
||||
?>
|
||||
|
@ -1,8 +1,8 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/auto.php,v 1.8 2004/12/09 14:02:37 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/auto.php,v 1.9 2005/02/06 00:21:31 wurley Exp $
|
||||
|
||||
// Language for auto-detect
|
||||
// phpldapadmin/lang/auto.php in $Revision: 1.8 $
|
||||
// phpldapadmin/lang/auto.php in $Revision: 1.9 $
|
||||
$useLang="en"; // default use english encoding, a Option in Config would be nice
|
||||
|
||||
// keep the beginning and ending spaces, they are used for finding the best language
|
||||
@ -30,6 +30,8 @@ $langSupport=array(" ca "=>"ca" // catalan
|
||||
," ru-"=>"ru" // ru- exits?
|
||||
," sv "=>"sv" //swedish
|
||||
," sv-"=>"sv" // swedisch to
|
||||
," zh-cn"=>"zh-cn" // simplified chinese
|
||||
," zh-tw"=>"zh-tw" // taiwan?
|
||||
);// all supported languages in this array
|
||||
// test
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/en.php,v 1.93 2005/01/07 04:06:27 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/en.php,v 1.107 2005/03/26 01:18:28 wurley Exp $
|
||||
|
||||
|
||||
/* --- INSTRUCTIONS FOR TRANSLATORS ---
|
||||
@ -31,7 +31,6 @@ $lang['search_for_entries_whose'] = 'Search for entries whose';
|
||||
$lang['base_dn'] = 'Base DN';
|
||||
$lang['search_scope'] = 'Search Scope';
|
||||
$lang['show_attributes'] = 'Show Attributtes';
|
||||
$lang['attributes'] = 'Attributes';
|
||||
$lang['Search'] = 'Search';
|
||||
$lang['predefined_search_str'] = 'Select a predefined search';
|
||||
$lang['predefined_searches'] = 'Predefined Searches';
|
||||
@ -74,13 +73,13 @@ $lang['please_specify_in_config'] = 'Please specify it in config.php';
|
||||
$lang['create_new_entry_in'] = 'Create a new entry in';
|
||||
$lang['login_link'] = 'Login...';
|
||||
$lang['login'] = 'login';
|
||||
$lang['base_entry_does_not_exist'] = 'The base entry does not exist.';
|
||||
$lang['base_entry_does_not_exist'] = 'This base entry does not exist.';
|
||||
$lang['create_it'] = 'Create it?';
|
||||
|
||||
// Entry display
|
||||
$lang['delete_this_entry'] = 'Delete this entry';
|
||||
$lang['delete_this_entry_tooltip'] = 'You will be prompted to confirm this decision';
|
||||
$lang['copy_this_entry'] = 'Copy this entry';
|
||||
$lang['copy_this_entry'] = 'Copy or move this entry';
|
||||
$lang['copy_this_entry_tooltip'] = 'Copy this object to another location, a new DN, or another server';
|
||||
$lang['export'] = 'Export';
|
||||
$lang['export_lcase'] = 'export';
|
||||
@ -118,6 +117,7 @@ $lang['binary_value'] = 'Binary value';
|
||||
$lang['add_new_binary_attr'] = 'Add new binary attribute';
|
||||
$lang['alias_for'] = 'Note: \'%s\' is an alias for \'%s\'';
|
||||
$lang['required_for'] = 'Required attribute for objectClass(es) %s';
|
||||
$lang['required_by_entry'] = 'This attribute is required for the RDN.';
|
||||
$lang['download_value'] = 'download value';
|
||||
$lang['delete_attribute'] = 'delete attribute';
|
||||
$lang['true'] = 'true';
|
||||
@ -127,13 +127,10 @@ $lang['really_delete_attribute'] = 'Really delete attribute';
|
||||
$lang['add_new_value'] = 'Add New Value';
|
||||
|
||||
// Schema browser
|
||||
$lang['the_following_objectclasses'] = 'The following objectClasses are supported by this LDAP server.';
|
||||
$lang['the_following_attributes'] = 'The following attributeTypes are supported by this LDAP server.';
|
||||
$lang['the_following_matching'] = 'The following matching rules are supported by this LDAP server.';
|
||||
$lang['the_following_syntaxes'] = 'The following syntaxes are supported by this LDAP server.';
|
||||
$lang['schema_retrieve_error_1']='The server does not fully support the LDAP protocol.';
|
||||
$lang['schema_retrieve_error_2']='Your version of PHP does not correctly perform the query.';
|
||||
$lang['schema_retrieve_error_3']='Or lastly, phpLDAPadmin doesn\'t know how to fetch the schema for your server.';
|
||||
$lang['schema_retrieve_error_3']='phpLDAPadmin doesn\'t know how to fetch the schema for your server.';
|
||||
$lang['schema_retrieve_error_4']='Or lastly, your LDAP server doesnt provide this information.';
|
||||
$lang['jump_to_objectclass'] = 'Jump to an objectClass';
|
||||
$lang['view_schema_for_oclass'] = 'View the schema description for this objectClass';
|
||||
$lang['jump_to_attr'] = 'Jump to an attribute type';
|
||||
@ -233,19 +230,15 @@ $lang['not_enough_login_info'] = 'Not enough information to login to server. Ple
|
||||
$lang['could_not_connect'] = 'Could not connect to LDAP server.';
|
||||
$lang['could_not_connect_to_host_on_port'] = 'Could not connect to "%s" on port "%s"';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'Could not perform ldap_mod_add operation.';
|
||||
$lang['bad_server_id_underline'] = 'Bad server_id: ';
|
||||
$lang['home'] = 'Home';
|
||||
$lang['help'] = 'Help';
|
||||
$lang['success'] = 'Success';
|
||||
$lang['server_colon_pare'] = 'Server: ';
|
||||
$lang['look_in'] = 'Looking in: ';
|
||||
$lang['missing_server_id_in_query_string'] = 'No server ID specified in query string!';
|
||||
$lang['missing_dn_in_query_string'] = 'No DN specified in query string!';
|
||||
$lang['back_up_p'] = 'Back Up...';
|
||||
$lang['no_entries'] = 'no entries';
|
||||
$lang['not_logged_in'] = 'Not logged in';
|
||||
$lang['could_not_det_base_dn'] = 'Could not determine base DN';
|
||||
$lang['please_report_this_as_a_bug']='Please report this as a bug.';
|
||||
$lang['reasons_for_error']='This could happen for several reasons, the most probable of which are:';
|
||||
$lang['yes']='Yes';
|
||||
$lang['no']='No';
|
||||
@ -254,13 +247,16 @@ $lang['delete']='Delete';
|
||||
$lang['back']='Back';
|
||||
$lang['object']='object';
|
||||
$lang['delete_all']='Delete all';
|
||||
$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546';
|
||||
$lang['hint'] = 'hint';
|
||||
$lang['bug'] = 'bug';
|
||||
$lang['warning'] = 'warning';
|
||||
$lang['light'] = 'light'; // the word 'light' from 'light bulb'
|
||||
$lang['proceed_gt'] = 'Proceed >>';
|
||||
|
||||
$lang['no_blowfish_secret'] = 'phpLDAPadmin cannot safely encrypt & decrypt your sensitive information, because $blowfish_secret is not set in config.php. You need to edit config.php and set $blowfish_secret to some secret string now.';
|
||||
$lang['jpeg_dir_not_writable'] = 'Please set $jpeg_temp_dir to a writable directory in the phpLDAPadmin config.php';
|
||||
$lang['jpeg_dir_not_writable_error'] = 'Could not write to the $jpeg_temp_dir directory %s. Please verify that your web server can write files there.';
|
||||
$lang['jpeg_unable_toget'] = 'Could not fetch jpeg data from LDAP server for attribute %s.';
|
||||
$lang['jpeg_delete'] = 'Delete photo';
|
||||
|
||||
// Add value form
|
||||
$lang['add_new'] = 'Add new';
|
||||
@ -294,8 +290,8 @@ $lang['must_choose_template'] = 'You must choose a template';
|
||||
$lang['invalid_template'] = '%s is an invalid template';
|
||||
$lang['using_template'] = 'using template';
|
||||
$lang['go_to_dn'] = 'Go to %s';
|
||||
+$lang['structural_object_class_cannot_remove'] = 'This is a structural ObjectClass and cannot be removed.';
|
||||
+$lang['structural'] = 'structural';
|
||||
$lang['structural_object_class_cannot_remove'] = 'This is a structural ObjectClass and cannot be removed.';
|
||||
$lang['structural'] = 'structural';
|
||||
|
||||
//copy_form.php
|
||||
$lang['copyf_title_copy'] = 'Copy ';
|
||||
@ -307,8 +303,9 @@ $lang['copyf_note'] = 'Hint: Copying between different servers only works if the
|
||||
$lang['copyf_recursive_copy'] = 'Recursively copy all children of this object as well.';
|
||||
$lang['recursive_copy'] = 'Recursive copy';
|
||||
$lang['filter'] = 'Filter';
|
||||
$lang['search_filter'] = 'Search Filter';
|
||||
$lang['filter_tooltip'] = 'When performing a recursive copy, only copy those entries which match this filter';
|
||||
$lang['delete_after_copy'] = 'Delete after copy (move):';
|
||||
$lang['delete_after_copy_warn'] = 'Make sure your filter (above) will select all child records.';
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute'] = 'You left the value blank for required attribute (%s).';
|
||||
@ -356,10 +353,8 @@ $lang['scope_base'] = 'Base (base dn only)';
|
||||
$lang['standard_ldap_search_filter'] = 'Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))';
|
||||
$lang['search_filter'] = 'Search Filter';
|
||||
$lang['list_of_attrs_to_display_in_results'] = 'A list of attributes to display in the results (comma-separated)';
|
||||
$lang['show_attributes'] = 'Show Attributes';
|
||||
|
||||
// search_form_simple.php
|
||||
$lang['search_for_entries_whose'] = 'Search for entries whose:';
|
||||
$lang['equals'] = 'equals';
|
||||
$lang['starts with'] = 'starts with';
|
||||
$lang['contains'] = 'contains';
|
||||
@ -386,6 +381,7 @@ $lang['commit'] = 'Commit';
|
||||
$lang['cancel'] = 'Cancel';
|
||||
$lang['you_made_no_changes'] = 'You made no changes';
|
||||
$lang['go_back'] = 'Go back';
|
||||
$lang['unable_create_samba_pass'] = 'Unable to create samba password. Please check your configuration in template_config.php';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note'] = 'Use the menu to the left to navigate';
|
||||
@ -397,8 +393,6 @@ $lang['pla_logo'] = 'phpLDAPadmin logo';
|
||||
// Donate.php
|
||||
$lang['donation_instructions'] = 'To donate funds to the phpLDAPadmin project, use one of the PayPal buttons below.';
|
||||
$lang['donate_amount'] = 'Donate %s';
|
||||
$lang['wish_list_option'] = 'Or perhaps you would prefer to purchase an gift for a phpLDAPadmin developer.';
|
||||
$lang['wish_list'] = 'View Dave\'s phpLDAPadmin wish list';
|
||||
|
||||
$lang['purge_cache'] = 'Purge caches';
|
||||
$lang['no_cache_to_purge'] = 'No cache to purge.';
|
||||
@ -437,15 +431,15 @@ $lang['could_not_bind_anon'] = 'Could not bind anonymously to server.';
|
||||
$lang['could_not_bind'] = 'Could not bind to the LDAP server.';
|
||||
$lang['anonymous_bind'] = 'Anonymous Bind';
|
||||
$lang['bad_user_name_or_password'] = 'Bad username or password. Please try again.';
|
||||
$lang['redirecting_click_if_nothing_happens'] = 'Redirecting... Click here if nothing happens.';
|
||||
$lang['successfully_logged_in_to_server'] = 'Successfully logged into server <b>%s</b>';
|
||||
$lang['could_not_set_cookie'] = 'Could not set cookie.';
|
||||
$lang['ldap_said'] = 'LDAP said: %s';
|
||||
$lang['ferror_error'] = 'Error';
|
||||
$lang['fbrowse'] = 'browse';
|
||||
$lang['delete_photo'] = 'Delete Photo';
|
||||
$lang['install_not_support_blowfish'] = 'Your PHP install does not support blowfish encryption.';
|
||||
$lang['install_not_support_md5crypt'] = 'Your PHP install does not support md5crypt encryption.';
|
||||
$lang['install_not_support_ext_des'] = 'Your system crypt library does not support extended DES encryption.';
|
||||
$lang['install_not_support_blowfish'] = 'Your system crypt library does not support blowfish encryption.';
|
||||
$lang['install_not_support_md5crypt'] = 'Your system crypt library does not support md5crypt encryption.';
|
||||
$lang['install_no_mash'] = 'Your PHP install does not have the mhash() function. Cannot do SHA hashes.';
|
||||
$lang['jpeg_contains_errors'] = 'jpegPhoto contains errors<br />';
|
||||
$lang['ferror_number'] = 'Error number: %s (%s)';
|
||||
@ -457,8 +451,10 @@ $lang['ferror_unrecognized_num'] = 'Unrecognized error number: ';
|
||||
$lang['ferror_nonfatil_bug'] = '<center><table class=\'notice\'><tr><td colspan=\'2\'><center><img src=\'images/warning.png\' height=\'12\' width=\'13\' />
|
||||
<b>You found a non-fatal phpLDAPadmin bug!</b></td></tr><tr><td>Error:</td><td><b>%s</b> (<b>%s</b>)</td></tr><tr><td>File:</td>
|
||||
<td><b>%s</b> line <b>%s</b>, caller <b>%s</b></td></tr><tr><td>Versions:</td><td>PLA: <b>%s</b>, PHP: <b>%s</b>, SAPI: <b>%s</b>
|
||||
</td></tr><tr><td>Web server:</td><td><b>%s</b></td></tr><tr><td colspan=\'2\'><center><a target=\'new\' href=\'%s\'>
|
||||
Please report this bug by clicking here</a>.</center></td></tr></table></center><br />';
|
||||
</td></tr><tr><td>Web server:</td><td><b>%s</b></td></tr>
|
||||
<tr><td colspan=\'2\'><center><a target=\'new\' href=\'%s\'>Please check and see if this bug has been reported here</a>.</center></td></tr>
|
||||
<tr><td colspan=\'2\'><center><a target=\'new\' href=\'%s\'>If it hasnt been reported, you may report this bug by clicking here</a>.</center></td></tr>
|
||||
</table></center><br />';
|
||||
$lang['ferror_congrats_found_bug'] = 'Congratulations! You found a bug in phpLDAPadmin.<br /><br />
|
||||
<table class=\'bug\'>
|
||||
<tr><td>Error:</td><td><b>%s</b></td></tr>
|
||||
@ -514,16 +510,14 @@ $lang['searching'] = 'Searching...';
|
||||
$lang['size_limit_exceeded'] = 'Notice, search size limit exceeded.';
|
||||
$lang['entry'] = 'Entry';
|
||||
$lang['ldif_export_for_dn'] = 'LDIF Export for: %s';
|
||||
$lang['generated_on_date'] = 'Generated by phpLDAPadmin ( http://www.phpldapadmin.com/ ) on %s';
|
||||
$lang['generated_on_date'] = 'Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s';
|
||||
$lang['total_entries'] = 'Total Entries';
|
||||
$lang['dsml_export_for_dn'] = 'DSLM Export for: %s';
|
||||
$lang['include_system_attrs'] = 'Include system attributes';
|
||||
$lang['csv_spreadsheet'] = 'CSV (Spreadsheet)';
|
||||
|
||||
// logins
|
||||
$lang['could_not_find_user'] = 'Could not find a user "%s"';
|
||||
$lang['password_blank'] = 'You left the password blank.';
|
||||
$lang['login_cancelled'] = 'Login cancelled.';
|
||||
$lang['no_one_logged_in'] = 'No one is logged in to that server.';
|
||||
$lang['could_not_logout'] = 'Could not logout.';
|
||||
$lang['unknown_auth_type'] = 'Unknown auth_type: %s';
|
||||
@ -535,6 +529,7 @@ $lang['login_dn'] = 'Login DN';
|
||||
$lang['user_name'] = 'User name';
|
||||
$lang['password'] = 'Password';
|
||||
$lang['authenticate'] = 'Authenticate';
|
||||
$lang['login_not_allowed'] = 'Sorry, you are not allowed to use phpLDAPadmin with this LDAP server.';
|
||||
|
||||
// Entry browser
|
||||
$lang['entry_chooser_title'] = 'Entry Chooser';
|
||||
@ -565,7 +560,6 @@ $lang['invalid_rdn'] = 'Invalid RDN value';
|
||||
$lang['could_not_rename'] = 'Could not rename the entry';
|
||||
|
||||
// General errors
|
||||
$lang['php5_unsupported'] = 'phpLDAPadmin does not yet support PHP 5. You will likely encounter many weird problems if you continue.';
|
||||
$lang['mismatched_search_attr_config'] = 'Your configuration has an error. $search_attributes must have the same number of attributes as $search_attributes_display.';
|
||||
|
||||
// Password checker
|
||||
@ -577,7 +571,6 @@ $lang['to'] = 'To';
|
||||
|
||||
// Templates
|
||||
$lang['using'] = 'Using the';
|
||||
$lang['template'] = 'template';
|
||||
$lang['switch_to'] = 'You may switch to the ';
|
||||
$lang['default_template'] = 'default template';
|
||||
|
||||
@ -671,4 +664,22 @@ $lang['t_create_address'] = 'Create Address';
|
||||
// default template
|
||||
$lang['t_check_pass'] = 'Check password...';
|
||||
|
||||
// compare form
|
||||
$lang['compare'] = 'Compare';
|
||||
$lang['comparing'] = 'Comparing the following DNs';
|
||||
$lang['compare_dn'] = 'Compare another DN with';
|
||||
$lang['with'] = 'with ';
|
||||
$lang['compf_source_dn'] = 'Source DN';
|
||||
$lang['compf_dn_tooltip'] = 'Compare this DN with another';
|
||||
$lang['switch_entry'] = 'Switch Entry';
|
||||
$lang['no_value'] = 'No Value';
|
||||
$lang['compare_with'] = 'Compare with another entry';
|
||||
$lang['need_oclass'] = 'You need one of the following ObjectClass(es) to add this attribute %s.';
|
||||
|
||||
// Time out page
|
||||
$lang['session_timed_out_1'] = 'Your Session timed out after';
|
||||
$lang['session_timed_out_2'] = 'min. of inactivity. You have been automatically logged out.';
|
||||
$lang['log_back_in'] = 'To log back in please click on the following link:';
|
||||
$lang['session_timed_out_tree'] = '(Session timed out. Automatically logged out.)';
|
||||
$lang['timeout_at'] = 'Inactivity will log you off at %s';
|
||||
?>
|
||||
|
@ -1,28 +1,37 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/es.php,v 1.14 2004/06/07 13:01:29 uugdave Exp $
|
||||
|
||||
/*
|
||||
* Spanish (es_ES) translation file for phpLDAPadmin
|
||||
*
|
||||
* Date: 02/05/2005
|
||||
* Source: CVS snapshot of en.php as of 02/05/2005
|
||||
* Translator: Miguelanxo Otero Salgueiro <miguelanxo@telefonica.net>
|
||||
*/
|
||||
|
||||
// Search form
|
||||
$lang['simple_search_form_str'] = 'Formulario de búsqueda sencilla';
|
||||
$lang['advanced_search_form_str'] = 'Formulario de búsqueda avanzada';
|
||||
$lang['server'] = 'Servidor';
|
||||
$lang['search_for_entries_whose'] = 'Buscar objetos los cuales';
|
||||
$lang['base_dn'] = 'DN Base';
|
||||
$lang['search_scope'] = 'Alcance de la búsqueda';
|
||||
$lang['search_ filter'] = 'Filtro de Búsqueda';
|
||||
$lang['search_for_entries_whose'] = 'Buscar objetos que';
|
||||
$lang['base_dn'] = 'DN base';
|
||||
$lang['search_scope'] = 'Ámbito de búsqueda';
|
||||
$lang['show_attributes'] = 'Mostrar atributos';
|
||||
$lang['attributes'] = 'Atributos';
|
||||
$lang['Search'] = 'Buscar';
|
||||
$lang['equals'] = 'equivale';
|
||||
$lang['starts_with'] = 'comienza con';
|
||||
$lang['contains'] = 'contiene';
|
||||
$lang['ends_with'] = 'termina con';
|
||||
$lang['sounds_like'] = 'suena como';
|
||||
$lang['predefined_search_str'] = 'Seleccionar una búsqueda predefinida';
|
||||
$lang['predefined_searches'] = 'Búsquedas predefinidas';
|
||||
$lang['no_predefined_queries'] = 'No hay ninguna búsqueda predefinida en config.php.';
|
||||
$lang['export_results'] = 'exportar resultados';
|
||||
$lang['unrecoginzed_search_result_format'] = 'Formato de resultado de búsqueda no reconocido: %s';
|
||||
$lang['format'] = 'Formato';
|
||||
$lang['list'] = 'lista';
|
||||
$lang['table'] = 'tabla';
|
||||
$lang['bad_search_display'] = 'Su config.php especifica un valor no válido para $default_search_display: %s. Por favor, arréglelo';
|
||||
$lang['page_n'] = 'Página %d';
|
||||
$lang['no_results'] = 'La búsqueda no ha encontrado resultados.';
|
||||
|
||||
// Tree browser
|
||||
$lang['request_new_feature'] = 'Pedir funcionalidad';
|
||||
$lang['see_open_requests'] = 'Ver las peticiones';
|
||||
$lang['report_bug'] = 'Reportar un error';
|
||||
$lang['see_open_bugs'] = 'Ver los errores';
|
||||
$lang['request_new_feature'] = 'Solicitar una nueva funcionalidad';
|
||||
$lang['report_bug'] = 'Informar de un error';
|
||||
$lang['schema'] = 'esquema';
|
||||
$lang['search'] = 'buscar';
|
||||
$lang['create'] = 'crear';
|
||||
@ -30,313 +39,617 @@ $lang['info'] = 'info';
|
||||
$lang['import'] = 'importar';
|
||||
$lang['refresh'] = 'refrescar';
|
||||
$lang['logout'] = 'salir';
|
||||
$lang['create_new'] = 'Crear Nuevo Objeto';
|
||||
$lang['view_schema_for'] = 'Ver esquema para';
|
||||
$lang['refresh_expanded_containers'] = 'Refrescar todos los contenedores extendidos para';
|
||||
$lang['create_new_entry_on'] = 'Crear nuevo objeto en';
|
||||
$lang['view_server_info'] = 'Ver información del servidor';
|
||||
$lang['import_from_ldif'] = 'Importar objetos de archivo LDIF';
|
||||
$lang['logout_of_this_server'] = 'Salir de este servidor';
|
||||
$lang['create_new'] = 'Crear nuevo objeto';
|
||||
$lang['view_schema_for'] = 'Ver el esquema del';
|
||||
$lang['refresh_expanded_containers'] = 'Refrescar todos los contenedores extendidos del';
|
||||
$lang['create_new_entry_on'] = 'Crear un nuevo objeto en el';
|
||||
$lang['new'] = 'nuevo';
|
||||
$lang['view_server_info'] = 'Ver la información enviada por el servidor';
|
||||
$lang['import_from_ldif'] = 'Importar desde un fichero LDIF';
|
||||
$lang['logout_of_this_server'] = 'Desconectar del servidor';
|
||||
$lang['logged_in_as'] = 'Conectado como: ';
|
||||
$lang['read_only'] = 'inalterable';
|
||||
$lang['could_not_determine_root'] = 'No se ha podido determinar la raiz del servidor LDAP.';
|
||||
$lang['ldap_refuses_to_give_root'] = 'Parece ser que el servidor LDAP se ha configurado para no revelar su raiz.';
|
||||
$lang['please_specify_in_config'] = 'Por favor especifícala en el archivo config.php';
|
||||
$lang['create_new_entry_in'] = 'Crear un nuevo objeto en';
|
||||
$lang['login_link'] = 'Autenticación...';
|
||||
$lang['this_base_dn_is_not_valid'] = 'Esta DN base no es válida.';
|
||||
$lang['this_base_dn_does_not_exist'] = 'Este objeto no existe.';
|
||||
$lang['read_only'] = 'sólo lectura';
|
||||
$lang['read_only_tooltip'] = 'Este atributo ha sido marcado como de sólo lectura por el administrador de phpLDAPadmin';
|
||||
$lang['could_not_determine_root'] = 'No se ha podido determinar la raíz de su árbol LDAP.';
|
||||
$lang['ldap_refuses_to_give_root'] = 'Parece que el servidor LDAP ha sido configurado para no revelar su raíz.';
|
||||
$lang['please_specify_in_config'] = 'Por favór, especifíquela en config.php';
|
||||
$lang['create_new_entry_in'] = 'Crear nuevo objeto en';
|
||||
$lang['login_link'] = 'Autentificación';
|
||||
$lang['login'] = 'conectar';
|
||||
$lang['base_entry_does_not_exist'] = 'Este objeto base no existe.';
|
||||
$lang['create_it'] = '¿Crearlo?';
|
||||
|
||||
// Entry display
|
||||
$lang['delete_this_entry'] = 'Borrar este objeto';
|
||||
$lang['delete_this_entry_tooltip'] = 'Se tendrá que confirmar esta decision';
|
||||
$lang['delete_this_entry_tooltip'] = 'Se le pedirá confirmación';
|
||||
$lang['copy_this_entry'] = 'Copiar este objeto';
|
||||
$lang['copy_this_entry_tooltip'] = 'Copiar este objeto para otra localización, DN nuevo, o para otro servidor.';
|
||||
$lang['export_to_ldif'] = 'Exportar archivo LDIF';
|
||||
$lang['export_to_ldif_tooltip'] = 'Guardar archivo LDIF de este objeto';
|
||||
$lang['export_subtree_to_ldif_tooltip'] = 'Guardar archivo LDIF de este objeto i todos sus objetos hijos';
|
||||
$lang['export_subtree_to_ldif'] = 'Exportar archivo LDIF de sub-estructura';
|
||||
$lang['export_mac'] = 'Avance de línea de Macintosh';
|
||||
$lang['export_win'] = 'Avance de línea de Windows';
|
||||
$lang['export_unix'] = 'Avance de línea de Unix';
|
||||
$lang['create_a_child_entry'] = 'Crear objeto como hijo';
|
||||
$lang['add_a_jpeg_photo'] = 'Agregar jpegPhoto';
|
||||
$lang['copy_this_entry_tooltip'] = 'Copiar este objeto en otro sitio: un nuevo DN u otro servidor';
|
||||
$lang['export'] = 'Exportar';
|
||||
$lang['export_lcase'] = 'exportar';
|
||||
$lang['export_tooltip'] = 'Exportar este objeto';
|
||||
$lang['export_subtree_tooltip'] = 'Exportar este objeto y todos sus hijos';
|
||||
$lang['export_subtree'] = 'Exportar subárbol';
|
||||
$lang['create_a_child_entry'] = 'Crear un objeto hijo';
|
||||
$lang['rename_entry'] = 'Renombrar objeto';
|
||||
$lang['rename'] = 'Renombrar';
|
||||
$lang['add'] = 'Agregar';
|
||||
$lang['add'] = 'Añadir';
|
||||
$lang['view'] = 'Ver';
|
||||
$lang['add_new_attribute'] = 'Agregar nuevo atributo';
|
||||
$lang['add_new_attribute_tooltip'] = 'Agregar nuevo atributo/valor a este objeto';
|
||||
$lang['internal_attributes'] = 'Atributos Internos';
|
||||
$lang['hide_internal_attrs'] = 'ocultar los atributos internos';
|
||||
$lang['show_internal_attrs'] = 'mostrar els atributos internos';
|
||||
$lang['internal_attrs_tooltip'] = 'Los atributos fijos automaticamente para el servidor';
|
||||
$lang['entry_attributes'] = 'Atributos del objeto';
|
||||
$lang['attr_name_tooltip'] = 'Haz click para ver la definicion del esquema para tipos de atributo \'%s\'';
|
||||
$lang['click_to_display'] = 'Haz click para mostrar';
|
||||
$lang['hidden'] = 'ocultado';
|
||||
$lang['view_one_child'] = 'Ver 1 hijo';
|
||||
$lang['view_children'] = 'Ver %s hijos';
|
||||
$lang['add_new_attribute'] = 'Añadir atributo';
|
||||
$lang['add_new_objectclass'] = 'Añadir ObjectClass';
|
||||
$lang['hide_internal_attrs'] = 'Ocultar atributos internos';
|
||||
$lang['show_internal_attrs'] = 'Mostrar atributos internos';
|
||||
$lang['attr_name_tooltip'] = 'Haga click para ver el esquema del atributo de tipo \'%s\'';
|
||||
$lang['none'] = 'ninguno';
|
||||
$lang['save_changes'] = 'Guardar los cambios';
|
||||
$lang['add_value'] = 'agregar valor';
|
||||
$lang['add_value_tooltip'] = 'Agregar valor adicional a este atributo';
|
||||
$lang['no_internal_attributes'] = 'No hay atributos internos';
|
||||
$lang['no_attributes'] = 'Este objeto no tiene atributos';
|
||||
$lang['save_changes'] = 'Guardar cambios';
|
||||
$lang['add_value'] = 'añadir valor';
|
||||
$lang['add_value_tooltip'] = 'Añadir un valor al atributo \'%s\'';
|
||||
$lang['refresh_entry'] = 'Refrescar';
|
||||
$lang['refresh_this_entry'] = 'Refrescar este objeto';
|
||||
$lang['delete_hint'] = 'Pista: <b>Para borrar un atributo</b>, vacía el formulario de texto y haz click en Guardar.';
|
||||
$lang['attr_schema_hint'] = 'Pista: <b>Para ver el esquema de un atributo</b>, haz click en el nombre del atributo.';
|
||||
$lang['attrs_modified'] = 'Algunos atributos (%s) fueron modificados y estan remarcados más abajo.';
|
||||
$lang['attr_modified'] = 'Un atributo (%s) fué modificado y está remarcado más abajo.';
|
||||
$lang['viewing_read_only'] = 'Mostrando el objeto en modo de no alterar.';
|
||||
$lang['change_entry_rdn'] = 'Modificar el RDN de este objeto';
|
||||
$lang['no_new_attrs_available'] = 'No hay atributos nuevos disponibles para este objeto';
|
||||
$lang['delete_hint'] = 'Nota: para borrar un atributo, borre su atributo y haga click en guardar.';
|
||||
$lang['attr_schema_hint'] = 'Nota: Para ver el esquema de un atributo, haga click en su nombre.';
|
||||
$lang['attrs_modified'] = 'Se han modificado algunos atributos (%s) que se encuentran destacados mas abajo.';
|
||||
$lang['attr_modified'] = 'Se ha modificado algún atributo (%s) que se encuentra destacado más abajo.';
|
||||
$lang['viewing_read_only'] = 'Nota: Modo de sólo lectura.';
|
||||
$lang['no_new_attrs_available'] = 'no hay nuevos atributos en este objeto';
|
||||
$lang['no_new_binary_attrs_available'] = 'no hay nuevos atributos binarios en este objeto';
|
||||
$lang['binary_value'] = 'Valor binario';
|
||||
$lang['add_new_binary_attr'] = 'Agregar valor binario';
|
||||
$lang['add_new_binary_attr_tooltip'] = 'Agregar atributo/valor binario de un archivo';
|
||||
$lang['alias_for'] = '%s es sinónimo para %s';
|
||||
$lang['download_value'] = 'Descargar valor';
|
||||
$lang['delete_attribute'] = 'Borrar atributo';
|
||||
$lang['true'] = 'verdad';
|
||||
$lang['add_new_binary_attr'] = 'Añadir atributo binario';
|
||||
$lang['alias_for'] = 'Nota: \'%s\' es un alias de \'%s\'';
|
||||
$lang['required_for'] = 'Atributo requerido para la(s) clase(s) de objeto %s';
|
||||
$lang['download_value'] = 'descargar valor';
|
||||
$lang['delete_attribute'] = 'borrar atributo';
|
||||
$lang['true'] = 'verdadero';
|
||||
$lang['false'] = 'falso';
|
||||
$lang['none_remove_value'] = 'ningo, borrar valor';
|
||||
$lang['really_delete_attribute'] = 'Borrar realmente el atributo?';
|
||||
$lang['none_remove_value'] = 'ninguno, borrar valor';
|
||||
$lang['really_delete_attribute'] = '¿Borrar realmente el atributo';
|
||||
$lang['add_new_value'] = 'Añadir valor';
|
||||
|
||||
// Schema browser
|
||||
$lang['the_following_objectclasses'] = 'Los siguientes <b>ObjectClass</b> están presentes en este servidor LDAP.';
|
||||
$lang['the_following_attributes'] = 'Los siguientes <b>attributeTypes</b> están presentes en este servidor LDAP.';
|
||||
$lang['the_following_matching'] = 'Los siguientes <b>matching rules</b> están presentes en este servidor LDAP.';
|
||||
$lang['the_following_syntaxes'] = 'Los siguientes <b>sintaxis</b> están presentes en este servidor LDAP.';
|
||||
$lang['jump_to_objectclass'] = 'Saltar a una ObjectClass';
|
||||
$lang['jump_to_attr'] = 'Saltar a un atributo';
|
||||
$lang['schema_for_server'] = 'Esquema del servidor ';
|
||||
$lang['required_attrs'] = 'Atributos Requeridos (MUST)';
|
||||
$lang['optional_attrs'] = 'Atributos Opcionales (MAY)';
|
||||
$lang['the_following_objectclasses'] = 'El servidor LDAP soporta las siguientes clases de objeto:';
|
||||
$lang['the_following_attributes'] = 'El servidor LDAP soporta los siguientes tipos de atributo:';
|
||||
$lang['the_following_matching'] = 'El servidor LDAP soporta las siguientes reglas de coincidencia:';
|
||||
$lang['the_following_syntaxes'] = 'El servidor LDAP soporta las siguientes sintaxis:';
|
||||
$lang['schema_retrieve_error_1']='El servidor LDAP no soporta el protocolo LDAP en su totalidad.';
|
||||
$lang['schema_retrieve_error_2']='Su versión de PHP no realiza la petición correctamente.';
|
||||
$lang['schema_retrieve_error_3']='O el phpLDAPadmin no sabe como obtener el esquema del servidor.';
|
||||
$lang['jump_to_objectclass'] = 'Ir a la clase de objeto';
|
||||
$lang['view_schema_for_oclass'] = 'Ver la descripción del esquema para esta clase de objeto.';
|
||||
$lang['jump_to_attr'] = 'Ir al tipo de atributo';
|
||||
$lang['jump_to_matching_rule'] = 'Ir a la regla de coincidencia';
|
||||
$lang['schema_for_server'] = 'Esquema del servidor';
|
||||
$lang['required_attrs'] = 'Atributos requeridos';
|
||||
$lang['required'] = 'requerido';
|
||||
$lang['optional_attrs'] = 'Atributos opcionales';
|
||||
$lang['optional_binary_attrs'] = 'Atributos binarios opcionales';
|
||||
$lang['OID'] = 'OID';
|
||||
$lang['aliases']='Alias';
|
||||
$lang['desc'] = 'Descripción';
|
||||
$lang['name'] = 'Nom';
|
||||
$lang['is_obsolete'] = 'Esta ObjectClass es <b>obsoleta</b>';
|
||||
$lang['inherits'] = 'Hereda';
|
||||
$lang['jump_to_this_oclass'] = 'Saltar a esta ObjectClass';
|
||||
$lang['matching_rule_oid'] = 'OID de Matching Rule';
|
||||
$lang['syntax_oid'] = 'OID de Sintaxi';
|
||||
$lang['not_applicable'] = 'no es aplicable';
|
||||
$lang['not_specified'] = 'no especificada';
|
||||
$lang['no_description']='sin descripción';
|
||||
$lang['name'] = 'Nombre';
|
||||
$lang['equality']='Igualdad';
|
||||
$lang['is_obsolete'] = 'Esta clase de objeto es obsoleta.';
|
||||
$lang['inherits'] = 'Hereda de';
|
||||
$lang['inherited_from'] = 'Heredado de';
|
||||
$lang['parent_to'] = 'Padre de';
|
||||
$lang['jump_to_this_oclass'] = 'Ir a la definición de esta clase de objeto';
|
||||
$lang['matching_rule_oid'] = 'OID de la regla de coincidencia';
|
||||
$lang['syntax_oid'] = 'OID de sintaxis';
|
||||
$lang['not_applicable'] = 'no aplicable';
|
||||
$lang['not_specified'] = 'no especificado';
|
||||
$lang['character'] = 'carácter';
|
||||
$lang['characters'] = 'caracteres';
|
||||
$lang['used_by_objectclasses'] = 'Usado por la clase de objeto';
|
||||
$lang['used_by_attributes'] = 'Usado por los atributos';
|
||||
$lang['maximum_length'] = 'Longitud máxima';
|
||||
$lang['attribute_types']='Tipos de atributo';
|
||||
$lang['syntaxes'] = 'Sintaxis';
|
||||
$lang['matchingrules'] = 'Reglas de coincidencia';
|
||||
$lang['oid'] = 'OID';
|
||||
$lang['obsolete'] = 'Obsoleto';
|
||||
$lang['ordering'] = 'Ordenación';
|
||||
$lang['substring_rule'] = 'Regla de subcadena';
|
||||
$lang['single_valued'] = 'Univaludado';
|
||||
$lang['collective'] = 'Colectivo';
|
||||
$lang['user_modification'] = 'Modificado por el usuario';
|
||||
$lang['usage'] = 'Uso';
|
||||
$lang['could_not_retrieve_schema_from'] = 'No se ha podido obtener el esquema de';
|
||||
$lang['type'] = 'Tipo';
|
||||
$lang['no_such_schema_item'] = 'No hay tal ítem en el esquema: "%s"';
|
||||
|
||||
// Deleting entries
|
||||
$lang['entry_deleted_successfully'] = 'Entrada \'%s\' borrada correctamente.';
|
||||
$lang['you_must_specify_a_dn'] = 'Tienes que especificar un DN';
|
||||
$lang['could_not_delete_entry'] = 'No he podido borrar la entrada: %s';
|
||||
$lang['entry_deleted_successfully'] = 'Objeto %s borrado correctamente.';
|
||||
$lang['you_must_specify_a_dn'] = 'Debe especificar un DN';
|
||||
$lang['could_not_delete_entry'] = 'No se ha podido borrar el objeto %s';
|
||||
$lang['no_such_entry'] = 'No hay tal objeto %s';
|
||||
$lang['delete_dn'] = 'Borrar %s';
|
||||
$lang['permanently_delete_children'] = '¿Borrar también todos los hijos?';
|
||||
$lang['entry_is_root_sub_tree'] = 'Este objeto es la raíz de un subárbol que contiene %s objetos.';
|
||||
$lang['view_entries'] = 'ver objetos';
|
||||
$lang['confirm_recursive_delete'] = 'phpLDAPadmin puede borrar recursivamente este objeto y sus %s hijos. Vea más abajo la lista de objetos que se borrarán ahora. ¿Todavía quiere hacerlo?';
|
||||
$lang['confirm_recursive_delete_note'] = 'Nota: es potencialmente peligroso y debe hacerlo a su cuenta y riesgo. Esta operación NO puede deshacerse. Tome en consideración alias, referencias y otras cosas que puedan causar problemas.';
|
||||
$lang['delete_all_x_objects'] = 'Borrar los %s objetos';
|
||||
$lang['recursive_delete_progress'] = 'Progreso de la borración recursiva';
|
||||
$lang['entry_and_sub_tree_deleted_successfully'] = 'Objeto %s y su subárbol borrado correctamente.';
|
||||
$lang['failed_to_delete_entry'] = 'Error al borrar el objeto %s';
|
||||
$lang['list_of_entries_to_be_deleted'] = 'Lista de objetos a borrar:';
|
||||
$lang['sure_permanent_delete_object']='¿Está seguro de querer borrar este objeto?';
|
||||
$lang['dn'] = 'DN';
|
||||
|
||||
// Deleting attributes
|
||||
$lang['attr_is_read_only'] = 'El atributo "%s" está marcado como de sólo lectura en la configuración de phpLDAPadmin.';
|
||||
$lang['no_attr_specified'] = 'No se ha especificado ningún nombre de atributo.';
|
||||
$lang['no_dn_specified'] = 'No se ha especificado ningún DN';
|
||||
|
||||
// Adding attributes
|
||||
$lang['left_attr_blank'] = 'Ha dejado en blanco el valor del atributo. Por favor, vuelva atrás e inténtelo de nuevo.';
|
||||
$lang['failed_to_add_attr'] = 'Error al añadir atributo.';
|
||||
$lang['file_empty'] = 'El fichero que ha escogido no existe o está vacío. Por favor vuelva atrás e inténtelo de nuevo.';
|
||||
$lang['invalid_file'] = 'Error de seguridad: El fichero que está enviando puede ser malicioso.';
|
||||
$lang['warning_file_uploads_disabled'] = 'Su configuración del PHP ha desactivado la recepción de ficheros. Por favor revise php.ini antes de continuar.';
|
||||
$lang['uploaded_file_too_big'] = 'El fichero que está enviando es demasiado grande. Por favor revise el ajuste "upload_max_size" en php.ini.';
|
||||
$lang['uploaded_file_partial'] = 'El fichero que ha seleccionado sólo se ha recibido parcialmente debido a un error de red.';
|
||||
$lang['max_file_size'] = 'Tamaño máximo de fichero: %s';
|
||||
|
||||
// Updating values
|
||||
$lang['modification_successful'] = '¡Modificación realizada correctamente!';
|
||||
$lang['change_password_new_login'] = 'Como ha cambiado su contraseña, debe conectarse de nuevo empleando la nueva.';
|
||||
|
||||
// Adding objectClass form
|
||||
$lang['new_required_attrs'] = 'Nuevos atributos requeridos';
|
||||
$lang['requires_to_add'] = 'Esta acción exige que se agreguen';
|
||||
$lang['requires_to_add'] = 'Esta acción requiere que añada';
|
||||
$lang['new_attributes'] = 'nuevos atributos';
|
||||
$lang['new_required_attrs_instructions'] = 'Instrucciones: Para agregar esta ObjectClass a este objeto, se tiene que especificar';
|
||||
$lang['that_this_oclass_requires'] = 'que este ObjectClass requiere. Se puede hacer con este formulario.';
|
||||
$lang['add_oclass_and_attrs'] = 'Agregar ObjectClass y Atributos';
|
||||
$lang['new_required_attrs_instructions'] = 'Instrucciones: Para poder añadir esta clase a este objeto, debe especificar';
|
||||
$lang['that_this_oclass_requires'] = 'que esta clase requiere. Puede hacerlo en este formulario.';
|
||||
$lang['add_oclass_and_attrs'] = 'Añadir clase de objeto y atributos';
|
||||
$lang['objectclasses'] = 'Clases de objeto';
|
||||
|
||||
// General
|
||||
$lang['chooser_link_tooltip'] = 'Haz click para seleccionar un objeto graficamente';
|
||||
$lang['no_updates_in_read_only_mode'] = 'No se puede modificar el objeto si el servidor está operando en modo inalterable.';
|
||||
$lang['bad_server_id'] = 'El identificador de servidor está mal';
|
||||
$lang['not_enough_login_info'] = 'No tengo suficiente información para conectar al servidor. Por favor configura correctamente el archivo config.php';
|
||||
$lang['could_not_connect'] = 'No se ha podido conectar al servidor LDAP';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'No se ha podido ejecutar la operación del ldap_mod_add.';
|
||||
$lang['bad_server_id_underline'] = 'El identificador del servidor está mal: ';
|
||||
$lang['success'] = 'Exito';
|
||||
$lang['chooser_link_tooltip'] = 'Haga click en el diálogo emergente para seleccionar un DN de forma gráfica';
|
||||
$lang['no_updates_in_read_only_mode'] = 'No puede realizar cambios cuando el servidor está funcionando en modo de sólo lectura';
|
||||
$lang['bad_server_id'] = 'Identificador de servidor no válido';
|
||||
$lang['not_enough_login_info'] = 'No hay información suficiente para conectar con el servidor. Por favor, revise su configuración.';
|
||||
$lang['could_not_connect'] = 'No se ha podido conectar con el servidor LDAP.';
|
||||
$lang['could_not_connect_to_host_on_port'] = 'No se ha podido conectar con "%s" en el puerto "%s"';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'No se ha podido realizar la operación "ldap_mod_add".';
|
||||
$lang['bad_server_id_underline'] = 'Identificador de servidor no válido: ';
|
||||
$lang['success'] = 'Éxito';
|
||||
$lang['home'] = 'Inicio';
|
||||
$lang['help'] = 'Ayuda';
|
||||
$lang['success'] = 'Éxito';
|
||||
$lang['server_colon_pare'] = 'Servidor: ';
|
||||
$lang['look_in'] = 'Buscando a: ';
|
||||
$lang['missing_server_id_in_query_string'] = 'No está presente el identificador del servidor en la URL';
|
||||
$lang['missing_dn_in_query_string'] = 'No está presente el DN en la URL';
|
||||
$lang['back_up_p'] = 'Volver a...';
|
||||
$lang['no_entries'] = 'no hay entradas';
|
||||
$lang['not_logged_in'] = 'No estás autenticado';
|
||||
$lang['could_not_det_base_dn'] = 'No he podido determinar la base DN';
|
||||
$lang['look_in'] = 'Buscando en: ';
|
||||
$lang['missing_server_id_in_query_string'] = '¡No se ha especificado ningún servidor en la petición!';
|
||||
$lang['missing_dn_in_query_string'] = '¡No se ha especificado ningún DN en la petición!';
|
||||
$lang['back_up_p'] = 'Volver';
|
||||
$lang['no_entries'] = 'no hay objetos';
|
||||
$lang['not_logged_in'] = 'No está conectado';
|
||||
$lang['could_not_det_base_dn'] = 'No se puede determinar el DN base';
|
||||
$lang['please_report_this_as_a_bug']='Por favor informe de este error.';
|
||||
$lang['reasons_for_error']='Esto puede suceder por varias razones, las más probables son:';
|
||||
$lang['yes']='Sí';
|
||||
$lang['no']='No';
|
||||
$lang['go']='Ir';
|
||||
$lang['delete']='Borrar';
|
||||
$lang['back']='Atrás';
|
||||
$lang['object']='objeto';
|
||||
$lang['delete_all']='Borrar todo';
|
||||
$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546';
|
||||
$lang['hint'] = 'nota';
|
||||
$lang['bug'] = 'error';
|
||||
$lang['warning'] = 'aviso';
|
||||
$lang['light'] = 'bombilla'; // the word 'light' from 'light bulb'
|
||||
$lang['proceed_gt'] = 'Proceder >>';
|
||||
|
||||
// Add value form
|
||||
$lang['add_new'] = 'Agregar';
|
||||
$lang['value_to'] = 'valor a';
|
||||
$lang['server'] = 'Servidor';
|
||||
$lang['add_new'] = 'Añadir';
|
||||
$lang['value_to'] = 'valor de';
|
||||
$lang['distinguished_name'] = 'Nombre distinguido';
|
||||
$lang['current_list_of'] = 'La lista actual de';
|
||||
$lang['values_for_attribute'] = 'valores para el atributo';
|
||||
$lang['inappropriate_matching_note'] = 'Nota: Sino has configurado una regla \'EQUALITY\' en el servidor LDAP, recibirás un error \'inappropriate matching\'';
|
||||
$lang['enter_value_to_add'] = 'Proveer el valor para agregar: ';
|
||||
$lang['new_required_attrs_note'] = 'Nota: Es posible que se requiera agregar nuevos atributos para satisfacer los requisitos de esta ObjectClass';
|
||||
$lang['syntax'] = 'Sintaxi';
|
||||
$lang['current_list_of'] = 'Lista actual de';
|
||||
$lang['values_for_attribute'] = 'valores del atributo';
|
||||
$lang['inappropriate_matching_note'] = 'Nota: Si no ha creado una regla de igualdad en el servidor LDAP para este atributo, obtendrá un error de coincidencia inapropiada ("inappropriate matching").';
|
||||
$lang['enter_value_to_add'] = 'Introduzca el valor a añadir:';
|
||||
$lang['new_required_attrs_note'] = 'Nota: puede que tenga que introducir nuevos atributos que esta clase de objeto requiera';
|
||||
$lang['syntax'] = 'Sintaxis';
|
||||
|
||||
//copy.php
|
||||
$lang['copy_server_read_only'] = 'No se pueden realizar las modificaciones si el servidor está operando en modo inalterable';
|
||||
$lang['copy_dest_dn_blank'] = 'No se ha rellenado el formulario de DN.';
|
||||
$lang['copy_dest_already_exists'] = 'La entrada de destino (%s) encara existe.';
|
||||
$lang['copy_dest_container_does_not_exist'] = 'El contenedor de destino (%s) no existe.';
|
||||
$lang['copy_source_dest_dn_same'] = 'El DN de la fuente y el DN de destino son los mismos.';
|
||||
$lang['copy_server_read_only'] = 'No puede realizar modificaciones cuando el servidor está en modo de sólo lectura';
|
||||
$lang['copy_dest_dn_blank'] = 'Ha dejado el campo DN en blanco.';
|
||||
$lang['copy_dest_already_exists'] = 'El objeto destino (%s) ya existe.';
|
||||
$lang['copy_dest_container_does_not_exist'] = 'El contenedor destino (%s) no existe.';
|
||||
$lang['copy_source_dest_dn_same'] = 'El DN origen y destino son iguales.';
|
||||
$lang['copy_copying'] = 'Copiando ';
|
||||
$lang['copy_recursive_copy_progress'] = 'El progreso de la copia recurrente';
|
||||
$lang['copy_building_snapshot'] = 'Construyendo la \'foto\' del arbol para copiar... ';
|
||||
$lang['copy_successful_like_to'] = 'Exito! Deseas ';
|
||||
$lang['copy_view_new_entry'] = 'Ver el nuevo objeto?';
|
||||
$lang['copy_failed'] = 'Error al copiar DN: ';
|
||||
$lang['copy_recursive_copy_progress'] = 'Progreso de la copia recursiva';
|
||||
$lang['copy_building_snapshot'] = 'Creando imagen del árbol a copiar... ';
|
||||
$lang['copy_successful_like_to'] = '¡Copia correcta! ¿Le gustaría ';
|
||||
$lang['copy_view_new_entry'] = 'ver el nuevo objeto';
|
||||
$lang['copy_failed'] = 'Error al copiar el DN: ';
|
||||
|
||||
//edit.php
|
||||
$lang['missing_template_file'] = 'Error: falta la plantilla, ';
|
||||
$lang['using_default'] = 'Usando el archivo por defecto.';
|
||||
$lang['missing_template_file'] = 'Aviso: falta el fichero de plantilla, ';
|
||||
$lang['using_default'] = 'usando la plantilla por defecto.';
|
||||
$lang['template'] = 'Plantilla';
|
||||
$lang['must_choose_template'] = 'Debes escoger una plantilla';
|
||||
$lang['invalid_template'] = '%s no es una plantilla válida';
|
||||
$lang['using_template'] = 'usando plantilla';
|
||||
$lang['go_to_dn'] = 'Ir a %s';
|
||||
$lang['structural_object_class_cannot_remove'] = 'Esta es una clase de objeto estructural y no se puede eliminar.';
|
||||
$lang['structural'] = 'estructural';
|
||||
|
||||
//copy_form.php
|
||||
$lang['copyf_title_copy'] = 'Copiar ';
|
||||
$lang['copyf_to_new_object'] = 'a un objeto nuevo';
|
||||
$lang['copyf_dest_dn'] = 'DN de destino';
|
||||
$lang['copyf_dest_dn_tooltip'] = 'El DN entero de la nueva entrada a ser creada quan se copie la entrada fuente';
|
||||
$lang['copyf_dest_server'] = 'Servidor de destino';
|
||||
$lang['copyf_note'] = 'Nota: Copiar entre dos servidores funciona solamente si no hay violaciones del esquema.';
|
||||
$lang['copyf_recursive_copy'] = 'Borrar todos los hijos recurentemente también?';
|
||||
$lang['copyf_dest_dn'] = 'DN destino';
|
||||
$lang['copyf_dest_dn_tooltip'] = 'El DN completo del objeto a crear';
|
||||
$lang['copyf_dest_server'] = 'Servidor destino';
|
||||
$lang['copyf_note'] = 'Nota: Sólo se puede copiar entre servidores diferentes cuando no hay violaciones de esquema';
|
||||
$lang['copyf_recursive_copy'] = 'También copiar recursivamente todos los hijos de este objeto.';
|
||||
$lang['recursive_copy'] = 'Copia recursiva';
|
||||
$lang['filter'] = 'Filtro';
|
||||
$lang['search_filter'] = 'Filtro de búsqueda';
|
||||
$lang['filter_tooltip'] = 'Cuando se realice una copia recursiva, copiar sólo los objetos que superen el filtrado';
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute'] = 'Te has dejado el valor en blanco del atributo requerido <b>%s</b>.';
|
||||
$lang['create_redirecting'] = 'Redirigiendo';
|
||||
$lang['create_here'] = 'aquí';
|
||||
$lang['create_could_not_add'] = 'No he podido agregar el objeto al servidor LDAP.';
|
||||
$lang['create_required_attribute'] = 'Ha dejado el valor del atributo requerido (%s) en blanco.';
|
||||
$lang['redirecting'] = 'Redirigiendo...';
|
||||
$lang['here'] = 'aquí';
|
||||
$lang['create_could_not_add'] = 'No se ha podido añadir el objeto al servidor LDAP.';
|
||||
|
||||
//create_form.php
|
||||
$lang['createf_create_object'] = 'Crear Objeto';
|
||||
$lang['createf_choose_temp'] = 'Escoge una plantilla';
|
||||
$lang['createf_select_temp'] = 'Selecciona una plantilla para al proceso de creación';
|
||||
$lang['createf_proceed'] = 'Proceder';
|
||||
$lang['createf_create_object'] = 'Crear objeto';
|
||||
$lang['createf_choose_temp'] = 'Escoja una plantilla';
|
||||
$lang['createf_select_temp'] = 'Seleccione una plantilla para el proceso de creación';
|
||||
$lang['save_as_file'] = 'Guardar como fichero';
|
||||
$lang['rdn_field_blank'] = 'Ha dejado el campo RDN en blanco.';
|
||||
$lang['container_does_not_exist'] = 'El contenedor que ha especificado (%s) no existe. Por favor inténtelo de nuevo.';
|
||||
$lang['no_objectclasses_selected'] = 'No ha seleccionado ninguna clase para este objeto. Por favor, vuelva atrás y hágalo ahora.';
|
||||
$lang['hint_structural_oclass'] = 'Nota: Debe escoger al menos una clase de objeto estructural';
|
||||
|
||||
//creation_template.php
|
||||
$lang['ctemplate_on_server'] = 'Al servidor';
|
||||
$lang['ctemplate_no_template'] = 'No se ha especificado ninguna plantilla en las variables del POST.';
|
||||
$lang['ctemplate_config_handler'] = 'Tu configuración especifica un manejador de';
|
||||
$lang['ctemplate_handler_does_not_exist'] = 'para esta plantilla. Pero este manejador no existe en el directorio \'templates/creation\'.';
|
||||
$lang['ctemplate_on_server'] = 'En el servidor';
|
||||
$lang['ctemplate_no_template'] = 'No se ha especificado ninguna plantilla en las variables POST.';
|
||||
$lang['template_not_readable'] = 'Su configuración especifica un fichero "%s" para esta plantilla pero dicho fichero no se puede leer debido a que sus permisos son demasiado restrictivos.';
|
||||
$lang['template_does_not_exist'] = 'Su configuración especifica un fichero "%s" para esta plantilla pero dicho fichero no existe en el directorio templates/creation.';
|
||||
$lang['create_step1'] = 'Paso 1 de 2: Nombre y clase(s) de objeto';
|
||||
$lang['create_step2'] = 'Paso 2 de 2: Especifique attributos y valores';
|
||||
$lang['relative_distinguished_name'] = 'Nombre Distinguido Relativo (RDN)';
|
||||
$lang['rdn'] = 'RDN';
|
||||
$lang['rdn_example'] = '(ejemplo: cn=nuevaPersona)';
|
||||
$lang['container'] = 'Contenedor';
|
||||
|
||||
// search.php
|
||||
$lang['you_have_not_logged_into_server'] = 'Aún no te has autenticado en ell servidor seleccionado, no puedes hacer ninguna búsqueda.';
|
||||
$lang['click_to_go_to_login_form'] = 'Hac click aquí para ir al formulario de autenticación';
|
||||
$lang['unrecognized_criteria_option'] = 'Opcion de criterio desconocida: ';
|
||||
$lang['if_you_want_to_add_criteria'] = 'Si quieres agregar tu propio criterio en la lista. Estate seguro de editar search.php para manejarlo. Saliendo.';
|
||||
$lang['entries_found'] = 'Entrades encontradas: ';
|
||||
$lang['filter_performed'] = 'Filtro realitzado: ';
|
||||
$lang['search_duration'] = 'Búsqueda realitzada para phpLDAPadmin a';
|
||||
$lang['you_have_not_logged_into_server'] = 'Todavía no ha conectado con el servidor, así que no puede realizar búsquedas.';
|
||||
$lang['click_to_go_to_login_form'] = 'Pulse aquí para ir al formulario de conexión';
|
||||
$lang['unrecognized_criteria_option'] = 'Criterio no reconocido: ';
|
||||
$lang['if_you_want_to_add_criteria'] = 'Si quiere puede añadir su propios criterios a la lista. Asegúrese de editar search.php para manejarlos. Saliendo...';
|
||||
$lang['entries_found'] = 'Objetos encontrados: ';
|
||||
$lang['filter_performed'] = 'Filtrado realizado: ';
|
||||
$lang['search_duration'] = 'Búsqueda realizada por phpLDAPadmin en';
|
||||
$lang['seconds'] = 'segundos';
|
||||
|
||||
// search_form_advanced.php
|
||||
$lang['scope_in_which_to_search'] = 'El alcance en el que buscar';
|
||||
$lang['scope_sub'] = 'Sub (todo el sub-arbol)';
|
||||
$lang['scope_one'] = 'Uno (un nivel por debajo de la base)';
|
||||
$lang['scope_base'] = 'Base (solo base dn)';
|
||||
$lang['standard_ldap_search_filter'] = 'Filtro de búsqueda estándar de LDAP. Ejemplo: (&(sn=Smith)(givenname=David))';
|
||||
$lang['scope_in_which_to_search'] = 'Ámbito de búsqueda';
|
||||
$lang['scope_sub'] = 'Sub (subárbol completo)';
|
||||
$lang['scope_one'] = 'One (un nivel bajo la base)';
|
||||
$lang['scope_base'] = 'Base (sólo la base)';
|
||||
$lang['standard_ldap_search_filter'] = 'Filtro de búsqueda LDAP estándar. Ejemplo: (&(sn=Picapiedra)(givenname=Pedro))';
|
||||
$lang['search_filter'] = 'Filtro de búsqueda';
|
||||
$lang['list_of_attrs_to_display_in_results'] = 'Una lista de atributos para mostrar los resultados (separados por comas)';
|
||||
$lang['list_of_attrs_to_display_in_results'] = 'Lista de atributos para mostrar en los resultados (separados por comas)';
|
||||
$lang['show_attributes'] = 'Mostrar atributos';
|
||||
|
||||
// search_form_simple.php
|
||||
$lang['search_for_entries_whose'] = 'Buscar entradas las cuales:';
|
||||
$lang['equals'] = 'sea igual';
|
||||
$lang['starts with'] = 'comience con';
|
||||
$lang['search_for_entries_whose'] = 'Buscar entradas en las que';
|
||||
$lang['equals'] = 'sea igual a';
|
||||
$lang['starts with'] = 'comience por';
|
||||
$lang['contains'] = 'contenga';
|
||||
$lang['ends with'] = 'termine con';
|
||||
$lang['ends with'] = 'acabe en';
|
||||
$lang['sounds like'] = 'suene como';
|
||||
$lang['predefined_search_str'] = 'o seleccione uno de esta lista';
|
||||
|
||||
// server_info.php
|
||||
$lang['could_not_fetch_server_info'] = 'No se ha podido sacar información LDAP del servidor';
|
||||
$lang['server_info_for'] = 'Información del servidor para: ';
|
||||
$lang['server_reports_following'] = 'El servidor muestra la siguiente información sobre el mismo';
|
||||
$lang['nothing_to_report'] = 'Este servidor no tiene nada a mostrar.';
|
||||
$lang['could_not_fetch_server_info'] = 'No se ha podido obtener ninguna información del servidor LDAP. Esto puede deberse a este <a href="http://bugs.php.net/bug.php?id=29587">error</a> es su versión de PHP o quizás su servidor LDAP posee controles de acceso que privan a los clientes de acceso al RootDSE.';
|
||||
$lang['server_info_for'] = 'Información sobre el servidor: ';
|
||||
$lang['server_reports_following'] = 'El servidor LDAP envía la siguiente información:';
|
||||
$lang['nothing_to_report'] = 'Este servidor no tiene nada sobre lo que informar.';
|
||||
|
||||
//update.php
|
||||
$lang['update_array_malformed'] = 'el update_array está mal formado. Esto podría ser un error del phpLDAPadmin. Por favor reportalo.';
|
||||
$lang['could_not_perform_ldap_modify'] = 'No he podido ejecutar la operación ldap_modify.';
|
||||
$lang['update_array_malformed'] = 'El array update_array no está bien formado. Esto puede indicar un error de phpLDAPadmin. Por favor, informe de ello.';
|
||||
$lang['could_not_perform_ldap_modify'] = 'No se ha podido realizar la operación "ldap_modify".';
|
||||
|
||||
// update_confirm.php
|
||||
$lang['do_you_want_to_make_these_changes'] = 'Quieres hacer estos cambios?';
|
||||
$lang['do_you_want_to_make_these_changes'] = '¿Quiere realizar estos cambios?';
|
||||
$lang['attribute'] = 'Atributo';
|
||||
$lang['old_value'] = 'Valor viejo';
|
||||
$lang['new_value'] = 'Valor nuevo';
|
||||
$lang['old_value'] = 'Valor anterior';
|
||||
$lang['new_value'] = 'Nuevo valor';
|
||||
$lang['attr_deleted'] = '[atributo borrado]';
|
||||
$lang['commit'] = 'Cometer';
|
||||
$lang['cancel'] = 'Cancelar';
|
||||
$lang['you_made_no_changes'] = 'No has hecho ningún cambio';
|
||||
$lang['you_made_no_changes'] = 'No ha realizado cambios';
|
||||
$lang['go_back'] = 'Volver atrás';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note'] = 'Usa el menú de la izquierda para navegar';
|
||||
$lang['credits'] = "Créditos";
|
||||
$lang['changelog'] = "Histórico de cambios";
|
||||
$lang['documentation'] = "Documentación";
|
||||
$lang['welcome_note'] = 'Use el menú de la izquierda para navegar';
|
||||
$lang['credits'] = 'Creditos';
|
||||
$lang['changelog'] = 'Lista de cambios';
|
||||
$lang['donate'] = 'Donar';
|
||||
$lang['pla_logo'] = 'logotipo de phpLDAPadmin';
|
||||
|
||||
// Donate.php
|
||||
$lang['donation_instructions'] = 'Para donar fondos al proyecto phpLDAPadmin, use uno de los botones de abajo.';
|
||||
$lang['donate_amount'] = 'Donar %s';
|
||||
|
||||
$lang['purge_cache'] = 'Borrar cachés';
|
||||
$lang['no_cache_to_purge'] = 'No hay que borrar ningún caché.';
|
||||
$lang['done_purging_caches'] = 'Se han borrado %s bytes de caché.';
|
||||
$lang['purge_cache_tooltip'] = 'Se han borrado todos los datos en el caché de phpLDAPadmin, incluyendo los esquemas del servidor.';
|
||||
|
||||
// view_jpeg_photo.php
|
||||
$lang['unsafe_file_name'] = 'Nombre de archivo inseguro: ';
|
||||
$lang['no_such_file'] = 'Archivo inexistente: ';
|
||||
$lang['unsafe_file_name'] = 'Nombre de fichero no seguro: ';
|
||||
$lang['no_such_file'] = 'No hay tal fichero: ';
|
||||
|
||||
//function.php
|
||||
$lang['auto_update_not_setup'] = 'Has activado los auto_uid_numbers para <b>%s</b> en tu configuración,
|
||||
pero no has especificado el auto_uid_number_mechanism. Por favor soluciona
|
||||
este problema.';
|
||||
$lang['uidpool_not_set'] = 'Has especificado el <tt>auto_uid_number_mechanism</tt> como <tt>uidpool</tt>
|
||||
en tu configuración para el servidor <b>%s</b>, pero no has especificado el
|
||||
audo_uid_number_uid_pool_dn. Por favor especificalo antes de proceder.';
|
||||
$lang['uidpool_not_exist'] = 'Parece ser que el uidPool que has especificado en tu configuración (<tt>%s</tt>)
|
||||
$lang['auto_update_not_setup'] = 'Ha activado "auto_uid_numbers" para <b>%s</b> en su configuración,
|
||||
pero no ha especificado el mecanismo "auto_uid_number_mechanism". Por favor, corrija este problema';
|
||||
$lang['uidpool_not_set'] = 'Ha especificado el mecanismo "auto_uid_number_mechanism" como "uidpool"
|
||||
en su configuración para el servidor <b>%s</b>, pero no ha especificado
|
||||
"audo_uid_number_uid_pool_dn". Por favor, verifiquelo antes de continuar.';
|
||||
$lang['uidpool_not_exist'] = 'Parece ser que el "uidPool" que ha especificado en su configuración ("%s")
|
||||
no existe.';
|
||||
$lang['specified_uidpool'] = 'Has especificado el <tt>auto_uid_number_mechanism</tt> como <tt>search</tt> en tu
|
||||
configuración para el servidor <b>%s</b>, pero no has especificado el
|
||||
<tt>auto_uid_number_search_base</tt>. Por favor especificalo antes de proceder.';
|
||||
$lang['auto_uid_invalid_value'] = 'Has especificado un valor no válido para el auto_uid_number_mechanism (<tt>%s</tt>)
|
||||
en tu configuración. Solo <tt>uidpool</tt> y <tt>search</tt> son válidos.
|
||||
Por favor soluciona este problema.';
|
||||
$lang['error_auth_type_config'] = 'Error: Tienes un error en tu archivo de configuración. Los dos únicos valores aceptados para
|
||||
\'auth_type\' en la sección $servers son \'config\' y \'form\'. Tu has puesto \'%s\',
|
||||
el cual no está aceptado. ';
|
||||
$lang['php_install_not_supports_tls'] = 'Tu instalación de PHP no soporta TLS';
|
||||
$lang['could_not_start_tls'] = 'No he podido iniciar el TLS.<br />Revisa tu configuración del servidor LDAP.';
|
||||
$lang['auth_type_not_valid'] = 'Tienes un error en el archivo de configuración. auth_type de %s no es válido.';
|
||||
$lang['ldap_said'] = '<b>LDAP dijo</b>: %s<br /><br />';
|
||||
$lang['specified_uidpool'] = 'Ha especificado "auto_uid_number_mechanism" como "search" en la
|
||||
configuración del servidor <b>%s</b>, pero no ha especificado
|
||||
"auto_uid_number_search_base". Por favor, especifíquelo antes de continuar.';
|
||||
$lang['auto_uid_invalid_credential'] = 'Imposible conectar con <b>%s</b> con sus credenciales "auto_uid". Por favor, verifique su fichero de configuración.';
|
||||
$lang['bad_auto_uid_search_base'] = 'Su configuración de phpLDAPadmin especifica "auto_uid_search_base" como no válida para el servidor %s';
|
||||
$lang['auto_uid_invalid_value'] = 'Ha especificado un valor no válido para el mecanismo "auto_uid_number_mechanism" ("%s")
|
||||
en su configuración. Sólo son válidos "uidpool" y "search". Por favor, corrija este problema.';
|
||||
$lang['error_auth_type_config'] = 'Error: Tiene un error en su fichero de configurción. Los tres únicos valores para "auth_type"
|
||||
en la sección $servers son \'session\', \'cookie\', y \'config\'. Usted ha introducido \'%s\',
|
||||
que no está permitido. ';
|
||||
$lang['unique_attrs_invalid_credential'] = 'Imposible conectarse a <b>%s</b> con sus credenciales unique_attr. Por favor, revise su fichero de configuración.';
|
||||
$lang['unique_attr_failed'] = 'Su intento de añadir <b>%s</b> (<i>%s</i>) a <br><b>%s</b><br> NO se ha permitido. Tal atributo/valor pertenece a otro objeto.<p>Probablemente desee <a href=\'%s\'>buscar</a> tal objeto.';
|
||||
$lang['php_install_not_supports_tls'] = 'Su instalación de PHP no soporta TLS.';
|
||||
$lang['could_not_start_tls'] = 'No se ha podido iniciar TLS. Por favor, revise su configuración LDAP.';
|
||||
$lang['could_not_bind_anon'] = 'No se ha podido conectar con el servidor de forma anónima.';
|
||||
$lang['could_not_bind'] = 'No se ha podido conectar con el servidor LDAP.';
|
||||
$lang['anonymous_bind'] = 'Conexión anónima';
|
||||
$lang['bad_user_name_or_password'] = 'Nombre de usuario o contraseña incorrectos. Por favor, inténtelo de nuevo.';
|
||||
$lang['redirecting_click_if_nothing_happens'] = 'Redirigiendo... Pulse aquí si no sucede nada.';
|
||||
$lang['successfully_logged_in_to_server'] = 'Ha conectado con el servidor <b>%s</b>.';
|
||||
$lang['could_not_set_cookie'] = 'No se ha podido guardar la cookie.';
|
||||
$lang['ldap_said'] = 'LDAP ha dicho: %s';
|
||||
$lang['ferror_error'] = 'Error';
|
||||
$lang['fbrowse'] = 'mostrar';
|
||||
$lang['fbrowse'] = 'seleccionar';
|
||||
$lang['delete_photo'] = 'Borrar foto';
|
||||
$lang['install_not_support_blowfish'] = 'Tu instalación de PHP no soporta los tipos de encriptación blowfish.';
|
||||
$lang['install_no_mash'] = 'Tu instalación de PHP no tiene la funcion mhash(). No puedo hacer hash SHA.';
|
||||
$lang['jpeg_contains_errors'] = 'jpegPhoto contiene errores<br />';
|
||||
$lang['ferror_number'] = '<b>Error número</b>: %s <small>(%s)</small><br /><br />';
|
||||
$lang['ferror_discription'] = '<b>Descripción</b>: %s <br /><br />';
|
||||
$lang['ferror_number_short'] = '<b>Error número</b>: %s<br /><br />';
|
||||
$lang['ferror_discription_short'] = '<b>Descripción</b>: (no hay descripción)<br />';
|
||||
$lang['ferror_submit_bug'] = 'Es un error del phpLDAPadmin? Si así es, por favor <a href=\'%s\'>dínoslo</a>.';
|
||||
$lang['ferror_unrecognized_num'] = 'Número de error desconocido: ';
|
||||
$lang['install_not_support_blowfish'] = 'Su instalación de PHP no soporta encriptación blowfish.';
|
||||
$lang['install_not_support_md5crypt'] = 'Su instalación de PHP no soporta encriptación md5crypt.';
|
||||
$lang['install_no_mash'] = 'Su instalación de PHP no posee la función mhash(). No se pueden realizar hashes SHA.';
|
||||
$lang['jpeg_contains_errors'] = 'La foto jpegPhoto contiene errores<br />';
|
||||
$lang['ferror_number'] = 'Error número: %s (%s)';
|
||||
$lang['ferror_discription'] = 'Descripción: %s <br /><br />';
|
||||
$lang['ferror_number_short'] = 'Error número: %s<br /><br />';
|
||||
$lang['ferror_discription_short'] = 'Descripción: (no existe descripción disponible)<br />';
|
||||
$lang['ferror_submit_bug'] = '¿Es éste un error de phpLDAPadmin? Si es así, por favor <a href=\'%s\'>informe sobre ello</a>.';
|
||||
$lang['ferror_unrecognized_num'] = 'Número de error no reconocido: ';
|
||||
$lang['ferror_nonfatil_bug'] = '<center><table class=\'notice\'><tr><td colspan=\'2\'><center><img src=\'images/warning.png\' height=\'12\' width=\'13\' />
|
||||
<b>Has encontrado un error menor del phpLDAPadmin!</b></td></tr><tr><td>Error:</td><td><b>%s</b> (<b>%s</b>)</td></tr><tr><td>Archivo:</td>
|
||||
<b>¡Ha encontrado un error no fatal en phpLDAPadmin!</b></td></tr><tr><td>Error:</td><td><b>%s</b> (<b>%s</b>)</td></tr><tr><td>Fichero:</td>
|
||||
<td><b>%s</b> línea <b>%s</b>, caller <b>%s</b></td></tr><tr><td>Versiones:</td><td>PLA: <b>%s</b>, PHP: <b>%s</b>, SAPI: <b>%s</b>
|
||||
</td></tr><tr><td>Servidor Web:</td><td><b>%s</b></td></tr><tr><td colspan=\'2\'><center><a target=\'new\' href=\'%s\'>
|
||||
Envía este error haciendo click aquí</a>.</center></td></tr></table></center><br />';
|
||||
$lang['ferror_congrats_found_bug'] = 'Felicidades! Has encontrado un error en el phpLDAPadmin.<br /><br />
|
||||
</td></tr><tr><td>Servidor web:</td><td><b>%s</b></td></tr><tr><td colspan=\'2\'><center><a target=\'new\' href=\'%s\'>
|
||||
Por favor, informe de este error pulsando aquí</a>.</center></td></tr></table></center><br />';
|
||||
$lang['ferror_congrats_found_bug'] = '¡Felicidades! Ha encontrado un error en phpLDAPadmin.<br /><br />
|
||||
<table class=\'bug\'>
|
||||
<tr><td>Error:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Nivel:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Archivo:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Fichero:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Línea:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Caller:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Versión PLA:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Caller:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Verisón PLA:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Versión PHP:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PHP SAPI:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Servidor Web:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Servidor web:</td><td><b>%s</b></td></tr>
|
||||
</table>
|
||||
<br />
|
||||
Por favor envía este error haciendo click abajo!';
|
||||
Por favor, informe sobre este error haciendo click más abajo!';
|
||||
|
||||
//ldif_import_form
|
||||
$lang['import_ldif_file_title'] = 'Importar archivo LDIF';
|
||||
$lang['select_ldif_file'] = 'Selecciona un archivo LDIF:';
|
||||
$lang['select_ldif_file_proceed'] = 'Proceder >>';
|
||||
$lang['import_ldif_file_title'] = 'Importar fichero LDIF';
|
||||
$lang['select_ldif_file'] = 'Seleccione un fichero LDIF:';
|
||||
$lang['dont_stop_on_errors'] = 'Ignorar errores';
|
||||
|
||||
//ldif_import
|
||||
$lang['add_action'] = 'Añadiendo...';
|
||||
$lang['delete_action'] = 'Borrando...';
|
||||
$lang['rename_action'] = 'Renombrando...';
|
||||
$lang['modify_action'] = 'Modificando...';
|
||||
$lang['warning_no_ldif_version_found'] = 'No se ha encontrado versión. Asumiendo 1.';
|
||||
$lang['valid_dn_line_required'] = 'Se requiere una línea válida.';
|
||||
$lang['missing_uploaded_file'] = 'Falta el fichero enviado.';
|
||||
$lang['no_ldif_file_specified.'] = 'No se ha especificado un fichero LDIF. Por favor, inténtelo de nuevo.';
|
||||
$lang['ldif_file_empty'] = 'El fichero LDIF enviado está vacío.';
|
||||
$lang['empty'] = 'vacío';
|
||||
$lang['file'] = 'Fichero';
|
||||
$lang['number_bytes'] = '%s bytes';
|
||||
|
||||
$lang['failed'] = 'fallado';
|
||||
$lang['ldif_parse_error'] = 'Error de parseado LDIF';
|
||||
$lang['ldif_could_not_add_object'] = 'No he podido añadir el objeto:';
|
||||
$lang['ldif_could_not_rename_object'] = 'No he podido renombrar el objeto:';
|
||||
$lang['ldif_could_not_delete_object'] = 'No he podido borrar el objeto:';
|
||||
$lang['ldif_could_not_modify_object'] = 'No he podido modificar el objeto:';
|
||||
$lang['ldif_line_number'] = 'Linea Número:';
|
||||
$lang['ldif_line'] = 'Linea:';
|
||||
$lang['failed'] = 'Error';
|
||||
$lang['ldif_parse_error'] = 'Error al parsear LDIF';
|
||||
$lang['ldif_could_not_add_object'] = 'No se ha podido añadir objeto:';
|
||||
$lang['ldif_could_not_rename_object'] = 'No se ha podido renombrar el objeto:';
|
||||
$lang['ldif_could_not_delete_object'] = 'No se ha podido borrar el objeto:';
|
||||
$lang['ldif_could_not_modify_object'] = 'No se ha podido modificar el objeto:';
|
||||
$lang['ldif_line_number'] = 'Número de línea:';
|
||||
$lang['ldif_line'] = 'Línea:';
|
||||
|
||||
// Exports
|
||||
$lang['export_format'] = 'Formato de exportación';
|
||||
$lang['line_ends'] = 'Fin de línea';
|
||||
$lang['must_choose_export_format'] = 'Debe escoger un formato de exportación.';
|
||||
$lang['invalid_export_format'] = 'Formato de exportación no válido';
|
||||
$lang['no_exporter_found'] = 'No se ha encontrado ningún exportador válido.';
|
||||
$lang['error_performing_search'] = 'Se ha encontrado un error al realizar la búsqueda.';
|
||||
$lang['showing_results_x_through_y'] = 'Mostrando los resultados de %s a %s.';
|
||||
$lang['searching'] = 'Buscando...';
|
||||
$lang['size_limit_exceeded'] = 'Nota: se ha excedido el tiempo de búsqueda.';
|
||||
$lang['entry'] = 'Objeto';
|
||||
$lang['ldif_export_for_dn'] = 'Exportación LDIF de: %s';
|
||||
$lang['generated_on_date'] = 'Generado por phpLDAPadmin el %s';
|
||||
$lang['total_entries'] = 'Entradas totales';
|
||||
$lang['dsml_export_for_dn'] = 'Exportación DSLM de: %s';
|
||||
$lang['include_system_attrs'] = 'Incluir atributos de sistema';
|
||||
$lang['csv_spreadsheet'] = 'CSV (Hoja de cálculo)';
|
||||
|
||||
// logins
|
||||
$lang['could_not_find_user'] = 'No se ha podido encontrar el usuario "%s"';
|
||||
$lang['password_blank'] = 'Ha dejado la contraseña en blanco.';
|
||||
$lang['login_cancelled'] = 'Conexión cancelada.';
|
||||
$lang['no_one_logged_in'] = 'No hay nadie conectado con el servidor.';
|
||||
$lang['could_not_logout'] = 'No se ha podido desconectar.';
|
||||
$lang['unknown_auth_type'] = 'Tipo de autentificación "auth_type" desconocido: %s';
|
||||
$lang['logged_out_successfully'] = 'Se ha desconectado del servidor <b>%s</b>';
|
||||
$lang['authenticate_to_server'] = 'Autentificación del servidor %s';
|
||||
$lang['warning_this_web_connection_is_unencrypted'] = 'Aviso: Esta conexión no está encriptada.';
|
||||
$lang['not_using_https'] = 'No está usando \'https\'. El navegador web enviará su información sin encriptar.';
|
||||
$lang['login_dn'] = 'Login';
|
||||
$lang['user_name'] = 'Nombre de usuario';
|
||||
$lang['password'] = 'Contraseña';
|
||||
$lang['authenticate'] = 'Entrar';
|
||||
|
||||
// Entry browser
|
||||
$lang['entry_chooser_title'] = 'Selector de objetos';
|
||||
|
||||
// Index page
|
||||
$lang['need_to_configure'] = 'Debe configurar phpLDAPadmin, editando el fichero \'config.php\'. Se proporciona un fichero de configuración de ejemplo en \'config.php.example\'';
|
||||
|
||||
// Mass deletes
|
||||
$lang['no_deletes_in_read_only'] = 'No se permiten borrados en modo de sólo lectura.';
|
||||
$lang['error_calling_mass_delete'] = 'Error al llamar a "mass_delete.php". Falta la variable POST "mass_delete".';
|
||||
$lang['mass_delete_not_array'] = 'La variable POST "mass_delete" no es un array.';
|
||||
$lang['mass_delete_not_enabled'] = 'No está activado el borrado masivo. Por favor, actívelo en config.php antes de continuar.';
|
||||
$lang['search_attrs_wrong_count'] = 'Su config.php tiene un error. El número de atributos en $search_attributes y $search_attributes_display es diferente';
|
||||
$lang['mass_deleting'] = 'Efectuando borrado masivo';
|
||||
$lang['mass_delete_progress'] = 'Borrado en progreso en el servidor "%s"';
|
||||
$lang['malformed_mass_delete_array'] = 'Array de borrado masivo mal formado.';
|
||||
$lang['no_entries_to_delete'] = 'No ha seleccionado objetos para borrar.';
|
||||
$lang['deleting_dn'] = 'Borrando %s';
|
||||
$lang['total_entries_failed'] = 'No han podido borrarse %s de %s objetos.';
|
||||
$lang['all_entries_successful'] = 'Todos los objetos han sido borrados.';
|
||||
$lang['confirm_mass_delete'] = 'Confirmar borrado masivo de %s objetos en el servidor %s';
|
||||
$lang['yes_delete'] = '¡Sí, borrar!';
|
||||
|
||||
// Renaming entries
|
||||
$lang['non_leaf_nodes_cannot_be_renamed'] = 'No puede renombrar un objeto que tenga hijos';
|
||||
$lang['no_rdn_change'] = 'No ha cambiado el RDN';
|
||||
$lang['invalid_rdn'] = 'Valor RDN no válido';
|
||||
$lang['could_not_rename'] = 'No se ha podido renombrar el objeto';
|
||||
|
||||
// General errors
|
||||
$lang['php5_unsupported'] = 'phpLDAPadmin no soporta todavía PHP 5. Si continúa encontrará probablemente extraños errores.';
|
||||
$lang['mismatched_search_attr_config'] = 'Su configuración tiene un error. $search_attributes debe tener el mismo número de atributos que $search_attributes_display.';
|
||||
|
||||
// Password checker
|
||||
$lang['passwords_match'] = '¡Las contraseñas coinciden!';
|
||||
$lang['passwords_do_not_match'] = '¡Las contraseñas no coinciden!';
|
||||
$lang['password_checker_tool'] = 'Herramienta de comprobación de contraseñas';
|
||||
$lang['compare'] = 'Comparar';
|
||||
$lang['to'] = 'con';
|
||||
|
||||
// Templates
|
||||
$lang['using'] = 'Usando la';
|
||||
$lang['template'] = 'plantilla';
|
||||
$lang['switch_to'] = 'Puede cambair a la ';
|
||||
$lang['default_template'] = 'plantilla por defecto';
|
||||
|
||||
// template_config
|
||||
$lang['user_account'] = 'Cuenta de Usuario (posixAccount)';
|
||||
$lang['address_book_inet'] = 'Entrada del libro de direcciones (inetOrgPerson)';
|
||||
$lang['address_book_moz'] = 'Entrada del libro de direcciones (mozillaOrgPerson)';
|
||||
$lang['kolab_user'] = 'Entrada de Usuario Kolab';
|
||||
$lang['organizational_unit'] = 'Unidad Organizativa';
|
||||
$lang['organizational_role'] = 'Rol Organizativo';
|
||||
$lang['posix_group'] = 'Grupo Posix';
|
||||
$lang['samba_machine'] = 'Ordenador con Samba NT';
|
||||
$lang['samba3_machine'] = 'Ordenador con Samba 3 NT';
|
||||
$lang['samba_user'] = 'Usuario de Samba';
|
||||
$lang['samba3_user'] = 'Usuario de Samba 3';
|
||||
$lang['samba3_group'] = 'Mapeo de Grupo de Samba 3';
|
||||
$lang['dns_entry'] = 'Entrada DNS';
|
||||
$lang['simple_sec_object'] = 'Objeto de Seguridad Simple';
|
||||
$lang['courier_mail_account'] = 'Cuenta de Correo Courier';
|
||||
$lang['courier_mail_alias'] = 'Alias de Correo Courier';
|
||||
$lang['ldap_alias'] = 'Alias de LDAP';
|
||||
$lang['sendmail_cluster'] = 'Cluster de Sendmail';
|
||||
$lang['sendmail_domain'] = 'Dominio de Sendmail';
|
||||
$lang['sendmail_alias'] = 'Alias de Sendmail';
|
||||
$lang['sendmail_virt_dom'] = 'Dominio Virtual de Sendmail';
|
||||
$lang['sendmail_virt_users'] = 'Usuarios Virtuales de Sendmail';
|
||||
$lang['sendmail_relays'] = 'Relés de Sendmail';
|
||||
$lang['custom'] = 'A medida';
|
||||
$lang['samba_domain_name'] = 'Mi Nombre de Dominio de Samba';
|
||||
$lang['administrators'] = 'Administradores';
|
||||
$lang['users'] = 'Usuarios';
|
||||
$lang['guests'] = 'Invitados';
|
||||
$lang['power_users'] = 'Usuarios Privilegiados';
|
||||
$lang['account_ops'] = 'Administradores de Cuentas';
|
||||
$lang['server_ops'] = 'Administradores de Servidor';
|
||||
$lang['print_ops'] = 'Administradores de Impresión';
|
||||
$lang['backup_ops'] = 'Administradores de Copias de Seguridad';
|
||||
$lang['replicator'] = 'Replicador';
|
||||
$lang['unable_smb_passwords'] = ' Imposible crear las contraseñas de Samba. Por favor, revise la configuración en template_config.php';
|
||||
$lang['err_smb_conf'] = 'Error: Tiene un error en su configuración de Samba.';
|
||||
$lang['err_smb_no_name_sid'] = 'Error: Necesita indicar el nombre y el sid de su dominio Samba.';
|
||||
$lang['err_smb_no_name'] = 'Error: No se ha indicado el nombre del dominio Samba.';
|
||||
$lang['err_smb_no_sid'] = 'Error: No se ha indicado el sid del dominio Samba.';
|
||||
|
||||
// Samba Account Template
|
||||
$lang['samba_account'] = 'Cuenta Samba';
|
||||
$lang['samba_account_lcase'] = 'cuenta samba';
|
||||
|
||||
// New User (Posix) Account
|
||||
$lang['t_new_user_account'] = 'Nueva cuenta de usuario';
|
||||
$lang['t_hint_customize'] = 'Nota: Para modificar esta plantilla, edite el fichero templates/creation/new_user_template.php';
|
||||
$lang['t_name'] = 'Nombre';
|
||||
$lang['t_first_name'] = 'Nombre propio';
|
||||
$lang['t_last_name'] = 'Apellido';
|
||||
$lang['t_first'] = 'nombre propio';
|
||||
$lang['t_last'] = 'apellido';
|
||||
$lang['t_common_name'] = 'Nombre común';
|
||||
$lang['t_user_name'] = 'Nombre de Usuario';
|
||||
$lang['t_password'] = 'Contraseña';
|
||||
$lang['t_encryption'] = 'Encriptación';
|
||||
$lang['t_login_shell'] = 'Shell de entrada';
|
||||
$lang['t_home_dir'] = 'Directorio de usuario';
|
||||
$lang['t_uid_number'] = 'Número UID';
|
||||
$lang['t_auto_det'] = '(determinado automáticamente)';
|
||||
$lang['t_group'] = 'Grupo';
|
||||
$lang['t_gid_number'] = 'Número GID';
|
||||
$lang['t_err_passwords'] = 'Sus contraseñas no coinciden. Por favor, vuelva atrás e inténtelo de nuevon.';
|
||||
$lang['t_err_field_blank'] = 'No puede dejar en blanco el %s. Por favor, vuelva atrás e inténtelo de nuevo.';
|
||||
$lang['t_err_field_num'] = 'Sólo puede introducir valores numéricos en el campo %s. Por favor, vuelva atrás e inténtelo de nuevo.';
|
||||
$lang['t_err_bad_container'] = 'El contenedor que ha especificado (%s) no existe. Por favor, vuelva atrás e inténtelo de nuevo.';
|
||||
$lang['t_confirm_account_creation'] = 'Confirmar creación de cuenta';
|
||||
$lang['t_secret'] = '[secreta]';
|
||||
$lang['t_create_account'] = 'Crear cuenta';
|
||||
|
||||
// New Address Template
|
||||
$lang['t_new_address'] = 'Nueva entrada en el libro de direcciones';
|
||||
$lang['t_organization'] = 'Organización';
|
||||
$lang['t_address'] = 'Dirección';
|
||||
$lang['t_city'] = 'Ciudad';
|
||||
$lang['t_postal_code'] = 'Código postal';
|
||||
$lang['t_street'] = 'Calle';
|
||||
$lang['t_work_phone'] = 'Teléfono de trabajo';
|
||||
$lang['t_fax'] = 'Fax';
|
||||
$lang['t_mobile'] = 'Móvil';
|
||||
$lang['t_email'] = 'Email';
|
||||
$lang['t_container'] = 'Contenedor';
|
||||
$lang['t_err_cn_blank'] = 'No puede dejar el campo "Nombre Común" en blanco. Por favor, vuelva atrás e inténtelo de nuevo.';
|
||||
$lang['t_confim_creation'] = 'Confirmar creación de entrada:';
|
||||
$lang['t_create_address'] = 'Crear dirección';
|
||||
|
||||
// default template
|
||||
$lang['t_check_pass'] = 'Compruebe la contraseña...';
|
||||
|
||||
?>
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
*
|
||||
* Thank you!
|
||||
*
|
||||
* $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/fr.php,v 1.17 2004/05/29 04:08:58 uugdave Exp $
|
||||
* $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/fr.php,v 1.21 2005/04/01 22:40:57 xrenard Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -34,6 +34,14 @@ $lang['contains'] = 'contient';
|
||||
$lang['predefined_search_str'] = 'Selectionner une recherche prédéfinie';
|
||||
$lang['predefined_searches'] = 'Recherches prédéfinies';
|
||||
$lang['no_predefined_queries'] = 'Aucune requête n\' a été définie dans config.php.';
|
||||
$lang['export_results'] = 'exporter le resultat';
|
||||
$lang['unrecoginzed_search_result_format'] = 'Le format du résultat de la recherche est non reconnu: %s';
|
||||
$lang['format'] = 'Format';
|
||||
$lang['list'] = 'liste';
|
||||
$lang['table'] = 'table';
|
||||
$lang['bad_search_display'] = 'Le fichier config.php contient une valeur invalide pour $default_search_display: %s. Veuillez le corriger';
|
||||
$lang['page_n'] = 'Page %d';
|
||||
$lang['no_results'] = 'Aucun résultat pour cette recherche.';
|
||||
|
||||
// Tree browser
|
||||
$lang['request_new_feature'] = 'Demander une nouvelle fonctionnalité';
|
||||
@ -54,20 +62,25 @@ $lang['view_server_info'] = 'Voir les informations sur le serveur';
|
||||
$lang['import_from_ldif'] = 'Importer des entrées à partir d\'un fichier LDIF';
|
||||
$lang['logout_of_this_server'] = 'Se déconnecter de ce serveur';
|
||||
$lang['logged_in_as'] = 'Connecté en tant que: ';
|
||||
$lang['this_base_dn_is_not_valid'] = 'Ceci n\'est pas un DN valide.';
|
||||
$lang['this_base_dn_does_not_exist'] = 'Cette entrée n\'existe pas.';
|
||||
$lang['read_only'] = 'Lecture seule';
|
||||
$lang['read_only_tooltip'] = 'Cet attribut a été mis en lecture seule par l\'administrateur de phpLDAPAdmin';
|
||||
$lang['could_not_determine_root'] = 'La racine de l\'arborescence Ldap n\'a pu être déterminée.';
|
||||
$lang['ldap_refuses_to_give_root'] = 'Il semble que le serveur LDAP a été configuré de telle sorte que la racine ne soit pas révelée.';
|
||||
$lang['please_specify_in_config'] = 'Veuillez le spécifier dans le fichier config.php';
|
||||
$lang['create_new_entry_in'] = 'Créer une nouvelle entrée dans';
|
||||
$lang['login_link'] = 'Login...';
|
||||
$lang['login'] = 'login';
|
||||
|
||||
$lang['base_entry_does_not_exist'] = 'L\'entrée racine n\'existe pas.';
|
||||
$lang['create_it'] = 'La créer?';
|
||||
// Entry display
|
||||
$lang['delete_this_entry'] = 'Supprimer cette entrée';
|
||||
$lang['delete_this_entry_tooltip'] = 'Il vous sera demandé confirmation';
|
||||
$lang['copy_this_entry'] = 'Copier cette entrée';
|
||||
$lang['copy_this_entry_tooltip'] = 'Copier cet objet vers un autre endroit, un nouveau DN ou un autre serveur';
|
||||
$lang['export'] = 'Exporter';
|
||||
$lang['export_lcase'] = 'exporter';
|
||||
$lang['export_tooltip'] = 'Sauvegarder cet objet';
|
||||
$lang['export_subtree_tooltip'] = 'Sauvegarder cet objet ainsi que tous les sous-objets';
|
||||
$lang['export_subtree'] = 'Exporter l\'arborescence';
|
||||
@ -84,7 +97,9 @@ $lang['hide_internal_attrs'] = 'Cacher les attributs internes';
|
||||
$lang['show_internal_attrs'] = 'Montrer les attributs internes';
|
||||
$lang['attr_name_tooltip'] = 'Cliquer pour voir la définition de schéma pour l\'attribut de type \'%s\'';
|
||||
$lang['none'] = 'aucun';
|
||||
$lang['save_changes'] = 'Sauver les modifications';
|
||||
$lang['no_internal_attributes'] = 'Aucun attributs internes.';
|
||||
$lang['no_attributes'] = 'Cette entrée n\a aucun attributs.';
|
||||
$lang['save_changes'] = 'Sauvegarder les modifications';
|
||||
$lang['add_value'] = 'ajouter une valeur';
|
||||
$lang['add_value_tooltip'] = 'Ajouter une valeur supplémentaire à cet attribut';
|
||||
$lang['refresh_entry'] = 'Rafraichir';
|
||||
@ -99,6 +114,8 @@ $lang['no_new_binary_attrs_available'] = 'plus d\' attributs binaires disponible
|
||||
$lang['binary_value'] = 'Valeur de type binaire';
|
||||
$lang['add_new_binary_attr'] = 'Ajouter un nouvel attribut de type binaire';
|
||||
$lang['alias_for'] = 'Alias pour';
|
||||
$lang['required_for'] = 'Attribut requis par le(s) objectClass(es) %s';
|
||||
$lang['required_by_entry'] = 'Cet attribut est requis par le RDN.';
|
||||
$lang['download_value'] = 'Télécharger le contenu';
|
||||
$lang['delete_attribute'] = 'Supprimer l\'attribut';
|
||||
$lang['true'] = 'vrai';
|
||||
@ -108,18 +125,17 @@ $lang['really_delete_attribute'] = 'Voulez-vous vraiment supprimer l\'attribut';
|
||||
$lang['add_new_value'] = 'Ajouter une nouvelle valeur';
|
||||
|
||||
// Schema browser
|
||||
$lang['the_following_objectclasses'] = 'Les classes d\'objets (objectClasses) suivantes sont supportés par ce serveur LDAP.';
|
||||
$lang['the_following_attributes'] = 'Les types d\'attributs (attributesTypes) suivants sont supportés par ce serveur LDAP.';
|
||||
$lang['the_following_matching'] = 'Les opérateurs (matching rules) suivants sont supportés par ce serveur LDAP.';
|
||||
$lang['the_following_syntaxes'] = 'Les syntaxes suivantes sont supportés par ce serveur LDAP.';
|
||||
$lang['schema_retrieve_error_1']='Le serveur ne supporte pas entièrement le protocol LDAP.';
|
||||
$lang['schema_retrieve_error_2']='Votre version de PHP ne permet pas d\'exécute correctement la requête.';
|
||||
$lang['schema_retrieve_error_3']='Ou tout du moins, phpLDAPadmin ne sait pas comment récupérer le schéma pour votre serveur.';
|
||||
$lang['schema_retrieve_error_2']='Votre version de PHP ne permet pas d\'exécuter correctement la requête.';
|
||||
$lang['schema_retrieve_error_3']='phpLDAPadmin ne sait pas comment récupérer le schéma pour votre serveur.';
|
||||
$lang['schema_retrieve_error_4']='Ou tout du moins, votre serveur LDAP ne procure pas cette information.';
|
||||
$lang['jump_to_objectclass'] = 'Aller à une classe d\'objet';
|
||||
$lang['view_schema_for_oclass'] = 'Voir la description du schema pour cette objectClass';
|
||||
$lang['jump_to_attr'] = 'Aller à un attribut';
|
||||
$lang['jump_to_matching_rule'] = 'Aller à une règle d\'égalité';
|
||||
$lang['schema_for_server'] = 'Schema pour le serveur';
|
||||
$lang['required_attrs'] = 'Attributs obligatoires';
|
||||
$lang['required'] = 'requis';
|
||||
$lang['optional_attrs'] = 'Attributs optionnels';
|
||||
$lang['optional_binary_attrs'] = 'Attributs binaires optionnels';
|
||||
$lang['OID'] = 'OID';
|
||||
@ -131,6 +147,7 @@ $lang['equality']='Egalité';
|
||||
$lang['is_obsolete'] = 'Cette classe d\'objet est obsolete';
|
||||
$lang['inherits'] = 'hérite';
|
||||
$lang['inherited_from']='hérite de';
|
||||
$lang['parent_to'] = 'Parent de';
|
||||
$lang['jump_to_this_oclass'] = 'Aller à la définition de cette classe d\'objet';
|
||||
$lang['matching_rule_oid'] = 'OID de l\'opérateur';
|
||||
$lang['syntax_oid'] = 'OID de la syntaxe';
|
||||
@ -140,8 +157,7 @@ $lang['character']='caractère';
|
||||
$lang['characters']='caractères';
|
||||
$lang['used_by_objectclasses']='Utilisé par les objectClasses';
|
||||
$lang['used_by_attributes']='Utilisé par les attributes';
|
||||
$lang['maximum_length']='Maximum Length';
|
||||
$lang['attributes']='Types d\'attribut';
|
||||
$lang['attribute_types']='Types d\'attribut';
|
||||
$lang['syntaxes']='Syntaxes';
|
||||
$lang['objectclasses']='objectClasses';
|
||||
$lang['matchingrules']='Règles d\'égalité';
|
||||
@ -155,7 +171,12 @@ $lang['user_modification']='Modification Utilisateur';
|
||||
$lang['usage']='Usage';
|
||||
$lang['maximum_length']='Longueur maximale';
|
||||
$lang['could_not_retrieve_schema_from']='Impossible de récupérer le schéma de';
|
||||
$lang['the_following_objectclasses'] = 'Les classes d\'objets (objectClasses) suivantes sont supportés par ce serveur LDAP.';
|
||||
$lang['the_following_attributes'] = 'Les types d\'attributs (attributesTypes) suivants sont supportés par ce serveur LDAP.';
|
||||
$lang['the_following_matching'] = 'Les opérateurs (matching rules) suivants sont supportés par ce serveur LDAP.';
|
||||
$lang['the_following_syntaxes'] = 'Les syntaxes suivantes sont supportés par ce serveur LDAP.';
|
||||
$lang['type']='Type';
|
||||
$lang['no_such_schema_item'] = 'No such schema item: "%s"';
|
||||
|
||||
// Deleting entries
|
||||
$lang['entry_deleted_successfully'] = 'Suppression de l\'entrée \'%s\' réussie.';
|
||||
@ -182,8 +203,14 @@ $lang['no_attr_specified'] = 'Aucun nom d\'attributs spécifié.';
|
||||
$lang['no_dn_specified'] = 'Aucun DN specifié';
|
||||
|
||||
// Adding attributes
|
||||
$lang['left_attr_blank'] = 'Vous avez laisser la valeur de l\'attribut vide. Veuillez s\'il vous plaît retourner à la page précédente et recommencer.';
|
||||
$lang['left_attr_blank'] = 'Vous avez laissé la valeur de l\'attribut vide. Veuillez s\'il vous plaît retourner à la page précédente et recommencer.';
|
||||
$lang['failed_to_add_attr'] = 'Echec lors de l\'ajout de l\'attribut.';
|
||||
$lang['file_empty'] = 'Le fichier choisi soit est vide soit n\'existe pas. Veuillez recommencez.';
|
||||
$lang['invalid_file'] = 'Erreur de sécurité: Le fichier uploadé peut etre dangereux.';
|
||||
$lang['warning_file_uploads_disabled'] = 'Votre configuration PHP interdit l\'upload de fichiers. Veuillez vérifier votre fichier php.ini avant de continuer.';
|
||||
$lang['uploaded_file_too_big'] = 'Le fichier à uploader est de trop grande taille. Veuillez vérifier votre fichier php.ini et particulièrement la directive upload_max_size setting';
|
||||
$lang['uploaded_file_partial'] = 'Le fichier sélectionner a été partiellement uploadé, probablement du à une erreur réseau.';
|
||||
$lang['max_file_size'] = 'Taille Maximum du fichier: %s';
|
||||
|
||||
// Updating values
|
||||
$lang['modification_successful'] = 'Modification réussie!';
|
||||
@ -201,10 +228,12 @@ $lang['add_oclass_and_attrs'] = 'Ajout d\' ObjectClass et d\'attributs';
|
||||
$lang['chooser_link_tooltip'] = 'Cliquer pour choisir un entré(DN)';
|
||||
$lang['no_updates_in_read_only_mode'] = 'Vous ne pouvez effectuer des mises à jour si le serveur est en lecture seule';
|
||||
$lang['bad_server_id'] = 'Id de serveur invalide';
|
||||
$lang['not_enough_login_info'] = 'Informations insuffisantes pour se logguer au serveur. Veuillez, s\'il vous plaî, vérifier votre configuration.';
|
||||
$lang['not_enough_login_info'] = 'Informations insuffisantes pour se logguer au serveur. Veuillez, s\'il vous plaît, vérifier votre configuration.';
|
||||
$lang['could_not_connect'] = 'Impossible de se connecter au serveur LDAP.';
|
||||
$lang['could_not_connect_to_host_on_port'] = 'Impossible de se connecter à "%s" sur le port "%s"';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'Echec lors de l\'opération ldap_mod_add.';
|
||||
$lang['home'] = 'Home';
|
||||
$lang['help'] = 'Aide';
|
||||
$lang['bad_server_id_underline'] = 'serveur_id invalide: ';
|
||||
$lang['success'] = 'Succès';
|
||||
$lang['server_colon_pare'] = 'Serveur: ';
|
||||
@ -230,6 +259,11 @@ $lang['bug'] = 'bogue';
|
||||
$lang['warning'] = 'Avertissement';
|
||||
$lang['light'] = 'lumière'; // the word 'light' from 'light bulb'
|
||||
$lang['proceed_gt'] = 'Continuer >>';
|
||||
$lang['no_blowfish_secret'] = 'phpLDAPadmin ne peut de façon sur encrypter et décrypter les informations du fait que $blowfish_secret n\'est pas défini dans config.php. Vous devez définir $blowfish_secret avec une chaine de caractère de votre choix.';
|
||||
$lang['jpeg_dir_not_writable'] = 'Veuillez assigner à la variable $jpeg_temp_dir le nom d\'un répertoire accessible en écriture dans le fichier config.php';
|
||||
$lang['jpeg_dir_not_writable_error'] = 'Impossible d\'écrire dans le répertoire %s défini par la directive $jpeg_temp_dir. Veuillez vérifier que votre serveur web à les droits en écriture pour ce répertoire.';
|
||||
$lang['jpeg_unable_toget'] = 'Impossible de trouver la ressource jpeg du serveur LDAP pour l\'attribut %s.';
|
||||
$lang['jpeg_delete'] = 'Supprimer la photo';
|
||||
|
||||
|
||||
// Add value form
|
||||
@ -265,6 +299,8 @@ $lang['must_choose_template'] = 'Vous devez choisir un modèle';
|
||||
$lang['invalid_template'] = '%s est un modèle non valide';
|
||||
$lang['using_template'] = 'Utilisation du modèle';
|
||||
$lang['go_to_dn'] = 'Aller à %s';
|
||||
$lang['structural_object_class_cannot_remove'] = 'Ceci est une \'objectclass\' de type structurelle et ne peut etre supprimé.';
|
||||
$lang['structural'] = 'structurelle';
|
||||
|
||||
|
||||
|
||||
@ -280,13 +316,16 @@ $lang['copyf_recursive_copy'] = 'Copier récursivement les sous-entrées de cet
|
||||
$lang['recursive_copy'] = 'Copie récursive';
|
||||
$lang['filter'] = 'Filtre';
|
||||
$lang['filter_tooltip'] = 'Lors d\'une copie récursive, seuls les entrées correspondant à ce filtre seront copiés';
|
||||
$lang['delete_after_copy'] = 'Suppresion après copie (déplacer):';
|
||||
$lang['delete_after_copy_warn'] = 'Soyez certain que votre filtre (ci-dessus) selectionnera tous les enregistrements enfants.';
|
||||
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute'] = 'Une valeur n\'a pas été spécifiée pour l\'attribut requis %s.';
|
||||
$lang['redirecting'] = 'Redirection';
|
||||
$lang['here'] = 'ici';
|
||||
$lang['create_could_not_add'] = 'L\'ajout de l\'objet au serveur LDAP n\'a pu être effectuée.';
|
||||
$lang['rdn_field_blank'] = 'Vous avez laisser le champ du RDN vide.';
|
||||
$lang['rdn_field_blank'] = 'Vous avez laissé le champ du RDN vide.';
|
||||
$lang['container_does_not_exist'] = 'Le containeur que vous avez spécifié (%s) n\'existe pas. Veuillez, s\'il vous plaît recommencer.';
|
||||
$lang['no_objectclasses_selected'] = 'Vous n\'avez sélectionner aucun ObjectClasses pour cet objet. Veuillez s\'il vous plaît retourner à la page précédente et le faire.';
|
||||
$lang['hint_structural_oclass'] = 'Note: Vous devez choisir au moins une classe d\'objet de type structural';
|
||||
@ -295,6 +334,7 @@ $lang['hint_structural_oclass'] = 'Note: Vous devez choisir au moins une classe
|
||||
$lang['createf_create_object'] = 'Creation d\'un objet';
|
||||
$lang['createf_choose_temp'] = 'Choix d\'un modèle';
|
||||
$lang['createf_select_temp'] = 'Selectionner un modèle pour la procédure de création';
|
||||
$lang['save_as_file'] = 'Sauvegarder en tant que fichier';
|
||||
$lang['createf_proceed'] = 'Continuer';
|
||||
$lang['relative_distinguished_name'] = 'Relative Distinguished Name';
|
||||
$lang['rdn'] = 'RDN';
|
||||
@ -306,6 +346,8 @@ $lang['alias_for'] = 'Alias pour %s';
|
||||
//creation_template.php
|
||||
$lang['ctemplate_on_server'] = 'Sur le serveur';
|
||||
$lang['ctemplate_no_template'] = 'Aucun modèle spécifié dans les variables POST.';
|
||||
$lang['template_not_readable'] = 'Votre fichier de configuration définit un gestionnaire de "%s" pour ce \'template\' mais ce fichier ne possède pas les droits de lecture.';
|
||||
$lang['template_does_not_exist'] = 'Votre fichier de configuration définit un gestionnaire de "%s" pour ce \'template\' mais le gestionnaire n\'existe pas dans le répertoire templates/creation.';
|
||||
$lang['ctemplate_config_handler'] = 'Votre configuration scécifie un gestionnaire de';
|
||||
$lang['ctemplate_handler_does_not_exist'] = 'pour ce modèle. Cependant, ce gestionnaire n\'existe pas dans le répertoire \'templates/creation\'.';
|
||||
$lang['create_step1'] = 'Etape 1 de 2: Nom et classes d\'objet';
|
||||
@ -358,12 +400,23 @@ $lang['commit'] = 'Valider';
|
||||
$lang['cancel'] = 'Annuler';
|
||||
$lang['you_made_no_changes'] = 'Aucun changement n\'a été effectué';
|
||||
$lang['go_back'] = 'Retour';
|
||||
$lang['unable_create_samba_pass'] = 'Impossible de créer le mot de passe samba. Veuillez vérifiez votre configuration dans le fichier template_config.php';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note'] = 'Utilisez le menu de gauche pour la navigation';
|
||||
$lang['credits'] = 'Crédits';
|
||||
$lang['changelog'] = 'ChangeLog';
|
||||
$lang['donate'] = 'Donation';
|
||||
$lang['pla_logo'] = 'phpLDAPadmin logo';
|
||||
|
||||
|
||||
// Donate.php
|
||||
$lang['donation_instructions'] = 'Pour effectuer une doantion au projet phpLDAadmin, veuillez utilisez un des boutons PayPal ci-dessous.';
|
||||
$lang['donate_amount'] = 'Donner %s';
|
||||
$lang['purge_cache'] = 'Vider la cache';
|
||||
$lang['no_cache_to_purge'] = 'Aucune cache à vider.';
|
||||
$lang['done_purging_caches'] = 'Suppression de %s octets de la cache.';
|
||||
$lang['purge_cache_tooltip'] = 'Supprimer toutes les données en cache dans phpLDAPadmin, y compris les schemas serveur.';
|
||||
|
||||
// view_jpeg_photo.php
|
||||
$lang['unsafe_file_name'] = 'Nom de fichier non sûr: ';
|
||||
@ -521,6 +574,70 @@ $lang['non_leaf_nodes_cannot_be_renamed'] = 'Vous ne pouvez pas renommer une ent
|
||||
$lang['no_rdn_change'] = 'Le RDN n\'a pas été modifié';
|
||||
$lang['invalid_rdn'] = 'Valeur invalide du RDN';
|
||||
$lang['could_not_rename'] = 'Impossible de renommer l\'entrée';
|
||||
$lang['csv_spreadsheet'] = 'CSV (tableur)';
|
||||
|
||||
|
||||
// Samba Account Template
|
||||
$lang['samba_account'] = 'Samba Account';
|
||||
$lang['samba_account_lcase'] = 'samba account';
|
||||
|
||||
// New User (Posix) Account
|
||||
$lang['t_new_user_account'] = 'Nouveau compte utilisateur';
|
||||
$lang['t_hint_customize'] = 'Astuce: Pour personnaliser ce \'template\', éditez le fichier templates/creation/new_user_template.php';
|
||||
$lang['t_name'] = 'Nom';
|
||||
$lang['t_first_name'] = 'Prénom';
|
||||
$lang['t_last_name'] = 'Nom de famille';
|
||||
$lang['t_first'] = 'first';
|
||||
$lang['t_last'] = 'last';
|
||||
$lang['t_common_name'] = 'Common name';
|
||||
$lang['t_user_name'] = 'Nom d\'utilisateur';
|
||||
$lang['t_password'] = 'Mot de passe';
|
||||
$lang['t_encryption'] = 'Encryption';
|
||||
$lang['t_login_shell'] = 'Login Shell';
|
||||
$lang['t_home_dir'] = 'Home Directory';
|
||||
$lang['t_uid_number'] = 'UID Number';
|
||||
$lang['t_auto_det'] = '(déterminé automatiquement)';
|
||||
$lang['t_group'] = 'Groupe';
|
||||
$lang['t_gid_number'] = 'GID Number';
|
||||
$lang['t_err_passwords'] = 'Les mots de passe ne correspondent pas. Veuillez revenir en arrière et recommencez.';
|
||||
$lang['t_err_field_blank'] = 'Le champ %s ne peut etre vide. Veuillez revenir en arrière et recommencez.';
|
||||
$lang['t_err_field_num'] = 'Seuls des valeurs numériques sont valides pour le champ %s. Veuillez revenir en arrière et recommencez.';
|
||||
$lang['t_err_bad_container'] = 'Le conténeur spécifié (%s) n\'existe pas. Veuillez revenir en arrière et recommencez.';
|
||||
$lang['t_confirm_account_creation'] = 'Confirmation de la création du compte';
|
||||
$lang['t_secret'] = '[secret]';
|
||||
$lang['t_create_account'] = 'Créer le compte';
|
||||
|
||||
// New Address Template
|
||||
$lang['t_new_address'] = 'New Address Book Entry';
|
||||
$lang['t_organization'] = 'Organisation';
|
||||
$lang['t_address'] = 'Adresse';
|
||||
$lang['t_city'] = 'Ville';
|
||||
$lang['t_postal_code'] = 'Code postal';
|
||||
$lang['t_street'] = 'rue';
|
||||
$lang['t_work_phone'] = 'Work phone';
|
||||
$lang['t_fax'] = 'Fax';
|
||||
$lang['t_mobile'] = 'Mobile';
|
||||
$lang['t_email'] = 'Email';
|
||||
$lang['t_container'] = 'Conténeur';
|
||||
$lang['t_err_cn_blank'] = 'Le champ \'Common Name\' ne peut etre vide. Veuillez revenir en arrière et recommencer.';
|
||||
$lang['t_confim_creation'] = 'Confirmation de la création de l\'entrée:';
|
||||
$lang['t_create_address'] = 'Create Address';
|
||||
|
||||
// compare form
|
||||
$lang['compare'] = 'Comparer';
|
||||
$lang['comparing'] = 'Comparaison des DNs suivant:';
|
||||
$lang['compare_dn'] = 'Comparer un autre DN avec';
|
||||
$lang['with'] = 'avec ';
|
||||
$lang['compf_source_dn'] = 'DN Source';
|
||||
$lang['compf_dn_tooltip'] = 'Comparer ce DN avec un autre';
|
||||
$lang['switch_entry'] = 'Intervertir les entrées';
|
||||
$lang['no_value'] = 'Aucune Valeur';
|
||||
$lang['compare_with'] = 'Comparer avec une autre entrée';
|
||||
$lang['need_oclass'] = 'You need one of the following ObjectClass(es) to add this attribute %s.';
|
||||
|
||||
// Time out page
|
||||
$lang['session_timed_out_1'] = 'Votre session a expiré après';
|
||||
$lang['session_timed_out_2'] = 'min. d\'inactivité. Vous avez été automatiquement déconnecté.';
|
||||
$lang['log_back_in'] = 'Pour vous connecter à nouveau, cliquez sur le lien suivant:';
|
||||
$lang['session_timed_out_tree'] = '(Expiration de session. Déconnexion automatique.)';
|
||||
?>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/ja.php,v 1.1 2004/12/09 14:19:28 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/ja.php,v 1.4 2005/03/08 10:22:10 wurley Exp $
|
||||
|
||||
|
||||
/* --- INSTRUCTIONS FOR TRANSLATORS ---
|
||||
@ -37,7 +37,7 @@ $lang['predefined_search_str'] = '事前定義された検索を選択';
|
||||
$lang['predefined_searches'] = '事前定義検索';
|
||||
$lang['no_predefined_queries'] = 'config.php で定義された照会はありません。';
|
||||
$lang['export_results'] = '結果エクスポート';
|
||||
$lang['unrecoginzed_search_result_format'] = 'Unrecognized search result format: %s';
|
||||
$lang['unrecoginzed_search_result_format'] = '認識できない書式の検索結果です: %s';
|
||||
$lang['format'] = '書式';
|
||||
$lang['list'] = '一覧';
|
||||
$lang['table'] = 'テーブル';
|
||||
@ -56,14 +56,16 @@ $lang['import'] = 'インポート';
|
||||
$lang['refresh'] = '再描画';
|
||||
$lang['logout'] = 'ログアウト';
|
||||
$lang['create_new'] = 'ここに新規エントリを追加';
|
||||
$lang['view_schema_for'] = 'View schema for';
|
||||
$lang['refresh_expanded_containers'] = 'Refresh all expanded containers for';
|
||||
$lang['create_new_entry_on'] = 'Create a new entry on';
|
||||
$lang['view_schema_for'] = 'スキーマを閲覧 対象:';
|
||||
$lang['refresh_expanded_containers'] = '展開済みの内容を再描画 対象:';
|
||||
$lang['create_new_entry_on'] = 'エントリを新規作成 対象:';
|
||||
$lang['new'] = '新規';
|
||||
$lang['view_server_info'] = 'サーバーが提供する情報を閲覧';
|
||||
$lang['import_from_ldif'] = 'LDIF ファイルからのインポートエントリ';
|
||||
$lang['logout_of_this_server'] = 'このサーバーのログアウト';
|
||||
$lang['logged_in_as'] = 'Logged in as: ';
|
||||
$lang['logged_in_as'] = '次のコンテナでログイン: ';
|
||||
$lang['this_base_dn_is_not_valid'] = 'これは有効な DN ではありません。';
|
||||
$lang['this_base_dn_does_not_exist'] = 'このエントリは存在しません。';
|
||||
$lang['read_only'] = '読み込み専用';
|
||||
$lang['read_only_tooltip'] = 'この属性は phpLDAP 管理者により、読み込み専用で設定されています。';
|
||||
$lang['could_not_determine_root'] = 'LDAP ツリーのルートが決定できません。';
|
||||
@ -73,7 +75,7 @@ $lang['create_new_entry_in'] = 'Create a new entry in';
|
||||
$lang['login_link'] = 'ログイン...';
|
||||
$lang['login'] = 'ログイン';
|
||||
$lang['base_entry_does_not_exist'] = 'ベースエントリが存在しません。';
|
||||
$lang['create_it'] = 'Create it?';
|
||||
$lang['create_it'] = '作成しますか?';
|
||||
|
||||
// Entry display
|
||||
$lang['delete_this_entry'] = 'このエントリを削除';
|
||||
@ -92,35 +94,35 @@ $lang['add'] = '追加';
|
||||
$lang['view'] = 'View';
|
||||
$lang['view_one_child'] = 'ひとつの子を閲覧';
|
||||
$lang['view_children'] = '%s 個の子を閲覧';
|
||||
$lang['add_new_attribute'] = '新規属性追加';
|
||||
$lang['add_new_objectclass'] = '新規 ObjectClass を追加';
|
||||
$lang['add_new_attribute'] = '新規属性を追加';
|
||||
$lang['add_new_objectclass'] = '新規 ObjectClass を追加する';
|
||||
$lang['hide_internal_attrs'] = '内部属性を隠す';
|
||||
$lang['show_internal_attrs'] = '内部属性を表示';
|
||||
$lang['attr_name_tooltip'] = 'Click to view the schema defintion for attribute type \'%s\'';
|
||||
$lang['attr_name_tooltip'] = '属性タイプ \'%s\' のためのスキーマ定義を見るためにクリックしてください。';
|
||||
$lang['none'] = 'なし';
|
||||
$lang['no_internal_attributes'] = '内部属性がありません';
|
||||
$lang['no_attributes'] = 'このエントリは属性を持っていません';
|
||||
$lang['save_changes'] = '変更を保存';
|
||||
$lang['add_value'] = '値追加';
|
||||
$lang['add_value_tooltip'] = 'Add an additional value to attribute \'%s\'';
|
||||
$lang['add_value_tooltip'] = '追加値を属性「%s」に追加する';
|
||||
$lang['refresh_entry'] = '再描画';
|
||||
$lang['refresh_this_entry'] = 'このエントリを再描画';
|
||||
$lang['refresh_this_entry'] = 'このエントリを再描画する';
|
||||
$lang['delete_hint'] = 'ヒント: 属性を削除するにはテキストフィールドを空にして保存をクリックします。';
|
||||
$lang['attr_schema_hint'] = 'ヒント: 属性のスキーマを閲覧するには、属性名をクリックします。';
|
||||
$lang['attrs_modified'] = 'Some attributes (%s) were modified and are highlighted below.';
|
||||
$lang['attr_modified'] = 'An attribute (%s) was modified and is highlighted below.';
|
||||
$lang['viewing_read_only'] = 'Viewing entry in read-only mode.';
|
||||
$lang['no_new_attrs_available'] = 'no new attributes available for this entry';
|
||||
$lang['no_new_binary_attrs_available'] = 'no new binary attributes available for this entry';
|
||||
$lang['attrs_modified'] = 'いくつかの属性 (%s) は修正され、下記でハイライトされました。';
|
||||
$lang['attr_modified'] = 'ひとつの属性 (%s) は修正され、下記でハイライトされました。';
|
||||
$lang['viewing_read_only'] = '読み込みモードでエントリを閲覧中。';
|
||||
$lang['no_new_attrs_available'] = 'このエントリに利用可能な新規属性はありません。';
|
||||
$lang['no_new_binary_attrs_available'] = 'このエントリに利用可能な新規バイナリ属性はありません。';
|
||||
$lang['binary_value'] = 'バイナリ値';
|
||||
$lang['add_new_binary_attr'] = '新規バイナリ属性を追加';
|
||||
$lang['alias_for'] = 'Note: \'%s\' is an alias for \'%s\'';
|
||||
$lang['alias_for'] = '注: \'%s\' は \'%s\' のエイリアスです。';
|
||||
$lang['required_for'] = 'objectClass %s の必須属性';
|
||||
$lang['download_value'] = 'ダウンロード値';
|
||||
$lang['delete_attribute'] = '属性削除';
|
||||
$lang['true'] = 'true';
|
||||
$lang['false'] = 'false';
|
||||
$lang['none_remove_value'] = 'none, remove value';
|
||||
$lang['none_remove_value'] = 'いいえ、値を削除します';
|
||||
$lang['really_delete_attribute'] = '本当に属性を削除';
|
||||
$lang['add_new_value'] = '新規値追加';
|
||||
|
||||
@ -132,6 +134,7 @@ $lang['the_following_syntaxes'] = '次の文法はこの LDAP サーバーでサ
|
||||
$lang['schema_retrieve_error_1']='このサーバーはすべての LDAP プロトコルをサポートしていません。';
|
||||
$lang['schema_retrieve_error_2']='この PHP のバージョンは正確に照会を行えません。';
|
||||
$lang['schema_retrieve_error_3']='あるいは、phpLDAPadmin は、あなたのサーバーからスキーマを取得する方法を知りません。';
|
||||
$lang['schema_retrieve_error_4']='Or lastly, LDAP サーバーはこの情報を提供していません。';
|
||||
$lang['jump_to_objectclass'] = 'objectClass に移動';
|
||||
$lang['view_schema_for_oclass'] = 'この objectClass のスキーマ説明を閲覧';
|
||||
$lang['jump_to_attr'] = '属性タイプに移動';
|
||||
@ -153,16 +156,16 @@ $lang['inherited_from'] = '派生元';
|
||||
$lang['parent_to'] = '派生先';
|
||||
$lang['jump_to_this_oclass'] = 'この objectClass 定義に移動';
|
||||
$lang['matching_rule_oid'] = '適用ルール OID';
|
||||
$lang['syntax_oid'] = 'Syntax OID';
|
||||
$lang['syntax_oid'] = '文法 OID';
|
||||
$lang['not_applicable'] = '適用可能ではありません';
|
||||
$lang['not_specified'] = '指定されていません';
|
||||
$lang['character']='character';
|
||||
$lang['characters']='characters';
|
||||
$lang['used_by_objectclasses']='Used by objectClasses';
|
||||
$lang['used_by_attributes']='Used by Attributes';
|
||||
$lang['used_by_objectclasses']='objectClass を使する';
|
||||
$lang['used_by_attributes']='Attributes で使する';
|
||||
$lang['maximum_length']='最大長';
|
||||
$lang['attribute_types']='属性タイプ';
|
||||
$lang['syntaxes']='Syntaxes';
|
||||
$lang['syntaxes']='文法一覧';
|
||||
$lang['matchingrules']='一致ルール';
|
||||
$lang['oid']='OID';
|
||||
$lang['obsolete']='旧式';
|
||||
@ -182,16 +185,16 @@ $lang['you_must_specify_a_dn'] = 'DN を指定しなければなりません';
|
||||
$lang['could_not_delete_entry'] = 'エントリを削除できませんでした: %s';
|
||||
$lang['no_such_entry'] = 'エントリがありません: %s';
|
||||
$lang['delete_dn'] = '%s 削除';
|
||||
$lang['permanently_delete_children'] = 'Permanently delete all children also?';
|
||||
$lang['permanently_delete_children'] = 'さらに永久にすべての子を削除しますか?';
|
||||
$lang['entry_is_root_sub_tree'] = 'このエントリは %s エントリを含むサブツリーのルートです。';
|
||||
$lang['view_entries'] = 'エントリ閲覧';
|
||||
$lang['confirm_recursive_delete'] = 'phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?';
|
||||
$lang['confirm_recursive_delete_note'] = 'Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems.';
|
||||
$lang['confirm_recursive_delete'] = 'phpLDAPadmin は再帰的に、このエントリとその子のすべての %s を削除できます。このアクションが削除するすべてのエントリの一覧は、下記を参照してください。本当に本当に削除しますか?';
|
||||
$lang['confirm_recursive_delete_note'] = '注: これは潜在的に非常に危険です。また、自己責任でこれをします。このオペレーションは取り消せません。エイリアス・referralとその他の問題を考察を持ってください。';
|
||||
$lang['delete_all_x_objects'] = '%s オブジェクトをすべて削除';
|
||||
$lang['recursive_delete_progress'] = '再帰削除進行';
|
||||
$lang['entry_and_sub_tree_deleted_successfully'] = 'エントリ %s とサブツリーの削除に成功しました。';
|
||||
$lang['failed_to_delete_entry'] = 'エントリ %s のふぁ駆除に失敗しました';
|
||||
$lang['list_of_entries_to_be_deleted'] = 'List of entries to be deleted:';
|
||||
$lang['failed_to_delete_entry'] = 'エントリ %s の削除に失敗しました';
|
||||
$lang['list_of_entries_to_be_deleted'] = 'エントリの一覧を削除しました:';
|
||||
$lang['sure_permanent_delete_object']='本当にこのオブジェクトを永続的に削除しますか?';
|
||||
$lang['dn'] = 'DN';
|
||||
|
||||
@ -201,13 +204,13 @@ $lang['no_attr_specified'] = '属性名が指定されていません。';
|
||||
$lang['no_dn_specified'] = 'DN が指定されていません';
|
||||
|
||||
// Adding attributes
|
||||
$lang['left_attr_blank'] = 'You left the attribute value blank. Please go back and try again.';
|
||||
$lang['left_attr_blank'] = '属性値が空です。戻ってからもう一度試してください。';
|
||||
$lang['failed_to_add_attr'] = '属性の追加に失敗しました。';
|
||||
$lang['file_empty'] = 'The file you chose is either empty or does not exist. Please go back and try again.';
|
||||
$lang['invalid_file'] = 'Security error: The file being uploaded may be malicious.';
|
||||
$lang['warning_file_uploads_disabled'] = 'Your PHP configuration has disabled file uploads. Please check php.ini before proceeding.';
|
||||
$lang['uploaded_file_too_big'] = 'アップロードされたファイルが大きすぎます。php.ini の upload_max_size 設定を調べてください。';
|
||||
$lang['uploaded_file_partial'] = '選択したファイルは、部分的なアップロードさでした。The file you selected was only partially uploaded, likley due to a network error.';
|
||||
$lang['file_empty'] = 'あなたの選んだファイルは空か存在しないかのいずれかです。戻ってからもう一度試してください。';
|
||||
$lang['invalid_file'] = 'セキュリティエラー: アップロードされたファイルは悪意のあるものかもしれません。';
|
||||
$lang['warning_file_uploads_disabled'] = 'PHP の設定でファイルのアップロードが無効です。続行する前に、php.ini を確認してください。';
|
||||
$lang['uploaded_file_too_big'] = 'アップロードされたファイルが大きすぎます。php.ini の upload_max_size 設定を確認してください。';
|
||||
$lang['uploaded_file_partial'] = '選択したファイルは、部分的なアップロードでした。likley due to a network error.';
|
||||
$lang['max_file_size'] = '最大ファイルサイズ: %s';
|
||||
|
||||
// Updating values
|
||||
@ -217,22 +220,23 @@ $lang['change_password_new_login'] = 'パスワードを変更したので、今
|
||||
// Adding objectClass form
|
||||
$lang['new_required_attrs'] = '新規必須属性';
|
||||
$lang['requires_to_add'] = 'This action requires you to add';
|
||||
$lang['new_attributes'] = '新貴族性';
|
||||
$lang['new_attributes'] = '新規属性';
|
||||
$lang['new_required_attrs_instructions'] = 'Instructions: In order to add this objectClass to this entry, you must specify';
|
||||
$lang['that_this_oclass_requires'] = 'that this objectClass requires. You can do so in this form.';
|
||||
$lang['that_this_oclass_requires'] = 'それは objectClass に必要です。このフォームでそうすることができます。';
|
||||
$lang['add_oclass_and_attrs'] = 'ObjectClass と属性を追加';
|
||||
$lang['objectclasses'] = 'ObjectClasses';
|
||||
$lang['objectclasses'] = 'ObjectClass 一覧';
|
||||
|
||||
// General
|
||||
$lang['chooser_link_tooltip'] = 'Click to popup a dialog to select an entry (DN) graphically';
|
||||
$lang['no_updates_in_read_only_mode'] = 'You cannot perform updates while server is in read-only mode';
|
||||
$lang['no_updates_in_read_only_mode'] = 'サーバーは読み込みモードなので、更新を実行できません。';
|
||||
$lang['bad_server_id'] = '間違ったサーバー ID';
|
||||
$lang['not_enough_login_info'] = 'サーバーにログインする情報が不足しています。設定を確認してください。';
|
||||
$lang['could_not_connect'] = 'LDAP サーバーに接続できませんでした。';
|
||||
$lang['could_not_connect_to_host_on_port'] = '"%s" のポート "%s" に接続できませんでした';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'Could not perform ldap_mod_add operation.';
|
||||
$lang['bad_server_id_underline'] = 'Bad server_id: ';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'ldap_mod_add 操作を実行できませんでした。';
|
||||
$lang['bad_server_id_underline'] = '間違った server_id: ';
|
||||
$lang['home'] = 'ホーム';
|
||||
$lang['help'] = 'ヘルプ';
|
||||
$lang['success'] = '成功';
|
||||
$lang['server_colon_pare'] = 'サーバー: ';
|
||||
$lang['look_in'] = 'Looking in: ';
|
||||
@ -240,8 +244,8 @@ $lang['missing_server_id_in_query_string'] = '照会文字列にサーバー ID
|
||||
$lang['missing_dn_in_query_string'] = '照会文字列に DN が指定されていません!';
|
||||
$lang['back_up_p'] = 'バックアップ...';
|
||||
$lang['no_entries'] = 'エントリがありません';
|
||||
$lang['not_logged_in'] = 'Not logged in';
|
||||
$lang['could_not_det_base_dn'] = 'Could not determine base DN';
|
||||
$lang['not_logged_in'] = 'ログインしていません';
|
||||
$lang['could_not_det_base_dn'] = 'ベース DN を決定することが出来ませんでした';
|
||||
$lang['please_report_this_as_a_bug']='この不都合を報告してください。';
|
||||
$lang['reasons_for_error']='This could happen for several reasons, the most probable of which are:';
|
||||
$lang['yes']='はい';
|
||||
@ -257,7 +261,11 @@ $lang['bug'] = '不都合';
|
||||
$lang['warning'] = '警告';
|
||||
$lang['light'] = 'light'; // the word 'light' from 'light bulb'
|
||||
$lang['proceed_gt'] = '進む >>';
|
||||
|
||||
$lang['no_blowfish_secret'] = '$blowfish_secret が config.php で設定されていないので、phpLDAPadmin は安全に機密情報を暗号化と解読をすることができません。config.php を編集し、秘密文字列を $blowfish_secret に設定するする必要があります。';
|
||||
$lang['jpeg_dir_not_writable'] = 'phpLDAPadmin の設定ファイル config.php で、書き込み可能なディレクトリを $jpeg_temp_dir に設定してください。';
|
||||
$lang['jpeg_dir_not_writable_error'] = '$jpeg_temp_dir で指定したディレクトリ %s に書き込みできません。ウェブサーバーがそこにファイルを書き込みできることを確認してください。';
|
||||
$lang['jpeg_unable_toget'] = '属性 %s 用に LDAP サーバーから jpeg データを取得できませんでした。';
|
||||
$lang['jpeg_delete'] = '写真を削除';
|
||||
|
||||
// Add value form
|
||||
$lang['add_new'] = '新規追加';
|
||||
@ -265,14 +273,14 @@ $lang['value_to'] = 'value to';
|
||||
$lang['distinguished_name'] = '関連名';
|
||||
$lang['current_list_of'] = 'Current list of';
|
||||
$lang['values_for_attribute'] = '属性の値';
|
||||
$lang['inappropriate_matching_note'] = 'Note: You will get an "inappropriate matching" error if you have not setup an EQUALITY rule on your LDAP server for this attribute.';
|
||||
$lang['inappropriate_matching_note'] = '注: LDAP サーバーでこの属性の EQUALITY ルールをセットアップしていなかった場合、"inappropriate matching" エラーを取得するでしょう。';
|
||||
$lang['enter_value_to_add'] = 'Enter the value you would like to add:';
|
||||
$lang['new_required_attrs_note'] = 'Note: you may be required to enter new attributes that this objectClass requires';
|
||||
$lang['syntax'] = 'Syntax';
|
||||
$lang['syntax'] = '文法';
|
||||
|
||||
//copy.php
|
||||
$lang['copy_server_read_only'] = 'You cannot perform updates while server is in read-only mode';
|
||||
$lang['copy_dest_dn_blank'] = 'You left the destination DN blank.';
|
||||
$lang['copy_server_read_only'] = 'サーバーが読み込みモードなので、更新を行うことができません。';
|
||||
$lang['copy_dest_dn_blank'] = '対象 DN がブランクで残されました。';
|
||||
$lang['copy_dest_already_exists'] = '対象エントリ (%s) は既に存在します。';
|
||||
$lang['copy_dest_container_does_not_exist'] = '対象先コンテナー (%s) は存在しません。';
|
||||
$lang['copy_source_dest_dn_same'] = '対象元と対象先 DN が同じです。';
|
||||
@ -291,8 +299,8 @@ $lang['must_choose_template'] = 'テンプレートを選ばなければなり
|
||||
$lang['invalid_template'] = '%s は無効なテンプレート';
|
||||
$lang['using_template'] = '使用中のテンプレート';
|
||||
$lang['go_to_dn'] = '%s に移動';
|
||||
+$lang['structural_object_class_cannot_remove'] = 'これは構造 ObjectClass なので削除できませんでした。';
|
||||
+$lang['structural'] = '構造';
|
||||
$lang['structural_object_class_cannot_remove'] = 'これは構造 ObjectClass なので削除できませんでした。';
|
||||
$lang['structural'] = '構造';
|
||||
|
||||
//copy_form.php
|
||||
$lang['copyf_title_copy'] = 'コピー ';
|
||||
@ -300,16 +308,18 @@ $lang['copyf_to_new_object'] = 'to a new object';
|
||||
$lang['copyf_dest_dn'] = '対象 DN';
|
||||
$lang['copyf_dest_dn_tooltip'] = 'The full DN of the new entry to be created when copying the source entry';
|
||||
$lang['copyf_dest_server'] = '対象サーバー';
|
||||
$lang['copyf_note'] = 'Hint: Copying between different servers only works if there are no schema violations';
|
||||
$lang['copyf_note'] = 'Hint: スキーマ違反がなければ、異なるサーバー間のコピー処理のみ行います。';
|
||||
$lang['copyf_recursive_copy'] = '同様にこのオブジェクトのすべての子を再帰コピーします。';
|
||||
$lang['recursive_copy'] = '再帰コピー';
|
||||
$lang['filter'] = 'Filter';
|
||||
$lang['filter'] = 'フィルター';
|
||||
$lang['search_filter'] = '検索フィルター';
|
||||
$lang['filter_tooltip'] = 'When performing a recursive copy, only copy those entries which match this filter';
|
||||
$lang['filter_tooltip'] = '再帰的なコピーを行なう場合、このフィルタと一致するエントリのみコピーしてください。';
|
||||
$lang['delete_after_copy'] = 'コピーの後に削除 (移動):';
|
||||
$lang['delete_after_copy_warn'] = 'Make sure your filter (above) will select all child records.';
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute'] = 'You left the value blank for required attribute (%s).';
|
||||
$lang['redirecting'] = 'Redirecting...';
|
||||
$lang['redirecting'] = 'リダイレクト中...';
|
||||
$lang['here'] = 'ここ';
|
||||
$lang['create_could_not_add'] = 'LDAP サーバーにオブジェクトを追加できませんでした。';
|
||||
|
||||
@ -318,10 +328,10 @@ $lang['createf_create_object'] = 'オブジェクト作成';
|
||||
$lang['createf_choose_temp'] = 'テンプレート選択';
|
||||
$lang['createf_select_temp'] = '作成処理のテンプレートを選択';
|
||||
$lang['save_as_file'] = 'ファイルに保存';
|
||||
$lang['rdn_field_blank'] = 'You left the RDN field blank.';
|
||||
$lang['rdn_field_blank'] = 'RDN フィールドが空です。';
|
||||
$lang['container_does_not_exist'] = '指定したコンテナー(%s)が存在しません。もう一度行ってください。';
|
||||
$lang['no_objectclasses_selected'] = 'You did not select any ObjectClasses for this object. Please go back and do so.';
|
||||
$lang['hint_structural_oclass'] = 'ヒント: You must choose exactly one structural objectClass (shown in bold above)';
|
||||
$lang['no_objectclasses_selected'] = 'このオブジェクトのためのいくつかの ObjectClass を選択しませんでした。戻ってそのように実行してください。';
|
||||
$lang['hint_structural_oclass'] = 'ヒント: ひとつの構造 objectClass を選択しなければなりません (上で強調表示されています)';
|
||||
|
||||
//creation_template.php
|
||||
$lang['ctemplate_on_server'] = 'サーバー';
|
||||
@ -365,16 +375,16 @@ $lang['sounds like'] = 'に近い';
|
||||
|
||||
// server_info.php
|
||||
$lang['could_not_fetch_server_info'] = 'サーバーから LDAP 情報を取得できませんでした。これはあなたの PHP バージョンの<a href="http://bugs.php.net/bug.php?id=29587">不都合</a>によるかもしれません。あるいは、あなたの LDAP サーバーは、LDAP クライアントが RootDSE にアクセスするのを防ぐアクセス制御指定をしています。';
|
||||
$lang['server_info_for'] = 'Server info for: ';
|
||||
$lang['server_reports_following'] = 'Server reports the following information about itself';
|
||||
$lang['server_info_for'] = 'サーバー情報: ';
|
||||
$lang['server_reports_following'] = 'サーバーは自分自身で次の情報を報告しました。';
|
||||
$lang['nothing_to_report'] = 'このサーバーはなにも報告するものはありません。';
|
||||
|
||||
//update.php
|
||||
$lang['update_array_malformed'] = 'update_array がオカシイです。This might be a phpLDAPadmin bug. Please report it.';
|
||||
$lang['update_array_malformed'] = 'update_array がおかしいです。これは phpLDAPadmin のバグかもしれませんので、報告してください。';
|
||||
$lang['could_not_perform_ldap_modify'] = 'ldap_modify 操作が実行できませんでした。';
|
||||
|
||||
// update_confirm.php
|
||||
$lang['do_you_want_to_make_these_changes'] = 'Do you want to make these changes?';
|
||||
$lang['do_you_want_to_make_these_changes'] = '変更をしたいですか?';
|
||||
$lang['attribute'] = '属性';
|
||||
$lang['old_value'] = '古い値';
|
||||
$lang['new_value'] = '新しい値';
|
||||
@ -382,20 +392,19 @@ $lang['attr_deleted'] = '[属性を削除しました]';
|
||||
$lang['commit'] = 'コミット';
|
||||
$lang['cancel'] = '取り消し';
|
||||
$lang['you_made_no_changes'] = '変更はありません';
|
||||
$lang['go_back'] = 'Go back';
|
||||
$lang['go_back'] = '戻る';
|
||||
$lang['unable_create_samba_pass'] = 'samba パスワードを作成できませんでした。template_conf.php の設定を確認してください。';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note'] = '左へのメニューを使用して捜査します';
|
||||
$lang['welcome_note'] = '左へのメニューを使用して操作します';
|
||||
$lang['credits'] = 'クレジット';
|
||||
$lang['changelog'] = '変更履歴';
|
||||
$lang['donate'] = '寄贈';
|
||||
$lang['donate'] = '寄附';
|
||||
$lang['pla_logo'] = 'phpLDAPadmin ロゴ';
|
||||
|
||||
// Donate.php
|
||||
$lang['donation_instructions'] = 'phpLDAPadmin プロジェクトに資金を寄贈するためには、PayPal ボタンのうちの 1 つを下に使用してください。';
|
||||
$lang['donate_amount'] = '%s を寄贈';
|
||||
$lang['wish_list_option'] = 'Or perhaps you would prefer to purchase an gift for a phpLDAPadmin developer.';
|
||||
$lang['wish_list'] = 'Dave\'s phpLDAPadmin のゐっ主リストを閲覧';
|
||||
|
||||
$lang['purge_cache'] = 'キャッシュ破棄';
|
||||
$lang['no_cache_to_purge'] = '破棄するキャッシュはありませんでした。';
|
||||
@ -407,44 +416,44 @@ $lang['unsafe_file_name'] = '安全でないファイル名: ';
|
||||
$lang['no_such_file'] = 'ファイルがありません: ';
|
||||
|
||||
//function.php
|
||||
$lang['auto_update_not_setup'] = 'You have enabled auto_uid_numbers for <b>%s</b> in your configuration,
|
||||
but you have not specified the auto_uid_number_mechanism. Please correct
|
||||
this problem.';
|
||||
$lang['uidpool_not_set'] = 'You specified the "auto_uid_number_mechanism" as "uidpool"
|
||||
in your configuration for server <b>%s</b>, but you did not specify the
|
||||
audo_uid_number_uid_pool_dn. Please specify it before proceeding.';
|
||||
$lang['auto_update_not_setup'] = '設定ファイルの <b>%s</b>You の auto_uid_numbers が有効ですが、
|
||||
auto_uid_number_mechanism が指定されていません。
|
||||
この問題を修正してください。.';
|
||||
$lang['uidpool_not_set'] = 'サーバー <b>%s</b> の設定で、"auto_uid_number_mechanism" を "uidpool" に指定していますが、
|
||||
audo_uid_number_uid_pool_dn を指定していません。
|
||||
続行する前にそれを指定してください';
|
||||
$lang['uidpool_not_exist'] = 'It appears that the uidPool you specified in your configuration ("%s")
|
||||
does not exist.';
|
||||
$lang['specified_uidpool'] = 'You specified the "auto_uid_number_mechanism" as "search" in your
|
||||
configuration for server <b>%s</b>, but you did not specify the
|
||||
"auto_uid_number_search_base". Please specify it before proceeding.';
|
||||
$lang['auto_uid_invalid_credential'] = 'Unable to bind to <b>%s</b> with your with auto_uid credentials. Please check your configuration file.';
|
||||
$lang['bad_auto_uid_search_base'] = 'Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s';
|
||||
$lang['auto_uid_invalid_value'] = 'You specified an invalid value for auto_uid_number_mechanism ("%s")
|
||||
in your configration. Only "uidpool" and "search" are valid.
|
||||
Please correct this problem.';
|
||||
$lang['error_auth_type_config'] = 'Error: You have an error in your config file. The only three allowed values
|
||||
for auth_type in the $servers section are \'session\', \'cookie\', and \'config\'. You entered \'%s\',
|
||||
which is not allowed. ';
|
||||
$lang['unique_attrs_invalid_credential'] = 'Unable to bind to <b>%s</b> with your with unique_attrs credentials. Please check your configuration file.';
|
||||
$lang['unique_attr_failed'] = 'Your attempt to add <b>%s</b> (<i>%s</i>) to <br><b>%s</b><br> is NOT allowed. That attribute/value belongs to another entry.<p>You might like to <a href=\'%s\'>search</a> for that entry.';
|
||||
$lang['specified_uidpool'] = 'サーバー <b>%s</b> の設定で「search」に「auto_uid_number_mechanism」を指定しました。
|
||||
しかし「auto_uid_number_search_base」が指定されていません。
|
||||
これを実行前に指定してください。';
|
||||
$lang['auto_uid_invalid_credential'] = 'Unable to bind to <b>%s</b> with your with auto_uid credentials. 設定ファイルを確認してください。';
|
||||
$lang['bad_auto_uid_search_base'] = 'phpLDAPadmin の設定で、サーバー %s に無効な auto_uid_search_base が指定されました';
|
||||
$lang['auto_uid_invalid_value'] = '設定ファイルの auto_uid_number_mechanism の指定が間違った値("%s")です。
|
||||
"uidpool" と "search" のみ有効です。
|
||||
この問題を修正してください。';
|
||||
$lang['error_auth_type_config'] = 'エラー: 設定ファイルのにエラーがあります。$servers セクションの auth_type は
|
||||
「session」「cookie」「config」のみっつの値のみ許可されていますが、
|
||||
許可されない「%s」が入力されました。';
|
||||
$lang['unique_attrs_invalid_credential'] = 'Unable to bind to <b>%s</b> with your with unique_attrs credentials. 設定ファイルを確認してください。';
|
||||
$lang['unique_attr_failed'] = '<b>%s</b> (<i>%s</i>) の <b>%s</b> への追加の試みは許可<b>されていません</b>。<br />その属性/値は別のエントリが所有しています。<p>そのエントリを<a href=\'%s\'>検索</a>などするしょう。';
|
||||
$lang['php_install_not_supports_tls'] = 'インストールされている PHP は TLS をサポートしていません。';
|
||||
$lang['could_not_start_tls'] = 'TLS を開始できません。LDAP サーバーの設定を確認してください。';
|
||||
$lang['could_not_bind_anon'] = 'サーバーに匿名接続できませんでした。';
|
||||
$lang['could_not_bind'] = 'LDAP サーバーに接続できませんでした。';
|
||||
$lang['anonymous_bind'] = '匿名接続';
|
||||
$lang['bad_user_name_or_password'] = 'ユーザー名かパスワードがおかしいです。もう一度行ってください。';
|
||||
$lang['redirecting_click_if_nothing_happens'] = 'Redirecting... Click here if nothing happens.';
|
||||
$lang['successfully_logged_in_to_server'] = 'サーバー <b>%s</b>へのログインに成功しました';
|
||||
$lang['redirecting_click_if_nothing_happens'] = 'リダイレクト中... もし何も起こらなかったらここをクリックしてください。';
|
||||
$lang['successfully_logged_in_to_server'] = 'サーバー <b>%s</b> へのログインに成功しました';
|
||||
$lang['could_not_set_cookie'] = 'cookie を設定できませんでした。';
|
||||
$lang['ldap_said'] = 'LDAP 回答: %s';
|
||||
$lang['ldap_said'] = 'LDAP の回答: %s';
|
||||
$lang['ferror_error'] = 'エラー';
|
||||
$lang['fbrowse'] = '閲覧';
|
||||
$lang['delete_photo'] = '写真削除';
|
||||
$lang['install_not_support_blowfish'] = 'インストールされた PHP は blowfish 暗号化をサポートしていません。';
|
||||
$lang['install_not_support_md5crypt'] = 'インストールされた PHP は md5crypt 暗号化をサポートしていません。';
|
||||
$lang['install_no_mash'] = 'インストールされた PHP は mhash() をサポートしていません。SHA ハッシュをすることができません。';
|
||||
$lang['jpeg_contains_errors'] = 'jpegPhoto contains errors<br />';
|
||||
$lang['jpeg_contains_errors'] = 'エラーを含む jpeg 写真<br />';
|
||||
$lang['ferror_number'] = 'エラー番号: %s (%s)';
|
||||
$lang['ferror_discription'] = '説明: %s <br /><br />';
|
||||
$lang['ferror_number_short'] = 'エラー番号: %s<br /><br />';
|
||||
@ -511,7 +520,7 @@ $lang['searching'] = '検索中...';
|
||||
$lang['size_limit_exceeded'] = '通知です。検索サイズが制限を越えました。';
|
||||
$lang['entry'] = 'エントリ';
|
||||
$lang['ldif_export_for_dn'] = 'LDIF エクスポート: %s';
|
||||
$lang['generated_on_date'] = 'Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s';
|
||||
$lang['generated_on_date'] = '%s に phpLDAPadmin ( http://www.phpldapadmin.com/ ) で生成しました。';
|
||||
$lang['total_entries'] = '総エントリ';
|
||||
$lang['dsml_export_for_dn'] = 'DSLM エクスポート: %s';
|
||||
$lang['include_system_attrs'] = 'システム属性を含む';
|
||||
@ -519,19 +528,20 @@ $lang['csv_spreadsheet'] = 'CSV (スプレッドシート)';
|
||||
|
||||
// logins
|
||||
$lang['could_not_find_user'] = 'ユーザー "%s" が見つかりません';
|
||||
$lang['password_blank'] = 'You left the password blank.';
|
||||
$lang['password_blank'] = 'パスワードが空です。';
|
||||
$lang['login_cancelled'] = 'ログインが取り消されました。';
|
||||
$lang['no_one_logged_in'] = 'No one is logged in to that server.';
|
||||
$lang['could_not_logout'] = 'ログアウトできませんでした。';
|
||||
$lang['unknown_auth_type'] = '未知の auth_type: %s';
|
||||
$lang['logged_out_successfully'] = 'サーバー <b>%s</b> からログアウトに成功しました';
|
||||
$lang['authenticate_to_server'] = 'Authenticate to server %s';
|
||||
$lang['authenticate_to_server'] = 'サーバー %s へ認証';
|
||||
$lang['warning_this_web_connection_is_unencrypted'] = '警告: このウェブ接続は暗号化されていません。';
|
||||
$lang['not_using_https'] = 'You are not using \'https\'. Web browser will transmit login information in clear text.';
|
||||
$lang['not_using_https'] = 'あなたは \'https\' を使っていません。ログイン情報はブラウザからクリアテキストで送信されます、';
|
||||
$lang['login_dn'] = 'ログイン DN';
|
||||
$lang['user_name'] = 'ユーザー名';
|
||||
$lang['password'] = 'パスワード';
|
||||
$lang['authenticate'] = 'Authenticate';
|
||||
$lang['login_not_allowed'] = 'すみません、この LDAP サーバーと phpLDAPadmin を使用することを許可していません。';
|
||||
|
||||
// Entry browser
|
||||
$lang['entry_chooser_title'] = 'エントリ選択';
|
||||
@ -563,7 +573,7 @@ $lang['could_not_rename'] = 'エントリの名称変更が出来ませんでし
|
||||
|
||||
// General errors
|
||||
$lang['php5_unsupported'] = 'phpLDAPadmin は PHP 5 をサポートしていません。You will likely encounter many weird problems if you continue.';
|
||||
$lang['mismatched_search_attr_config'] = '設定にエラーがあります。$search_attributes must have the same number of attributes as $search_attributes_display.';
|
||||
$lang['mismatched_search_attr_config'] = '設定にエラーがあります。$search_attributes は $search_attributes_display の属性と同じ数を持たなければいけません。';
|
||||
|
||||
// Password checker
|
||||
$lang['passwords_match'] = 'パスワードが一致しました!';
|
||||
@ -572,4 +582,100 @@ $lang['password_checker_tool'] = 'パスワードチェックツール';
|
||||
$lang['compare'] = '比較';
|
||||
$lang['to'] = 'To';
|
||||
|
||||
// Templates
|
||||
$lang['using'] = 'Using the';
|
||||
$lang['template'] = 'テンプレート';
|
||||
$lang['switch_to'] = 'You may switch to the ';
|
||||
$lang['default_template'] = 'デフォルトテンプレート';
|
||||
|
||||
// template_config
|
||||
$lang['user_account'] = 'ユーザーアカウント (posixAccount)';
|
||||
$lang['address_book_inet'] = 'アドレス帳エントリ (inetOrgPerson)';
|
||||
$lang['address_book_moz'] = 'アドレス帳エントリ (mozillaOrgPerson)';
|
||||
$lang['kolab_user'] = 'Kolab ユーザーエントリ';
|
||||
$lang['organizational_unit'] = '所属組織';
|
||||
$lang['organizational_role'] = '所属職務';
|
||||
$lang['posix_group'] = 'Posix グループ';
|
||||
$lang['samba_machine'] = 'Samba NT マシン';
|
||||
$lang['samba3_machine'] = 'Samba 3 NT マシン';
|
||||
$lang['samba_user'] = 'Samba ユーザー';
|
||||
$lang['samba3_user'] = 'Samba 3 ユーザー';
|
||||
$lang['samba3_group'] = 'Samba 3 グループマップ';
|
||||
$lang['dns_entry'] = 'DNS エントリ';
|
||||
$lang['simple_sec_object'] = '簡易セキュリティオブジェクト';
|
||||
$lang['courier_mail_account'] = 'Courier メールアカウント';
|
||||
$lang['courier_mail_alias'] = 'Courier メール別名';
|
||||
$lang['ldap_alias'] = 'LDAP 別名';
|
||||
$lang['sendmail_cluster'] = 'Sendmail クラスター';
|
||||
$lang['sendmail_domain'] = 'Sendmail ドメイン';
|
||||
$lang['sendmail_alias'] = 'Sendmail エイリアス';
|
||||
$lang['sendmail_virt_dom'] = 'Sendmail 仮想ドメイン';
|
||||
$lang['sendmail_virt_users'] = 'Sendmail 仮想ユーザー';
|
||||
$lang['sendmail_relays'] = 'Sendmail リレー';
|
||||
$lang['custom'] = 'カスタム';
|
||||
$lang['samba_domain_name'] = '自分の Samba ドメイン名';
|
||||
$lang['administrators'] = 'Administrators';
|
||||
$lang['users'] = 'Users';
|
||||
$lang['guests'] = 'Guests';
|
||||
$lang['power_users'] = 'Power Users';
|
||||
$lang['account_ops'] = 'Account Operators';
|
||||
$lang['server_ops'] = 'Server Operators';
|
||||
$lang['print_ops'] = 'Print Operators';
|
||||
$lang['backup_ops'] = 'backup Operators';
|
||||
$lang['replicator'] = 'Replicator';
|
||||
$lang['unable_smb_passwords'] = ' Samba のパスワードを作成できませんでした。template_config.php の設定を確認してください。';
|
||||
$lang['err_smb_conf'] = 'エラー: samba の設定にエラーがあります。';
|
||||
$lang['err_smb_no_name_sid'] = 'エラー: samba ドメインの名前および sid を提供する必要があります。';
|
||||
$lang['err_smb_no_name'] = 'エラー: 名前は samba ドメインに提供されませんでした。';
|
||||
$lang['err_smb_no_sid'] = 'エラー: sid は samba ドメインに提供されませんでした。';
|
||||
|
||||
// Samba Account Template
|
||||
$lang['samba_account'] = 'Samba アカウント';
|
||||
$lang['samba_account_lcase'] = 'samba アカウント';
|
||||
|
||||
// New User (Posix) Account
|
||||
$lang['t_new_user_account'] = '新規ユーザーアカウント';
|
||||
$lang['t_hint_customize'] = 'ヒント: このテンプレートをカスタマイズする場合、ファイル templates/creation/new_user_template.php を編集します。';
|
||||
$lang['t_name'] = '名前';
|
||||
$lang['t_first_name'] = '名前';
|
||||
$lang['t_last_name'] = '苗字';
|
||||
$lang['t_first'] = 'first';
|
||||
$lang['t_last'] = 'last';
|
||||
$lang['t_common_name'] = '共通名';
|
||||
$lang['t_user_name'] = 'ユーザー名';
|
||||
$lang['t_password'] = 'パスワード';
|
||||
$lang['t_encryption'] = '暗号化';
|
||||
$lang['t_login_shell'] = 'ログインシェル';
|
||||
$lang['t_home_dir'] = 'ホームディレクトリ';
|
||||
$lang['t_uid_number'] = 'UID 番号';
|
||||
$lang['t_auto_det'] = '(自動採決)';
|
||||
$lang['t_group'] = 'グループ';
|
||||
$lang['t_gid_number'] = 'GID 番号';
|
||||
$lang['t_err_passwords'] = 'パスワードが一致しません。戻ってからもう一度試してください。';
|
||||
$lang['t_err_field_blank'] = '%s ブランクを残すことはできません。戻ってからもう一度試してください。';
|
||||
$lang['t_err_field_num'] = 'フィールド %s は数値のみ入力で出来ます。戻ってからもう一度試してください。';
|
||||
$lang['t_err_bad_container'] = '指定した内容(%s)は存在しません。戻ってからもう一度試してください。';
|
||||
$lang['t_confirm_account_creation'] = 'アカウント作成確認';
|
||||
$lang['t_secret'] = '[secret]';
|
||||
$lang['t_create_account'] = 'アカウント作成';
|
||||
|
||||
// New Address Template
|
||||
$lang['t_new_address'] = '新規アドレス帳エントリ';
|
||||
$lang['t_organization'] = '組織';
|
||||
$lang['t_address'] = '住所';
|
||||
$lang['t_city'] = '都市';
|
||||
$lang['t_postal_code'] = '郵便番号';
|
||||
$lang['t_street'] = '築町村';
|
||||
$lang['t_work_phone'] = '業務電話';
|
||||
$lang['t_fax'] = 'Fax';
|
||||
$lang['t_mobile'] = '携帯電話';
|
||||
$lang['t_email'] = '電子メール';
|
||||
$lang['t_container'] = 'コンテナー';
|
||||
$lang['t_err_cn_blank'] = '一般名を空にすることは出来ません。戻ってからもう一度試してください。';
|
||||
$lang['t_confim_creation'] = 'エントリ作成の確認:';
|
||||
$lang['t_create_address'] = 'アドレス作成';
|
||||
|
||||
// default template
|
||||
$lang['t_check_pass'] = 'パスワード検査...';
|
||||
|
||||
?>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/pl.php,v 1.10 2004/12/09 14:16:15 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/pl.php,v 1.13 2005/03/25 01:15:27 wurley Exp $
|
||||
|
||||
/* --- INSTRUCTIONS FOR TRANSLATORS ---
|
||||
*
|
||||
@ -16,10 +16,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/* $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/pl.php,v 1.10 2004/12/09 14:16:15 uugdave Exp $
|
||||
/* $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/pl.php,v 1.13 2005/03/25 01:15:27 wurley Exp $
|
||||
* initial translation from Piotr (DrFugazi) Tarnowski on Version 0.9.3
|
||||
*/
|
||||
// Based on en.php version 1.80
|
||||
// Based on en.php version 1.120
|
||||
|
||||
// Search form
|
||||
$lang['simple_search_form_str'] = 'Wyszukiwanie proste';
|
||||
@ -29,7 +29,6 @@ $lang['search_for_entries_whose'] = 'Szukaj wpisów w których';
|
||||
$lang['base_dn'] = 'Bazowa DN';
|
||||
$lang['search_scope'] = 'Zakres przeszukiwania';
|
||||
$lang['show_attributes'] = 'Pokaż atrybuty';
|
||||
$lang['attributes'] = 'Atrybuty';
|
||||
$lang['Search'] = 'Szukaj';
|
||||
$lang['equals'] = 'równa się';
|
||||
$lang['contains'] = 'zawiera';
|
||||
@ -42,10 +41,12 @@ $lang['format'] = 'Format';
|
||||
$lang['list'] = 'lista';
|
||||
$lang['table'] = 'tabela';
|
||||
$lang['bad_search_display'] = 'W Twojej konfiguracji (config.php) określona jest nieprawidłowa wartość dla $default_search_display: %s. Proszę to poprawić';
|
||||
$lang['page_n'] = 'Strona %d';
|
||||
$lang['no_results'] = 'Wyszukiwanie nie przyniosło żadnych rezultatów.';
|
||||
|
||||
// Tree browser
|
||||
$lang['request_new_feature'] = 'Zgłoś zapotrzebowanie na nową funkcjonalność';
|
||||
$lang['report_bug'] = 'Zgłoś błąd (report a bug)';
|
||||
$lang['request_new_feature'] = 'Zgłoś zapotrzebowanie';
|
||||
$lang['report_bug'] = 'Zgłoś błąd';
|
||||
$lang['schema'] = 'schemat';
|
||||
$lang['search'] = 'szukaj';
|
||||
$lang['create'] = 'utwórz';
|
||||
@ -53,7 +54,7 @@ $lang['info'] = 'info';
|
||||
$lang['import'] = 'import';
|
||||
$lang['refresh'] = 'odśwież';
|
||||
$lang['logout'] = 'wyloguj';
|
||||
$lang['create_new'] = 'Utwórz nowy';
|
||||
$lang['create_new'] = 'Utwórz nowy wpis';
|
||||
$lang['view_schema_for'] = 'Pokaż schemat dla';
|
||||
$lang['refresh_expanded_containers'] = 'Odśwież wszystkie otwarte kontenery dla';
|
||||
$lang['create_new_entry_on'] = 'Utwórz nowy wpis na';
|
||||
@ -62,6 +63,8 @@ $lang['view_server_info'] = 'Pokaż informacje o serwerze';
|
||||
$lang['import_from_ldif'] = 'Importuj wpisy z pliku LDIF';
|
||||
$lang['logout_of_this_server'] = 'Wyloguj z tego serwera';
|
||||
$lang['logged_in_as'] = 'Zalogowany/a jako: ';
|
||||
$lang['this_base_dn_is_not_valid'] = 'To nie jest prawidłowa DN.';
|
||||
$lang['this_base_dn_does_not_exist'] = 'Ten wpis nie istnieje';
|
||||
$lang['read_only'] = 'tylko-do-odczytu';
|
||||
$lang['read_only_tooltip'] = 'Ten atrybut został oznaczony przez administratora phpLDAPadmin jako tylko-do-odczytu';
|
||||
$lang['could_not_determine_root'] = 'Nie można ustalić korzenia Twojego drzewa LDAP.';
|
||||
@ -70,11 +73,13 @@ $lang['please_specify_in_config'] = 'Proszę określić to w pliku config.php';
|
||||
$lang['create_new_entry_in'] = 'Utwórz nowy wpis w';
|
||||
$lang['login_link'] = 'Logowanie...';
|
||||
$lang['login'] = 'login';
|
||||
|
||||
$lang['base_entry_does_not_exist'] = 'Ten wpis bazowy nie istnieje';
|
||||
$lang['create_it'] = 'Utworzyć ?';
|
||||
|
||||
// Entry display
|
||||
$lang['delete_this_entry'] = 'Usuń ten wpis';
|
||||
$lang['delete_this_entry_tooltip'] = 'Będziesz poproszony/a o potwierdzenie tej decyzji';
|
||||
$lang['copy_this_entry'] = 'Skopiuj ten wpis';
|
||||
$lang['copy_this_entry'] = 'Skopiuj lub przenieś ten wpis';
|
||||
$lang['copy_this_entry_tooltip'] = 'Skopiuj ten obiekt do innej lokalizacji, nowej DN, lub do innego serwera';
|
||||
$lang['export'] = 'Eksportuj';
|
||||
$lang['export_lcase'] = 'eksportuj';
|
||||
@ -112,6 +117,7 @@ $lang['binary_value'] = 'Wartość binarna';
|
||||
$lang['add_new_binary_attr'] = 'Dodaj nowy atrybut binarny';
|
||||
$lang['alias_for'] = 'Uwaga: \'%s\' jest aliasem dla \'%s\'';
|
||||
$lang['required_for'] = 'Atrybut wymagany dla klas(y) obiektu %s';
|
||||
$lang['required_by_entry'] = 'Ten atrybut jest wymagany dla RDN';
|
||||
$lang['download_value'] = 'pobierz (download) wartość';
|
||||
$lang['delete_attribute'] = 'usuń atrybut';
|
||||
$lang['true'] = 'prawda';
|
||||
@ -121,13 +127,10 @@ $lang['really_delete_attribute'] = 'Definitywnie usuń atrybut';
|
||||
$lang['add_new_value'] = 'Dodaj nową wartość';
|
||||
|
||||
// Schema browser
|
||||
$lang['the_following_objectclasses'] = 'Następujące klasy obiektu są wspierane przez ten serwer LDAP.';
|
||||
$lang['the_following_attributes'] = 'Następujące typy atrybutów są wspierane przez ten serwer LDAP.';
|
||||
$lang['the_following_matching'] = 'Następujące reguły dopasowania są wspierane przez ten serwer LDAP.';
|
||||
$lang['the_following_syntaxes'] = 'Następujące składnie są wspierane przez ten serwer LDAP.';
|
||||
$lang['schema_retrieve_error_1']='Serwer nie wspiera w pełni protokołu LDAP.';
|
||||
$lang['schema_retrieve_error_2']='Twoja wersja PHP niepoprawnie wykonuje zapytanie.';
|
||||
$lang['schema_retrieve_error_3']='Lub w ostateczności, phpLDAPadmin nie wie jak uzyskać schemat dla Twojego serwera.';
|
||||
$lang['schema_retrieve_error_3']='phpLDAPadmin nie wie jak uzyskać schemat z Twojego serwera.';
|
||||
$lang['schema_retrieve_error_4']='Lub w ostateczności, Twój serwer nie dostarcza tej informacji.';
|
||||
$lang['jump_to_objectclass'] = 'Skocz do klasy obiektu';
|
||||
$lang['view_schema_for_oclass'] = 'Pokaż opis schematu dla tej klasy obiektu';
|
||||
$lang['jump_to_attr'] = 'Skocz do typu atrybutu';
|
||||
@ -224,17 +227,15 @@ $lang['not_enough_login_info'] = 'Brak wystarczających informacji aby zalogowa
|
||||
$lang['could_not_connect'] = 'Nie można podłączyć się do serwera LDAP.';
|
||||
$lang['could_not_connect_to_host_on_port'] = 'Nie można podłączyć się do "%s" na port "%s"';
|
||||
$lang['could_not_perform_ldap_mod_add'] = 'Nie można dokonać operacji ldap_mod_add.';
|
||||
$lang['bad_server_id_underline'] = 'Zły server_id: ';
|
||||
$lang['home'] = 'Strona główna';
|
||||
$lang['help'] = 'Pomoc';
|
||||
$lang['success'] = 'Sukces';
|
||||
$lang['server_colon_pare'] = 'Serwer: ';
|
||||
$lang['look_in'] = 'Szukam w: ';
|
||||
$lang['missing_server_id_in_query_string'] = 'Nie określono ID serwera w zapytaniu !';
|
||||
$lang['missing_dn_in_query_string'] = 'Nie określono DN w zapytaniu !';
|
||||
$lang['back_up_p'] = 'Do góry...';
|
||||
$lang['no_entries'] = 'brak wpisów';
|
||||
$lang['not_logged_in'] = 'Nie zalogowany/a';
|
||||
$lang['could_not_det_base_dn'] = 'Nie można określić bazowego DN';
|
||||
$lang['please_report_this_as_a_bug']='Proszę zgłosić to jako błąd.';
|
||||
$lang['reasons_for_error']='To mogło zdarzyć się z kilku powodów, z których najbardziej prawdopodobne to:';
|
||||
$lang['yes']='Tak';
|
||||
$lang['no']='Nie';
|
||||
@ -243,12 +244,16 @@ $lang['delete']='Usuń';
|
||||
$lang['back']='Powrót';
|
||||
$lang['object']='obiekt';
|
||||
$lang['delete_all']='Usuń wszystko';
|
||||
$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546';
|
||||
$lang['hint'] = 'wskazówka';
|
||||
$lang['bug'] = 'błąd (bug)';
|
||||
$lang['warning'] = 'ostrzeżenie';
|
||||
$lang['light'] = 'żarówka'; // the word 'light' from 'light bulb'
|
||||
$lang['proceed_gt'] = 'Dalej >>';
|
||||
$lang['no_blowfish_secret'] = 'phpLDAPadmin nie może bezpiecznie szyfrować danych, ponieważ zmienna $blowfish_secret nie jest ustawiona w config.php. Należy wyedytować config.php i wpisać jakiś łańcuch znaków do zmiennej $blowfish_secret';
|
||||
$lang['jpeg_dir_not_writable'] = 'Proszę ustawić zmienną $jpeg_temp_dir w config.php na katalog z możliwością zapisu plików';
|
||||
$lang['jpeg_dir_not_writable_error'] = 'Nie można zapisać do katalogu $jpeg_temp_dir %s. Sprawdź proszę czy Twój serwer może zapisywać pliki w tym katalogu.';
|
||||
$lang['jpeg_unable_toget'] = 'Nie można pobrać danych jpeg z serwera LDAP dla atrybutu %s.';
|
||||
$lang['jpeg_delete'] = 'Usuń zdjęcie';
|
||||
|
||||
// Add value form
|
||||
$lang['add_new'] = 'Dodaj';
|
||||
@ -296,7 +301,9 @@ $lang['copyf_recursive_copy'] = 'Rekursywne kopiowanie wszystkich potomnych obie
|
||||
$lang['recursive_copy'] = 'Kopia rekursywna';
|
||||
$lang['filter'] = 'Filtr';
|
||||
$lang['filter_tooltip'] = 'Podczas rekursywnego kopiowania, kopiowane są tylko wpisy pasujące do filtra';
|
||||
|
||||
$lang['delete_after_copy'] = 'Usuń po skopiowaniu (przenieś):';
|
||||
$lang['delete_after_copy_warn'] = 'Upewnij się, że ustawienia filtra (powyżej) pozwalają na wybranie wszystkich rekordów podrzędnych.';
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute'] = 'Brak wartości dla wymaganego atrybutu (%s).';
|
||||
$lang['redirecting'] = 'Przekierowuję';
|
||||
@ -307,17 +314,17 @@ $lang['create_could_not_add'] = 'Nie można dodać obiektu do serwera LDAP.';
|
||||
$lang['createf_create_object'] = 'Utwórz obiekt';
|
||||
$lang['createf_choose_temp'] = 'Wybierz szablon';
|
||||
$lang['createf_select_temp'] = 'Wybierz szablon dla procesu tworzenia';
|
||||
$lang['createf_proceed'] = 'Dalej';
|
||||
$lang['save_as_file'] = 'Zapisz jako';
|
||||
$lang['rdn_field_blank'] = 'Pozostawiłeś/aś puste pole RDN.';
|
||||
$lang['container_does_not_exist'] = 'Kontener który określiłeś/aś (%s) nie istnieje. Spróbuj ponownie.';
|
||||
$lang['no_objectclasses_selected'] = 'Nie wybrałeś/aś żadnych Klas Obiektu dla tego obiektu. Wróć proszę i zrób to.';
|
||||
$lang['hint_structural_oclass'] = 'Wskazówka: Musisz wybrać co najmniej jedną strukturalną klasę obiektu (wyróżnioną pogrubieniem)';
|
||||
$lang['hint_structural_oclass'] = 'Wskazówka: Musisz wybrać dokładnie jedną strukturalną klasę obiektu (wyróżnioną pogrubieniem)';
|
||||
|
||||
//creation_template.php
|
||||
$lang['ctemplate_on_server'] = 'Na serwerze';
|
||||
$lang['ctemplate_no_template'] = 'Brak określenia szablonu w zmiennych POST.';
|
||||
$lang['ctemplate_config_handler'] = 'Twoja konfiguracja określa handler';
|
||||
$lang['ctemplate_handler_does_not_exist'] = 'dla tego szablonu. Ale, ten handler nie istnieje w szablonach/tworzonym katalogu';
|
||||
$lang['template_not_readable'] = 'Twoja konfiguracja określa obsługę "%s" dla tego szablonu, ale tego pliku nie da się odczytać, ponieważ uprawnienia są zbyt restrykcyjne.';
|
||||
$lang['template_does_not_exist'] = 'Twoja konfiguracja określa obsługę "%s" dla tego szablonu, ale pliku obsługi nie ma w katalogu templates/creation.';
|
||||
$lang['create_step1'] = 'Krok 1 z 2: Nazwa i klasa/y obiektu';
|
||||
$lang['create_step2'] = 'Krok 2 z 2: Określenie atrybutów i wartości';
|
||||
$lang['relative_distinguished_name'] = 'Relatywna Wyróżniona Nazwa (RDN)';
|
||||
@ -350,7 +357,7 @@ $lang['ends with'] = 'kończy się na';
|
||||
$lang['sounds like'] = 'brzmi jak';
|
||||
|
||||
// server_info.php
|
||||
$lang['could_not_fetch_server_info'] = 'Nie można uzyskać informacji od serwera LDAP';
|
||||
$lang['could_not_fetch_server_info'] = 'Nie można uzyskać informacji od serwera LDAP. Może to być spowodowane <a href="http://bugs.php.net/bug.php?id=29587">błędem</a> w Twojej wersji PHP albo na przykład tym, że Twój serwer LDAP posiada listę kontroli dostępu nie zezwalającą na pobranie RootDSE klientom LDAP';
|
||||
$lang['server_info_for'] = 'Informacja o serwerze: ';
|
||||
$lang['server_reports_following'] = 'Serwer zwrócił następujące informacje o sobie';
|
||||
$lang['nothing_to_report'] = 'Ten serwer nie chce nic powiedzieć o sobie :).';
|
||||
@ -369,24 +376,30 @@ $lang['commit'] = 'Zatwierdź';
|
||||
$lang['cancel'] = 'Anuluj';
|
||||
$lang['you_made_no_changes'] = 'Nie dokonano żadnych zmian';
|
||||
$lang['go_back'] = 'Powrót';
|
||||
$lang['unable_create_samba_pass'] = 'Nie można utworzyć hasła dla samby. Sprawdź proszę swoją konfigurację w template_config.php';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note'] = 'Użyj menu z lewej strony do nawigacji';
|
||||
$lang['credits'] = 'Lista płac';
|
||||
$lang['changelog'] = 'Historia zmian';
|
||||
$lang['donate'] = 'Wesprzyj projekt';
|
||||
$lang['purge_cache'] = 'Wyczyść pamięć podręczną';
|
||||
$lang['pla_logo'] = 'phpLDAPadmin logo';
|
||||
|
||||
// Donate.php
|
||||
$lang['donation_instructions'] = 'Aby wesprzeć projekt phpLDAPadmin skorzystaj z jednego z przycisków PayPal umieszczonych poniżej';
|
||||
$lang['donate_amount'] = 'Wesprzyj kwotą %s';
|
||||
|
||||
$lang['purge_cache'] = 'Wyczyść cache';
|
||||
$lang['no_cache_to_purge'] = 'Nie ma czego czyścić.';
|
||||
$lang['done_purging_caches'] = 'Wyczyszczono %s bajtów pamięci podręcznej.';
|
||||
|
||||
$lang['done_purging_caches'] = 'Wyczyszczono %s bajtów pamięci podręcznej (cache).';
|
||||
$lang['purge_cache_tooltip'] = 'Czyści wszystkie dane podręczne (cache) w phpLDAPadmin, łącznie ze schematami serwera';
|
||||
|
||||
// view_jpeg_photo.php
|
||||
$lang['unsafe_file_name'] = 'Niebezpieczna nazwa pliku: ';
|
||||
$lang['no_such_file'] = 'Nie znaleziono pliku: ';
|
||||
|
||||
//function.php
|
||||
$lang['auto_update_not_setup'] = 'Zezwoliłeś/aś na automatyczne nadawanie uid (auto_uid_numbers)
|
||||
dla <b>%s</b> w konfiguracji, ale nie określiłeś/aś mechanizmu
|
||||
(auto_uid_number_mechanism). Proszę skorygować ten problem.';
|
||||
$lang['auto_update_not_setup'] = 'Zezwoliłeś/aś na automatyczne nadawanie uid (auto_uid_numbers) dla <b>%s</b> w konfiguracji, ale nie określiłeś/aś mechanizmu (auto_uid_number_mechanism). Proszę skorygować ten problem.';
|
||||
$lang['uidpool_not_set'] = 'Określiłeś/aś mechanizm autonumerowania uid "auto_uid_number_mechanism" jako "uidpool" w konfiguracji Twojego serwera <b>%s</b>, lecz nie określiłeś/aś audo_uid_number_uid_pool_dn. Proszę określ to zanim przejdziesz dalej.';
|
||||
$lang['uidpool_not_exist'] = 'Wygląda na to, że uidPool, którą określiłeś/aś w Twojej konfiguracji ("%s") nie istnieje.';
|
||||
$lang['specified_uidpool'] = 'Określiłeś/aś "auto_uid_number_mechanism" jako "search" w konfiguracji Twojego serwera <b>%s</b>, ale nie określiłeś/aś bazy "auto_uid_number_search_base". Zrób to zanim przejdziesz dalej.';
|
||||
@ -402,15 +415,15 @@ $lang['could_not_bind_anon'] = 'Nie można anonimowo podłączyć do serwera.';
|
||||
$lang['could_not_bind'] = 'Nie można podłączyć się do serwera LDAP.';
|
||||
$lang['anonymous_bind'] = 'Podłączenie anonimowe';
|
||||
$lang['bad_user_name_or_password'] = 'Zła nazwa użytkownika lub hasło. Spróbuj ponownie.';
|
||||
$lang['redirecting_click_if_nothing_happens'] = 'Przekierowuję... Kliknij tutaj jeśli nic się nie dzieje.';
|
||||
$lang['successfully_logged_in_to_server'] = 'Pomyślnie zalogowano do serwera <b>%s</b>';
|
||||
$lang['could_not_set_cookie'] = 'Nie można ustawić ciasteczka (cookie).';
|
||||
$lang['ldap_said'] = 'LDAP odpowiedział: %s';
|
||||
$lang['ferror_error'] = 'Błąd';
|
||||
$lang['fbrowse'] = 'przeglądaj';
|
||||
$lang['delete_photo'] = 'Usuń fotografię';
|
||||
$lang['install_not_support_blowfish'] = 'Twoja instalacja PHP nie wspiera szyfrowania blowfish.';
|
||||
$lang['install_not_support_md5crypt'] = 'Twoja instalacja PHP nie wspiera szyfrowania md5crypt.';
|
||||
$lang['install_not_support_ext_des'] = 'Twoja systemowa biblioteka crypt nie wspiera rozszerzonego szyfrowania DES';
|
||||
$lang['install_not_support_blowfish'] = 'Twoja systemowa biblioteka crypt nie wspiera szyfrowania blowfish.';
|
||||
$lang['install_not_support_md5crypt'] = 'Twoja systemowa biblioteka crypt nie wspiera szyfrowania md5crypt.';
|
||||
$lang['install_no_mash'] = 'Twoja instalacja PHP nie posiada funkcji mhash(). Nie mogę tworzyć haszy SHA.';
|
||||
$lang['jpeg_contains_errors'] = 'jpegPhoto zawiera błędy<br />';
|
||||
$lang['ferror_number'] = 'Błąd numer: %s (%s)';
|
||||
@ -442,7 +455,6 @@ $lang['ferror_congrats_found_bug'] = 'Gratulacje ! Znalazłeś błąd w phpLDAPa
|
||||
//ldif_import_form
|
||||
$lang['import_ldif_file_title'] = 'Importuj plik LDIF';
|
||||
$lang['select_ldif_file'] = 'Wybierz plik LDIF:';
|
||||
$lang['select_ldif_file_proceed'] = 'Dalej >>';
|
||||
$lang['dont_stop_on_errors'] = 'Nie zatrzymuj się po napotkaniu błędów';
|
||||
|
||||
//ldif_import
|
||||
@ -453,7 +465,7 @@ $lang['modify_action'] = 'Modyfikowanie...';
|
||||
$lang['warning_no_ldif_version_found'] = 'Nie znaleziono numeru wersji. Przyjmuję 1.';
|
||||
$lang['valid_dn_line_required'] = 'Wymagana jest poprawna linia DN.';
|
||||
$lang['missing_uploaded_file'] = 'Brak wgrywanego pliku.';
|
||||
$lang['no_ldif_file_specified.'] = 'Nie określono pliku LDIF. Spróbuj ponownie.';
|
||||
$lang['no_ldif_file_specified'] = 'Nie określono pliku LDIF. Spróbuj ponownie.';
|
||||
$lang['ldif_file_empty'] = 'Wgrany plik LDIF jest pusty.';
|
||||
$lang['empty'] = 'pusty';
|
||||
$lang['file'] = 'Plik';
|
||||
@ -489,11 +501,10 @@ $lang['generated_on_date'] = 'Wygenerowane przez phpLDAPadmin ( http://phpldapad
|
||||
$lang['total_entries'] = 'Łącznie wpisów';
|
||||
$lang['dsml_export_for_dn'] = 'Eksport DSLM dla: %s';
|
||||
$lang['include_system_attrs'] = 'Zawiera atrybuty systemowe';
|
||||
$lang['csv_spreadsheet'] = 'CVS (arkusz)';
|
||||
|
||||
// logins
|
||||
$lang['could_not_find_user'] = 'Nie można znaleźć użytkownika "%s"';
|
||||
$lang['password_blank'] = 'Pozostawiłeś/aś puste hasło.';
|
||||
$lang['login_cancelled'] = 'Logowanie anulowane.';
|
||||
$lang['no_one_logged_in'] = 'Nikt nie jest zalogowany do tego serwera.';
|
||||
$lang['could_not_logout'] = 'Nie można wylogować.';
|
||||
$lang['unknown_auth_type'] = 'Nieznany auth_type: %s';
|
||||
@ -505,6 +516,7 @@ $lang['login_dn'] = 'Login DN';
|
||||
$lang['user_name'] = 'Nazwa użytkownika';
|
||||
$lang['password'] = 'Hasło';
|
||||
$lang['authenticate'] = 'Zaloguj';
|
||||
$lang['login_not_allowed'] = 'Przykro mi, ale nie masz uprawnień aby korzystać z phpLDAPadmin na tym serwerze LDAP.';
|
||||
|
||||
// Entry browser
|
||||
$lang['entry_chooser_title'] = 'Wybór wpisu';
|
||||
@ -534,15 +546,25 @@ $lang['no_rdn_change'] = 'Nie zmieniłeś/aś RDN';
|
||||
$lang['invalid_rdn'] = 'Błędna wartość RDN';
|
||||
$lang['could_not_rename'] = 'Nie można zmienić nazwy wpisu';
|
||||
|
||||
// General errors
|
||||
$lang['mismatched_search_attr_config'] = 'Twoja konfiguracja zawiera błąd. $search_attributes musi posiadać tą samą ilość atrybutów co $search_attributes_display.';
|
||||
|
||||
// Password checker
|
||||
$lang['passwords_match'] = 'Hasła zgodne !';
|
||||
$lang['passwords_do_not_match'] = 'Hasła nie zgadzają się !';
|
||||
$lang['password_checker_tool'] = 'Narzędzie do sprawdzania haseł';
|
||||
$lang['compare'] = 'Porównaj';
|
||||
$lang['to'] = 'Do';
|
||||
|
||||
// Templates
|
||||
$lang['using'] = 'Używając';
|
||||
$lang['template'] = 'szablonu';
|
||||
$lang['switch_to'] = 'Możesz przełączyć się do ';
|
||||
$lang['default_template'] = 'domyślnego szablonu';
|
||||
|
||||
// template_config
|
||||
$lang['user_account'] = 'Konto Użytkownika (posixAccount)';
|
||||
$lang['address_book'] = 'Wpis Książki Adresowej (inetOrgPerson)';
|
||||
$lang['address_book_inet'] = 'Wpis Książki Adresowej (inetOrgPerson)';
|
||||
$lang['address_book_moz'] = 'Wpis Książki Adresowej (mozillaOrgPerson)';
|
||||
$lang['kolab_user'] = 'Wpis Użytkownika Kolab';
|
||||
$lang['organizational_unit'] = 'Jednostka Organizacyjna';
|
||||
$lang['organizational_role'] = 'Rola w Organizacji';
|
||||
@ -557,6 +579,12 @@ $lang['simple_sec_object'] = 'Prosty obiekt bezpieczeństwa (SSO)';
|
||||
$lang['courier_mail_account'] = 'Konto Pocztowe w Courier';
|
||||
$lang['courier_mail_alias'] = 'Alias Pocztowy w Courier';
|
||||
$lang['ldap_alias'] = 'Alias w LDAP';
|
||||
$lang['sendmail_cluster'] = 'Klaster Sendmail';
|
||||
$lang['sendmail_domain'] = 'Domena Sendmail';
|
||||
$lang['sendmail_alias'] = 'Alias Sendmail';
|
||||
$lang['sendmail_virt_dom'] = 'Wirtualna Domena Sendmail';
|
||||
$lang['sendmail_virt_users'] = 'Wirtualni Użytkownicy Sendmail';
|
||||
$lang['sendmail_relays'] = 'Sendmail Relays';
|
||||
$lang['custom'] = 'Ogólne';
|
||||
$lang['samba_domain_name'] = 'Moja nazwa domeny w Samba';
|
||||
$lang['administrators'] = 'Administratorzy';
|
||||
@ -569,6 +597,10 @@ $lang['print_ops'] = 'Operatorzy drukowania';
|
||||
$lang['backup_ops'] = 'Operatorzy archiwizacji danych';
|
||||
$lang['replicator'] = 'Replikator';
|
||||
$lang['unable_smb_passwords'] = ' Nie można utworzyć haseł Samba. Proszę sprawdzić konfigurację w template_config.php';
|
||||
$lang['err_smb_conf'] = 'Błąd: masz błąd w konfiguracji samby';
|
||||
$lang['err_smb_no_name_sid'] = 'Błąd: musisz wprowadzić nazwę oraz sid dla Twojej domeny samby.';
|
||||
$lang['err_smb_no_name'] = 'Błąd: brak nazwy dla domeny samby.';
|
||||
$lang['err_smb_no_sid'] = 'Błąd: brak sid dla domeny samby';
|
||||
|
||||
// Samba Account Template
|
||||
$lang['samba_account'] = 'Konto Samba';
|
||||
@ -580,6 +612,8 @@ $lang['t_hint_customize'] = 'Wskazówka: Aby dostosować ten szablon, wyedytuj p
|
||||
$lang['t_name'] = 'Nazwa/Nazwisko';
|
||||
$lang['t_first_name'] = 'Imię';
|
||||
$lang['t_last_name'] = 'Nazwisko';
|
||||
$lang['t_first'] = 'imię';
|
||||
$lang['t_last'] = 'nazwisko';
|
||||
$lang['t_common_name'] = 'Nazwa';
|
||||
$lang['t_user_name'] = 'Nazwa użytkownika';
|
||||
$lang['t_password'] = 'Hasło';
|
||||
@ -614,4 +648,25 @@ $lang['t_err_cn_blank'] = 'Nie możesz pozostawić pustego pola Nazwa. Wróć i
|
||||
$lang['t_confim_creation'] = 'Potwierdź utworzenie wpisu:';
|
||||
$lang['t_create_address'] = 'Utwórz adres';
|
||||
|
||||
// default template
|
||||
$lang['t_check_pass'] = 'Sprawdź hasło';
|
||||
|
||||
// compare form
|
||||
$lang['compare'] = 'Porównaj';
|
||||
$lang['comparing'] = 'Porównuję następujące DN';
|
||||
$lang['compare_dn'] = 'Porównaj inny DN z';
|
||||
$lang['with'] = 'z';
|
||||
$lang['compf_source_dn'] = 'Źródłowa DN';
|
||||
$lang['compf_dn_tooltip'] = 'Prównaj tą DN z inną';
|
||||
$lang['switch_entry'] = 'Zamień wpisy';
|
||||
$lang['no_value'] = 'Brak wartości';
|
||||
$lang['compare_with'] = 'Porównaj z innym wpisem';
|
||||
$lang['need_oclass'] = 'Musisz posiadać jedną z następujących klas obiektów, aby dodać ten atrybut %s ';
|
||||
|
||||
// Time out page
|
||||
$lang['session_timed_out_1'] = 'Twoja sesja wygaśnie po';
|
||||
$lang['session_timed_out_2'] = 'min. nieaktywności. Zostaniesz automatycznie wylogowany/a.';
|
||||
$lang['log_back_in'] = 'Aby się zalogować ponownie kliknij w następujący link:';
|
||||
$lang['session_timed_out_tree'] = '(Sesja wygasła. Automatycznie wylogowano)';
|
||||
$lang['timeout_at'] = 'Brak aktywności wyloguje Cię o %s';
|
||||
?>
|
||||
|
720
lang/recoded/zh-cn.php
Normal file
720
lang/recoded/zh-cn.php
Normal file
@ -0,0 +1,720 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/zh-cn.php,v 1.2 2005/03/25 01:21:31 wurley Exp $
|
||||
// Translate to Simplified Chinese, by 张雪平(heromyth), from zxpmyth@yahoo.com.cn
|
||||
// Based on en.php,v 1.119 2005/03/16 20:57:45
|
||||
|
||||
/*
|
||||
使用说明:将其转换不utf-8字符集,再放到lang/recoded目录下,接着修改文件lang/auto.php,执行如下步骤:
|
||||
|
||||
1、修改第7行为:
|
||||
$useLang="zh-cn";
|
||||
|
||||
2、在31行后面加下下面一行:
|
||||
," zh-cn"=>"zh-cn" //Simplified Chinese
|
||||
|
||||
*/
|
||||
|
||||
/* --- 翻译指导 ---
|
||||
*
|
||||
* 如果你想建立一个新的语言文件,
|
||||
* 请把它提交到SourceForge:
|
||||
*
|
||||
* https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498548
|
||||
*
|
||||
* 请使用底部的选项"Check to Upload and Attach a File(上传附件)"
|
||||
*
|
||||
* 阅读doc/README-translation.txt 可以得到翻译指导。
|
||||
*
|
||||
* 谢谢!
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* 数组$lang 包含了所有phpLDAPadmin 所使用的字体串。
|
||||
* 每一个语言文件都只需要在这个数组中定义一个该语言的所对应的
|
||||
* 字符串。
|
||||
*/
|
||||
|
||||
// Search form
|
||||
$lang['simple_search_form_str'] = '简单搜索表格';
|
||||
$lang['advanced_search_form_str '] = '高级搜索表格';
|
||||
$lang['server'] = '服务器';
|
||||
$lang['search_for_entries_whose'] = '搜索条目的所属';
|
||||
$lang['base_dn'] = '基本DN';
|
||||
$lang['search_scope'] = '搜索范围';
|
||||
$lang['show_attributes'] = '显示属性';
|
||||
//$lang['attributes'] = '属性';
|
||||
$lang['Search'] = '搜索';
|
||||
$lang['predefined_search_str'] = '选择一个预定义的搜索';
|
||||
$lang['predefined_searches'] = '预定义的搜索';
|
||||
$lang['no_predefined_queries'] = '在config.php里没有条目定义。';
|
||||
$lang['export_results'] = '导出结果';
|
||||
$lang['unrecoginzed_search_result_format'] = '不能识别的搜索结果格式: %s';
|
||||
$lang['format'] = '格式';
|
||||
$lang['list'] = '列表';
|
||||
$lang['table'] = '表格';
|
||||
$lang['bad_search_display'] = '你的config.php 给$default_search_display指定了一个非法的值: %s,请更正';
|
||||
$lang['page_n'] = '第%d页';
|
||||
$lang['no_results'] = '这次搜索没找到结果。';
|
||||
|
||||
// Tree browser
|
||||
$lang['request_new_feature'] = '功能需求';
|
||||
$lang['report_bug'] = '报告错漏';
|
||||
$lang['schema'] = '格式';
|
||||
$lang['search'] = '搜索';
|
||||
$lang['create'] = '创建';
|
||||
$lang['info'] = '信息';
|
||||
$lang['import'] = '导入';
|
||||
$lang['refresh'] = '刷新';
|
||||
$lang['logout'] = '退出';
|
||||
$lang['create_new'] = '创建新条目';
|
||||
$lang['view_schema_for'] = '查看格式';
|
||||
$lang['refresh_expanded_containers'] = '刷新所有展开的容器,来自';
|
||||
$lang['create_new_entry_on'] = '创建新条目到';
|
||||
$lang['new'] = '新建';
|
||||
$lang['view_server_info'] = '查看附加的服务器信息';
|
||||
$lang['import_from_ldif'] = '从LDIF文件导入条目';
|
||||
$lang['logout_of_this_server'] = '退出这个服务器';
|
||||
$lang['logged_in_as'] = '登录为: ';
|
||||
$lang['this_base_dn_is_not_valid'] = '该DN是无效。';
|
||||
$lang['this_base_dn_does_not_exist'] = '该条目不存在。';
|
||||
$lang['read_only'] = '只读';
|
||||
$lang['read_only_tooltip'] = '该属性已经被phpLDAPadmin 管理员标识为只读';
|
||||
$lang['could_not_determine_root'] = '检测不到你的LDAP树的根。';
|
||||
$lang['ldap_refuses_to_give_root'] = '好像你的LDAP服务器配置来限制了不要显露它的根。';
|
||||
$lang['please_specify_in_config'] = '请在config.php里指定它';
|
||||
$lang['create_new_entry_in'] = '创建新条目于';
|
||||
$lang['login_link'] = '登录…';
|
||||
$lang['login'] = '登录';
|
||||
$lang['base_entry_does_not_exist'] = '该基准条目不存在。';
|
||||
$lang['create_it'] = '要创建它吗?';
|
||||
|
||||
// Entry display
|
||||
$lang['delete_this_entry'] = '删除该条目';
|
||||
$lang['delete_this_entry_tooltip'] = '你会得到提示要求确认该选择';
|
||||
$lang['copy_this_entry'] = '复制和移动该条目';
|
||||
$lang['copy_this_entry_tooltip'] = '把这个对象复制到另一个位置,一个新DN或另一个服务器。';
|
||||
$lang['export'] = '导出';
|
||||
$lang['export_lcase'] = '导出';
|
||||
$lang['export_tooltip'] = '保存一个该对象的导出';
|
||||
$lang['export_subtree_tooltip'] = '保存一个该对象及其所有孩子的导出';
|
||||
$lang['export_subtree'] = '导出子树';
|
||||
$lang['create_a_child_entry'] = '创建一个子条目';
|
||||
$lang['rename_entry'] = '条目更名';
|
||||
$lang['rename'] = '更名';
|
||||
$lang['add'] = '增加';
|
||||
$lang['view'] = '查看';
|
||||
$lang['view_one_child'] = '查看1个子条目';
|
||||
$lang['view_children'] = '查看%s个子条目';
|
||||
$lang['add_new_attribute'] = '增加新的属性';
|
||||
$lang['add_new_objectclass'] = '增加新的ObjectClass';
|
||||
$lang['hide_internal_attrs'] = '隐藏内部属性';
|
||||
$lang['show_internal_attrs'] = '显示内部属性';
|
||||
$lang['attr_name_tooltip'] = '点击查看属性类型\'%s\'的格式定义';
|
||||
$lang['none'] = '什么都没有';
|
||||
$lang['no_internal_attributes'] = '没有内部属性';
|
||||
$lang['no_attributes'] = '这个条目没有属性';
|
||||
$lang['save_changes'] = '保存更改';
|
||||
$lang['add_value'] = '赋值';
|
||||
$lang['add_value_tooltip'] = '给属性\'%s\'赋一个附加的值';
|
||||
$lang['refresh_entry'] = '刷新';
|
||||
$lang['refresh_this_entry'] = '刷新这个条目';
|
||||
$lang['delete_hint'] = '提示: 想要删除一个属性,请将文本字段清空,然后点击保存。';
|
||||
$lang['attr_schema_hint'] = '提示: 要查看一个属性的格式,请点击属性的名称。';
|
||||
$lang['attrs_modified'] = '下面有一些属性(%s) 被修改了,而且被标识为高亮。';
|
||||
$lang['attr_modified'] = '下面一个属性(%s) 被修改了,而且被标识为高亮';
|
||||
$lang['viewing_read_only'] = '以只读模式查看条目。';
|
||||
$lang['no_new_attrs_available'] = '这个条目没有提供新的属性';
|
||||
$lang['no_new_binary_attrs_available'] = '这个条目没有提供新的二进制属性';
|
||||
$lang['binary_value'] = '二进制值';
|
||||
$lang['add_new_binary_attr'] = '增加新的二进制值';
|
||||
$lang['alias_for'] = '注意: \'%s\'是\'%s\'的一个别名';
|
||||
$lang['required_for'] = 'objectClass(es) %s所必需的属性';
|
||||
$lang['download_value'] = '下载值';
|
||||
$lang['delete_attribute'] = '删除属性';
|
||||
$lang['true'] = '真的';
|
||||
$lang['false'] = '假的';
|
||||
$lang['none_remove_value'] = '什么都没有,将值移除';
|
||||
$lang['really_delete_attribute'] = '真的删除属性';
|
||||
$lang['add_new_value'] = '增加新的值';
|
||||
|
||||
// Schema browser
|
||||
//$lang['the_following_objectclasses'] = '这个LDAP服务器支持下列objectClasses。';
|
||||
//$lang['the_following_attributes'] = '这个LDAP服务器支持下列属性类型。';
|
||||
//$lang['the_following_matching'] = '这个LDAP服务器支持下列匹配规则。';
|
||||
//$lang['the_following_syntaxes'] = '这个LDAP服务器支持下列语法规则。';
|
||||
$lang['schema_retrieve_error_1']='这个服务器并不完全支持LDAP 协议。';
|
||||
$lang['schema_retrieve_error_2']='你的PHP版本不能正确地完成查询。';
|
||||
$lang['schema_retrieve_error_3']='phpLDAPadmin不知道如果获取你的服务器的格式。';
|
||||
$lang['schema_retrieve_error_4']='或者最后,你的LDAP服务器没有提供该信息。';
|
||||
$lang['jump_to_objectclass'] = '跳转到一个objectClass';
|
||||
$lang['view_schema_for_oclass'] = '查看该objectClass的格式描述';
|
||||
$lang['jump_to_attr'] = '跳转到一个属性类型';
|
||||
$lang['jump_to_matching_rule'] = '跳转到一个匹配的规则';
|
||||
$lang['schema_for_server'] = '服务器的格式';
|
||||
$lang['required_attrs'] = '必需的属性';
|
||||
$lang['required'] = '必需的';
|
||||
$lang['optional_attrs'] = '可选的属性';
|
||||
$lang['optional_binary_attrs'] = '可选的二进制属性';
|
||||
$lang['OID'] = 'OID';
|
||||
$lang['aliases']='别名';
|
||||
$lang['desc'] = '描述';
|
||||
$lang['no_description']='没有描述';
|
||||
$lang['name'] = '名称';
|
||||
$lang['equality']='相等';
|
||||
$lang['is_obsolete'] = '该objectClass过久了。';
|
||||
$lang['inherits'] = '继承于';
|
||||
$lang['inherited_from'] = '被继承于';
|
||||
$lang['parent_to'] = '双亲指向';
|
||||
$lang['jump_to_this_oclass'] = '跳转到该objectClass的定义处';
|
||||
$lang['matching_rule_oid'] = '匹配规则 OID';
|
||||
$lang['syntax_oid'] = '语法规则OID';
|
||||
$lang['not_applicable'] = '不可应用';
|
||||
$lang['not_specified'] = '未指定的';
|
||||
$lang['character']='单个字符';
|
||||
$lang['characters']='多个字符';
|
||||
$lang['used_by_objectclasses']='被objectClasses所使用的';
|
||||
$lang['used_by_attributes']='被属性所使用的';
|
||||
$lang['maximum_length']='最大长度';
|
||||
$lang['attribute_types']='属性类型';
|
||||
$lang['syntaxes']='语法规则';
|
||||
$lang['matchingrules']='匹配规则';
|
||||
$lang['oid']='OID';
|
||||
$lang['obsolete']='作废的';
|
||||
$lang['ordering']='排序';
|
||||
$lang['substring_rule']='子串规则';
|
||||
$lang['single_valued']='单个赋值的';
|
||||
$lang['collective']='集体的';
|
||||
$lang['user_modification']='用户修改';
|
||||
$lang['usage']='使用格式';
|
||||
$lang['could_not_retrieve_schema_from']='不能找回格式的地方';
|
||||
$lang['type']='类型';
|
||||
$lang['no_such_schema_item'] = '没有这样的格式项目: "%s"';
|
||||
|
||||
// Deleting entries
|
||||
$lang['entry_deleted_successfully'] = '成功删除条目:%s。';
|
||||
$lang['you_must_specify_a_dn'] = '你必须指定一个DN';
|
||||
$lang['could_not_delete_entry'] = '不能删除该条目: %s';
|
||||
$lang['no_such_entry'] = '没有这样的条目: %s';
|
||||
$lang['delete_dn'] = '删除:%s';
|
||||
$lang['permanently_delete_children'] = '也要永久删除所的子条目吗?';
|
||||
$lang['entry_is_root_sub_tree'] = '该条目是根,其子树中包含有条目:%s。';
|
||||
$lang['view_entries'] = '查看条目';
|
||||
$lang['confirm_recursive_delete'] = 'phpLDAPadmin可以递归地删除该条目及其所有子条目中的:%s。 关于这个动作可能会删除的所有条目列表,请查看下面。 你真的想这样做吗?';
|
||||
$lang['confirm_recursive_delete_note'] = '注释: 这个可能潜在危险,后果自负。 这个操作不可恢复。 一定要考虑到aliases(别名)、 referrals(提名)以及其它可能引起问题的事情。';
|
||||
$lang['delete_all_x_objects'] = '删除所有的对象:%s ';
|
||||
$lang['recursive_delete_progress'] = '递归式删除过程';
|
||||
$lang['entry_and_sub_tree_deleted_successfully'] = '成功删除条目%s 和子树。';
|
||||
$lang['failed_to_delete_entry'] = '删除条目:%s 失败';
|
||||
$lang['list_of_entries_to_be_deleted'] = '将被删除的条目列表:';
|
||||
$lang['sure_permanent_delete_object']='确认你想永久删除这个对象吗?';
|
||||
$lang['dn'] = 'DN';
|
||||
|
||||
// Deleting attributes
|
||||
$lang['attr_is_read_only'] = ' 在phpLDAPadmin的配置中,属性"%s"被标识为只读。';
|
||||
$lang['no_attr_specified'] = '没有指定属性名称。';
|
||||
$lang['no_dn_specified'] = '没有指定DN ';
|
||||
|
||||
// Adding attributes
|
||||
$lang['left_attr_blank'] = '属性值为空白。 请返回再试。';
|
||||
$lang['failed_to_add_attr'] = '增加属性失败。';
|
||||
$lang['file_empty'] = '你选择的文件为空或不存在。 请返回再试。';
|
||||
$lang['invalid_file'] = '安全错误: 上传的这个文件可能存在安全危险。';
|
||||
$lang['warning_file_uploads_disabled'] = '你的PHP配置不允许上传文件。 请在进行下步之前检查一下php.ini。';
|
||||
$lang['uploaded_file_too_big'] = '你上传的文件太大。 请检查php.ini中的upload_max_size 设置';
|
||||
$lang['uploaded_file_partial'] = '你选择的文件上传不完整,可能是因为网络的缘故。';
|
||||
$lang['max_file_size'] = '最大文件尺寸: %s';
|
||||
|
||||
// Updating values
|
||||
$lang['modification_successful'] = '成功修改!';
|
||||
$lang['change_password_new_login'] = '因为你更改了密码,你现在必须使用新的密码重新登录。';
|
||||
|
||||
// Adding objectClass form
|
||||
$lang['new_required_attrs'] = '新增必需的属性';
|
||||
$lang['requires_to_add'] = '这个动作要求你增加';
|
||||
$lang['new_attributes'] = '新增属性';
|
||||
$lang['new_required_attrs_instructions'] = '指导: 为了增加这个objectClass 到该条目,你必须指定';
|
||||
$lang['that_this_oclass_requires'] = '这该objectClass所必需的。 你可以在这个表里完成。';
|
||||
$lang['add_oclass_and_attrs'] = '增加ObjectClass 和属性';
|
||||
$lang['objectclasses'] = 'ObjectClasses';
|
||||
|
||||
// General
|
||||
$lang['chooser_link_tooltip'] = '点击弹出一个对话框来以图形方式选择一个条目(DN) ';
|
||||
$lang['no_updates_in_read_only_mode'] = '服务器是以只读方式运行,你不能完成更新';
|
||||
$lang['bad_server_id'] = '错误的服务器id';
|
||||
$lang['not_enough_login_info'] = '没有足够的信息来登录服务器。 请检查你的配置。';
|
||||
$lang['could_not_connect'] = '不能连接到LDAP服务器。';
|
||||
$lang['could_not_connect_to_host_on_port'] = '不能连接到"%s" 的"%s"端口';
|
||||
$lang['could_not_perform_ldap_mod_add'] = '不能完成ldap_mod_add 操作。';
|
||||
//$lang['bad_server_id_underline'] = '错误的server_id:';
|
||||
$lang['home'] = '主页';
|
||||
$lang['help'] = '帮助';
|
||||
$lang['success'] = '成功';
|
||||
$lang['server_colon_pare'] = '服务器:';
|
||||
$lang['look_in'] = '正在查看:';
|
||||
//$lang['missing_server_id_in_query_string'] = '在查询串中没有指定服务器ID!';
|
||||
$lang['missing_dn_in_query_string'] = '在查询串中没有指定DN!';
|
||||
$lang['back_up_p'] = '后退...';
|
||||
$lang['no_entries'] = '没有条目';
|
||||
//$lang['not_logged_in'] = '没有登录';
|
||||
$lang['could_not_det_base_dn'] = '不能确定base DN(基DN)';
|
||||
//$lang['please_report_this_as_a_bug']='请报告这个错漏。';
|
||||
$lang['reasons_for_error']='出现这种情况可能有几个原因,其中最有可能的是:';
|
||||
$lang['yes']='是';
|
||||
$lang['no']='不';
|
||||
$lang['go']='开始';
|
||||
$lang['delete']='删除';
|
||||
$lang['back']='后退';
|
||||
$lang['object']='对象';
|
||||
$lang['delete_all']='删除所有的';
|
||||
//$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546';
|
||||
$lang['hint'] = '提示';
|
||||
$lang['bug'] = '错漏';
|
||||
$lang['warning'] = '警告';
|
||||
$lang['light'] = 'light'; // 单词'light' 来自 'light bulb(电灯泡)'
|
||||
$lang['proceed_gt'] = '继续 >>';
|
||||
$lang['no_blowfish_secret'] = 'phpLDAPadmin不能安全地加密和解密你的敏感信息,因为在config.php是没有设置$blowfish_secret。现在,你需要编辑config.php,并设置$blowfish_secret为某种隐秘的字符串。';
|
||||
$lang['jpeg_dir_not_writable'] = '请在phpLDAPadmin的config.php里,将$jpeg_temp_dir设置到一个可写的目录';
|
||||
$lang['jpeg_dir_not_writable_error'] = '不能将%s写入$jpeg_temp_dir目录。请确定你的web服务器能够在那里写文件。';
|
||||
$lang['jpeg_unable_toget'] = '不能从LDAP服务器为属性%s获得jpeg数据。';
|
||||
$lang['jpeg_delete'] = '删除图片';
|
||||
|
||||
|
||||
|
||||
// Add value form
|
||||
$lang['add_new'] = '新增';
|
||||
$lang['value_to'] = '赋值给';
|
||||
$lang['distinguished_name'] = '识别名(DN)';
|
||||
$lang['current_list_of'] = '当前列表';
|
||||
$lang['values_for_attribute'] = '属性值';
|
||||
$lang['inappropriate_matching_note'] = '注释: 如果在你的LDAP服务器上没有为这个属性设置EQUALITY 规则的话,你可能会碰到"inappropriate matching(不正确的匹配)"这样的错误。';
|
||||
$lang['enter_value_to_add'] = '输入你想增加的值:';
|
||||
$lang['new_required_attrs_note'] = '注释: 可能会要求你输入该objectClass所必需的新属性。';
|
||||
$lang['syntax'] = '规则';
|
||||
|
||||
//copy.php
|
||||
$lang['copy_server_read_only'] = '服务器处于只读模式,你不能完成更新';
|
||||
$lang['copy_dest_dn_blank'] = ' 目标DN项为空。';
|
||||
$lang['copy_dest_already_exists'] = '目标条目 (%s) 已经存在。';
|
||||
$lang['copy_dest_container_does_not_exist'] = '目标容器 (%s) 不存在。';
|
||||
$lang['copy_source_dest_dn_same'] = '源和目标DN 相同。';
|
||||
$lang['copy_copying'] = '正在复制 ';
|
||||
$lang['copy_recursive_copy_progress'] = '递归手复制过程';
|
||||
$lang['copy_building_snapshot'] = '正在建立用于复制的树的快照… ';
|
||||
$lang['copy_successful_like_to'] = '复制成功! 你还想要 ';
|
||||
$lang['copy_view_new_entry'] = '查看新条目';
|
||||
$lang['copy_failed'] = '复制DN不成功: ';
|
||||
|
||||
//edit.php
|
||||
$lang['missing_template_file'] = '警告: 样板文件不存在,';
|
||||
$lang['using_default'] = '使用默认的。';
|
||||
$lang['template'] = '样板';
|
||||
$lang['must_choose_template'] = '你必须选择一个样板';
|
||||
$lang['invalid_template'] = '%s 是一个非法的样板';
|
||||
$lang['using_template'] = '使用样板';
|
||||
$lang['go_to_dn'] = '转到 %s';
|
||||
$lang['structural_object_class_cannot_remove'] = '这是个结构化的ObjectClass,因此不能移除。';
|
||||
$lang['structural'] = '结构化';
|
||||
|
||||
//copy_form.php
|
||||
$lang['copyf_title_copy'] = '复制';
|
||||
$lang['copyf_to_new_object'] = '成为一个新的对象';
|
||||
$lang['copyf_dest_dn'] = '目标DN';
|
||||
$lang['copyf_dest_dn_tooltip'] = '在复制该源条目时,将被建立的新条目的完整DN ';
|
||||
$lang['copyf_dest_server'] = '目标服务器';
|
||||
$lang['copyf_note'] = '提示: 在两个不同的服务器之间复制时,要求它们没有"schema(格式)冲突"';
|
||||
$lang['copyf_recursive_copy'] = '另外还要递归复制此对象的所有子内容。';
|
||||
$lang['recursive_copy'] = '递归复制';
|
||||
$lang['filter'] = '过滤器';
|
||||
//$lang['search_filter'] = '搜索过滤器';
|
||||
$lang['filter_tooltip'] = '在完成一个递归复制时,只会复制哪些匹配这个过滤器的条目。';
|
||||
$lang['delete_after_copy'] = '复制后删除(即移动):';
|
||||
$lang['delete_after_copy_warn'] = '确认你的过滤器(见上面)会选择所有的子记录。';
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute'] = '必需属性(%s)的值为空白。';
|
||||
$lang['redirecting'] = '重定向...';
|
||||
$lang['here'] = '这里';
|
||||
$lang['create_could_not_add'] = '不能增加该对象到LDAP服务器。';
|
||||
|
||||
//create_form.php
|
||||
$lang['createf_create_object'] = '创建对象';
|
||||
$lang['createf_choose_temp'] = '选择样板';
|
||||
$lang['createf_select_temp'] = '选择用于创建过程的样板';
|
||||
$lang['save_as_file'] = '另存为文件';
|
||||
$lang['rdn_field_blank'] = 'RDN段为空白。';
|
||||
$lang['container_does_not_exist'] = '你指定的(%s)容器不存在。 请再试试。';
|
||||
$lang['no_objectclasses_selected'] = '你没有为该对象选择任何ObjectClasses。 请返回照做。';
|
||||
$lang['hint_structural_oclass'] = '提示: 你必有选择一个结构化的objectClass (如上面粗体所显示的)';
|
||||
|
||||
//creation_template.php
|
||||
$lang['ctemplate_on_server'] = '在服务器上';
|
||||
$lang['ctemplate_no_template'] = '在POST变量中没有指定样板。';
|
||||
$lang['template_not_readable'] = '你在配置中指定了用于该样板的"%s"的手柄,但是这个文件因为禁止权限太严格而不可读。';
|
||||
$lang['template_does_not_exist'] = '你在配置文件中指定了用于该 样板的"%s"的手柄,但是该手柄在templates/creation 目录中不存在。';
|
||||
$lang['create_step1'] = '第一步: Name 和 ObjectClass(es)';
|
||||
$lang['create_step2'] = '第二步: 指定属性和值';
|
||||
$lang['relative_distinguished_name'] = 'Relative Distinguished Name(相对标识名)';
|
||||
$lang['rdn'] = 'RDN';
|
||||
$lang['rdn_example'] = '(例如: cn=MyNewPerson)';
|
||||
$lang['container'] = 'Container(容器)';
|
||||
|
||||
// search.php
|
||||
$lang['you_have_not_logged_into_server'] = '你还没有登入所选择的服务器,因此你不能在它上面完成搜索。';
|
||||
$lang['click_to_go_to_login_form'] = '点击这里转到登录表格';
|
||||
$lang['unrecognized_criteria_option'] = '不认识的criteria(标准)选项: ';
|
||||
$lang['if_you_want_to_add_criteria'] = '如果你想增加自己的criteria 到列表里。 记得编辑search.php 来处理它们。 退出。';
|
||||
$lang['entries_found'] = '找到的条目: ';
|
||||
$lang['filter_performed'] = '应用了的过滤器: ';
|
||||
$lang['search_duration'] = 'phpLDAPadmin完成搜索,用时';
|
||||
$lang['seconds'] = '秒';
|
||||
|
||||
// search_form_advanced.php
|
||||
$lang['scope_in_which_to_search'] = '搜索的范围';
|
||||
$lang['scope_sub'] = 'Sub (整个子树)';
|
||||
$lang['scope_one'] = 'One (base之下的一级)';
|
||||
$lang['scope_base'] = 'Base (仅限于base dn)';
|
||||
$lang['standard_ldap_search_filter'] = '标准的LDAP搜索过滤器。 例如: (&(sn=Smith)(givenname=David))';
|
||||
$lang['search_filter'] = '搜索过滤器';
|
||||
$lang['list_of_attrs_to_display_in_results'] = '用于显示在结果中的属性列表(以逗号隔开)';
|
||||
//$lang['show_attributes'] = '显示属性';
|
||||
|
||||
// search_form_simple.php
|
||||
//$lang['search_for_entries_whose'] = '查找是谁的条目:';
|
||||
$lang['equals'] = '等于';
|
||||
$lang['starts with'] = '开始于';
|
||||
$lang['contains'] = '包含';
|
||||
$lang['ends with'] = '结束于';
|
||||
$lang['sounds like'] = '看起来象';
|
||||
|
||||
// server_info.php
|
||||
$lang['could_not_fetch_server_info'] = '不能从服务器上取得LDAP信息。 可能是因为你的PHP存在这个<a href="http://bugs.php.net/bug.php?id=29587">错漏</a>,或者是你的LDAP服务器里指定的"访问控制"禁止LDAP客户端访问RootDSE。';
|
||||
$lang['server_info_for'] = '服务器信息: ';
|
||||
$lang['server_reports_following'] = '下列信息是服务器报告的关于它自己的信息';
|
||||
$lang['nothing_to_report'] = '该服务器没有报告任何信息。';
|
||||
|
||||
//update.php
|
||||
$lang['update_array_malformed'] = '看不懂update_array。 这可能是phpLDAPadmin的错漏。 请报告。';
|
||||
$lang['could_not_perform_ldap_modify'] = '不能完成ldap_modify 操作。';
|
||||
|
||||
// update_confirm.php
|
||||
$lang['do_you_want_to_make_these_changes'] = '你想应用这些变化吗?';
|
||||
$lang['attribute'] = '属性';
|
||||
$lang['old_value'] = '旧值';
|
||||
$lang['new_value'] = '新值';
|
||||
$lang['attr_deleted'] = '[删除的属性]';
|
||||
$lang['commit'] = '提交';
|
||||
$lang['cancel'] = '取消';
|
||||
$lang['you_made_no_changes'] = '你没有进行更改';
|
||||
$lang['go_back'] = '返回';
|
||||
$lang['unable_create_samba_pass'] = '不能建立samba密码。请在template_config.php里检查你的配置';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note'] = '使用左边菜单来导航';
|
||||
$lang['credits'] = '荣誉';
|
||||
$lang['changelog'] = '变更记录';
|
||||
$lang['donate'] = '捐赠';
|
||||
$lang['pla_logo'] = 'phpLDAPadmin 标识';
|
||||
|
||||
// Donate.php
|
||||
$lang['donation_instructions'] = '想捐款给phpLDAPadmin项目,请点击下面PayPal按钮中的一个。';
|
||||
$lang['donate_amount'] = '捐赠 %s';
|
||||
//$lang['wish_list_option'] = '或许你可以买份礼物给phpLDAPadmin开发人员。';
|
||||
//$lang['wish_list'] = '查看Dave的phpLDAPadmin 愿望列表';
|
||||
|
||||
$lang['purge_cache'] = '清空缓存';
|
||||
$lang['no_cache_to_purge'] = '没有缓存可清空。';
|
||||
$lang['done_purging_caches'] = '清空缓存%s 个字节。';
|
||||
$lang['purge_cache_tooltip'] = '清空所有在phpLDAPadmin中缓存的数据,包括服务器schema(格式)。';
|
||||
|
||||
// view_jpeg_photo.php
|
||||
$lang['unsafe_file_name'] = '不安全的文件名: ';
|
||||
$lang['no_such_file'] = '没有这样的文件: ';
|
||||
|
||||
//function.php
|
||||
$lang['auto_update_not_setup'] = '在你的配置中为 <b>%s</b> 启用了auto_uid_numbers,
|
||||
但是你没有指定auto_uid_number_mechanism。 请更正
|
||||
这个问题';
|
||||
$lang['uidpool_not_set'] = '你在服务<b>%s</b>的配置中指定"auto_uid_number_mechanism" 为 "uidpool",
|
||||
但是你没有指定
|
||||
audo_uid_number_uid_pool_dn。 请在进行下步前指定它。';
|
||||
$lang['uidpool_not_exist'] = '好像你在配置("%s")中指定的uidPool
|
||||
不存在。';
|
||||
$lang['specified_uidpool'] = '你在服务器<b>%s<b>的配置文件中指定了"auto_uid_number_mechanism" 为 "search",
|
||||
但是你没有指定
|
||||
"auto_uid_number_search_base"。 请在进行下步前指定它。';
|
||||
$lang['auto_uid_invalid_credential'] = '使用auto_uid credentials不能绑定到<b>%s</b>。 请检查你的配置文件。';
|
||||
$lang['bad_auto_uid_search_base'] = '你的phpLDAPadmin配置为服务器%s指定了一个非法的auto_uid_search_base ';
|
||||
$lang['auto_uid_invalid_value'] = '你在配置文件中为auto_uid_number_mechanism ("%s")指定了一个非法的值
|
||||
。 只有"uidpool" 和 "search" 是合法的。
|
||||
请更正这个问题。';
|
||||
$lang['error_auth_type_config'] = '错误: 在你的配置文件中有个错误。 仅允许用于
|
||||
$servers部分的auth_type的值为 \'session\', \'cookie\', and \'config\'。 输入\'%s\',
|
||||
这是不允许的。 ';
|
||||
$lang['unique_attrs_invalid_credential'] = '不能使用unique_attrs 绑定到<b>%s</b>。 请检查你的配置文件。';
|
||||
$lang['unique_attr_failed'] = '你企图增加<b>%s</b> (<i>%s</i>) 到 <br><b>%s</b><br>,这是不允许的。 该属性/值属于任何条目。<p>你可能想<a href=\'%s\'>搜索</a> 该条条目。';
|
||||
$lang['php_install_not_supports_tls'] = '你安装的PHP 不支持TLS。';
|
||||
$lang['could_not_start_tls'] = '不能启用TLS。 请检查你的LDAP 服务器配置。';
|
||||
$lang['could_not_bind_anon'] = '不能匿名绑定到服务器。';
|
||||
$lang['could_not_bind'] = '不能绑定到该LDAP服务器。';
|
||||
$lang['anonymous_bind'] = '匿名绑定';
|
||||
$lang['bad_user_name_or_password'] = '错误的用户名或密码。 请再试试。';
|
||||
//$lang['redirecting_click_if_nothing_happens'] = '重定向... 如果没事发生请点击这里。';
|
||||
$lang['successfully_logged_in_to_server'] = '成功登录到服务器<b>%s</b>';
|
||||
$lang['could_not_set_cookie'] = '不能设置cookie。';
|
||||
$lang['ldap_said'] = 'LDAP说: %s';
|
||||
$lang['ferror_error'] = '出错';
|
||||
$lang['fbrowse'] = '浏览';
|
||||
$lang['delete_photo'] = '删除图片';
|
||||
//$lang['install_not_support_blowfish'] = '你安装的PHP不支持blowfish 加密。';
|
||||
//$lang['install_not_support_md5crypt'] = '你安装的PHP不支持 md5crypt 加密。';
|
||||
//$lang['install_no_mash'] = '你安装的PHP没有mhash() 函数。 不能进行SHA哈希。';
|
||||
$lang['install_not_support_ext_des'] = '你的系统加密库不支持扩展的DES加密。';
|
||||
$lang['install_not_support_blowfish'] = '你的系统加密库不支持blowfish加密。';
|
||||
$lang['install_not_support_md5crypt'] = '你的系统加密库不支持md5crypt加密。';
|
||||
$lang['jpeg_contains_errors'] = 'jpegPhoto 包含有错<br />';
|
||||
$lang['ferror_number'] = '错误代号 %s';
|
||||
$lang['ferror_discription'] = '描述: %s <br /><br />';
|
||||
$lang['ferror_number_short'] = '错误代号: %s <br /><br />';
|
||||
$lang['ferror_discription_short'] = '描述: (没有描述可提供)<br />';
|
||||
$lang['ferror_submit_bug'] = '这是个phpLDAPadmin 错漏吗? 如果是,就请<a href=\'%s\'>报告一个</a>。';
|
||||
$lang['ferror_unrecognized_num'] = '不认识的错误代号: ';
|
||||
$lang['ferror_nonfatil_bug'] = '<center><table class=\'notice\'><tr><td colspan=\'2\'><center><img src=\'images/warning.png\' height=\'12\' width=\'13\' />
|
||||
<b>你发现了一个非致使的phpLDAPadmin 错漏!</b></td></tr><tr><td>错误:</td><td><b>%s</b> (<b>%s</b>)</td></tr><tr><td>文件:</td>
|
||||
<td><b>%s</b> 行 <b>%s</b>,调用函数 <b>%s</b></td></tr><tr><td>版本:</td><td>PLA: <b>%s</b>, PHP: <b>%s</b>, SAPI: <b>%s</b>
|
||||
</td></tr><tr><td>Web 服务器:</td><td><b>%s</b></td></tr><tr><td colspan=\'2\'><center><a target=\'new\' href=\'%s\'>
|
||||
请点击这里报告该错漏</a>。</center></td></tr></table></center><br />';
|
||||
$lang['ferror_congrats_found_bug'] = '恭喜你! 你发现了phpLDAPadmin的一个错漏。<br /><br />
|
||||
<table class=\'bug\'>
|
||||
<tr><td>错误:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>级别:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>文件:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>行:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>调用者:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PLA 版本:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PHP 版本:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PHP SAPI:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PHP 服务器:</td><td><b>%s</b></td></tr>
|
||||
</table>
|
||||
<br />
|
||||
请通过点击下面来报告这个错漏!';
|
||||
|
||||
//ldif_import_form
|
||||
$lang['import_ldif_file_title'] = '导入LDIF文件';
|
||||
$lang['select_ldif_file'] = '选择一个LDIF文件:';
|
||||
$lang['dont_stop_on_errors'] = '发生错误时不停止';
|
||||
|
||||
//ldif_import
|
||||
$lang['add_action'] = '增加...';
|
||||
$lang['delete_action'] = '删除...';
|
||||
$lang['rename_action'] = '更名...';
|
||||
$lang['modify_action'] = '修改...';
|
||||
$lang['warning_no_ldif_version_found'] = '没有找到版本号。 假设 1。';
|
||||
$lang['valid_dn_line_required'] = '要求一个合法的dn行。';
|
||||
$lang['missing_uploaded_file'] = '丢失上传的文件。';
|
||||
$lang['no_ldif_file_specified'] = '没有指定LDIF文件。 请再试试。';
|
||||
$lang['ldif_file_empty'] = '上传的LDIF 文件为空。';
|
||||
$lang['empty'] = '空的';
|
||||
$lang['file'] = '文件';
|
||||
$lang['number_bytes'] = '%s 字节';
|
||||
|
||||
$lang['failed'] = '失败';
|
||||
$lang['ldif_parse_error'] = 'LDIF解析错误';
|
||||
$lang['ldif_could_not_add_object'] = '不能增加对象:';
|
||||
$lang['ldif_could_not_rename_object'] = '不能更名对象:';
|
||||
$lang['ldif_could_not_delete_object'] = '不能删除对象:';
|
||||
$lang['ldif_could_not_modify_object'] = '不能修改对象:';
|
||||
$lang['ldif_line_number'] = '行号:';
|
||||
$lang['ldif_line'] = '行数:';
|
||||
|
||||
// Exports
|
||||
$lang['export_format'] = '导出格式';
|
||||
$lang['line_ends'] = '行结束';
|
||||
$lang['must_choose_export_format'] = '不必须选择一个导出格式。';
|
||||
$lang['invalid_export_format'] = '非法的导出格式';
|
||||
$lang['no_exporter_found'] = '没有找到可用导出器。';
|
||||
$lang['error_performing_search'] = '在执行搜索时碰到一个错误。';
|
||||
$lang['showing_results_x_through_y'] = '显示结果%s,它是通过%s来完成的。';
|
||||
$lang['searching'] = '搜索...';
|
||||
$lang['size_limit_exceeded'] = '注意,超出搜索大小限制。';
|
||||
$lang['entry'] = '条目';
|
||||
$lang['ldif_export_for_dn'] = '为: %s,导出LDIF';
|
||||
$lang['generated_on_date'] = '由phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) 在 %s上生成的';
|
||||
$lang['total_entries'] = '条目总数';
|
||||
$lang['dsml_export_for_dn'] = '为: %s,导出DSLM';
|
||||
$lang['include_system_attrs'] = '包含系统属性';
|
||||
$lang['csv_spreadsheet'] = 'CSV (Spreadsheet)';
|
||||
|
||||
// logins
|
||||
//$lang['could_not_find_user'] = '不能找到用户"%s"';
|
||||
$lang['password_blank'] = '你的密码为空。';
|
||||
//$lang['login_cancelled'] = '登录取消了。';
|
||||
$lang['no_one_logged_in'] = '没人登录到该服务器。';
|
||||
$lang['could_not_logout'] = '不能退出。';
|
||||
$lang['unknown_auth_type'] = '不能识别的auth_type: %s';
|
||||
$lang['logged_out_successfully'] = '成功从<b>%s</b>服务器退出';
|
||||
$lang['authenticate_to_server'] = '认证到服务器%s';
|
||||
$lang['warning_this_web_connection_is_unencrypted'] = '警告: 此web连接没有加密。';
|
||||
$lang['not_using_https'] = '你没有使用\'https\'。 Web浏览器将会以明文传输登录信息。';
|
||||
$lang['login_dn'] = '登录DN';
|
||||
$lang['user_name'] = '用户名';
|
||||
$lang['password'] = '密码';
|
||||
$lang['authenticate'] = '认证';
|
||||
$lang['login_not_allowed'] = '对不起,这台LDAP服务器不允许你使用phpLDAPadmin。';
|
||||
|
||||
// Entry browser
|
||||
$lang['entry_chooser_title'] = '条目选择器';
|
||||
|
||||
// Index page
|
||||
$lang['need_to_configure'] = '你需要配置phpLDAPadmin。 编辑文件\'config.php\'就可以。 有个样例配置文件提供在 \'config.php.example\'里';
|
||||
|
||||
// Mass deletes
|
||||
$lang['no_deletes_in_read_only'] = '在只读模式下不允许删除。';
|
||||
$lang['error_calling_mass_delete'] = '错误调用mass_delete.php。在POST变量中丢失 mass_delete。';
|
||||
$lang['mass_delete_not_array'] = 'mass_delete POST 变量不是个数组。';
|
||||
$lang['mass_delete_not_enabled'] = 'Mass deletion(大量删除)没有启用。 请在进行下一步前在config.php中启用它。';
|
||||
$lang['search_attrs_wrong_count'] = '你的config.php有个错误。 在$search_attributes 和 $search_attributes_display里的属性编号不一样';
|
||||
$lang['mass_deleting'] = '正在大量删除';
|
||||
$lang['mass_delete_progress'] = '服务器"%s"上的删除过程';
|
||||
$lang['malformed_mass_delete_array'] = '不规则的mass_delete 数组。';
|
||||
$lang['no_entries_to_delete'] = '你没有选择任何要删除的条目。';
|
||||
$lang['deleting_dn'] = '正在删除 %s';
|
||||
$lang['total_entries_failed'] = '删除条目%s(属于%s)失败。';
|
||||
$lang['all_entries_successful'] = '所有条目删除成功。';
|
||||
$lang['confirm_mass_delete'] = '确认大量删除条目%s(在服务器%s上)';
|
||||
$lang['yes_delete'] = '是的,删除!';
|
||||
|
||||
// Renaming entries
|
||||
$lang['non_leaf_nodes_cannot_be_renamed'] = '你不能更名一个带有子条目的条目,举例,更名操作允许在非叶子条目上完成';
|
||||
$lang['no_rdn_change'] = '你不能更改RDN';
|
||||
$lang['invalid_rdn'] = '无效的RDN值';
|
||||
$lang['could_not_rename'] = '不能更名该条目';
|
||||
|
||||
// General errors
|
||||
//$lang['php5_unsupported'] = 'phpLDAPadmin 还不支持PHP 5。如果你继续可能会遇到许多意想不到的问题。';
|
||||
$lang['mismatched_search_attr_config'] = '你的配置有个错误。 $search_attributes 与 $search_attributes_display 必须要有相同数目的属性。';
|
||||
|
||||
// Password checker
|
||||
$lang['passwords_match'] = '密码匹配!';
|
||||
$lang['passwords_do_not_match'] = '密码不匹配!';
|
||||
$lang['password_checker_tool'] = '密码检查工具';
|
||||
$lang['compare'] = '比较';
|
||||
$lang['to'] = '与';
|
||||
|
||||
// Templates
|
||||
$lang['using'] = '使用该';
|
||||
//$lang['template'] = '模板';
|
||||
$lang['switch_to'] = '你可以转换到';
|
||||
$lang['default_template'] = '默认模板';
|
||||
|
||||
// template_config
|
||||
$lang['user_account'] = '用户账号(posixAccount)';
|
||||
$lang['address_book_inet'] = '地址簿条目(inetOrgPerson)';
|
||||
$lang['address_book_moz'] = '地址簿条目(mozillaOrgPerson)';
|
||||
$lang['kolab_user'] = 'Kolab用户条目';
|
||||
$lang['organizational_unit'] = '组织化单元(Organizational Unit)';
|
||||
$lang['organizational_role'] = '组织化角色';
|
||||
$lang['posix_group'] = 'Posix组';
|
||||
$lang['samba_machine'] = 'Samba NT 主机';
|
||||
$lang['samba3_machine'] = 'Samba 3 NT 主机';
|
||||
$lang['samba_user'] = 'Samba 用户';
|
||||
$lang['samba3_user'] = 'Samba 3 用户';
|
||||
$lang['samba3_group'] = 'Samba 3 组映像(Mapping)';
|
||||
$lang['dns_entry'] = 'DNS 条目';
|
||||
$lang['simple_sec_object'] = '简单安全对象(Simple Security Object)';
|
||||
$lang['courier_mail_account'] = 'Courier 邮件账号';
|
||||
$lang['courier_mail_alias'] = 'Courier 邮件别名';
|
||||
$lang['ldap_alias'] = 'LDAP 别名';
|
||||
$lang['sendmail_cluster'] = 'Sendmail 集群';
|
||||
$lang['sendmail_domain'] = 'Sendmail 域';
|
||||
$lang['sendmail_alias'] = 'Sendmail 别名';
|
||||
$lang['sendmail_virt_dom'] = 'Sendmail 虚拟域';
|
||||
$lang['sendmail_virt_users'] = 'Sendmail 虚拟用户';
|
||||
$lang['sendmail_relays'] = 'Sendmail 回复';
|
||||
$lang['custom'] = '自定义';
|
||||
$lang['samba_domain_name'] = '我的Samba域名';
|
||||
$lang['administrators'] = '管理员';
|
||||
$lang['users'] = '用户';
|
||||
$lang['guests'] = '一般用户(Guests)';
|
||||
$lang['power_users'] = '增强用户(Power Users)';
|
||||
$lang['account_ops'] = '账号管理员';
|
||||
$lang['server_ops'] = '服务器管理员';
|
||||
$lang['print_ops'] = '打印管理员';
|
||||
$lang['backup_ops'] = '备份管理员';
|
||||
$lang['replicator'] = '复制器(Replicator)';
|
||||
$lang['unable_smb_passwords'] = '不能建立Samba密码。请检查文件template_config.php里的配置。';
|
||||
$lang['err_smb_conf'] = '错误:在你的samba配置里有个错误。';
|
||||
$lang['err_smb_no_name_sid'] = '错误:需要为你的samba域提供一个名字(name)和一个sid。';
|
||||
$lang['err_smb_no_name'] = '错误:没有为samba域提供名字。';
|
||||
$lang['err_smb_no_sid'] = '错误:没有为samba域提供sid。';
|
||||
|
||||
// Samba Account Template
|
||||
$lang['samba_account'] = 'Samba 账号';
|
||||
$lang['samba_account_lcase'] = 'samba 账号';
|
||||
|
||||
// New User (Posix) Account
|
||||
$lang['t_new_user_account'] = '新建用户账号';
|
||||
$lang['t_hint_customize'] = '提示:想要定制模板的话,你可以编辑文件templates/creation/new_user_template.php';
|
||||
$lang['t_name'] = '名字';
|
||||
$lang['t_first_name'] = '第一个名字';
|
||||
$lang['t_last_name'] = '最后一个名字';
|
||||
$lang['t_first'] = '第一个';
|
||||
$lang['t_last'] = '最后一个';
|
||||
$lang['t_common_name'] = '公有名字(Common name)';
|
||||
$lang['t_user_name'] = '用户名';
|
||||
$lang['t_password'] = '密码';
|
||||
$lang['t_encryption'] = '加密方法';
|
||||
$lang['t_login_shell'] = '登录Shell';
|
||||
$lang['t_home_dir'] = '主目录';
|
||||
$lang['t_uid_number'] = 'UID号';
|
||||
$lang['t_auto_det'] = '(自动检测到的)';
|
||||
$lang['t_group'] = '组';
|
||||
$lang['t_gid_number'] = 'GID号';
|
||||
$lang['t_err_passwords'] = '你的密码不匹配。请返回再试试。';
|
||||
$lang['t_err_field_blank'] = '%s处不能为空。请返回再试试。';
|
||||
$lang['t_err_field_num'] = '%s字段不能只输入数字。请返回再试试。';
|
||||
$lang['t_err_bad_container'] = '你指定的容器(%s)不存在。请返回再试试。';
|
||||
$lang['t_confirm_account_creation'] = '确认创建账号';
|
||||
$lang['t_secret'] = '[隐秘]';
|
||||
$lang['t_create_account'] = '创建账号';
|
||||
|
||||
// New Address Template
|
||||
$lang['t_new_address'] = '新建地址簿条目';
|
||||
$lang['t_organization'] = '组织';
|
||||
$lang['t_address'] = '地址';
|
||||
$lang['t_city'] = '城市';
|
||||
$lang['t_postal_code'] = '邮政编码';
|
||||
$lang['t_street'] = '街道';
|
||||
$lang['t_work_phone'] = '工作电话';
|
||||
$lang['t_fax'] = '传真(Fax)';
|
||||
$lang['t_mobile'] = '移动电话(Mobile)';
|
||||
$lang['t_email'] = '电子邮件';
|
||||
$lang['t_container'] = '容器';
|
||||
$lang['t_err_cn_blank'] = '公有名字(Common Name)不能为空。请返回再试试。';
|
||||
$lang['t_confim_creation'] = '确认创建条目:';
|
||||
$lang['t_create_address'] = '创建地址簿';
|
||||
|
||||
// default template
|
||||
$lang['t_check_pass'] = '正在检查密码……';
|
||||
|
||||
// compare form
|
||||
$lang['compare'] = '比较';
|
||||
$lang['comparing'] = '比较紧跟着的DN';
|
||||
$lang['compare_dn'] = '比较另一个DN跟';
|
||||
$lang['with'] = '同 ';
|
||||
$lang['compf_source_dn'] = '源DN';
|
||||
$lang['compf_dn_tooltip'] = '将该DN与另一个比较';
|
||||
$lang['switch_entry'] = '切换条目';
|
||||
$lang['no_value'] = '没有值';
|
||||
$lang['compare_with'] = '同另一个条目进行比较';
|
||||
$lang['need_oclass'] = '要新增属性%s,你需要下面的ObjectClass(es)——对象类。';
|
||||
|
||||
// Time out page
|
||||
$lang['session_timed_out_1'] = '你的会话期将在无活动的';
|
||||
$lang['session_timed_out_2'] = '分钟后过期。你将自动退出。';
|
||||
$lang['log_back_in'] = '想登录回来,请点击下面的链接:';
|
||||
$lang['session_timed_out_tree'] = '(会话超时,自动退出。)';
|
||||
$lang['timeout_at'] = '在%s如果活动,你将被登出。';
|
||||
|
||||
|
||||
?>
|
490
lang/recoded/zh-tw.php
Normal file
490
lang/recoded/zh-tw.php
Normal file
@ -0,0 +1,490 @@
|
||||
<?
|
||||
|
||||
/* --- INSTRUCTIONS FOR TRANSLATORS ---
|
||||
*
|
||||
* If you want to write a new language file for your language,
|
||||
* please submit the file on SourceForge:
|
||||
*
|
||||
* https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498548
|
||||
*
|
||||
* Use the option "Check to Upload and Attach a File" at the bottom
|
||||
*
|
||||
* Thank you!
|
||||
*
|
||||
*/
|
||||
|
||||
// Based on en.php version 1.58
|
||||
|
||||
// Search form
|
||||
$lang['simple_search_form_str']='簡易搜尋表單';
|
||||
$lang['advanced_search_form_str']='進階搜尋表單';
|
||||
$lang['server']='伺服器';
|
||||
|
||||
// search_form_simple.php
|
||||
$lang['search_for_entries_whose']='選擇搜尋條件';
|
||||
$lang['base_dn']='基礎識別名稱';
|
||||
$lang['search_scope']='搜尋範圍';
|
||||
$lang['show_attributes']='顯示屬性';
|
||||
$lang['Search']='搜尋';
|
||||
$lang['predefined_search_str']='以預先定義好的條件搜尋';
|
||||
$lang['predefined_searches']='預先定義好的搜尋';
|
||||
$lang['no_predefined_queries']='config.php中沒有預先定義的搜尋條件';
|
||||
|
||||
// Tree browser
|
||||
$lang['request_new_feature']='建議新功能';
|
||||
$lang['report_bug']='回報問題';
|
||||
$lang['schema']='schema';
|
||||
$lang['search']='搜尋';
|
||||
$lang['create']='建立';
|
||||
$lang['info']='系統資訊';
|
||||
$lang['import']='匯入';
|
||||
$lang['refresh']='重新整理';
|
||||
$lang['logout']='登出';
|
||||
$lang['create_new']='建立新紀錄';
|
||||
$lang['view_schema_for']='查閱schema';
|
||||
$lang['refresh_expanded_containers']='重新整理所有展開的集合';
|
||||
$lang['create_new_entry_on']='建立新紀錄於';
|
||||
$lang['new']='新';
|
||||
$lang['view_server_info']='查閱伺服器提供的資訊';
|
||||
$lang['import_from_ldif']='從LDIF檔案匯入紀錄';
|
||||
$lang['logout_of_this_server']='登出此伺服器';
|
||||
$lang['logged_in_as']='登入為';
|
||||
$lang['read_only']='唯讀';
|
||||
$lang['could_not_determine_root']='找不到LDAP根目錄';
|
||||
$lang['ldap_refuses_to_give_root']='此LDAP伺服器設定為不顯示根節點';
|
||||
$lang['please_specify_in_config']='請在config.php中指定';
|
||||
$lang['create_new_entry_in']='建立新紀錄於';
|
||||
$lang['login_link']='登入...';
|
||||
$lang['login']='登入';
|
||||
|
||||
// Entry display
|
||||
$lang['delete_this_entry']='刪除此紀錄';
|
||||
$lang['delete_this_entry_tooltip']='在您確認之後刪除此記錄';
|
||||
$lang['copy_this_entry']='複製此記錄';
|
||||
$lang['copy_this_entry_tooltip']='將此記錄複製到您選擇的目的地';
|
||||
$lang['export']='匯出';
|
||||
$lang['export_tooltip']='將此物件匯出';
|
||||
$lang['export_subtree_tooltip']='將此物件及所有子物件匯出';
|
||||
$lang['export_subtree']='將此子樹匯出';
|
||||
$lang['create_a_child_entry']='建立子記錄';
|
||||
$lang['rename_entry']='重新命名';
|
||||
$lang['rename']='更名';
|
||||
$lang['add']='新增';
|
||||
$lang['view']='查閱';
|
||||
$lang['view_one_child']='查閱 1 子紀錄';
|
||||
$lang['view_children']='查閱 %s 子紀錄';
|
||||
$lang['add_new_attribute']='新增屬性';
|
||||
$lang['add_new_objectclass']='新增ObjectClass';
|
||||
$lang['hide_internal_attrs']='不顯示隱藏屬性';
|
||||
$lang['show_internal_attrs']='顯示隱藏屬性';
|
||||
$lang['attr_name_tooltip']='查閱屬性 ';
|
||||
$lang['none']='none';
|
||||
$lang['save_changes']='儲存';
|
||||
$lang['add_value']='加入新數值';
|
||||
$lang['add_value_tooltip']='增加一個附加值到屬性 \"%s\"';
|
||||
$lang['refresh_entry']='重新整理';
|
||||
$lang['refresh_this_entry']='重整此筆資';
|
||||
$lang['delete_hint']='提示: 將欄位數值刪除並按存檔即可刪除該屬性';
|
||||
$lang['attr_schema_hint']='提示: 在該屬性上點一下即可查閱所使用的schema';
|
||||
$lang['attrs_modified']='修改後的屬性為 (%s) 並以不同的顏色區分';
|
||||
$lang['attr_modified']='修改後的屬性為 (%s) 並以不同的顏色區分';
|
||||
$lang['viewing_read_only']='以唯讀模式查閱資料';
|
||||
$lang['no_new_attrs_available']='此筆資料沒有新屬性';
|
||||
$lang['no_new_binary_attrs_available']='此筆資料沒有二進位屬性';
|
||||
$lang['binary_value']='二進位數值';
|
||||
$lang['add_new_binary_attr']='新增二進位屬性';
|
||||
$lang['alias_for']='Alias for %s';
|
||||
$lang['download_value']='下載數值';
|
||||
$lang['delete_attribute']='刪除屬性';
|
||||
$lang['true']='true';
|
||||
$lang['false']='false';
|
||||
$lang['none_remove_value']='空白, 移除該值';
|
||||
$lang['really_delete_attribute']='確定要刪除屬性?';
|
||||
$lang['add_new_value']='新增數值';
|
||||
|
||||
// Schema browser
|
||||
$lang['the_following_objectclasses']='此LDAP伺服器支援下列objectClasses';
|
||||
$lang['the_following_attributes']='此LDAP伺服器支援下列屬性';
|
||||
$lang['the_following_matching']='此LDAP伺服器支援下列搜尋規則';
|
||||
$lang['the_following_syntaxes']='此LDAP伺服器支援下列語法';
|
||||
$lang['schema_retrieve_error_1']='此伺服器並未完全支援LDAP協定';
|
||||
$lang['schema_retrieve_error_2']='您的php版本並未正確執行此查詢';
|
||||
$lang['schema_retrieve_error_3']='或是phpLDAPadmin不知道如何從您的伺服器擷取schema';
|
||||
$lang['jump_to_objectclass']='選擇objectClass';
|
||||
$lang['jump_to_attr']='選擇屬性';
|
||||
$lang['jump_to_matching_rule']='選擇配對規則';
|
||||
$lang['schema_for_server']='伺服器的schema';
|
||||
$lang['required_attrs']='必要屬性';
|
||||
$lang['optional_attrs']='選擇性屬性';
|
||||
$lang['optional_binary_attrs']='選擇性二進位屬性';
|
||||
$lang['OID']='OID';
|
||||
$lang['aliases']='別名';
|
||||
$lang['desc']='說明';
|
||||
$lang['no_description']='沒有說明';
|
||||
$lang['name']='名稱';
|
||||
$lang['equality']='相同';
|
||||
$lang['is_obsolete']='這個 objectClass 是必須得.';
|
||||
$lang['inherits']='繼承';
|
||||
$lang['inherited_from']='已繼承於';
|
||||
$lang['jump_to_this_oclass']='選擇此objectClass定義';
|
||||
$lang['matching_rule_oid']='OID配對規則';
|
||||
$lang['syntax_oid']='OID語法';
|
||||
$lang['not_applicable']='未應用的';
|
||||
$lang['not_specified']='未指定的';
|
||||
$lang['character']='字元';
|
||||
$lang['characters']='字元集';
|
||||
$lang['used_by_objectclasses']='已被 objectClasses 使用';
|
||||
$lang['used_by_attributes']='已被屬性使用';
|
||||
$lang['maximum_length']='最大長度';
|
||||
$lang['attributes']='屬性型態';
|
||||
$lang['syntaxes']='語法';
|
||||
$lang['matchingrules']='配對規則';
|
||||
$lang['oid']='OID';
|
||||
$lang['obsolete']='必要';
|
||||
$lang['ordering']='排序中';
|
||||
$lang['substring_rule']='子字串規則';
|
||||
$lang['single_valued']='單一值';
|
||||
$lang['collective']='集合';
|
||||
$lang['user_modification']='使用者修改';
|
||||
$lang['usage']='使用量';
|
||||
$lang['could_not_retrieve_schema_from']='無法恢復 Schema 於';
|
||||
$lang['type']='類型';
|
||||
|
||||
// Deleting entries
|
||||
$lang['entry_deleted_successfully']='資料 %s 成功的刪除';
|
||||
$lang['you_must_specify_a_dn']='您必須指定一個識別名稱';
|
||||
$lang['could_not_delete_entry']='無法刪除記錄 %s';
|
||||
$lang['no_such_entry']='無此記錄 %s';
|
||||
$lang['delete_dn']='刪除 %s';
|
||||
$lang['permanently_delete_children']='永久刪除所有子資料?';
|
||||
$lang['entry_is_root_sub_tree']='此資料';
|
||||
$lang['view_entries']='查閱資料';
|
||||
$lang['confirm_recursive_delete']='phpLDAPadmin可以幫您刪除此資料與所有 %s 子資料.下列資料將會被刪除,您確定要刪除?';
|
||||
$lang['confirm_recursive_delete_note']='請注意:這項功能無法還原,且可能是非常危險的,且可能因此而造成問題';
|
||||
$lang['delete_all_x_objects']='刪除所有 %s 物件';
|
||||
$lang['recursive_delete_progress']='遞迴刪除進度';
|
||||
$lang['entry_and_sub_tree_deleted_successfully']='成功刪除資料 %s 與子資料';
|
||||
$lang['failed_to_delete_entry']='無法刪除資料 %s';
|
||||
$lang['list_of_entries_to_be_deleted']='下列資料將被刪除:';
|
||||
$lang['sure_permanent_delete_object']='您確定要永久刪除此物件?';
|
||||
$lang['dn']='識別名稱';
|
||||
|
||||
// Deleting attributes
|
||||
$lang['attr_is_read_only']='屬性 \"%s\" 在phpLDAPadmin中被設定成唯讀';
|
||||
$lang['no_attr_specified']='請指定屬性名稱';
|
||||
$lang['no_dn_specified']='請指定識別名稱';
|
||||
|
||||
// Adding attributes
|
||||
$lang['left_attr_blank']='您沒有輸入屬性數值,請重新輸入';
|
||||
$lang['failed_to_add_attr']='無法新增此屬性';
|
||||
|
||||
// Updating values
|
||||
$lang['modification_successful']='修改成功';
|
||||
$lang['change_password_new_login']='您的密碼已更新,請登出並以新密碼重新登入';
|
||||
|
||||
// Adding objectClass form
|
||||
$lang['new_required_attrs']='新必須屬性';
|
||||
$lang['requires_to_add']='執行此項操作前您必須先加入';
|
||||
$lang['new_attributes']='新屬性';
|
||||
$lang['new_required_attrs_instructions']='作法:在新增objectClass之前,您必須指定';
|
||||
$lang['that_this_oclass_requires']='此objectClass為必須,您可以在此表單中指定';
|
||||
$lang['add_oclass_and_attrs']='新增ObjectClass與屬性';
|
||||
$lang['objectclasses']='ObjectClasses';
|
||||
|
||||
// General
|
||||
$lang['chooser_link_tooltip']='點選此處即可以圖形介面選擇資料(識別名稱)';
|
||||
$lang['no_updates_in_read_only_mode']='伺服器為唯讀模式,無法更新資料';
|
||||
$lang['bad_server_id']='錯誤的 server id';
|
||||
$lang['not_enough_login_info']='沒有足夠的資訊以進行登入伺服器,請檢查您的設定值';
|
||||
$lang['could_not_connect']='無法連接LDAP伺服器';
|
||||
$lang['could_not_connect_to_host_on_port']='無法透過port \"%s\" 連接到 \"%s\" ';
|
||||
$lang['could_not_perform_ldap_mod_add']='無法執行ldap_mod_add操作';
|
||||
$lang['bad_server_id_underline']='錯誤的 server_id:';
|
||||
$lang['success']='成功';
|
||||
$lang['server_colon_pare']='伺服器:';
|
||||
$lang['look_in']='登入:';
|
||||
$lang['missing_server_id_in_query_string']='查詢字串中並未指定server ID';
|
||||
$lang['missing_dn_in_query_string']='查詢字串中並未指定識別名稱';
|
||||
$lang['back_up_p']='備份...';
|
||||
$lang['no_entries']='沒有任何紀錄';
|
||||
$lang['not_logged_in']='尚未登入';
|
||||
$lang['could_not_det_base_dn']='無法確定 Base DN';
|
||||
$lang['please_report_this_as_a_bug']='請回報這個問題至 Bug 系統';
|
||||
$lang['reasons_for_error']='此問題可能有好幾個原因,最有可能的是:';
|
||||
$lang['yes']='確定';
|
||||
$lang['no']='否';
|
||||
$lang['go']='衝!!';
|
||||
$lang['delete']='刪除';
|
||||
$lang['back']='返回';
|
||||
$lang['object']='物件';
|
||||
$lang['delete_all']='刪除全部';
|
||||
$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546';
|
||||
$lang['hint']='提示';
|
||||
$lang['bug']='臭蟲';
|
||||
$lang['warning']='警告';
|
||||
$lang['light']='light';
|
||||
$lang['proceed_gt']='下一步 >>';
|
||||
|
||||
// Add value form
|
||||
$lang['add_new']='新增';
|
||||
$lang['value_to']='數值至';
|
||||
$lang['distinguished_name']='識別名稱';
|
||||
$lang['current_list_of']='此屬性有';
|
||||
$lang['values_for_attribute']='下列數值:';
|
||||
$lang['inappropriate_matching_note']='請注意:若您的LDAP伺服器中並未設定等式規則,您將會遇到\"無適合的比對\"錯誤';
|
||||
$lang['enter_value_to_add']='請輸入您要加入的數值';
|
||||
$lang['new_required_attrs_note']='請注意:由於此objectClass定義的';
|
||||
$lang['syntax']='語法,您必須輸入新屬性';
|
||||
|
||||
//copy.php
|
||||
$lang['copy_server_read_only']='無法在伺服器為唯讀模式時更新資料';
|
||||
$lang['copy_dest_dn_blank']='目的地識別名稱不能是空白';
|
||||
$lang['copy_dest_already_exists']='目的地識別名稱 (%s) 已經存在';
|
||||
$lang['copy_dest_container_does_not_exist']='目的地集合 (%s) 不存在';
|
||||
$lang['copy_source_dest_dn_same']='來源識別名稱與目的地識別名稱重複';
|
||||
$lang['copy_copying']='複製中';
|
||||
$lang['copy_recursive_copy_progress']='遞迴複製作業';
|
||||
$lang['copy_building_snapshot']='對資料樹建立副本來複製';
|
||||
$lang['copy_successful_like_to']='複製成功!!您要';
|
||||
$lang['copy_view_new_entry']='查閱此新紀錄?';
|
||||
$lang['copy_failed']='以下 DN 複製失敗:';
|
||||
|
||||
//edit.php
|
||||
$lang['missing_template_file']='警告:找不到樣版檔案';
|
||||
$lang['using_default']='使用預設值';
|
||||
$lang['template']='樣版';
|
||||
$lang['must_choose_template']='你必須選擇一個樣版';
|
||||
$lang['invalid_template']='%s 是錯誤的樣版';
|
||||
$lang['using_template']='使用樣版';
|
||||
$lang['go_to_dn']='到 %s';
|
||||
|
||||
//copy_form.php
|
||||
$lang['copyf_title_copy']='複製';
|
||||
$lang['copyf_to_new_object']='成新物件';
|
||||
$lang['copyf_dest_dn']='目的地識別名稱';
|
||||
$lang['copyf_dest_dn_tooltip']='來源資料複製後的完整識別名稱';
|
||||
$lang['copyf_dest_server']='目的伺服器';
|
||||
$lang['copyf_note']='提示:只有當不同的伺服器間的schema相容才能在不同的伺服器之間進行複製';
|
||||
$lang['copyf_recursive_copy']='遞迴複製所有此物件的子資料';
|
||||
$lang['recursive_copy']='遞迴複製';
|
||||
$lang['filter']='過濾條件';
|
||||
$lang['filter_tooltip']='只有符合過濾條件的資料會被遞迴複製';
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute']='必要的屬性 (%s) 必須有資料';
|
||||
$lang['redirecting']='正在轉換至...';
|
||||
$lang['here']='這裡';
|
||||
$lang['create_could_not_add']='不能新增物件到此LDAP伺服器';
|
||||
|
||||
//create_form.php
|
||||
$lang['createf_create_object']='創造物件';
|
||||
$lang['createf_choose_temp']='選擇樣版';
|
||||
$lang['createf_select_temp']='請選擇一個你要建立的紀錄模板';
|
||||
$lang['createf_proceed']='下一步';
|
||||
$lang['rdn_field_blank']='相對識別名稱欄位不能是空白';
|
||||
$lang['container_does_not_exist']='您指定的集合 (%s) 不存在,請重新指定';
|
||||
$lang['no_objectclasses_selected']='您必須為此物件指定ObjectClasses';
|
||||
$lang['hint_structural_oclass']='提示:您必須在伺服器上至少';
|
||||
|
||||
//creation_template.php
|
||||
$lang['ctemplate_on_server']='選擇一個objectClass';
|
||||
$lang['ctemplate_no_template']='在POST變數中並未指定模版';
|
||||
$lang['ctemplate_config_handler']='您的設定指定了由某個程式來執行此模版';
|
||||
$lang['ctemplate_handler_does_not_exist']='但此程式在 templates/creation 目錄中找不到';
|
||||
$lang['create_step1']='步驟 1 之 2:名稱與ObjectClass(es)';
|
||||
$lang['create_step2']='步驟 2 之 2:指定屬性與數值';
|
||||
$lang['relative_distinguished_name']='相對識別名稱';
|
||||
$lang['rdn']='相對識別名稱';
|
||||
$lang['rdn_example']='(範例: cn=MyNewPerson)(範例: cn=MyNewPerson)';
|
||||
$lang['container']='集合';
|
||||
|
||||
// search.php
|
||||
$lang['you_have_not_logged_into_server']='您必須先登入伺服器才能在伺服器執行搜尋';
|
||||
$lang['click_to_go_to_login_form']='點選這邊回去登入表單';
|
||||
$lang['unrecognized_criteria_option']='無法辨識的基準';
|
||||
$lang['if_you_want_to_add_criteria']='如果您要加入自己的基準到項目列表中,請編輯search.php';
|
||||
$lang['entries_found']='找到的紀錄:';
|
||||
$lang['filter_performed']='執行過濾條件';
|
||||
$lang['search_duration']='phpLDAPadmin將會';
|
||||
$lang['seconds']='馬上執行查詢';
|
||||
|
||||
// search_form_advanced.php
|
||||
$lang['scope_in_which_to_search']='搜尋範圍';
|
||||
$lang['scope_sub']='Sub (整個子樹)';
|
||||
$lang['scope_one']='One (單一階層下)';
|
||||
$lang['scope_base']='Base (只有基礎識別名稱)';
|
||||
$lang['standard_ldap_search_filter']='標準的LDAP搜尋條件. 如: (&(sn=Smith)(givenname=David))';
|
||||
$lang['search_filter']='過濾搜尋';
|
||||
$lang['list_of_attrs_to_display_in_results']='下列為搜尋結果(以 , 區隔)';
|
||||
$lang['equals']='等於';
|
||||
$lang['starts with']='開始於';
|
||||
$lang['contains']='內含';
|
||||
$lang['ends with']='結束於';
|
||||
$lang['sounds like']='喜愛的聲音';
|
||||
|
||||
// server_info.php
|
||||
$lang['could_not_fetch_server_info']='無法從伺服器取得 LDAP 資訊';
|
||||
$lang['server_info_for']='伺服器資訊:';
|
||||
$lang['server_reports_following']='伺服器回報下列資訊:';
|
||||
$lang['nothing_to_report']='此伺服器沒有資訊可以回報';
|
||||
|
||||
//update.php
|
||||
$lang['update_array_malformed']='無法更新陣列,可能是phpLDAPadmin的bug,請回報此問題';
|
||||
$lang['could_not_perform_ldap_modify']='無法執行ldap_modify操作';
|
||||
|
||||
// update_confirm.php
|
||||
$lang['do_you_want_to_make_these_changes']='您確定要做這些更動?';
|
||||
$lang['attribute']='屬性';
|
||||
$lang['old_value']='原設定值';
|
||||
$lang['new_value']='新設定植';
|
||||
$lang['attr_deleted']='[屬性已刪除]';
|
||||
$lang['commit']='送出';
|
||||
$lang['cancel']='取消';
|
||||
$lang['you_made_no_changes']='您並沒有做任何更動';
|
||||
$lang['go_back']='回上頁';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note']='請用左邊的選單瀏覽';
|
||||
$lang['credits']='成員列表';
|
||||
$lang['changelog']='更新紀錄';
|
||||
$lang['donate']='捐獻';
|
||||
|
||||
// view_jpeg_photo.php
|
||||
$lang['unsafe_file_name']='不安全的檔案名稱:';
|
||||
$lang['no_such_file']='沒有以下檔案:';
|
||||
|
||||
//function.php
|
||||
$lang['auto_update_not_setup']='您在設定中開啟 <b>%s</b>的auto_uid_numbers功能,但並未指定auto_uid_number_mechanism,請修正此問題';
|
||||
$lang['uidpool_not_set']='伺服器<b>%s</b>的auto_uid_number_mechanism指定為uidpool,但並未指定audo_uid_number_uid_pool_dn,請修正此問題再繼續';
|
||||
$lang['uidpool_not_exist']='您再設定檔(\"%s\")中指定的uidPool機制並不存在';
|
||||
$lang['specified_uidpool']='伺服器<b>%s</b>的auto_uid_number_mechanism指定為search,但您並未指定auto_uid_number_search_base,請修正此問題再繼續';
|
||||
$lang['auto_uid_invalid_credential']='無法以您的auto_uid設定登入<b>%s</b>,請檢查您的設定檔';
|
||||
$lang['bad_auto_uid_search_base']='您在phpLDAPadmin設定中對伺服器%s指定了無效的auto_uid_search_base';
|
||||
$lang['auto_uid_invalid_value']='您的auto_uid_number_mechanism (\"%s\") 設定是無效的,只有uidpool與search為有效設定,請修正此問題';
|
||||
$lang['error_auth_type_config']='錯誤:您的設定有錯誤,變數auth_type只允許session , cookie與config,您的設定值 ';
|
||||
$lang['php_install_not_supports_tls']='您安裝的 php 並沒有支援 TLS.';
|
||||
$lang['could_not_start_tls']='無法啟動 TLS 請檢查您的 LDAP 伺服器設定.';
|
||||
$lang['could_not_bind_anon']='伺服器不接受匿名登入';
|
||||
$lang['anonymous_bind']='匿名登入';
|
||||
$lang['bad_user_name_or_password']='錯誤的 使用者名稱 或 密碼.請重新輸入一次.';
|
||||
$lang['redirecting_click_if_nothing_happens']='正在重新導向...如果瀏覽器沒有動作,請點選這裡.';
|
||||
$lang['successfully_logged_in_to_server']='成功登入伺服器 %s';
|
||||
$lang['could_not_set_cookie']='不能設定 cookie';
|
||||
$lang['ldap_said']='伺服器回應: %s';
|
||||
$lang['ferror_error']='錯誤';
|
||||
$lang['fbrowse']='瀏覽';
|
||||
$lang['delete_photo']='刪除相片';
|
||||
$lang['install_not_support_blowfish']='您所安裝的 PHP 並不支援 Blowfish 加密';
|
||||
$lang['install_no_mash']='您所安裝的 PHP 並沒有 mhash() 函數,無法進行 SHA 加密';
|
||||
$lang['jpeg_contains_errors']='jpegPhoto 內容發生錯誤<br />';
|
||||
$lang['ferror_number']='錯誤碼: %s (%s)';
|
||||
$lang['ferror_discription']='說明: %s <br /><br />';
|
||||
$lang['ferror_number_short']='錯誤編號: %s';
|
||||
$lang['ferror_discription_short']='說明: (無任何說明內容)<br />';
|
||||
$lang['ferror_submit_bug']='這是 phpLDAPadmin 的 bug? 如果是,請<a href=\"%s\">回報這個Bug</a>.';
|
||||
$lang['ferror_unrecognized_num']='無法辨識的錯誤代碼:';
|
||||
$lang['ferror_nonfatil_bug']='<center><table class=\"notice\"><tr><td colspan=\"2\"><center><img src=\"images/warning.png\" height=\"12\" width=\"13\" />
|
||||
<b>You found a non-fatal phpLDAPadmin bug!</b></td></tr><tr><td>Error:</td><td><b>%s</b> (<b>%s</b>)</td></tr><tr><td>File:</td>
|
||||
<td><b>%s</b> line <b>%s</b>, caller <b>%s</b></td></tr><tr><td>Versions:</td><td>PLA: <b>%s</b>, PHP: <b>%s</b>, SAPI: <b>%s</b>
|
||||
</td></tr><tr><td>Web server:</td><td><b>%s</b></td></tr><tr><td colspan=\"2\"><center><a target=\"new\" href=\"%s\">
|
||||
Please report this bug by clicking here</a>.</center></td></tr></table></center><br />';
|
||||
$lang['ferror_congrats_found_bug']='恭喜! 您發現了phpLDAPadmin的bug.<br /><br /> <table class=\"bug\">
|
||||
<tr><td>Error:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Level:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>File:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Line:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Caller:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PLA Version:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PHP Version:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PHP SAPI:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Web server:</td><td><b>%s</b></td></tr>
|
||||
</table>
|
||||
<br />
|
||||
Please report this bug by clicking below!';
|
||||
|
||||
//ldif_import_form
|
||||
$lang['import_ldif_file_title']='匯入 LDIF 檔案';
|
||||
$lang['select_ldif_file']='選擇一個 LDIF 檔案:';
|
||||
$lang['select_ldif_file_proceed']='下一步';
|
||||
|
||||
//ldif_import
|
||||
$lang['add_action']='增加中...';
|
||||
$lang['delete_action']='刪除中...';
|
||||
$lang['rename_action']='更名中...';
|
||||
$lang['modify_action']='改變中...';
|
||||
$lang['warning_no_ldif_version_found']='找不到版本資訊,預設使用版本1';
|
||||
$lang['valid_dn_line_required']='需要有效的識別名稱行';
|
||||
$lang['missing_uploaded_file']='找不到指定的上傳檔案';
|
||||
$lang['no_ldif_file_specified.']='沒有指定LDIF檔案請重試';
|
||||
$lang['ldif_file_empty']='上傳的 LDIF 檔案是空白的';
|
||||
$lang['file']='檔案';
|
||||
$lang['number_bytes']='%s bytes';
|
||||
$lang['failed']='失敗';
|
||||
$lang['ldif_parse_error']='LDIF 解析錯誤';
|
||||
$lang['ldif_could_not_add_object']='無法新增 object:';
|
||||
$lang['ldif_could_not_rename_object']='無法重新命名 object:';
|
||||
$lang['ldif_could_not_delete_object']='無法刪除 object:';
|
||||
$lang['ldif_could_not_modify_object']='無法修改 object:';
|
||||
$lang['ldif_line_number']='行數:';
|
||||
$lang['ldif_line']='行:';
|
||||
|
||||
// Exports
|
||||
$lang['export_format']='匯出格式';
|
||||
$lang['line_ends']='斷行';
|
||||
$lang['must_choose_export_format']='你必須選擇一種匯出格式';
|
||||
$lang['invalid_export_format']='無效的匯出格式';
|
||||
$lang['no_exporter_found']='沒有可用的匯出程式';
|
||||
$lang['error_performing_search']='在執行搜尋時發生錯誤';
|
||||
$lang['showing_results_x_through_y']='透過 %s 顯示結果 %s';
|
||||
$lang['searching']='搜索中...';
|
||||
$lang['size_limit_exceeded']='注意:到達搜尋大小上限';
|
||||
$lang['entry']='紀錄';
|
||||
$lang['ldif_export_for_dn']='匯出 LDIF :';
|
||||
$lang['generated_on_date']='由';
|
||||
$lang['total_entries']='全部的紀錄';
|
||||
$lang['dsml_export_for_dn']='匯出 DSLM :';
|
||||
|
||||
// logins
|
||||
$lang['could_not_find_user']='找不到使用者 \"%s\"';
|
||||
$lang['password_blank']='您沒有輸入密碼欄位.';
|
||||
$lang['login_cancelled']='已經取消登入.';
|
||||
$lang['no_one_logged_in']='在此伺服器尚無人登入.';
|
||||
$lang['could_not_logout']='無法登出.';
|
||||
$lang['unknown_auth_type']='未知的認證模式: %s';
|
||||
$lang['logged_out_successfully']='成功的從 %s 伺服器登出';
|
||||
$lang['authenticate_to_server']='登入伺服器 %s';
|
||||
$lang['warning_this_web_connection_is_unencrypted']='警告: 這個網頁連線是沒有加密的.';
|
||||
$lang['not_using_https']='您並未使用https加密連線,您的瀏覽器將直接以明碼傳送您的帳號與密碼';
|
||||
$lang['login_dn']='登入 DN';
|
||||
$lang['user_name']='使用者名稱';
|
||||
$lang['password']='密碼';
|
||||
$lang['authenticate']='驗證';
|
||||
|
||||
// Entry browser
|
||||
$lang['entry_chooser_title']='紀錄選擇器';
|
||||
|
||||
// Index page
|
||||
$lang['need_to_configure']='您必須先設定phpLDAPadmin,請依照config.php.example編輯config.php';
|
||||
|
||||
// Mass deletes
|
||||
$lang['no_deletes_in_read_only']='在唯讀模式時不允許刪除資料';
|
||||
$lang['error_calling_mass_delete']='呼叫mass_delete.php時發生錯誤,mass_delete不在POST變數中';
|
||||
$lang['mass_delete_not_array']='mass_delete POST變數不是陣列';
|
||||
$lang['mass_delete_not_enabled']='大量刪除功能並未開啟,請在config.php中開啟此功能';
|
||||
$lang['mass_deleting']='大量刪除';
|
||||
$lang['mass_delete_progress']='正在 \"%s\" 伺服器上進行刪除程序';
|
||||
$lang['malformed_mass_delete_array']='錯誤的大量刪除陣列';
|
||||
$lang['no_entries_to_delete']='您沒有選擇任何要刪除的紀錄';
|
||||
$lang['deleting_dn']='刪除 %s';
|
||||
$lang['total_entries_failed']='無法刪除紀錄 %s %s';
|
||||
$lang['all_entries_successful']='全部刪除完成';
|
||||
$lang['confirm_mass_delete']='確認要刪除 %s 登入在伺服器 %s上';
|
||||
$lang['yes_delete']='沒錯,刪除吧!';
|
||||
|
||||
// Renaming entries
|
||||
$lang['non_leaf_nodes_cannot_be_renamed']='當此記錄有子紀錄時無法重新命名';
|
||||
$lang['no_rdn_change']='您並沒有改變相對識別名稱';
|
||||
$lang['invalid_rdn']='無效的相對識別名稱';
|
||||
$lang['could_not_rename']='無法重新命名';
|
||||
|
||||
?>
|
720
lang/zh-cn.php
Normal file
720
lang/zh-cn.php
Normal file
@ -0,0 +1,720 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/zh-cn.php,v 1.2 2005/03/25 01:21:30 wurley Exp $
|
||||
// Translate to Simplified Chinese, by 张雪平(heromyth), from zxpmyth@yahoo.com.cn
|
||||
// Based on en.php,v 1.119 2005/03/16 20:57:45
|
||||
|
||||
/*
|
||||
使用说明:将其转换不utf-8字符集,再放到lang/recoded目录下,接着修改文件lang/auto.php,执行如下步骤:
|
||||
|
||||
1、修改第7行为:
|
||||
$useLang="zh-cn";
|
||||
|
||||
2、在31行后面加下下面一行:
|
||||
," zh-cn"=>"zh-cn" //Simplified Chinese
|
||||
|
||||
*/
|
||||
|
||||
/* --- 翻译指导 ---
|
||||
*
|
||||
* 如果你想建立一个新的语言文件,
|
||||
* 请把它提交到SourceForge:
|
||||
*
|
||||
* https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498548
|
||||
*
|
||||
* 请使用底部的选项"Check to Upload and Attach a File(上传附件)"
|
||||
*
|
||||
* 阅读doc/README-translation.txt 可以得到翻译指导。
|
||||
*
|
||||
* 谢谢!
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* 数组$lang 包含了所有phpLDAPadmin 所使用的字体串。
|
||||
* 每一个语言文件都只需要在这个数组中定义一个该语言的所对应的
|
||||
* 字符串。
|
||||
*/
|
||||
|
||||
// Search form
|
||||
$lang['simple_search_form_str'] = '简单搜索表格';
|
||||
$lang['advanced_search_form_str '] = '高级搜索表格';
|
||||
$lang['server'] = '服务器';
|
||||
$lang['search_for_entries_whose'] = '搜索条目的所属';
|
||||
$lang['base_dn'] = '基本DN';
|
||||
$lang['search_scope'] = '搜索范围';
|
||||
$lang['show_attributes'] = '显示属性';
|
||||
//$lang['attributes'] = '属性';
|
||||
$lang['Search'] = '搜索';
|
||||
$lang['predefined_search_str'] = '选择一个预定义的搜索';
|
||||
$lang['predefined_searches'] = '预定义的搜索';
|
||||
$lang['no_predefined_queries'] = '在config.php里没有条目定义。';
|
||||
$lang['export_results'] = '导出结果';
|
||||
$lang['unrecoginzed_search_result_format'] = '不能识别的搜索结果格式: %s';
|
||||
$lang['format'] = '格式';
|
||||
$lang['list'] = '列表';
|
||||
$lang['table'] = '表格';
|
||||
$lang['bad_search_display'] = '你的config.php 给$default_search_display指定了一个非法的值: %s,请更正';
|
||||
$lang['page_n'] = '第%d页';
|
||||
$lang['no_results'] = '这次搜索没找到结果。';
|
||||
|
||||
// Tree browser
|
||||
$lang['request_new_feature'] = '功能需求';
|
||||
$lang['report_bug'] = '报告错漏';
|
||||
$lang['schema'] = '格式';
|
||||
$lang['search'] = '搜索';
|
||||
$lang['create'] = '创建';
|
||||
$lang['info'] = '信息';
|
||||
$lang['import'] = '导入';
|
||||
$lang['refresh'] = '刷新';
|
||||
$lang['logout'] = '退出';
|
||||
$lang['create_new'] = '创建新条目';
|
||||
$lang['view_schema_for'] = '查看格式';
|
||||
$lang['refresh_expanded_containers'] = '刷新所有展开的容器,来自';
|
||||
$lang['create_new_entry_on'] = '创建新条目到';
|
||||
$lang['new'] = '新建';
|
||||
$lang['view_server_info'] = '查看附加的服务器信息';
|
||||
$lang['import_from_ldif'] = '从LDIF文件导入条目';
|
||||
$lang['logout_of_this_server'] = '退出这个服务器';
|
||||
$lang['logged_in_as'] = '登录为: ';
|
||||
$lang['this_base_dn_is_not_valid'] = '该DN是无效。';
|
||||
$lang['this_base_dn_does_not_exist'] = '该条目不存在。';
|
||||
$lang['read_only'] = '只读';
|
||||
$lang['read_only_tooltip'] = '该属性已经被phpLDAPadmin 管理员标识为只读';
|
||||
$lang['could_not_determine_root'] = '检测不到你的LDAP树的根。';
|
||||
$lang['ldap_refuses_to_give_root'] = '好像你的LDAP服务器配置来限制了不要显露它的根。';
|
||||
$lang['please_specify_in_config'] = '请在config.php里指定它';
|
||||
$lang['create_new_entry_in'] = '创建新条目于';
|
||||
$lang['login_link'] = '登录…';
|
||||
$lang['login'] = '登录';
|
||||
$lang['base_entry_does_not_exist'] = '该基准条目不存在。';
|
||||
$lang['create_it'] = '要创建它吗?';
|
||||
|
||||
// Entry display
|
||||
$lang['delete_this_entry'] = '删除该条目';
|
||||
$lang['delete_this_entry_tooltip'] = '你会得到提示要求确认该选择';
|
||||
$lang['copy_this_entry'] = '复制和移动该条目';
|
||||
$lang['copy_this_entry_tooltip'] = '把这个对象复制到另一个位置,一个新DN或另一个服务器。';
|
||||
$lang['export'] = '导出';
|
||||
$lang['export_lcase'] = '导出';
|
||||
$lang['export_tooltip'] = '保存一个该对象的导出';
|
||||
$lang['export_subtree_tooltip'] = '保存一个该对象及其所有孩子的导出';
|
||||
$lang['export_subtree'] = '导出子树';
|
||||
$lang['create_a_child_entry'] = '创建一个子条目';
|
||||
$lang['rename_entry'] = '条目更名';
|
||||
$lang['rename'] = '更名';
|
||||
$lang['add'] = '增加';
|
||||
$lang['view'] = '查看';
|
||||
$lang['view_one_child'] = '查看1个子条目';
|
||||
$lang['view_children'] = '查看%s个子条目';
|
||||
$lang['add_new_attribute'] = '增加新的属性';
|
||||
$lang['add_new_objectclass'] = '增加新的ObjectClass';
|
||||
$lang['hide_internal_attrs'] = '隐藏内部属性';
|
||||
$lang['show_internal_attrs'] = '显示内部属性';
|
||||
$lang['attr_name_tooltip'] = '点击查看属性类型\'%s\'的格式定义';
|
||||
$lang['none'] = '什么都没有';
|
||||
$lang['no_internal_attributes'] = '没有内部属性';
|
||||
$lang['no_attributes'] = '这个条目没有属性';
|
||||
$lang['save_changes'] = '保存更改';
|
||||
$lang['add_value'] = '赋值';
|
||||
$lang['add_value_tooltip'] = '给属性\'%s\'赋一个附加的值';
|
||||
$lang['refresh_entry'] = '刷新';
|
||||
$lang['refresh_this_entry'] = '刷新这个条目';
|
||||
$lang['delete_hint'] = '提示: 想要删除一个属性,请将文本字段清空,然后点击保存。';
|
||||
$lang['attr_schema_hint'] = '提示: 要查看一个属性的格式,请点击属性的名称。';
|
||||
$lang['attrs_modified'] = '下面有一些属性(%s) 被修改了,而且被标识为高亮。';
|
||||
$lang['attr_modified'] = '下面一个属性(%s) 被修改了,而且被标识为高亮';
|
||||
$lang['viewing_read_only'] = '以只读模式查看条目。';
|
||||
$lang['no_new_attrs_available'] = '这个条目没有提供新的属性';
|
||||
$lang['no_new_binary_attrs_available'] = '这个条目没有提供新的二进制属性';
|
||||
$lang['binary_value'] = '二进制值';
|
||||
$lang['add_new_binary_attr'] = '增加新的二进制值';
|
||||
$lang['alias_for'] = '注意: \'%s\'是\'%s\'的一个别名';
|
||||
$lang['required_for'] = 'objectClass(es) %s所必需的属性';
|
||||
$lang['download_value'] = '下载值';
|
||||
$lang['delete_attribute'] = '删除属性';
|
||||
$lang['true'] = '真的';
|
||||
$lang['false'] = '假的';
|
||||
$lang['none_remove_value'] = '什么都没有,将值移除';
|
||||
$lang['really_delete_attribute'] = '真的删除属性';
|
||||
$lang['add_new_value'] = '增加新的值';
|
||||
|
||||
// Schema browser
|
||||
//$lang['the_following_objectclasses'] = '这个LDAP服务器支持下列objectClasses。';
|
||||
//$lang['the_following_attributes'] = '这个LDAP服务器支持下列属性类型。';
|
||||
//$lang['the_following_matching'] = '这个LDAP服务器支持下列匹配规则。';
|
||||
//$lang['the_following_syntaxes'] = '这个LDAP服务器支持下列语法规则。';
|
||||
$lang['schema_retrieve_error_1']='这个服务器并不完全支持LDAP 协议。';
|
||||
$lang['schema_retrieve_error_2']='你的PHP版本不能正确地完成查询。';
|
||||
$lang['schema_retrieve_error_3']='phpLDAPadmin不知道如果获取你的服务器的格式。';
|
||||
$lang['schema_retrieve_error_4']='或者最后,你的LDAP服务器没有提供该信息。';
|
||||
$lang['jump_to_objectclass'] = '跳转到一个objectClass';
|
||||
$lang['view_schema_for_oclass'] = '查看该objectClass的格式描述';
|
||||
$lang['jump_to_attr'] = '跳转到一个属性类型';
|
||||
$lang['jump_to_matching_rule'] = '跳转到一个匹配的规则';
|
||||
$lang['schema_for_server'] = '服务器的格式';
|
||||
$lang['required_attrs'] = '必需的属性';
|
||||
$lang['required'] = '必需的';
|
||||
$lang['optional_attrs'] = '可选的属性';
|
||||
$lang['optional_binary_attrs'] = '可选的二进制属性';
|
||||
$lang['OID'] = 'OID';
|
||||
$lang['aliases']='别名';
|
||||
$lang['desc'] = '描述';
|
||||
$lang['no_description']='没有描述';
|
||||
$lang['name'] = '名称';
|
||||
$lang['equality']='相等';
|
||||
$lang['is_obsolete'] = '该objectClass过久了。';
|
||||
$lang['inherits'] = '继承于';
|
||||
$lang['inherited_from'] = '被继承于';
|
||||
$lang['parent_to'] = '双亲指向';
|
||||
$lang['jump_to_this_oclass'] = '跳转到该objectClass的定义处';
|
||||
$lang['matching_rule_oid'] = '匹配规则 OID';
|
||||
$lang['syntax_oid'] = '语法规则OID';
|
||||
$lang['not_applicable'] = '不可应用';
|
||||
$lang['not_specified'] = '未指定的';
|
||||
$lang['character']='单个字符';
|
||||
$lang['characters']='多个字符';
|
||||
$lang['used_by_objectclasses']='被objectClasses所使用的';
|
||||
$lang['used_by_attributes']='被属性所使用的';
|
||||
$lang['maximum_length']='最大长度';
|
||||
$lang['attribute_types']='属性类型';
|
||||
$lang['syntaxes']='语法规则';
|
||||
$lang['matchingrules']='匹配规则';
|
||||
$lang['oid']='OID';
|
||||
$lang['obsolete']='作废的';
|
||||
$lang['ordering']='排序';
|
||||
$lang['substring_rule']='子串规则';
|
||||
$lang['single_valued']='单个赋值的';
|
||||
$lang['collective']='集体的';
|
||||
$lang['user_modification']='用户修改';
|
||||
$lang['usage']='使用格式';
|
||||
$lang['could_not_retrieve_schema_from']='不能找回格式的地方';
|
||||
$lang['type']='类型';
|
||||
$lang['no_such_schema_item'] = '没有这样的格式项目: "%s"';
|
||||
|
||||
// Deleting entries
|
||||
$lang['entry_deleted_successfully'] = '成功删除条目:%s。';
|
||||
$lang['you_must_specify_a_dn'] = '你必须指定一个DN';
|
||||
$lang['could_not_delete_entry'] = '不能删除该条目: %s';
|
||||
$lang['no_such_entry'] = '没有这样的条目: %s';
|
||||
$lang['delete_dn'] = '删除:%s';
|
||||
$lang['permanently_delete_children'] = '也要永久删除所的子条目吗?';
|
||||
$lang['entry_is_root_sub_tree'] = '该条目是根,其子树中包含有条目:%s。';
|
||||
$lang['view_entries'] = '查看条目';
|
||||
$lang['confirm_recursive_delete'] = 'phpLDAPadmin可以递归地删除该条目及其所有子条目中的:%s。 关于这个动作可能会删除的所有条目列表,请查看下面。 你真的想这样做吗?';
|
||||
$lang['confirm_recursive_delete_note'] = '注释: 这个可能潜在危险,后果自负。 这个操作不可恢复。 一定要考虑到aliases(别名)、 referrals(提名)以及其它可能引起问题的事情。';
|
||||
$lang['delete_all_x_objects'] = '删除所有的对象:%s ';
|
||||
$lang['recursive_delete_progress'] = '递归式删除过程';
|
||||
$lang['entry_and_sub_tree_deleted_successfully'] = '成功删除条目%s 和子树。';
|
||||
$lang['failed_to_delete_entry'] = '删除条目:%s 失败';
|
||||
$lang['list_of_entries_to_be_deleted'] = '将被删除的条目列表:';
|
||||
$lang['sure_permanent_delete_object']='确认你想永久删除这个对象吗?';
|
||||
$lang['dn'] = 'DN';
|
||||
|
||||
// Deleting attributes
|
||||
$lang['attr_is_read_only'] = ' 在phpLDAPadmin的配置中,属性"%s"被标识为只读。';
|
||||
$lang['no_attr_specified'] = '没有指定属性名称。';
|
||||
$lang['no_dn_specified'] = '没有指定DN ';
|
||||
|
||||
// Adding attributes
|
||||
$lang['left_attr_blank'] = '属性值为空白。 请返回再试。';
|
||||
$lang['failed_to_add_attr'] = '增加属性失败。';
|
||||
$lang['file_empty'] = '你选择的文件为空或不存在。 请返回再试。';
|
||||
$lang['invalid_file'] = '安全错误: 上传的这个文件可能存在安全危险。';
|
||||
$lang['warning_file_uploads_disabled'] = '你的PHP配置不允许上传文件。 请在进行下步之前检查一下php.ini。';
|
||||
$lang['uploaded_file_too_big'] = '你上传的文件太大。 请检查php.ini中的upload_max_size 设置';
|
||||
$lang['uploaded_file_partial'] = '你选择的文件上传不完整,可能是因为网络的缘故。';
|
||||
$lang['max_file_size'] = '最大文件尺寸: %s';
|
||||
|
||||
// Updating values
|
||||
$lang['modification_successful'] = '成功修改!';
|
||||
$lang['change_password_new_login'] = '因为你更改了密码,你现在必须使用新的密码重新登录。';
|
||||
|
||||
// Adding objectClass form
|
||||
$lang['new_required_attrs'] = '新增必需的属性';
|
||||
$lang['requires_to_add'] = '这个动作要求你增加';
|
||||
$lang['new_attributes'] = '新增属性';
|
||||
$lang['new_required_attrs_instructions'] = '指导: 为了增加这个objectClass 到该条目,你必须指定';
|
||||
$lang['that_this_oclass_requires'] = '这该objectClass所必需的。 你可以在这个表里完成。';
|
||||
$lang['add_oclass_and_attrs'] = '增加ObjectClass 和属性';
|
||||
$lang['objectclasses'] = 'ObjectClasses';
|
||||
|
||||
// General
|
||||
$lang['chooser_link_tooltip'] = '点击弹出一个对话框来以图形方式选择一个条目(DN) ';
|
||||
$lang['no_updates_in_read_only_mode'] = '服务器是以只读方式运行,你不能完成更新';
|
||||
$lang['bad_server_id'] = '错误的服务器id';
|
||||
$lang['not_enough_login_info'] = '没有足够的信息来登录服务器。 请检查你的配置。';
|
||||
$lang['could_not_connect'] = '不能连接到LDAP服务器。';
|
||||
$lang['could_not_connect_to_host_on_port'] = '不能连接到"%s" 的"%s"端口';
|
||||
$lang['could_not_perform_ldap_mod_add'] = '不能完成ldap_mod_add 操作。';
|
||||
//$lang['bad_server_id_underline'] = '错误的server_id:';
|
||||
$lang['home'] = '主页';
|
||||
$lang['help'] = '帮助';
|
||||
$lang['success'] = '成功';
|
||||
$lang['server_colon_pare'] = '服务器:';
|
||||
$lang['look_in'] = '正在查看:';
|
||||
//$lang['missing_server_id_in_query_string'] = '在查询串中没有指定服务器ID!';
|
||||
$lang['missing_dn_in_query_string'] = '在查询串中没有指定DN!';
|
||||
$lang['back_up_p'] = '后退...';
|
||||
$lang['no_entries'] = '没有条目';
|
||||
//$lang['not_logged_in'] = '没有登录';
|
||||
$lang['could_not_det_base_dn'] = '不能确定base DN(基DN)';
|
||||
//$lang['please_report_this_as_a_bug']='请报告这个错漏。';
|
||||
$lang['reasons_for_error']='出现这种情况可能有几个原因,其中最有可能的是:';
|
||||
$lang['yes']='是';
|
||||
$lang['no']='不';
|
||||
$lang['go']='开始';
|
||||
$lang['delete']='删除';
|
||||
$lang['back']='后退';
|
||||
$lang['object']='对象';
|
||||
$lang['delete_all']='删除所有的';
|
||||
//$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546';
|
||||
$lang['hint'] = '提示';
|
||||
$lang['bug'] = '错漏';
|
||||
$lang['warning'] = '警告';
|
||||
$lang['light'] = 'light'; // 单词'light' 来自 'light bulb(电灯泡)'
|
||||
$lang['proceed_gt'] = '继续 >>';
|
||||
$lang['no_blowfish_secret'] = 'phpLDAPadmin不能安全地加密和解密你的敏感信息,因为在config.php是没有设置$blowfish_secret。现在,你需要编辑config.php,并设置$blowfish_secret为某种隐秘的字符串。';
|
||||
$lang['jpeg_dir_not_writable'] = '请在phpLDAPadmin的config.php里,将$jpeg_temp_dir设置到一个可写的目录';
|
||||
$lang['jpeg_dir_not_writable_error'] = '不能将%s写入$jpeg_temp_dir目录。请确定你的web服务器能够在那里写文件。';
|
||||
$lang['jpeg_unable_toget'] = '不能从LDAP服务器为属性%s获得jpeg数据。';
|
||||
$lang['jpeg_delete'] = '删除图片';
|
||||
|
||||
|
||||
|
||||
// Add value form
|
||||
$lang['add_new'] = '新增';
|
||||
$lang['value_to'] = '赋值给';
|
||||
$lang['distinguished_name'] = '识别名(DN)';
|
||||
$lang['current_list_of'] = '当前列表';
|
||||
$lang['values_for_attribute'] = '属性值';
|
||||
$lang['inappropriate_matching_note'] = '注释: 如果在你的LDAP服务器上没有为这个属性设置EQUALITY 规则的话,你可能会碰到"inappropriate matching(不正确的匹配)"这样的错误。';
|
||||
$lang['enter_value_to_add'] = '输入你想增加的值:';
|
||||
$lang['new_required_attrs_note'] = '注释: 可能会要求你输入该objectClass所必需的新属性。';
|
||||
$lang['syntax'] = '规则';
|
||||
|
||||
//copy.php
|
||||
$lang['copy_server_read_only'] = '服务器处于只读模式,你不能完成更新';
|
||||
$lang['copy_dest_dn_blank'] = ' 目标DN项为空。';
|
||||
$lang['copy_dest_already_exists'] = '目标条目 (%s) 已经存在。';
|
||||
$lang['copy_dest_container_does_not_exist'] = '目标容器 (%s) 不存在。';
|
||||
$lang['copy_source_dest_dn_same'] = '源和目标DN 相同。';
|
||||
$lang['copy_copying'] = '正在复制 ';
|
||||
$lang['copy_recursive_copy_progress'] = '递归手复制过程';
|
||||
$lang['copy_building_snapshot'] = '正在建立用于复制的树的快照… ';
|
||||
$lang['copy_successful_like_to'] = '复制成功! 你还想要 ';
|
||||
$lang['copy_view_new_entry'] = '查看新条目';
|
||||
$lang['copy_failed'] = '复制DN不成功: ';
|
||||
|
||||
//edit.php
|
||||
$lang['missing_template_file'] = '警告: 样板文件不存在,';
|
||||
$lang['using_default'] = '使用默认的。';
|
||||
$lang['template'] = '样板';
|
||||
$lang['must_choose_template'] = '你必须选择一个样板';
|
||||
$lang['invalid_template'] = '%s 是一个非法的样板';
|
||||
$lang['using_template'] = '使用样板';
|
||||
$lang['go_to_dn'] = '转到 %s';
|
||||
$lang['structural_object_class_cannot_remove'] = '这是个结构化的ObjectClass,因此不能移除。';
|
||||
$lang['structural'] = '结构化';
|
||||
|
||||
//copy_form.php
|
||||
$lang['copyf_title_copy'] = '复制';
|
||||
$lang['copyf_to_new_object'] = '成为一个新的对象';
|
||||
$lang['copyf_dest_dn'] = '目标DN';
|
||||
$lang['copyf_dest_dn_tooltip'] = '在复制该源条目时,将被建立的新条目的完整DN ';
|
||||
$lang['copyf_dest_server'] = '目标服务器';
|
||||
$lang['copyf_note'] = '提示: 在两个不同的服务器之间复制时,要求它们没有"schema(格式)冲突"';
|
||||
$lang['copyf_recursive_copy'] = '另外还要递归复制此对象的所有子内容。';
|
||||
$lang['recursive_copy'] = '递归复制';
|
||||
$lang['filter'] = '过滤器';
|
||||
//$lang['search_filter'] = '搜索过滤器';
|
||||
$lang['filter_tooltip'] = '在完成一个递归复制时,只会复制哪些匹配这个过滤器的条目。';
|
||||
$lang['delete_after_copy'] = '复制后删除(即移动):';
|
||||
$lang['delete_after_copy_warn'] = '确认你的过滤器(见上面)会选择所有的子记录。';
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute'] = '必需属性(%s)的值为空白。';
|
||||
$lang['redirecting'] = '重定向...';
|
||||
$lang['here'] = '这里';
|
||||
$lang['create_could_not_add'] = '不能增加该对象到LDAP服务器。';
|
||||
|
||||
//create_form.php
|
||||
$lang['createf_create_object'] = '创建对象';
|
||||
$lang['createf_choose_temp'] = '选择样板';
|
||||
$lang['createf_select_temp'] = '选择用于创建过程的样板';
|
||||
$lang['save_as_file'] = '另存为文件';
|
||||
$lang['rdn_field_blank'] = 'RDN段为空白。';
|
||||
$lang['container_does_not_exist'] = '你指定的(%s)容器不存在。 请再试试。';
|
||||
$lang['no_objectclasses_selected'] = '你没有为该对象选择任何ObjectClasses。 请返回照做。';
|
||||
$lang['hint_structural_oclass'] = '提示: 你必有选择一个结构化的objectClass (如上面粗体所显示的)';
|
||||
|
||||
//creation_template.php
|
||||
$lang['ctemplate_on_server'] = '在服务器上';
|
||||
$lang['ctemplate_no_template'] = '在POST变量中没有指定样板。';
|
||||
$lang['template_not_readable'] = '你在配置中指定了用于该样板的"%s"的手柄,但是这个文件因为禁止权限太严格而不可读。';
|
||||
$lang['template_does_not_exist'] = '你在配置文件中指定了用于该 样板的"%s"的手柄,但是该手柄在templates/creation 目录中不存在。';
|
||||
$lang['create_step1'] = '第一步: Name 和 ObjectClass(es)';
|
||||
$lang['create_step2'] = '第二步: 指定属性和值';
|
||||
$lang['relative_distinguished_name'] = 'Relative Distinguished Name(相对标识名)';
|
||||
$lang['rdn'] = 'RDN';
|
||||
$lang['rdn_example'] = '(例如: cn=MyNewPerson)';
|
||||
$lang['container'] = 'Container(容器)';
|
||||
|
||||
// search.php
|
||||
$lang['you_have_not_logged_into_server'] = '你还没有登入所选择的服务器,因此你不能在它上面完成搜索。';
|
||||
$lang['click_to_go_to_login_form'] = '点击这里转到登录表格';
|
||||
$lang['unrecognized_criteria_option'] = '不认识的criteria(标准)选项: ';
|
||||
$lang['if_you_want_to_add_criteria'] = '如果你想增加自己的criteria 到列表里。 记得编辑search.php 来处理它们。 退出。';
|
||||
$lang['entries_found'] = '找到的条目: ';
|
||||
$lang['filter_performed'] = '应用了的过滤器: ';
|
||||
$lang['search_duration'] = 'phpLDAPadmin完成搜索,用时';
|
||||
$lang['seconds'] = '秒';
|
||||
|
||||
// search_form_advanced.php
|
||||
$lang['scope_in_which_to_search'] = '搜索的范围';
|
||||
$lang['scope_sub'] = 'Sub (整个子树)';
|
||||
$lang['scope_one'] = 'One (base之下的一级)';
|
||||
$lang['scope_base'] = 'Base (仅限于base dn)';
|
||||
$lang['standard_ldap_search_filter'] = '标准的LDAP搜索过滤器。 例如: (&(sn=Smith)(givenname=David))';
|
||||
$lang['search_filter'] = '搜索过滤器';
|
||||
$lang['list_of_attrs_to_display_in_results'] = '用于显示在结果中的属性列表(以逗号隔开)';
|
||||
//$lang['show_attributes'] = '显示属性';
|
||||
|
||||
// search_form_simple.php
|
||||
//$lang['search_for_entries_whose'] = '查找是谁的条目:';
|
||||
$lang['equals'] = '等于';
|
||||
$lang['starts with'] = '开始于';
|
||||
$lang['contains'] = '包含';
|
||||
$lang['ends with'] = '结束于';
|
||||
$lang['sounds like'] = '看起来象';
|
||||
|
||||
// server_info.php
|
||||
$lang['could_not_fetch_server_info'] = '不能从服务器上取得LDAP信息。 可能是因为你的PHP存在这个<a href="http://bugs.php.net/bug.php?id=29587">错漏</a>,或者是你的LDAP服务器里指定的"访问控制"禁止LDAP客户端访问RootDSE。';
|
||||
$lang['server_info_for'] = '服务器信息: ';
|
||||
$lang['server_reports_following'] = '下列信息是服务器报告的关于它自己的信息';
|
||||
$lang['nothing_to_report'] = '该服务器没有报告任何信息。';
|
||||
|
||||
//update.php
|
||||
$lang['update_array_malformed'] = '看不懂update_array。 这可能是phpLDAPadmin的错漏。 请报告。';
|
||||
$lang['could_not_perform_ldap_modify'] = '不能完成ldap_modify 操作。';
|
||||
|
||||
// update_confirm.php
|
||||
$lang['do_you_want_to_make_these_changes'] = '你想应用这些变化吗?';
|
||||
$lang['attribute'] = '属性';
|
||||
$lang['old_value'] = '旧值';
|
||||
$lang['new_value'] = '新值';
|
||||
$lang['attr_deleted'] = '[删除的属性]';
|
||||
$lang['commit'] = '提交';
|
||||
$lang['cancel'] = '取消';
|
||||
$lang['you_made_no_changes'] = '你没有进行更改';
|
||||
$lang['go_back'] = '返回';
|
||||
$lang['unable_create_samba_pass'] = '不能建立samba密码。请在template_config.php里检查你的配置';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note'] = '使用左边菜单来导航';
|
||||
$lang['credits'] = '荣誉';
|
||||
$lang['changelog'] = '变更记录';
|
||||
$lang['donate'] = '捐赠';
|
||||
$lang['pla_logo'] = 'phpLDAPadmin 标识';
|
||||
|
||||
// Donate.php
|
||||
$lang['donation_instructions'] = '想捐款给phpLDAPadmin项目,请点击下面PayPal按钮中的一个。';
|
||||
$lang['donate_amount'] = '捐赠 %s';
|
||||
//$lang['wish_list_option'] = '或许你可以买份礼物给phpLDAPadmin开发人员。';
|
||||
//$lang['wish_list'] = '查看Dave的phpLDAPadmin 愿望列表';
|
||||
|
||||
$lang['purge_cache'] = '清空缓存';
|
||||
$lang['no_cache_to_purge'] = '没有缓存可清空。';
|
||||
$lang['done_purging_caches'] = '清空缓存%s 个字节。';
|
||||
$lang['purge_cache_tooltip'] = '清空所有在phpLDAPadmin中缓存的数据,包括服务器schema(格式)。';
|
||||
|
||||
// view_jpeg_photo.php
|
||||
$lang['unsafe_file_name'] = '不安全的文件名: ';
|
||||
$lang['no_such_file'] = '没有这样的文件: ';
|
||||
|
||||
//function.php
|
||||
$lang['auto_update_not_setup'] = '在你的配置中为 <b>%s</b> 启用了auto_uid_numbers,
|
||||
但是你没有指定auto_uid_number_mechanism。 请更正
|
||||
这个问题';
|
||||
$lang['uidpool_not_set'] = '你在服务<b>%s</b>的配置中指定"auto_uid_number_mechanism" 为 "uidpool",
|
||||
但是你没有指定
|
||||
audo_uid_number_uid_pool_dn。 请在进行下步前指定它。';
|
||||
$lang['uidpool_not_exist'] = '好像你在配置("%s")中指定的uidPool
|
||||
不存在。';
|
||||
$lang['specified_uidpool'] = '你在服务器<b>%s<b>的配置文件中指定了"auto_uid_number_mechanism" 为 "search",
|
||||
但是你没有指定
|
||||
"auto_uid_number_search_base"。 请在进行下步前指定它。';
|
||||
$lang['auto_uid_invalid_credential'] = '使用auto_uid credentials不能绑定到<b>%s</b>。 请检查你的配置文件。';
|
||||
$lang['bad_auto_uid_search_base'] = '你的phpLDAPadmin配置为服务器%s指定了一个非法的auto_uid_search_base ';
|
||||
$lang['auto_uid_invalid_value'] = '你在配置文件中为auto_uid_number_mechanism ("%s")指定了一个非法的值
|
||||
。 只有"uidpool" 和 "search" 是合法的。
|
||||
请更正这个问题。';
|
||||
$lang['error_auth_type_config'] = '错误: 在你的配置文件中有个错误。 仅允许用于
|
||||
$servers部分的auth_type的值为 \'session\', \'cookie\', and \'config\'。 输入\'%s\',
|
||||
这是不允许的。 ';
|
||||
$lang['unique_attrs_invalid_credential'] = '不能使用unique_attrs 绑定到<b>%s</b>。 请检查你的配置文件。';
|
||||
$lang['unique_attr_failed'] = '你企图增加<b>%s</b> (<i>%s</i>) 到 <br><b>%s</b><br>,这是不允许的。 该属性/值属于任何条目。<p>你可能想<a href=\'%s\'>搜索</a> 该条条目。';
|
||||
$lang['php_install_not_supports_tls'] = '你安装的PHP 不支持TLS。';
|
||||
$lang['could_not_start_tls'] = '不能启用TLS。 请检查你的LDAP 服务器配置。';
|
||||
$lang['could_not_bind_anon'] = '不能匿名绑定到服务器。';
|
||||
$lang['could_not_bind'] = '不能绑定到该LDAP服务器。';
|
||||
$lang['anonymous_bind'] = '匿名绑定';
|
||||
$lang['bad_user_name_or_password'] = '错误的用户名或密码。 请再试试。';
|
||||
//$lang['redirecting_click_if_nothing_happens'] = '重定向... 如果没事发生请点击这里。';
|
||||
$lang['successfully_logged_in_to_server'] = '成功登录到服务器<b>%s</b>';
|
||||
$lang['could_not_set_cookie'] = '不能设置cookie。';
|
||||
$lang['ldap_said'] = 'LDAP说: %s';
|
||||
$lang['ferror_error'] = '出错';
|
||||
$lang['fbrowse'] = '浏览';
|
||||
$lang['delete_photo'] = '删除图片';
|
||||
//$lang['install_not_support_blowfish'] = '你安装的PHP不支持blowfish 加密。';
|
||||
//$lang['install_not_support_md5crypt'] = '你安装的PHP不支持 md5crypt 加密。';
|
||||
//$lang['install_no_mash'] = '你安装的PHP没有mhash() 函数。 不能进行SHA哈希。';
|
||||
$lang['install_not_support_ext_des'] = '你的系统加密库不支持扩展的DES加密。';
|
||||
$lang['install_not_support_blowfish'] = '你的系统加密库不支持blowfish加密。';
|
||||
$lang['install_not_support_md5crypt'] = '你的系统加密库不支持md5crypt加密。';
|
||||
$lang['jpeg_contains_errors'] = 'jpegPhoto 包含有错<br />';
|
||||
$lang['ferror_number'] = '错误代号 %s';
|
||||
$lang['ferror_discription'] = '描述: %s <br /><br />';
|
||||
$lang['ferror_number_short'] = '错误代号: %s <br /><br />';
|
||||
$lang['ferror_discription_short'] = '描述: (没有描述可提供)<br />';
|
||||
$lang['ferror_submit_bug'] = '这是个phpLDAPadmin 错漏吗? 如果是,就请<a href=\'%s\'>报告一个</a>。';
|
||||
$lang['ferror_unrecognized_num'] = '不认识的错误代号: ';
|
||||
$lang['ferror_nonfatil_bug'] = '<center><table class=\'notice\'><tr><td colspan=\'2\'><center><img src=\'images/warning.png\' height=\'12\' width=\'13\' />
|
||||
<b>你发现了一个非致使的phpLDAPadmin 错漏!</b></td></tr><tr><td>错误:</td><td><b>%s</b> (<b>%s</b>)</td></tr><tr><td>文件:</td>
|
||||
<td><b>%s</b> 行 <b>%s</b>,调用函数 <b>%s</b></td></tr><tr><td>版本:</td><td>PLA: <b>%s</b>, PHP: <b>%s</b>, SAPI: <b>%s</b>
|
||||
</td></tr><tr><td>Web 服务器:</td><td><b>%s</b></td></tr><tr><td colspan=\'2\'><center><a target=\'new\' href=\'%s\'>
|
||||
请点击这里报告该错漏</a>。</center></td></tr></table></center><br />';
|
||||
$lang['ferror_congrats_found_bug'] = '恭喜你! 你发现了phpLDAPadmin的一个错漏。<br /><br />
|
||||
<table class=\'bug\'>
|
||||
<tr><td>错误:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>级别:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>文件:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>行:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>调用者:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PLA 版本:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PHP 版本:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PHP SAPI:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PHP 服务器:</td><td><b>%s</b></td></tr>
|
||||
</table>
|
||||
<br />
|
||||
请通过点击下面来报告这个错漏!';
|
||||
|
||||
//ldif_import_form
|
||||
$lang['import_ldif_file_title'] = '导入LDIF文件';
|
||||
$lang['select_ldif_file'] = '选择一个LDIF文件:';
|
||||
$lang['dont_stop_on_errors'] = '发生错误时不停止';
|
||||
|
||||
//ldif_import
|
||||
$lang['add_action'] = '增加...';
|
||||
$lang['delete_action'] = '删除...';
|
||||
$lang['rename_action'] = '更名...';
|
||||
$lang['modify_action'] = '修改...';
|
||||
$lang['warning_no_ldif_version_found'] = '没有找到版本号。 假设 1。';
|
||||
$lang['valid_dn_line_required'] = '要求一个合法的dn行。';
|
||||
$lang['missing_uploaded_file'] = '丢失上传的文件。';
|
||||
$lang['no_ldif_file_specified'] = '没有指定LDIF文件。 请再试试。';
|
||||
$lang['ldif_file_empty'] = '上传的LDIF 文件为空。';
|
||||
$lang['empty'] = '空的';
|
||||
$lang['file'] = '文件';
|
||||
$lang['number_bytes'] = '%s 字节';
|
||||
|
||||
$lang['failed'] = '失败';
|
||||
$lang['ldif_parse_error'] = 'LDIF解析错误';
|
||||
$lang['ldif_could_not_add_object'] = '不能增加对象:';
|
||||
$lang['ldif_could_not_rename_object'] = '不能更名对象:';
|
||||
$lang['ldif_could_not_delete_object'] = '不能删除对象:';
|
||||
$lang['ldif_could_not_modify_object'] = '不能修改对象:';
|
||||
$lang['ldif_line_number'] = '行号:';
|
||||
$lang['ldif_line'] = '行数:';
|
||||
|
||||
// Exports
|
||||
$lang['export_format'] = '导出格式';
|
||||
$lang['line_ends'] = '行结束';
|
||||
$lang['must_choose_export_format'] = '不必须选择一个导出格式。';
|
||||
$lang['invalid_export_format'] = '非法的导出格式';
|
||||
$lang['no_exporter_found'] = '没有找到可用导出器。';
|
||||
$lang['error_performing_search'] = '在执行搜索时碰到一个错误。';
|
||||
$lang['showing_results_x_through_y'] = '显示结果%s,它是通过%s来完成的。';
|
||||
$lang['searching'] = '搜索...';
|
||||
$lang['size_limit_exceeded'] = '注意,超出搜索大小限制。';
|
||||
$lang['entry'] = '条目';
|
||||
$lang['ldif_export_for_dn'] = '为: %s,导出LDIF';
|
||||
$lang['generated_on_date'] = '由phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) 在 %s上生成的';
|
||||
$lang['total_entries'] = '条目总数';
|
||||
$lang['dsml_export_for_dn'] = '为: %s,导出DSLM';
|
||||
$lang['include_system_attrs'] = '包含系统属性';
|
||||
$lang['csv_spreadsheet'] = 'CSV (Spreadsheet)';
|
||||
|
||||
// logins
|
||||
//$lang['could_not_find_user'] = '不能找到用户"%s"';
|
||||
$lang['password_blank'] = '你的密码为空。';
|
||||
//$lang['login_cancelled'] = '登录取消了。';
|
||||
$lang['no_one_logged_in'] = '没人登录到该服务器。';
|
||||
$lang['could_not_logout'] = '不能退出。';
|
||||
$lang['unknown_auth_type'] = '不能识别的auth_type: %s';
|
||||
$lang['logged_out_successfully'] = '成功从<b>%s</b>服务器退出';
|
||||
$lang['authenticate_to_server'] = '认证到服务器%s';
|
||||
$lang['warning_this_web_connection_is_unencrypted'] = '警告: 此web连接没有加密。';
|
||||
$lang['not_using_https'] = '你没有使用\'https\'。 Web浏览器将会以明文传输登录信息。';
|
||||
$lang['login_dn'] = '登录DN';
|
||||
$lang['user_name'] = '用户名';
|
||||
$lang['password'] = '密码';
|
||||
$lang['authenticate'] = '认证';
|
||||
$lang['login_not_allowed'] = '对不起,这台LDAP服务器不允许你使用phpLDAPadmin。';
|
||||
|
||||
// Entry browser
|
||||
$lang['entry_chooser_title'] = '条目选择器';
|
||||
|
||||
// Index page
|
||||
$lang['need_to_configure'] = '你需要配置phpLDAPadmin。 编辑文件\'config.php\'就可以。 有个样例配置文件提供在 \'config.php.example\'里';
|
||||
|
||||
// Mass deletes
|
||||
$lang['no_deletes_in_read_only'] = '在只读模式下不允许删除。';
|
||||
$lang['error_calling_mass_delete'] = '错误调用mass_delete.php。在POST变量中丢失 mass_delete。';
|
||||
$lang['mass_delete_not_array'] = 'mass_delete POST 变量不是个数组。';
|
||||
$lang['mass_delete_not_enabled'] = 'Mass deletion(大量删除)没有启用。 请在进行下一步前在config.php中启用它。';
|
||||
$lang['search_attrs_wrong_count'] = '你的config.php有个错误。 在$search_attributes 和 $search_attributes_display里的属性编号不一样';
|
||||
$lang['mass_deleting'] = '正在大量删除';
|
||||
$lang['mass_delete_progress'] = '服务器"%s"上的删除过程';
|
||||
$lang['malformed_mass_delete_array'] = '不规则的mass_delete 数组。';
|
||||
$lang['no_entries_to_delete'] = '你没有选择任何要删除的条目。';
|
||||
$lang['deleting_dn'] = '正在删除 %s';
|
||||
$lang['total_entries_failed'] = '删除条目%s(属于%s)失败。';
|
||||
$lang['all_entries_successful'] = '所有条目删除成功。';
|
||||
$lang['confirm_mass_delete'] = '确认大量删除条目%s(在服务器%s上)';
|
||||
$lang['yes_delete'] = '是的,删除!';
|
||||
|
||||
// Renaming entries
|
||||
$lang['non_leaf_nodes_cannot_be_renamed'] = '你不能更名一个带有子条目的条目,举例,更名操作允许在非叶子条目上完成';
|
||||
$lang['no_rdn_change'] = '你不能更改RDN';
|
||||
$lang['invalid_rdn'] = '无效的RDN值';
|
||||
$lang['could_not_rename'] = '不能更名该条目';
|
||||
|
||||
// General errors
|
||||
//$lang['php5_unsupported'] = 'phpLDAPadmin 还不支持PHP 5。如果你继续可能会遇到许多意想不到的问题。';
|
||||
$lang['mismatched_search_attr_config'] = '你的配置有个错误。 $search_attributes 与 $search_attributes_display 必须要有相同数目的属性。';
|
||||
|
||||
// Password checker
|
||||
$lang['passwords_match'] = '密码匹配!';
|
||||
$lang['passwords_do_not_match'] = '密码不匹配!';
|
||||
$lang['password_checker_tool'] = '密码检查工具';
|
||||
$lang['compare'] = '比较';
|
||||
$lang['to'] = '与';
|
||||
|
||||
// Templates
|
||||
$lang['using'] = '使用该';
|
||||
//$lang['template'] = '模板';
|
||||
$lang['switch_to'] = '你可以转换到';
|
||||
$lang['default_template'] = '默认模板';
|
||||
|
||||
// template_config
|
||||
$lang['user_account'] = '用户账号(posixAccount)';
|
||||
$lang['address_book_inet'] = '地址簿条目(inetOrgPerson)';
|
||||
$lang['address_book_moz'] = '地址簿条目(mozillaOrgPerson)';
|
||||
$lang['kolab_user'] = 'Kolab用户条目';
|
||||
$lang['organizational_unit'] = '组织化单元(Organizational Unit)';
|
||||
$lang['organizational_role'] = '组织化角色';
|
||||
$lang['posix_group'] = 'Posix组';
|
||||
$lang['samba_machine'] = 'Samba NT 主机';
|
||||
$lang['samba3_machine'] = 'Samba 3 NT 主机';
|
||||
$lang['samba_user'] = 'Samba 用户';
|
||||
$lang['samba3_user'] = 'Samba 3 用户';
|
||||
$lang['samba3_group'] = 'Samba 3 组映像(Mapping)';
|
||||
$lang['dns_entry'] = 'DNS 条目';
|
||||
$lang['simple_sec_object'] = '简单安全对象(Simple Security Object)';
|
||||
$lang['courier_mail_account'] = 'Courier 邮件账号';
|
||||
$lang['courier_mail_alias'] = 'Courier 邮件别名';
|
||||
$lang['ldap_alias'] = 'LDAP 别名';
|
||||
$lang['sendmail_cluster'] = 'Sendmail 集群';
|
||||
$lang['sendmail_domain'] = 'Sendmail 域';
|
||||
$lang['sendmail_alias'] = 'Sendmail 别名';
|
||||
$lang['sendmail_virt_dom'] = 'Sendmail 虚拟域';
|
||||
$lang['sendmail_virt_users'] = 'Sendmail 虚拟用户';
|
||||
$lang['sendmail_relays'] = 'Sendmail 回复';
|
||||
$lang['custom'] = '自定义';
|
||||
$lang['samba_domain_name'] = '我的Samba域名';
|
||||
$lang['administrators'] = '管理员';
|
||||
$lang['users'] = '用户';
|
||||
$lang['guests'] = '一般用户(Guests)';
|
||||
$lang['power_users'] = '增强用户(Power Users)';
|
||||
$lang['account_ops'] = '账号管理员';
|
||||
$lang['server_ops'] = '服务器管理员';
|
||||
$lang['print_ops'] = '打印管理员';
|
||||
$lang['backup_ops'] = '备份管理员';
|
||||
$lang['replicator'] = '复制器(Replicator)';
|
||||
$lang['unable_smb_passwords'] = '不能建立Samba密码。请检查文件template_config.php里的配置。';
|
||||
$lang['err_smb_conf'] = '错误:在你的samba配置里有个错误。';
|
||||
$lang['err_smb_no_name_sid'] = '错误:需要为你的samba域提供一个名字(name)和一个sid。';
|
||||
$lang['err_smb_no_name'] = '错误:没有为samba域提供名字。';
|
||||
$lang['err_smb_no_sid'] = '错误:没有为samba域提供sid。';
|
||||
|
||||
// Samba Account Template
|
||||
$lang['samba_account'] = 'Samba 账号';
|
||||
$lang['samba_account_lcase'] = 'samba 账号';
|
||||
|
||||
// New User (Posix) Account
|
||||
$lang['t_new_user_account'] = '新建用户账号';
|
||||
$lang['t_hint_customize'] = '提示:想要定制模板的话,你可以编辑文件templates/creation/new_user_template.php';
|
||||
$lang['t_name'] = '名字';
|
||||
$lang['t_first_name'] = '第一个名字';
|
||||
$lang['t_last_name'] = '最后一个名字';
|
||||
$lang['t_first'] = '第一个';
|
||||
$lang['t_last'] = '最后一个';
|
||||
$lang['t_common_name'] = '公有名字(Common name)';
|
||||
$lang['t_user_name'] = '用户名';
|
||||
$lang['t_password'] = '密码';
|
||||
$lang['t_encryption'] = '加密方法';
|
||||
$lang['t_login_shell'] = '登录Shell';
|
||||
$lang['t_home_dir'] = '主目录';
|
||||
$lang['t_uid_number'] = 'UID号';
|
||||
$lang['t_auto_det'] = '(自动检测到的)';
|
||||
$lang['t_group'] = '组';
|
||||
$lang['t_gid_number'] = 'GID号';
|
||||
$lang['t_err_passwords'] = '你的密码不匹配。请返回再试试。';
|
||||
$lang['t_err_field_blank'] = '%s处不能为空。请返回再试试。';
|
||||
$lang['t_err_field_num'] = '%s字段不能只输入数字。请返回再试试。';
|
||||
$lang['t_err_bad_container'] = '你指定的容器(%s)不存在。请返回再试试。';
|
||||
$lang['t_confirm_account_creation'] = '确认创建账号';
|
||||
$lang['t_secret'] = '[隐秘]';
|
||||
$lang['t_create_account'] = '创建账号';
|
||||
|
||||
// New Address Template
|
||||
$lang['t_new_address'] = '新建地址簿条目';
|
||||
$lang['t_organization'] = '组织';
|
||||
$lang['t_address'] = '地址';
|
||||
$lang['t_city'] = '城市';
|
||||
$lang['t_postal_code'] = '邮政编码';
|
||||
$lang['t_street'] = '街道';
|
||||
$lang['t_work_phone'] = '工作电话';
|
||||
$lang['t_fax'] = '传真(Fax)';
|
||||
$lang['t_mobile'] = '移动电话(Mobile)';
|
||||
$lang['t_email'] = '电子邮件';
|
||||
$lang['t_container'] = '容器';
|
||||
$lang['t_err_cn_blank'] = '公有名字(Common Name)不能为空。请返回再试试。';
|
||||
$lang['t_confim_creation'] = '确认创建条目:';
|
||||
$lang['t_create_address'] = '创建地址簿';
|
||||
|
||||
// default template
|
||||
$lang['t_check_pass'] = '正在检查密码……';
|
||||
|
||||
// compare form
|
||||
$lang['compare'] = '比较';
|
||||
$lang['comparing'] = '比较紧跟着的DN';
|
||||
$lang['compare_dn'] = '比较另一个DN跟';
|
||||
$lang['with'] = '同 ';
|
||||
$lang['compf_source_dn'] = '源DN';
|
||||
$lang['compf_dn_tooltip'] = '将该DN与另一个比较';
|
||||
$lang['switch_entry'] = '切换条目';
|
||||
$lang['no_value'] = '没有值';
|
||||
$lang['compare_with'] = '同另一个条目进行比较';
|
||||
$lang['need_oclass'] = '要新增属性%s,你需要下面的ObjectClass(es)——对象类。';
|
||||
|
||||
// Time out page
|
||||
$lang['session_timed_out_1'] = '你的会话期将在无活动的';
|
||||
$lang['session_timed_out_2'] = '分钟后过期。你将自动退出。';
|
||||
$lang['log_back_in'] = '想登录回来,请点击下面的链接:';
|
||||
$lang['session_timed_out_tree'] = '(会话超时,自动退出。)';
|
||||
$lang['timeout_at'] = '在%s如果活动,你将被登出。';
|
||||
|
||||
|
||||
?>
|
490
lang/zh-tw.php
Normal file
490
lang/zh-tw.php
Normal file
@ -0,0 +1,490 @@
|
||||
<?
|
||||
|
||||
/* --- INSTRUCTIONS FOR TRANSLATORS ---
|
||||
*
|
||||
* If you want to write a new language file for your language,
|
||||
* please submit the file on SourceForge:
|
||||
*
|
||||
* https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498548
|
||||
*
|
||||
* Use the option "Check to Upload and Attach a File" at the bottom
|
||||
*
|
||||
* Thank you!
|
||||
*
|
||||
*/
|
||||
|
||||
// Based on en.php version 1.58
|
||||
|
||||
// Search form
|
||||
$lang['simple_search_form_str']='簡易搜尋表單';
|
||||
$lang['advanced_search_form_str']='進階搜尋表單';
|
||||
$lang['server']='伺服器';
|
||||
|
||||
// search_form_simple.php
|
||||
$lang['search_for_entries_whose']='選擇搜尋條件';
|
||||
$lang['base_dn']='基礎識別名稱';
|
||||
$lang['search_scope']='搜尋範圍';
|
||||
$lang['show_attributes']='顯示屬性';
|
||||
$lang['Search']='搜尋';
|
||||
$lang['predefined_search_str']='以預先定義好的條件搜尋';
|
||||
$lang['predefined_searches']='預先定義好的搜尋';
|
||||
$lang['no_predefined_queries']='config.php中沒有預先定義的搜尋條件';
|
||||
|
||||
// Tree browser
|
||||
$lang['request_new_feature']='建議新功能';
|
||||
$lang['report_bug']='回報問題';
|
||||
$lang['schema']='schema';
|
||||
$lang['search']='搜尋';
|
||||
$lang['create']='建立';
|
||||
$lang['info']='系統資訊';
|
||||
$lang['import']='匯入';
|
||||
$lang['refresh']='重新整理';
|
||||
$lang['logout']='登出';
|
||||
$lang['create_new']='建立新紀錄';
|
||||
$lang['view_schema_for']='查閱schema';
|
||||
$lang['refresh_expanded_containers']='重新整理所有展開的集合';
|
||||
$lang['create_new_entry_on']='建立新紀錄於';
|
||||
$lang['new']='新';
|
||||
$lang['view_server_info']='查閱伺服器提供的資訊';
|
||||
$lang['import_from_ldif']='從LDIF檔案匯入紀錄';
|
||||
$lang['logout_of_this_server']='登出此伺服器';
|
||||
$lang['logged_in_as']='登入為';
|
||||
$lang['read_only']='唯讀';
|
||||
$lang['could_not_determine_root']='找不到LDAP根目錄';
|
||||
$lang['ldap_refuses_to_give_root']='此LDAP伺服器設定為不顯示根節點';
|
||||
$lang['please_specify_in_config']='請在config.php中指定';
|
||||
$lang['create_new_entry_in']='建立新紀錄於';
|
||||
$lang['login_link']='登入...';
|
||||
$lang['login']='登入';
|
||||
|
||||
// Entry display
|
||||
$lang['delete_this_entry']='刪除此紀錄';
|
||||
$lang['delete_this_entry_tooltip']='在您確認之後刪除此記錄';
|
||||
$lang['copy_this_entry']='複製此記錄';
|
||||
$lang['copy_this_entry_tooltip']='將此記錄複製到您選擇的目的地';
|
||||
$lang['export']='匯出';
|
||||
$lang['export_tooltip']='將此物件匯出';
|
||||
$lang['export_subtree_tooltip']='將此物件及所有子物件匯出';
|
||||
$lang['export_subtree']='將此子樹匯出';
|
||||
$lang['create_a_child_entry']='建立子記錄';
|
||||
$lang['rename_entry']='重新命名';
|
||||
$lang['rename']='更名';
|
||||
$lang['add']='新增';
|
||||
$lang['view']='查閱';
|
||||
$lang['view_one_child']='查閱 1 子紀錄';
|
||||
$lang['view_children']='查閱 %s 子紀錄';
|
||||
$lang['add_new_attribute']='新增屬性';
|
||||
$lang['add_new_objectclass']='新增ObjectClass';
|
||||
$lang['hide_internal_attrs']='不顯示隱藏屬性';
|
||||
$lang['show_internal_attrs']='顯示隱藏屬性';
|
||||
$lang['attr_name_tooltip']='查閱屬性 ';
|
||||
$lang['none']='none';
|
||||
$lang['save_changes']='儲存';
|
||||
$lang['add_value']='加入新數值';
|
||||
$lang['add_value_tooltip']='增加一個附加值到屬性 \"%s\"';
|
||||
$lang['refresh_entry']='重新整理';
|
||||
$lang['refresh_this_entry']='重整此筆資';
|
||||
$lang['delete_hint']='提示: 將欄位數值刪除並按存檔即可刪除該屬性';
|
||||
$lang['attr_schema_hint']='提示: 在該屬性上點一下即可查閱所使用的schema';
|
||||
$lang['attrs_modified']='修改後的屬性為 (%s) 並以不同的顏色區分';
|
||||
$lang['attr_modified']='修改後的屬性為 (%s) 並以不同的顏色區分';
|
||||
$lang['viewing_read_only']='以唯讀模式查閱資料';
|
||||
$lang['no_new_attrs_available']='此筆資料沒有新屬性';
|
||||
$lang['no_new_binary_attrs_available']='此筆資料沒有二進位屬性';
|
||||
$lang['binary_value']='二進位數值';
|
||||
$lang['add_new_binary_attr']='新增二進位屬性';
|
||||
$lang['alias_for']='Alias for %s';
|
||||
$lang['download_value']='下載數值';
|
||||
$lang['delete_attribute']='刪除屬性';
|
||||
$lang['true']='true';
|
||||
$lang['false']='false';
|
||||
$lang['none_remove_value']='空白, 移除該值';
|
||||
$lang['really_delete_attribute']='確定要刪除屬性?';
|
||||
$lang['add_new_value']='新增數值';
|
||||
|
||||
// Schema browser
|
||||
$lang['the_following_objectclasses']='此LDAP伺服器支援下列objectClasses';
|
||||
$lang['the_following_attributes']='此LDAP伺服器支援下列屬性';
|
||||
$lang['the_following_matching']='此LDAP伺服器支援下列搜尋規則';
|
||||
$lang['the_following_syntaxes']='此LDAP伺服器支援下列語法';
|
||||
$lang['schema_retrieve_error_1']='此伺服器並未完全支援LDAP協定';
|
||||
$lang['schema_retrieve_error_2']='您的php版本並未正確執行此查詢';
|
||||
$lang['schema_retrieve_error_3']='或是phpLDAPadmin不知道如何從您的伺服器擷取schema';
|
||||
$lang['jump_to_objectclass']='選擇objectClass';
|
||||
$lang['jump_to_attr']='選擇屬性';
|
||||
$lang['jump_to_matching_rule']='選擇配對規則';
|
||||
$lang['schema_for_server']='伺服器的schema';
|
||||
$lang['required_attrs']='必要屬性';
|
||||
$lang['optional_attrs']='選擇性屬性';
|
||||
$lang['optional_binary_attrs']='選擇性二進位屬性';
|
||||
$lang['OID']='OID';
|
||||
$lang['aliases']='別名';
|
||||
$lang['desc']='說明';
|
||||
$lang['no_description']='沒有說明';
|
||||
$lang['name']='名稱';
|
||||
$lang['equality']='相同';
|
||||
$lang['is_obsolete']='這個 objectClass 是必須得.';
|
||||
$lang['inherits']='繼承';
|
||||
$lang['inherited_from']='已繼承於';
|
||||
$lang['jump_to_this_oclass']='選擇此objectClass定義';
|
||||
$lang['matching_rule_oid']='OID配對規則';
|
||||
$lang['syntax_oid']='OID語法';
|
||||
$lang['not_applicable']='未應用的';
|
||||
$lang['not_specified']='未指定的';
|
||||
$lang['character']='字元';
|
||||
$lang['characters']='字元集';
|
||||
$lang['used_by_objectclasses']='已被 objectClasses 使用';
|
||||
$lang['used_by_attributes']='已被屬性使用';
|
||||
$lang['maximum_length']='最大長度';
|
||||
$lang['attributes']='屬性型態';
|
||||
$lang['syntaxes']='語法';
|
||||
$lang['matchingrules']='配對規則';
|
||||
$lang['oid']='OID';
|
||||
$lang['obsolete']='必要';
|
||||
$lang['ordering']='排序中';
|
||||
$lang['substring_rule']='子字串規則';
|
||||
$lang['single_valued']='單一值';
|
||||
$lang['collective']='集合';
|
||||
$lang['user_modification']='使用者修改';
|
||||
$lang['usage']='使用量';
|
||||
$lang['could_not_retrieve_schema_from']='無法恢復 Schema 於';
|
||||
$lang['type']='類型';
|
||||
|
||||
// Deleting entries
|
||||
$lang['entry_deleted_successfully']='資料 %s 成功的刪除';
|
||||
$lang['you_must_specify_a_dn']='您必須指定一個識別名稱';
|
||||
$lang['could_not_delete_entry']='無法刪除記錄 %s';
|
||||
$lang['no_such_entry']='無此記錄 %s';
|
||||
$lang['delete_dn']='刪除 %s';
|
||||
$lang['permanently_delete_children']='永久刪除所有子資料?';
|
||||
$lang['entry_is_root_sub_tree']='此資料';
|
||||
$lang['view_entries']='查閱資料';
|
||||
$lang['confirm_recursive_delete']='phpLDAPadmin可以幫您刪除此資料與所有 %s 子資料.下列資料將會被刪除,您確定要刪除?';
|
||||
$lang['confirm_recursive_delete_note']='請注意:這項功能無法還原,且可能是非常危險的,且可能因此而造成問題';
|
||||
$lang['delete_all_x_objects']='刪除所有 %s 物件';
|
||||
$lang['recursive_delete_progress']='遞迴刪除進度';
|
||||
$lang['entry_and_sub_tree_deleted_successfully']='成功刪除資料 %s 與子資料';
|
||||
$lang['failed_to_delete_entry']='無法刪除資料 %s';
|
||||
$lang['list_of_entries_to_be_deleted']='下列資料將被刪除:';
|
||||
$lang['sure_permanent_delete_object']='您確定要永久刪除此物件?';
|
||||
$lang['dn']='識別名稱';
|
||||
|
||||
// Deleting attributes
|
||||
$lang['attr_is_read_only']='屬性 \"%s\" 在phpLDAPadmin中被設定成唯讀';
|
||||
$lang['no_attr_specified']='請指定屬性名稱';
|
||||
$lang['no_dn_specified']='請指定識別名稱';
|
||||
|
||||
// Adding attributes
|
||||
$lang['left_attr_blank']='您沒有輸入屬性數值,請重新輸入';
|
||||
$lang['failed_to_add_attr']='無法新增此屬性';
|
||||
|
||||
// Updating values
|
||||
$lang['modification_successful']='修改成功';
|
||||
$lang['change_password_new_login']='您的密碼已更新,請登出並以新密碼重新登入';
|
||||
|
||||
// Adding objectClass form
|
||||
$lang['new_required_attrs']='新必須屬性';
|
||||
$lang['requires_to_add']='執行此項操作前您必須先加入';
|
||||
$lang['new_attributes']='新屬性';
|
||||
$lang['new_required_attrs_instructions']='作法:在新增objectClass之前,您必須指定';
|
||||
$lang['that_this_oclass_requires']='此objectClass為必須,您可以在此表單中指定';
|
||||
$lang['add_oclass_and_attrs']='新增ObjectClass與屬性';
|
||||
$lang['objectclasses']='ObjectClasses';
|
||||
|
||||
// General
|
||||
$lang['chooser_link_tooltip']='點選此處即可以圖形介面選擇資料(識別名稱)';
|
||||
$lang['no_updates_in_read_only_mode']='伺服器為唯讀模式,無法更新資料';
|
||||
$lang['bad_server_id']='錯誤的 server id';
|
||||
$lang['not_enough_login_info']='沒有足夠的資訊以進行登入伺服器,請檢查您的設定值';
|
||||
$lang['could_not_connect']='無法連接LDAP伺服器';
|
||||
$lang['could_not_connect_to_host_on_port']='無法透過port \"%s\" 連接到 \"%s\" ';
|
||||
$lang['could_not_perform_ldap_mod_add']='無法執行ldap_mod_add操作';
|
||||
$lang['bad_server_id_underline']='錯誤的 server_id:';
|
||||
$lang['success']='成功';
|
||||
$lang['server_colon_pare']='伺服器:';
|
||||
$lang['look_in']='登入:';
|
||||
$lang['missing_server_id_in_query_string']='查詢字串中並未指定server ID';
|
||||
$lang['missing_dn_in_query_string']='查詢字串中並未指定識別名稱';
|
||||
$lang['back_up_p']='備份...';
|
||||
$lang['no_entries']='沒有任何紀錄';
|
||||
$lang['not_logged_in']='尚未登入';
|
||||
$lang['could_not_det_base_dn']='無法確定 Base DN';
|
||||
$lang['please_report_this_as_a_bug']='請回報這個問題至 Bug 系統';
|
||||
$lang['reasons_for_error']='此問題可能有好幾個原因,最有可能的是:';
|
||||
$lang['yes']='確定';
|
||||
$lang['no']='否';
|
||||
$lang['go']='衝!!';
|
||||
$lang['delete']='刪除';
|
||||
$lang['back']='返回';
|
||||
$lang['object']='物件';
|
||||
$lang['delete_all']='刪除全部';
|
||||
$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546';
|
||||
$lang['hint']='提示';
|
||||
$lang['bug']='臭蟲';
|
||||
$lang['warning']='警告';
|
||||
$lang['light']='light';
|
||||
$lang['proceed_gt']='下一步 >>';
|
||||
|
||||
// Add value form
|
||||
$lang['add_new']='新增';
|
||||
$lang['value_to']='數值至';
|
||||
$lang['distinguished_name']='識別名稱';
|
||||
$lang['current_list_of']='此屬性有';
|
||||
$lang['values_for_attribute']='下列數值:';
|
||||
$lang['inappropriate_matching_note']='請注意:若您的LDAP伺服器中並未設定等式規則,您將會遇到\"無適合的比對\"錯誤';
|
||||
$lang['enter_value_to_add']='請輸入您要加入的數值';
|
||||
$lang['new_required_attrs_note']='請注意:由於此objectClass定義的';
|
||||
$lang['syntax']='語法,您必須輸入新屬性';
|
||||
|
||||
//copy.php
|
||||
$lang['copy_server_read_only']='無法在伺服器為唯讀模式時更新資料';
|
||||
$lang['copy_dest_dn_blank']='目的地識別名稱不能是空白';
|
||||
$lang['copy_dest_already_exists']='目的地識別名稱 (%s) 已經存在';
|
||||
$lang['copy_dest_container_does_not_exist']='目的地集合 (%s) 不存在';
|
||||
$lang['copy_source_dest_dn_same']='來源識別名稱與目的地識別名稱重複';
|
||||
$lang['copy_copying']='複製中';
|
||||
$lang['copy_recursive_copy_progress']='遞迴複製作業';
|
||||
$lang['copy_building_snapshot']='對資料樹建立副本來複製';
|
||||
$lang['copy_successful_like_to']='複製成功!!您要';
|
||||
$lang['copy_view_new_entry']='查閱此新紀錄?';
|
||||
$lang['copy_failed']='以下 DN 複製失敗:';
|
||||
|
||||
//edit.php
|
||||
$lang['missing_template_file']='警告:找不到樣版檔案';
|
||||
$lang['using_default']='使用預設值';
|
||||
$lang['template']='樣版';
|
||||
$lang['must_choose_template']='你必須選擇一個樣版';
|
||||
$lang['invalid_template']='%s 是錯誤的樣版';
|
||||
$lang['using_template']='使用樣版';
|
||||
$lang['go_to_dn']='到 %s';
|
||||
|
||||
//copy_form.php
|
||||
$lang['copyf_title_copy']='複製';
|
||||
$lang['copyf_to_new_object']='成新物件';
|
||||
$lang['copyf_dest_dn']='目的地識別名稱';
|
||||
$lang['copyf_dest_dn_tooltip']='來源資料複製後的完整識別名稱';
|
||||
$lang['copyf_dest_server']='目的伺服器';
|
||||
$lang['copyf_note']='提示:只有當不同的伺服器間的schema相容才能在不同的伺服器之間進行複製';
|
||||
$lang['copyf_recursive_copy']='遞迴複製所有此物件的子資料';
|
||||
$lang['recursive_copy']='遞迴複製';
|
||||
$lang['filter']='過濾條件';
|
||||
$lang['filter_tooltip']='只有符合過濾條件的資料會被遞迴複製';
|
||||
|
||||
//create.php
|
||||
$lang['create_required_attribute']='必要的屬性 (%s) 必須有資料';
|
||||
$lang['redirecting']='正在轉換至...';
|
||||
$lang['here']='這裡';
|
||||
$lang['create_could_not_add']='不能新增物件到此LDAP伺服器';
|
||||
|
||||
//create_form.php
|
||||
$lang['createf_create_object']='創造物件';
|
||||
$lang['createf_choose_temp']='選擇樣版';
|
||||
$lang['createf_select_temp']='請選擇一個你要建立的紀錄模板';
|
||||
$lang['createf_proceed']='下一步';
|
||||
$lang['rdn_field_blank']='相對識別名稱欄位不能是空白';
|
||||
$lang['container_does_not_exist']='您指定的集合 (%s) 不存在,請重新指定';
|
||||
$lang['no_objectclasses_selected']='您必須為此物件指定ObjectClasses';
|
||||
$lang['hint_structural_oclass']='提示:您必須在伺服器上至少';
|
||||
|
||||
//creation_template.php
|
||||
$lang['ctemplate_on_server']='選擇一個objectClass';
|
||||
$lang['ctemplate_no_template']='在POST變數中並未指定模版';
|
||||
$lang['ctemplate_config_handler']='您的設定指定了由某個程式來執行此模版';
|
||||
$lang['ctemplate_handler_does_not_exist']='但此程式在 templates/creation 目錄中找不到';
|
||||
$lang['create_step1']='步驟 1 之 2:名稱與ObjectClass(es)';
|
||||
$lang['create_step2']='步驟 2 之 2:指定屬性與數值';
|
||||
$lang['relative_distinguished_name']='相對識別名稱';
|
||||
$lang['rdn']='相對識別名稱';
|
||||
$lang['rdn_example']='(範例: cn=MyNewPerson)(範例: cn=MyNewPerson)';
|
||||
$lang['container']='集合';
|
||||
|
||||
// search.php
|
||||
$lang['you_have_not_logged_into_server']='您必須先登入伺服器才能在伺服器執行搜尋';
|
||||
$lang['click_to_go_to_login_form']='點選這邊回去登入表單';
|
||||
$lang['unrecognized_criteria_option']='無法辨識的基準';
|
||||
$lang['if_you_want_to_add_criteria']='如果您要加入自己的基準到項目列表中,請編輯search.php';
|
||||
$lang['entries_found']='找到的紀錄:';
|
||||
$lang['filter_performed']='執行過濾條件';
|
||||
$lang['search_duration']='phpLDAPadmin將會';
|
||||
$lang['seconds']='馬上執行查詢';
|
||||
|
||||
// search_form_advanced.php
|
||||
$lang['scope_in_which_to_search']='搜尋範圍';
|
||||
$lang['scope_sub']='Sub (整個子樹)';
|
||||
$lang['scope_one']='One (單一階層下)';
|
||||
$lang['scope_base']='Base (只有基礎識別名稱)';
|
||||
$lang['standard_ldap_search_filter']='標準的LDAP搜尋條件. 如: (&(sn=Smith)(givenname=David))';
|
||||
$lang['search_filter']='過濾搜尋';
|
||||
$lang['list_of_attrs_to_display_in_results']='下列為搜尋結果(以 , 區隔)';
|
||||
$lang['equals']='等於';
|
||||
$lang['starts with']='開始於';
|
||||
$lang['contains']='內含';
|
||||
$lang['ends with']='結束於';
|
||||
$lang['sounds like']='喜愛的聲音';
|
||||
|
||||
// server_info.php
|
||||
$lang['could_not_fetch_server_info']='無法從伺服器取得 LDAP 資訊';
|
||||
$lang['server_info_for']='伺服器資訊:';
|
||||
$lang['server_reports_following']='伺服器回報下列資訊:';
|
||||
$lang['nothing_to_report']='此伺服器沒有資訊可以回報';
|
||||
|
||||
//update.php
|
||||
$lang['update_array_malformed']='無法更新陣列,可能是phpLDAPadmin的bug,請回報此問題';
|
||||
$lang['could_not_perform_ldap_modify']='無法執行ldap_modify操作';
|
||||
|
||||
// update_confirm.php
|
||||
$lang['do_you_want_to_make_these_changes']='您確定要做這些更動?';
|
||||
$lang['attribute']='屬性';
|
||||
$lang['old_value']='原設定值';
|
||||
$lang['new_value']='新設定植';
|
||||
$lang['attr_deleted']='[屬性已刪除]';
|
||||
$lang['commit']='送出';
|
||||
$lang['cancel']='取消';
|
||||
$lang['you_made_no_changes']='您並沒有做任何更動';
|
||||
$lang['go_back']='回上頁';
|
||||
|
||||
// welcome.php
|
||||
$lang['welcome_note']='請用左邊的選單瀏覽';
|
||||
$lang['credits']='成員列表';
|
||||
$lang['changelog']='更新紀錄';
|
||||
$lang['donate']='捐獻';
|
||||
|
||||
// view_jpeg_photo.php
|
||||
$lang['unsafe_file_name']='不安全的檔案名稱:';
|
||||
$lang['no_such_file']='沒有以下檔案:';
|
||||
|
||||
//function.php
|
||||
$lang['auto_update_not_setup']='您在設定中開啟 <b>%s</b>的auto_uid_numbers功能,但並未指定auto_uid_number_mechanism,請修正此問題';
|
||||
$lang['uidpool_not_set']='伺服器<b>%s</b>的auto_uid_number_mechanism指定為uidpool,但並未指定audo_uid_number_uid_pool_dn,請修正此問題再繼續';
|
||||
$lang['uidpool_not_exist']='您再設定檔(\"%s\")中指定的uidPool機制並不存在';
|
||||
$lang['specified_uidpool']='伺服器<b>%s</b>的auto_uid_number_mechanism指定為search,但您並未指定auto_uid_number_search_base,請修正此問題再繼續';
|
||||
$lang['auto_uid_invalid_credential']='無法以您的auto_uid設定登入<b>%s</b>,請檢查您的設定檔';
|
||||
$lang['bad_auto_uid_search_base']='您在phpLDAPadmin設定中對伺服器%s指定了無效的auto_uid_search_base';
|
||||
$lang['auto_uid_invalid_value']='您的auto_uid_number_mechanism (\"%s\") 設定是無效的,只有uidpool與search為有效設定,請修正此問題';
|
||||
$lang['error_auth_type_config']='錯誤:您的設定有錯誤,變數auth_type只允許session , cookie與config,您的設定值 ';
|
||||
$lang['php_install_not_supports_tls']='您安裝的 php 並沒有支援 TLS.';
|
||||
$lang['could_not_start_tls']='無法啟動 TLS 請檢查您的 LDAP 伺服器設定.';
|
||||
$lang['could_not_bind_anon']='伺服器不接受匿名登入';
|
||||
$lang['anonymous_bind']='匿名登入';
|
||||
$lang['bad_user_name_or_password']='錯誤的 使用者名稱 或 密碼.請重新輸入一次.';
|
||||
$lang['redirecting_click_if_nothing_happens']='正在重新導向...如果瀏覽器沒有動作,請點選這裡.';
|
||||
$lang['successfully_logged_in_to_server']='成功登入伺服器 %s';
|
||||
$lang['could_not_set_cookie']='不能設定 cookie';
|
||||
$lang['ldap_said']='伺服器回應: %s';
|
||||
$lang['ferror_error']='錯誤';
|
||||
$lang['fbrowse']='瀏覽';
|
||||
$lang['delete_photo']='刪除相片';
|
||||
$lang['install_not_support_blowfish']='您所安裝的 PHP 並不支援 Blowfish 加密';
|
||||
$lang['install_no_mash']='您所安裝的 PHP 並沒有 mhash() 函數,無法進行 SHA 加密';
|
||||
$lang['jpeg_contains_errors']='jpegPhoto 內容發生錯誤<br />';
|
||||
$lang['ferror_number']='錯誤碼: %s (%s)';
|
||||
$lang['ferror_discription']='說明: %s <br /><br />';
|
||||
$lang['ferror_number_short']='錯誤編號: %s';
|
||||
$lang['ferror_discription_short']='說明: (無任何說明內容)<br />';
|
||||
$lang['ferror_submit_bug']='這是 phpLDAPadmin 的 bug? 如果是,請<a href=\"%s\">回報這個Bug</a>.';
|
||||
$lang['ferror_unrecognized_num']='無法辨識的錯誤代碼:';
|
||||
$lang['ferror_nonfatil_bug']='<center><table class=\"notice\"><tr><td colspan=\"2\"><center><img src=\"images/warning.png\" height=\"12\" width=\"13\" />
|
||||
<b>You found a non-fatal phpLDAPadmin bug!</b></td></tr><tr><td>Error:</td><td><b>%s</b> (<b>%s</b>)</td></tr><tr><td>File:</td>
|
||||
<td><b>%s</b> line <b>%s</b>, caller <b>%s</b></td></tr><tr><td>Versions:</td><td>PLA: <b>%s</b>, PHP: <b>%s</b>, SAPI: <b>%s</b>
|
||||
</td></tr><tr><td>Web server:</td><td><b>%s</b></td></tr><tr><td colspan=\"2\"><center><a target=\"new\" href=\"%s\">
|
||||
Please report this bug by clicking here</a>.</center></td></tr></table></center><br />';
|
||||
$lang['ferror_congrats_found_bug']='恭喜! 您發現了phpLDAPadmin的bug.<br /><br /> <table class=\"bug\">
|
||||
<tr><td>Error:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Level:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>File:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Line:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Caller:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PLA Version:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PHP Version:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>PHP SAPI:</td><td><b>%s</b></td></tr>
|
||||
<tr><td>Web server:</td><td><b>%s</b></td></tr>
|
||||
</table>
|
||||
<br />
|
||||
Please report this bug by clicking below!';
|
||||
|
||||
//ldif_import_form
|
||||
$lang['import_ldif_file_title']='匯入 LDIF 檔案';
|
||||
$lang['select_ldif_file']='選擇一個 LDIF 檔案:';
|
||||
$lang['select_ldif_file_proceed']='下一步';
|
||||
|
||||
//ldif_import
|
||||
$lang['add_action']='增加中...';
|
||||
$lang['delete_action']='刪除中...';
|
||||
$lang['rename_action']='更名中...';
|
||||
$lang['modify_action']='改變中...';
|
||||
$lang['warning_no_ldif_version_found']='找不到版本資訊,預設使用版本1';
|
||||
$lang['valid_dn_line_required']='需要有效的識別名稱行';
|
||||
$lang['missing_uploaded_file']='找不到指定的上傳檔案';
|
||||
$lang['no_ldif_file_specified.']='沒有指定LDIF檔案請重試';
|
||||
$lang['ldif_file_empty']='上傳的 LDIF 檔案是空白的';
|
||||
$lang['file']='檔案';
|
||||
$lang['number_bytes']='%s bytes';
|
||||
$lang['failed']='失敗';
|
||||
$lang['ldif_parse_error']='LDIF 解析錯誤';
|
||||
$lang['ldif_could_not_add_object']='無法新增 object:';
|
||||
$lang['ldif_could_not_rename_object']='無法重新命名 object:';
|
||||
$lang['ldif_could_not_delete_object']='無法刪除 object:';
|
||||
$lang['ldif_could_not_modify_object']='無法修改 object:';
|
||||
$lang['ldif_line_number']='行數:';
|
||||
$lang['ldif_line']='行:';
|
||||
|
||||
// Exports
|
||||
$lang['export_format']='匯出格式';
|
||||
$lang['line_ends']='斷行';
|
||||
$lang['must_choose_export_format']='你必須選擇一種匯出格式';
|
||||
$lang['invalid_export_format']='無效的匯出格式';
|
||||
$lang['no_exporter_found']='沒有可用的匯出程式';
|
||||
$lang['error_performing_search']='在執行搜尋時發生錯誤';
|
||||
$lang['showing_results_x_through_y']='透過 %s 顯示結果 %s';
|
||||
$lang['searching']='搜索中...';
|
||||
$lang['size_limit_exceeded']='注意:到達搜尋大小上限';
|
||||
$lang['entry']='紀錄';
|
||||
$lang['ldif_export_for_dn']='匯出 LDIF :';
|
||||
$lang['generated_on_date']='由';
|
||||
$lang['total_entries']='全部的紀錄';
|
||||
$lang['dsml_export_for_dn']='匯出 DSLM :';
|
||||
|
||||
// logins
|
||||
$lang['could_not_find_user']='找不到使用者 \"%s\"';
|
||||
$lang['password_blank']='您沒有輸入密碼欄位.';
|
||||
$lang['login_cancelled']='已經取消登入.';
|
||||
$lang['no_one_logged_in']='在此伺服器尚無人登入.';
|
||||
$lang['could_not_logout']='無法登出.';
|
||||
$lang['unknown_auth_type']='未知的認證模式: %s';
|
||||
$lang['logged_out_successfully']='成功的從 %s 伺服器登出';
|
||||
$lang['authenticate_to_server']='登入伺服器 %s';
|
||||
$lang['warning_this_web_connection_is_unencrypted']='警告: 這個網頁連線是沒有加密的.';
|
||||
$lang['not_using_https']='您並未使用https加密連線,您的瀏覽器將直接以明碼傳送您的帳號與密碼';
|
||||
$lang['login_dn']='登入 DN';
|
||||
$lang['user_name']='使用者名稱';
|
||||
$lang['password']='密碼';
|
||||
$lang['authenticate']='驗證';
|
||||
|
||||
// Entry browser
|
||||
$lang['entry_chooser_title']='紀錄選擇器';
|
||||
|
||||
// Index page
|
||||
$lang['need_to_configure']='您必須先設定phpLDAPadmin,請依照config.php.example編輯config.php';
|
||||
|
||||
// Mass deletes
|
||||
$lang['no_deletes_in_read_only']='在唯讀模式時不允許刪除資料';
|
||||
$lang['error_calling_mass_delete']='呼叫mass_delete.php時發生錯誤,mass_delete不在POST變數中';
|
||||
$lang['mass_delete_not_array']='mass_delete POST變數不是陣列';
|
||||
$lang['mass_delete_not_enabled']='大量刪除功能並未開啟,請在config.php中開啟此功能';
|
||||
$lang['mass_deleting']='大量刪除';
|
||||
$lang['mass_delete_progress']='正在 \"%s\" 伺服器上進行刪除程序';
|
||||
$lang['malformed_mass_delete_array']='錯誤的大量刪除陣列';
|
||||
$lang['no_entries_to_delete']='您沒有選擇任何要刪除的紀錄';
|
||||
$lang['deleting_dn']='刪除 %s';
|
||||
$lang['total_entries_failed']='無法刪除紀錄 %s %s';
|
||||
$lang['all_entries_successful']='全部刪除完成';
|
||||
$lang['confirm_mass_delete']='確認要刪除 %s 登入在伺服器 %s上';
|
||||
$lang['yes_delete']='沒錯,刪除吧!';
|
||||
|
||||
// Renaming entries
|
||||
$lang['non_leaf_nodes_cannot_be_renamed']='當此記錄有子紀錄時無法重新命名';
|
||||
$lang['no_rdn_change']='您並沒有改變相對識別名稱';
|
||||
$lang['invalid_rdn']='無效的相對識別名稱';
|
||||
$lang['could_not_rename']='無法重新命名';
|
||||
|
||||
?>
|
180
ldap_supported_oids.txt
Normal file
180
ldap_supported_oids.txt
Normal file
@ -0,0 +1,180 @@
|
||||
# $Header: /cvsroot/phpldapadmin/phpldapadmin/ldap_supported_oids.txt,v 1.1 2005/03/07 20:24:42 wurley Exp $
|
||||
|
||||
# If you find some reliable and more meaningful descriptions to this OIDS,
|
||||
# then please let the phpldapadmin development know so that this file can be
|
||||
# more descriptive.
|
||||
|
||||
1.2.826.0.1.334810.2.3 "LDAP_CONTROL_VALUESRETURNFILTER"
|
||||
1.2.826.0.1.3344810.2.3 "Matched Values Control. RFC 3876 control"
|
||||
1.2.826.0.1050.11.1.1 "Read-Only LDAP Server"
|
||||
1.2.826.0.1050.11.2.1 "Read-Write LDAP Server"
|
||||
1.2.826.0.1050.11.3.1 "White Pages Application LDAP Server"
|
||||
1.2.826.0.1050.11.4.1 "Certificate Application LDAP Server"
|
||||
1.2.826.0.1050.11.5.1 "Single Sign On Application LDAP Server"
|
||||
1.2.840.113549.6.0.0 "Signed Operation"
|
||||
1.2.840.113549.6.0.1 "Demand Signed Result"
|
||||
1.2.840.113549.6.0.2 "Signed Result RFC 2649"
|
||||
1.2.840.113556.1.4.319 "Pages Results RFC 2696"
|
||||
1.2.840.113556.1.4.417 "Show deleted control (Stateless)"
|
||||
1.2.840.113556.1.4.473 "LDAP Server Sort Result extesion"
|
||||
1.2.840.113556.1.4.474 "LDAP Server Sort Result extension response control"
|
||||
1.2.840.113556.1.4.521 "Cross-domain move control (Stateless)"
|
||||
1.2.840.113556.1.4.528 "Server search notification control (Forbidden)"
|
||||
1.2.840.113556.1.4.529 "Extended DN control (Stateless)"
|
||||
1.2.840.113556.1.4.616 "LDAP_CONTROL_REFERRALS"
|
||||
1.2.840.113556.1.4.619 "Lazy commit control (Stateless)"
|
||||
1.2.840.113556.1.4.800 "LDAP_CAP_ACTIVE_DIRECTORY_OID"
|
||||
1.2.840.113556.1.4.801 "Security descriptor flags control (Stateless)"
|
||||
1.2.840.113556.1.4.802 "Attribute Range Option"
|
||||
1.2.840.113556.1.4.803 "LDAP_MATCHING_RULE_BIT_AND"
|
||||
1.2.840.113556.1.4.804 "LDAP_MATCHING_RULE_BIT_OR"
|
||||
1.2.840.113556.1.4.805 "Tree Delete"
|
||||
1.2.840.113556.1.4.841 "Directory synchronization control (Stateless)"
|
||||
1.2.840.113556.1.4.906 "Microsoft Large Integer"
|
||||
1.2.840.113556.1.4.970 "Get stats control (Stateless)"
|
||||
1.2.840.113556.1.4.1302 "Microsoft OID used with DEN Attributes"
|
||||
1.2.840.113556.1.4.1338 "Verify name control (Stateless)"
|
||||
1.2.840.113556.1.4.1339 "Domain scope control (Stateless)"
|
||||
1.2.840.113556.1.4.1340 "Search options control (Stateless)"
|
||||
1.2.840.113556.1.4.1413 "LDAP ease modify restrictions"
|
||||
1.2.840.113556.1.4.1504 "Attribute scoped query control (Stateless)"
|
||||
1.2.840.113556.1.4.1670 "LDAP_CAP_ACTIVE_DIRECTORY_V51_OID"
|
||||
1.2.840.113556.1.4.1781 "Fast concurrent bind extended operation (Forbidden)"
|
||||
1.2.840.113556.1.4.1791 "LDAP_CAP_ACTIVE_DIRECTORY_LDAP_INTEG_OID"
|
||||
1.2.840.113556.1.4.1852 "LDAP_SERVER_QUOTA_CONTROL_OID"
|
||||
1.3.6.1.1.7.1 "LCUP Sync Request Control. RFC 3928 control"
|
||||
1.3.6.1.1.7.2 "LCUP Sync Update Control. RFC 3928 control"
|
||||
1.3.6.1.1.7.3 "LCUP Sync Done Control. RFC 3928 control"
|
||||
1.3.6.1.1.8 "Cancel Operation. RFC 3909 extension"
|
||||
1.3.6.1.4.1.42.2.27.8.5.1 "passwordPolicyRequest"
|
||||
1.3.6.1.4.1.1466.101.119.1 "Dynamic Directory Services Refresh Request RFC2589"
|
||||
1.3.6.1.4.1.1466.20036 "LDAP_NOTICE_OF_DISCONNECTION"
|
||||
1.3.6.1.4.1.1466.20037 "Start TLS extended operation RFC2830"
|
||||
1.3.6.1.4.1.1466.29539.1 "LDAP_CONTROL_ATTR_SIZELIMIT"
|
||||
1.3.6.1.4.1.1466.29539.2 "LDAP_CONTROL_NO_COPY"
|
||||
1.3.6.1.4.1.1466.29539.3 "LDAP_CONTROL_PARTIAL_COPY"
|
||||
1.3.6.1.4.1.1466.29539.5 "LDAP_CONTROL_NO_CHAINING"
|
||||
1.3.6.1.4.1.1466.29539.7 "LDAP_CONTROL_ALIAS_ON_UPDATE"
|
||||
1.3.6.1.4.1.1466.29539.10 "LDAP_CONTROL_TRIGGER"
|
||||
1.3.6.1.4.1.1466.29539.12 "nsTransmittedControl"
|
||||
1.3.6.1.4.1.4203.1.5.1 "All Operational Attribute RFC 3673"
|
||||
1.3.6.1.4.1.4203.1.5.2 "Return of all attributes of an object class"
|
||||
1.3.6.1.4.1.4203.1.5.3 "Supports absolute True (&) and False (|) filters"
|
||||
1.3.6.1.4.1.4203.1.5.4 "Server supports storing attributes with language tag options in the DIT"
|
||||
1.3.6.1.4.1.4203.1.5.5 "Server supports language range matching of attributes with language tag options stored in the DIT"
|
||||
1.3.6.1.4.1.4203.1.10.1 "Subentries. RFC 3672 control"
|
||||
1.3.6.1.4.1.4203.1.10.2 "LDAP_CONTROL_NOOP"
|
||||
1.3.6.1.4.1.4203.1.11.1 "Modify Password. RFC 3062 extension"
|
||||
1.3.6.1.4.1.4203.1.11.2 "LDAP Cancel Extended Operation"
|
||||
1.3.6.1.4.1.4203.1.11.3 "Who Am I? Extended Operation"
|
||||
1.3.6.1.4.1.4203.666.5.1 "Subentries Control"
|
||||
1.3.6.1.4.1.4203.666.5.2 "NO OP Control"
|
||||
1.3.18.0.2.12.1 "The ACL credential controls provide a method to flow a subject's credentials associated with a bind."
|
||||
1.3.18.0.2.12.5 "tranExtOpInit"
|
||||
1.3.18.0.2.12.6 "tranExtOpInit"
|
||||
2.16.840.1.113531.18.2.1 "LDAP_C_SETOPTIONS_OID"
|
||||
2.16.840.1.113531.18.2.2 "LDAP_C_SETDONTUSECOPY_OID"
|
||||
2.16.840.1.113531.18.2.3 "LDAP_C_SETLOCALSCOPE_OID"
|
||||
2.16.840.1.113531.18.2.4 "Return operational attributes as well as user attributes"
|
||||
2.16.840.1.113531.18.2.5 "Return only subentries"
|
||||
2.16.840.1.113531.18.2.6 "LDAP_C_SETUSEALIAS_OID"
|
||||
2.16.840.1.113531.18.2.7 "LDAP_C_SETPREFERCHAIN_OID"
|
||||
2.16.840.1.113531.18.2.8 "LDAP_C_SETX500DN_OID"
|
||||
2.16.840.1.113531.18.2.9 "LDAP_C_SETCOPYSHALLDO_OID"
|
||||
2.16.840.1.113531.18.2.10 "LDAP_C_SETDONTMAPATTRS_OID"
|
||||
2.16.840.1.113531.18.2.11 "Return normal entries as well as sub-entries"
|
||||
2.16.840.1.113719.1.27.99.1 "Superior References"
|
||||
2.16.840.1.113719.1.27.100.1 "ndsToLdapResponse"
|
||||
2.16.840.1.113719.1.27.100.2 "ndsToLdapRequest"
|
||||
2.16.840.1.113719.1.27.100.3 "createNamingContextRequest"
|
||||
2.16.840.1.113719.1.27.100.4 "createNamingContextResponse"
|
||||
2.16.840.1.113719.1.27.100.5 "mergeNamingContextRequest"
|
||||
2.16.840.1.113719.1.27.100.6 "mergeNamingContextResponse"
|
||||
2.16.840.1.113719.1.27.100.7 "addReplicaRequest"
|
||||
2.16.840.1.113719.1.27.100.8 "addReplicaResponse"
|
||||
2.16.840.1.113719.1.27.100.9 "refreshLDAPServerRequest"
|
||||
2.16.840.1.113719.1.27.100.10 "refreshLDAPServerResponse"
|
||||
2.16.840.1.113719.1.27.100.11 "removeReplicaRequest"
|
||||
2.16.840.1.113719.1.27.100.12 "removeReplicaResponse"
|
||||
2.16.840.1.113719.1.27.100.13 "namingContextEntryCountRequest"
|
||||
2.16.840.1.113719.1.27.100.14 "namingContextEntryCountResponse"
|
||||
2.16.840.1.113719.1.27.100.15 "changeReplicaTypeRequest"
|
||||
2.16.840.1.113719.1.27.100.16 "changeReplicaTypeResponse"
|
||||
2.16.840.1.113719.1.27.100.17 "getReplicaInfoRequest"
|
||||
2.16.840.1.113719.1.27.100.18 "getReplicaInfoResponse"
|
||||
2.16.840.1.113719.1.27.100.19 "listReplicaRequest"
|
||||
2.16.840.1.113719.1.27.100.20 "listReplicaResponse"
|
||||
2.16.840.1.113719.1.27.100.21 "receiveAllUpdatesRequest"
|
||||
2.16.840.1.113719.1.27.100.22 "receiveAllUpdatesResponse"
|
||||
2.16.840.1.113719.1.27.100.23 "sendAllUpdatesRequest"
|
||||
2.16.840.1.113719.1.27.100.24 "sendAllUpdatesResponse"
|
||||
2.16.840.1.113719.1.27.100.25 "requestNamingContextSyncRequest"
|
||||
2.16.840.1.113719.1.27.100.26 "requestNamingContextSyncResponse"
|
||||
2.16.840.1.113719.1.27.100.27 "requestSchemaSyncRequest"
|
||||
2.16.840.1.113719.1.27.100.28 "requestSchemaSyncResponse"
|
||||
2.16.840.1.113719.1.27.100.29 "abortNamingContextOperationRequest"
|
||||
2.16.840.1.113719.1.27.100.30 "abortNamingContextOperationResponse"
|
||||
2.16.840.1.113719.1.27.100.31 "Get Bind DN Request"
|
||||
2.16.840.1.113719.1.27.100.32 "Get Bind DN Response"
|
||||
2.16.840.1.113719.1.27.100.33 "Get Effective Privileges Request"
|
||||
2.16.840.1.113719.1.27.100.34 "Get Effective Privileges Response"
|
||||
2.16.840.1.113719.1.27.100.35 "Set Replication Filter Request"
|
||||
2.16.840.1.113719.1.27.100.36 "Set Replication Filter Response"
|
||||
2.16.840.1.113719.1.27.100.37 "Get Replication Filter Request"
|
||||
2.16.840.1.113719.1.27.100.38 "Get Replication Filter Response"
|
||||
2.16.840.1.113719.1.27.100.39 "Create Orphan Partition Request"
|
||||
2.16.840.1.113719.1.27.100.40 "Create Orphan Partition Response"
|
||||
2.16.840.1.113719.1.27.100.41 "Remove Orphan Partition Request"
|
||||
2.16.840.1.113719.1.27.100.42 "Remove Orphan Partition Response"
|
||||
2.16.840.1.113719.1.27.100.43 "Trigger Backlinker Request"
|
||||
2.16.840.1.113719.1.27.100.44 "Trigger Backlinker Response"
|
||||
2.16.840.1.113719.1.27.100.47 "Trigger Janitor Request"
|
||||
2.16.840.1.113719.1.27.100.48 "Trigger Janitor Response"
|
||||
2.16.840.1.113719.1.27.100.49 "Trigger Limber Request"
|
||||
2.16.840.1.113719.1.27.100.50 "Trigger Limber Response"
|
||||
2.16.840.1.113719.1.27.100.51 "Trigger Skulker Request"
|
||||
2.16.840.1.113719.1.27.100.52 "Trigger Skulker Response"
|
||||
2.16.840.1.113719.1.27.100.53 "Trigger Schema Synch Request"
|
||||
2.16.840.1.113719.1.27.100.54 "Trigger Schema Synch Response"
|
||||
2.16.840.1.113719.1.27.100.55 "Trigger Partition Purge Request"
|
||||
2.16.840.1.113719.1.27.100.56 "Trigger Partition Purge Response"
|
||||
2.16.840.1.113719.1.27.100.79 "Monitor Events Request"
|
||||
2.16.840.1.113719.1.27.100.80 "Monitor Events Response"
|
||||
2.16.840.1.113719.1.27.100.81 "Event Notification"
|
||||
2.16.840.1.113719.1.27.101.1 "Duplicate Entry Request"
|
||||
2.16.840.1.113719.1.27.101.2 "DuplicateSearchResult"
|
||||
2.16.840.1.113719.1.27.101.3 "DuplicateEntryResponseDone"
|
||||
2.16.840.1.113719.1.27.101.5 "Simple Password"
|
||||
2.16.840.1.113719.1.27.101.6 "Forward Reference"
|
||||
2.16.840.1.113719.1.142.100.1 "startFramedProtocolRequest"
|
||||
2.16.840.1.113719.1.142.100.2 "startFramedProtocolResponse"
|
||||
2.16.840.1.113719.1.142.100.3 "ReplicationUpdate"
|
||||
2.16.840.1.113719.1.142.100.4 "endFramedProtocolRequest"
|
||||
2.16.840.1.113719.1.142.100.5 "endFramedProtocolResponse"
|
||||
2.16.840.1.113719.1.142.100.6 "lburpOperationRequest"
|
||||
2.16.840.1.113719.1.142.100.7 "lburpOperationResponse"
|
||||
2.16.840.1.113730.3.4 "Netscape LDAPv3 controls"
|
||||
2.16.840.1.113730.3.4.2 "Manage DSA IT LDAPv3 control"
|
||||
2.16.840.1.113730.3.4.3 "Persistent Search LDAPv3 control"
|
||||
2.16.840.1.113730.3.4.4 "Netscape Password Expired LDAPv3 control"
|
||||
2.16.840.1.113730.3.4.5 "Netscape Password Expiring LDAPv3 control"
|
||||
2.16.840.1.113730.3.4.6 "Netscape NT Synchronization Client LDAPv3 control"
|
||||
2.16.840.1.113730.3.4.7 "Entry Change Notification LDAPv3 control"
|
||||
2.16.840.1.113730.3.4.8 "Transaction ID Request Control"
|
||||
2.16.840.1.113730.3.4.9 "VLV Request LDAPv3 control"
|
||||
2.16.840.1.113730.3.4.10 "VLV Response LDAPv3 control"
|
||||
2.16.840.1.113730.3.4.11 "Transaction ID Response Control"
|
||||
2.16.840.1.113730.3.4.12 "Proxied Authorization (version 1) control"
|
||||
2.16.840.1.113730.3.4.13 "iPlanet Directory Server Replication Update Information Control"
|
||||
2.16.840.1.113730.3.4.14 "iPlanet Directory Server "search on specific backend" control"
|
||||
2.16.840.1.113730.3.4.15 "Authentication Response Control"
|
||||
2.16.840.1.113730.3.4.16 "Authentication Request Control"
|
||||
2.16.840.1.113730.3.4.17 "Real Attributes Only Request Control"
|
||||
2.16.840.1.113730.3.4.18 "Proxied Authorization (version 2) Control"
|
||||
2.16.840.1.113730.3.4.999 "iPlanet Replication Modrdn Extra Mods Control"
|
||||
2.16.840.1.113730.3.5.3 "iPlanet Start Replication Request Extended Operation"
|
||||
2.16.840.1.113730.3.5.4 "iPlanet Replication Response Extended Operation"
|
||||
2.16.840.1.113730.3.5.5 "iPlanet End Replication Request Extended Operation"
|
||||
2.16.840.1.113730.3.5.6 "iPlanet Replication Entry Request Extended Operation"
|
||||
2.16.840.1.113730.3.5.7 "iPlanet Bulk Import Start Extended Operation"
|
||||
2.16.840.1.113730.3.5.8 "iPlanet Bulk Import Finished Extended Operation"
|
@ -1,6 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/ldif_functions.php,v 1.23 2004/04/18 19:21:54 xrenard Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/ldif_functions.php,v 1.26 2005/02/25 13:44:06 wurley Exp $
|
||||
|
||||
/**
|
||||
* @todo put the display_parse_error method in ldif_import here
|
||||
@ -18,6 +17,7 @@
|
||||
|
||||
/**
|
||||
* This class represente an entry in the ldif file
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
class LdifEntry{
|
||||
|
||||
@ -98,6 +98,7 @@ class LdifEntry{
|
||||
* This exception is similar to the one in LdifReader
|
||||
* Should be remove latter
|
||||
* see comment for the class Ldif_LdapEntryReader
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class LdifEntryReaderException{
|
||||
@ -126,6 +127,7 @@ class LdifEntryReaderException{
|
||||
|
||||
/**
|
||||
* Class in charge of reading a paricular entry
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class LdifEntryReader{
|
||||
@ -150,11 +152,13 @@ class LdifEntryReader{
|
||||
*
|
||||
* @param String[] $lines the line of the entry
|
||||
*/
|
||||
function LdifEntryReader( &$lines ){
|
||||
$this->lines = &$lines;
|
||||
$this->_currentLineNumber = 1;
|
||||
$this->_error = 0;
|
||||
}
|
||||
function LdifEntryReader(){}
|
||||
|
||||
function readLines(&$lines){
|
||||
$this->lines = &$lines;
|
||||
$this->_currentLineNumber = 1;
|
||||
$this->_error = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Read the change type action associated with the entry
|
||||
@ -520,6 +524,7 @@ $arr=array();
|
||||
|
||||
/**
|
||||
* Exception which can be raised during processing the ldif file
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class LdifReaderException{
|
||||
@ -545,6 +550,7 @@ class LdifReaderException{
|
||||
|
||||
/**
|
||||
* Helper base class to read file.
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class FileReader{
|
||||
@ -615,6 +621,7 @@ class FileReader{
|
||||
|
||||
/**
|
||||
* Main parser of the ldif file
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class LdifReader extends FileReader{
|
||||
@ -642,6 +649,7 @@ class LdifReader extends FileReader{
|
||||
// continuous mode operation flag
|
||||
var $continuous_mode;
|
||||
|
||||
var $ldifEntryReader = NULL;
|
||||
/**
|
||||
* Private constructor of the LDIFReader class.
|
||||
* Marked as private as we need to instantiate the class
|
||||
@ -656,6 +664,7 @@ class LdifReader extends FileReader{
|
||||
$this->_currentLines = array();
|
||||
$this->_warningMessage="";
|
||||
$this->_warningVersion="";
|
||||
$this->ldifEntryReader = new LdifEntryReader();
|
||||
//need to change this one
|
||||
$this->_currentEntry = new LdifEntry();
|
||||
}
|
||||
@ -701,14 +710,28 @@ class LdifReader extends FileReader{
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the current entry object
|
||||
* Return the current entry as an object
|
||||
*
|
||||
* @return Ldap_Ldif_entry the current ldif entry
|
||||
*/
|
||||
function getCurrentEntry(){
|
||||
function fetchEntryObject(){
|
||||
return $this->_currentEntry;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the current entry as an array
|
||||
*
|
||||
*/
|
||||
function fetchEntryArray(){}
|
||||
|
||||
/**
|
||||
* Return the entry as it is.
|
||||
*
|
||||
* @return String[] The lines from the entry.
|
||||
*/
|
||||
function fetchEntryRaw(){
|
||||
return getCurrentLines();
|
||||
}
|
||||
/**
|
||||
* Get the lines of the next entry
|
||||
*
|
||||
@ -877,15 +900,15 @@ class LdifReader extends FileReader{
|
||||
function readEntry(){
|
||||
|
||||
if($lines = $this->nextLines()){
|
||||
$ldifEntryReader = new LdifEntryReader($lines);
|
||||
$this->ldifEntryReader->readLines($lines);
|
||||
//fetch entry
|
||||
$entry = $ldifEntryReader->getEntry();
|
||||
$entry = $this->ldifEntryReader->getEntry();
|
||||
$this->_currentEntry = $entry;
|
||||
// if any exception has raised, catch it and throw it to the main reader
|
||||
if($ldifEntryReader->hasRaisedException()){
|
||||
$exception = $ldifEntryReader->getLdifEntryReaderException();
|
||||
$faultyLineNumber = $this->dnLineNumber + $exception->lineNumber - 1;
|
||||
$this->setLdapLdifReaderException(new LdifReaderException($faultyLineNumber,$exception->currentLine,$exception->message));
|
||||
if($this->ldifEntryReader->hasRaisedException()){
|
||||
$exception = $this->ldifEntryReader->getLdifEntryReaderException();
|
||||
$faultyLineNumber = $this->dnLineNumber + $exception->lineNumber - 1;
|
||||
$this->setLdapLdifReaderException(new LdifReaderException($faultyLineNumber,$exception->currentLine,$exception->message));
|
||||
|
||||
if ( ! $this->continuous_mode )
|
||||
return 0;
|
||||
@ -904,6 +927,7 @@ class LdifReader extends FileReader{
|
||||
|
||||
/**
|
||||
* Helper class to write entries into the ldap server
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
class LdapWriter{
|
||||
|
@ -1,23 +1,29 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/ldif_import.php,v 1.27 2004/08/15 17:39:20 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/ldif_import.php,v 1.30 2005/03/05 02:37:18 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* ldif_import.php
|
||||
/**
|
||||
* Imports an LDIF file to the specified server_id.
|
||||
*
|
||||
* Variables that come in as POST vars:
|
||||
* - ldif_file (as an uploaded file)
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$debug = true;
|
||||
|
||||
$server_id = $_POST['server_id'];
|
||||
$server_id = (isset($_POST['server_id']) ? $_POST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$continuous_mode = isset( $_POST['continuous_mode'] ) ?1:0;
|
||||
$server_name = $servers[$server_id]['name'];
|
||||
$file = $_FILES['ldif_file']['tmp_name'];
|
||||
$remote_file = $_FILES['ldif_file']['name'];
|
||||
$file_len = $_FILES['ldif_file']['size'];
|
||||
@ -25,8 +31,6 @@ $file_len = $_FILES['ldif_file']['size'];
|
||||
is_array( $_FILES['ldif_file'] ) or pla_error( $lang['missing_uploaded_file'] );
|
||||
file_exists( $file ) or pla_error( $lang['no_ldif_file_specified'] );
|
||||
$file_len > 0 or pla_error( $lang['ldif_file_empty'] );
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
include './header.php'; ?>
|
||||
|
||||
@ -34,7 +38,7 @@ include './header.php'; ?>
|
||||
|
||||
<h3 class="title"><?php echo $lang['import_ldif_file_title']; ?></h3>
|
||||
<h3 class="subtitle">
|
||||
<?php echo $lang['server']; ?>: <b><?php echo htmlspecialchars( $server_name ); ?></b>
|
||||
<?php echo $lang['server']; ?>: <b><?php echo htmlspecialchars( $ldapserver->name ); ?></b>
|
||||
<?php echo $lang['file']; ?>: <b><?php echo htmlspecialchars( $remote_file ); ?>
|
||||
(<?php echo sprintf( $lang['number_bytes'], number_format( $file_len ) ); ?>)</b>
|
||||
</h3>
|
||||
@ -64,14 +68,14 @@ $actionErrorMsg['moddn']= $lang['ldif_could_not_rename_object'];
|
||||
$actionErrorMsg['modify']= $lang['ldif_could_not_modify_object'];
|
||||
|
||||
// get the connection
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
//$ds = pla_ldap_connect( $server_id );
|
||||
//pla_ldap_connection_is_error( $ds );
|
||||
|
||||
//instantiate the reader
|
||||
$ldifReader = new LdifReader($file,$continuous_mode);
|
||||
|
||||
//instantiate the writer
|
||||
$ldapWriter = new LdapWriter($ds);
|
||||
$ldapWriter = new LdapWriter($ldapserver->connect());
|
||||
|
||||
// if ldif file has no version number, just display a warning
|
||||
if(!$ldifReader->hasVersionNumber()){
|
||||
@ -83,7 +87,7 @@ if( $continuous_mode ){
|
||||
while( $ldifReader->readEntry() ){
|
||||
$i++;
|
||||
// get the entry.
|
||||
$currentEntry = $ldifReader->getCurrentEntry();
|
||||
$currentEntry = $ldifReader->fetchEntryObject();
|
||||
$changeType = $currentEntry->getChangeType();
|
||||
echo "<small>".$actionString[$changeType]." ".$currentEntry->dn;
|
||||
|
||||
@ -99,8 +103,8 @@ echo "<small><span style=\"color:red;\">".$lang['desc'].": ".$exception->message
|
||||
echo " <span style=\"color:green;\">".$lang['success']."</span></small><br>";
|
||||
else{
|
||||
echo " <span style=\"color:red;\">".$lang['failed']."</span></small><br>";
|
||||
echo "<small><span style=\"color:red;\">Error Code: ".ldap_errno($ds)."</span></small><br />";
|
||||
echo "<small><span style=\"color:red;\">".$lang['desc'].": ".ldap_error($ds)."</span></small><br />";
|
||||
echo "<small><span style=\"color:red;\">Error Code: ".ldap_errno($ldapserver->connect())."</span></small><br />";
|
||||
echo "<small><span style=\"color:red;\">".$lang['desc'].": ".ldap_error($ldapserver->connect())."</span></small><br />";
|
||||
}
|
||||
}
|
||||
if( 0 == $i % 5 )
|
||||
@ -122,14 +126,14 @@ while($entry = $ldifReader->readEntry()){
|
||||
else{
|
||||
echo " <span style=\"color:red;\">".$lang['failed']."</span></small><br><br>";
|
||||
reload_left_frame();
|
||||
pla_error( $actionErrorMsg[$changeType]. " " . htmlspecialchars( $entry->dn ), ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
pla_error( $actionErrorMsg[$changeType]. " " . htmlspecialchars( $entry->dn ), ldap_error( $ldapserver->connect() ), ldap_errno( $ldapserver->connect() ) );
|
||||
}
|
||||
}
|
||||
|
||||
// if any errors occurs during reading file ,"catch" the exception and display it here.
|
||||
if($ldifReader->hasRaisedException()){
|
||||
//get the entry which raise the exception,quick hack here
|
||||
$currentEntry = $ldifReader->getCurrentEntry();
|
||||
$currentEntry = $ldifReader->fetchEntryObject();
|
||||
|
||||
if($currentEntry->dn !=""){
|
||||
echo "<small>".$actionString[$currentEntry->getChangeType()]." ".$currentEntry->dn." <span style=\"color:red;\">".$lang['failed']."</span></small><br>";
|
||||
|
@ -1,30 +1,34 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/ldif_import_form.php,v 1.16 2004/10/24 23:51:49 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/ldif_import_form.php,v 1.18 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* ldif_import_form.php
|
||||
/**
|
||||
* Displays a form to allow the user to upload and import
|
||||
* an LDIF file.
|
||||
*
|
||||
* Variables expected as GET vars:
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = $_GET['server_id'];
|
||||
$server_name = $servers[$server_id]['name'];
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
include './header.php'; ?>
|
||||
|
||||
<body>
|
||||
|
||||
<h3 class="title"><?php echo $lang['import_ldif_file_title']?></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['server']?>: <b><?php echo htmlspecialchars( $server_name ); ?></b></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['server']?>: <b><?php echo htmlspecialchars( $ldapserver->name ); ?></b></h3>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
154
login.php
154
login.php
@ -1,6 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/login.php,v 1.35 2004/10/24 23:51:49 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/login.php,v 1.40 2005/03/16 11:20:25 wurley Exp $
|
||||
|
||||
/**
|
||||
* For servers whose auth_type is set to 'cookie' or 'session'. Pass me the login info
|
||||
@ -12,8 +11,12 @@
|
||||
*
|
||||
* Variables that come in as POST vars:
|
||||
* - login_dn
|
||||
* - login_pass
|
||||
* - login_pass
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
@ -22,87 +25,113 @@ require './common.php';
|
||||
isset( $_POST['server_id'] ) or header( "Location: index.php" );
|
||||
|
||||
$server_id = $_POST['server_id'];
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
$dn = isset( $_POST['login_dn'] ) ? $_POST['login_dn'] : null;
|
||||
$uid = isset( $_POST['uid'] ) ? $_POST['uid'] : null;
|
||||
$pass = isset( $_POST['login_pass'] ) ? $_POST['login_pass'] : null;
|
||||
$anon_bind = isset( $_POST['anonymous_bind'] ) && $_POST['anonymous_bind'] == 'on' ? true : false;
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
|
||||
if( ! $anon_bind ) {
|
||||
if( ! $anon_bind )
|
||||
strlen($pass) or pla_error( $lang['password_blank'] );
|
||||
}
|
||||
|
||||
$auth_type = $servers[$server_id]['auth_type'];
|
||||
$save_auth_type = $ldapserver->auth_type;
|
||||
|
||||
if( $anon_bind ) {
|
||||
$dn = null;
|
||||
$pass = null;
|
||||
}
|
||||
|
||||
// Checks if the login_attr option is enabled for this host,
|
||||
// which allows users to login with a simple username like 'jdoe' rather
|
||||
// than the fully qualified DN, 'uid=jdoe,ou=people,,dc=example,dc=com'.
|
||||
elseif ( login_attr_enabled( $server_id ) ) {
|
||||
elseif ( $ldapserver->isLoginAttrEnabled() ) {
|
||||
|
||||
// Is this a login string (printf-style)
|
||||
if( login_string_enabled( $server_id ) ) {
|
||||
$dn = str_replace( '<username>', $uid, get_login_string( $server_id ) );
|
||||
} else {
|
||||
// This is a standard login_attr
|
||||
// Is this a login string (printf-style)
|
||||
if( $ldapserver->isLoginStringEnabled() ) {
|
||||
$dn = str_replace( '<username>', $uid, $ldapserver->getLoginString() );
|
||||
|
||||
// Fake the auth_type of config to do searching. This way, the admin can specify
|
||||
// the DN to use when searching for the login_attr user.
|
||||
$servers[$server_id]['auth_type'] = 'config';
|
||||
} else {
|
||||
// This is a standard login_attr
|
||||
|
||||
// search for the "uid" first
|
||||
set_error_handler( 'temp_login_error_handler' );
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
restore_error_handler();
|
||||
$search_base = isset( $servers[$server_id]['base'] ) && '' != trim( $servers[$server_id]['base'] ) ?
|
||||
$servers[$server_id]['base'] :
|
||||
try_to_get_root_dn( $server_id, $ds );
|
||||
if (!empty($servers[$server_id]['login_class'])) {
|
||||
$filter = '(&(objectClass='.$servers[$server_id]['login_class'].')('.$servers[$server_id]['login_attr'].'='.$uid.'))';
|
||||
} else {
|
||||
$filter = $servers[$server_id]['login_attr'].'='.$uid;
|
||||
}
|
||||
$sr = @ldap_search($ds, $search_base, $filter, array('dn'), 0, 1);
|
||||
$result = @ldap_get_entries($ds, $sr);
|
||||
$dn = isset( $result[0]['dn'] ) ? $result[0]['dn'] : false;
|
||||
if( ! $dn ) {
|
||||
pla_error( $lang['bad_user_name_or_password'] );
|
||||
}
|
||||
// Fake the auth_type of config to do searching. This way, the admin can specify
|
||||
// the DN to use when searching for the login_attr user.
|
||||
$ldapserver->auth_type = 'config';
|
||||
|
||||
// restore the original auth_type
|
||||
$servers[$server_id]['auth_type'] = $auth_type;
|
||||
}
|
||||
// search for the "uid" first, this will be an anonymous bind.
|
||||
set_error_handler( 'temp_login_error_handler' );
|
||||
$ldapserver->connect(true,true);
|
||||
restore_error_handler();
|
||||
|
||||
if (!empty($servers[$ldapserver->server_id]['login_class'])) {
|
||||
$filter = '(&(objectClass='.$servers[$ldapserver->server_id]['login_class'].')('.$servers[$ldapserver->server_id]['login_attr'].'='.$uid.'))';
|
||||
} else {
|
||||
$filter = $servers[$ldapserver->server_id]['login_attr'].'='.$uid;
|
||||
}
|
||||
|
||||
// Got through each of the BASE DNs and test the login.
|
||||
foreach ($ldapserver->getBaseDN() as $base_dn) {
|
||||
debug_log(sprintf('login.php: Searching LDAP with base [%s]',$base_dn),9);
|
||||
$sr = @ldap_search($ldapserver->connect(false), $base_dn, $filter, array('dn'), 0, 1);
|
||||
$result = @ldap_get_entries($ldapserver->connect(false), $sr);
|
||||
$dn = isset( $result[0]['dn'] ) ? $result[0]['dn'] : false;
|
||||
|
||||
if ($dn) {
|
||||
debug_log(sprintf('login.php: Got DN [%s] for user ID [%s]',$dn,$uid),5);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// If we got here then we werent able to find a DN for the login filter.
|
||||
if( ! $dn ) {
|
||||
pla_error( $lang['bad_user_name_or_password'] );
|
||||
}
|
||||
|
||||
// restore the original auth_type
|
||||
$ldapserver->auth_type = $save_auth_type;
|
||||
}
|
||||
}
|
||||
|
||||
// We fake a 'config' server auth_type to omit duplicated code
|
||||
$auth_type = $servers[$server_id]['auth_type'];
|
||||
$servers[$server_id]['auth_type'] = 'config';
|
||||
$servers[$server_id]['login_dn'] = $dn;
|
||||
$servers[$server_id]['login_pass'] = $pass;
|
||||
// We fake a 'config' server auth_type to omit duplicated code
|
||||
debug_log(sprintf('Setting login type to config with DN [%s]',$dn),9);
|
||||
$save_auth_type = $ldapserver->auth_type;
|
||||
$ldapserver->auth_type = 'config';
|
||||
$servers[$ldapserver->server_id]['login_dn'] = $dn;
|
||||
$servers[$ldapserver->server_id]['login_pass'] = $pass;
|
||||
|
||||
// verify that the login is good
|
||||
// Verify that dn is allowed to login
|
||||
if ( ! userIsAllowedLogin($ldapserver,$dn) )
|
||||
pla_error( $lang['login_not_allowed'] );
|
||||
|
||||
debug_log(sprintf('User is not prohibited from logging in - now bind [%s]',$dn),9);
|
||||
// verify that the login is good
|
||||
if( null == $dn && null == $pass )
|
||||
$ds = pla_ldap_connect( $server_id, true, false );
|
||||
$ds = $ldapserver->connect(true,true,true);
|
||||
else
|
||||
$ds = pla_ldap_connect( $server_id, false, false );
|
||||
$ds = $ldapserver->connect(true,false,true);
|
||||
|
||||
if( ! is_resource( $ds ) ) {
|
||||
debug_log(sprintf('login.php: ds is a [%s]',$ds),9);
|
||||
|
||||
if( ! is_resource( $ds ) ) {
|
||||
if( $anon_bind )
|
||||
pla_error( $lang['could_not_bind_anon'] );
|
||||
else
|
||||
pla_error( $lang['bad_user_name_or_password'] );
|
||||
}
|
||||
|
||||
$servers[$server_id]['auth_type'] = $auth_type;
|
||||
set_login_dn( $server_id, $dn, $pass, $anon_bind ) or pla_error( $lang['could_not_set_cookie'] );
|
||||
syslog_msg ( LOG_NOTICE,"Authentification FAILED for $dn" );
|
||||
}
|
||||
|
||||
$ldapserver->auth_type = $save_auth_type;
|
||||
set_login_dn( $ldapserver, $dn, $pass, $anon_bind ) or pla_error( $lang['could_not_set_cookie'] );
|
||||
set_lastactivity( $ldapserver );
|
||||
|
||||
initialize_session_tree();
|
||||
$_SESSION['tree'][$server_id] = array();
|
||||
$_SESSION['tree_icons'][$server_id] = array();
|
||||
$_SESSION['tree'][$ldapserver->server_id] = array();
|
||||
$_SESSION['tree_icons'][$ldapserver->server_id] = array();
|
||||
|
||||
if( ! $anon_bind ) {
|
||||
syslog_msg ( LOG_NOTICE,"Authentification successful for $dn" );
|
||||
}
|
||||
|
||||
session_write_close();
|
||||
|
||||
@ -113,13 +142,13 @@ include realpath( 'header.php' );
|
||||
|
||||
<script language="javascript">
|
||||
<?php if( $anon_bind && anon_bind_tree_disabled() ) { ?>
|
||||
|
||||
parent.location.href='search.php?server_id=<?php echo $server_id; ?>'
|
||||
|
||||
parent.location.href='search.php?server_id=<?php echo $ldapserver->server_id; ?>'
|
||||
<?php } else { ?>
|
||||
|
||||
parent.left_frame.location.reload();
|
||||
<?php } ?>
|
||||
|
||||
<?php if ( isset($custom_welcome_page) and $custom_welcome_page ) { ?>
|
||||
parent.right_frame.location.href='welcome.php';
|
||||
<?php } ?>
|
||||
</script>
|
||||
|
||||
@ -127,10 +156,10 @@ include realpath( 'header.php' );
|
||||
<br />
|
||||
<br />
|
||||
<br />
|
||||
<?php echo sprintf( $lang['successfully_logged_in_to_server'],
|
||||
htmlspecialchars( $servers[$server_id]['name'] ) ); ?><br />
|
||||
<?php echo sprintf( $lang['successfully_logged_in_to_server'],
|
||||
htmlspecialchars( $ldapserver->name ) ); ?><br />
|
||||
<?php if( $anon_bind ) { ?>
|
||||
(<?php echo $lang['anonymous_bind']; ?>)
|
||||
(<?php echo $lang['anonymous_bind']; ?>)
|
||||
<?php } ?>
|
||||
<br />
|
||||
</center>
|
||||
@ -144,10 +173,9 @@ include realpath( 'header.php' );
|
||||
*/
|
||||
function temp_login_error_handler( $errno, $errstr, $file, $lineno )
|
||||
{
|
||||
global $lang;
|
||||
global $lang;
|
||||
if( 0 == ini_get( 'error_reporting' ) || 0 == error_reporting() )
|
||||
return;
|
||||
pla_error( $lang['could_not_connect'] . "<br /><br />" . htmlspecialchars( $errstr ) );
|
||||
return;
|
||||
pla_error( $lang['could_not_connect'] . "<br /><br />" . htmlspecialchars( $errstr ) );
|
||||
}
|
||||
?>
|
||||
|
||||
|
@ -1,46 +1,40 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/login_form.php,v 1.23 2004/10/28 13:37:39 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/login_form.php,v 1.24 2005/02/25 13:44:06 wurley Exp $
|
||||
|
||||
/*
|
||||
* login_form.php
|
||||
* Displays the login form for a server for users who specify
|
||||
* 'cookie' or 'session' for their auth_type.
|
||||
/**
|
||||
* Displays the login form for a server for users who specify 'cookie' or 'session' for their auth_type.
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
* - server_id
|
||||
* @param int $server_id - Should come via a GET variable.
|
||||
* @package phpLDAPadmin
|
||||
* @author The phpLDAPadmin development team
|
||||
* @see login.php
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = isset( $_GET['server_id'] ) ? $_GET['server_id'] : null;
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $server_id != null ) {
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
}
|
||||
|
||||
$server = $servers[$server_id];
|
||||
|
||||
$anonymous_bind_allowed = is_anonymous_bind_allowed( $server_id );
|
||||
|
||||
isset( $servers[ $server_id ][ 'auth_type' ] ) or pla_error( $lang['error_auth_type_config'] );
|
||||
$auth_type = $servers[ $server_id ][ 'auth_type' ];
|
||||
if( $auth_type != 'cookie' && $auth_type != 'session' )
|
||||
pla_error( sprintf( $lang['unknown_auth_type'], htmlspecialchars( $auth_type ) ) );
|
||||
if (! $ldapserver->auth_type)
|
||||
pla_error( $lang['error_auth_type_config'] );
|
||||
if( ! in_array( $ldapserver->auth_type, array( 'cookie', 'session' ) ) )
|
||||
pla_error( sprintf( $lang['unknown_auth_type'], htmlspecialchars( $ldapserver->auth_type ) ) );
|
||||
|
||||
include './header.php'; ?>
|
||||
|
||||
<body>
|
||||
<?php if( $anonymous_bind_allowed ) { ?>
|
||||
<?php if( $ldapserver->isAnonBindAllowed() ) { ?>
|
||||
<script language="javascript">
|
||||
<!--
|
||||
function toggle_disable_login_fields( anon_checkbox )
|
||||
{
|
||||
if( anon_checkbox.checked ) {
|
||||
anon_checkbox.form.<?php echo login_attr_enabled( $server_id ) ? 'uid' : 'login_dn'; ?>.disabled = true;
|
||||
anon_checkbox.form.<?php echo $ldapserver->isLoginAttrEnabled() ? 'uid' : 'login_dn'; ?>.disabled = true;
|
||||
anon_checkbox.form.login_pass.disabled = true;
|
||||
} else {
|
||||
anon_checkbox.form.<?php echo login_attr_enabled( $server_id ) ? 'uid' : 'login_dn'; ?>.disabled = false;
|
||||
anon_checkbox.form.<?php echo $ldapserver->isLoginAttrEnabled() ? 'uid' : 'login_dn'; ?>.disabled = false;
|
||||
anon_checkbox.form.login_pass.disabled = false;
|
||||
}
|
||||
}
|
||||
@ -48,21 +42,19 @@ include './header.php'; ?>
|
||||
</script>
|
||||
<?php } ?>
|
||||
|
||||
<h3 class="title"><?php echo sprintf( $lang['authenticate_to_server'], $servers[$server_id]['name'] ); ?></h3>
|
||||
<h3 class="title"><?php echo sprintf( $lang['authenticate_to_server'], $ldapserver->name ); ?></h3>
|
||||
<br />
|
||||
|
||||
<?php if( ! isset( $_SERVER['HTTPS'] ) || $_SERVER['HTTPS'] != 'on' ) { ?>
|
||||
|
||||
<center>
|
||||
<span style="color:red">
|
||||
<acronym title="<?php echo $lang['not_using_https']; ?>">
|
||||
<?php echo $lang['warning_this_web_connection_is_unencrypted']; ?>
|
||||
</acronym>
|
||||
</span>
|
||||
<br />
|
||||
</center>
|
||||
|
||||
<?php } ?>
|
||||
</span>
|
||||
<br />
|
||||
</center>
|
||||
<?php } ?>
|
||||
|
||||
<br />
|
||||
|
||||
@ -71,28 +63,34 @@ include './header.php'; ?>
|
||||
<?php if( isset( $_GET['redirect'] ) ) { ?>
|
||||
<input type="hidden" name="redirect" value="<?php echo rawurlencode( $_GET['redirect'] ) ?>" />
|
||||
<?php } ?>
|
||||
|
||||
<center>
|
||||
<table class="login">
|
||||
<tr>
|
||||
</tr>
|
||||
<?php if( $anonymous_bind_allowed ) { ?>
|
||||
|
||||
<?php if( $ldapserver->isAnonBindAllowed() ) { ?>
|
||||
<tr>
|
||||
<td colspan="2"><small><label for="anonymous_bind_checkbox"><?php echo $lang['anonymous_bind']; ?></label></small> <input type="checkbox" name="anonymous_bind" onclick="toggle_disable_login_fields(this)" id="anonymous_bind_checkbox"/></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<tr>
|
||||
<td><small><?php
|
||||
if ( login_attr_enabled( $server_id ) )
|
||||
echo $lang['user_name'];
|
||||
else
|
||||
echo $lang['login_dn'];
|
||||
?></small></td>
|
||||
<td><input type="text" name="<?php echo login_attr_enabled( $server_id ) ? 'uid' : 'login_dn'; ?>" size="40" value="<?php echo login_attr_enabled( $server_id ) ? '' : $servers[$server_id]['login_dn']; ?>" /></td>
|
||||
<td><small>
|
||||
<?php
|
||||
if ( $ldapserver->isLoginAttrEnabled() )
|
||||
echo $lang['user_name'];
|
||||
else
|
||||
echo $lang['login_dn'];
|
||||
?>
|
||||
</small></td>
|
||||
|
||||
<td><input type="text" name="<?php echo $ldapserver->isLoginAttrEnabled() ? 'uid' : 'login_dn'; ?>" size="40" value="<?php echo $ldapserver->isLoginAttrEnabled() ? '' : $ldapserver->login_dn; ?>" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><small><?php echo $lang['password']; ?></small></td>
|
||||
<td><input type="password" size="40" value="" name="login_pass" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="2"><center><input type="submit" name="submit" value="<?php echo $lang['authenticate']; ?>" /></center></td>
|
||||
</tr>
|
||||
|
35
logout.php
35
logout.php
@ -1,32 +1,34 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/logout.php,v 1.10 2004/10/24 21:25:51 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/logout.php,v 1.14 2005/03/16 11:20:25 wurley Exp $
|
||||
|
||||
/*
|
||||
* logout.php
|
||||
* For servers whose auth_type is set to 'cookie' or 'session'. Pass me
|
||||
/**
|
||||
* For servers whose auth_type is set to 'cookie' or 'session'. Pass me
|
||||
* the server_id and I will log out the user (delete the cookie)
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require realpath( 'common.php' );
|
||||
|
||||
$server_id = $_GET['server_id'];
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['no_one_logged_in'] );
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer ($server_id);
|
||||
|
||||
if( ! isset( $servers[ $server_id ][ 'auth_type' ] ) )
|
||||
return false;
|
||||
$auth_type = $servers[ $server_id ][ 'auth_type' ];
|
||||
if( 'cookie' == $auth_type || 'session' == $auth_type )
|
||||
unset_login_dn( $server_id ) or pla_error( $lang['could_not_logout'] );
|
||||
else
|
||||
pla_error( sprintf( $lang['unknown_auth_type'], htmlspecialchars( $auth_type ) ) );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['no_one_logged_in'] );
|
||||
|
||||
if( in_array($ldapserver->auth_type, array('cookie','session')) ) {
|
||||
syslog_msg ( LOG_NOTICE,"Logout for " . get_logged_in_dn( $ldapserver ) );
|
||||
unset_login_dn( $ldapserver ) or pla_error( $lang['could_not_logout'] );
|
||||
unset_lastactivity( $ldapserver );
|
||||
} else
|
||||
pla_error( sprintf( $lang['unknown_auth_type'], htmlspecialchars( $ldapserver->auth_type ) ) );
|
||||
|
||||
include realpath( 'header.php' );
|
||||
|
||||
?>
|
||||
|
||||
<script language="javascript">
|
||||
@ -41,4 +43,3 @@ include realpath( 'header.php' );
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
166
mass_delete.php
166
mass_delete.php
@ -1,10 +1,7 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/mass_delete.php,v 1.9 2004/05/27 12:50:42 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/mass_delete.php,v 1.11 2005/02/25 13:44:06 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* mass_delete.php
|
||||
*
|
||||
/**
|
||||
* Enables user to mass delete multiple entries using checkboxes.
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
@ -14,121 +11,128 @@
|
||||
* [cn=bob,dc=example,dc=com] => on
|
||||
* etc.
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require realpath( 'common.php' );
|
||||
|
||||
$server_id = $_POST['server_id'];
|
||||
$server_id = (isset($_POST['server_id']) ? $_POST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_deletes_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
check_server_id( $server_id ) or
|
||||
pla_error( $lang['bad_server_id'] );
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_deletes_in_read_only'] );
|
||||
have_auth_info( $server_id ) or
|
||||
pla_error( $lang['no_enough_login_info'] );
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
$confirmed = isset( $_POST['confirmed'] ) ? true : false;
|
||||
isset( $_POST['mass_delete'] ) or
|
||||
isset( $_POST['mass_delete'] ) or
|
||||
pla_error( $lang['error_calling_mass_delete'] );
|
||||
$mass_delete = $_POST['mass_delete'];
|
||||
is_array( $mass_delete ) or
|
||||
|
||||
is_array( $mass_delete ) or
|
||||
pla_error( $lang['mass_delete_not_array'] );
|
||||
mass_delete_enabled( $server_id ) or
|
||||
|
||||
$ldapserver->isMassDeleteEnabled() or
|
||||
pla_error( $lang['mass_delete_not_enabled'] );
|
||||
|
||||
$server_name = $servers[ $server_id ][ 'name' ];
|
||||
|
||||
require realpath( 'header.php' );
|
||||
|
||||
|
||||
echo "<body>\n";
|
||||
echo "<h3 class=\"title\">" . $lang['mass_deleting'] . "</h3>\n";
|
||||
|
||||
if( $confirmed == true ) {
|
||||
echo "<h3 class=\"subtitle\">" . sprintf( $lang['mass_delete_progress'], $server_name ) . "</h3>\n";
|
||||
echo "<blockquote>";
|
||||
echo "<small>\n";
|
||||
echo "<h3 class=\"subtitle\">" . sprintf( $lang['mass_delete_progress'], $ldapserver->name ) . "</h3>\n";
|
||||
echo "<blockquote>";
|
||||
echo "<small>\n";
|
||||
|
||||
$successfully_delete_dns = array();
|
||||
$failed_dns = array();
|
||||
$successfully_delete_dns = array();
|
||||
$failed_dns = array();
|
||||
|
||||
if( ! is_array( $mass_delete ) )
|
||||
pla_error( $lang['malformed_mass_delete_array'] );
|
||||
if( count( $mass_delete ) == 0 ) {
|
||||
echo "<br />";
|
||||
echo "<center>" . $lang['no_entries_to_delete'] . "</center>";
|
||||
die();
|
||||
if( ! is_array( $mass_delete ) )
|
||||
pla_error( $lang['malformed_mass_delete_array'] );
|
||||
|
||||
if( count( $mass_delete ) == 0 ) {
|
||||
echo "<br />";
|
||||
echo "<center>" . $lang['no_entries_to_delete'] . "</center>";
|
||||
die();
|
||||
}
|
||||
|
||||
foreach( $mass_delete as $dn => $junk ) {
|
||||
echo sprintf( $lang['deleting_dn'], htmlspecialchars($dn) );
|
||||
flush();
|
||||
|
||||
if( true === run_hook ( 'pre_entry_delete', array ( 'server_id' => $server_id, 'dn' => $dn ) ) ) {
|
||||
$success = @ldap_delete( $ldapserver->connect(), $dn );
|
||||
|
||||
if( $success ) {
|
||||
run_hook ( 'post_entry_delete', array ( 'server_id' => $server_id, 'dn' => $dn ) );
|
||||
|
||||
echo " <span style=\"color:green\">" . $lang['success'] . "</span>.<br />\n";
|
||||
$successfully_delete_dns[] = $dn;
|
||||
|
||||
} else {
|
||||
echo " <span style=\"color:red\">" . $lang['failed'] . "</span>.\n";
|
||||
echo "(" . ldap_error( $ldapserver->connect() ) . ")<br />\n";
|
||||
$failed_dns[] = $dn;
|
||||
}
|
||||
}
|
||||
|
||||
foreach( $mass_delete as $dn => $junk ) {
|
||||
flush();
|
||||
}
|
||||
|
||||
echo sprintf( $lang['deleting_dn'], htmlspecialchars($dn) );
|
||||
flush();
|
||||
echo "<blockquote>";
|
||||
echo "</small>\n";
|
||||
|
||||
if( true === preEntryDelete( $server_id, $dn ) ) {
|
||||
$success = @ldap_delete( $ds, $dn );
|
||||
if( $success ) {
|
||||
postEntryDelete( $server_id, $dn );
|
||||
echo " <span style=\"color:green\">" . $lang['success'] . "</span>.<br />\n";
|
||||
$successfully_delete_dns[] = $dn;
|
||||
}
|
||||
else {
|
||||
echo " <span style=\"color:red\">" . $lang['failed'] . "</span>.\n";
|
||||
echo "(" . ldap_error( $ds ) . ")<br />\n";
|
||||
$failed_dns[] = $dn;
|
||||
}
|
||||
}
|
||||
$failed_count = count( $failed_dns );
|
||||
$total_count = count( $mass_delete );
|
||||
|
||||
flush();
|
||||
}
|
||||
if( $failed_count > 0 ) {
|
||||
echo "<span style=\"color: red; font-weight: bold;\">\n";
|
||||
echo sprintf( $lang['total_entries_failed'], $failed_count, $total_count ) . "</span>\n";
|
||||
|
||||
echo "<blockquote>";
|
||||
echo "</small>\n";
|
||||
|
||||
$failed_count = count( $failed_dns );
|
||||
$total_count = count( $mass_delete );
|
||||
if( $failed_count > 0 ) {
|
||||
echo "<span style=\"color: red; font-weight: bold;\">\n";
|
||||
echo sprintf( $lang['total_entries_failed'], $failed_count, $total_count ) . "</span>\n";
|
||||
} else {
|
||||
echo "<span style=\"color: green; font-weight: bold;\">\n";
|
||||
echo $lang['all_entries_successful'] . "</span>\n";
|
||||
}
|
||||
} else {
|
||||
echo "<span style=\"color: green; font-weight: bold;\">\n";
|
||||
echo $lang['all_entries_successful'] . "</span>\n";
|
||||
}
|
||||
|
||||
// kill the deleted DNs from the tree browser session variable and
|
||||
// refresh the tree viewer frame (left_frame)
|
||||
if( array_key_exists( 'tree', $_SESSION ) )
|
||||
{
|
||||
if( array_key_exists( 'tree', $_SESSION ) ) {
|
||||
|
||||
$tree = $_SESSION['tree'];
|
||||
|
||||
foreach( $successfully_delete_dns as $dn ) {
|
||||
// does it have children? (it shouldn't, but hey, you never know)
|
||||
if( isset( $tree[$server_id][$dn] ) )
|
||||
unset( $tree[$server_id][$dn] );
|
||||
// search and destroy
|
||||
foreach( $tree[$server_id] as $tree_dn => $subtree )
|
||||
foreach( $subtree as $key => $sub_tree_dn )
|
||||
if( 0 == strcasecmp( $sub_tree_dn, $dn ) )
|
||||
unset( $tree[$server_id][$tree_dn][$key] );
|
||||
// does it have children? (it shouldn't, but hey, you never know)
|
||||
if( isset( $tree[$server_id][$dn] ) )
|
||||
unset( $tree[$server_id][$dn] );
|
||||
|
||||
// search and destroy
|
||||
foreach( $tree[$server_id] as $tree_dn => $subtree )
|
||||
foreach( $subtree as $key => $sub_tree_dn )
|
||||
if( 0 == strcasecmp( $sub_tree_dn, $dn ) )
|
||||
unset( $tree[$server_id][$tree_dn][$key] );
|
||||
}
|
||||
|
||||
$_SESSION['tree'] = $tree;
|
||||
session_write_close();
|
||||
|
||||
?>
|
||||
session_write_close(); ?>
|
||||
|
||||
<script language="javascript">
|
||||
parent.left_frame.location.reload();
|
||||
</script>
|
||||
<?php
|
||||
|
||||
}
|
||||
<?php }
|
||||
|
||||
} else {
|
||||
$n = count( $mass_delete );
|
||||
echo "<h3 class=\"subtitle\">" . sprintf( $lang['confirm_mass_delete'], $n, $server_name ) . "</h3>\n";
|
||||
?>
|
||||
echo "<h3 class=\"subtitle\">" . sprintf( $lang['confirm_mass_delete'], $n, $ldapserver->name ) . "</h3>\n"; ?>
|
||||
|
||||
<center>
|
||||
|
||||
Do you really want to delete
|
||||
|
||||
Do you really want to delete
|
||||
<?php echo ($n==1?'this':'these') . ' ' . $n . ' ' . ($n==1?'entry':'entries'); ?>?
|
||||
|
||||
<form action="mass_delete.php" method="post">
|
||||
@ -148,7 +152,5 @@ if( $confirmed == true ) {
|
||||
|
||||
</form>
|
||||
|
||||
<?php
|
||||
}
|
||||
|
||||
<?php }
|
||||
?>
|
||||
|
@ -1,4 +1,11 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/password_checker.php,v 1.7 2005/02/25 13:44:06 wurley Exp $
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
include './header.php';
|
||||
@ -14,7 +21,6 @@ if( isset( $_REQUEST['base64'] ) ) {
|
||||
}
|
||||
|
||||
$enc_type = get_enc_type( $hash );
|
||||
|
||||
?>
|
||||
|
||||
<h3 class="subtitle"><?php echo $lang['password_checker_tool']; ?></h3>
|
||||
@ -33,9 +39,9 @@ $enc_type = get_enc_type( $hash );
|
||||
<tr>
|
||||
<td></td><td><input type="submit" value="Compare" />
|
||||
|
||||
<?php if( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'compare' ) {
|
||||
<?php if( isset( $_REQUEST['action'] ) && $_REQUEST['action'] == 'compare' ) {
|
||||
echo " <b>";
|
||||
if( password_check( $hash, $check_password) )
|
||||
if( password_check( $hash, $check_password) )
|
||||
echo "<span style=\"color: green\">" . $lang['passwords_match'] . "</span>";
|
||||
else
|
||||
echo "<span style=\"color: red\">" . $lang['passwords_do_not_match'] . "</span>";
|
||||
@ -45,5 +51,3 @@ $enc_type = get_enc_type( $hash );
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
|
||||
|
@ -1,10 +1,16 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/purge_cache.php,v 1.5 2005/02/25 13:44:06 wurley Exp $
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
include './header.php';
|
||||
|
||||
$purge_session_keys = array( 'schema' );
|
||||
|
||||
?>
|
||||
|
||||
<body>
|
||||
@ -21,7 +27,7 @@ foreach( $purge_session_keys as $key ) {
|
||||
if( isset( $_SESSION[$key] ) ) {
|
||||
$size += strlen( serialize( $_SESSION[$key] ) );
|
||||
unset( $_SESSION[$key] );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
session_write_close();
|
||||
|
112
rdelete.php
112
rdelete.php
@ -1,68 +1,70 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/rdelete.php,v 1.17 2004/08/15 17:35:25 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/rdelete.php,v 1.20 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
/*
|
||||
* rdelete.php
|
||||
*
|
||||
/**
|
||||
* Recursively deletes the specified DN and all of its children
|
||||
* Variables that come in as POST vars:
|
||||
* - dn (rawurlencoded)
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require realpath( 'common.php' );
|
||||
|
||||
$server_id = (isset($_POST['server_id']) ? $_POST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = $_POST['dn'];
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$server_id = $_POST['server_id'];
|
||||
$rdn = get_rdn( $dn );
|
||||
|
||||
if( ! $dn )
|
||||
pla_error( $lang['you_must_specify_a_dn'] );
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
dn_exists( $server_id, $dn ) or pla_error( sprintf( $lang['no_such_entry'], htmlspecialchars( $dn ) ) );
|
||||
dn_exists( $ldapserver, $dn ) or pla_error( sprintf( $lang['no_such_entry'], htmlspecialchars( $dn ) ) );
|
||||
|
||||
include './header.php';
|
||||
|
||||
echo "<body>\n";
|
||||
echo "<h3 class=\"title\">" . sprintf( $lang['deleting_dn'], htmlspecialchars($rdn) ) . "</h3>\n";
|
||||
echo "<h3 class=\"subtitle\">" . $lang['recursive_delete_progress'] . "</h3>";
|
||||
echo "<br /><br />";
|
||||
echo "<small>\n";
|
||||
|
||||
flush();
|
||||
|
||||
// prevent script from bailing early on a long delete
|
||||
@set_time_limit( 0 );
|
||||
|
||||
$del_result = pla_rdelete( $server_id, $dn );
|
||||
$del_result = pla_rdelete( $ldapserver, $dn );
|
||||
echo "</small><br />\n";
|
||||
if( $del_result )
|
||||
{
|
||||
|
||||
if( $del_result ) {
|
||||
// kill the DN from the tree browser session variable and
|
||||
// refresh the tree viewer frame (left_frame)
|
||||
|
||||
if( array_key_exists( 'tree', $_SESSION ) )
|
||||
{
|
||||
if( array_key_exists( 'tree', $_SESSION ) ) {
|
||||
$tree = $_SESSION['tree'];
|
||||
|
||||
// does it have children? (it shouldn't, but hey, you never know)
|
||||
// does it have children? (it shouldn't, but hey, you never know)
|
||||
if( isset( $tree[$server_id][$dn] ) )
|
||||
unset( $tree[$server_id][$dn] );
|
||||
|
||||
// Get a tree in the session if not already gotten
|
||||
initialize_session_tree();
|
||||
|
||||
// Get a tree in the session if not already gotten
|
||||
initialize_session_tree();
|
||||
|
||||
// search and destroy from the tree sesssion
|
||||
foreach( $tree[$server_id] as $tree_dn => $subtree )
|
||||
foreach( $subtree as $key => $sub_tree_dn )
|
||||
if( 0 == strcasecmp( $sub_tree_dn, $dn ) )
|
||||
if( 0 == strcasecmp( $sub_tree_dn, $dn ) )
|
||||
unset( $tree[$server_id][$tree_dn][$key] );
|
||||
}
|
||||
|
||||
@ -75,52 +77,56 @@ if( $del_result )
|
||||
parent.left_frame.location.reload();
|
||||
</script>
|
||||
|
||||
<?php
|
||||
<?php
|
||||
|
||||
echo sprintf( $lang['entry_and_sub_tree_deleted_successfully'], '<b>' . htmlspecialchars( $dn ) . '</b>' );
|
||||
|
||||
} else {
|
||||
pla_error( sprintf( $lang['could_not_delete_entry'], htmlspecialchars( $dn ) ), ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
pla_error( sprintf( $lang['could_not_delete_entry'], htmlspecialchars( $dn ) ), ldap_error( $ldapserver->connect() ), ldap_errno( $ldapserver->connect() ) );
|
||||
}
|
||||
|
||||
|
||||
exit;
|
||||
|
||||
|
||||
function pla_rdelete( $server_id, $dn )
|
||||
{
|
||||
function pla_rdelete( $ldapserver, $dn ) {
|
||||
global $lang;
|
||||
$children = get_container_contents( $server_id, $dn );
|
||||
global $ds;
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
$children = get_container_contents( $ldapserver, $dn );
|
||||
|
||||
if( ! is_array( $children ) || count( $children ) == 0 ) {
|
||||
echo "<nobr>" . sprintf( $lang['deleting_dn'], htmlspecialchars( $dn ) ) . "...";
|
||||
flush();
|
||||
if( true === preEntryDelete( $server_id, $dn ) )
|
||||
if( @ldap_delete( $ds, $dn ) ) {
|
||||
postEntryDelete( $server_id, $dn );
|
||||
echo " <span style=\"color:green\">" . $lang['success'] . "</span></nobr><br />\n";
|
||||
return true;
|
||||
} else {
|
||||
pla_error( sprintf( $lang['failed_to_delete_entry'], htmlspecialchars( $dn ) ),
|
||||
ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
}
|
||||
|
||||
if( true === run_hook ( 'pre_entry_delete', array ( 'server_id' => $ldapserver->server_id, 'dn' => $dn ) ) )
|
||||
|
||||
if( @ldap_delete( $ldapserver->connect(), $dn ) ) {
|
||||
run_hook ( 'post_entry_delete',
|
||||
array ( 'server_id' => $ldapserver->server_id, 'dn' => $dn ) );
|
||||
echo " <span style=\"color:green\">" . $lang['success'] . "</span></nobr><br />\n";
|
||||
return true;
|
||||
|
||||
} else {
|
||||
pla_error( sprintf( $lang['failed_to_delete_entry'], htmlspecialchars( $dn ) ),
|
||||
ldap_error( $ldapserver->connect() ), ldap_errno( $ldapserver->connect() ) );
|
||||
}
|
||||
} else {
|
||||
foreach( $children as $child_dn ) {
|
||||
pla_rdelete( $server_id, $child_dn );
|
||||
pla_rdelete( $ldapserver, $child_dn );
|
||||
}
|
||||
|
||||
echo "<nobr>" . sprintf( $lang['deleting_dn'], htmlspecialchars( $dn ) ) . "...";
|
||||
flush();
|
||||
if( true === preEntryDelete( $server_id, $dn ) )
|
||||
if( @ldap_delete( $ds, $dn ) ) {
|
||||
postEntryDelete( $server_id, $dn );
|
||||
echo " <span style=\"color:green\">" . $lang['success'] . "</span></nobr><br />\n";
|
||||
return true;
|
||||
} else {
|
||||
pla_error( sprintf( $lang['failed_to_delete_entry'], htmlspecialchars( $dn ) ),
|
||||
ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
}
|
||||
}
|
||||
|
||||
if( true === run_hook ( 'pre_entry_delete', array ( 'server_id' => $ldapserver->server_id, 'dn' => $dn ) ) )
|
||||
if( @ldap_delete( $ldapserver->connect(), $dn ) ) {
|
||||
run_hook ( 'post_entry_delete',
|
||||
array ( 'server_id' => $ldapserver->server_id, 'dn' => $dn ) );
|
||||
|
||||
echo " <span style=\"color:green\">" . $lang['success'] . "</span></nobr><br />\n";
|
||||
return true;
|
||||
|
||||
} else {
|
||||
pla_error( sprintf( $lang['failed_to_delete_entry'], htmlspecialchars( $dn ) ),
|
||||
ldap_error( $ldapserver->connect() ), ldap_errno( $ldapserver->connect() ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
43
refresh.php
43
refresh.php
@ -1,48 +1,47 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/refresh.php,v 1.10 2004/08/15 17:39:20 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/refresh.php,v 1.13 2005/03/05 09:41:01 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* refresh.php
|
||||
/**
|
||||
* This script alters the session variable 'tree', by re-querying
|
||||
* the LDAP server to grab the contents of every expanded container.
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = $_GET['server_id'];
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( ! check_server_id( $server_id ) || ! have_auth_info( $server_id ) )
|
||||
header( "Location: tree.php" );
|
||||
|
||||
if( ! array_key_exists( 'tree', $_SESSION ) )
|
||||
if( ! $ldapserver->haveAuthInfo() || ! array_key_exists( 'tree', $_SESSION ))
|
||||
header( "Location: tree.php" );
|
||||
|
||||
$tree = $_SESSION['tree'];
|
||||
$tree_icons = $_SESSION['tree_icons'];
|
||||
|
||||
// Get the icon for the base object for this server
|
||||
$base_dn = $servers[ $server_id ][ 'base' ];
|
||||
$tree_icons[$server_id][ $base_dn ] = get_icon( $server_id, $base_dn );
|
||||
// Get the icon for the base object(s) for this server
|
||||
foreach ($ldapserver->getBaseDN() as $base_dn)
|
||||
$tree_icons[$server_id][ $base_dn ] = get_icon( $ldapserver, $base_dn );
|
||||
|
||||
// get all the icons and container contents for all expanded entries
|
||||
if( isset($tree[$server_id]) && is_array( $tree[$server_id] ) )
|
||||
{
|
||||
foreach( $tree[$server_id] as $dn => $children )
|
||||
{
|
||||
$tree[$server_id][$dn] = get_container_contents( $server_id, $dn, 0, '(objectClass=*)', get_tree_deref_setting() );
|
||||
if( isset($tree[$server_id]) && is_array( $tree[$server_id] ) ) {
|
||||
foreach( $tree[$server_id] as $dn => $children ) {
|
||||
$tree[$server_id][$dn] = get_container_contents( $ldapserver, $dn, 0, '(objectClass=*)', get_tree_deref_setting() );
|
||||
|
||||
if( is_array( $tree[$server_id][$dn] ) ) {
|
||||
foreach( $tree[$server_id][$dn] as $child_dn )
|
||||
$tree_icons[$server_id][$child_dn] = get_icon( $server_id, $child_dn );
|
||||
$tree_icons[$server_id][$child_dn] = get_icon( $ldapserver, $child_dn );
|
||||
|
||||
sort( $tree[ $server_id ][ $dn ] );
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
} else {
|
||||
header( "Location: tree.php#$server_id" );
|
||||
}
|
||||
|
||||
@ -51,6 +50,4 @@ $_SESSION['tree_icons'] = $tree_icons;
|
||||
session_write_close();
|
||||
|
||||
header( "Location: tree.php#$server_id" );
|
||||
|
||||
|
||||
?>
|
||||
|
96
rename.php
96
rename.php
@ -1,78 +1,94 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/rename.php,v 1.20 2004/05/27 12:50:42 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/rename.php,v 1.23 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
/*
|
||||
* rename.php
|
||||
* Renames a DN to a different name.
|
||||
/**
|
||||
* Renames a DN to a different name.
|
||||
*
|
||||
* Variables that come in as POST vars:
|
||||
* - dn (rawurlencoded)
|
||||
* - server_id
|
||||
* - new_rdn
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require realpath( 'common.php' );
|
||||
|
||||
$server_id = (isset($_POST['server_id']) ? $_POST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = ( $_POST['dn'] );
|
||||
$server_id = $_POST['server_id'];
|
||||
$new_rdn = ( $_POST['new_rdn'] );
|
||||
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
|
||||
$children = get_container_contents( $server_id, $dn, 1 );
|
||||
$children = get_container_contents( $ldapserver, $dn, 1 );
|
||||
if( count( $children ) > 0 )
|
||||
pla_error( $lang['non_leaf_nodes_cannot_be_renamed'] );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
|
||||
$container = get_container( $dn );
|
||||
$new_dn = $new_rdn . ',' . $container;
|
||||
|
||||
if( $new_dn == $dn )
|
||||
if( $new_dn == $dn )
|
||||
pla_error( $lang['no_rdn_change'] );
|
||||
|
||||
$dn_attr = explode( '=', $dn );
|
||||
$dn_attr = $dn_attr[0];
|
||||
|
||||
$old_dn_value = pla_explode_dn( $dn );
|
||||
$old_dn_value = explode( '=', $old_dn_value[0], 2 );
|
||||
$old_dn_value = $old_dn_value[1];
|
||||
|
||||
$new_dn_value = explode( '=', $new_rdn, 2 );
|
||||
|
||||
if( count( $new_dn_value ) != 2 || ! isset( $new_dn_value[1] ) )
|
||||
pla_error( $lang['invalid_rdn'] );
|
||||
|
||||
$new_dn_value = $new_dn_value[1];
|
||||
|
||||
// Add the new DN attr value to the DN attr (ie, add newName to cn)
|
||||
$add_new_dn_attr = array( $dn_attr => $new_dn_value );
|
||||
|
||||
// Remove the old DN attr value
|
||||
$remove_old_dn_attr = array( $dn_attr => $old_dn_value );
|
||||
|
||||
// attempt to add the new DN attr value (if we can't, die a silent death)
|
||||
$add_dn_attr_success = @ldap_mod_add( $ds, $dn, $add_new_dn_attr );
|
||||
if( ! @ldap_rename( $ds, $dn, $new_rdn, $container, false ) )
|
||||
{
|
||||
pla_error( $lang['could_not_rename'], ldap_error( $ds ), ldap_errno( $ds ), false );
|
||||
$success = run_hook ( 'pre_rename_entry', array ( 'server_id' => $server_id,
|
||||
'old_dn' => $dn, 'new_dn' => $new_dn_value ) );
|
||||
|
||||
// attempt to undo our changes to the DN attr
|
||||
if( $add_dn_attr_success )
|
||||
@ldap_mod_del( $ds, $dn, $add_new_dn_attr );
|
||||
if ( $success ) {
|
||||
$success = false;
|
||||
|
||||
// attempt to add the new DN attr value (if we can't, die a silent death)
|
||||
$add_dn_attr_success = @ldap_mod_add( $ldapserver->connect(), $dn, $add_new_dn_attr );
|
||||
|
||||
if( ! @ldap_rename( $ldapserver->connect(), $dn, $new_rdn, $container, false ) ) {
|
||||
pla_error( $lang['could_not_rename'], ldap_error( $ldapserver->connect() ),
|
||||
ldap_errno( $ldapserver->connect() ), false );
|
||||
|
||||
// attempt to undo our changes to the DN attr
|
||||
if( $add_dn_attr_success )
|
||||
@ldap_mod_del( $ldapserver->connect(), $dn, $add_new_dn_attr );
|
||||
|
||||
} else
|
||||
$success = true;
|
||||
|
||||
} else {
|
||||
pla_error( $lang['could_not_rename'] );
|
||||
}
|
||||
else
|
||||
{
|
||||
// attempt to remove the old DN attr value (if we can't, die a silent death)
|
||||
@ldap_mod_del( $ds, $new_dn, $remove_old_dn_attr );
|
||||
|
||||
if( array_key_exists( 'tree', $_SESSION ) )
|
||||
{
|
||||
if ( $success ) {
|
||||
// attempt to remove the old DN attr value (if we can't, die a silent death)
|
||||
@ldap_mod_del( $ldapserver->connect(), $new_dn, $remove_old_dn_attr );
|
||||
|
||||
run_hook ( 'post_rename_entry', array ( 'server_id' => $server_id, 'old_dn' => $dn,
|
||||
'new_dn' => $new_dn_value ) );
|
||||
|
||||
if( array_key_exists( 'tree', $_SESSION ) ) {
|
||||
$tree = $_SESSION['tree'];
|
||||
$tree_icons = $_SESSION['tree_icons'];
|
||||
$old_dn = $dn;
|
||||
@ -81,11 +97,11 @@ else
|
||||
// cannot occur on parents)
|
||||
foreach( $tree[$server_id] as $parent_dn => $children ) {
|
||||
foreach( $children as $i => $child_dn ) {
|
||||
if( 0 == strcasecmp( $child_dn, $old_dn ) ) {
|
||||
if( 0 == strcasecmp( $child_dn, $old_dn ) )
|
||||
$tree[$server_id][$parent_dn][$i] = $new_dn;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Update the icon tree to reflect the change (remove the old DN and add the new one)
|
||||
$tree_icons[ $server_id ][ $new_dn ] = $tree_icons[ $server_id ][ $old_dn ];
|
||||
unset( $tree_icons[ $server_id ][ $old_dn ] );
|
||||
@ -95,7 +111,6 @@ else
|
||||
session_write_close();
|
||||
|
||||
$edit_url="edit.php?server_id=$server_id&dn=" . rawurlencode( "$new_rdn,$container" );
|
||||
|
||||
?>
|
||||
|
||||
<html>
|
||||
@ -115,7 +130,6 @@ else
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<?php
|
||||
|
||||
}
|
||||
<?php }
|
||||
}
|
||||
?>
|
||||
|
@ -1,36 +1,38 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/rename_form.php,v 1.6 2004/08/15 17:39:20 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/rename_form.php,v 1.7 2005/02/25 13:44:06 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* rename_form.php
|
||||
/**
|
||||
* Displays a form for renaming an LDAP entry.
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
* - dn (rawurlencoded)
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
if( $ldapserver->isReadOnly() )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$dn = $_GET['dn'];
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$server_id = $_GET['server_id'];
|
||||
$rdn = get_rdn( $dn );
|
||||
$server_name = $servers[$server_id]['name'];
|
||||
|
||||
if( is_server_read_only( $server_id ) )
|
||||
pla_error( $lang['no_updates_in_read_only_mode'] );
|
||||
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
include './header.php'; ?>
|
||||
|
||||
<body>
|
||||
|
||||
<h3 class="title"><?php echo sprintf( $lang['rename_entry'], htmlspecialchars( $rdn ) ); ?></b></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['server']; ?>: <b><?php echo $server_name; ?></b> <?php echo $lang['distinguished_name']; ?>: <b><?php echo htmlspecialchars( ( $dn ) ); ?></b></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['server']; ?>: <b><?php echo $ldapserver->name; ?></b> <?php echo $lang['distinguished_name']; ?>: <b><?php echo htmlspecialchars( ( $dn ) ); ?></b></h3>
|
||||
|
||||
<br />
|
||||
<center>
|
||||
@ -43,4 +45,3 @@ include './header.php'; ?>
|
||||
</center>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
531
schema.php
531
schema.php
@ -1,56 +1,51 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/schema.php,v 1.55 2004/10/24 23:51:49 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/schema.php,v 1.59 2005/03/07 20:19:32 wurley Exp $
|
||||
|
||||
|
||||
/*
|
||||
* schema.php
|
||||
/**
|
||||
* Displays the schema for the specified server_id
|
||||
*
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
* - server_id
|
||||
* - view (optional: can be 'attr' or empty. If 'attr', show that attribute)
|
||||
* - attr (optional)
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
$server_id = $_GET['server_id'];
|
||||
$view = isset( $_GET['view'] ) ? $_GET['view'] : 'objectClasses';
|
||||
$viewvalue = isset( $_GET['viewvalue'] ) ? $_GET['viewvalue'] : null;
|
||||
if( trim( $viewvalue ) == "" )
|
||||
$viewvalue = null;
|
||||
if( ! is_null( $viewvalue ) )
|
||||
$viewed = false;
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
|
||||
check_server_id( $server_id ) or
|
||||
pla_error( $lang['bad_server_id'].": " . htmlspecialchars( $server_id ) );
|
||||
have_auth_info( $server_id ) or
|
||||
pla_error( $lang['not_enough_login_info']);
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$view = isset( $_GET['view'] ) ? $_GET['view'] : 'objectClasses';
|
||||
$viewvalue = isset( $_GET['viewvalue'] ) ? $_GET['viewvalue'] : null;
|
||||
|
||||
if( trim( $viewvalue ) == "" )
|
||||
$viewvalue = null;
|
||||
if( ! is_null( $viewvalue ) )
|
||||
$viewed = false;
|
||||
|
||||
include './header.php';
|
||||
|
||||
$schema_error_str = $lang['could_not_retrieve_schema_from']." <b>"
|
||||
. htmlspecialchars($servers[$server_id]['name'])
|
||||
. "</b>.<br /><br /></center>"
|
||||
.$lang['reasons_for_error']
|
||||
."<ul><li>"
|
||||
.$lang['schema_retrieve_error_1']
|
||||
. "</li><li>"
|
||||
.$lang['schema_retrieve_error_2']
|
||||
."</li><li>"
|
||||
.$lang['schema_retrieve_error_3']
|
||||
."</li></ul><a href=\"".$lang['url_bug_report']."\" target=\"new\">".$lang['please_report_this_as_a_bug']."</a>";
|
||||
|
||||
$schema_error_str = sprintf('%s <b>%s</b>.<br /><br /></center>%s<ul><li>%s</li><li>%s</li><li>%s</li><li>%s</li></ul>',
|
||||
$lang['could_not_retrieve_schema_from'],htmlspecialchars($ldapserver->name),
|
||||
$lang['reasons_for_error'],$lang['schema_retrieve_error_1'],
|
||||
$lang['schema_retrieve_error_2'],$lang['schema_retrieve_error_3'],
|
||||
$lang['schema_retrieve_error_4']);
|
||||
?>
|
||||
|
||||
<body>
|
||||
|
||||
<h3 class="title"><?php echo $lang['schema_for_server']; ?>
|
||||
<b><?php echo htmlspecialchars($servers[$server_id]['name']); ?></b></h3>
|
||||
<h3 class="title"><?php echo $lang['schema_for_server']; ?>
|
||||
<b><?php echo htmlspecialchars($ldapserver->name); ?></b></h3>
|
||||
|
||||
<br />
|
||||
|
||||
<center>
|
||||
<?php echo ( $view=='objectClasses' ?
|
||||
$lang['objectclasses'] :
|
||||
@ -70,362 +65,410 @@ $schema_error_str = $lang['could_not_retrieve_schema_from']." <b>"
|
||||
</center>
|
||||
<br />
|
||||
|
||||
<?php flush(); ?>
|
||||
|
||||
<?php
|
||||
<?php flush();
|
||||
|
||||
if( $view == 'syntaxes' ) {
|
||||
$highlight_oid = isset( $_GET['highlight_oid'] ) ? $_GET['highlight_oid'] : false;
|
||||
//echo "<center>" . $lang['the_following_syntaxes'] . "</center><br />\n\n";
|
||||
|
||||
echo "\n\n<table class=\"schema_attr\" width=\"100%\">\n";
|
||||
echo "<tr><th>" . $lang['syntax_oid'] . "</th><th>" . $lang['desc'] . "</th></tr>\n";
|
||||
|
||||
flush();
|
||||
|
||||
$counter=1;
|
||||
$schema_syntaxes = get_schema_syntaxes( $server_id, null, false );
|
||||
|
||||
$schema_syntaxes = get_schema_syntaxes( $ldapserver, null, true );
|
||||
if( ! $schema_syntaxes ) pla_error( $schema_error_str );
|
||||
|
||||
foreach( $schema_syntaxes as $syntax ) {
|
||||
$counter++;
|
||||
$oid = htmlspecialchars( $syntax->getOID() );
|
||||
$desc = htmlspecialchars( $syntax->getDescription() );
|
||||
|
||||
if( $highlight_oid && $highlight_oid == $oid )
|
||||
echo "<tr class=\"highlight\">";
|
||||
else
|
||||
echo "<tr class=\"" . ($counter%2==0?'even':'odd'). "\">";
|
||||
|
||||
echo "<td><a name=\"$oid\">$oid</a></td><td>$desc</td></tr>\n\n";
|
||||
}
|
||||
|
||||
echo "</table>\n";
|
||||
|
||||
} elseif( $view == 'attributes' ) {
|
||||
//echo "<center>" . $lang['the_following_attributes'] . "</center><br />\n";
|
||||
flush();
|
||||
$schema_attrs = get_schema_attributes( $server_id, null, false );
|
||||
$schema_object_classes = get_schema_objectclasses( $server_id, null, false );
|
||||
if( ! $schema_attrs || ! $schema_object_classes )
|
||||
|
||||
$schema_attrs = get_schema_attributes( $ldapserver, null, true );
|
||||
$schema_object_classes = get_schema_objectclasses( $ldapserver, null, true );
|
||||
|
||||
if( ! $schema_attrs || ! $schema_object_classes )
|
||||
pla_error( $schema_error_str );
|
||||
|
||||
//echo "<pre>";
|
||||
//print_r( $schema_attrs );
|
||||
//echo "</pre>";
|
||||
|
||||
?>
|
||||
|
||||
<small><?php echo $lang['jump_to_attr']; ?>:</small>
|
||||
<form><input type="hidden" name="view" value="<?php echo $view; ?>" />
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<select name="viewvalue" onChange="submit()">
|
||||
<option value=""> - all -</option>
|
||||
|
||||
<?php foreach( $schema_attrs as $attr ) {
|
||||
echo( '<option value="'
|
||||
.$attr->getName()
|
||||
.'" '
|
||||
.( 0 == strcasecmp( $attr->getName(), $viewvalue ) ? ' selected ' : '' )
|
||||
.'>'
|
||||
. $attr->getName()
|
||||
.'</option>' . "\n" );
|
||||
} ?>
|
||||
<?php foreach( $schema_attrs as $attr ) {
|
||||
printf( '<option value="%s" %s>%s</option>',
|
||||
$attr->getName(),
|
||||
( 0 == strcasecmp( $attr->getName(), $viewvalue ) ? 'selected' : '' ),
|
||||
$attr->getName());
|
||||
} ?>
|
||||
|
||||
</select><input type="submit" value="<?php echo $lang['go']; ?>" /></form>
|
||||
|
||||
<br />
|
||||
<table class="schema_attr" width="100%">
|
||||
|
||||
<?php
|
||||
foreach( $schema_attrs as $attr ) {
|
||||
if ( is_null( $viewvalue ) || 0 == strcasecmp( $viewvalue, $attr->getName() ) ) {
|
||||
if( ! is_null( $viewvalue ) )
|
||||
$viewed = true;
|
||||
flush();
|
||||
echo "<tr><th colspan=\"2\"><a name=\"" . strtolower( $attr->getName() ) . "\">";
|
||||
echo $attr->getName() . "</a></th></tr>\n\n";
|
||||
$counter = 0;
|
||||
<?php foreach( $schema_attrs as $attr ) {
|
||||
if ( is_null( $viewvalue ) || 0 == strcasecmp( $viewvalue, $attr->getName() ) ) {
|
||||
if( ! is_null( $viewvalue ) )
|
||||
$viewed = true;
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['desc']."</td>\n";
|
||||
echo "<td>" . ( $attr->getDescription() == null ? '('.$lang['no_description'].')' : $attr->getDescription() ). "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td><acronym title=\"Object Identier\">".$lang['oid']."</acronym></td>\n";
|
||||
echo "<td>" . $attr->getOID() . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
flush();
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo '<td>'.$lang['obsolete']."?</td>\n";
|
||||
echo "<td>" . ( $attr->getIsObsolete() ? '<b>' . $lang['yes'] . '</b>' : $lang['no'] ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
echo "<tr><th colspan=\"2\"><a name=\"" . strtolower( $attr->getName() ) . "\">";
|
||||
echo $attr->getName() . "</a></th></tr>\n\n";
|
||||
$counter = 0;
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['inherits']."</td>\n";
|
||||
echo "<td>";
|
||||
if( $attr->getSupAttribute()==null )
|
||||
echo '('.$lang['none'].')';
|
||||
else
|
||||
echo "<a href=\"?server_id=".$server_id."&view=$view&viewvalue=" . strtolower( $attr->getSupAttribute() ) . "\">" . $attr->getSupAttribute() . "</a></td>\n";
|
||||
echo "</tr>\n\n";
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['desc']."</td>\n";
|
||||
echo "<td>" . ( $attr->getDescription() == null ? '('.$lang['no_description'].')' : $attr->getDescription() ). "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td><acronym title=\"Object Identier\">".$lang['oid']."</acronym></td>\n";
|
||||
echo "<td>" . $attr->getOID() . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['equality']."</td>\n";
|
||||
echo "<td>" . ( $attr->getEquality() == null ? '('.$lang['not_specified'].')' : "<a href=\"?server_id=".$server_id."&view=matching_rules&viewvalue=".$attr->getEquality()."\">".$attr->getEquality() ) . "</a></td>\n";
|
||||
echo "</tr>\n\n";
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo '<td>'.$lang['obsolete']."?</td>\n";
|
||||
echo "<td>" . ( $attr->getIsObsolete() ? '<b>' . $lang['yes'] . '</b>' : $lang['no'] ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['ordering']."</td>\n";
|
||||
echo "<td>" . ( $attr->getOrdering()==null? '('.$lang['not_specified'].')' : $attr->getOrdering() ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['inherits']."</td>\n";
|
||||
echo "<td>";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['substring_rule']."</td>\n";
|
||||
echo "<td>" . ( $attr->getSubstr()==null? '('.$lang['not_specified'].')' : $attr->getSubstr() ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
if( $attr->getSupAttribute()==null )
|
||||
echo '('.$lang['none'].')';
|
||||
else
|
||||
echo "<a href=\"?server_id=".$server_id."&view=$view&viewvalue=" . strtolower( $attr->getSupAttribute() ) . "\">" . $attr->getSupAttribute() . "</a></td>\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['syntax']."</td>\n";
|
||||
echo "<td>";
|
||||
if( null != $attr->getType() ) {
|
||||
echo "<a href=\"?server_id=$server_id&view=syntaxes&highlight_oid=";
|
||||
echo $attr->getSyntaxOID() . "#" . $attr->getSyntaxOID();
|
||||
echo "\">" . $attr->getType() . " (" . $attr->getSyntaxOID() . ")</a>";
|
||||
} else {
|
||||
echo $attr->getSyntaxOID();
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['equality']."</td>\n";
|
||||
echo "<td>" . ( $attr->getEquality() == null ? '('.$lang['not_specified'].')' : "<a href=\"?server_id=".$server_id."&view=matching_rules&viewvalue=".$attr->getEquality()."\">".$attr->getEquality() ) . "</a></td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['ordering']."</td>\n";
|
||||
echo "<td>" . ( $attr->getOrdering()==null? '('.$lang['not_specified'].')' : $attr->getOrdering() ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['substring_rule']."</td>\n";
|
||||
echo "<td>" . ( $attr->getSubstr()==null? '('.$lang['not_specified'].')' : $attr->getSubstr() ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['syntax']."</td>\n";
|
||||
echo "<td>";
|
||||
|
||||
if( null != $attr->getType() ) {
|
||||
echo "<a href=\"?server_id=$server_id&view=syntaxes&highlight_oid=";
|
||||
echo $attr->getSyntaxOID() . "#" . $attr->getSyntaxOID();
|
||||
echo "\">" . $attr->getType() . " (" . $attr->getSyntaxOID() . ")</a>";
|
||||
|
||||
} else {
|
||||
echo $attr->getSyntaxOID();
|
||||
}
|
||||
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['single_valued']."</td>\n";
|
||||
echo "<td>" . ( $attr->getIsSingleValue() ? $lang['yes'] : $lang['no'] ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['collective']."?</td>\n";
|
||||
echo "<td>" . ( $attr->getIsCollective() ? $lang['yes'] : $lang['no'] ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['user_modification']."</td>\n";
|
||||
echo "<td>" . ( $attr->getIsNoUserModification() ? $lang['no'] : $lang['yes'] ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['usage']."</td>\n";
|
||||
echo "<td>" . ( $attr->getUsage() ? $attr->getUsage() : '('.$lang['not_specified'].')' ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['maximum_length']."</td>\n";
|
||||
echo "<td>";
|
||||
|
||||
if ( $attr->getMaxLength() === null )
|
||||
echo '('.$lang['not_applicable'].')';
|
||||
|
||||
else {
|
||||
echo number_format( $attr->getMaxLength() ) ." ";
|
||||
|
||||
if ( $attr->getMaxLength()>1)
|
||||
echo $lang['characters'];
|
||||
else
|
||||
echo $lang['character'];
|
||||
}
|
||||
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['aliases']."</td>\n";
|
||||
echo "<td>";
|
||||
|
||||
if( count( $attr->getAliases() ) == 0 )
|
||||
echo '('.$lang['none'].')';
|
||||
else
|
||||
foreach( $attr->getAliases() as $alias_attr_name )
|
||||
echo "<a href=\"?server_id=$server_id&view=attributes&viewvalue=" . $alias_attr_name. "\">$alias_attr_name</a> ";
|
||||
|
||||
echo "</td>";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['used_by_objectclasses']."</td>\n";
|
||||
echo "<td>";
|
||||
|
||||
if( count( $attr->getUsedInObjectClasses() ) == 0 )
|
||||
echo '('.$lang['none'].')';
|
||||
else
|
||||
foreach( $attr->getUsedInObjectClasses() as $used_in_oclass)
|
||||
echo "<a href=\"?server_id=$server_id&view=objectClasses&viewvalue=" .
|
||||
$used_in_oclass. "\">$used_in_oclass</a> ";
|
||||
|
||||
echo "</td>";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
flush();
|
||||
}
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['single_valued']."</td>\n";
|
||||
echo "<td>" . ( $attr->getIsSingleValue() ? $lang['yes'] : $lang['no'] ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['collective']."?</td>\n";
|
||||
echo "<td>" . ( $attr->getIsCollective() ? $lang['yes'] : $lang['no'] ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['user_modification']."</td>\n";
|
||||
echo "<td>" . ( $attr->getIsNoUserModification() ? $lang['no'] : $lang['yes'] ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['usage']."</td>\n";
|
||||
echo "<td>" . ( $attr->getUsage() ? $attr->getUsage() : '('.$lang['not_specified'].')' ) . "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['maximum_length']."</td>\n";
|
||||
echo "<td>";
|
||||
if ( $attr->getMaxLength() === null ) { echo '('.$lang['not_applicable'].')';}
|
||||
else {
|
||||
echo number_format( $attr->getMaxLength() ) ." ";
|
||||
if ( $attr->getMaxLength()>1) {echo $lang['characters'];}
|
||||
else { echo $lang['character'] ;}
|
||||
}
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['aliases']."</td>\n";
|
||||
echo "<td>";
|
||||
if( count( $attr->getAliases() ) == 0 )
|
||||
echo '('.$lang['none'].')';
|
||||
else
|
||||
foreach( $attr->getAliases() as $alias_attr_name )
|
||||
echo "<a href=\"?server_id=$server_id&view=attributes&viewvalue=" . $alias_attr_name. "\">$alias_attr_name</a> ";
|
||||
echo "</td>";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
echo "<tr class=\"" . (++$counter%2==0?'even':'odd') . "\">\n";
|
||||
echo "<td>".$lang['used_by_objectclasses']."</td>\n";
|
||||
echo "<td>";
|
||||
if( count( $attr->getUsedInObjectClasses() ) == 0 )
|
||||
echo '('.$lang['none'].')';
|
||||
else
|
||||
foreach( $attr->getUsedInObjectClasses() as $used_in_oclass)
|
||||
echo "<a href=\"?server_id=$server_id&view=objectClasses&viewvalue=" .
|
||||
$used_in_oclass. "\">$used_in_oclass</a> ";
|
||||
echo "</td>";
|
||||
echo "</tr>\n\n";
|
||||
|
||||
flush();
|
||||
}
|
||||
}
|
||||
echo "</table>\n";
|
||||
|
||||
} elseif( $view == 'matching_rules' ) {
|
||||
//echo "<center>" . $lang['the_following_matching'] . "</center><br />\n\n";
|
||||
$schema_matching_rules = get_schema_matching_rules( $server_id, null, false );
|
||||
$schema_matching_rules = get_schema_matching_rules( $ldapserver, null, true );
|
||||
|
||||
echo '<small>' . $lang['jump_to_matching_rule'].'</small><br />';
|
||||
echo '<form get="?">';
|
||||
echo '<input type="hidden" name="server_id" value="'.$server_id.'" />';
|
||||
echo '<input type="hidden" name="view" value="matching_rules" />';
|
||||
echo '<select name="viewvalue" onChange="submit()">';
|
||||
echo '<option value=""> - all -</option>';
|
||||
foreach( $schema_matching_rules as $rule ) {
|
||||
echo '<option value="'.$rule->getName().'"'.($rule->getName()==$viewvalue? ' selected ': '').'>'.$rule->getName().'</option>\n';
|
||||
}
|
||||
|
||||
|
||||
foreach( $schema_matching_rules as $rule )
|
||||
printf( '<option value="%s" %s>%s</option>',
|
||||
$rule->getName(),
|
||||
($rule->getName() == $viewvalue ? 'selected': ''),
|
||||
$rule->getName());
|
||||
|
||||
echo '</select>';
|
||||
echo '<input type="submit" value="'.$lang['go'].'" />';
|
||||
echo '</form>';
|
||||
echo "\n\n<table class=\"schema_attr\" width=\"100%\">\n";
|
||||
echo "<tr><th>" . $lang['matching_rule_oid'] . "</th><th>" . $lang['name'] . "</th><th>".$lang['used_by_attributes']."</th></tr>\n";
|
||||
|
||||
flush();
|
||||
$counter=1;
|
||||
$schema_matching_rules = get_schema_matching_rules( $server_id, null, false );
|
||||
|
||||
$schema_matching_rules = get_schema_matching_rules( $ldapserver, null, true );
|
||||
if( ! $schema_matching_rules ) pla_error( $schema_error_str );
|
||||
|
||||
$counter=1;
|
||||
foreach( $schema_matching_rules as $rule ) {
|
||||
$counter++;
|
||||
$oid = htmlspecialchars( $rule->getOID() );
|
||||
$desc = htmlspecialchars( $rule->getName() );
|
||||
|
||||
if ( $viewvalue==null || $viewvalue==($rule->getName() )) {
|
||||
if( ! is_null( $viewvalue ) )
|
||||
$viewed = true;
|
||||
if( null != $rule->getDescription() )
|
||||
$desc .= ' (' . $rule->getDescription() . ')';
|
||||
if( true === $rule->getIsObsolete() )
|
||||
$desc .= ' <span style="color:red">' . $lang['obsolete'] . '</span>';
|
||||
echo "<tr class=\"" . ($counter%2==0?'even':'odd'). "\">";
|
||||
echo "<td>$oid</td>";
|
||||
echo "<td>$desc</td>";
|
||||
echo "<td>";
|
||||
if( count( $rule->getUsedByAttrs() ) == 0 ) {
|
||||
echo "<center>(" . $lang['none'] . ")</center><br /><br />\n";
|
||||
} else {
|
||||
echo "<table><tr><td style=\"text-align: right\"><form>";
|
||||
echo "<input type=\"hidden\" name=\"server_id\" value=\"".$server_id."\" />";
|
||||
echo "<input type=\"hidden\" name=\"view\" value=\"attributes\" />";
|
||||
echo "<select style=\"width: 150px; color:black; background-color: #eee\" size=\"4\" name=\"viewvalue\">\n";
|
||||
foreach( $rule->getUsedByAttrs() as $attr )
|
||||
echo "<option>$attr</option>\n";
|
||||
echo "</select><br /><input type=\"submit\" value=\"".$lang['go']."\" /></form></td></tr></table>\n";
|
||||
|
||||
if( ! is_null( $viewvalue ) )
|
||||
$viewed = true;
|
||||
if( null != $rule->getDescription() )
|
||||
$desc .= ' (' . $rule->getDescription() . ')';
|
||||
if( true === $rule->getIsObsolete() )
|
||||
$desc .= ' <span style="color:red">' . $lang['obsolete'] . '</span>';
|
||||
|
||||
echo "<tr class=\"" . ($counter%2==0?'even':'odd'). "\">";
|
||||
echo "<td>$oid</td>";
|
||||
echo "<td>$desc</td>";
|
||||
echo "<td>";
|
||||
|
||||
if( count( $rule->getUsedByAttrs() ) == 0 ) {
|
||||
echo "<center>(" . $lang['none'] . ")</center><br /><br />\n";
|
||||
} else {
|
||||
echo "<table><tr><td style=\"text-align: right\"><form>";
|
||||
echo "<input type=\"hidden\" name=\"server_id\" value=\"".$server_id."\" />";
|
||||
echo "<input type=\"hidden\" name=\"view\" value=\"attributes\" />";
|
||||
echo "<select style=\"width: 150px; color:black; background-color: #eee\" size=\"4\" name=\"viewvalue\">\n";
|
||||
foreach( $rule->getUsedByAttrs() as $attr )
|
||||
echo "<option>$attr</option>\n";
|
||||
echo "</select><br /><input type=\"submit\" value=\"".$lang['go']."\" /></form></td></tr></table>\n";
|
||||
}
|
||||
echo "</td></tr>\n";
|
||||
}
|
||||
echo "</td></tr>\n";
|
||||
}
|
||||
}
|
||||
echo "</table>\n";
|
||||
|
||||
} elseif( $view == 'objectClasses' ) {
|
||||
//echo "<center>" . $lang['the_following_objectclasses'] . "</center><br />\n";
|
||||
} elseif( $view == 'objectClasses' ) {
|
||||
flush();
|
||||
$schema_oclasses = get_schema_objectclasses( $server_id, null, false );
|
||||
if( ! $schema_oclasses ) pla_error( $schema_error_str );
|
||||
?>
|
||||
|
||||
$schema_oclasses = get_schema_objectclasses( $ldapserver, null, true );
|
||||
if( ! $schema_oclasses ) pla_error( $schema_error_str ); ?>
|
||||
|
||||
<small><?php echo $lang['jump_to_objectclass']; ?>:</small>
|
||||
<form><input type="hidden" name="view" value="<?php echo $view; ?>" />
|
||||
<input type="hidden" name="server_id" value="<?php echo $server_id; ?>" />
|
||||
<select name="viewvalue"
|
||||
onChange="submit()">
|
||||
<option value=""> - all - </option>
|
||||
<?php foreach( $schema_oclasses as $name => $oclass ) {
|
||||
echo '<option value="'
|
||||
.$oclass->getName()
|
||||
.'"'
|
||||
. ( 0 == strcasecmp( $oclass->getName(), $viewvalue ) ? ' selected ':'')
|
||||
.'>'.$oclass->getName()
|
||||
.'</option>';
|
||||
} ?>
|
||||
|
||||
<?php foreach( $schema_oclasses as $name => $oclass ) {
|
||||
printf( '<option value="%s" %s>%s</option>',
|
||||
$oclass->getName(),
|
||||
( 0 == strcasecmp( $oclass->getName(), $viewvalue ) ? ' selected ':''),
|
||||
$oclass->getName());
|
||||
|
||||
} ?>
|
||||
|
||||
</select><input type="submit" value="<?php echo $lang['go']; ?>" />
|
||||
</form>
|
||||
|
||||
<?php flush(); ?>
|
||||
<?php flush();
|
||||
|
||||
<?php foreach( $schema_oclasses as $name => $oclass ) {
|
||||
foreach( $oclass->getSupClasses() as $parent_name ) {
|
||||
$parent_name = $parent_name;
|
||||
if( isset( $schema_oclasses[ $parent_name ] ) ) {
|
||||
$schema_oclasses[ $parent_name ]->addChildObjectClass( $oclass->getName() );
|
||||
}
|
||||
}
|
||||
|
||||
} ?>
|
||||
foreach( $schema_oclasses as $name => $oclass ) {
|
||||
foreach( $oclass->getSupClasses() as $parent_name ) {
|
||||
$parent_name = $parent_name;
|
||||
if( isset( $schema_oclasses[ $parent_name ] ) ) {
|
||||
$schema_oclasses[ $parent_name ]->addChildObjectClass( $oclass->getName() );
|
||||
}
|
||||
}
|
||||
} ?>
|
||||
|
||||
<br />
|
||||
|
||||
<?php foreach( $schema_oclasses as $name => $oclass ) {
|
||||
if ( $viewvalue==null || 0 == strcasecmp( $viewvalue, $oclass->getName() ) ){
|
||||
if( ! is_null( $viewvalue ) )
|
||||
$viewed = true;
|
||||
if ( $viewvalue==null || 0 == strcasecmp( $viewvalue, $oclass->getName() ) ) {
|
||||
if( ! is_null( $viewvalue ) )
|
||||
$viewed = true;
|
||||
?>
|
||||
|
||||
|
||||
<h4 class="oclass"><a name="<?php echo $name; ?>"><?php echo $oclass->getName(); ?></a></h4>
|
||||
<h4 class="oclass_sub"><?php echo $lang['OID']; ?>: <b><?php echo $oclass->getOID(); ?></b></h4>
|
||||
|
||||
<?php if( $oclass->getDescription() ) { ?>
|
||||
<h4 class="oclass_sub"><?php echo $lang['desc']; ?>: <b><?php echo $oclass->getDescription(); ?></b></h4>
|
||||
<?php } ?>
|
||||
|
||||
<h4 class="oclass_sub"><?php echo $lang['type']; ?>: <b><?php echo $oclass->getType(); ?></b></h4>
|
||||
|
||||
<?php if( $oclass->getIsObsolete() == true ) { ?>
|
||||
<h4 class="oclass_sub"><?php echo $lang['is_obsolete']; ?></h4>
|
||||
<?php } ?>
|
||||
|
||||
<h4 class="oclass_sub"><?php echo $lang['inherits']; ?>: <b><?php
|
||||
<h4 class="oclass_sub"><?php echo $lang['inherits']; ?>: <b><?php
|
||||
|
||||
if( count( $oclass->getSupClasses() ) == 0 )
|
||||
echo "(" . $lang['none'] . ")";
|
||||
|
||||
else
|
||||
foreach( $oclass->getSupClasses() as $i => $object_class ) {
|
||||
echo '<a title="' . $lang['jump_to_this_oclass'] . ' "
|
||||
echo '<a title="' . $lang['jump_to_this_oclass'] . ' "
|
||||
href="?server_id='.$server_id.'&view='.$view.'&viewvalue='.htmlspecialchars( $object_class ) ;
|
||||
echo '">' . htmlspecialchars( $object_class ) . '</a>';
|
||||
|
||||
if( $i < count( $oclass->getSupClasses() ) - 1 )
|
||||
echo ', ';
|
||||
}
|
||||
?></b></h4>
|
||||
}
|
||||
?>
|
||||
</b></h4>
|
||||
|
||||
<h4 class="oclass_sub"><?php echo $lang['parent_to']; ?>: <b><?php
|
||||
|
||||
if( 0 == strcasecmp( $oclass->getName(), 'top' ) )
|
||||
echo "(<a href=\"schema.php?view=objectClasses&server_id=$server_id\">all</a>)";
|
||||
|
||||
<h4 class="oclass_sub"><?php echo $lang['parent_to']; ?>: <b><?php
|
||||
if( 0 == strcasecmp( $oclass->getName(), 'top' ) )
|
||||
echo "(<a href=\"schema.php?view=objectClasses&server_id=$server_id\">all</a>)";
|
||||
elseif( count( $oclass->getChildObjectClasses() ) == 0 )
|
||||
echo "(" . $lang['none'] . ")";
|
||||
|
||||
else
|
||||
foreach( $oclass->getChildObjectClasses() as $i => $object_class ) {
|
||||
echo '<a title="' . $lang['jump_to_this_oclass'] . ' "
|
||||
echo '<a title="' . $lang['jump_to_this_oclass'] . ' "
|
||||
href="?server_id='.$server_id.'&view='.$view.'&viewvalue='.htmlspecialchars( $object_class ) ;
|
||||
echo '">' . htmlspecialchars( $object_class ) . '</a>';
|
||||
|
||||
if( $i < count( $oclass->getChildObjectClasses() ) - 1 )
|
||||
echo ', ';
|
||||
}
|
||||
?></b></h4>
|
||||
}
|
||||
?>
|
||||
</b></h4>
|
||||
|
||||
<table width="100%" class="schema_oclasses">
|
||||
<tr>
|
||||
<th width="50%"><b><?php echo $lang['required_attrs']; ?></b></th>
|
||||
<th width="50%"><b><?php echo $lang['optional_attrs']; ?></b></th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
<?php if( count( $oclass->getMustAttrs($schema_oclasses) ) > 0 ) {
|
||||
echo '<ul class="schema">';
|
||||
|
||||
foreach( $oclass->getMustAttrs($schema_oclasses) as $attr ) {
|
||||
echo "<li><a href=\"?server_id=$server_id&view=attributes&viewvalue=";
|
||||
echo rawurlencode( $attr->getName() ). "\">" . htmlspecialchars($attr->getName());
|
||||
echo "</a>";
|
||||
if( $attr->getSource() != $oclass->getName() )
|
||||
{
|
||||
|
||||
if( $attr->getSource() != $oclass->getName() ) {
|
||||
echo "<br /><small> (".$lang['inherited_from']." ";
|
||||
echo "<a href=\"?server_id=$server_id&view=objectClasses&viewvalue=" . $attr->getSource() . "\">" . $attr->getSource() . "</a>";
|
||||
echo ")</small>";
|
||||
}
|
||||
|
||||
echo "</li>\n";
|
||||
}
|
||||
} else
|
||||
} else
|
||||
echo "<center>(" . $lang['none'] . ")</center>\n";
|
||||
?>
|
||||
</ul>
|
||||
</td>
|
||||
<td width="50%">
|
||||
<?php
|
||||
if( count( $oclass->getMayAttrs($schema_oclasses) ) > 0 ) {
|
||||
|
||||
<?php if( count( $oclass->getMayAttrs($schema_oclasses) ) > 0 ) {
|
||||
echo '<ul class="schema">';
|
||||
|
||||
foreach( $oclass->getMayAttrs($schema_oclasses) as $attr ) {
|
||||
echo "<li><a href=\"?server_id=$server_id&view=attributes&viewvalue=";
|
||||
echo rawurlencode( $attr->getName() ) . "\">" . htmlspecialchars($attr->getName() );
|
||||
echo "</a>\n";
|
||||
if( $attr->getSource() != $oclass->getName() )
|
||||
{
|
||||
|
||||
if( $attr->getSource() != $oclass->getName() ) {
|
||||
echo "<br /><small> (".$lang['inherited_from']." ";
|
||||
echo "<a href=\"?server_id=$server_id&view=objectClasses&viewvalue=" . $attr->getSource() . "\">" . $attr->getSource() . "</a>";
|
||||
echo ")</small>";
|
||||
}
|
||||
|
||||
echo "</li>";
|
||||
}
|
||||
}
|
||||
else
|
||||
} else
|
||||
echo "<center>(" . $lang['none'] . ")</center>\n";
|
||||
?>
|
||||
|
||||
@ -434,13 +477,13 @@ if( $view == 'syntaxes' ) {
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<?php } } /* End foreach objectClass */ ?>
|
||||
<?php } /* End else (displaying objectClasses */ ?>
|
||||
<?php }
|
||||
} /* End foreach objectClass */
|
||||
|
||||
<?php if( ! is_null( $viewvalue ) && ! $viewed )
|
||||
pla_error( sprintf( $lang['no_such_schema_item'], htmlspecialchars( $viewvalue ) ) );
|
||||
?>
|
||||
} /* End else (displaying objectClasses */
|
||||
|
||||
if( ! is_null( $viewvalue ) && ! $viewed )
|
||||
pla_error( sprintf( $lang['no_such_schema_item'], htmlspecialchars( $viewvalue ) ) ); ?>
|
||||
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
1494
schema_functions.php
1494
schema_functions.php
File diff suppressed because it is too large
Load Diff
388
search.php
388
search.php
@ -1,9 +1,7 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/search.php,v 1.58 2004/12/10 04:43:17 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/search.php,v 1.66 2005/03/26 01:07:32 wurley Exp $
|
||||
|
||||
/*
|
||||
* search.php
|
||||
/**
|
||||
* Perform LDAP searches and draw the advanced/simple search forms
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
@ -13,80 +11,56 @@
|
||||
* - attribute, criterion, filter
|
||||
* For advanced searches:
|
||||
* - base_dn, scope, filter
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
* @todo Search is probably broken, since base_dn is now an array
|
||||
*/
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
|
||||
// try to get an available server_id if one is not provided
|
||||
if( ! isset( $_GET['server_id'] ) )
|
||||
$server_id = get_avail_server_id();
|
||||
else {
|
||||
$server_id = $_GET['server_id'];
|
||||
check_server_id( $server_id ) or pla_error( $lang['bad_server_id'] );
|
||||
}
|
||||
$server_id = (isset($_REQUEST['server_id']) ? $_REQUEST['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
// Output format, table or list?
|
||||
$result_formats = array( 'list', 'table' );
|
||||
$format = isset( $_GET['format'] ) ? $_GET['format'] : get_default_search_display();
|
||||
if( ! in_array( $format, $result_formats ) )
|
||||
$format = 'list';
|
||||
|
||||
$js_on_change_string ='';
|
||||
if( isset( $_GET['form'] ) && $_GET['form'] == 'advanced' )
|
||||
$js_on_change_string =
|
||||
'onChange="document.forms[0].base_dn.value=servers[document.forms[0].server_id.value].getBaseDn()"';
|
||||
if( ! in_array( $format, $result_formats ) )
|
||||
$format = 'list';
|
||||
|
||||
// build the server drop-down html and JavaScript array (for base_dns)
|
||||
$js_on_change_string = '';
|
||||
if( isset( $_GET['form'] ) && $_GET['form'] == 'advanced' )
|
||||
$js_on_change_string =
|
||||
'onChange="document.forms[0].base_dn.value=servers[document.forms[0].server_id.value].base_dn"';
|
||||
|
||||
$server_info_list =array();
|
||||
$server_menu_html = server_select_list($server_id,true,'server_id',$js_on_change_string);
|
||||
$server_info_list = server_info_list();
|
||||
|
||||
$server_menu_html = '';
|
||||
if (count($servers)>1){
|
||||
$server_menu_html = '<select style="width: 200px" name="server_id" '.$js_on_change_string.'>';
|
||||
foreach( $servers as $id => $server ) {
|
||||
$base_dn = $server['base'] ? $server['base'] : try_to_get_root_dn( $id );
|
||||
$server_info_list[$id]['id'] = $id;
|
||||
$server_info_list[$id]['name'] = $server['name'];
|
||||
$server_info_list[$id]['base_dn'] = $base_dn;
|
||||
|
||||
if( $server['host'] ) {
|
||||
$server_menu_html .= '<option value="'.$id.'"' . ( $id==$server_id? ' selected="true"' : '' ) . '>';
|
||||
$server_menu_html .= $server['name'] . '</option>';
|
||||
}
|
||||
}
|
||||
$server_menu_html .= '</select>';
|
||||
} else {
|
||||
$server = reset($servers);
|
||||
$id = key($servers);
|
||||
$base_dn = $server['base'] ? $server['base'] : try_to_get_root_dn( $id );
|
||||
$server_info_list[$id]['id'] = $id;
|
||||
$server_info_list[$id]['name'] = $server['name'];
|
||||
$server_info_list[$id]['base_dn'] = $base_dn;
|
||||
if( $server['host'] )
|
||||
$server_menu_html .= '<input type="hidden" name="server_id" value="'.$id.'" />' .
|
||||
'<b>' . $server['name'] . '</b>';
|
||||
}
|
||||
|
||||
|
||||
$filter = isset( $_GET['filter'] ) ? $_GET['filter'] : null;
|
||||
$filter = isset( $_GET['filter'] ) ? clean_search_vals($_GET['filter']) : null;
|
||||
$attr = isset( $_GET['attribute'] ) ? $_GET['attribute'] : null;
|
||||
|
||||
// grab the base dn for the search
|
||||
if( isset( $_GET['base_dn'] ) ) {
|
||||
if( isset( $_GET['base_dn'] ) && $_GET['base_dn'] ) {
|
||||
$base_dn = $_GET['base_dn'];
|
||||
$base_dn_is_invalid = false;
|
||||
$base_dn_does_not_exist = false;
|
||||
if( trim( $base_dn ) )
|
||||
if( ! is_dn_string( $base_dn ) )
|
||||
$base_dn_is_invalid = true;
|
||||
elseif( ! dn_exists( $server_id, $base_dn ) )
|
||||
$base_dn_does_not_exist = true;
|
||||
} elseif( '' != $servers[$server_id]['base'] )
|
||||
$base_dn = $servers[$server_id]['base'];
|
||||
else
|
||||
$base_dn = try_to_get_root_dn( $server_id );
|
||||
|
||||
$base_dn_is_invalid = false;
|
||||
$base_dn_does_not_exist = false;
|
||||
|
||||
if( trim( $base_dn ) )
|
||||
if( ! is_dn_string( $base_dn ) )
|
||||
$base_dn_is_invalid = true;
|
||||
|
||||
elseif( ! dn_exists( $ldapserver, $base_dn ) )
|
||||
$base_dn_does_not_exist = true;
|
||||
|
||||
$base_dns = array($base_dn);
|
||||
} else
|
||||
$base_dns = $ldapserver->getBaseDN();
|
||||
|
||||
$criterion = isset( $_GET['criterion'] ) ? $_GET['criterion'] : null;
|
||||
$form = isset( $_GET['form'] ) ? $_GET['form'] : null;
|
||||
$scope = isset( $_GET['scope'] ) ? $_GET['scope'] : 'sub';
|
||||
@ -94,64 +68,57 @@ $scope = isset( $_GET['scope'] ) ? $_GET['scope'] : 'sub';
|
||||
include './header.php'; ?>
|
||||
|
||||
<body>
|
||||
|
||||
<center>
|
||||
|
||||
<?php if( $form == 'advanced' ) {
|
||||
|
||||
include 'search_form_advanced.php';
|
||||
<?php if( $form == 'advanced' ) {
|
||||
include './search_form_advanced.php';
|
||||
|
||||
} elseif( $form == 'predefined' ) {
|
||||
|
||||
include 'search_form_predefined.php';
|
||||
include './search_form_predefined.php';
|
||||
|
||||
} else /* Draw simple search form */ {
|
||||
|
||||
process_config();
|
||||
if( count( $search_attributes ) != count( $search_attributes_display ) )
|
||||
pla_error( $lang['mismatched_search_attr_config'] );
|
||||
include 'search_form_simple.php';
|
||||
|
||||
if( count( $search_attributes ) != count( $search_attributes_display ) )
|
||||
pla_error( $lang['mismatched_search_attr_config'] );
|
||||
|
||||
include './search_form_simple.php';
|
||||
} ?>
|
||||
|
||||
</center>
|
||||
|
||||
<?php
|
||||
<?php
|
||||
|
||||
flush();
|
||||
|
||||
if( isset( $_GET['search'] ) )
|
||||
{
|
||||
if( isset( $_GET['search'] ) ) {
|
||||
if( $form == 'advanced' ) {
|
||||
$search_result_attributes = isset( $_GET['display_attrs'] ) ?
|
||||
rawurldecode( $_GET['display_attrs'] ) :
|
||||
( isset( $search_result_attributes ) ?
|
||||
$search_result_attributes :
|
||||
"dn, cn" );
|
||||
$search_result_attributes = isset( $_GET['display_attrs'] ) ?
|
||||
rawurldecode( $_GET['display_attrs'] ) : ( isset( $search_result_attributes ) ?
|
||||
$search_result_attributes : "dn, cn" );
|
||||
|
||||
process_config();
|
||||
}
|
||||
}
|
||||
|
||||
// do we have enough authentication information for the specified server_id
|
||||
if( ! have_auth_info( $server_id ) )
|
||||
{
|
||||
$login_url = "login_form.php?server_id=$server_id&redirect=" . rawurlencode( $_SERVER['REQUEST_URI'] );
|
||||
?>
|
||||
if( ! $ldapserver->haveAuthInfo() ) {
|
||||
$login_url = sprintf('login_form.php?server_id=%s&redirect=%s',
|
||||
$server_id,rawurlencode($_SERVER['REQUEST_URI'])); ?>
|
||||
<center>
|
||||
<br />
|
||||
<?php echo $lang['you_have_not_logged_into_server']; ?><br />
|
||||
<a href="<?php echo $login_url; ?>"><?php echo $lang['click_to_go_to_login_form']; ?></a>.
|
||||
</center>
|
||||
|
||||
<?php
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
//making $predefined safe for "register_globals off"
|
||||
if( isset( $_GET['predefined'] ) )
|
||||
{
|
||||
if( isset( $_GET['predefined'] ) ) {
|
||||
$predefined = $_GET['predefined'];
|
||||
if( is_numeric( $predefined ) )
|
||||
{
|
||||
|
||||
if( is_numeric( $predefined ) ) {
|
||||
$query = get_cleaned_up_predefined_search( $predefined );
|
||||
|
||||
$search_result_attributes = $query['attributes'];
|
||||
@ -159,57 +126,67 @@ if( isset( $_GET['search'] ) )
|
||||
$search_attributes = $search_result_attributes;
|
||||
|
||||
process_config();
|
||||
|
||||
|
||||
$filter = $query['filter'];
|
||||
$scope = $query['scope'];
|
||||
$base_dn = $query['base'];
|
||||
$server_id = $query['server'];
|
||||
}
|
||||
} else {
|
||||
$predefined = '';
|
||||
if (is_array($query['base']))
|
||||
$base_dns = $query['base'];
|
||||
else
|
||||
$base_dns = array($query['base']);
|
||||
|
||||
$ldapserver = new LDAPServer($query['server']);
|
||||
}
|
||||
|
||||
} else {
|
||||
$predefined = '';
|
||||
}
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
|
||||
|
||||
if( $filter )
|
||||
{
|
||||
|
||||
if( $filter ) {
|
||||
// if they are using the simple search form, build an LDAP search filter from their input
|
||||
if( $form == 'simple' & ! is_numeric( $predefined ) )
|
||||
{
|
||||
if( $form == 'simple' & ! is_numeric( $predefined ) ) {
|
||||
|
||||
switch( $criterion ) {
|
||||
case 'starts with':
|
||||
// to fix bug 789113
|
||||
if( $filter == "*" )
|
||||
$filter = "";
|
||||
|
||||
$filter = "($attr=$filter*)";
|
||||
break;
|
||||
|
||||
case 'contains':
|
||||
// to fix bug 789113
|
||||
if( $filter == "*" )
|
||||
$filter = "($attr=*)";
|
||||
|
||||
else
|
||||
$filter = "($attr=*$filter*)";
|
||||
|
||||
break;
|
||||
|
||||
case 'ends with':
|
||||
// to fix bug 789113
|
||||
if( $filter == "*" )
|
||||
$filter = "";
|
||||
|
||||
$filter = "($attr=*$filter)";
|
||||
break;
|
||||
|
||||
case 'equals':
|
||||
$filter = "($attr=$filter)";
|
||||
break;
|
||||
|
||||
case 'sounds like':
|
||||
$filter = "($attr~=$filter)";
|
||||
break;
|
||||
|
||||
default:
|
||||
pla_error( $lang['unrecognized_criteria_option'] .
|
||||
htmlspecialchars( $criterion ) .
|
||||
$lang['if_you_want_to_add_criteria'] );
|
||||
pla_error( $lang['unrecognized_criteria_option'] .
|
||||
htmlspecialchars( $criterion ) .
|
||||
$lang['if_you_want_to_add_criteria'] );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
echo "<center>" . $lang['searching'] . "</center>\n";
|
||||
flush();
|
||||
|
||||
@ -217,37 +194,50 @@ if( isset( $_GET['search'] ) )
|
||||
@set_time_limit( 0 );
|
||||
|
||||
// grab the size limit set in config.php
|
||||
$size_limit = isset ( $search_result_size_limit ) && is_numeric( $search_result_size_limit ) ?
|
||||
$search_result_size_limit :
|
||||
50;
|
||||
// Sanity check
|
||||
if( $size_limit < 1 )
|
||||
$size_limit = 1;
|
||||
$size_limit = isset ( $search_result_size_limit ) && is_numeric( $search_result_size_limit ) ?
|
||||
$search_result_size_limit : 50;
|
||||
|
||||
// Sanity check
|
||||
if( $size_limit < 1 )
|
||||
$size_limit = 1;
|
||||
|
||||
$page = isset( $_GET['page'] ) ? $_GET['page'] : 0;
|
||||
|
||||
$time_start = utime();
|
||||
$time_elapsed = 0;
|
||||
|
||||
foreach ($base_dns as $base_dn) {
|
||||
if (! dn_exists( $ldapserver, $base_dn ) ) {
|
||||
debug_log(sprintf('BaseDN [%s] skipped as it doesnt exist in [%s].',$base_dn,$ldapserver->server_id),1);
|
||||
continue;
|
||||
} else {
|
||||
debug_log(sprintf('Search with base DN [%s]',$base_dn),9);
|
||||
}
|
||||
|
||||
if( $scope == 'base' )
|
||||
$results = @ldap_read( $ds, $base_dn, $filter, $search_result_attributes,
|
||||
0, 0, 0, get_search_deref_setting() );
|
||||
$results = @ldap_read( $ldapserver->connect(false), $base_dn, $filter, $search_result_attributes,
|
||||
0, 0, 0, get_search_deref_setting() );
|
||||
|
||||
elseif( $scope == 'one' )
|
||||
$results = @ldap_list( $ds, $base_dn, $filter, $search_result_attributes,
|
||||
0, 0, 0, get_search_deref_setting() );
|
||||
$results = @ldap_list( $ldapserver->connect(false), $base_dn, $filter, $search_result_attributes,
|
||||
0, 0, 0, get_search_deref_setting() );
|
||||
|
||||
else // scope == 'sub'
|
||||
$results = @ldap_search( $ds, $base_dn, $filter, $search_result_attributes,
|
||||
0, 0, 0, get_search_deref_setting() );
|
||||
$errno = @ldap_errno( $ds );
|
||||
$results = @ldap_search( $ldapserver->connect(false), $base_dn, $filter, $search_result_attributes,
|
||||
0, 0, 0, get_search_deref_setting() );
|
||||
|
||||
$errno = @ldap_errno( $ldapserver->connect(false) );
|
||||
|
||||
if( ! $results ) {
|
||||
pla_error( $lang['error_performing_search'], ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
pla_error( $lang['error_performing_search'], ldap_error( $ldapserver->connect(false) ), ldap_errno( $ldapserver->connect(false) ) );
|
||||
}
|
||||
|
||||
$time_end = utime();
|
||||
$time_elapsed = round( $time_end - $time_start, 2 );
|
||||
$count = @ldap_count_entries( $ds, $results );
|
||||
$time_elapsed += round( $time_end - $time_start, 2 );
|
||||
$count = @ldap_count_entries( $ldapserver->connect(), $results );
|
||||
|
||||
$start_entry = $page * $size_limit;
|
||||
$end_entry = min( $start_entry + $size_limit + 1, $count+1 );
|
||||
|
||||
?>
|
||||
|
||||
<table class="search_header">
|
||||
@ -260,119 +250,131 @@ if( isset( $_GET['search'] ) )
|
||||
|
||||
<small>
|
||||
<nobr>
|
||||
<?php echo "[ <a href=\"export_form.php?server_id=$server_id&scope=$scope&dn=" .
|
||||
urlencode($base_dn) . "&filter=" . urlencode($filter) . "&attributes=" .
|
||||
urlencode( join( ', ', $search_result_attributes ) ) . "\"><img src=\"images/save.png\" /> " .
|
||||
$lang['export_results'] . "</a> ]"; ?>
|
||||
<?php
|
||||
echo '[ <img src="images/rename.png" /> ' . $lang['format'] . ':';
|
||||
foreach( $result_formats as $f ) {
|
||||
echo ' ';
|
||||
if( $format == $f ) {
|
||||
echo '<b>' . $lang[$f] . '</b>';
|
||||
} else {
|
||||
$php_self = $_SERVER['PHP_SELF'];
|
||||
$query_string = array_to_query_string( $_GET, array( 'format' ) );
|
||||
$query_string .= "&format=$f";
|
||||
echo "<a href=\"$php_self?$query_string\">" . $lang[$f] . "</a>";
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php echo "[ <a href=\"export_form.php?server_id=$server_id&scope=$scope&dn=" .
|
||||
urlencode($base_dn) . "&filter=" . urlencode($filter) . "&attributes=" .
|
||||
urlencode( join( ', ', $search_result_attributes ) ) . "\"><img src=\"images/save.png\" /> " .
|
||||
$lang['export_results'] . "</a> ]";
|
||||
|
||||
echo '[ <img src="images/rename.png" /> ' . $lang['format'] . ':';
|
||||
|
||||
foreach( $result_formats as $f ) {
|
||||
echo ' ';
|
||||
|
||||
if( $format == $f ) {
|
||||
echo '<b>' . $lang[$f] . '</b>';
|
||||
|
||||
} else {
|
||||
$php_self = $_SERVER['PHP_SELF'];
|
||||
$query_string = array_to_query_string( $_GET, array( 'format' ) );
|
||||
$query_string .= "&format=$f";
|
||||
echo "<a href=\"$php_self?$query_string\">" . $lang[$f] . "</a>";
|
||||
}
|
||||
} ?>
|
||||
|
||||
]
|
||||
</small>
|
||||
</nobr>
|
||||
<?php if( $form == 'simple' || $form == 'predefined' ) { ?>
|
||||
<br /><nobr><small><?php echo $lang['filter_performed']; ?>
|
||||
<?php echo htmlspecialchars( $filter ); ?></small></nobr>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
<?php if( $form == 'simple' || $form == 'predefined' ) { ?>
|
||||
<br /><nobr><small><?php echo $lang['filter_performed']; ?>
|
||||
<?php echo htmlspecialchars( $filter ); ?></small></nobr>
|
||||
<?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<?php
|
||||
<?php
|
||||
|
||||
// The LDAP error code for the size limit exceeded error.
|
||||
define( 'SIZE_LIMIT_EXCEEDED', 4 );
|
||||
if( $errno && $errno == SIZE_LIMIT_EXCEEDED ) {
|
||||
echo "<br /><center><small>" . $lang['size_limit_exceeded'] . "</small></center><br />\n";
|
||||
}
|
||||
// The LDAP error code for the size limit exceeded error.
|
||||
define( 'SIZE_LIMIT_EXCEEDED', 4 );
|
||||
if( $errno && $errno == SIZE_LIMIT_EXCEEDED ) {
|
||||
echo "<br /><center><small style=\"color:red; white-space: nowrap\">" . $lang['size_limit_exceeded'] . "</small></center><br />\n";
|
||||
}
|
||||
|
||||
// Draw the paging links
|
||||
$pager_html = '';
|
||||
$total_pages = $count / $size_limit;
|
||||
$results_per_page = $size_limit;
|
||||
$pager_html = '';
|
||||
$total_pages = $count / $size_limit;
|
||||
$results_per_page = $size_limit;
|
||||
|
||||
if( $count > $size_limit ) {
|
||||
echo sprintf( $lang['showing_results_x_through_y'], "<b>" . number_format($start_entry+1) . "</b>", "<b>" . number_format($end_entry-1) . "</b>" ) . "<br />\n";
|
||||
echo sprintf( $lang['showing_results_x_through_y'], "<b>" . number_format($start_entry+1) . "</b>", "<b>" . number_format($end_entry-1) . "</b>" ) . "<br />\n";
|
||||
|
||||
$php_self = $_SERVER['PHP_SELF'];
|
||||
if( $page != 0 ) {
|
||||
if( $page != 0 ) {
|
||||
$query_string = array_to_query_string( $_GET, array( 'page' ) );
|
||||
$query_string .= '&page=' . ($page-1);
|
||||
$pager_html .= "<a title=\"" . sprintf( $lang['page_n'],$page ) . "\" href=\"$php_self?$query_string\">‹‹</a>";
|
||||
|
||||
} else {
|
||||
$pager_html .= "‹‹";
|
||||
}
|
||||
|
||||
$pager_html .= ' ';
|
||||
|
||||
// for large search results where we page beyone the first 20 pages,
|
||||
// print elipsis instead of making the pager be super wide.
|
||||
$elipsis_printed = false;
|
||||
// for large search results where we page beyone the first 20 pages,
|
||||
// print elipsis instead of making the pager be super wide.
|
||||
$elipsis_printed = false;
|
||||
for( $i=0; $i<$count; $i+=$size_limit ) {
|
||||
$page_num = $i/$size_limit;
|
||||
if( $count > $size_limit * 20 && abs( $page_num - $page ) > 10 ) {
|
||||
if( ! $elipsis_printed ) {
|
||||
$pager_html .= '... ';
|
||||
$elipsis_printed = true;
|
||||
}
|
||||
} else if( $page == $page_num ) {
|
||||
|
||||
if( $count > $size_limit * 20 && abs( $page_num - $page ) > 10 ) {
|
||||
|
||||
if( ! $elipsis_printed ) {
|
||||
$pager_html .= '... ';
|
||||
$elipsis_printed = true;
|
||||
}
|
||||
|
||||
} else if( $page == $page_num ) {
|
||||
$pager_html .= '<b>' . ($page_num + 1) . '</b>';
|
||||
$pager_html .= ' ';
|
||||
$elipsis_printed = false;
|
||||
$pager_html .= ' ';
|
||||
$elipsis_printed = false;
|
||||
|
||||
} else {
|
||||
$query_string = array_to_query_string( $_GET, array( 'page' ) );
|
||||
$query_string .= '&page=' . $page_num;
|
||||
$pager_html .= "<a href=\"$php_self?$query_string\">" . ($page_num+1) . "</a>";
|
||||
$pager_html .= ' ';
|
||||
$elipsis_printed = false;
|
||||
$pager_html .= ' ';
|
||||
$elipsis_printed = false;
|
||||
}
|
||||
}
|
||||
|
||||
if( $page+1 < $total_pages ) {
|
||||
$query_string = array_to_query_string( $_GET, array( 'page' ) );
|
||||
$query_string .= '&page=' . ($page+1);
|
||||
$pager_html .= "<a title=\"" . sprintf( $lang['page_n'],($page+2) ) . "\" href=\"$php_self?$query_string\">››</a>";
|
||||
|
||||
} else {
|
||||
$pager_html .= "››";
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if( 0 == $count )
|
||||
echo '<center><h2>' . $lang['no_results'] . '</h2></center>';
|
||||
else {
|
||||
echo '<center>' . $pager_html . '</center><br />';
|
||||
flush();
|
||||
if( $format == 'list' )
|
||||
include realpath( './search_results_list.php' );
|
||||
elseif( $format == 'table' )
|
||||
include realpath( './search_results_table.php' );
|
||||
else
|
||||
pla_error( sprintf( $lang['unrecoginzed_search_result_format'], htmlspecialchars( $format ) ) );
|
||||
echo '<br /><center>' . $pager_html . '</center>';
|
||||
}
|
||||
if( 0 == $count )
|
||||
echo '<center><h2>' . $lang['no_results'] . '</h2></center>';
|
||||
|
||||
?>
|
||||
else {
|
||||
echo '<center>' . $pager_html . '</center><br />';
|
||||
flush();
|
||||
|
||||
if( $format == 'list' )
|
||||
// $lang['list'] - this is here so check_lang_files doesnt prompt us to remove this $lang variable.
|
||||
include realpath( './search_results_list.php' );
|
||||
|
||||
elseif( $format == 'table' )
|
||||
// $lang['table'] - this is here so check_lang_files doesnt prompt us to remove this $lang variable.
|
||||
include realpath( './search_results_table.php' );
|
||||
|
||||
else
|
||||
pla_error( sprintf( $lang['unrecoginzed_search_result_format'], htmlspecialchars( $format ) ) );
|
||||
echo '<br /><center>' . $pager_html . '</center>';
|
||||
}
|
||||
} ?>
|
||||
|
||||
<br /><br />
|
||||
<div class="search_result"><center><span style="font-weight:normal;font-size:75%;">
|
||||
<?php echo $lang['search_duration']; ?>
|
||||
<b><?php echo $time_elapsed; ?></b> <?php echo $lang['seconds'];?>.</small></center></div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
<?php }
|
||||
} ?>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
@ -1,17 +1,23 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/search_form_advanced.php,v 1.19 2004/12/17 15:10:51 uugdave Exp $
|
||||
?><script>
|
||||
<?php
|
||||
$num_server = count($server_info_list);
|
||||
for($i=0;$i<$num_server;$i++){
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/search_form_advanced.php,v 1.21 2005/03/05 09:41:01 wurley Exp $
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
?>
|
||||
addToServersList(new server(<?php echo $i; ?>,"<?php echo $server_info_list[$i]['name']; ?>","<?php echo $server_info_list[$i]['base_dn']; ?>"));
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
function focus_filter() {
|
||||
|
||||
<script>
|
||||
|
||||
<?php foreach ($server_info_list as $i => $ignore) { ?>
|
||||
|
||||
addToServersList(new server(<?php echo $i; ?>,"<?php echo $server_info_list[$i]['name']; ?>","<?php echo $server_info_list[$i]['base_dn']; ?>"));
|
||||
|
||||
<?php } ?>
|
||||
|
||||
function focus_filter() {
|
||||
document.advanced_search_form.filter.focus();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<form action="search.php" method="get" class="search" name="advanced_search_form">
|
||||
@ -20,7 +26,7 @@ for($i=0;$i<$num_server;$i++){
|
||||
<input type="hidden" name="format" value="<?php echo $format; ?>" />
|
||||
|
||||
<center><b><?php echo $lang['advanced_search_form_str']; ?></b></center>
|
||||
<small>(<a href="search.php?server_id=<?php echo $server_id; ?>&form=simple"><?php echo $lang['simple_search_form_str']; ?></a> |
|
||||
<small>(<a href="search.php?server_id=<?php echo $server_id; ?>&form=simple"><?php echo $lang['simple_search_form_str']; ?></a> |
|
||||
<a href="search.php?form=predefined"><?php echo $lang['predefined_searches']; ?></a>)</small><br />
|
||||
<br />
|
||||
|
||||
@ -32,11 +38,17 @@ for($i=0;$i<$num_server;$i++){
|
||||
|
||||
<tr>
|
||||
<td><small><?php echo $lang['base_dn']; ?></small></td>
|
||||
<td><input type="text" name="base_dn" value="<?php echo htmlspecialchars($base_dn); ?>" style="width: 200px" id="base_dn" />
|
||||
<?php draw_chooser_link( 'advanced_search_form.base_dn' ); ?>
|
||||
<?php if( isset( $base_dn_is_invalid ) && $base_dn_is_invalid ) echo "<small style=\"color:red; white-space: nowrap\">" . $lang['this_base_dn_is_not_valid'] . "</small>"; ?>
|
||||
<?php if( isset( $base_dn_does_not_exist ) && $base_dn_does_not_exist ) echo "<small style=\"color:red; white-space: nowrap\">" . $lang['this_base_dn_does_not_exist'] . "</small>"; ?>
|
||||
</td>
|
||||
<td><input type="text" name="base_dn" value="<?php echo count($base_dns) == 1 ? $base_dns[0] : '' ?>" style="width: 200px" id="base_dn" />
|
||||
|
||||
<?php draw_chooser_link( 'advanced_search_form.base_dn' );
|
||||
|
||||
if( isset( $base_dn_is_invalid ) && $base_dn_is_invalid )
|
||||
echo "<small style=\"color:red; white-space: nowrap\">" . $lang['this_base_dn_is_not_valid'] . "</small>";
|
||||
|
||||
if( isset( $base_dn_does_not_exist ) && $base_dn_does_not_exist )
|
||||
echo "<small style=\"color:red; white-space: nowrap\">" . $lang['this_base_dn_does_not_exist'] . "</small>"; ?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@ -60,25 +72,27 @@ for($i=0;$i<$num_server;$i++){
|
||||
<tr>
|
||||
<td><small><acronym title="<?php echo $lang['standard_ldap_search_filter']; ?>">
|
||||
<?php echo $lang['search_filter']; ?></acronym></small></td>
|
||||
|
||||
<td><input type="text" name="filter" id="filter" style="width: 200px" value="<?php echo $filter ? htmlspecialchars($filter) : 'objectClass=*'; ?>" /></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><small><acronym title="<?php echo $lang['list_of_attrs_to_display_in_results']; ?>">
|
||||
<?php echo $lang['show_attributes']; ?></acronym></small></td>
|
||||
|
||||
<td><input type="text" name="display_attrs" style="width: 200px" value="<?php
|
||||
echo isset( $_GET['display_attrs'] ) ?
|
||||
htmlspecialchars( $_GET['display_attrs'] ) :
|
||||
echo isset( $_GET['display_attrs'] ) ?
|
||||
htmlspecialchars( $_GET['display_attrs'] ) :
|
||||
$search_result_attributes; ?>" />
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2"><br /><center><input type="submit" value="<?php echo $lang['Search']; ?>" /></center></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<script language="javascript">
|
||||
// Move the cursor to the filter field
|
||||
focus_filter();
|
||||
</script>
|
||||
|
||||
|
||||
|
@ -1,49 +1,65 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/search_form_predefined.php,v 1.6 2004/06/04 13:42:08 uugdave Exp $
|
||||
?><form action="search.php" method="get" class="search">
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/search_form_predefined.php,v 1.7 2005/02/25 13:44:06 wurley Exp $
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
?>
|
||||
|
||||
<form action="search.php" method="get" class="search">
|
||||
<input type="hidden" name="search" value="true" />
|
||||
<input type="hidden" name="form" value="predefined" />
|
||||
<input type="hidden" name="format" value="<?php echo $format; ?>" />
|
||||
|
||||
<table>
|
||||
<td>
|
||||
<?php
|
||||
if( isset( $_GET['predefined'] ) )
|
||||
$selected_q_number = intval( $_GET['predefined'] );
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
<?php if( isset( $_GET['predefined'] ) )
|
||||
$selected_q_number = intval( $_GET['predefined'] );
|
||||
|
||||
else
|
||||
$selected_q_number = null;
|
||||
?>
|
||||
<center><b><?php echo $lang['predefined_searches']; ?></b><br />
|
||||
<small>(<a href="search.php?server_id=<?php echo $server_id; ?>&form=simple"><?php echo $lang['simple_search_form_str']; ?></a> |
|
||||
$selected_q_number = null; ?>
|
||||
|
||||
<center><b><?php echo $lang['predefined_searches']; ?></b><br />
|
||||
<small>(<a href="search.php?server_id=<?php echo $server_id; ?>&form=simple"><?php echo $lang['simple_search_form_str']; ?></a> |
|
||||
<a href="search.php?server_id=<?php echo $server_id; ?>&form=advanced"><?php echo $lang['advanced_search_form_str']; ?></a>)</small><br />
|
||||
<br />
|
||||
<?php
|
||||
if( ! isset( $queries ) || ! is_array( $queries ) || 0 == count( $queries ) ) {
|
||||
<br />
|
||||
|
||||
<?php if( ! isset( $queries ) || ! is_array( $queries ) || 0 == count( $queries ) ) {
|
||||
echo "<br />\n";
|
||||
echo $lang['no_predefined_queries'];
|
||||
echo $lang['no_predefined_queries'];
|
||||
echo "<br />\n";
|
||||
echo "<br />\n";
|
||||
echo "<br />\n";
|
||||
echo "</td></table>\n";
|
||||
echo "</td></tr></table>\n";
|
||||
echo "</body>\n";
|
||||
echo "</html>\n";
|
||||
die();
|
||||
|
||||
} else { ?>
|
||||
|
||||
<small><?php echo $lang['predefined_search_str']; ?>: </small>
|
||||
<select name="predefined">
|
||||
<?php
|
||||
foreach( $queries as $q_number => $q ) {
|
||||
if ($selected_q_number === $q_number)
|
||||
$selected = " selected";
|
||||
else $selected = "";
|
||||
print("\t<option value=\"" . $q_number . "\"" . $selected . ">\n");
|
||||
print("\t" . htmlspecialchars( $q['name'] ) . "\n");
|
||||
print("\t</option>\n");
|
||||
}
|
||||
?>
|
||||
|
||||
<?php foreach( $queries as $q_number => $q ) {
|
||||
|
||||
if ($selected_q_number === $q_number)
|
||||
$selected = " selected";
|
||||
|
||||
else
|
||||
$selected = "";
|
||||
|
||||
print("\t<option value=\"" . $q_number . "\"" . $selected . ">\n");
|
||||
print("\t" . htmlspecialchars( $q['name'] ) . "\n");
|
||||
print("\t</option>\n");
|
||||
} ?>
|
||||
|
||||
</select>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<center><input type="submit" value="<?php echo $lang['Search']; ?>" /></center>
|
||||
|
@ -1,6 +1,12 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/search_form_simple.php,v 1.12 2004/10/28 13:37:39 uugdave Exp $
|
||||
?><script language="javascript">
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/search_form_simple.php,v 1.13 2005/02/25 13:44:06 wurley Exp $
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
?>
|
||||
|
||||
<script language="javascript">
|
||||
function focus_filter() {
|
||||
document.simple_search_form.filter.focus();
|
||||
}
|
||||
@ -13,47 +19,49 @@
|
||||
<input type="hidden" name="format" value="<?php echo $format; ?>" />
|
||||
|
||||
<table>
|
||||
<td>
|
||||
<center><b><?php echo $lang['simple_search_form_str']; ?></b><br />
|
||||
<small>(<a href="search.php?server_id=<?php echo $server_id; ?>&form=advanced"><?php echo $lang['advanced_search_form_str']; ?></a> |
|
||||
<tr>
|
||||
<td>
|
||||
<center><b><?php echo $lang['simple_search_form_str']; ?></b><br />
|
||||
<small>(<a href="search.php?server_id=<?php echo $server_id; ?>&form=advanced"><?php echo $lang['advanced_search_form_str']; ?></a> |
|
||||
<a href="search.php?form=predefined"><?php echo $lang['predefined_searches']; ?></a>)</small><br />
|
||||
</center>
|
||||
<br />
|
||||
</center>
|
||||
<br />
|
||||
|
||||
<small><?php echo $lang['server']; ?></small><br /> <?php echo $server_menu_html; ?><br />
|
||||
<br />
|
||||
<small><?php echo $lang['search_for_entries_whose']; ?></small><br />
|
||||
<small><?php echo $lang['server']; ?></small><br /> <?php echo $server_menu_html; ?><br />
|
||||
<br />
|
||||
<small><?php echo $lang['search_for_entries_whose']; ?></small><br />
|
||||
|
||||
<nobr>
|
||||
<select name="attribute">
|
||||
<?php foreach( $search_attributes as $id => $attribute ) { ?>
|
||||
<option value="<?php echo rawurlencode( $attribute ); ?>"<?php echo $attribute==$attr?' selected="true"':''; ?>>
|
||||
<?php echo htmlspecialchars($search_attributes_display[$id]); ?>
|
||||
</option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
<nobr>
|
||||
<select name="attribute">
|
||||
<?php foreach( $search_attributes as $id => $attribute ) { ?>
|
||||
<option value="<?php echo rawurlencode( $attribute ); ?>"<?php echo $attribute==$attr?' selected="true"':''; ?>>
|
||||
<?php echo htmlspecialchars($search_attributes_display[$id]); ?>
|
||||
</option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
|
||||
<select name="criterion">
|
||||
<select name="criterion">
|
||||
|
||||
<?php if( ! isset( $search_criteria_options ) || ! is_array( $search_criteria_options ) )
|
||||
$search_criteria_options = array( "equals", "starts with", "contains", "ends with", "sounds like" );
|
||||
|
||||
<?php
|
||||
if( ! isset( $search_criteria_options ) || ! is_array( $search_criteria_options ) )
|
||||
$search_criteria_options = array( "equals", "starts with", "contains", "ends with", "sounds like" );
|
||||
foreach( $search_criteria_options as $c ) { ?>
|
||||
<option value="<?php echo $c; ?>"<?php echo $c==$criterion?' selected="true"':''; ?>>
|
||||
<?php echo htmlspecialchars( $lang[$c] ); ?>
|
||||
</option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
|
||||
<input type="text" name="filter" id="filter" size="20" value="<?php echo htmlspecialchars($filter); ?>" /><br />
|
||||
<br />
|
||||
foreach( $search_criteria_options as $c ) { ?>
|
||||
<option value="<?php echo $c; ?>"<?php echo $c==$criterion?' selected="true"':''; ?>>
|
||||
<?php echo htmlspecialchars( $lang[$c] ); ?>
|
||||
</option>
|
||||
<?php } ?>
|
||||
</select>
|
||||
|
||||
<center><input type="submit" value="<?php echo $lang['Search']; ?>" /></center>
|
||||
</nobr>
|
||||
</td>
|
||||
<input type="text" name="filter" id="filter" size="20" value="<?php echo htmlspecialchars($filter); ?>" /><br />
|
||||
<br />
|
||||
|
||||
<center><input type="submit" value="<?php echo $lang['Search']; ?>" /></center>
|
||||
</nobr>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
<script language="javascript">
|
||||
// Move the cursor to the filter field
|
||||
focus_filter();
|
||||
|
@ -1,90 +1,92 @@
|
||||
<?php
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/search_results_list.php,v 1.4 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
$friendly_attrs = process_friendly_attr_table();
|
||||
$entry_id = ldap_first_entry( $ds, $results );
|
||||
$entry_id = ldap_first_entry( $ldapserver->connect(), $results );
|
||||
|
||||
// Iterate over each entry
|
||||
$i = 0;
|
||||
while( $entry_id ) {
|
||||
$i++;
|
||||
if( $i <= $start_entry ) {
|
||||
$entry_id = ldap_next_entry( $ds, $entry_id );
|
||||
continue;
|
||||
}
|
||||
if( $i >= $end_entry )
|
||||
break;
|
||||
$dn = ldap_get_dn( $ds, $entry_id );
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$rdn = get_rdn( $dn );
|
||||
?>
|
||||
$i++;
|
||||
|
||||
<div class="search_result">
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="images/<?php echo get_icon_use_cache( $server_id, $dn ); ?>" /></td>
|
||||
<td><a href="edit.php?server_id=<?php
|
||||
echo $server_id; ?>&dn=<?php echo $encoded_dn; ?>"><?php echo htmlspecialchars($rdn); ?></a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
if( $i <= $start_entry ) {
|
||||
$entry_id = ldap_next_entry( $ldapserver->connect(), $entry_id );
|
||||
continue;
|
||||
}
|
||||
|
||||
<table class="attrs">
|
||||
if( $i >= $end_entry )
|
||||
break;
|
||||
|
||||
<?php
|
||||
$dn = ldap_get_dn( $ldapserver->connect(), $entry_id );
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$rdn = get_rdn( $dn ); ?>
|
||||
|
||||
$attrs = ldap_get_attributes( $ds, $entry_id );
|
||||
$attr = ldap_first_attribute( $ds, $entry_id, $attrs );
|
||||
<div class="search_result">
|
||||
<table>
|
||||
<tr>
|
||||
<td><img src="images/<?php echo get_icon_use_cache( $ldapserver, $dn ); ?>" /></td>
|
||||
<td><a href="edit.php?server_id=<?php echo $server_id; ?>&dn=<?php echo $encoded_dn; ?>"><?php echo htmlspecialchars($rdn); ?></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
// Always print out the DN in the attribute list
|
||||
echo "<tr><td class=\"attr\" valign=\"top\">dn</td>";
|
||||
echo "<td>" . htmlspecialchars($dn) . "</td></tr>\n";
|
||||
<table class="attrs">
|
||||
|
||||
// Iterate over each attribute for this entry
|
||||
while( $attr ) {
|
||||
<?php $attrs = ldap_get_attributes( $ldapserver->connect(), $entry_id );
|
||||
$attr = ldap_first_attribute( $ldapserver->connect(), $entry_id, $attrs );
|
||||
|
||||
if( is_attr_binary( $server_id, $attr ) )
|
||||
$values = array( "(binary)" );
|
||||
else
|
||||
$values = ldap_get_values( $ds, $entry_id, $attr );
|
||||
if( isset( $values['count'] ) )
|
||||
unset( $values['count'] );
|
||||
// Always print out the DN in the attribute list
|
||||
echo "<tr><td class=\"attr\" valign=\"top\">dn</td>";
|
||||
echo "<td>" . htmlspecialchars($dn) . "</td></tr>\n";
|
||||
|
||||
if( isset( $friendly_attrs[ strtolower( $attr ) ] ) )
|
||||
$attr = "<acronym title=\"Alias for $attr\">" .
|
||||
htmlspecialchars( $friendly_attrs[ strtolower($attr) ] ) .
|
||||
"</acronym>";
|
||||
else
|
||||
$attr = htmlspecialchars( $attr );
|
||||
?>
|
||||
// Iterate over each attribute for this entry
|
||||
while( $attr ) {
|
||||
|
||||
<tr>
|
||||
<td class="attr" valign="top"><?php echo $attr; ?></td>
|
||||
<td class="val">
|
||||
<?php
|
||||
if( is_jpeg_photo( $server_id, $attr ) )
|
||||
draw_jpeg_photos( $server_id, $dn, $attr, false, false, 'align="left"' );
|
||||
else
|
||||
foreach( $values as $value )
|
||||
echo str_replace( ' ', ' ',
|
||||
htmlspecialchars( $value ) ) . "<br />\n";
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
$attr = ldap_next_attribute( $ds, $entry_id, $attrs );
|
||||
} // end while( $attr )
|
||||
if( is_attr_binary( $ldapserver, $attr ) )
|
||||
$values = array( "(binary)" );
|
||||
|
||||
?>
|
||||
else
|
||||
$values = ldap_get_values( $ldapserver->connect(), $entry_id, $attr );
|
||||
|
||||
if( isset( $values['count'] ) )
|
||||
unset( $values['count'] );
|
||||
|
||||
if( isset( $friendly_attrs[ strtolower( $attr ) ] ) )
|
||||
$attr = "<acronym title=\"Alias for $attr\">".htmlspecialchars( $friendly_attrs[ strtolower($attr) ] ) .
|
||||
"</acronym>";
|
||||
|
||||
else
|
||||
$attr = htmlspecialchars( $attr ); ?>
|
||||
|
||||
<tr>
|
||||
<td class="attr" valign="top"><?php echo $attr; ?></td>
|
||||
<td class="val">
|
||||
|
||||
<?php if( is_jpeg_photo( $ldapserver, $attr ) )
|
||||
draw_jpeg_photos( $ldapserver, $dn, $attr, false, false, 'align="left"' );
|
||||
|
||||
else
|
||||
foreach( $values as $value )
|
||||
echo str_replace( ' ', ' ', htmlspecialchars( $value ) ) . "<br />\n"; ?>
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php $attr = ldap_next_attribute( $ldapserver->connect(), $entry_id, $attrs );
|
||||
|
||||
} // end while( $attr ) ?>
|
||||
|
||||
</table>
|
||||
|
||||
<?php
|
||||
<?php $entry_id = ldap_next_entry( $ldapserver->connect(), $entry_id );
|
||||
|
||||
$entry_id = ldap_next_entry( $ds, $entry_id );
|
||||
|
||||
// flush every 5th entry (sppeds things up a bit)
|
||||
if( 0 == $i % 5 )
|
||||
flush();
|
||||
// flush every 5th entry (speeds things up a bit)
|
||||
if( 0 == $i % 5 )
|
||||
flush();
|
||||
|
||||
} // end while( $entry_id )
|
||||
?>
|
||||
|
@ -1,17 +1,18 @@
|
||||
<?php
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/search_results_table.php,v 1.6 2005/03/05 06:27:06 wurley Exp $
|
||||
|
||||
/**
|
||||
* Incoming variables (among others)
|
||||
* $results: The result of ldap_search(), ldap_list(), or ldap_read().
|
||||
* $ds: LDAP connection resource.
|
||||
* $ldapserver: LDAP Server Object.
|
||||
* $start_entry: The index of the entry at which to begin displaying
|
||||
* $end_entry: The index of the entry at which to end displaying
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
|
||||
$friendly_attrs = process_friendly_attr_table();
|
||||
$entry_id = ldap_first_entry( $ds, $results );
|
||||
$all_attrs = array( '' => 1,
|
||||
'dn' => 1 );
|
||||
$entry_id = ldap_first_entry( $ldapserver->connect(), $results );
|
||||
$all_attrs = array( '' => 1, 'dn' => 1 );
|
||||
|
||||
// Iterate over each entry and store the whole dang thing in memory (necessary to extract
|
||||
// all attribute names and display in table format in a single pass)
|
||||
@ -21,21 +22,21 @@ $entries_display = array();
|
||||
while( $entry_id ) {
|
||||
$i++;
|
||||
if( $i <= $start_entry ) {
|
||||
$entry_id = ldap_next_entry( $ds, $entry_id );
|
||||
$entry_id = ldap_next_entry( $ldapserver->connect(), $entry_id );
|
||||
continue;
|
||||
}
|
||||
if( $i >= $end_entry )
|
||||
break;
|
||||
$dn = ldap_get_dn( $ds, $entry_id );
|
||||
$dn_display = strlen( $dn ) > 40 ? "<acronym title=\"" . htmlspecialchars( $dn ) . "\">" .
|
||||
$dn = ldap_get_dn( $ldapserver->connect(), $entry_id );
|
||||
$dn_display = strlen( $dn ) > 40 ? "<acronym title=\"" . htmlspecialchars( $dn ) . "\">" .
|
||||
htmlspecialchars( substr( $dn, 0, 40 ) . '...' ) .
|
||||
"</acronym>"
|
||||
: htmlspecialchars( $dn );
|
||||
$encoded_dn = rawurlencode( $dn );
|
||||
$rdn = get_rdn( $dn );
|
||||
$icon = get_icon_use_cache( $server_id, $dn );
|
||||
$attrs = ldap_get_attributes( $ds, $entry_id );
|
||||
$attr = ldap_first_attribute( $ds, $entry_id, $attrs );
|
||||
$icon = get_icon_use_cache( $ldapserver, $dn );
|
||||
$attrs = ldap_get_attributes( $ldapserver->connect(), $entry_id );
|
||||
$attr = ldap_first_attribute( $ldapserver->connect(), $entry_id, $attrs );
|
||||
$attrs_display = array();
|
||||
$edit_url = "edit.php?server_id=$server_id&dn=$encoded_dn";
|
||||
$attrs_display[''] = "<center><a href=\"$edit_url\"><img src=\"images/$icon\" /></a><center>";
|
||||
@ -47,7 +48,7 @@ while( $entry_id ) {
|
||||
|
||||
// Clean up the attr name
|
||||
if( isset( $friendly_attrs[ strtolower( $attr ) ] ) )
|
||||
$attr_display = "<acronym title=\"Alias for $attr\">" .
|
||||
$attr_display = "<acronym title=\"Alias for $attr\">" .
|
||||
htmlspecialchars( $friendly_attrs[ strtolower($attr) ] ) .
|
||||
"</acronym>";
|
||||
else
|
||||
@ -58,15 +59,15 @@ while( $entry_id ) {
|
||||
|
||||
// Get the values
|
||||
$display = '';
|
||||
if( is_jpeg_photo( $server_id, $attr ) ) {
|
||||
if( is_jpeg_photo( $ldapserver, $attr ) ) {
|
||||
ob_start();
|
||||
draw_jpeg_photos( $server_id, $dn, $attr, false, false, 'align="center"' );
|
||||
draw_jpeg_photos( $ldapserver, $dn, $attr, false, false, 'align="center"' );
|
||||
$display = ob_get_contents();
|
||||
ob_end_clean();
|
||||
} elseif( is_attr_binary( $server_id, $attr ) ) {
|
||||
} elseif( is_attr_binary( $ldapserver, $attr ) ) {
|
||||
$display = array( "(binary)" );
|
||||
} else {
|
||||
$values = @ldap_get_values( $ds, $entry_id, $attr );
|
||||
$values = @ldap_get_values( $ldapserver->connect(), $entry_id, $attr );
|
||||
if( ! is_array( $values ) ) {
|
||||
$display = 'Error';
|
||||
} else {
|
||||
@ -78,7 +79,7 @@ while( $entry_id ) {
|
||||
}
|
||||
}
|
||||
$attrs_display[ $attr_display ] = $display;
|
||||
$attr = ldap_next_attribute( $ds, $entry_id, $attrs );
|
||||
$attr = ldap_next_attribute( $ldapserver->connect(), $entry_id, $attrs );
|
||||
} // end while( $attr )
|
||||
|
||||
$entries_display[] = $attrs_display;
|
||||
@ -86,7 +87,7 @@ while( $entry_id ) {
|
||||
//echo '<pre>';
|
||||
//print_r( $attrs_display );
|
||||
//echo "\n\n";
|
||||
$entry_id = ldap_next_entry( $ds, $entry_id );
|
||||
$entry_id = ldap_next_entry( $ldapserver->connect(), $entry_id );
|
||||
|
||||
} // end while( $entry_id )
|
||||
|
||||
@ -126,5 +127,7 @@ for( $i=0; $i<count($entries_display); $i++ ) {
|
||||
}
|
||||
echo "</tr>\n";
|
||||
}
|
||||
|
||||
echo "</table>";
|
||||
echo "</center>";
|
||||
?>
|
||||
|
838
server_functions.php
Normal file
838
server_functions.php
Normal file
@ -0,0 +1,838 @@
|
||||
<?php
|
||||
/* $Header: /cvsroot/phpldapadmin/phpldapadmin/server_functions.php,v 1.9 2005/03/25 15:45:01 wurley Exp $ */
|
||||
|
||||
/**
|
||||
* Classes and functions for LDAP server configuration and capability
|
||||
*
|
||||
* @author The phpLDAPadmin development team
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
/**
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
class LDAPServer
|
||||
{
|
||||
/** Server ID as defined in config.php */
|
||||
var $server_id;
|
||||
/** Server Name as defined in config.php */
|
||||
var $name;
|
||||
/** Server Hostname as defined in config.php */
|
||||
var $host;
|
||||
/** Server Port as defined in config.php */
|
||||
var $port;
|
||||
/** Server Authentication method as defined in config.php */
|
||||
var $auth_type;
|
||||
/** Server Authentication Login DN as defined in config.php */
|
||||
var $login_dn;
|
||||
/** Server Authentication Password as defined in config.php */
|
||||
var $login_pass;
|
||||
/** Array of our connections to this LDAP server */
|
||||
var $connections = array();
|
||||
/** Server Base Dn */
|
||||
var $_baseDN;
|
||||
|
||||
/** Default constructor.
|
||||
* @param int $server_id the server_id of the LDAP server as defined in config.php
|
||||
* @todo Need some error checking here in case the config is screwed.
|
||||
*/
|
||||
function LDAPServer($server_id,$ignore=true)
|
||||
{
|
||||
global $servers, $lang;
|
||||
|
||||
// Other Internal Values
|
||||
$this->_baseDN = null;
|
||||
$this->_schemaDN = null;
|
||||
|
||||
$this->server_id = $server_id;
|
||||
$this->name = isset( $servers[$server_id]['name'] ) ? $servers[$server_id]['name'] : '';
|
||||
$this->auth_type = isset( $servers[$server_id]['auth_type'] ) ? $servers[$server_id]['auth_type'] : '';
|
||||
|
||||
if ($this->isValidServer($server_id)) {
|
||||
$this->host = isset( $servers[$server_id]['host'] ) ? $servers[$server_id]['host'] : '';
|
||||
$this->port = isset( $servers[$server_id]['port'] ) ? $servers[$server_id]['port'] : '';
|
||||
|
||||
} else {
|
||||
|
||||
if (! $ignore)
|
||||
pla_error ( $lang['bad_server_id']." ($server_id)",null,-1,true );
|
||||
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
$this->login_dn = isset( $servers[$server_id]['login_dn'] ) ? $servers[$server_id]['login_dn'] : false;
|
||||
$this->login_pass = isset( $servers[$server_id]['login_pass'] ) ? $servers[$server_id]['login_pass'] : false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks the specified server id for sanity. Ensures that the server is indeed in the configured
|
||||
* list and active. This is used by many many scripts to ensure that valid server ID values
|
||||
* are passed in POST and GET.
|
||||
*
|
||||
* @param int $server_id the server_id of the LDAP server as defined in config.php
|
||||
* @return bool
|
||||
*/
|
||||
function isValidServer( $server_id )
|
||||
{
|
||||
global $servers;
|
||||
|
||||
if( ! is_numeric( $server_id )
|
||||
|| ! isset( $servers[$server_id] )
|
||||
|| ! isset( $servers[$server_id]['host'] )
|
||||
|| trim($servers[$server_id]['host']) == '' )
|
||||
return false;
|
||||
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if there is sufficent information to Authenticate to the LDAP server.
|
||||
*
|
||||
* Given a server, returns whether or not we have enough information
|
||||
* to authenticate against the server. For example, if the user specifies
|
||||
* auth_type of 'cookie' in the config for that server, it checks the $_COOKIE array to
|
||||
* see if the cookie username and password is set for the server. If the auth_type
|
||||
* is 'session', the $_SESSION array is checked.
|
||||
*
|
||||
* There are three cases for this function depending on the auth_type configured for
|
||||
* the specified server. If the auth_type is session or cookie, then get_logged_in_dn() is
|
||||
* called to verify that the user has logged in. If the auth_type is config, then the
|
||||
* $servers array in config.php is checked to ensure that the user has specified
|
||||
* login information. In any case, if phpLDAPadmin has enough information to login
|
||||
* to the server, true is returned. Otherwise false is returned.
|
||||
*
|
||||
* @return bool
|
||||
* @see get_logged_in_dn
|
||||
*/
|
||||
function haveAuthInfo()
|
||||
{
|
||||
global $servers;
|
||||
|
||||
// For session or cookie auth_types, we check the session or cookie to see if a user has logged in.
|
||||
if( in_array( $this->auth_type, array( 'session', 'cookie' ) ) ) {
|
||||
|
||||
// we don't look at get_logged_in_pass() cause it may be null for anonymous binds
|
||||
// get_logged_in_dn() will never return null if someone is really logged in.
|
||||
if( get_logged_in_dn( $this ) )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
// whether or not the login_dn or pass is specified, we return
|
||||
// true here. (if they are blank, we do an anonymous bind anyway)
|
||||
elseif( ! isset( $server['auth_type'] ) || $server['auth_type'] == 'config' ) {
|
||||
return true;
|
||||
|
||||
} else {
|
||||
global $lang;
|
||||
pla_error( sprintf($lang['error_auth_type_config'],htmlspecialchars($server['auth_type'])) );
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Connect to the LDAP server.
|
||||
|
||||
* @param bool $anonymous Connect as the anonymous user.
|
||||
* @param bool $reconnect Use a cached connetion, or create a new one.
|
||||
* @returns resource|false Connection resource to LDAP server, or false if no connection made.
|
||||
* @todo Need to make changes so that multiple connects can be made.
|
||||
*/
|
||||
function connect($process_error=true,$anonymous=false,$reconnect=false,$connect_num=0)
|
||||
{
|
||||
debug_log(sprintf('%s::connect(): Starting with (%s,%s,%s,%s)',get_class($this),$process_error,$anonymous,$reconnect,$connect_num),8);
|
||||
|
||||
if (isset($this->connections[$connect_num]['resource']) && ! $reconnect) {
|
||||
debug_log(sprintf('%s::connect(): Returning CACHED connection resource [%s](%s)',get_class($this),$this->connections[$connect_num]['resource'
|
||||
],$connect_num),7);
|
||||
return $this->connections[$connect_num]['resource'];
|
||||
|
||||
} else {
|
||||
|
||||
debug_log(sprintf('%s::connect(): Creating new connection #[%s] for Server ID [%s]',get_class($this),$connect_num,$this->server_id),9);
|
||||
|
||||
global $servers, $lang;
|
||||
|
||||
if( $anonymous == true ) {
|
||||
debug_log(sprintf('%s::connect(): This IS an anonymous login',get_class($this)),9);
|
||||
$this->connections[$connect_num]['login_dn'] = null;
|
||||
$this->connections[$connect_num]['login_pass'] = null;
|
||||
} // grab the auth info based on the auth_type for this server
|
||||
|
||||
elseif( $this->auth_type == 'config' ) {
|
||||
debug_log(sprintf('%s::connect(): This IS a "config" login',get_class($this)),9);
|
||||
$this->connections[$connect_num]['login_dn'] = $servers[$this->server_id]['login_dn'];
|
||||
$this->connections[$connect_num]['login_pass'] = $servers[$this->server_id]['login_pass'];
|
||||
$this->connections[$connect_num]['login_dn'] = expand_dn_with_base( $this, $this->connections[$connect_num]['login_dn'], false );
|
||||
debug_log(sprintf('%s::connect(): Config settings, DN [%s], PASS [%s]',get_class($this),
|
||||
$this->connections[$connect_num]['login_dn'],
|
||||
$this->connections[$connect_num]['login_pass'] ? md5($this->connections[$connect_num]['login_pass']) : ''),9);
|
||||
|
||||
} else {
|
||||
debug_log(sprintf('%s::connect(): This IS some other login',get_class($this)),9);
|
||||
$this->connections[$connect_num]['login_dn'] = get_logged_in_dn( $this );
|
||||
$this->connections[$connect_num]['login_pass'] = get_logged_in_pass( $this );
|
||||
debug_log(sprintf('%s::connect(): Config settings, DN [%s], PASS [%s]',get_class($this),
|
||||
$this->connections[$connect_num]['login_dn'],
|
||||
$this->connections[$connect_num]['login_pass'] ? md5($this->connections[$connect_num]['login_pass']) : ''),9);
|
||||
|
||||
// Was this an anonyous bind (the cookie stores 0 if so)?
|
||||
if( 'anonymous' == $this->connections[$connect_num]['login_dn'] ) {
|
||||
$this->connections[$connect_num]['login_dn'] = null;
|
||||
$this->connections[$connect_num]['login_pass'] = null;
|
||||
$anonymous = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (! $anonymous && ! $this->connections[$connect_num]['login_dn'] && ! $this->connections[$connect_num]['login_pass']) {
|
||||
debug_log(sprintf('%s::connect(): We dont have enough auth info for server [%s]',get_class($this),$this->server_id),9);
|
||||
return false;
|
||||
}
|
||||
|
||||
run_hook ( 'pre_connect', array ( 'server_id' => $this->server_id,
|
||||
'connect_num' => $connect_num,
|
||||
'anonymous' => $anonymous ) );
|
||||
|
||||
if( $this->port )
|
||||
$resource = @ldap_connect( $this->host, $this->port );
|
||||
else
|
||||
$resource = @ldap_connect( $this->host );
|
||||
|
||||
debug_log(sprintf('%s::connect(): LDAP Resource [%s], Host [%s], Port [%s]',get_class($this),$resource,$this->host,$this->port),9);
|
||||
|
||||
// go with LDAP version 3 if possible (needed for renaming and Novell schema fetching)
|
||||
@ldap_set_option( $resource, LDAP_OPT_PROTOCOL_VERSION, 3 );
|
||||
|
||||
// Disabling this makes it possible to browse the tree for Active Directory, and seems
|
||||
// to not affect other LDAP servers (tested with OpenLDAP) as phpLDAPadmin explicitly
|
||||
// specifies deref behavior for each ldap_search operation.
|
||||
@ldap_set_option( $resource, LDAP_OPT_REFERRALS, 0);
|
||||
|
||||
// try to fire up TLS is specified in the config
|
||||
if( $this->isTLSEnabled() ) {
|
||||
function_exists( 'ldap_start_tls' ) or pla_error( $lang['php_install_not_supports_tls'] );
|
||||
@ldap_start_tls( $resource ) or pla_error( $lang['could_not_start_tls'], ldap_error($resource));
|
||||
}
|
||||
|
||||
$bind_result = @ldap_bind( $resource, $this->connections[$connect_num]['login_dn'],
|
||||
$this->connections[$connect_num]['login_pass'] );
|
||||
|
||||
debug_log(sprintf('%s::connect(): Resource [%s], Bind Result [%s]',
|
||||
get_class($this),$resource,$bind_result),9);
|
||||
|
||||
if( ! $bind_result ) {
|
||||
debug_log(sprintf('%s::connect(): Leaving with FALSE, bind FAILed',get_class($this)),9);
|
||||
|
||||
if ($process_error) {
|
||||
switch( ldap_errno($resource) ) {
|
||||
case 0x31:
|
||||
pla_error( $lang['bad_user_name_or_password'] );
|
||||
break;
|
||||
case 0x32:
|
||||
pla_error( $lang['insufficient_access_rights'] );
|
||||
break;
|
||||
case -1:
|
||||
pla_error( sprintf($lang['could_not_connect_to_host_on_port'],$this->host,$this->port) );
|
||||
break;
|
||||
default:
|
||||
pla_error( $lang['could_not_bind'], ldap_err2str( $resource ), $resource );
|
||||
}
|
||||
} else {
|
||||
return false; // ldap_errno( $resource );
|
||||
}
|
||||
}
|
||||
|
||||
if (is_resource($resource) && ($bind_result)) {
|
||||
debug_log(sprintf('%s::connect(): Bind successful',get_class($this)),9);
|
||||
$this->connections[$connect_num]['connected'] = true;
|
||||
$this->connections[$connect_num]['resource'] = $resource;
|
||||
|
||||
/*
|
||||
} else {
|
||||
if ($process_error) {
|
||||
debug_log(sprintf('Server: [%s], Username: [%s], Password: [%s]',
|
||||
$this->server_id,
|
||||
$this->connections[$connect_num]['login_dn'],
|
||||
$this->connections[$connect_num]['login_pass']),9);
|
||||
|
||||
if( is_numeric( $resource ) ) {
|
||||
switch( $resource ) {
|
||||
case -1: pla_error( $lang['bad_server_id'] ); break;
|
||||
case -2: pla_error( $lang['not_enough_login_info'] ); break;
|
||||
default: pla_error( $lang['ferror_error'] ); break;
|
||||
}
|
||||
// return true; Do we get here?
|
||||
}
|
||||
|
||||
switch( $resource ) {
|
||||
case 0x31:
|
||||
pla_error( $lang['bad_user_name_or_password'] );
|
||||
break;
|
||||
case 0x32:
|
||||
pla_error( $lang['insufficient_access_rights'] );
|
||||
break;
|
||||
case 0x5b:
|
||||
pla_error( $lang['could_not_connect'] );
|
||||
break;
|
||||
default:
|
||||
pla_error( $lang['could_not_bind'], ldap_err2str( $this->connections[$connect_num]['resource'] ), $this->connections[$connect_num]['resource'] );
|
||||
}
|
||||
|
||||
}
|
||||
debug_log(sprintf('%s::connect(): Leaving with FALSE',get_class($this)),9);
|
||||
return false;
|
||||
*/
|
||||
}
|
||||
}
|
||||
debug_log(sprintf('%s::connect(): Leaving with Connect #[%s], Resource [%s]',get_class($this),$connect_num,$this->connections[$connect_num]['resource']),9);
|
||||
|
||||
return $this->connections[$connect_num]['resource'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the root DN of the specified LDAPServer, or null if it
|
||||
* can't find it (ie, the server won't give it to us, or it isnt
|
||||
* specified in the configuration file).
|
||||
*
|
||||
* Tested with OpenLDAP 2.0, Netscape iPlanet, and Novell eDirectory 8.7 (nldap.com)
|
||||
* Please report any and all bugs!!
|
||||
*
|
||||
* Please note: On FC systems, it seems that php_ldap uses /etc/openldap/ldap.conf in
|
||||
* the search base if it is blank - so edit that file and comment out the BASE line.
|
||||
*
|
||||
* @return array dn|null The root DN of the server on success (string) or null on error.
|
||||
* @todo Sort the entries, so that they are in the correct DN order.
|
||||
*/
|
||||
function getBaseDN()
|
||||
{
|
||||
global $servers;
|
||||
|
||||
debug_log(sprintf('%s::getBaseDN(): Looking for BaseDN',get_class($this)),8);
|
||||
// Return the cached entry if we've been here before.
|
||||
if (! is_null($this->_baseDN)) {
|
||||
debug_log(sprintf('%s::getBaseDN(): Return CACHED BaseDN [%s]',get_class($this),implode('|',$this->_baseDN)),7);
|
||||
return $this->_baseDN;
|
||||
}
|
||||
|
||||
debug_log(sprintf('%s::getBaseDN(): Checking config for BaseDN',get_class($this)),9);
|
||||
// If the base is set in the configuration file, then just return that.
|
||||
// @todo Do we need to test if the config array is blank?
|
||||
if (isset($servers[$this->server_id]['base']) && $servers[$this->server_id]['base']) {
|
||||
$this->_baseDN = is_array($servers[$this->server_id]['base']) ? $servers[$this->server_id]['base'] : array($servers[$this->server_id]['base']);
|
||||
debug_log(sprintf('%s::getBaseDN(): Return BaseDN from Config [%s]',get_class($this),implode('|',$this->_baseDN)),4);
|
||||
return $this->_baseDN;
|
||||
|
||||
// We need to figure it out.
|
||||
} else {
|
||||
|
||||
debug_log(sprintf('%s::getBaseDN(): Connect to LDAP to find BaseDN',get_class($this)),9);
|
||||
// Are we connected
|
||||
// @todo This bit needs to be more robust.
|
||||
if ($this->connect()) {
|
||||
$r = @ldap_read( $this->connect(), "", 'objectClass=*', array( 'namingContexts' ) );
|
||||
debug_log(sprintf('%s::getBaseDN(): Search Results [%s], Resource [%s], Msg [%s]',get_class($this),$r,$this->connect(),ldap_error($this->connect())),9);
|
||||
if( ! $r )
|
||||
return array('');
|
||||
|
||||
$r = @ldap_get_entries( $this->connect(false), $r );
|
||||
if( isset( $r[0]['namingcontexts'] ) ) {
|
||||
|
||||
// If we have a count key, delete it - dont need it.
|
||||
if (isset($r[0]['namingcontexts']['count']))
|
||||
unset($r[0]['namingcontexts']['count']);
|
||||
|
||||
debug_log(sprintf('%s::getBaseDN(): LDAP Entries:%s',get_class($this),implode('|',$r[0]['namingcontexts'])),5);
|
||||
$this->_baseDN = $r[0]['namingcontexts'];
|
||||
// @todo Do we need this session?
|
||||
//$_SESSION[ "pla_root_dn_$this->server_id" ] = $this->_baseDN;
|
||||
return $this->_baseDN;
|
||||
|
||||
} else {
|
||||
return array('');
|
||||
}
|
||||
|
||||
} else {
|
||||
return array('');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the specified server is configured to be displayed
|
||||
* in read only mode.
|
||||
*
|
||||
* If a user has logged in via anonymous bind, and config.php specifies
|
||||
* anonymous_bind_implies_read_only as true, then
|
||||
* this also returns true. Servers can be configured read-only in
|
||||
* config.php thus:
|
||||
* <code>
|
||||
* $server[$i]['read_only'] = true;
|
||||
* </code>
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function isReadOnly()
|
||||
{
|
||||
global $servers;
|
||||
|
||||
if( isset( $servers[$this->server_id]['read_only'] ) &&
|
||||
$servers[$this->server_id]['read_only'] == true )
|
||||
return true;
|
||||
|
||||
global $anonymous_bind_implies_read_only;
|
||||
|
||||
if( "anonymous" == get_logged_in_dn( $this ) &&
|
||||
isset( $anonymous_bind_implies_read_only ) &&
|
||||
$anonymous_bind_implies_read_only == true )
|
||||
return true;
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the user has configured the specified server to enable mass deletion.
|
||||
*
|
||||
* Mass deletion is enabled in config.php this:
|
||||
* <code>
|
||||
* $enable_mass_delete = true;
|
||||
* </code>
|
||||
* Notice that mass deletes are not enabled on a per-server basis, but this
|
||||
* function checks that the sever is not in a read-only state as well.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function isMassDeleteEnabled()
|
||||
{
|
||||
global $enable_mass_delete;
|
||||
|
||||
if( $this->connect(false) &&
|
||||
$this->haveAuthInfo() &&
|
||||
! $this->isReadOnly() &&
|
||||
isset( $enable_mass_delete ) &&
|
||||
true === $enable_mass_delete )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets whether the admin has configured phpLDAPadmin to show the "Create New" link in the tree viewer.
|
||||
*
|
||||
* <code>
|
||||
* $server[$i]['show_create'] = true|false;
|
||||
* </code>
|
||||
* If $servers[$server_id]['show_create'] is NOT set, then default to show the Create New item.
|
||||
* If $servers[$server_id]['show_create'] IS set, then return the value (it should be true or false).
|
||||
*
|
||||
* @return bool True if the feature is enabled and false otherwise.
|
||||
*/
|
||||
function isShowCreateEnabled()
|
||||
{
|
||||
global $servers;
|
||||
|
||||
if( isset( $servers[$this->server_id]['show_create'] ))
|
||||
return $servers[$this->server_id]['show_create'];
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch whether the user has configured a certain server as "low bandwidth".
|
||||
*
|
||||
* Users may choose to configure a server as "low bandwidth" in config.php thus:
|
||||
* <code>
|
||||
* $servers[$i]['low_bandwidth'] = true;
|
||||
* </code>
|
||||
* @return bool
|
||||
*/
|
||||
function isLowBandwidth()
|
||||
{
|
||||
global $servers;
|
||||
|
||||
if( isset( $servers[$this->server_id]['low_bandwidth'] ) && true == $servers[$this->server_id]['low_bandwidth'] )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Should this LDAP server be shown in the tree?
|
||||
*
|
||||
* <code>
|
||||
* $server[$i]['visible'] = true;
|
||||
* </code>
|
||||
* @return bool True if the feature is enabled and false otherwise.
|
||||
*/
|
||||
function isVisible()
|
||||
{
|
||||
global $servers;
|
||||
|
||||
$is_visible = ( ! isset( $servers[$this->server_id]['visible'] )
|
||||
|| ( $servers[$this->server_id]['visible'] === true ) );
|
||||
|
||||
if( $this->isValidServer($this->server_id) && $is_visible )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* This function will query the ldap server and request the subSchemaSubEntry which should be the Schema DN.
|
||||
*
|
||||
* If we cant connect to the LDAP server, we'll return false.
|
||||
* If we can connect but cant get the entry, then we'll return null.
|
||||
*
|
||||
* @return array|false Schema if available, null if its not or false if we cant connect.
|
||||
* @param bool $debug Switch to true to see some nice and copious output. :)
|
||||
*/
|
||||
function getSchemaDN($dn='', $debug = false)
|
||||
{
|
||||
// If we already got the SchemaDN, then return it.
|
||||
if ($this->_schemaDN)
|
||||
return $this->_schemaDN;
|
||||
|
||||
if( $debug ) echo "<pre>";
|
||||
|
||||
if (! $this->connect())
|
||||
return false;
|
||||
|
||||
$search = @ldap_read( $this->connect(), $dn, 'objectClass=*', array( 'subschemaSubentry' ) );
|
||||
if( $debug ) { printf("%s::getSchemaDN(): ldap_read: ",get_class($this)); var_dump( $search ); echo "\n"; }
|
||||
if( ! $search ) {
|
||||
if( $debug ) printf("%s::getSchemaDN(): returning null. (search result is blank)<BR>",get_class($this));
|
||||
return null;
|
||||
}
|
||||
|
||||
if( @ldap_count_entries( $this->connect(), $search ) == 0 ) {
|
||||
if( $debug ) printf("%s::getSchemaDN(): returning null. (ldap_count_entries() == 0)<BR>",get_class($this));
|
||||
return null;
|
||||
}
|
||||
|
||||
$entries = @ldap_get_entries( $this->connect(), $search );
|
||||
if( $debug ) { echo "Entries (ldap_get_entries): "; var_dump( $entries ); echo "\n"; }
|
||||
if( ! $entries || ! is_array( $entries ) ) {
|
||||
if( $debug ) printf("%s::getSchemaDN(): returning null. (Bad entries, false or not array)<BR>",get_class($this));
|
||||
return null;
|
||||
}
|
||||
|
||||
$entry = isset( $entries[0] ) ? $entries[0] : false;
|
||||
if( ! $entry ) {
|
||||
if( $debug ) printf("%s::getSchemaDN(): returning null. (entry is false)<BR>",get_class($this));
|
||||
return null;
|
||||
}
|
||||
|
||||
$sub_schema_sub_entry = isset( $entry[0] ) ? $entry[0] : false;
|
||||
if( ! $sub_schema_sub_entry ) {
|
||||
if( $debug ) printf("%s::getSchemaDN(): returning null. (sub_schema_sub_entry val is false)<BR>",get_class($this));
|
||||
return null;
|
||||
}
|
||||
|
||||
$this->_schemaDN = isset( $entry[ $sub_schema_sub_entry ][0] ) ? $entry[ $sub_schema_sub_entry ][0] : false;
|
||||
|
||||
if( $debug ) printf("%s::getSchemaDN(): returning (%s)<BR>",get_class($this),$this->_schemaDN);
|
||||
return $this->_schemaDN;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches the raw schema array for the subschemaSubentry of the server. Note,
|
||||
* this function has grown many hairs to accomodate more LDAP servers. It is
|
||||
* needfully complicated as it now supports many popular LDAP servers that
|
||||
* don't necessarily expose their schema "the right way".
|
||||
*
|
||||
* Please note: On FC systems, it seems that php_ldap uses /etc/openldap/ldap.conf in
|
||||
* the search base if it is blank - so edit that file and comment out the BASE line.
|
||||
*
|
||||
* @param string $schema_to_fetch - A string indicating which type of schema to
|
||||
* fetch. Five valid values: 'objectclasses', 'attributetypes',
|
||||
* 'ldapsyntaxes', 'matchingruleuse', or 'matchingrules'.
|
||||
* Case insensitive.
|
||||
* @param dn $dn (optional) This paremeter is the DN of the entry whose schema you
|
||||
* would like to fetch. Entries have the option of specifying
|
||||
* their own subschemaSubentry that points to the DN of the system
|
||||
* schema entry which applies to this attribute. If unspecified,
|
||||
* this will try to retrieve the schema from the RootDSE subschemaSubentry.
|
||||
* Failing that, we use some commonly known schema DNs. Default
|
||||
* value is the Root DSE DN (zero-length string)
|
||||
* @return array an array of strings of this form:
|
||||
* Array (
|
||||
* [0] => "( 1.3.6.1.4.1.7165.1.2.2.4 NAME 'gidPool' DESC 'Pool ...
|
||||
* [1] => "( 1.3.6.1.4.1.7165.2.2.3 NAME 'sambaAccount' DESC 'Sa ...
|
||||
* etc.
|
||||
*/
|
||||
function getRawSchema($schema_to_fetch, $dn='')
|
||||
{
|
||||
global $lang;
|
||||
|
||||
// Swith to true to enable verbose output of schema fetching progress
|
||||
$debug = false;
|
||||
|
||||
if (! $this->connect())
|
||||
return false;
|
||||
|
||||
// error checking
|
||||
$schema_to_fetch = strtolower( $schema_to_fetch );
|
||||
$valid_schema_to_fetch = array( 'objectclasses', 'attributetypes', 'ldapsyntaxes',
|
||||
'matchingrules', 'matchingruleuse' );
|
||||
|
||||
if( ! in_array( $schema_to_fetch, $valid_schema_to_fetch ) )
|
||||
// This error message is not localized as only developers should ever see it
|
||||
pla_error( "Bad parameter provided to function to ". get_class($this) ."::getRawSchema(). '"
|
||||
. htmlspecialchars( $schema_to_fetch ) . "' is not valid for the schema_to_fetch parameter." );
|
||||
|
||||
// Try to get the schema DN from the specified entry.
|
||||
$schema_dn = $this->getSchemaDN($dn,$debug);
|
||||
|
||||
// Do we need to try again with the Root DSE?
|
||||
if( ! $schema_dn )
|
||||
$schema_dn = $this->getSchemaDN('', $debug);
|
||||
|
||||
// Store the eventual schema retrieval in $schema_search
|
||||
$schema_search = null;
|
||||
|
||||
if( $schema_dn ) {
|
||||
if( $debug ) { printf("%s::getRawSchema(): Found the Schema DN:<BR>",get_class($this)); var_dump( $schema_dn ); echo "\n"; }
|
||||
$schema_search = @ldap_read( $this->connect(), $schema_dn, '(objectClass=*)',
|
||||
array( $schema_to_fetch ), 0, 0, 0, LDAP_DEREF_ALWAYS );
|
||||
|
||||
// Were we not able to fetch the schema from the $schema_dn?
|
||||
$schema_entries = @ldap_get_entries( $this->connect(), $schema_search );
|
||||
if( $schema_search === false ||
|
||||
0 == @ldap_count_entries( $this->connect(), $schema_search ) ||
|
||||
! isset( $schema_entries[0][$schema_to_fetch] ) ) {
|
||||
|
||||
// Try again with a different filter (some servers require (objectClass=subschema) like M-Vault)
|
||||
if( $debug ) printf("%s::getRawSchema(): Did not find the schema with (objectClass=*). Attempting with (objetClass=subschema):<BR>",get_class($this));
|
||||
|
||||
$schema_search = @ldap_read( $this->connect(), $schema_dn, '(objectClass=subschema)',
|
||||
array( $schema_to_fetch ), 0, 0, 0, LDAP_DEREF_ALWAYS );
|
||||
|
||||
$schema_entries = @ldap_get_entries( $this->connect(), $schema_search );
|
||||
|
||||
// Still didn't get it?
|
||||
if( $schema_search === false ||
|
||||
0 == @ldap_count_entries( $this->connect(), $schema_search ) ||
|
||||
! isset( $schema_entries[0][$schema_to_fetch] ) ) {
|
||||
|
||||
if( $debug ) printf("%s::getRawSchema(): Did not find the schema with DN: %s (with objectClass=* nor objectClass=subschema)<BR>",get_class($this),$schema_dn);
|
||||
|
||||
unset( $schema_entries );
|
||||
$schema_search = null;
|
||||
} else {
|
||||
if( $debug ) printf("%s::getRawSchema(): Found the schema at DN: %s (objectClass=subschema)<BR>",get_class($this),$schema_dn);
|
||||
}
|
||||
} else {
|
||||
if( $debug ) printf("%s::getRawSchema(): Found the schema at DN: %s (objectClass=*)<BR>",get_class($this),$schema_dn);
|
||||
}
|
||||
}
|
||||
|
||||
// Second chance: If the DN or Root DSE didn't give us the subschemaSubentry, ie $schema_search
|
||||
// is still null, use some common subSchemaSubentry DNs as a work-around.
|
||||
|
||||
if ($schema_search == null) {
|
||||
if( $debug )
|
||||
printf("%s::getRawSchema(): Attempting work-arounds for 'broken' LDAP servers...<BR>",get_class($this));
|
||||
|
||||
// OpenLDAP and Novell
|
||||
// @todo Fix expand_dn_with_base - no longer works since getBaseDN is now an arrya.
|
||||
$ldap['OpenLDAP']['cn=subschema'] = '(objectClass=*)';
|
||||
// $ldap['W2K3 AD'][expand_dn_with_base($this,'cn=Aggregate,cn=Schema,cn=configuration,',true)] = '(objectClass=*)';
|
||||
// $ldap['W2K AD'][expand_dn_with_base($this,'cn=Schema,cn=configuration,',true)] = '(objectClass=*)';
|
||||
// $ldap['W2K AD'][expand_dn_with_base($this,'cn=Schema,ou=Admin,',true)] = '(objectClass=*)';
|
||||
|
||||
foreach ($ldap as $ldap_server_name => $ldap_options) {
|
||||
foreach ($ldap_options as $ldap_dn => $ldap_filter) {
|
||||
if( $debug ) printf("%s::getRawSchema(): Attempting [%s] (%s) (%s)<BR>",get_class($this),$ldap_server_name,$ldap_dn,$ldap_filter);
|
||||
|
||||
$schema_search = @ldap_read($this->connect(), $ldap_dn, $ldap_filter,
|
||||
array( $schema_to_fetch ), 0, 0, 0, LDAP_DEREF_ALWAYS );
|
||||
}
|
||||
|
||||
if ($schema_search)
|
||||
break;
|
||||
}
|
||||
|
||||
// Still cant find the schema, try with the RootDSE
|
||||
// Attempt to pull schema from Root DSE with scope "base", or
|
||||
// Attempt to pull schema from Root DSE with scope "one" (work-around for Isode M-Vault X.500/LDAP)
|
||||
}
|
||||
|
||||
if ($schema_search == null) {
|
||||
foreach (array('base','one') as $ldap_scope) {
|
||||
if( $debug ) printf("%s::getRawSchema(): Attempting [%s] (%s) (%s) - %s<BR>",get_class($this),'RootDSE','','(objectClass=*)',$ldap_scope);
|
||||
|
||||
if ($ldap_scope == 'base')
|
||||
$schema_search = @ldap_read($this->connect(), '', '(objectClass=*)',
|
||||
array( $schema_to_fetch ), 0, 0, 0, LDAP_DEREF_ALWAYS );
|
||||
|
||||
else
|
||||
$schema_search = @ldap_list($this->connect(), '', '(objectClass=*)',
|
||||
array( $schema_to_fetch ), 0, 0, 0, LDAP_DEREF_ALWAYS );
|
||||
|
||||
$schema_entries = @ldap_get_entries( $this->connect(), $schema_search );
|
||||
if( ! isset( $schema_entries[0][$schema_to_fetch] ) )
|
||||
$schema_search = null;
|
||||
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Shall we just give up?
|
||||
if( $schema_search == null ) {
|
||||
if( $debug ) printf("%s::getRawSchema(): Returning false since schema_search came back null",get_class($this));
|
||||
set_schema_cache_unavailable( $this->server_id, $schema_to_fetch );
|
||||
return false;
|
||||
}
|
||||
|
||||
// Did we get something unrecognizable?
|
||||
if( 'resource' != gettype( $schema_search ) ) {
|
||||
if( $debug ) printf("%s::getRawSchema(): Returning false since schema_search is not of type 'resource', here is a dump:",get_class($this));
|
||||
if( $debug ) var_dump( $schema_search );
|
||||
if( $debug ) echo "</pre>";
|
||||
set_schema_cache_unavailable( $this->server_id, $schema_to_fetch );
|
||||
return false;
|
||||
}
|
||||
|
||||
$schema = @ldap_get_entries( $this->connect(), $schema_search );
|
||||
if( $schema == false ) {
|
||||
if( $debug ) printf("%s::getRawSchema(): Returning false since ldap_get_entries() returned false.</pre>",get_class($this));
|
||||
set_schema_cache_unavailable( $this->server_id, $schema_to_fetch );
|
||||
return false;
|
||||
}
|
||||
|
||||
if( ! isset( $schema[0][$schema_to_fetch] ) ) {
|
||||
if( $debug ) printf("%s::getRawSchema(): Returning false since '%s' isn't in the schema array. Showing schema array:\n",get_class($this),$schema_to_fetch);
|
||||
if( $debug ) var_dump( $schema );
|
||||
if( $debug ) echo "</pre>";
|
||||
set_schema_cache_unavailable( $this->server_id,$schema_to_fetch );
|
||||
return false;
|
||||
}
|
||||
|
||||
// Make a nice array of this form:
|
||||
// Array (
|
||||
// [0] => "( 1.3.6.1.4.1.7165.1.2.2.4 NAME 'gidPool' DESC 'Pool ...
|
||||
// [1] => "( 1.3.6.1.4.1.7165.2.2.3 NAME 'sambaAccount' DESC 'Sa ...
|
||||
// etc.
|
||||
$schema = $schema[0][$schema_to_fetch];
|
||||
unset( $schema['count'] );
|
||||
|
||||
if( $debug ) var_dump( $schema );
|
||||
if( $debug ) echo "</pre>";
|
||||
return $schema;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches whether the login_attr feature is enabled for a specified server.
|
||||
*
|
||||
* This is configured in config.php thus:
|
||||
* <code>
|
||||
* $servers[$server_id]['login_attr'] = 'uid';
|
||||
* </code>
|
||||
* By virtue of the fact that the login_attr is not blank and not 'dn', the
|
||||
* feature is configured to be enabled.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function isLoginAttrEnabled()
|
||||
{
|
||||
global $servers;
|
||||
|
||||
if( isset( $servers[$this->server_id]['login_attr'] ) &&
|
||||
0 != strcasecmp( $servers[$this->server_id]['login_attr'], "dn" ) &&
|
||||
trim( $servers[$this->server_id]['login_attr'] != "" ) )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches whether the login_attr feature is enabled for a specified server.
|
||||
*
|
||||
* This is configured in config.php thus:
|
||||
* <code>
|
||||
* $servers[$server_id]['login_attr'] = 'uid';
|
||||
* </code>
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
function isLoginStringEnabled()
|
||||
{
|
||||
global $servers;
|
||||
|
||||
if( isset( $servers[$this->server_id]['login_attr'] ) &&
|
||||
0 == strcasecmp( $servers[$this->server_id]['login_attr'], "string" ) )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches the login_attr string if enabled for a specified server.
|
||||
*
|
||||
* This is configured in config.php thus:
|
||||
* <code>
|
||||
* $servers[$server_id]['login_attr'] = 'uid';
|
||||
* </code>
|
||||
*
|
||||
* @return string|false
|
||||
*/
|
||||
function getLoginString( $server_id )
|
||||
{
|
||||
global $servers;
|
||||
|
||||
if( isset( $servers[$this->server_id]['login_string'] ) )
|
||||
return $servers[$this->server_id]['login_string'];
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch whether the user has configured a certain server login to be non anonymous
|
||||
*
|
||||
* <code>
|
||||
* $servers[$i]['disable_anon_bind'] = true;
|
||||
* </code>
|
||||
* @return bool
|
||||
*/
|
||||
function isAnonBindAllowed()
|
||||
{
|
||||
global $servers;
|
||||
|
||||
// If only_login_allowed_dns is set, then we cant have anonymous.
|
||||
if ( isset( $servers[$this->server_id]['only_login_allowed_dns'] )
|
||||
&& is_array( $servers[$this->server_id]['only_login_allowed_dns'] )
|
||||
&& count($servers[$this->server_id]['only_login_allowed_dns'] ) > 0 )
|
||||
return false;
|
||||
|
||||
else
|
||||
return ( ! isset( $servers[$this->server_id]['disable_anon_bind'] )
|
||||
|| false == $servers[$this->server_id]['disable_anon_bind'] )
|
||||
? true
|
||||
: false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches whether TLS has been configured for use with a certain server.
|
||||
*
|
||||
* Users may configure phpLDAPadmin to use TLS in config,php thus:
|
||||
* <code>
|
||||
* $servers[$i]['tls'] = true;
|
||||
* </code>
|
||||
* @param int $server_id The ID of the server of interest from config.php.
|
||||
* @return bool
|
||||
*/
|
||||
function isTLSEnabled()
|
||||
{
|
||||
global $servers;
|
||||
if( isset( $servers[$this->server_id]['tls'] ) && true == $servers[$this->server_id]['tls'] )
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
161
server_info.php
161
server_info.php
@ -1,80 +1,85 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/server_info.php,v 1.15 2004/10/24 23:51:49 uugdave Exp $
|
||||
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/server_info.php,v 1.18 2005/03/16 09:52:31 wurley Exp $
|
||||
|
||||
/*
|
||||
* server_info.php
|
||||
/**
|
||||
* Fetches and displays all information that it can from the specified server
|
||||
*
|
||||
*
|
||||
* Variables that come in as GET vars:
|
||||
* - server_id
|
||||
*
|
||||
* @package phpLDAPadmin
|
||||
*/
|
||||
|
||||
/**
|
||||
*/
|
||||
|
||||
require './common.php';
|
||||
|
||||
// The attributes we'll examine when searching the LDAP server's RootDSE
|
||||
$root_dse_attributes = array( 'namingContexts',
|
||||
'subschemaSubentry',
|
||||
'altServer',
|
||||
'supportedExtension',
|
||||
'supportedControl',
|
||||
'supportedSASLMechanisms',
|
||||
'supportedLDAPVersion',
|
||||
'currentTime',
|
||||
'dsServiceName',
|
||||
'defaultNamingContext',
|
||||
'schemaNamingContext',
|
||||
'configurationNamingContext',
|
||||
'rootDomainNamingContext',
|
||||
'supportedLDAPPolicies',
|
||||
'highestCommittedUSN',
|
||||
'dnsHostName',
|
||||
'ldapServiceName',
|
||||
'serverName',
|
||||
'supportedCapabilities',
|
||||
'changeLog',
|
||||
'tlsAvailableCipherSuites',
|
||||
'tlsImplementationVersion',
|
||||
'supportedSASLMechanisms',
|
||||
'dsaVersion',
|
||||
'myAccessPoint',
|
||||
'dseType',
|
||||
'+',
|
||||
'*'
|
||||
);
|
||||
$root_dse_attributes = array( 'namingContexts',
|
||||
'subschemaSubentry',
|
||||
'altServer',
|
||||
'supportedExtension',
|
||||
'supportedControl',
|
||||
'supportedSASLMechanisms',
|
||||
'supportedLDAPVersion',
|
||||
'currentTime',
|
||||
'dsServiceName',
|
||||
'defaultNamingContext',
|
||||
'schemaNamingContext',
|
||||
'configurationNamingContext',
|
||||
'rootDomainNamingContext',
|
||||
'supportedLDAPPolicies',
|
||||
'highestCommittedUSN',
|
||||
'dnsHostName',
|
||||
'ldapServiceName',
|
||||
'serverName',
|
||||
'supportedCapabilities',
|
||||
'changeLog',
|
||||
'tlsAvailableCipherSuites',
|
||||
'tlsImplementationVersion',
|
||||
'supportedSASLMechanisms',
|
||||
'dsaVersion',
|
||||
'myAccessPoint',
|
||||
'dseType',
|
||||
'+',
|
||||
'*'
|
||||
);
|
||||
|
||||
$server_id = $_GET['server_id'];
|
||||
$server_name = $servers[$server_id]['name'];
|
||||
$server_id = (isset($_GET['server_id']) ? $_GET['server_id'] : '');
|
||||
$ldapserver = new LDAPServer($server_id);
|
||||
if( ! $ldapserver->haveAuthInfo())
|
||||
pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
$ds = pla_ldap_connect( $server_id );
|
||||
pla_ldap_connection_is_error( $ds );
|
||||
|
||||
// Fetch basic RootDSE attributes using the + and *.
|
||||
$r = @ldap_read( $ds, '', 'objectClass=*', array( '+', '*' ) );
|
||||
// Fetch basic RootDSE attributes using the + and *.
|
||||
$r = @ldap_read( $ldapserver->connect(), '', 'objectClass=*', array( '+', '*' ) );
|
||||
if( ! $r )
|
||||
pla_error( $lang['could_not_fetch_server_info'], ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
$entry = @ldap_first_entry( $ds, $r );
|
||||
if( ! $entry )
|
||||
pla_error( $lang['could_not_fetch_server_info'], ldap_error( $ds ), ldap_errno( $ds ) );
|
||||
$attrs = @ldap_get_attributes( $ds, $entry );
|
||||
$count = @ldap_count_entries( $ds, $r );
|
||||
pla_error( $lang['could_not_fetch_server_info'], ldap_error( $ldapserver->connect() ), ldap_errno( $ldapserver->connect() ) );
|
||||
|
||||
// After fetching the "basic" attributes from the RootDSE, try fetching the
|
||||
$entry = @ldap_first_entry( $ldapserver->connect(), $r );
|
||||
if( ! $entry )
|
||||
pla_error( $lang['could_not_fetch_server_info'], ldap_error( $ldapserver->connect() ), ldap_errno( $ldapserver->connect() ) );
|
||||
|
||||
$attrs = @ldap_get_attributes( $ldapserver->connect(), $entry );
|
||||
$count = @ldap_count_entries( $ldapserver->connect(), $r );
|
||||
|
||||
// After fetching the "basic" attributes from the RootDSE, try fetching the
|
||||
// more advanced ones (from ths list). Add them to the list of attrs to display
|
||||
// if they weren't already fetched. (this was added as a work-around for OpenLDAP
|
||||
// if they weren't already fetched. (this was added as a work-around for OpenLDAP
|
||||
// on RHEL 3.
|
||||
$r2 = @ldap_read( $ds, '', 'objectClass=*', $root_dse_attributes );
|
||||
$r2 = @ldap_read( $ldapserver->connect(), '', 'objectClass=*', $root_dse_attributes );
|
||||
if( $r2 ) {
|
||||
$entry2 = @ldap_first_entry( $ds, $r );
|
||||
$attrs2 = @ldap_get_attributes( $ds, $entry );
|
||||
for( $i=0; $i<$attrs2['count']; $i++ ) {
|
||||
$attr = $attrs2[$i];
|
||||
if( ! isset( $attrs[ $attr ] ) ) {
|
||||
$attrs[ $attr ] = $attrs2[ $attr ];
|
||||
$attrs[ 'count' ]++;
|
||||
$attrs[] = $attr;
|
||||
}
|
||||
}
|
||||
$entry2 = @ldap_first_entry( $ldapserver->connect(), $r );
|
||||
$attrs2 = @ldap_get_attributes( $ldapserver->connect(), $entry );
|
||||
|
||||
for( $i=0; $i<$attrs2['count']; $i++ ) {
|
||||
$attr = $attrs2[$i];
|
||||
|
||||
if( ! isset( $attrs[ $attr ] ) ) {
|
||||
$attrs[ $attr ] = $attrs2[ $attr ];
|
||||
$attrs[ 'count' ]++;
|
||||
$attrs[] = $attr;
|
||||
}
|
||||
}
|
||||
}
|
||||
unset( $attrs2, $entry, $entry2 );
|
||||
|
||||
@ -82,38 +87,40 @@ include './header.php';
|
||||
?>
|
||||
|
||||
<body>
|
||||
<h3 class="title"><?php echo $lang['server_info_for'] . htmlspecialchars( $server_name ); ?></h3>
|
||||
<h3 class="title"><?php echo $lang['server_info_for'] . htmlspecialchars( $ldapserver->name ); ?></h3>
|
||||
<h3 class="subtitle"><?php echo $lang['server_reports_following']; ?></h3>
|
||||
|
||||
<?php if( $count == 0 || $attrs['count'] == 0 ) { ?>
|
||||
|
||||
<br /><br /><center><?php echo $lang['nothing_to_report']; ?></center>
|
||||
<?php exit; ?>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
<table class="edit_dn">
|
||||
<?php
|
||||
for( $i=0; $i<$attrs['count']; $i++ ) {
|
||||
|
||||
<?php for( $i=0; $i<$attrs['count']; $i++ ) {
|
||||
$attr = $attrs[$i];
|
||||
$schema_href = "schema.php?server_id=$server_id&view=attributes&viewvalue=$attr";
|
||||
?>
|
||||
$schema_href = "schema.php?server_id=$server_id&view=attributes&viewvalue=$attr"; ?>
|
||||
|
||||
<tr>
|
||||
<td class="attr">
|
||||
<b>
|
||||
<a title="<?php echo sprintf( $lang['attr_name_tooltip'], $attr ); ?>"
|
||||
<a title="<?php echo sprintf( $lang['attr_name_tooltip'], $attr ); ?>"
|
||||
href="<?php echo $schema_href; ?>"><?php echo htmlspecialchars( $attr ); ?></a>
|
||||
</b>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="val">
|
||||
<?php for( $j=0; $j<$attrs[ $attr ][ 'count' ]; $j++ )
|
||||
echo htmlspecialchars( $attrs[ $attr ][ $j ] ) . "<br />\n"; ?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td class="val"><table class="edit_dn">
|
||||
<?php for( $j=0; $j<$attrs[ $attr ][ 'count' ]; $j++ ) {
|
||||
echo "<tr><td>".htmlspecialchars( $attrs[ $attr ][ $j ] )."</td>";
|
||||
if (support_oid_to_text($attrs[ $attr ][ $j ] ))
|
||||
echo "<td>".support_oid_to_text($attrs[ $attr ][ $j ] ). "</td></tr>";
|
||||
} ?>
|
||||
|
||||
</table></td>
|
||||
</tr>
|
||||
|
||||
<?php } ?>
|
||||
|
||||
</table>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/session_functions.php,v 1.12 2004/09/09 12:45:09 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/session_functions.php,v 1.13 2005/02/25 13:44:06 wurley Exp $
|
||||
|
||||
/**
|
||||
* A collection of functions to handle sessions throughout phpLDAPadmin.
|
||||
@ -34,10 +34,10 @@ function pla_session_get_id()
|
||||
else
|
||||
$ip_len = $ip_hex - 1;
|
||||
|
||||
$new_id = substr($id_md5, 0, $id_hex) .
|
||||
$new_id = substr($id_md5, 0, $id_hex) .
|
||||
substr($ip_md5, $ip_hex, $ip_len) .
|
||||
substr($id_md5, $id_hex, pla_session_id_ses_max - ($id_hex + $ip_len));
|
||||
|
||||
|
||||
return $new_id;
|
||||
}
|
||||
|
||||
@ -56,7 +56,7 @@ function pla_session_verify_id()
|
||||
$ip_len = pla_session_id_ip_min;
|
||||
else
|
||||
$ip_len = $ip_hex - 1;
|
||||
|
||||
|
||||
$ip_ses = substr($check_id, $id_hex, $ip_len);
|
||||
$ip_ver = substr($ip_md5, $ip_hex, $ip_len);
|
||||
|
||||
@ -111,9 +111,7 @@ function pla_session_start()
|
||||
/**
|
||||
* Stops the current session.
|
||||
*/
|
||||
function pla_session_close()
|
||||
{
|
||||
function pla_session_close() {
|
||||
@session_write_close();
|
||||
}
|
||||
|
||||
?>
|
||||
|
53
style.css
53
style.css
@ -1,10 +1,16 @@
|
||||
/* $Header: /cvsroot/phpldapadmin/phpldapadmin/style.css,v 1.40 2004/10/23 21:13:16 uugdave Exp $ */
|
||||
/* $Header: /cvsroot/phpldapadmin/phpldapadmin/style.css,v 1.44 2005/03/12 14:03:36 wurley Exp $ */
|
||||
span.hint {
|
||||
font-size: small;
|
||||
font-weight: normal;
|
||||
color: #888;
|
||||
}
|
||||
|
||||
span.warning {
|
||||
font-size: small;
|
||||
font-weight: normal;
|
||||
color: #f00;
|
||||
}
|
||||
|
||||
span.x-small {
|
||||
font-size: x-small;
|
||||
}
|
||||
@ -81,7 +87,7 @@ table.error tr td h2 {
|
||||
}
|
||||
|
||||
table.error tr td.img {
|
||||
vertical-align: center;
|
||||
vertical-align: middle;
|
||||
text-align: center;
|
||||
width: 20px;
|
||||
}
|
||||
@ -130,7 +136,7 @@ table.template_display tr td {
|
||||
|
||||
table.templates tr td {
|
||||
text-align: left;
|
||||
vertical-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
table.templates tr {
|
||||
@ -143,7 +149,7 @@ table.templates td.icon {
|
||||
|
||||
table.exporters tr td {
|
||||
text-align: left;
|
||||
vertical-align: center;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
table.exporters tr {
|
||||
@ -278,11 +284,32 @@ h3.subtitle {
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
table.comp_dn {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0px;
|
||||
empty-cells: show;
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
table.comp_dn tr {
|
||||
width: 200px;
|
||||
}
|
||||
table.comp_dn tr td.attr {
|
||||
background-color: #eee;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
table.comp_dn tr td.attr_note {
|
||||
text-align: right;
|
||||
background-color: #eee;
|
||||
padding-right: 50px;
|
||||
}
|
||||
|
||||
table.edit_dn {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0px;
|
||||
empty-cells: show;
|
||||
width: 500px;
|
||||
width: 600px;
|
||||
}
|
||||
|
||||
table.edit_dn input {
|
||||
@ -292,7 +319,7 @@ table.edit_dn input {
|
||||
table.edit_dn input.val {
|
||||
font-size: 14px;
|
||||
width: 350px;
|
||||
font-family: arial, helvetica, sans-serif
|
||||
font-family: arial, helvetica, sans-serif;
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
@ -335,9 +362,9 @@ table.edit_dn tr td.attr a:hover {
|
||||
|
||||
table.edit_dn tr td.val {
|
||||
text-align: left;
|
||||
vertical-align: center;
|
||||
vertical-align: middle;
|
||||
padding-bottom: 10px;
|
||||
padding-left: 80px;
|
||||
padding-left: 50px;
|
||||
}
|
||||
|
||||
|
||||
@ -615,6 +642,16 @@ table.export_form tr td {
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
table.form tr td {
|
||||
vertical-align: top;
|
||||
padding: 4px;
|
||||
}
|
||||
|
||||
|
||||
.attribute_failed {
|
||||
color: red;
|
||||
}
|
||||
|
||||
img.chooser {
|
||||
/* This makes the chooser image line up properly when placed next to a form element in a table cell*/
|
||||
vertical-align: bottom;
|
||||
|
56
syslog.php
Normal file
56
syslog.php
Normal file
@ -0,0 +1,56 @@
|
||||
<?
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/syslog.php,v 1.4 2005/03/05 09:38:46 wurley Exp $
|
||||
|
||||
/**
|
||||
* Functions related to syslog logging.
|
||||
*
|
||||
* @author Benjamin Drieu <benjamin.drieu@fr.alcove.com> and Alcôve
|
||||
* @package phpLDAPadmin
|
||||
*
|
||||
* 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 the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful, but
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*/
|
||||
|
||||
// require_once 'config.php';
|
||||
|
||||
/* Initialize syslog */
|
||||
if ( isset($use_syslog) && $use_syslog != false ) {
|
||||
define_syslog_variables();
|
||||
openlog('phpldapadmin', LOG_ODELAY, LOG_DAEMON );
|
||||
}
|
||||
|
||||
/**
|
||||
* Verify that syslog logging is activated in the config via the
|
||||
* $use_syslog variable and does a call to the syslog() function is it
|
||||
* is true.
|
||||
*
|
||||
* @param emergency Syslog emergency.
|
||||
* @param log_string String to log.
|
||||
*/
|
||||
function syslog_msg ( $emergency, $log_string, $ldapserver=null ) {
|
||||
global $use_syslog;
|
||||
|
||||
if ( isset($ldapserver->server_id) ) {
|
||||
$log_string = "(" . get_logged_in_dn( $ldapserver->ldapserver ) . ") " . $log_string;
|
||||
}
|
||||
|
||||
if ( isset($use_syslog) && $use_syslog != false) {
|
||||
syslog ( $emergency, $log_string );
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
?>
|
@ -1,10 +1,11 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/templates/creation/custom.php,v 1.37 2004/10/24 23:51:51 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/templates/creation/custom.php,v 1.40 2005/03/12 00:57:18 wurley Exp $
|
||||
|
||||
// Common to all templates
|
||||
$rdn = isset( $_POST['rdn'] ) ? $_POST['rdn'] : null;
|
||||
$container = $_POST['container'];
|
||||
$server_id = $_POST['server_id'];
|
||||
$ldapserver = new LDAPServer ($server_id);
|
||||
|
||||
// Unique to this template
|
||||
$step = isset( $_POST['step'] ) ? $_POST['step'] : 1;
|
||||
@ -14,7 +15,7 @@ have_auth_info( $server_id ) or pla_error( $lang['not_enough_login_info'] );
|
||||
|
||||
if( $step == 1 )
|
||||
{
|
||||
$oclasses = get_schema_objectClasses( $server_id );
|
||||
$oclasses = get_schema_objectClasses( $ldapserver );
|
||||
if( ! $oclasses || ! is_array( $oclasses ) )
|
||||
pla_error( "Unable to retrieve the schema from your LDAP server. Cannot continue with creation." );
|
||||
?>
|
||||
@ -77,7 +78,7 @@ if( $step == 2 )
|
||||
strlen( trim( $rdn ) ) != 0 or
|
||||
pla_error( $lang['rdn_field_blank'] );
|
||||
|
||||
strlen( trim( $container ) ) == 0 or dn_exists( $server_id, $container ) or
|
||||
strlen( trim( $container ) ) == 0 or dn_exists( $ldapserver, $container ) or
|
||||
pla_error( sprintf( $lang['container_does_not_exist'], htmlspecialchars( $container ) ) );
|
||||
|
||||
$friendly_attrs = process_friendly_attr_table();
|
||||
@ -87,11 +88,11 @@ if( $step == 2 )
|
||||
$dn = trim( $container ) ? $rdn . ',' . $container : $rdn;
|
||||
|
||||
// incrementally build up the all_attrs and required_attrs arrays
|
||||
$schema_oclasses = get_schema_objectclasses( $server_id );
|
||||
$schema_oclasses = get_schema_objectclasses( $ldapserver );
|
||||
$required_attrs = array();
|
||||
$all_attrs = array();
|
||||
foreach( $oclasses as $oclass_name ) {
|
||||
$oclass = get_schema_objectclass( $server_id, $oclass_name );
|
||||
$oclass = get_schema_objectclass( $ldapserver, $oclass_name );
|
||||
if( $oclass ) {
|
||||
$required_attrs = array_merge( $required_attrs,
|
||||
$oclass->getMustAttrNames( $schema_oclasses ) );
|
||||
@ -103,8 +104,8 @@ if( $step == 2 )
|
||||
|
||||
$required_attrs = array_unique( $required_attrs );
|
||||
$all_attrs = array_unique( $all_attrs );
|
||||
remove_aliases( $required_attrs, $server_id );
|
||||
remove_aliases( $all_attrs, $server_id );
|
||||
remove_aliases( $required_attrs, $ldapserver );
|
||||
remove_aliases( $all_attrs, $ldapserver );
|
||||
sort( $required_attrs );
|
||||
sort( $all_attrs );
|
||||
|
||||
@ -128,7 +129,7 @@ if( $step == 2 )
|
||||
// remove binary attributes and add them to the binary_attrs array
|
||||
$binary_attrs = array();
|
||||
foreach( $all_attrs as $i => $attr_name ) {
|
||||
if( is_attr_binary( $server_id, $attr_name ) ) {
|
||||
if( is_attr_binary( $ldapserver, $attr_name ) ) {
|
||||
unset( $all_attrs[ $i ] );
|
||||
$binary_attrs[] = $attr_name;
|
||||
}
|
||||
@ -183,7 +184,7 @@ if( $step == 2 )
|
||||
|
||||
?></b></td></tr>
|
||||
<tr>
|
||||
<td class="val"><input type="<?php echo (is_attr_binary( $server_id, $attr ) ? "file" : "text"); ?>"
|
||||
<td class="val"><input type="<?php echo (is_attr_binary( $ldapserver, $attr ) ? "file" : "text"); ?>"
|
||||
name="required_attrs[<?php echo htmlspecialchars($attr); ?>]"
|
||||
value="<?php echo ($attr == $rdn_attr ? htmlspecialchars($rdn_value) : '') ?>" size="40" />
|
||||
</tr>
|
||||
@ -272,7 +273,7 @@ function get_binary_attr_select_html( $binary_attrs, $friendly_attrs, $highlight
|
||||
* Removes attributes from the array that are aliases for eachother
|
||||
* (just removes the second instance of the aliased attr)
|
||||
*/
|
||||
function remove_aliases( &$attribute_list, $server_id )
|
||||
function remove_aliases( &$attribute_list, $ldapserver )
|
||||
{
|
||||
// remove aliases from the attribute_list array
|
||||
for( $i=0; $i<count( $attribute_list ); $i++ ) {
|
||||
@ -286,7 +287,7 @@ function remove_aliases( &$attribute_list, $server_id )
|
||||
continue;
|
||||
$attr_name2 = $attribute_list[ $k ];
|
||||
//echo "Comparing $attr_name1 and $attr_name2<br>";
|
||||
$attr1 = get_schema_attribute( $server_id, $attr_name1 );
|
||||
$attr1 = get_schema_attribute( $ldapserver, $attr_name1 );
|
||||
if( null == $attr1 )
|
||||
continue;
|
||||
if( $attr1->isAliasFor( $attr_name2 ) ) {
|
||||
@ -298,4 +299,3 @@ function remove_aliases( &$attribute_list, $server_id )
|
||||
$attribute_list = array_values( $attribute_list );
|
||||
}
|
||||
?>
|
||||
|
||||
|
@ -59,7 +59,7 @@ have_auth_info( $server_id ) or pla_error( "Not enough information to login to s
|
||||
$attribute_name = $attribute_parts[1];
|
||||
$alias_slashed = str_replace(',', '\,', $alias);
|
||||
|
||||
dn_exists( $server_id, $container ) or
|
||||
dn_exists( $ldapserver, $container ) or
|
||||
pla_error( "The container you specified (" . htmlspecialchars( $container ) . ") does not exist. " .
|
||||
"Please go back and try again." );
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/templates/creation/new_dns_entry.php,v 1.9 2004/10/24 23:51:51 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/templates/creation/new_dns_entry.php,v 1.10 2005/03/05 06:27:07 wurley Exp $
|
||||
|
||||
// Common to all templates
|
||||
$container = $_POST['container'];
|
||||
@ -56,7 +56,7 @@ if( isset($_POST['step']) )
|
||||
$container = trim( $_POST['container'] );
|
||||
$associateddomain = trim( $_POST['associateddomain'] );
|
||||
|
||||
dn_exists( $server_id, $container ) or
|
||||
dn_exists( $ldapserver, $container ) or
|
||||
pla_error( "The container you specified (" . htmlspecialchars( $container ) . ") does not exist. " .
|
||||
"Please go back and try again." );
|
||||
?>
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/templates/creation/new_nt_machine.php,v 1.13 2004/12/16 22:59:50 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/templates/creation/new_nt_machine.php,v 1.14 2005/03/05 06:27:07 wurley Exp $
|
||||
|
||||
|
||||
// Common to all templates
|
||||
@ -21,7 +21,7 @@ $default_home_dir = '/dev/null';
|
||||
check_server_id( $server_id ) or pla_error( "Bad server_id: " . htmlspecialchars( $server_id ) );
|
||||
have_auth_info( $server_id ) or pla_error( "Not enough information to login to server. Please check your configuration." );
|
||||
|
||||
if( get_schema_objectclass( $server_id, 'sambaAccount' ) == null )
|
||||
if( get_schema_objectclass( $ldapserver, 'sambaAccount' ) == null )
|
||||
pla_error( "Your LDAP server does not have schema support for the sambaAccount objectClass. Cannot continue." );
|
||||
|
||||
?>
|
||||
@ -87,7 +87,7 @@ if( get_schema_objectclass( $server_id, 'sambaAccount' ) == null )
|
||||
$machine_name = trim( $_POST['machine_name'] );
|
||||
$uid_number = trim( $_POST['uid_number'] );
|
||||
|
||||
dn_exists( $server_id, $container ) or
|
||||
dn_exists( $ldapserver, $container ) or
|
||||
pla_error( "The container you specified (" . htmlspecialchars( $container ) . ") does not exist. " .
|
||||
"Please go back and try again." );
|
||||
?>
|
||||
|
@ -174,10 +174,10 @@ if ( !$verify ) {
|
||||
$reg_zip = trim( $_POST['reg_zip'] );
|
||||
$container = trim( $_POST['container'] );
|
||||
|
||||
dn_exists( $server_id, $container ) or
|
||||
dn_exists( $ldapserver, $container ) or
|
||||
pla_error( "The container you specified (" . htmlspecialchars( $container ) . ") does not exist. " .
|
||||
"Please go back and try again." );
|
||||
dn_exists( $server_id, $occupant ) or
|
||||
dn_exists( $ldapserver, $occupant ) or
|
||||
pla_error( "The occupant you specified (" . htmlspecialchars( $occupant ) . ") does not exist. " .
|
||||
"Please go back and try again." );
|
||||
0 != strlen( $or_name ) or
|
||||
|
@ -1,5 +1,5 @@
|
||||
<?php
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/templates/creation/new_ou_template.php,v 1.11 2004/10/24 23:51:51 uugdave Exp $
|
||||
// $Header: /cvsroot/phpldapadmin/phpldapadmin/templates/creation/new_ou_template.php,v 1.12 2005/03/05 06:27:07 wurley Exp $
|
||||
|
||||
// Common to all templates
|
||||
$container = $_POST['container'];
|
||||
@ -48,7 +48,7 @@ have_auth_info( $server_id ) or pla_error( "Not enough information to login to s
|
||||
$ou_name = trim( $_POST['ou_name'] );
|
||||
$container = trim( $_POST['container'] );
|
||||
|
||||
dn_exists( $server_id, $container ) or
|
||||
dn_exists( $ldapserver, $container ) or
|
||||
pla_error( "The container you specified (" . htmlspecialchars( $container ) . ") does not exist. " .
|
||||
"Please go back and try again." );
|
||||
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user