• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP get_rdn函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了PHP中get_rdn函数的典型用法代码示例。如果您正苦于以下问题:PHP get_rdn函数的具体用法?PHP get_rdn怎么用?PHP get_rdn使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了get_rdn函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。

示例1: getRDN

 /**
  * Get the RDN of this tree items DN.
  *
  * @return RDN The RDN of this items DN.
  */
 public function getRDN()
 {
     if (DEBUG_ENABLED && (($fargs = func_get_args()) || ($fargs = 'NOARGS'))) {
         debug_log('Entered (%%)', 33, 0, __FILE__, __LINE__, __METHOD__, $fargs);
     }
     return get_rdn($this->getDn(), 0, true);
 }
开发者ID:kangaroot,项目名称:phpldapadmin,代码行数:12,代码来源:TreeItem.php


示例2: array

 * @subpackage Page
 * @see update.php
 */
/**
 */
require './common.php';
$request = array();
$request['dn'] = get_request('dn', 'REQUEST', true);
if (!$request['dn'] || !$app['server']->dnExists($request['dn'])) {
    error(sprintf(_('The entry (%s) does not exist.'), $request['dn']), 'error', 'index.php');
}
$request['page'] = new PageRender($app['server']->getIndex(), get_request('template', 'REQUEST', false, 'none'));
$request['page']->setDN($request['dn']);
$request['page']->accept();
$request['template'] = $request['page']->getTemplate();
$request['page']->drawTitle(get_rdn($request['template']->getDN()));
$request['page']->drawSubTitle();
# Confirm the updates
if (count($request['template']->getLDAPmodify(true))) {
    echo '<center>';
    echo _('Do you want to make these changes?');
    echo '<br /><br />';
    echo "\n\n";
    echo '<form action="cmd.php" method="post">';
    echo '<input type="hidden" name="cmd" value="update" />';
    printf('<input type="hidden" name="server_id" value="%s" />', $app['server']->getIndex());
    printf('<input type="hidden" name="dn" value="%s" />', htmlspecialchars($request['dn']));
    echo "\n";
    $request['page']->drawHiddenAttributes();
    echo '<table class="result_table">';
    echo "\n";
开发者ID:kangaroot,项目名称:phpldapadmin,代码行数:31,代码来源:update_confirm.php


示例3: pla_error

 * Variables that come in via GET variables
 *  - dn (rawurlencoded)
 *
 * @package phpLDAPadmin
 */
/**
 */
require './common.php';
if ($ldapserver->isReadOnly()) {
    pla_error(_('You cannot perform updates while server is in read-only mode'));
}
if (!$ldapserver->haveAuthInfo()) {
    pla_error(_('Not enough information to login to server. Please check your configuration.'));
}
$dn = $_GET['dn'];
$rdn = get_rdn($dn);
$attrs = $ldapserver->getDNAttrs($dn);
$select_server_html = server_select_list($ldapserver->server_id, true, 'dest_server_id');
$children = $ldapserver->getContainerContents($dn);
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 type="text/javascript" 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;
开发者ID:azeckoski,项目名称:az-php-sandbox,代码行数:31,代码来源:copy_form.php


示例4: copy_dn

function copy_dn($ldapserver_src, $ldapserver_dst, $dn_src, $dn_dst)
{
    if (DEBUG_ENABLED) {
        debug_log('copy_dn: Entered with (%s,%s,%s,%s)', 17, $ldapserver_src->server_id, $ldapserver_dst->server_id, $dn_src, $dn_dst);
    }
    $new_entry = $ldapserver_src->getDNAttrs($dn_src);
    # modify the prefix-value (ie "bob" in cn=bob) to match the destination DN's value.
    $rdn_attr = substr($dn_dst, 0, strpos($dn_dst, '='));
    $rdn_value = get_rdn($dn_dst);
    $rdn_value = substr($rdn_value, strpos($rdn_value, '=') + 1);
    $new_entry[$rdn_attr] = $rdn_value;
    # don't need a dn attribute in the new entry
    unset($new_entry['dn']);
    # Check the user-defined custom call back first
    if (run_hook('pre_entry_create', array('server_id' => $ldapserver_dst->server_id, 'dn' => $dn_dst, 'attrs' => $new_entry))) {
        $add_result = $ldapserver_dst->add($dn_dst, $new_entry);
        if (!$add_result) {
            run_hook('post_entry_create', array('server_id' => $ldapserver_dst->server_id, 'dn' => $dn_dst, 'attrs' => $new_entry));
            echo '</small><br /><br />';
            pla_error(_('Failed to copy DN: ') . $dn_dst, $ldapserver_dst->error(), $ldapserver_dst->errno());
        }
        return $add_result;
    } else {
        return false;
    }
}
开发者ID:azeckoski,项目名称:az-php-sandbox,代码行数:26,代码来源:copy.php


示例5: copy_dn

function copy_dn($serverSRC, $serverDST, $dnSRC, $dnDST, $remove)
{
    if (DEBUG_ENABLED && (($fargs = func_get_args()) || ($fargs = 'NOARGS'))) {
        debug_log('Entered (%%)', 1, 0, __FILE__, __LINE__, __METHOD__, $fargs);
    }
    $request = array();
    $request['pageSRC'] = new PageRender($serverSRC->getIndex(), get_request('template', 'REQUEST', false, 'none'));
    $request['pageSRC']->setDN($dnSRC);
    $request['pageSRC']->accept();
    $request['pageDST'] = new PageRender($serverDST->getIndex(), get_request('template', 'REQUEST', false, 'none'));
    $request['pageDST']->setContainer($serverDST->getContainer($dnDST));
    $request['pageDST']->accept();
    $request['templateSRC'] = $request['pageSRC']->getTemplate();
    $request['templateDST'] = $request['pageDST']->getTemplate();
    $request['templateDST']->copy($request['pageSRC']->getTemplate(), get_rdn($dnDST, 0));
    # Create of move the entry
    if ($remove) {
        return $serverDST->rename($request['templateSRC']->getDN(), $request['templateDST']->getRDN(), $serverDST->getContainer($dnDST), true);
    } else {
        return $serverDST->add($request['templateDST']->getDN(), $request['templateDST']->getLDAPadd());
    }
}
开发者ID:gulikoza,项目名称:phpLDAPadmin,代码行数:22,代码来源:copy.php


示例6: draw_item

 /**
  * Recursively descend on the given dn and draw the tree in html
  *
  * @param dn $dn Current dn.
  * @param int $level Level to start drawing (start to -1)
  */
 protected function draw_item($item, $level)
 {
     if (DEBUG_ENABLED && (($fargs = func_get_args()) || ($fargs = 'NOARGS'))) {
         debug_log('Entered (%%)', 33, 0, __FILE__, __LINE__, __METHOD__, $fargs);
     }
     $server = $this->getServer();
     # Get entry to display as node
     $entry = $this->getEntry($item);
     # If the entry doesnt exist, we'll add it.
     if (!$entry) {
         $this->addEntry($item);
         $entry = $this->getEntry($item);
     }
     # If the entry doesnt exist in the server, then return here with an empty string.
     if (!$entry) {
         return;
     }
     # Get our children.
     $child_count = $this->readChildrenNumber($item);
     $rdn = get_rdn($item);
     $dnENCODE = rawurlencode($item);
     $href['expand'] = htmlspecialchars(sprintf('cmd.php?cmd=expand&server_id=%s&dn=%s', $server->getIndex(), $dnENCODE));
     $href['collapse'] = htmlspecialchars(sprintf('cmd.php?cmd=collapse&server_id=%s&dn=%s', $server->getIndex(), $dnENCODE));
     $href['edit'] = htmlspecialchars(sprintf('cmd.php?cmd=template_engine&server_id=%s&dn=%s', $server->getIndex(), $dnENCODE));
     echo '<tr class="option">';
     printf('<td class="spacer" colspan=%s></td>', $level + 2);
     # Is this node expanded? (deciding whether to draw "+" or "-")
     if ($entry->isOpened()) {
         if (!$child_count && !$this->getServer()->isShowCreateEnabled()) {
             printf('<td class="expander"><img src="%s/minus.png" alt="-" /></td>', IMGDIR);
         } else {
             printf('<td class="expander"><a href="%s"><img src="%s/minus.png" alt="-" /></a></td>', $href['collapse'], IMGDIR);
         }
     } else {
         if ($child_count !== false && !$child_count && !$this->getServer()->isShowCreateEnabled()) {
             printf('<td class="expander"><img src="%s/minus.png" alt="-" /></td>', IMGDIR);
         } else {
             printf('<td class="expander"><a href="%s"><img src="%s/plus.png" alt="+" /></a></td>', $href['expand'], IMGDIR);
         }
     }
     printf('<td class="icon"><a href="%s" id="node_%s_%s"><img src="%s/%s" alt="img" /></a></td>', $href['edit'], $server->getIndex(), preg_replace('/=/', '_', base64_encode($item)), IMGDIR, $entry->getIcon());
     printf('<td class="phplm" width=100%% colspan="%s"><span style="white-space: nowrap;">', $this->getDepth() + 3 - $level);
     printf('<a href="%s">%s</a>', $href['edit'], $this->get_formatted_dn($entry, $level));
     if ($child_count) {
         printf(' <span class="count">(%s)</span>', $child_count);
     }
     echo '</span></td></tr>';
     if ($entry->isOpened()) {
         /* Draw the "create new" link at the top of the tree list if there are more than 10
          * entries in the listing for this node.
          */
         if (!$server->isReadOnly() && count($entry->getChildren()) > 10 && $this->getServer()->isShowCreateEnabled()) {
             $this->draw_create_link($rdn, $level, $dnENCODE);
         }
         foreach ($entry->getChildren() as $dnChildEntry) {
             $this->draw_item($dnChildEntry, $level + 1);
         }
         # Always draw the "create new" link at the bottom of the listing
         if (!$server->isReadOnly() && !$entry->isLeaf() && $this->getServer()->isShowCreateEnabled()) {
             $this->draw_create_link($rdn, $level, $dnENCODE);
         }
     }
     if (DEBUG_ENABLED) {
         debug_log('Leaving (%s,%s)', 33, 0, __FILE__, __LINE__, __METHOD__, $item, $level);
     }
 }
开发者ID:kangaroot,项目名称:phpldapadmin,代码行数:72,代码来源:HTMLTree.php


示例7: array

    $query['filter'] = $_SESSION[APPCONFIG]->getValue('modify_member', 'posixfilter');
    $attr = $_SESSION[APPCONFIG]->getValue('modify_member', 'posixattr');
} else {
    $query['filter'] = $_SESSION[APPCONFIG]->getValue('modify_member', 'filter');
    $attr = $_SESSION[APPCONFIG]->getValue('modify_member', 'attr');
}
$query['attrs'] = array($attr);
$possible_values = array();
foreach ($app['server']->getBaseDN() as $base) {
    $query['base'] = $base;
    $possible_values = array_merge($possible_values, $app['server']->query($query, null));
}
usort($possible_values, 'pla_compare_dns');
$request['page']->drawTitle(sprintf('%s <b>%s</b>', _('Modify group'), get_rdn($request['dn'])));
$request['page']->drawSubTitle();
printf('%s <b>%s</b> %s <b>%s</b>:', _('There are'), count($current_members), _('members in group'), htmlspecialchars(get_rdn($request['dn'])));
$possible_members = array();
for ($i = 0; $i < count($possible_values); $i++) {
    if (preg_match("/^" . $request['attr'] . "\$/i", $_SESSION[APPCONFIG]->getValue('modify_member', 'posixgroupattr'))) {
        $possible_members[$i] = $possible_values[$i][$_SESSION[APPCONFIG]->getValue('modify_member', 'posixattr')][0];
    } else {
        $possible_members[$i] = $possible_values[$i][$_SESSION[APPCONFIG]->getValue('modify_member', 'attr')];
    }
}
# Show only user that are not already in group.
$possible_members = array_diff($possible_members, $current_members);
usort($possible_members, 'pla_compare_dns');
/* Draw form with select boxes, left for all possible members and
 * right one for those that belong to group */
