Advertisement
GetFocus

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

Sep 18th, 2017
91
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.51 KB | None | 0 0
  1. <?php
  2. $i = 0;
  3. $arGenders = [
  4.     'M' => 10,
  5.     'F' => 10,
  6. ];
  7. $domain = 'ski.sport.insmart.ru';
  8. $sPassword = 'useruser';
  9. $sPhone = '89690000000';
  10. global $DB;
  11. $sDatePattern = $DB->DateFormatToPHP(CSite::GetDateFormat("SHORT"));
  12. $sEmailPattern = 'user{index}@{domain}';
  13. $obUser = new \CUser();
  14. $arNames = [
  15.     'M' => [
  16.         'Андрей',
  17.         'Владлен',
  18.         'Иван',
  19.         'Игорь',
  20.         'Илья',
  21.         'Олег',
  22.         'Кирилл',
  23.         'Данила',
  24.         'Александр',
  25.     ],
  26.     'F' => [
  27.         'Анастасия',
  28.         'Екатерина',
  29.         'Мария',
  30.         'Оксана',
  31.         'Таисия',
  32.         'Елена',
  33.     ]
  34. ];
  35. $arSurnames = [
  36.     'Иванов',
  37.     'Петров',
  38.     'Сидоров',
  39.     'Калмыков',
  40.     'Пчелин',
  41.     'Фикусин',
  42.     'Шариков',
  43.     'Пастухов',
  44.     'Петухов',
  45.     'Филонин',
  46.     'Афонин',
  47.     'Есенин',
  48.     'Пушкин',
  49.     'Лермонтов',
  50. ];
  51.  
  52. $arYearsBounds = [
  53.     'MIN' => 14,
  54.     'MAX' => 60,
  55. ];
  56. $arCities = [
  57.     'Москва',
  58.     'Мурманск',
  59.     'Калининград',
  60.     'Астрахань',
  61.     'Екатеринбург',
  62.     'Санкт-Петербург',
  63.     'Саратов',
  64.     'Энгельс',
  65.     'Владимир',
  66.     'Ярославль',
  67.     'Тула',
  68. ];
  69.  
  70.  
  71. foreach($arGenders as $gender => $count){
  72.     if($count > 0){
  73.         for($j = 0; $j < $count; $j++){
  74.             $i++;
  75.             $sPhone++;
  76.             $name = $arNames[$gender][rand(0, count($arNames[$gender])-1)];
  77.             $surname = $arSurnames[rand(0, count($arSurnames)-1)];
  78.             switch($gender){
  79.                 case 'M':
  80.                     break;
  81.                 case 'F':
  82.                     $surname .= 'а';
  83.                     break;
  84.             }
  85.             $email = str_replace(['{index}', '{domain}'], [$i, $domain], $sEmailPattern);
  86.             $years = rand($arYearsBounds['MIN'], $arYearsBounds['MAX']);
  87.             $birthday = new \DateTime();
  88.             $birthday->modify('-'.$years.' years');
  89.             $days = rand(0, 364);
  90.             $birthday->modify('+'.$days.' days');
  91.             $city = $arCities[rand(0, count($arCities)-1)];
  92.             $arUser = [
  93.                 'LOGIN' => $email,
  94.                 'EMAIL' => $email,
  95.                 'NAME' => $name,
  96.                 'LAST_NAME' => $surname,
  97.                 'PASSWORD' => $sPassword,
  98.                 'CONFIRM_PASSWORD' => $sPassword,
  99.                 'ACTIVE' => 'Y',
  100.                 'PERSONAL_GENDER' => $gender,
  101.                 'PERSONAL_BIRTHDATE' => $birthday->format($sDatePattern),
  102.                 'PERSONAL_BIRTHDAY' => $birthday->format($sDatePattern),
  103.                 'PERSONAL_PHONE' => $sPhone,
  104.                 'PERSONAL_MOBILE' => $sPhone,
  105.                 'PERSONAL_CITY' => $city,
  106.                 'PERSONAL_COUNTRY' => 1,
  107.             ];
  108.             $id = $obUser->add($arUser);
  109.             if(!$id){
  110.                 var_dump($obUser->LAST_ERROR);
  111.             }
  112.         }
  113.     }
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement