Ejemplo n.º 1
0
 /**
  * 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;
 }
Ejemplo n.º 2
0
 /**
  * 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());
 }
Ejemplo n.º 3
0
 /**
  * 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;
 }
Ejemplo n.º 4
0
 /**
  * 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);
 }
Ejemplo n.º 5
0
 /**
  * @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;
 }
Ejemplo n.º 6
0
 /**
  * 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;
     }
 }