# Modifications will be sent to update_confirm which takes care of rest of the processing
echo '<br />';
开发者ID:kangaroot,项目名称:phpldapadmin,代码行数:31,代码来源:modify_member_form.php


示例8: error

# Check if the entry exists.
if (!$request['dn'] || !$app['server']->dnExists($request['dn'])) {
    error(sprintf(_('The entry (%s) does not exist.'), $request['dn']), 'error', 'index.php');
}
$request['page'] = new TemplateRender($app['server']->getIndex(), get_request('template', 'REQUEST', false, 'none'));
$request['page']->setDN($request['dn']);
$request['page']->accept(true);
$request['template'] = $request['page']->getTemplate();
/*
if ($request['attribute']->isReadOnly())
	error(sprintf(_('The attribute (%s) is in readonly mode.'),$request['attr']),'error','index.php');
*/
# Render the form
if (get_request('meth', 'REQUEST') != 'ajax') {
    # Render the form.
    $request['page']->drawTitle(sprintf('%s <b>%s</b> %s <b>%s</b>', _('Add new'), $request['attr'], _('value to'), get_rdn($request['dn'])));
    $request['page']->drawSubTitle();
    if (!strcasecmp($request['attr'], 'objectclass')) {
        echo '<form action="cmd.php" method="post" class="new_value" name="entry_form">';
        echo '<input type="hidden" name="cmd" value="add_oclass_form" />';
    } else {
        echo '<form action="cmd.php" method="post" class="new_value" name="entry_form" enctype="multipart/form-data" onSubmit="return submitForm(this)">';
        if ($_SESSION[APPCONFIG]->getValue('confirm', 'update')) {
            echo '<input type="hidden" name="cmd" value="update_confirm" />';
        } else {
            echo '<input type="hidden" name="cmd" value="update" />';
        }
    }
    printf('<input type="hidden" name="server_id" value="%s" />', $app['server']->getIndex());
    printf('<input type="hidden" name="dn" value="%s" />', htmlspecialchars($request['dn']));
    echo '<center>';
开发者ID:kangaroot,项目名称:phpldapadmin,代码行数:31,代码来源:add_value_form.php


示例9: array

/**
 * Displays a form for renaming an LDAP entry.
 *
 * @package phpLDAPadmin
 * @subpackage Page
 */
/**
 */
require './common.php';
# The DN we are working with
$request = array();
$request['dn'] = get_request('dn', 'GET');
$request['template'] = get_request('template', 'GET');
$request['page'] = new PageRender($app['server']->getIndex(), get_request('template', 'REQUEST', false, 'none'));
$request['page']->setDN($request['dn']);
$request['page']->accept();
# Render the form
$request['page']->drawTitle(sprintf('%s <b>%s</b>', _('Rename'), get_rdn($request['dn'])));
$request['page']->drawSubTitle();
echo '<center>';
printf('%s <b>%s</b> %s:<br /><br />', _('Rename'), get_rdn($request['dn']), _('to a new object'));
echo '<form action="cmd.php?cmd=rename" method="post" />';
printf('<input type="hidden" name="server_id" value="%s" />', $app['server']->getIndex());
printf('<input type="hidden" name="dn" value="%s" />', rawurlencode($request['dn']));
printf('<input type="hidden" name="template" value="%s" />', $request['template']);
printf('<input type="text" name="new_rdn" size="30" value="%s" />', get_rdn($request['dn']));
printf('<input type="submit" value="%s" />', _('Rename'));
echo '</form>';
echo '</center>';
echo "\n";
开发者ID:dannylsl,项目名称:phpLDAPadmin,代码行数:30,代码来源:rename_form.php


示例10: drawTitle

 public function drawTitle($title = null)
 {
     if (DEBUGTMP) {
         printf('<font size=-2>%s</font><br />', __METHOD__);
     }
     if (is_null($title)) {
         switch ($this->getMode()) {
             case 'creation':
                 $title = _('Create Object');
                 break;
             case 'modification':
                 $title = htmlspecialchars(get_rdn($this->dn));
                 break;
             default:
                 $title = 'Title';
         }
     }
     parent::drawTitle($title);
 }
开发者ID:rohanprabhu,项目名称:phpLDAPadmin,代码行数:19,代码来源:TemplateRender.php


示例11: pla_error

if ($ldapserver->isReadOnly()) {
    pla_error(_('You cannot perform updates while server is in read-only mode'));
}
if (!$ldapserver->haveAuthInfo()) {
    pla_error(_('Not enough information to login to server. Please check your configuration.'));
}
$dn = $_POST['dn'];
if (!$dn) {
    pla_error(_('You must specify a DN'));
}
if (!$ldapserver->dnExists($dn)) {
    pla_error(sprintf(_('No such entry: %s'), htmlspecialchars($dn)));
}
include './header.php';
echo '<body>';
printf('<h3 class="title">' . _('Deleting %s') . '</h3>', htmlspecialchars(get_rdn($dn)));
printf('<h3 class="subtitle">%s</h3>', _('Recursive delete progress'));
echo '<br /><br />';
echo '<small>';
flush();
# prevent script from bailing early on a long delete
@set_time_limit(0);
$del_result = pla_rdelete($ldapserver, $dn);
echo '</small><br />';
if ($del_result) {
    echo '<script language="javascript">parent.left_frame.location.reload();</script>';
    printf(_('Entry %s and sub-tree deleted successfully.'), '<b>' . htmlspecialchars($dn) . '</b>');
} else {
    pla_error(sprintf(_('Could not delete the entry: %s'), htmlspecialchars($dn)), $ldapserver->error(), $ldapserver->errno());
}
function pla_rdelete($ldapserver, $dn)
开发者ID:azeckoski,项目名称:az-php-sandbox,代码行数:31,代码来源:rdelete.php


示例12: array_unique

}
$ldap['attrs']['must'] = array_unique($ldap['attrs']['must']);
/* Build a list of the attributes that this new objectClass requires,
 * but that the object does not currently contain */
