fixed module order and some minor bugs; removed unneeded parameter in get_pdfEntries()
This commit is contained in:
parent
19e65ecdab
commit
cd31c1ba13
|
@ -892,7 +892,6 @@ class accountContainer {
|
||||||
if ($this->current_page==0) {
|
if ($this->current_page==0) {
|
||||||
if ($this->subpage=='attributes') {
|
if ($this->subpage=='attributes') {
|
||||||
$modules = array_keys($this->module);
|
$modules = array_keys($this->module);
|
||||||
$table = array();
|
|
||||||
$disabled = false;
|
$disabled = false;
|
||||||
$incompleteModules = array();
|
$incompleteModules = array();
|
||||||
foreach ($modules as $module) {
|
foreach ($modules as $module) {
|
||||||
|
@ -947,7 +946,7 @@ class accountContainer {
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
echo "<td><fieldset class=\"".$this->type."edit\"><legend><b>";
|
echo "<td><fieldset class=\"".$this->type."edit\"><legend><b>";
|
||||||
echo $this->module[$this->order[$this->current_page]]->get_alias($type);
|
echo $this->module[$this->order[$this->current_page]]->get_alias();
|
||||||
echo "</b></legend>\n";
|
echo "</b></legend>\n";
|
||||||
}
|
}
|
||||||
// display html-code from mdule
|
// display html-code from mdule
|
||||||
|
@ -972,7 +971,7 @@ class accountContainer {
|
||||||
$return[] = array(
|
$return[] = array(
|
||||||
0 => array('kind' => 'text', 'text' => ' ')
|
0 => array('kind' => 'text', 'text' => ' ')
|
||||||
);
|
);
|
||||||
$pdfStructures = getPDFStructureDefinitions($type);
|
$pdfStructures = getPDFStructureDefinitions($this->type);
|
||||||
$return[] = array(
|
$return[] = array(
|
||||||
0 => array('kind' => 'fieldset', 'legend' => '<b>PDF</b>', 'td' => array('colspan' => 2), 'value' => array(array(
|
0 => array('kind' => 'fieldset', 'legend' => '<b>PDF</b>', 'td' => array('colspan' => 2), 'value' => array(array(
|
||||||
0 => array('kind' => 'select', 'name' => 'pdfStructure', 'options' => $pdfStructures),
|
0 => array('kind' => 'select', 'name' => 'pdfStructure', 'options' => $pdfStructures),
|
||||||
|
@ -1156,9 +1155,6 @@ class accountContainer {
|
||||||
}
|
}
|
||||||
// Return empty array if no objectClass wasn't found
|
// Return empty array if no objectClass wasn't found
|
||||||
if ($line==-1) return array();
|
if ($line==-1) return array();
|
||||||
//if ($line==-1) trigger_error (sprintf(_("ObjectClass %s required but not defined in ldap."), $objectClass), E_USER_WARNING);
|
|
||||||
// get casesensitive objectClass name
|
|
||||||
$objectClassName = substr($_SESSION['ldap']->objectClasses[$line], 6+strpos($_SESSION['ldap']->objectClasses[$line], "NAME '"), strlen($objectClass) );
|
|
||||||
if (strpos($_SESSION['ldap']->objectClasses[$line], 'MUST (')) {
|
if (strpos($_SESSION['ldap']->objectClasses[$line], 'MUST (')) {
|
||||||
$string_withtail = substr($_SESSION['ldap']->objectClasses[$line], strpos($_SESSION['ldap']->objectClasses[$line], 'MUST (')+6);
|
$string_withtail = substr($_SESSION['ldap']->objectClasses[$line], strpos($_SESSION['ldap']->objectClasses[$line], 'MUST (')+6);
|
||||||
// Now we have a string with all must-attributes
|
// Now we have a string with all must-attributes
|
||||||
|
@ -1371,19 +1367,22 @@ class accountContainer {
|
||||||
|
|
||||||
// sortm modules and make all active because all required attributes should be set
|
// sortm modules and make all active because all required attributes should be set
|
||||||
$module = array_keys ($this->module);
|
$module = array_keys ($this->module);
|
||||||
$modulelist = array();
|
|
||||||
// loop until all modules are in order.
|
// loop until all modules are in order.
|
||||||
// We don't want to loop forever
|
// We don't want to loop forever
|
||||||
$remain = count($module) * count($module);
|
$remain = count($module) * count($module);
|
||||||
$order = array();
|
$order = array();
|
||||||
while ( (count($module) != count($modulelist)) && ($remain!=0) ) {
|
while ( (count($module) != count($order)) && ($remain!=0) ) {
|
||||||
$remain--;
|
$remain--;
|
||||||
foreach ($module as $moduleitem) {
|
foreach ($module as $moduleitem) {
|
||||||
$required = $this->module[$moduleitem]->get_dependencies($this->type);
|
$required = $this->module[$moduleitem]->get_dependencies($this->type);
|
||||||
$everything_found = true;
|
$everything_found = true;
|
||||||
if (is_array($required['depends'])) {
|
if (is_array($required['depends'])) {
|
||||||
foreach ($required['depends'] as $requireditem)
|
foreach ($required['depends'] as $requireditem) {
|
||||||
if (!in_array($requireditem, $modulelist)) $everthing_found = false;
|
if (!in_array($requireditem, $order)) {
|
||||||
|
$everything_found = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ($everything_found && !in_array($moduleitem, $order) ) $order[] = $moduleitem;
|
if ($everything_found && !in_array($moduleitem, $order) ) $order[] = $moduleitem;
|
||||||
}
|
}
|
||||||
|
@ -1406,19 +1405,22 @@ class accountContainer {
|
||||||
}
|
}
|
||||||
|
|
||||||
$module = array_keys ($this->module);
|
$module = array_keys ($this->module);
|
||||||
$modulelist = array();
|
|
||||||
// loop until all modules are in order.
|
// loop until all modules are in order.
|
||||||
// We don't want to loop forever
|
// We don't want to loop forever
|
||||||
$remain = count($module) * count($module);
|
$remain = count($module) * count($module);
|
||||||
$order = array();
|
$order = array();
|
||||||
while ( (count($module) != count($modulelist)) && ($remain!=0) ) {
|
while ( (count($module) != count($order)) && ($remain!=0) ) {
|
||||||
$remain--;
|
$remain--;
|
||||||
foreach ($module as $moduleitem) {
|
foreach ($module as $moduleitem) {
|
||||||
$required = $this->module[$moduleitem]->get_dependencies($this->type);
|
$required = $this->module[$moduleitem]->get_dependencies($this->type);
|
||||||
$everything_found = true;
|
$everything_found = true;
|
||||||
if (is_array($required['require'])) {
|
if (is_array($required['depends'])) {
|
||||||
foreach ($required['require'] as $requireditem)
|
foreach ($required['depends'] as $requireditem) {
|
||||||
if (!in_array($reuquireditem, $modulelist)) $everthing_found = false;
|
if (!in_array($requireditem, $order)) {
|
||||||
|
$everything_found = false;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if ($everything_found && !in_array($moduleitem, $order) ) $order[] = $moduleitem;
|
if ($everything_found && !in_array($moduleitem, $order) ) $order[] = $moduleitem;
|
||||||
}
|
}
|
||||||
|
@ -1524,14 +1526,14 @@ class accountContainer {
|
||||||
}
|
}
|
||||||
$success = ldap_add($_SESSION['ldap']->server(), $this->dn, $attr);
|
$success = ldap_add($_SESSION['ldap']->server(), $this->dn, $attr);
|
||||||
if ($success) {
|
if ($success) {
|
||||||
$_SESSION['cache']->update_cache($this->$dn, 'add', $attr);
|
$_SESSION['cache']->update_cache($this->dn, 'add', $attr);
|
||||||
$success = ldap_delete($_SESSION['ldap']->server(), $this->dn_orig);
|
$success = ldap_delete($_SESSION['ldap']->server(), $this->dn_orig);
|
||||||
if (!$success) {
|
if (!$success) {
|
||||||
$errors[] = array('ERROR', sprintf(_('Was unable to delete DN: %s.'), $this->dn_orig), ldap_error($_SESSION['ldap']->server()));
|
$errors[] = array('ERROR', sprintf(_('Was unable to delete DN: %s.'), $this->dn_orig), ldap_error($_SESSION['ldap']->server()));
|
||||||
$stopprocessing = true;
|
$stopprocessing = true;
|
||||||
}
|
}
|
||||||
if ($success)
|
if ($success)
|
||||||
$_SESSION['cache']->update_cache($this->$dn, 'delete_dn');
|
$_SESSION['cache']->update_cache($this->dn, 'delete_dn');
|
||||||
}
|
}
|
||||||
if (!$success) {
|
if (!$success) {
|
||||||
$errors[] = array('ERROR', sprintf(_('Was unable to create DN: %s.'), $this->dn), ldap_error($_SESSION['ldap']->server()));
|
$errors[] = array('ERROR', sprintf(_('Was unable to create DN: %s.'), $this->dn), ldap_error($_SESSION['ldap']->server()));
|
||||||
|
@ -1550,7 +1552,7 @@ class accountContainer {
|
||||||
$stopprocessing = true;
|
$stopprocessing = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$_SESSION['cache']->update_cache($this->$dn, 'add', $attr);
|
$_SESSION['cache']->update_cache($this->dn, 'add', $attr);
|
||||||
}
|
}
|
||||||
unset($attributes[$this->dn]);
|
unset($attributes[$this->dn]);
|
||||||
}
|
}
|
||||||
|
@ -1566,7 +1568,7 @@ class accountContainer {
|
||||||
$stopprocessing = true;
|
$stopprocessing = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$_SESSION['cache']->update_cache($this->$dn, 'modify', $attributes[$this->dn]['modify']);
|
$_SESSION['cache']->update_cache($this->dn, 'modify', $attributes[$this->dn]['modify']);
|
||||||
}
|
}
|
||||||
// add attributes
|
// add attributes
|
||||||
if (isset($attributes[$DNs[$i]]['add']) && !$stopprocessing) {
|
if (isset($attributes[$DNs[$i]]['add']) && !$stopprocessing) {
|
||||||
|
@ -1576,7 +1578,7 @@ class accountContainer {
|
||||||
$stopprocessing = true;
|
$stopprocessing = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$_SESSION['cache']->update_cache($this->$dn, 'add', $attributes[$this->dn]['add']);
|
$_SESSION['cache']->update_cache($this->dn, 'add', $attributes[$this->dn]['add']);
|
||||||
}
|
}
|
||||||
// removce attributes
|
// removce attributes
|
||||||
if (isset($attributes[$DNs[$i]]['remove']) && !$stopprocessing) {
|
if (isset($attributes[$DNs[$i]]['remove']) && !$stopprocessing) {
|
||||||
|
@ -1586,7 +1588,7 @@ class accountContainer {
|
||||||
$stopprocessing = true;
|
$stopprocessing = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
$_SESSION['cache']->update_cache($this->$dn, 'remove', $attributes[$this->dn]['remove']);
|
$_SESSION['cache']->update_cache($this->dn, 'remove', $attributes[$this->dn]['remove']);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1614,14 +1616,12 @@ class accountContainer {
|
||||||
/**
|
/**
|
||||||
* Returns a list of possible PDF entries for this account.
|
* Returns a list of possible PDF entries for this account.
|
||||||
*
|
*
|
||||||
* @param string $account_type account type
|
|
||||||
*
|
|
||||||
* @return list of PDF entries (array(<name> => <PDF lines>))
|
* @return list of PDF entries (array(<name> => <PDF lines>))
|
||||||
*/
|
*/
|
||||||
function get_pdfEntries($acount_type) {
|
function get_pdfEntries() {
|
||||||
$return = array();
|
$return = array();
|
||||||
while(($current = current($this->module)) != null) {
|
while(($current = current($this->module)) != null) {
|
||||||
$return = array_merge($return,$current->get_pdfEntries($account_type));
|
$return = array_merge($return,$current->get_pdfEntries($this->type));
|
||||||
next($this->module);
|
next($this->module);
|
||||||
}
|
}
|
||||||
$return = array_merge($return,array('main_dn' => array('<block><key>' . _('DN') . '</key><value>' . $this->dn . '</value></block>')));
|
$return = array_merge($return,array('main_dn' => array('<block><key>' . _('DN') . '</key><value>' . $this->dn . '</value></block>')));
|
||||||
|
|
|
@ -87,7 +87,7 @@ function createModulePDF($accounts,$pdf_structure="default") {
|
||||||
$pdf->AddPage();
|
$pdf->AddPage();
|
||||||
|
|
||||||
// Get PDF entries for the current account
|
// Get PDF entries for the current account
|
||||||
$entries = $account->get_pdfEntries($account_type);
|
$entries = $account->get_pdfEntries();
|
||||||
|
|
||||||
// Now create the PDF file acording to the structure with the submitted values
|
// Now create the PDF file acording to the structure with the submitted values
|
||||||
foreach($structure as $entry) {
|
foreach($structure as $entry) {
|
||||||
|
|
Loading…
Reference in New Issue