/**
  * Checks whether the Install Tool password is set to its default value.
  *
  * @return \TYPO3\CMS\Reports\Status An object representing the security of the saltedpassswords extension
  */
 protected function getSaltedPasswordsStatus()
 {
     $value = $GLOBALS['LANG']->getLL('status_ok');
     $message = '';
     $severity = \TYPO3\CMS\Reports\Status::OK;
     /** @var \TYPO3\CMS\Saltedpasswords\Utility\ExtensionManagerConfigurationUtility $configCheck */
     $configCheck = GeneralUtility::makeInstance('TYPO3\\CMS\\Saltedpasswords\\Utility\\ExtensionManagerConfigurationUtility');
     $message = '<p>' . $GLOBALS['LANG']->getLL('status_saltedPasswords_infoText') . '</p>';
     $messageDetail = '';
     $flashMessage = $configCheck->checkConfigurationBackend(array(), new \TYPO3\CMS\Core\TypoScript\ConfigurationForm());
     if (strpos($flashMessage, 'message-error') !== FALSE) {
         $value = $GLOBALS['LANG']->getLL('status_insecure');
         $severity = \TYPO3\CMS\Reports\Status::ERROR;
         $messageDetail .= $flashMessage;
     }
     if (strpos($flashMessage, 'message-warning') !== FALSE) {
         $severity = \TYPO3\CMS\Reports\Status::WARNING;
         $messageDetail .= $flashMessage;
     }
     if (strpos($flashMessage, 'message-information') !== FALSE) {
         $messageDetail .= $flashMessage;
     }
     $unsecureUserCount = \TYPO3\CMS\Saltedpasswords\Utility\SaltedPasswordsUtility::getNumberOfBackendUsersWithInsecurePassword();
     if ($unsecureUserCount > 0) {
         $value = $GLOBALS['LANG']->getLL('status_insecure');
         $severity = \TYPO3\CMS\Reports\Status::ERROR;
         $messageDetail .= '<div class="typo3-message message-warning">' . $GLOBALS['LANG']->getLL('status_saltedPasswords_notAllPasswordsHashed') . '</div>';
     }
     $message .= $messageDetail;
     if (empty($messageDetail)) {
         $message = '';
     }
     return GeneralUtility::makeInstance('TYPO3\\CMS\\Reports\\Status', $GLOBALS['LANG']->getLL('status_saltedPasswords'), $value, $message, $severity);
 }
 /**
  * Checks whether salted Passwords are configured or not.
  *
  * @return \TYPO3\CMS\Reports\Status An object representing the security of the saltedpassswords extension
  */
 protected function getSaltedPasswordsStatus()
 {
     $value = $GLOBALS['LANG']->getLL('status_ok');
     $severity = \TYPO3\CMS\Reports\Status::OK;
     /** @var \TYPO3\CMS\Saltedpasswords\Utility\ExtensionManagerConfigurationUtility $configCheck */
     $configCheck = GeneralUtility::makeInstance(\TYPO3\CMS\Saltedpasswords\Utility\ExtensionManagerConfigurationUtility::class);
     $message = '<p>' . $GLOBALS['LANG']->getLL('status_saltedPasswords_infoText') . '</p>';
     $messageDetail = '';
     $resultCheck = $configCheck->checkConfigurationBackend(array(), new \TYPO3\CMS\Core\TypoScript\ConfigurationForm());
     switch ($resultCheck['errorType']) {
         case FlashMessage::INFO:
             $messageDetail .= $resultCheck['html'];
             break;
         case FlashMessage::WARNING:
             $severity = \TYPO3\CMS\Reports\Status::WARNING;
             $messageDetail .= $resultCheck['html'];
             break;
         case FlashMessage::ERROR:
             $value = $GLOBALS['LANG']->getLL('status_insecure');
             $severity = \TYPO3\CMS\Reports\Status::ERROR;
             $messageDetail .= $resultCheck['html'];
             break;
         default:
     }
     $unsecureUserCount = SaltedPasswordsUtility::getNumberOfBackendUsersWithInsecurePassword();
     if ($unsecureUserCount > 0) {
         $value = $GLOBALS['LANG']->getLL('status_insecure');
         $severity = \TYPO3\CMS\Reports\Status::ERROR;
         $messageDetail .= '<div class="panel panel-warning">' . '<div class="panel-body">' . $GLOBALS['LANG']->getLL('status_saltedPasswords_notAllPasswordsHashed') . '</div>' . '</div>';
     }
     $message .= $messageDetail;
     if (empty($messageDetail)) {
         $message = '';
     }
     return GeneralUtility::makeInstance(\TYPO3\CMS\Reports\Status::class, $GLOBALS['LANG']->getLL('status_saltedPasswords'), $value, $message, $severity);
 }