$ldap['attrs']['need'] = array();
foreach ($ldap['attrs']['must'] as $attr) {
    if (is_null($request['template']->getAttribute($attr))) {
        array_push($ldap['attrs']['need'], $attribute_factory->newAttribute($attr, array('values' => array()), $app['server']->getIndex()));
    }
}
# Mark all the need attributes as shown
foreach ($ldap['attrs']['need'] as $index => $values) {
    $ldap['attrs']['need'][$index]->show();
}
if (count($ldap['attrs']['need']) > 0) {
    $request['page']->drawTitle(sprintf('%s <b>%s</b>', _('Add new objectClass to'), get_rdn($request['dn'])));
    $request['page']->drawSubTitle();
    echo '<div style="text-align: center">';
    printf('<small><b>%s: </b>%s <b>%s</b> %s %s</small>', _('Instructions'), _('In order to add these objectClass(es) to this entry, you must specify'), count($ldap['attrs']['need']), _('new attributes'), _('that this objectClass requires.'));
    echo '<br /><br />';
    echo '<form action="cmd.php" method="post" id="entry_form">';
    echo '<div>';
    if ($_SESSION[APPCONFIG]->getValue('confirm', 'update')) {
        echo '<input type="hidden" name="cmd" value="update_confirm" />';
    } else {
        echo '<input type="hidden" name="cmd" value="update" />';
    }
    printf('<input type="hidden" name="server_id" value="%s" />', $app['server']->getIndex());
    printf('<input type="hidden" name="dn" value="%s" />', htmlspecialchars($request['dn']));
    echo '</div>';
    echo '<table class="entry" cellspacing="0" border="0" style="margin-left: auto; margin-right: auto;">';
开发者ID:dannylsl,项目名称:phpLDAPadmin,代码行数:31,代码来源:add_oclass_form.php


示例13: error

# Check if the entry exists.
if (!$request['dn'] || !$app['server']->dnExists($request['dn'])) {
    error(sprintf(_('The entry (%s) does not exist.'), $request['dn']), 'error', 'index.php');
}
$request['page'] = new TemplateRender($app['server']->getIndex(), get_request('template', 'REQUEST', false, null));
$request['page']->setDN($request['dn']);
$request['page']->accept(true);
$request['template'] = $request['page']->getTemplate();
/*
if ($request['attribute']->isReadOnly())
	error(sprintf(_('The attribute (%s) is in readonly mode.'),$request['attr']),'error','index.php');
*/
# Render the form
if (!strcasecmp($request['attr'], 'objectclass') || get_request('meth', 'REQUEST') != 'ajax') {
    # Render the form.
    $request['page']->drawTitle(sprintf('%s <b>%s</b> %s <b>%s</b>', _('Add new'), htmlspecialchars($request['attr']), _('value to'), htmlspecialchars(get_rdn($request['dn']))));
    $request['page']->drawSubTitle();
    if (!strcasecmp($request['attr'], 'objectclass')) {
        echo '<form action="cmd.php" method="post" class="new_value" id="entry_form">';
        echo '<div>';
        echo '<input type="hidden" name="cmd" value="add_oclass_form" />';
    } else {
        echo '<form action="cmd.php" method="post" class="new_value" id="entry_form" enctype="multipart/form-data" onsubmit="return submitForm(this)">';
        echo '<div>';
        if ($_SESSION[APPCONFIG]->getValue('confirm', 'update')) {
            echo '<input type="hidden" name="cmd" value="update_confirm" />';
        } else {
            echo '<input type="hidden" name="cmd" value="update" />';
        }
    }
    printf('<input type="hidden" name="server_id" value="%s" />', $app['server']->getIndex());
开发者ID:dannylsl,项目名称:phpLDAPadmin,代码行数:31,代码来源:add_value_form.php


示例14: rawurldecode

 */
require 'common.php';
$dn = rawurldecode($_GET['dn']);
$server_id = $_GET['server_id'];
$format = $_GET['format'];
$scope = $_GET['scope'] ? $_GET['scope'] : 'base';
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.");
$objects = pla_ldap_search($server_id, 'objectClass=*', $dn, array(), $scope, false);
$server_name = $servers[$server_id]['name'];
$server_host = $servers[$server_id]['host'];
//echo "<pre>";
//print_r( $objects );
//exit;
$rdn = get_rdn($dn);
$friendly_rdn = get_rdn($dn, 1);
switch ($format) {
    case 'win':
        $br = "\r\n";
        break;
    case 'mac':
        $br = "\r";
        break;
    case 'unix':
    default:
        $br = "\n";
        break;
}
if (!$objects) {
    pla_error("Search on dn (" . htmlspecialchars($dn) . ") came back empty");
}
开发者ID:BackupTheBerlios,项目名称:milaninegw-svn,代码行数:31,代码来源:ldif_export.php


示例15: preg_replace

if (isset($_POST['filter'])) {
    preg_replace('/\\s+/', '', $_POST['filter']);
    $attributes = split(',', preg_replace('/\\s+/', '', $_POST['attributes']));
} else {
    $attributes = array();
}
# add system attributes if needed
if (isset($_POST['sys_attr'])) {
    array_push($attributes, '*');
    array_push($attributes, '+');
}
isset($_POST['exporter_id']) or pla_error(_('You must choose an export format.'));
$exporter_id = $_POST['exporter_id'];
isset($exporters[$exporter_id]) or pla_error(_('Invalid export format'));
# Initialisation of other variables
$friendly_rdn = get_rdn($base_dn, 1);
$extension = $exporters[$exporter_id]['extension'];
# default case not really needed
switch ($format) {
    case 'win':
        $br = "\r\n";
        break;
    case 'mac':
        $br = "\r";
        break;
    case 'unix':
    default:
        $br = "\n";
}
# get the decoree,ie the source
$plaLdapExporter = new PlaLdapExporter($ldapserver->server_id, $filter, $base_dn, $scope, $attributes);
开发者ID:azeckoski,项目名称:az-php-sandbox,代码行数:31,代码来源:export.php


示例16: draw_tree_plm

/**
 * Recursively descend on the given dn and draw the tree in plm
 *
 * @param dn $dn Current dn.
 * @param object $LDAPServer LDAPServer object
 * @param int $level Level to start drawing (defaults to 2)
 * @todo: Currently draw PLM only shows the first 50 entries of the base children - possibly the childrens children too. Have disabed the size_limit on the base - need to check that it doesnt affect non PLM tree viewer and children where size > size_limit.
 */
function draw_tree_plm($dn, $ldapserver, $level = 2)
{
    if (DEBUG_ENABLED) {
        debug_log('draw_tree_plm(): Entered with (%s,%s,%s)', 33, $dn, $ldapserver, $level);
    }
    global $config;
    $tree = get_cached_item($ldapserver->server_id, 'tree');
    $encoded_dn = rawurlencode($dn);
    #$expand_href = sprintf('expand.php?server_id=%s&amp;dn=%s',$ldapserver->server_id,$encoded_dn);
    $edit_href = sprintf('template_engine.php?server_id=%s&amp;dn=%s', $ldapserver->server_id, $encoded_dn);
    #$img_src = sprintf('images/%s',$tree['browser'][$dn]['icon']);
    $rdn = get_rdn($dn);
    $dots = '';
    for ($i = 1; $i <= $level; $i++) {
        $dots .= '.';
    }
    # Have we tranversed this part of the tree yet?
    if (isset($tree['browser'][$dn]['open'])) {
        $tree_plm = sprintf("%s|%s|%s|%s|%s|%s|%s\n", $dots, $rdn . ' (' . number_format(count($tree['browser'][$dn]['children'])) . ')', $edit_href, $dn, $tree['browser'][$dn]['icon'], 'right_frame', isset($tree['browser'][$dn]['open']) ? $tree['browser'][$dn]['open'] : 0);
        foreach ($tree['browser'][$dn]['children'] as $dn) {
            $tree_plm .= draw_tree_plm($dn, $ldapserver, $level + 1);
        }
    } else {
        $size_limit = $config->GetValue('search', 'size_limit');
        $child_count = count($ldapserver->getContainerContents($dn, $size_limit + 1, '(objectClass=*)', $config->GetValue('deref', 'tree')));
        if ($child_count > $size_limit) {
            $child_count = $size_limit . '+';
        }
        if ($child_count) {
            $tree_plm = sprintf("%s|%s|%s|%s|%s|%s|%s|%s\n", $dots, $rdn . ' (' . $child_count . ')', $edit_href, $dn, $tree['browser'][$dn]['icon'], 'right_frame', isset($tree['browser'][$dn]['open']) ? $tree['browser'][$dn]['open'] : 0, $child_count);
        } else {
            $tree_plm = sprintf("%s|%s|%s|%s|%s|%s|%s|%s\n", $dots, $rdn . ' (0)', $edit_href, $dn, $tree['browser'][$dn]['icon'], 'right_frame', isset($tree['browser'][$dn]['open']) ? $tree['browser'][$dn]['open'] : 0, $child_count);
        }
    }
    if (DEBUG_ENABLED) {
        debug_log('draw_tree_plm(): Returning (%s)', 33, $tree_plm);
    }
    return $tree_plm;
}
开发者ID:azeckoski,项目名称:az-php-sandbox,代码行数:47,代码来源:tree_functions.php


示例17: printf

$request['page']->drawSubTitle();
printf('<script type="text/javascript" language="javascript" src="%sdnChooserPopup.js"></script>', JSDIR);
echo '<center>';
printf('%s <b>%s</b> %s:<br /><br />', _('Copy'), get_rdn($request['dn']), _('to a new object'));
echo '<form action="cmd.php" method="post" name="copy_form">';
echo '<input type="hidden" name="cmd" value="copy" />';
printf('<input type="hidden" name="server_id" value="%s" />', $app['server']->getIndex());
printf('<input type="hidden" name="server_id_src" value="%s" />', $app['server']->getIndex());
printf('<input type="hidden" name="dn_src" value="%s" />', htmlspecialchars($request['dn']));
echo "\n";
echo '<table style="border-spacing: 10px">';
echo '<tr>';
printf('<td><acronym title="%s">%s</acronym>:</td>', _('The full DN of the new entry to be created when copying the source entry'), _('Destination DN'));
echo '<td>';
printf('<input type="text" name="dn_dst" size="45" value="%s" />', htmlspecialchars($request['dn']));
draw_chooser_link('copy_form.dn_dst', 'true', get_rdn($request['dn']));
echo '</td>';
echo '</tr>';
echo "\n";
printf('<tr><td>%s:</td><td>%s</td></tr>', _('Destination Server'), server_select_list($app['server']->getIndex(), true, 'server_id_dst'));
echo "\n";
# We search all children, not only the visible children in the tree
$request['children'] = $app['server']->getContainerContents($request['dn']);
if (count($request['children']) > 0) {
    echo '<tr>';
    printf('<td><label for="recursive">%s</label>:</td>', _('Recursive copy'));
    echo '<td><input type="checkbox" id="recursive" name="recursive" onClick="copy_field_toggle(this)" />';
    printf('<small>(%s)</small></td>', _('Recursively copy all children of this object as well.'));
    echo '</tr>';
    echo "\n";
    echo '<tr>';
开发者ID:kangaroot,项目名称:phpldapadmin,代码行数:31,代码来源:copy_form.php


示例18: copy_dn

function copy_dn($source_server_id, $source_dn, $dest_server_id, $dest_dn)
{
    global $ds;
    $ds = pla_ldap_connect($dest_server_id) or pla_error("Could not connect to LDAP server");
    $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, '='));
    $rdn_value = get_rdn($dest_dn);
    $rdn_value = substr($rdn_value, strpos($rdn_value, '=') + 1);
    $new_entry[$rdn_attr] = $rdn_value;
    // don't need a dn attribute in the new entry
    unset($new_entry['dn']);
    $add_result = @ldap_add($ds, $dest_dn, $new_entry);
    if (!$add_result) {
        echo "</small><br /><br />";
        pla_error("Failed to copy {$source_dn} (server: {$source_server_id}) to " . "{$dest_dn} (server: {$dest_server_id})", ldap_error($ds), ldap_errno($ds));
    }
    return $add_result;
}
开发者ID:BackupTheBerlios,项目名称:milaninegw-svn,代码行数:20,代码来源:copy.php


示例19: array

 */
require './common.php';
# The DN we are working with
$request = array();
$request['dn'] = get_request('dn', 'GET');
# Check if the entry exists.
if (!$request['dn'] || !$app['server']->dnExists($request['dn'])) {
    error(sprintf(_('The entry (%s) does not exist.'), $request['dn']), 'error', 'index.php');
}
$request['page'] = new TemplateRender($app['server']->getIndex(), get_request('template', 'REQUEST', false, null));
$request['page']->setDN($request['dn']);
$request['page']->accept(true);
$request['template'] = $request['page']->getTemplate();
# Render the form
if (get_request('meth', 'REQUEST') != 'ajax') {
    $request['page']->drawTitle(sprintf('%s <b>%s</b>', _('Add new attribute'), get_rdn($request['dn'])));
    $request['page']->drawSubTitle();
    echo '<div style="text-align: center;">';
    if (count($request['template']->getAvailAttrs())) {
        # If we have more than the configured entries, we'll separate our input to the old ways.
        if (count($request['template']->getAvailAttrs()) > $_SESSION[APPCONFIG]->getValue('appearance', 'max_add_attrs')) {
            $attr = array();
            $attr['avail'] = array();
            $attr['binary'] = array();
            foreach ($request['template']->getAvailAttrs() as $attribute) {
                if ($app['server']->isAttrBinary($attribute->getName())) {
                    array_push($attr['binary'], $attribute);
                } else {
                    array_push($attr['avail'], $attribute);
                }
            }
开发者ID:dannylsl,项目名称:phpLDAPadmin,代码行数:31,代码来源:add_attr_form.php


示例20: array

 */
require './common.php';
# The DN we are working with
$request = array();
$request['dn'] = get_request('dn', 'GET');
$request['page'] = new PageRender($app['server']->getIndex(), get_request('template', 'REQUEST', false, 'none'));
$request['page']->setDN($request['dn']);
$request['page']->accept();
$request['template'] = $request['page']->getTemplate();
# Check if the entry exists.
if (!$request['dn'] || !$app['server']->dnExists($request['dn'])) {
    system_message(array('title' => _('Entry does not exist'), 'body' => sprintf('%s (%s)', _('The entry does not exist'), $request['dn']), 'type' => 'error'), 'index.php');
}
# We search all children, not only the visible children in the tree
$request['children'] = $app['server']->getContainerContents($request['dn'], null, 0, '(objectClass=*)', LDAP_DEREF_NEVER);
printf('<h3 class="title">%s %s</h3>', _('Delete'), htmlspecialchars(get_rdn($request['dn'])));
printf('<h3 class="subtitle">%s: <b>%s</b> &nbsp;&nbsp;&nbsp; %s: <b>%s</b></h3>', _('Server'), $app['server']->getName(), _('Distinguished Name'), $request['dn']);
echo "\n";
echo '<center>';
if (count($request['children'])) {
    printf('<b>%s</b><br /><br />', _('Permanently delete all children also?'));
    $search['href'] = htmlspecialchars(sprintf('cmd.php?cmd=query_engine&server_id=%s&filter=%s&base=%s&scope=sub&query=none&format=list', $app['server']->getIndex(), rawurlencode('objectClass=*'), rawurlencode($request['dn'])));
    $query = array();
    $query['base'] = $request['dn'];
    $query['scope'] = 'sub';
    $query['attrs'] = array('dn');
    $query['size_limit'] = 0;
    $query['deref'] = LDAP_DEREF_NEVER;
    $request['search'] = $app['server']->query($query, null);
    echo '<table class="forminput" border="0">';
    echo '<tr>';
开发者ID:dannylsl,项目名称:phpLDAPadmin,代码行数:31,代码来源:delete_form.php



注:本文中的get_rdn函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
PHP get_real_class函数代码示例发布时间:2022-05-15
下一篇:
PHP get_raw_theme_root函数代码示例发布时间:2022-05-15
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap