Esempio n. 1
0
 public function mainAction($rowsCount = null)
 {
     $config = $config = $this->di->getShared('config');
     if (null === $rowsCount) {
         $rowsCount = $config->fixture->count;
     }
     $rowsCount = max(0, (int) $rowsCount);
     $faker = \Faker\Factory::create($config->facker->locale);
     while ($rowsCount--) {
         $user = new \Models\User();
         $user->save(['email' => $faker->email, 'username' => $faker->userName, 'fname' => $faker->firstName, 'lname' => $faker->lastName, 'address' => $faker->address, 'phone' => $faker->phoneNumber, 'credit_card' => $faker->creditCardNumber, 'balance' => $faker->randomFloat(4, 0, 10000), 'timezone' => $faker->timezone, 'birthday' => $faker->date('Y-m-d', '2000-12-31'), 'registered_at' => $faker->dateTimeThisCentury()->format('Y-m-d H:i:s'), 'logins' => $faker->numberBetween(0, 10000)]);
     }
     echo "Done!\n";
 }
Esempio n. 2
0
 /**
  * Creates a user with passed data and returns it
  *
  * @param array $details
  * @return mixed
  */
 public static function createUser($details)
 {
     // Return false if absolutely needed data is not passed or invalid
     if (empty($details['name']) || strlen($details['name']) < 3 || empty($details['username']) || !preg_match("/^[0-9a-z]{4,}\$/i", $details['username']) || empty($details['email']) || !filter_var($details['email'], FILTER_VALIDATE_EMAIL) || empty($details['password']) || strlen($details['password']) < 6) {
         return false;
     }
     // Check for already used username/email
     $errors = [];
     $user = new \Models\User();
     $user->load(array("email=?", $details['email']));
     // Email
     if ($user->id) {
         $user->reset();
         $errors[] = "A user already exists with this email address";
     }
     $user->load(array("username=?", $details['username']));
     // Username
     if ($user->id) {
         $user->reset();
         $errors[] = "A user already exists with this username.";
     }
     if (!empty($errors)) {
         // Return any errors
         return $errors;
     }
     // Generate password and salt
     // The extract makes the variables $hash and $salt
     $security = Security::instance();
     extract($security->hash($details['password']));
     // Enter user info
     $user->reset();
     // Delete all the content from the checks
     $user->name = $details['name'];
     $user->username = strtolower($details['username']);
     $user->email = strtolower($details['email']);
     $user->password = $hash;
     $user->salt = $salt;
     $user->rank = isset($details['rank']) ? $details['rank'] : 1;
     $user->email_verified = isset($details['email_verified']) ? $details['email_verified'] : 0;
     $user->age = isset($details['age']) ? $details['age'] : 0;
     $user->perms = isset($details['permissions']) ? $details['permissions'] : json_encode([]);
     $user->suspended_time = isset($details['suspended_time']) ? $details['suspended_time'] : null;
     $user->register_time = isset($details['register_time']) ? $details['register_time'] : date("Y-m-d H:i:s");
     $user->save();
     return $user;
 }