Backend\Core\Engine\Model::generateRandomString PHP Method

generateRandomString() public static method

Generate a random string
public static generateRandomString ( integer $length = 15, boolean $numeric = true, boolean $lowercase = true, boolean $uppercase = true, boolean $special = true ) : string
$length integer Length of random string.
$numeric boolean Use numeric characters.
$lowercase boolean Use alphanumeric lowercase characters.
$uppercase boolean Use alphanumeric uppercase characters.
$special boolean Use special characters.
return string
    public static function generateRandomString($length = 15, $numeric = true, $lowercase = true, $uppercase = true, $special = true)
    {
        $characters = '';
        $string = '';
        // possible characters
        if ($numeric) {
            $characters .= '1234567890';
        }
        if ($lowercase) {
            $characters .= 'abcdefghijklmnopqrstuvwxyz';
        }
        if ($uppercase) {
            $characters .= 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        }
        if ($special) {
            $characters .= '-_.:;,?!@#&=)([]{}*+%$';
        }
        // get random characters
        for ($i = 0; $i < $length; ++$i) {
            // random index
            $index = mt_rand(0, mb_strlen($characters));
            // add character to salt
            $string .= mb_substr($characters, $index, 1, self::getContainer()->getParameter('kernel.charset'));
        }
        return $string;
    }

Usage Example

Example #1
0
 /**
  * @param  InstallationData $data
  * @return array A list of variables that should be parsed into the configuration file(s).
  */
 protected function getConfigurationVariables(InstallationData $data)
 {
     return array('<debug-email>' => $data->hasDifferentDebugEmail() ? $data->getDebugEmail() : $data->getEmail(), '<database-name>' => $data->getDbDatabase(), '<database-host>' => addslashes($data->getDbHostname()), '<database-user>' => addslashes($data->getDbUsername()), '<database-password>' => addslashes($data->getDbPassword()), '<database-port>' => $data->getDbPort(), '<site-protocol>' => isset($_SERVER['SERVER_PROTOCOL']) ? strpos(strtolower($_SERVER['SERVER_PROTOCOL']), 'https') === false ? 'http' : 'https' : 'http', '<site-domain>' => isset($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : 'fork.local', '<site-default-title>' => 'Fork CMS', '<site-multilanguage>' => $data->getLanguageType() === 'multiple' ? 'true' : 'false', '<site-default-language>' => $data->getDefaultLanguage(), '<path-www>' => PATH_WWW, '<path-library>' => PATH_LIBRARY, '<action-group-tag>' => '\\@actiongroup', '<action-rights-level>' => 7, '<secret>' => Model::generateRandomString(32, true, true, true, false));
 }