Example #1
0
 /**
  * SVNAccessFile ugroups definitions
  *
  * @param Project $project
  *
  * @return String
  */
 function getSVNAccessUserGroupMembers(Project $project)
 {
     $conf = "";
     $ugroup_dao = $this->getUGroupDao();
     $dar = $ugroup_dao->searchByGroupId($project->getId());
     $project_members = $project->getMembers();
     foreach ($dar as $row) {
         $ugroup = $this->getUGroupFromRow($row);
         $ugroup_members = $ugroup->getMembers();
         $valid_members = array();
         foreach ($ugroup_members as $ugroup_member) {
             if ($project->isPublic() || in_array($ugroup_member, $project_members)) {
                 $valid_members[] = $ugroup_member->getUserName();
             }
         }
         // User names must be in lowercase
         if ($ugroup->getName() && count($valid_members) > 0) {
             $members_list = strtolower(implode(", ", $valid_members));
             $conf .= $ugroup->getName() . " = " . $members_list . "\n";
         }
     }
     $conf .= "\n";
     return $conf;
 }
Example #2
0
function getProjectsMembersWrapper()
{
    $project_id = Utils::getArrayValue($_GET, 'project_id');
    $data = Project::getMembers(App::getClient(), $project_id);
    App::getClient()->api('membership')->all('client-access');
    print json_encode($data);
}
Example #3
0
 /**
  * method onSave()
  * Executed whenever the user clicks at the save button
  */
 function onSave()
 {
     try {
         // open a transaction with database 'changeman'
         TTransaction::open('changeman');
         // get the form data into an active record Note
         $object = $this->form->getData('Note');
         $logged = Member::newFromLogin(TSession::getValue('login'));
         $object->id_user = $logged->id;
         $object->register_date = date('Y-m-d');
         $object->register_time = date('H:i');
         // form validation
         $this->form->validate();
         // stores the object
         $object->store();
         $issue = new Issue($object->id_issue);
         $project = new Project($issue->id_project);
         $member = new Member($issue->id_user);
         // who has opened the issue
         // read email configuration file
         $ini = parse_ini_file('app/config/email.ini');
         $members = $project->getMembers(array('MEMBER', 'MANAGER'));
         $members = array_merge($members, array($member));
         // merge the logged user
         $mail_template = file_get_contents('app/resources/note.html');
         $mail_template = str_replace('{DESCRIPTION}', $issue->description, $mail_template);
         $mail_template = str_replace('{OPENER}', $member->name . ' ' . $issue->register_date . ' ' . $issue->issue_time, $mail_template);
         $mail_template = str_replace('{NOTE}', $object->note, $mail_template);
         $mail_template = str_replace('{MEMBER}', $logged->name . ' ' . $object->register_date . ' ' . $object->register_time, $mail_template);
         $mail = new TMail();
         $mail->setFrom($ini['from'], $ini['name']);
         $mail->setSubject(_t('Note') . ' #' . $issue->id . ': ' . $issue->title);
         $mail->setHtmlBody($mail_template);
         foreach ($members as $member) {
             $emails = explode(',', $member->email);
             foreach ($emails as $email) {
                 $mail->addAddress(trim($email), $member->name);
                 // echo "{$email}, {$member-> name} <br>";
             }
         }
         $mail->SetUseSmtp();
         $mail->SetSmtpHost($ini['host'], $ini['port']);
         $mail->SetSmtpUser($ini['user'], $ini['pass']);
         $mail->setReplyTo($ini['repl']);
         $mail->send();
         // fill the form with the active record data
         $this->form->setData($object);
         // close the transaction
         TTransaction::close();
         // shows the success message
         new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
         // reload the listing
     } catch (Exception $e) {
         // shows the exception error message
         new TMessage('error', '<b>Error</b> ' . $e->getMessage());
         // undo all pending operations
         TTransaction::rollback();
     }
 }
 /**
  * method onSave()
  * Executed whenever the user clicks at the save button
  */
 function onSave()
 {
     try {
         // open a transaction with database 'changeman'
         TTransaction::open('changeman');
         // get the form data into an active record Release
         $object = $this->form->getData('Release');
         $sendmail = $object->sendmail == 'Y';
         unset($object->sendmail);
         // form validation
         $this->form->validate();
         // stores the object
         $object->store();
         if ($sendmail) {
             // read email configuration file
             $ini = parse_ini_file('app/config/email.ini');
             $project = new Project($object->id_project);
             $members = $project->getMembers();
             foreach ($members as $member) {
                 $emails = explode(',', $member->email);
                 foreach ($emails as $email) {
                     $mail = new TMail();
                     $mail->setFrom($ini['from'], $ini['name']);
                     $mail->setSubject(_t('Release') . ': ' . $object->name);
                     $mail->setHtmlBody($object->description);
                     $mail->addAddress(trim($email), $member->name);
                     $mail->SetUseSmtp();
                     $mail->SetSmtpHost($ini['host'], $ini['port']);
                     $mail->SetSmtpUser($ini['user'], $ini['pass']);
                     $mail->setReplyTo($ini['repl']);
                     $mail->send();
                     echo "{$email}, {$member->name}<br>";
                 }
             }
         }
         // fill the form with the active record data
         $this->form->setData($object);
         // close the transaction
         TTransaction::close();
         // shows the success message
         new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
         // reload the listing
     } catch (Exception $e) {
         // shows the exception error message
         new TMessage('error', '<b>Error</b> ' . $e->getMessage());
         // undo all pending operations
         TTransaction::rollback();
     }
 }
 /**
  * SVNAccessFile ugroups definitions
  *
  * @see src/common/backend/BackendSVN#getSVNAccessUserGroupMembers()
  *
  * @param Project $project
  *
  * @return String
  */
 function getSVNAccessUserGroupMembers(Project $project)
 {
     $ldapPrjMgr = $this->getLDAPProjectManager();
     if ($ldapPrjMgr->hasSVNLDAPAuth($project->getID())) {
         $conf = "";
         $ugroup_dao = $this->getUGroupDao();
         $dar = $ugroup_dao->searchByGroupId($project->getId());
         $project_members = $project->getMembers();
         foreach ($dar as $row) {
             $ugroup = $this->getUGroupFromRow($row);
             $members = array();
             foreach ($ugroup->getMembers() as $user) {
                 if ($project->isPublic() || in_array($user, $project_members)) {
                     $members[] = $user->getId();
                 }
             }
             if ($ugroup->getName() && count($members) > 0) {
                 $conf .= $this->getSVNGroupDef($ugroup->getName(), $members);
             }
         }
         $conf .= "\n";
         return $conf;
     } else {
         return parent::getSVNAccessUserGroupMembers($project);
     }
 }
 /**
  * method onSave()
  * Executed whenever the user clicks at the save button
  */
 function onSave()
 {
     try {
         // open a transaction with database 'changeman'
         TTransaction::open('changeman');
         // get the form data into an active record Issue
         $object = $this->form->getData('Issue');
         $member = Member::newFromLogin(TSession::getValue('login'));
         // standard values
         $object->id_user = $member->id;
         $object->id_status = 1;
         // NEW
         // form validation
         $this->form->validate();
         // stores the object
         $object->store();
         // have attachments
         if ($object->file) {
             $target_folder = 'attach/' . $object->id;
             $target_file = $target_folder . '/' . $object->file;
             @mkdir($target_folder);
             rename('tmp/' . $object->file, $target_file);
         }
         $project = new Project($object->id_project);
         // read email configuration file
         $ini = parse_ini_file('app/config/email.ini');
         $members = $project->getMembers(array('MEMBER', 'MANAGER'));
         $members = array_merge($members, array($member));
         // merge the logged user
         $mail_template = file_get_contents('app/resources/ticket_open.html');
         $mail_template = str_replace('{DESCRIPTION}', $object->description, $mail_template);
         $mail_template = str_replace('{OPENER}', $member->name . ' ' . $object->register_date . ' ' . $object->issue_time, $mail_template);
         $mail = new TMail();
         $mail->setFrom($ini['from'], $ini['name']);
         $mail->setSubject(_t('Issue') . ' #' . $object->id . ': ' . $object->title . ' (' . $object->status . ')');
         $mail->setHtmlBody($mail_template);
         foreach ($members as $member) {
             $emails = explode(',', $member->email);
             foreach ($emails as $email) {
                 $mail->addAddress(trim($email), $member->name);
                 // echo "{$email}, {$member-> name} <br>";
             }
         }
         if (isset($target_file)) {
             $mail->addAttach($target_file);
         }
         $mail->SetUseSmtp();
         $mail->SetSmtpHost($ini['host'], $ini['port']);
         $mail->SetSmtpUser($ini['user'], $ini['pass']);
         $mail->setReplyTo($ini['repl']);
         $mail->send();
         // fill the form with the active record data
         $this->form->setData($object);
         // close the transaction
         TTransaction::close();
         // shows the success message
         new TMessage('info', TAdiantiCoreTranslator::translate('Record saved'));
         // reload the listing
     } catch (Exception $e) {
         // shows the exception error message
         new TMessage('error', '<b>Error</b> ' . $e->getMessage() . '<br>' . _t('Try again'));
         // undo all pending operations
         TTransaction::rollback();
     }
 }