Helper\Option::createKey PHP Метод

createKey() публичный статический Метод

public static createKey ( $length = 30 )
    public static function createKey($length = 30)
    {
        $chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';
        $str = '';
        for ($i = 0; $i < $length; $i++) {
            $str .= $chars[mt_rand(0, strlen($chars) - 1)];
        }
        return $str;
    }

Usage Example

Пример #1
0
 } catch (PDOException $e) {
     echo colorize('Database not available! Please modify ./Data/Config.php and try again', 'WARNING') . PHP_EOL;
     break;
 }
 if (Option::getConfig('ENCRYPT_KEY') == 'Please generate key and paste here') {
     Option::setConfig('ENCRYPT_KEY', Option::createKey());
 }
 if (Option::getConfig('COOKIE_KEY') === null) {
     $str = file_get_contents(DATA_PATH . 'Config.php');
     preg_match("/define\\('ENCRYPT_KEY', '(.*)'\\);/", $str, $res);
     if (count($res) >= 1) {
         $str2 = preg_replace("/define\\('ENCRYPT_KEY', '(.*)'\\);/", $res[0] . PHP_EOL . "define('COOKIE_KEY', '" . Option::createKey() . "');", $str);
     }
     file_put_contents(DATA_PATH . 'Config.php', $str2);
 } elseif (Option::getConfig('COOKIE_KEY') == 'Please generate key and paste here' || Option::getConfig('COOKIE_KEY') == '') {
     Option::setConfig('COOKIE_KEY', Option::createKey());
 }
 echo 'Done!' . PHP_EOL;
 echo 'Now migrating database...' . PHP_EOL;
 if (PATH_SEPARATOR != ':') {
     $phinxCommand = ROOT_PATH . 'Package\\bin\\phinx.bat';
 } else {
     $phinxCommand = PHP_BINARY . ' ' . ROOT_PATH . 'Package/robmorgan/phinx/bin/phinx';
 }
 exec($phinxCommand . ' migrate', $return_arr, $return_arr2);
 print_arr($return_arr);
 if (stripos($return_arr[count($return_arr) - 1], 'All Done.') === false) {
     echo colorize(PHP_EOL . PHP_EOL . 'Failed to migrate database, you can try it manually: ', 'WARNING') . colorize('./Package/bin/phinx migrate', 'WARNING') . PHP_EOL;
     // rollback
     exec($phinxCommand . ' rollback', $return_arr, $return_arr2);
     break;