Example #1
0
function news_send_to_ugroups($ugroups, $summary, $details, $group_id)
{
    $hp = Codendi_HTMLPurifier::instance();
    $pm = ProjectManager::instance();
    $project = $pm->getProject($group_id);
    $user = HTTPRequest::instance()->getCurrentUser();
    $ugroup_manager = new UGroupManager();
    $summary = util_unconvert_htmlspecialchars($summary);
    $details = util_unconvert_htmlspecialchars($details);
    $html_body = '<h1>' . $hp->purify($summary, CODENDI_PURIFIER_BASIC) . '</h1>';
    $html_body .= '<p>' . $hp->purify($details, CODENDI_PURIFIER_BASIC) . '</p>';
    $users = array();
    foreach ($ugroups as $ugroup_id) {
        $ugroup = $ugroup_manager->getUGroupWithMembers($project, $ugroup_id);
        foreach ($ugroup->getMembers() as $member) {
            $users[] = $member;
        }
    }
    $massmail_sender = new MassmailSender();
    $is_sent = $massmail_sender->sendMassmail($project, $user, $summary, $html_body, $users);
    if ($is_sent) {
        $GLOBALS['Response']->addFeedback('info', $GLOBALS['Language']->getText('news_utils', 'news_sent'));
    } else {
        $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('news_utils', 'news_not_sent'));
    }
}
 * Tuleap is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Tuleap. If not, see <http://www.gnu.org/licenses/>.
 */
require_once 'pre.php';
require_once 'common/mail/Codendi_Mail.class.php';
require_once 'common/mail/MassmailSender.class.php';
require_once 'common/include/CSRFSynchronizerToken.class.php';
$csrf = new CSRFSynchronizerToken('massmail_to_project_members.php');
$csrf->check('/my/');
$request = HTTPRequest::instance();
$pm = ProjectManager::instance();
$user = $request->getCurrentUser();
$group_id = $request->get('group_id');
$subject = $request->get('subject');
$body = $request->get('body');
$project = $pm->getProject($group_id);
$members = $project->getMembers();
$project_name = $project->getPublicName();
$massmail_sender = new MassmailSender();
$is_sent = $massmail_sender->sendMassmail($project, $user, $subject, $body, $members);
if ($is_sent) {
    $GLOBALS['Response']->addFeedback('info', $GLOBALS['Language']->getText('my_index', 'mail_sent', array($project_name)));
} else {
    $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('my_index', 'mail_not_sent', array($project_name)));
}
$GLOBALS['Response']->redirect("/my");
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Tuleap. If not, see <http://www.gnu.org/licenses/>.
 */
require_once 'pre.php';
require_once 'common/mail/Codendi_Mail.class.php';
require_once 'common/mail/MassmailSender.class.php';
require_once 'common/include/CSRFSynchronizerToken.class.php';
$csrf = new CSRFSynchronizerToken('');
$csrf->check('/my/');
$request = HTTPRequest::instance();
$pm = ProjectManager::instance();
$massmail_sender = new MassmailSender();
$user = $request->getCurrentUser();
$group_id = $request->get('group_id');
$subject = $request->get('subject');
$body = $request->get('body');
$project = $pm->getProject($group_id);
$admins = $project->getAdmins();
$project_name = $project->getPublicName();
$project_unix_name = $project->getUnixName();
$body_info = $GLOBALS['Language']->getText('contact_admins', 'body_info');
$body = $body_info . $body;
if ($massmail_sender->sendMassmail($project, $user, $subject, $body, $admins)) {
    $GLOBALS['Response']->addFeedback('info', $GLOBALS['Language']->getText('contact_admins', 'mail_sent_admin', array($project_name)));
} else {
    $GLOBALS['Response']->addFeedback('error', $GLOBALS['Language']->getText('contact_admins', 'mail_not_sent_admin', array($project_name)));
}