Наткнулся сейчас на весьма занятную функцию WP: wp_generate_password. Содержится она в файлике /wp-includes/pluggable.php Более подробно содержимое этого файлика рассмотрено в кодексе, но сама функция не расписана. Потому полез изучать код.
Функция генерирует пароли и имеет два входных параметра (второй не обязателен): количество знаков в пароле (integer) и использование спецсиволов в пароле (boolean).
Использование: wp_generate_password ( 10, true ) — генерирование десятизначного пароля со спецсимволами.
Возвращает, естественно, string.
Сама функция:
function wp_generate_password($length = 12, $special_chars = true) {
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
if ( $special_chars )
$chars .= '!@#$%^&*()';
$password = '';
for ( $i = 0; $i < $length; $i++ )
$password .= substr($chars, wp_rand(0, strlen($chars) - 1), 1);
return $password;
}
Как работает wp_rand - искать не буду: суть ясна и так. 🙂
просто и со вкусом )
AngelOfFate, ага. Просто я наткнулся на применение этой функции со вторым параметром false. Естественно, не понял, что это за параметр — полез в кодекс. А там фиг. Пришлось лезть в код. 🙂
А как можно отключить генерацию паролей при реге новых пользователей?
@ иван, можно препарировать эту функцию и прописать пароль по умолчанию. Но это придётся делать после каждого обновления. Да и не совсем понимаю, зачем это нужно.