/** * @param PCHelperSocialAdapter $adapter * @return PCModelUserOauth */ public static function createUserForOauthServiceWithAdapter($adapter){ $values = $adapter->getValuesForCreatingUser(); $mapper = PCModelUser::getMapper(); //creo il 'vero' utente nel db if (PCModelManager::insertObject($mapper, $values) == FALSE) return NULL; $instances = PCModelManager::fetchModelObjectInstances($mapper, $values); if(count($instances) == 0) return NULL; $user = $instances[0]; $user_identifier = $user->getIdentifier(); $token = $adapter->getTokenValue(); $secret = $adapter->getSecretValue(); $service_u_id = $adapter->getServiceUserIdentifier(); $service_type = $adapter->getServiceType(); if(PCMapperUserOauth::insertUserOauth($service_type, $service_u_id, $token, $secret, $user_identifier)){ $adapter->addOauthInfoToUser($user); if (PCConfigManager::sharedManager()->getBoolValue('NOTIF_ON_REGISTER')) { $email = $values['email']; $surname = $values['surname']; $name = $values['name']; $username = $values['username']; $serv = $adapter->getServiceName(); PCHelperNotificationSender::sendPushNotificationToAdmin("User Registered", "uname: $username Name: $name Sur: $surname mail: $email service_id: $service_u_id via: $serv"); } return $user; } return NULL; }