+ return '{%url=modules.php?module=admin&what=list_user%}';
+}
+
+// Generate a "link" for the given admin id (admin_id)
+function generateAdminLink ($adminId) {
+ // No assigned admin is default
+ $adminLink = '<span class="admin_note">{--ADMIN_NO_ADMIN_ASSIGNED--}</span>';
+
+ // Zero? = Not assigned
+ if (bigintval($adminId) > 0) {
+ // Load admin's login
+ $login = getAdminLogin($adminId);
+
+ // Is the login valid?
+ if ($login != '***') {
+ // Is the extension there?
+ if (isExtensionActive('admins')) {
+ // Admin found
+ $adminLink = '<a href="' . generateEmailLink(getAdminEmail($adminId), 'admins') . '" title="{--ADMIN_CONTACT_LINK_TITLE--}">' . $login . '</a>';
+ } else {
+ // Extension not found
+ $adminLink = getMaskedMessage('EXTENSION_PROBLEM_EXTENSION_NOT_INSTALLED', 'admins');
+ }
+ } else {
+ // Maybe deleted?
+ $adminLink = '<div class="admin_note">' . getMaskedMessage('ADMIN_ID_404', $adminId) . '</div>';
+ }
+ } // END - if
+
+ // Return result
+ return $adminLink;
+}
+
+// Verifies if the current admin has confirmed to alter expert settings
+//
+// Return values:
+// 'failed' = Something goes wrong (default)
+// 'agreed' = Has verified and and confirmed it to see them
+// 'forbidden' = Has not the proper right to alter them
+// 'update' = Need to update extension 'admins'
+// 'ask' = A form was send to the admin
+function doVerifyExpertSettings () {
+ // Default return status is failed
+ $return = 'failed';
+
+ // Is the extension installed and recent?
+ if (isExtensionInstalledAndNewer('admins', '0.7.3')) {
+ // Okay, load the status
+ $expertSettings = getAminsExpertSettings();
+
+ // Is he allowed?
+ if ($expertSettings == 'Y') {
+ // Okay, does he want to see them?
+ if (getAminsExpertWarning() == 'Y') {
+ // Ask for them
+ if (isFormSent()) {
+ // Is the element set, then we need to change the admin
+ if (isPostRequestParameterSet('expert_settings')) {
+ // Get it and prepare final post data array
+ $postData['login'][getCurrentAdminId()] = getAdminLogin(getCurrentAdminId());
+ $postData['expert_warning'][getCurrentAdminId()] = 'N';
+
+ // Change it in the admin
+ adminsChangeAdminAccount($postData, 'expert_warning');
+
+ // Clear form
+ unsetPostRequestParameter('ok');
+ } // END - if
+
+ // All fine!
+ $return = 'agreed';
+ } else {
+ // Send form
+ loadTemplate('admin_expert_settings_form');
+
+ // Asked for it
+ $return = 'ask';
+ }
+ } else {
+ // Do not display
+ $return = 'agreed';
+ }
+ } else {
+ // Forbidden
+ $return = 'forbidden';
+ }
+ } else {
+ // Out-dated extension or not installed
+ $return = 'update';
+ }
+
+ // Output message for other status than ask/agreed
+ if (($return != 'ask') && ($return != 'agreed')) {
+ // Output message
+ loadTemplate('admin_settings_saved', false, '{--ADMIN_EXPERT_SETTINGS_STATUS_' . strtoupper($return) . '--}');
+ } // END - if
+
+ // Return status
+ return $return;
+}
+
+// Generate link to unconfirmed mails for admin
+function generateUnconfirmedAdminLink ($id, $unconfirmed, $type = 'bid') {
+ // Init output
+ $OUT = $unconfirmed;
+
+ // Do we have unconfirmed mails?
+ if ($unconfirmed > 0) {
+ // Add link to list_unconfirmed what-file
+ $OUT = '<a href="{%url=modules.php?module=admin&what=list_unconfirmed&' . $type . '=' . $id . '%}">' . translateComma($unconfirmed) . '</a>';
+ } // END - if
+
+ // Return it
+ return $OUT;
+}
+
+// Generates a navigation row for listing emails
+function addEmailNavigation ($numPages, $offset, $show_form, $colspan, $return=false) {
+ // Don't do anything if $numPages is 1
+ if ($numPages == 1) {
+ // Abort here with empty content
+ return '';
+ } // END - if
+
+ $TOP = '';
+ if ($show_form === false) {
+ $TOP = ' top';
+ } // END - if
+
+ $NAV = '';
+ for ($page = 1; $page <= $numPages; $page++) {
+ // Is the page currently selected or shall we generate a link to it?
+ if (($page == getRequestParameter('page')) || ((!isGetRequestParameterSet('page')) && ($page == 1))) {
+ // Is currently selected, so only highlight it
+ $NAV .= '<strong>-';
+ } else {
+ // Open anchor tag and add base URL
+ $NAV .= '<a href="{%url=modules.php?module=admin&what=' . getWhat() . '&page=' . $page . '&offset=' . $offset;
+
+ // Add userid when we shall show all mails from a single member
+ if ((isGetRequestParameterSet('userid')) && (bigintval(getRequestParameter('userid')) > 0)) $NAV .= '&userid=' . bigintval(getRequestParameter('userid'));
+
+ // Close open anchor tag
+ $NAV .= '%}">';
+ }
+ $NAV .= $page;
+ if (($page == getRequestParameter('page')) || ((!isGetRequestParameterSet('page')) && ($page == 1))) {
+ // Is currently selected, so only highlight it
+ $NAV .= '-</strong>';
+ } else {
+ // Close anchor tag
+ $NAV .= '</a>';
+ }
+
+ // Add seperator if we have not yet reached total pages
+ if ($page < $numPages) {
+ // Add it
+ $NAV .= '|';
+ } // END - if
+ } // END - for
+
+ // Define constants only once
+ $content['nav'] = $NAV;
+ $content['span'] = $colspan;
+ $content['top'] = $TOP;
+
+ // Load navigation template
+ $OUT = loadTemplate('admin_email_nav_row', true, $content);
+
+ if ($return === true) {
+ // Return generated HTML-Code
+ return $OUT;
+ } else {
+ // Output HTML-Code
+ outputHtml($OUT);
+ }