loadHelper('approve_db'); if($INPUT->str('action') && $INPUT->arr('assignment') && checkSecurityToken()) { $assignment = $INPUT->arr('assignment'); //insert empty string as NULL if ($INPUT->str('action') === 'delete') { $db->deleteMaintainer((int) $assignment['id']); $db->updatePagesAssignments(); } else if ($INPUT->str('action') === 'add' && !blank($assignment['assign'])) { $approver = ''; if (!blank($assignment['approver'])) { $approver = $assignment['approver']; } elseif (!blank($assignment['approver_fb'])) { $approver = $assignment['approver_fb']; } $db->addMaintainer($assignment['assign'], $approver); $db->updatePagesAssignments(); } send_redirect(wl($ID, array('do' => 'admin', 'page' => 'approve'), true, '&')); } } /** * Render HTML output, e.g. helpful text and a form */ public function html() { global $ID; /* @var DokuWiki_Auth_Plugin $auth */ global $auth; echo $this->locale_xhtml('assignments_intro'); echo '
'; echo ''; echo ''; echo ''; echo ''; // header echo ''; echo ''; echo ''; echo ''; echo ''; /** @var helper_plugin_approve_db $db */ $db = $this->loadHelper('approve_db'); $assignments = $db->getMaintainers(); foreach($assignments as $assignment) { $id = $assignment['id']; $namespace = $assignment['namespace']; $approver = $assignment['approver'] ?: '---'; $link = wl( $ID, array( 'do' => 'admin', 'page' => 'approve', 'action' => 'delete', 'sectok' => getSecurityToken(), 'assignment[id]' => $id ) ); echo ''; echo ''; $user = $auth->getUserData($approver); if ($user) { echo ''; } else { echo ''; } echo ''; echo ''; } // new assignment form echo ''; echo ''; echo ''; echo ''; echo ''; echo '
'.$this->getLang('admin h_assignment_namespace').''.$this->getLang('admin h_assignment_approver').'
' . hsc($namespace) . '' . hsc($user['name']) . '' . hsc($approver) . ''.$this->getLang('admin btn_delete').'
'; if ($auth->canDo('getUsers')) { echo ''; // in case your auth plugin can do groups, but not list them (like the default one), // leave a text field as backup if (!$auth->canDo('getGroups')) { echo ''; } } else { echo ''; } echo '
'; } } // vim:ts=4:sw=4:et: