Генератор пользователей по крону

+17
2.93K
Делал для себя, решил поделиться, возможно кому то пригодится.
Рассчитано на структуру БД первой ветки.

Не могу ручаться за качество кода с точки зрения оптимизации и безопасности, просто выкладываю свое решение, как есть, кому нужно — использует на свой страх и риск))


В архиве три файла.
Сам скрипт. В настройках крона пропишите путь к этому скрипту на вашем хостинге и укажите как часто его нужно запускать.
В той же папке что и php файл должно лежать два текстовых файла.

В одном из них вам необходимо собрать названия городов из которых будут ваши юзеры, в другом — имена. Имена должны быть одного пола.
По умолчанию идет мужской.

Для чередования мальчик — девочка создайте второй каталог, загрузите туда то же самое из архива, только теперь в текстовом файле с именами укажите все женские имена, а в php файле измените строку 56
  1. VALUES (@LastID, @LastID, '$city', 'm');";
здесь нужно заменить 'm' на 'f'.

И в кроне прописать еще одну задачу, указав путь к php файлу из этого, дополнительного каталога, что бы выполнялся где то между моментами выполнения предыдущей задачи.

Еще немного о настройках, для тех, кому совсем ничего не понятно.
В php коде:
год рождения пользователей формируется в строке 13. Сейчас там используется диапазон с 1955 по 1995 год. Если хотите что бы ваши пользователи были старше или младше, можете указать другой минимальный и максимальный год рождения.

14 строка месяц рождения. С первого месяца не указал, так как с ходу не нашел, как подставлять ноль к месяцами типа январь, февраль 01, 02, и посчитал что пока не стоит на это заморачиваться). Возможно в комментах кто нибудь подскажет), до тех пор используются месяца с двузначным числовым значением.))

15 строка — Дни месяца. С двузначные числа которые точно есть в месяцах 10-12

Логин пользователя. Сейчас он выглядит примерно так id153518130953, формируется по такому принципу: префикс id (вы можете его заменить на user, muser, chel)+год+порядковый номер дня в году+час+минута+секунда+случайное число в диапазоне от 1 до 99

Email пользователя в строке 53 $zlogin@site.com — замените site.com на ваш домен. Уведомления предназначенные для этого пользователя будут поступать на ваш главный почтовый ящик, если настроен на прием почты с несуществующих адресов с домена.

Пароль пользователя в строке 53 вот это 9bc1ad6e0615c952
Если хотите заменить на известный вам пароль, посмотрите в php админ как выглядит в зашифрованном виде нужный вам пароль и вставьте вместо этого.


Перед употреблением рекомендую тестировать на копии сайта, перед употреблением на основной версии сайта, рекомендую делать копии.
У меня всё работает. Полет нормальный.

Рекомендую изменить как название каталога так и название php файла на свои.

Скачать instantcms.ru/users/files/download5788.html

Если кто то хочет улучшить решение, не стесняйтесь)

UPD 18.12.2015

Архив был обновлен. Исправлен принцип формирования логина, для большей уникальности и избежания вероятности повторов.


UPD 18.12.2015

Во время использования в полевых условиях всплыл один момент, который я упустил. Время на сайте и время на сервере.
Если у вас на сайте(Админ — панель — Настройки — Время) выставлено смещение в часах и если параллельно с генератором пользователей работает обычная регистрация, может возникнуть ситуация при которой пользователь зарегистрировавшийся обычным способом в списке пользователей встанет не последним в ряд, а на несколько пунктов ниже. В принципе не критично, но не очень хорошо) Это связано с тем, что в настройках сайта вы указали смещение например минус 2 часа, и сайт использует это время, а скрипт — нет. Что бы этого не было в скрипте в строке 8, укажите то же смещение в часах, которое вы указали в настройках сайта в админ панели.
Указывать нужно в секундах, 1 час = 3600 (прибавить или отнять в зависимости от ваших настроек времени на сайте)

Пример:
У меня в настройках сайта стоит смещение -5 часов, поэтому смещение будет в секундах 18000
строка 8 выглядит вот так
  1. $dat = date("Y-m-d H-i-s" , time() - 18000);
+1
Странник Странник 8 лет назад #
Дорогой друг, мы с вами обсуждали уже (за пивом), как забить новых пользователей в базу, чтобы связи между таблицами cms_users и cms_user_profiles не соответствовали модели хранения информации о пользователе в Первой ветке и не искажались.

Однако мне до сих пор непонятно, зачем вам этот генератор нужен. Какие цели вы ставили перед собой, когда садились его писать? Как собираетесь применять? Зачем он пользователям?

Разъясните, плиз.

Спасибо.
0
Странник Странник 8 лет назад #
Сорри - следует читать "чтобы связи между таблицами cms_users и cms_user_profiles соответствовали модели хранения..." и далее по тексту

Привет Fuze и r2, которые никак не могут включить в блогах редактирование ошибок, хотя их сотни пользователей об этом просят из года в год.
+1
Нил™ Нил™ 8 лет назад #
Ну не знаю, когда сайт только создан, как то грустно смотреть на список пользователей где Админ, Федор и Вася. А так можно немного расширить список пользователя для начала такими пользователями, потом, когда народ подтянется (если), генератор можно и отключить). Забивать же ручками пользователей по одному для тех же целей нового сайта, как то утомительно) Здесь можно либо напрямую обращаясь к скрипту через браузер сразу создать человек дцать для фасона либо по крону пусть сами добавляются с интвервалом.)
Это один из вариантов, когда, по-моему, он может пригодиться)
0
Странник Странник 8 лет назад #
Теперь более-менее понятно. Жаль, вы не описали свою задумку в основном тексте в виде главки "Постановка задачи". Спасибо.
Олег Васильевич я Олег Васильевич я 8 лет назад #
Комментарий удален
0
Dost Dost 8 лет назад #
В хозяйстве пригодится. Спасибо!
0
Glushok Glushok 8 лет назад #
Хорошее решение для сайтов знакомств, мне бы такое пригодилось для второй ветки, только надо чтоб еще и аватар генерировало но не какую то абстракцию а для женского пола фото девушек для мужского фото мужчин. Даже прикупил бы такое. есть скрипт знакомств. Есть скрипт знакомств matchmescript так там такая функция предусмотрена изначально, выбираешь кого генерировать мужчину или женщину затем страну и все сайт знакомств полный пользователей.
+3
Нил™ Нил™ 8 лет назад #
Для подобных расширенных задач с прицелом на будущее, я рекомендую изначально помещать таких пользователей в отдельную группу. Потом зная группу в которой они собраны будет проще мутить рандомную смену статусов, аватаров дружбу и т п. С помощью отдельных дополнений.
0
Glushok Glushok 8 лет назад #
Может кто сделает такое по вторую ветку, вед такое будет актуально не только для сайта знакомст, так как после создания проекта пользователи нужны, так как охотнее люди регистрируются оставляют коменты и тд. на сайте где есть пользователи нежели на пустом сайте.
0
Шадринец Шадринец 5 лет назад #
Хоть и старая тема но актуальна. Друзья кто решится на подвиг и выдаст такое решение для двойки?

Еще от автора

Капча на сайт или разделы сайта
Если нужно, закрыть весь сайт или некоторые его разделы каптчей.
Пинг поисковых систем для первой ветки
Небольшая интеграция инструментов для пингования, чтобы сделать его чуть удобнее
Генератор карты сайта в формате txt на лету без крона
Вообще то где то тут уже есть вполне рабочие генераторы карты для первой ветки, но этот вариант тоже имеет право быть.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.