dnExists($dn)) { system_message(array( 'title'=>_('Entry does not exist'), 'body'=>sprintf('%s (%s/%s)',_('The entry does not exist and will be ignored'),$dn), 'type'=>'error')); continue; } $request['page'][$counter] = new MassRender($app['server']->getIndex(),'none'); $request['page'][$counter]->setDN($dn); $request['page'][$counter]->accept(true); $template = $request['page'][$counter]->getTemplate(); # Mark our attributes to edit as shown. foreach ($template->getAttributes(true) as $attribute) { if ($attribute->isInternal()) { continue; } if (in_array_ignore_case($attribute->getName(),$request['attrs']) || in_array('*',$request['attrs'])) { $attribute->show(); # Get a list of our columns (we are not interested in these attribute values) if (! isset($attrcols[$attribute->getName()])) { $attrcols[$attribute->getName()] = $attribute; } } } $counter++; } usort($attrcols,'sortAttrs'); if (! count($request['page'])) { header('Location: index.php'); } # We'll render this forms Title with the first DN's object. $request['page'][0]->drawTitle(_('Bulk edit the following DNs')); $request['page'][0]->drawSubTitle(sprintf('%s: %s',_('Server'),$app['server']->getName())); echo '
'; echo '
'; echo ''; printf('',$app['server']->getIndex()); foreach ($request['page'] as $j => $page) { printf('',$j,$page->getTemplate()->getDN()); } echo '
'; echo ''; echo ''; echo ''; foreach ($attrcols as $attribute) { echo ''; } echo ''; $counter = 0; foreach ($request['page'] as $j => $page) { $template = $page->getTemplate(); printf('',$counter++%2==0?'even':'odd'); printf('', $template->getDN(),substr($template->getDN(),0,20)); foreach ($attrcols as $attrcol) { $attribute = $template->getAttribute($attrcol->getName()); echo ''; } echo ''; } echo '
DN'; $request['page'][0]->draw('Name',$attribute); echo '
%s...'; if ($attribute) { foreach ($attribute->getValues() as $i => $val) { $page->draw('MassFormReadWriteValue', $attribute, $i, $j); } # The attribute doesnt exist. If it is available by the shema, we can draw an empty input box. } else { $match = false; foreach ($template->getAvailAttrs() as $attribute) { if ($attrcol->getName() == $attribute->getName()) { $page->draw('MassFormReadWriteValue',$attribute,0,$j); $match = true; break; } } if (! $match) { printf('
%s
', _('Attribute not available')); } } echo '
'; echo '
'; echo '
'; printf('',_('Update Values')); echo '
'; echo '
';