public function createInwicastUserIfNotExists(User $user, $token, Mediacenter $mediacenter) { $connection = $this->connectionFactory->createConnection($mediacenter->getDatabaseParameters()); $qb = $connection->createQueryBuilder(); $qb->select('usr.username, usr.token')->from('mdcr_inwicast_user_tokens', 'usr')->where('usr.username = :username')->andWhere('usr.tokenapp = :platform')->setParameter("username", $user->getUsername())->setParameter("platform", $this->platformName); $result = $qb->execute()->fetch(); if (!$result) { //$qb_insert = $connection->createQueryBuilder(); $sql = "INSERT INTO mdcr_inwicast_user_tokens" . " (`username`, `firstname`, `lastname`, `email`, `userrole`, `token`, `tokendate`, `tokenapp`)" . " VALUES (?, ?, ?, ?, ?, ?, ?, ?)"; $query = $connection->prepare($sql); $query->bindValue(1, $user->getUsername()); $query->bindValue(2, $user->getFirstName()); $query->bindValue(3, $user->getLastName()); $query->bindValue(4, $user->getMail()); $query->bindValue(5, $user->getPlatformRole()->getName()); $query->bindValue(6, $token); $query->bindValue(7, date('Y-m-d H:i:s')); $query->bindValue(8, $this->platformName); $query->execute(); } else { $qb_update = $connection->createQueryBuilder(); $qb_update->update('mdcr_inwicast_user_tokens')->set('token', '?')->set('tokendate', '?')->set('tokenapp', '?')->where('username = ?')->setParameter(0, $token)->setParameter(1, date('Y-m-d H:i:s'))->setParameter(2, $this->platformName)->setParameter(3, $user->getUsername()); $qb_update->execute(); } return true; }
public function request($method, $uri, User $user = null, array $parameters = []) { if (!$this->client instanceof Client) { throw new \Exception('This method requires a client property of type ' . 'Symfony\\Component\\BrowserKit\\Client'); } $server = $user ? ['PHP_AUTH_USER' => $user->getUsername(), 'PHP_AUTH_PW' => $user->getPlainPassword()] : []; return $this->client->request($method, $uri, $parameters, [], $server); }
public function __construct(Cursus $cursus, User $user) { $details = []; $details['username'] = $user->getUsername(); $details['firsName'] = $user->getFirstName(); $details['lastName'] = $user->getLastName(); $details['cursusId'] = $cursus->getId(); $details['cursusTitle'] = $cursus->getTitle(); $details['cursusCode'] = $cursus->getCode(); parent::__construct(self::ACTION, $details, $user); }
/** * @param Workspace $workspace * @param User $user * * @return User */ public function workspaceUser(Workspace $workspace, User $user) { $role = new Role(); $role->setName("ROLE_WS_{$workspace->getName()}_{$user->getUsername()}"); $role->setTranslationKey($role->getName()); $role->setWorkspace($workspace); $user->addRole($role); $this->om->persist($role); $this->om->persist($user); return $user; }
public function __construct(CourseSession $session, User $user) { $course = $session->getCourse(); $details = array(); $details['username'] = $user->getUsername(); $details['firsName'] = $user->getFirstName(); $details['lastName'] = $user->getLastName(); $details['sessionId'] = $session->getId(); $details['sessionName'] = $session->getName(); $details['sessionCreationDate'] = $session->getCreationDate()->format('d/m/Y H:i:s'); $details['courseId'] = $course->getId(); $details['courseTitle'] = $course->getTitle(); $details['courseCode'] = $course->getCode(); parent::__construct(self::ACTION, $details, $user); }
public function __construct(SessionEvent $sessionEvent, User $user) { $session = $sessionEvent->getSession(); $course = $session->getCourse(); $details = []; $details['username'] = $user->getUsername(); $details['firsName'] = $user->getFirstName(); $details['lastName'] = $user->getLastName(); $details['sessionEventId'] = $sessionEvent->getId(); $details['sessionEventName'] = $sessionEvent->getName(); $details['sessionId'] = $session->getId(); $details['sessionName'] = $session->getName(); $details['courseId'] = $course->getId(); $details['courseTitle'] = $course->getTitle(); $details['courseCode'] = $course->getCode(); parent::__construct(self::ACTION, $details, $user); }
function getBaseName(User $user) { $BaseName = $user->getUsername() . $user->getId() . "/"; return $BaseName; }
/** * Returns user-type role of an user. * * @param User $user * @param boolean $executeQuery * * @return array[Role]|query */ public function findUserRoleByUser(User $user, $executeQuery = true) { $username = $user->getUsername(); $roleName = 'ROLE_USER_' . strtoupper($username); $dql = ' SELECT r FROM Claroline\\CoreBundle\\Entity\\Role r WHERE r.type = :type AND r.name = :name AND r.translationKey = :key '; $query = $this->_em->createQuery($dql); $query->setParameter('type', Role::USER_ROLE); $query->setParameter('name', $roleName); $query->setParameter('key', $username); return $executeQuery ? $query->getOneOrNullResult() : $query; }
/** * @EXT\Route( * "user/{user}/infos/request", * name="claro_user_infos_request", * options = {"expose"=true} * ) */ public function userInfosRequestAction(User $user) { $datas = array('id' => $user->getId(), 'firstName' => $user->getFirstName(), 'lastName' => $user->getLastName(), 'username' => $user->getUsername(), 'mail' => $user->getMail(), 'phone' => $user->getPhone(), 'picture' => $user->getPicture()); return new JsonResponse($datas, 200); }
public function createRemoteUser(User $user) { $url = 'api/users.json'; $tmppw = uniqid(); $payload = array('profile_form_creation[username]' => $user->getUsername(), 'profile_form_creation[firstName]' => $user->getFirstName(), 'profile_form_creation[lastName]' => $user->getLastName(), 'profile_form_creation[mail]' => $user->getMail(), 'profile_form_creation[administrativeCode]' => $user->getUsername(), 'profile_form_creation[plainPassword][first]' => $tmppw, 'profile_form_creation[plainPassword][second]' => $tmppw); $serverOutput = $this->apiManager->url($this->targetFriend, $url, $payload, 'POST'); $datas = json_decode($serverOutput, true); return $datas; }
public function initializePassword(User $user) { $user->setHashTime(time()); $password = sha1(rand(1000, 10000) . $user->getUsername() . $user->getSalt()); $user->setResetPasswordHash($password); $this->objectManager->persist($user); $this->objectManager->flush(); }
public function checkAccess(Message $message, User $user) { if ($message->getSenderUsername() === $user->getUsername()) { return true; } $userMessage = $this->messageManager->getOneUserMessageByUserAndMessage($user, $message); if (!is_null($userMessage)) { return true; } $receiverString = $message->getTo(); $names = explode(';', $receiverString); $usernames = []; $groupNames = []; $workspaceCodes = []; foreach ($names as $name) { if (substr($name, 0, 1) === '{') { $groupNames[] = trim($name, '{}'); } elseif (substr($name, 0, 1) === '[') { $workspaceCodes[] = trim($name, '[]'); } else { $usernames[] = trim($name); } } if (in_array($user->getUsername(), $usernames)) { return true; } foreach ($user->getGroups() as $group) { if (in_array($group->getName(), $groupNames)) { return true; } } foreach ($this->workspaceManager->getWorkspacesByUser($user) as $workspace) { if (in_array($workspace->getCode(), $workspaceCodes)) { return true; } } throw new AccessDeniedException(); }
public function importUser(User $user, Client $client = null) { $hasCreatedClient = false; if (!$client) { $host = $this->configHandler->getParameter('chat_xmpp_host'); $client = $this->getClient($host); $hasCreatedClient = true; } $this->log("Adding chat user for {$user->getUsername()}"); $this->createChatUser($user, $user->getUsername(), $user->getGuid()); $register = new Register($this->configHandler->getParameter('chat_ssl')); $register->setUser($user); $client->send($register); if ($hasCreatedClient) { $client->disconnect(); } }
/** * @param User $user * * @return bool */ public function sendCreationMessage(User $user) { $locale = $user->getLocale(); $content = $this->contentManager->getTranslatedContent(['type' => 'claro_mail_registration']); $displayedLocale = isset($content[$locale]) ? $locale : $this->ch->getParameter('locale_language'); $body = $content[$displayedLocale]['content']; $subject = $content[$displayedLocale]['title']; $url = $this->router->generate('claro_security_validate_email', ['hash' => $user->getEmailValidationHash()], true); $validationLink = $this->translator->trans('email_validation_url_display', ['%url%' => $url], 'platform'); $body = str_replace('%first_name%', $user->getFirstName(), $body); $body = str_replace('%last_name%', $user->getLastName(), $body); $body = str_replace('%username%', $user->getUsername(), $body); $body = str_replace('%password%', $user->getPlainPassword(), $body); $body = str_replace('%validation_mail%', $validationLink, $body); $subject = str_replace('%platform_name%', $this->ch->getParameter('name'), $subject); return $this->send($subject, $body, [$user], null, [], true); }
/** * @ApiDoc( * description="Returns a user", * views = {"user"} * ) * @Get("/user/{user}/public", name="get_public_user", options={ "method_prefix" = false }) */ public function getPublicUserAction(User $user) { $settingsProfile = $this->facetManager->getVisiblePublicPreference(); $publicUser = []; foreach ($settingsProfile as $property => $isViewable) { if ($isViewable || $user === $this->container->get('security.token_storage')->getToken()->getUser()) { switch ($property) { case 'baseData': $publicUser['lastName'] = $user->getLastName(); $publicUser['firstName'] = $user->getFirstName(); $publicUser['username'] = $user->getUsername(); $publicUser['picture'] = $user->getPicture(); $publicUser['description'] = $user->getAdministrativeCode(); break; case 'email': $publicUser['mail'] = $user->getMail(); break; case 'phone': $publicUser['phone'] = $user->getPhone(); break; case 'sendMail': $publicUser['mail'] = $user->getMail(); $publicUser['allowSendMail'] = true; break; case 'sendMessage': $publicUser['allowSendMessage'] = true; $publicUser['id'] = $user->getId(); break; } } } return $publicUser; }
/** * @Route("/import/{format}/{previewId}", name="icap_portfolio_import_preview") * * @ParamConverter("loggedUser", options={"authenticatedUser" = true}) * @Template() */ public function importPreviewAction(Request $request, User $loggedUser, $format, $previewId) { $this->checkPortfolioToolAccess(); $temporaryImportFilePathToSearch = sprintf('%s-*-%s.%s.import', strtolower($loggedUser->getUsername()), $previewId, $format); $finder = new Finder(); $files = $finder->files()->in($this->container->get('claroline.config.platform_config_handler')->getParameter('tmp_dir'))->depth('0')->name($temporaryImportFilePathToSearch); $filesCount = $files->count(); $errorMessage = null; if (0 === $filesCount) { $errorMessage = 'portfolio_import_error_import_file_not_found_message'; } elseif (1 < $filesCount) { $errorMessage = 'portfolio_import_error_import_too_many_file_message'; } if (null !== $errorMessage) { $this->getSessionFlashbag()->add('error', $this->getTranslator()->trans($errorMessage, [], 'icap_portfolio')); return $this->redirect($this->generateUrl('icap_portfolio_import', ['format' => $format])); } if ($request->isMethod('POST')) { try { foreach ($files as $file) { $importManager = $this->getImportManager(); $importManager->setEntityManager($this->getEntityManager()); $portfolio = $importManager->doImport($file->getContents(), $loggedUser, $format); } if ($request->isXmlHttpRequest()) { return new JsonResponse([]); } else { $this->getSessionFlashbag()->add('success', $this->getTranslator()->trans('portfolio_import_success_message', [], 'icap_portfolio')); return $this->redirect($this->generateUrl('icap_portfolio_index')); } } catch (\Exception $exception) { $this->getSessionFlashbag()->add('error', $this->getTranslator()->trans('portfolio_import_error_message', [], 'icap_portfolio')); return $this->redirect($this->generateUrl('icap_portfolio_import', ['format' => $format])); } } foreach ($files as $file) { $portfolio = $this->getImportManager()->simulateImport($file->getContents(), $loggedUser, $format); } return ['format' => $format, 'previewId' => $previewId, 'portfolio' => $portfolio]; }
/** * @param User $user * * @return \Claroline\CoreBundle\Entity\Role */ public function createUserRole(User $user) { $username = $user->getUsername(); $roleName = 'ROLE_USER_' . strtoupper($username); $role = $this->getRoleByName($roleName); $this->om->startFlushSuite(); if (is_null($role)) { $role = $this->om->factory('Claroline\\CoreBundle\\Entity\\Role'); $role->setName($roleName); $role->setTranslationKey($username); $role->setReadOnly(true); $role->setType(Role::USER_ROLE); $this->om->persist($role); } $this->associateRole($user, $role, false, false); $this->om->endFlushSuite(); return $role; }
/** * @param User $user * * @return boolean */ public function sendCreationMessage(User $user) { $locale = $user->getLocale(); $content = $this->contentManager->getTranslatedContent(array('type' => 'claro_mail_registration')); $displayedLocale = isset($content[$locale]) ? $locale : $this->ch->getParameter('locale_language'); $body = $content[$displayedLocale]['content']; $subject = $content[$displayedLocale]['title']; $body = str_replace('%first_name%', $user->getFirstName(), $body); $body = str_replace('%last_name%', $user->getLastName(), $body); $body = str_replace('%username%', $user->getUsername(), $body); $body = str_replace('%password%', $user->getPlainPassword(), $body); $subject = str_replace('%platform_name%', $this->ch->getParameter('name'), $subject); return $this->send($subject, $body, array($user)); }