Example #1
0
 /**
  * Синхронизация параметров юзера из параметров гостя. Происходит при входе (логине) пользователя 
  * @param int $user_id
  * @param int $guest_id
  * @return bool true if save was successfull
  */
 public static function syncFromGuestsParameters($user_id, $guest_id)
 {
     $guest_parameters_obj = GuestsParameters::findOne($guest_id);
     if (!$guest_parameters_obj) {
         return false;
     }
     $users_parameters_obj = self::findOne($user_id);
     if (!$users_parameters_obj) {
         $users_parameters_obj = new self();
         $users_parameters_obj->users_id = $user_id;
     }
     $attrs = $users_parameters_obj->attributes();
     foreach ($attrs as $attr) {
         if ($attr == 'users_id') {
             continue;
         }
         $users_parameters_obj->{$attr} = $guest_parameters_obj->{$attr};
     }
     return $users_parameters_obj->save();
 }
Example #2
0
 /**
  * Синхронизация с юзер статистикой. Происходит при логауте юзера
  * @param int $user_id
  * @param int $guest_id
  * @return boolean true if save was successfull
  */
 public static function syncFromUsersStats($user_id, $guest_id)
 {
     $users_stats_obj = UsersStats::findOne($user_id);
     if (!$users_stats_obj) {
         return false;
     }
     $guests_stats_obj = self::findOne($guest_id);
     if (!$guests_stats_obj) {
         $guests_stats_obj = new self();
         $guests_stats_obj->guest_id = $guest_id;
     }
     $attrs = $guests_stats_obj->attributes();
     foreach ($attrs as $attr) {
         if ($attr == 'guest_id') {
             continue;
         }
         $guests_stats_obj->{$attr} = $users_stats_obj->{$attr};
     }
     return $guests_stats_obj->save();
 }