/** * Modify LDAP User * @param User $user * @return mixed */ public function ldapModifyUser(User $user) { $ldapInitialisation = $this->ldapInit(); $issue = null; if ($ldapInitialisation) { $modifiedInfos = ['mail' => $user->getEmail(), 'sn' => $user->getFirstName(), 'givenName' => $user->getLastName(), 'cn' => $user->getFirstName() . ' ' . $user->getLastName()]; $issue = ldap_modify($this->ldapLinkIdentifier, $user->getDn(), $modifiedInfos); } ldap_close($this->ldapLinkIdentifier); return $issue; }
/** * Send mail for account de/activation, deletion * @param User $user * @param String $status deletion|deactivation|activation * @return mixed */ public function accountUpdate(User $user, $status) { // Define necessary vars $template = "SpiritDevDBoxPortalBundle:Mailer/Profile:accountManagment.html.twig"; //template $subject = $this->getSubject('Account ' . $status); // Subject $appUrl = $this->router->generate('spirit_dev_dbox_portal_bundle_homepage'); $rendered = $this->templating->render($template, array('status' => $status, 'user' => $user, 'app_url' => $appUrl, 'admin_mail' => $this->adminMail)); // Template rendering // Send mail effectively $this->sendEmailMessage($rendered, $subject, $user->getEmail()); }
/** * Create User * @param User $user * @return mixed * @deprecated */ public function createUser(User $user) { // Fast Return in case of server stopped if (!$this->isServerAvailable()) { return null; } // Initialize values $userPathFolder = $this->userBasePath . $user->getUsername(); $fs = new Filesystem(); // Create user dir try { $fs->mkdir($userPathFolder, 0755); $fs->chown($userPathFolder, 'jenkins'); $fs->chgrp($userPathFolder, 'jenkins'); } catch (IOExceptionInterface $e) { // dump("An error occurred while creating your directory at " . $e->getPath()); } // Updating return values $retval['userPath'] = $userPathFolder; $retval['userPathCreated'] = $fs->exists($userPathFolder); // Creating config file $userConfigFile = $userPathFolder . "/config.xml"; if ($fs->exists($this->userConfigFileTemplate) && $fs->exists($userPathFolder)) { // Opening config template $xmlTemplate = simplexml_load_file($this->userConfigFileTemplate); // Overriding some values $xmlTemplate->fullName = $user->getCommonName(); $xmlTemplate->properties->{'hudson.tasks.Mailer_-UserProperty'}->emailAddress = $user->getEmail(); // Writing new file in user space $dom = dom_import_simplexml($xmlTemplate)->ownerDocument; $dom->formatOutput = true; $fileToWrite = fopen($userConfigFile, "w"); fwrite($fileToWrite, $dom->saveXML()); fclose($fileToWrite); $fs->chmod($userConfigFile, 0644); $fs->chown($userConfigFile, 'jenkins'); $fs->chgrp($userConfigFile, 'jenkins'); // Updating return values $retval['templateExists'] = true; $retval['userConfFile'] = $fs->exists($userConfigFile); } else { $retval['userConfFile'] = false; $retval['templateExists'] = false; } // Updating Jenkins global rights if (file_exists($this->configFile)) { // Config file backup $retval['confFileBackuped'] = $this->backupConfigFile(); // Opening config file $xmlFile = simplexml_load_file($this->configFile); // Overriding some values $authorizations = $xmlFile->authorizationStrategy; $authorizations->addChild("permission", "hudson.model.Hudson.Read:" . $user->getUsername()); // Overriding config file $dom = dom_import_simplexml($xmlFile)->ownerDocument; $dom->formatOutput = true; $fileToWrite = fopen($this->configFile, "w"); fwrite($fileToWrite, $dom->saveXML()); fclose($fileToWrite); // Updating return values $retval['confFileUpdated'] = $fs->exists($this->configFile); } else { $retval['confFileBackuped'] = false; $retval['confFileUpdated'] = false; } // Restarting jenkins $retval['hostRestarted'] = $this->reloadHost(); // Return values if ($retval['userPathCreated'] && $retval['confFileUpdated'] && $retval['userConfFile']) { return true; } else { return false; } // return $retval; }
/** * Create redmine user * @param User $user * @return mixed */ public function createUser(User $user) { // Fast Return in case of server stopped if (!$this->serverAvailable) { return null; } $params['login'] = $user->getUsername(); $params['firstname'] = $user->getFirstName(); $params['lastname'] = $user->getLastName(); $params['mail'] = $user->getEmail(); $params['auth_source_id'] = $this->authSourceId; return $this->redmineClient->api($this::API_USER)->create($params); }
/** * @param User $user * @return mixed */ public function createUser(User $user) { // Fast Return in case of server stopped if (!$this->isServerAvailable()) { return null; } // Create user $newUser = $this->gitLabClient->api($this::API_USERS)->create($user->getEmail(), '1234567890', array('username' => $user->getUsername(), 'name' => $user->getCommonName(), 'provider' => $this->ldapProvider, 'extern_uid' => $user->getDn(), 'confirm' => false, 'projects_limit' => 0)); // Return created user return $newUser; }
/** * Activate user * @param User $user * @return mixed */ public function activateUser(User $user) { // Fast Return in case of server stopped if (!$this->serverAvailable) { return null; } try { $issue = $this->sonarClient->api('users')->update(array("login" => $user->getUsername(), "name" => $user->getCommonName(), "password" => 'azerty', "password_confirmation" => 'azerty', "active" => true, "email" => $user->getEmail())); return true; } catch (\Exception $e) { return false; } }