<li><a href="{link controller='UserQuickSearch'}mode=banned{/link}">{lang}wcf.acp.user.quickSearch.banned{/lang}</a></li>
<li><a href="{link controller='UserQuickSearch'}mode=newest{/link}">{lang}wcf.acp.user.quickSearch.newest{/lang}</a></li>
<li><a href="{link controller='UserQuickSearch'}mode=disabled{/link}">{lang}wcf.acp.user.quickSearch.disabled{/lang}</a></li>
+ <li><a href="{link controller='UserQuickSearch'}mode=pendingActivation{/link}">{lang}wcf.acp.user.quickSearch.pendingActivation{/lang}</a></li>
<li><a href="{link controller='UserQuickSearch'}mode=disabledAvatars{/link}">{lang}wcf.acp.user.quickSearch.disabledAvatars{/lang}</a></li>
<li><a href="{link controller='UserQuickSearch'}mode=disabledSignatures{/link}">{lang}wcf.acp.user.quickSearch.disabledSignatures{/lang}</a></li>
namespace wcf\acp\action;
use wcf\data\search\SearchEditor;
use wcf\action\AbstractAction;
+use wcf\data\user\User;
+use wcf\system\database\util\PreparedStatementConditionBuilder;
use wcf\system\exception\NamedUserException;
use wcf\system\menu\acp\ACPMenu;
use wcf\system\request\LinkHandler;
$this->matches = $statement->fetchAll(\PDO::FETCH_COLUMN);
break;
+ case 'pendingActivation':
+ $conditionBuilder = new PreparedStatementConditionBuilder();
+ $conditionBuilder->add('activationCode <> ?', [0]);
+ if (REGISTER_ACTIVATION_METHOD & User::REGISTER_ACTIVATION_USER) {
+ $conditionBuilder->add('emailConfirmed IS NULL');
+ }
+
+ $this->sortField = 'registrationDate';
+ $this->sortOrder = 'DESC';
+ $sql = "SELECT user_table.userID
+ FROM wcf".WCF_N."_user user_table
+ LEFT JOIN wcf".WCF_N."_user_option_value option_value
+ ON (option_value.userID = user_table.userID)
+ ". $conditionBuilder ."
+ ORDER BY user_table.registrationDate DESC";
+ $statement = WCF::getDB()->prepareStatement($sql, $this->maxResults);
+ $statement->execute($conditionBuilder->getParameters());
+ $this->matches = $statement->fetchAll(\PDO::FETCH_COLUMN);
+ break;
+
case 'disabledAvatars':
$sql = "SELECT user_table.userID
FROM wcf".WCF_N."_user user_table
use wcf\page\AbstractPage;
use wcf\system\application\ApplicationHandler;
use wcf\system\cache\builder\OptionCacheBuilder;
+use wcf\system\database\util\PreparedStatementConditionBuilder;
use wcf\system\io\RemoteFile;
use wcf\system\package\PackageInstallationDispatcher;
use wcf\system\request\LinkHandler;
$usersAwaitingApproval = 0;
if (REGISTER_ACTIVATION_METHOD & User::REGISTER_ACTIVATION_ADMIN) {
+ $conditionBuilder = new PreparedStatementConditionBuilder();
+ $conditionBuilder->add('activationCode <> ?', [0]);
+ if (REGISTER_ACTIVATION_METHOD & User::REGISTER_ACTIVATION_USER) {
+ $conditionBuilder->add('emailConfirmed IS NULL');
+ }
+
$sql = "SELECT COUNT(*)
- FROM wcf".WCF_N."_user
- WHERE activationCode <> 0";
+ FROM wcf".WCF_N."_user ".
+ $conditionBuilder;
$statement = WCF::getDB()->prepareStatement($sql);
- $statement->execute();
+ $statement->execute($conditionBuilder->getParameters());
$usersAwaitingApproval = $statement->fetchSingleColumn();
}
<item name="wcf.acp.user.disable"><![CDATA[Deaktivieren]]></item>
<item name="wcf.acp.user.enable"><![CDATA[Aktivieren]]></item>
<item name="wcf.acp.user.quickSearch.disabled"><![CDATA[Nicht aktivierte Benutzer]]></item>
+ <item name="wcf.acp.user.quickSearch.pendingActivation"><![CDATA[Benutzer die auf Freischaltung warten]]></item>
<item name="wcf.acp.user.quickSearch.disabledAvatars"><![CDATA[Gesperrte Avatare]]></item>
<item name="wcf.acp.user.quickSearch.disabledSignatures"><![CDATA[Gesperrte Signaturen]]></item>
<item name="wcf.acp.user.usersAwaitingApprovalInfo"><![CDATA[<a href="{link controller='UserQuickSearch'}mode=disabled{/link}">{#$usersAwaitingApproval} Benutzer</a> {if $usersAwaitingApproval == 1}wartet auf seine{else}warten auf ihre{/if} Aktivierung.]]></item>
<item name="wcf.acp.user.disableSignature.neverExpires"><![CDATA[Permanently Block]]></item>
<item name="wcf.acp.user.disable"><![CDATA[Disable]]></item>
<item name="wcf.acp.user.enable"><![CDATA[Approve]]></item>
- <item name="wcf.acp.user.quickSearch.disabled"><![CDATA[Users awaiting approval]]></item>
+ <item name="wcf.acp.user.quickSearch.disabled"><![CDATA[Disabled Users]]></item>
+ <item name="wcf.acp.user.quickSearch.pendingActivation"><![CDATA[Users awaiting approval]]></item>
<item name="wcf.acp.user.quickSearch.disabledAvatars"><![CDATA[Blocked avatars]]></item>
<item name="wcf.acp.user.quickSearch.disabledSignatures"><![CDATA[Blocked signatures]]></item>
- <item name="wcf.acp.user.usersAwaitingApprovalInfo"><![CDATA[<a href="{link controller='UserQuickSearch'}mode=disabled{/link}">{#$usersAwaitingApproval} User{if $usersAwaitingApproval != 1}s{/if}</a> {if $usersAwaitingApproval == 1}is{else}are{/if} awaiting your approval.]]></item>
+ <item name="wcf.acp.user.usersAwaitingApprovalInfo"><![CDATA[<a href="{link controller='UserQuickSearch'}mode=pendingActivation{/link}">{#$usersAwaitingApproval} User{if $usersAwaitingApproval != 1}s{/if}</a> {if $usersAwaitingApproval == 1}is{else}are{/if} awaiting your approval.]]></item>
<item name="wcf.acp.user.search.conditions.state.enabled"><![CDATA[Approved]]></item>
<item name="wcf.acp.user.search.conditions.state.disabled"><![CDATA[Awaiting Approval]]></item>
<item name="wcf.acp.user.sendNewPassword.mail.subject"><![CDATA[New Password for your Account for Website: {@PAGE_TITLE|language}]]></item>