function index() { if (!CheckPermissions('vip')) { return; } //load the required models and libraries $this->load->model('pr_model', 'pr_model'); $this->load->model('members_model', 'members_model'); $this->load->model('directory_model'); //setup the page properties $this->pages_model->SetPageCode('viparea_contactpr'); //set the defaults for the email $signature = $this->directory_model->GetOrganisationEmailSignature(VIPOrganisation()); $subject = ''; $content = "\r\r" . $signature; //get the rep data from the pr model $rep_data = $this->pr_model->GetOrganisationRatings(VipOrganisation()); if (isset($rep_data['rep'])) { $rep = $rep_data['rep']; $rep['email'] = $this->members_model->GetMemberEmail($rep['id']); $rep['has_rep'] = true; } else { $rep['name'] = $this->config->item('pr_officer_name'); $rep['email'] = $this->config->item('pr_officer_email_address'); $rep['has_rep'] = false; } //users data $user_name = $this->members_model->GetMemberName($this->user_auth->entityId); if (isset($_POST['submit_save_advert'])) { if ($_POST['a_subject'] == '') { $this->messages->AddMessage('error', 'You must enter a subject for the email.'); $content = $_POST['a_content']; } else { if ($_POST['a_content'] == '') { $this->messages->AddMessage('error', 'You must enter a message for the email.'); $subject = $_POST['a_subject']; } else { //no errors so send the email $this->load->helper('yorkermail'); $to = $rep['email']; $from = VipOrganisationName() . ' - ' . $user_name . ' <' . $this->members_model->GetMemberEmail($this->user_auth->entityId) . '>'; //try to send the email, report fail if error occurs try { yorkermail($to, $_POST['a_subject'], $_POST['a_content'], $from); $this->messages->AddMessage('success', 'The email has been sent.'); } catch (Exception $e) { $this->main_frame->AddMessage('error', $e->getMessage()); } } } } $data = array('main_text' => $this->pages_model->GetPropertyWikitext('main_text'), 'message_pr_target' => vip_url('contactpr'), 'rep' => $rep, 'subject' => $subject, 'content' => $content); $this->main_frame->SetContentSimple('viparea/contactpr', $data); $this->main_frame->Load(); }
function email() { if (!CheckPermissions('vip+pr')) { return; } //setup page and tabs $this->pages_model->SetPageCode('viparea_settings_email'); $this->_SetupTabs('email'); //load the required models $this->load->model('directory_model'); //check to see if a signature update post has occured if (isset($_POST['save_email_sig'])) { $this->directory_model->UpdateOrganisationEmailSignature(VIPOrganisation(), $_POST['email_signature']); $this->messages->AddMessage('success', 'Your organisations signature has been updated.'); } //get signature $signature = $this->directory_model->GetOrganisationEmailSignature(VIPOrganisation()); $data = array('main_text' => $this->pages_model->GetPropertyWikitext('main_text'), 'signature' => $signature, 'target' => vip_url() . '/account/email'); $this->load->helper('string'); $this->main_frame->SetContentSimple('viparea/account_email', $data); $this->main_frame->SetTitleParameters(array('organisation' => VipOrganisationName())); $this->main_frame->Load(); }
/** */ function compose($members = NULL) { if (!CheckPermissions('vip')) { return; } //add any members in the session to the list of recipients if (isset($_SESSION['members_email_to']) && is_array($_SESSION['members_email_to'])) { $members = $_SESSION['members_email_to']; $_SESSION['members_email_to'] = NULL; //clear the send list } else { $members = array(); } //set the defaults for the email $signature = $this->directory_model->GetOrganisationEmailSignature(VIPOrganisation()); $subject = ''; $content = "\r\r" . $signature; if (!empty($_POST)) { $selected_members = array(); //make an array of selected member ids where checked boxes are ticked if (isset($_POST['cb'])) { foreach ($_POST['cb'] as $key => $value) { if ($value = 'on') { $selected_members[] = $key; } } } else { $selected_members = array(); } if (count($selected_members) == 0) { $this->messages->AddMessage('error', 'You must select some members to send the email to.'); $content = $_POST['a_content']; $subject = $_POST['a_subject']; } else { if ($_POST['a_subject'] == '') { $this->messages->AddMessage('error', 'You must enter a subject for the email.'); $members = $selected_members; $content = $_POST['a_content']; } else { if ($_POST['a_content'] == '') { $this->messages->AddMessage('error', 'You must enter a message for the email.'); $members = $selected_members; $subject = $_POST['a_subject']; } else { //no errors so send the email $this->load->helper('yorkermail'); foreach ($selected_members as $member) { $member_emails[] = $this->members_model->GetMemberEmail($member); } $from = $this->members_model->GetMemberEmail($this->user_auth->entityId); $from = VipOrganisationName() . ' <' . $from . '>'; //try to send the email, report fail if error occurs try { yorkermail(array(), $_POST['a_subject'], $_POST['a_content'], $from, array(), $member_emails); $this->messages->AddMessage('success', 'The email has been sent.'); } catch (Exception $e) { $this->main_frame->AddMessage('error', $e->getMessage()); } } } } } //set page code and setup tab nav bar $this->pages_model->SetPageCode('viparea_members_compose'); $this->_SetupTabs('compose'); //view data $data = array('main_text' => $this->pages_model->GetPropertyWikitext('main_text'), 'target' => $this->uri->uri_string(), 'to_members' => $members, 'subject' => $subject, 'content' => $content, 'from' => VipOrganisationName() . ' <' . $this->members_model->GetMemberEmail($this->user_auth->entityId) . '>'); // get member details $member_details = $this->members_model->GetMemberDetails(VipOrganisationId()); $members = array(); //add required member info to the data array foreach ($member_details as $details) { $data['members'][] = array('id' => $details['user_id'], 'name' => $details['firstname'] . ' ' . $details['surname'], 'email' => $details['email']); } //$this->messages->AddDumpMessage('members', $members); //set content view $this->main_frame->SetContentSimple('members/compose', $data); // Load the main frame $this->main_frame->Load(); }