/** * 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; }
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); }
/** * 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(); } }