Example #1
0
 public static function sendEmail($to, $body, $subject = "", $from = self::NO_REPLY_MAIL, $fromName = self::NO_REPLY_NAME, $replyTo = self::NO_REPLY_MAIL, $bcc = array(), $attachment = '')
 {
     $template_header = '';
     $template_footer = '';
     try {
         $mail = new sfMail();
         $mail->initialize();
         $mail->setMailer('sendmail');
         $mail->setCharset('utf-8');
         $mail->setContentType('text/html');
         $mail->setSender($from, $fromName);
         $mail->setFrom($from, $fromName);
         $mail->addReplyTo($replyTo);
         $mail->addAddress($to);
         if (is_array($attachment)) {
             foreach ($attachment as $key => $row) {
                 $mail->addAttachment($row);
             }
         } else {
             if ($attachment != '') {
                 $mail->addAttachment($attachment);
             }
         }
         foreach ($bcc as $bcc_address) {
             $mail->addBcc($bcc_address);
         }
         $mail->setSubject($subject);
         $mail->setBody($template_header . $body . $template_footer);
         $mail->send();
         return true;
     } catch (Exception $e) {
         return false;
     }
 }
 public function sendmail($senderEmail, $senderName, $fromEmail, $fromName, $replyto, $to, $subject, $body)
 {
     $mail = new sfMail();
     $mail->initialize();
     $mail->setMailer(sfConfig::get('app_mail_server_type'));
     $mail->setHostname(sfConfig::get('app_mail_hostname'));
     $mail->setUsername(sfConfig::get('app_mail_username'));
     $mail->setPassword(sfConfig::get('app_mail_password'));
     $mail->setCharset(sfConfig::get('app_mail_character'));
     $mail->setSender($senderEmail, $senderName);
     $mail->setFrom($fromEmail, $fromName);
     $mail->addReplyTo($replyto);
     $mail->addAddress($to);
     $mail->setSubject($subject);
     $mail->setBody($body);
     $mail->send();
 }
 public function executeForgotPassword()
 {
     $email = $this->getRequest()->getAttribute('email');
     $username = $this->getRequest()->getAttribute('username');
     $password = $this->getRequest()->getAttribute('password');
     $full_name = $this->getRequest()->getAttribute('full_name');
     $mail = new sfMail();
     $mail->setCharset('utf-8');
     $mail->setSender('*****@*****.**', 'Hoydaa Snippets');
     $mail->setFrom('*****@*****.**', 'Hoydaa Snippets');
     $mail->addReplyTo('*****@*****.**');
     $mail->setSubject('Hoydaa Snippets - Forgot Password');
     $mail->addAddress($email);
     $this->mail = $mail;
     $this->username = $username;
     $this->password = $password;
     $this->full_name = $full_name;
 }
Example #4
0
 public function executeForget()
 {
     if ($this->getRequestParameter('email')) {
         $c = new Criteria();
         $c->add(AdminPeer::EMAIL, $this->getRequestParameter('email'));
         $admin = AdminPeer::doSelectOne($c);
         if ($admin) {
             $template = MailTemplatePeer::retrieveByPK('__FORGET__');
             $email = trim($admin->getEmail());
             $subject = $template->getSubject();
             $temp_body = $template->getTemplate();
             $html_temp_body = $template->getHTMLTemplate();
             $password = chr(rand(65, 90)) . chr(rand(65, 90)) . chr(rand(65, 90)) . chr(rand(65, 90)) . chr(rand(65, 90));
             // random(ish) 5 character string
             $temp_body = str_replace('___PASSWORD___', $password, $temp_body);
             $html_temp_body = str_replace('___PASSWORD___', $password, $html_temp_body);
             $admin->setPassword(md5($password));
             $admin->save();
             $footer = MailTemplatePeer::retrieveByPK("FOOTER");
             $temp_body .= $footer->getTemplate();
             $html_temp_body .= $footer->getHTMLTemplate();
             $mail = new sfMail();
             $mail->initialize();
             $mail->setMailer('sendmail');
             $mail->setCharset('utf-8');
             $mail->setSender('*****@*****.**');
             $mail->addReplyTo('*****@*****.**');
             $mail->setFrom('*****@*****.**');
             $mail->setContentType('text/html');
             $mail->addAddress($email);
             $mail->setSubject($subject);
             $mail->setBody($html_temp_body);
             $mail->setAltBody($temp_body);
             $mail->send();
             $this->result = 'Thank you';
         } else {
             $this->result = "we do not have user with this email";
         }
     }
 }
Example #5
0
 public function executeSendRegistrationConfirmation()
 {
     // determine customer from the request 'id' parameter
     $c = new Criteria();
     $c->add(kuserPeer::ID, $this->getRequest()->getAttribute('id'));
     $user = kuserPeer::doSelectOne($c);
     if ($user && $user->getEmail() == $this->getRequest()->getAttribute('email')) {
         // class initialization
         $mail = new sfMail();
         $mail->setCharset('utf-8');
         // definition of the required parameters
         $mail->setSender('*****@*****.**', 'Kaltura Customer Service');
         $mail->setFrom('*****@*****.**', 'Kaltura Customer Service');
         $mail->addReplyTo('*****@*****.**');
         $mail->addAddress($user->getEmail());
         $mail->setSubject('Welcome to Kaltura!');
         $this->name = $user->getScreenName();
         $this->mail = $mail;
     } else {
         $this->getRequest()->setError('email', 'Problem while sending email');
         $this->redirect('login/sendRegistrationConfirmation?error=Unknown');
     }
 }
 private static function signal()
 {
     $i18n = sfContext::getInstance()->getI18N();
     // send an email for potential vandalism
     $email_recipient = UserPrivateData::find(108544)->getEmail();
     // for now, topo-fr 108544
     $email_subject = $i18n->__('Potential vandalism');
     $server = $_SERVER['SERVER_NAME'];
     $module = self::$doc->getModule();
     $link = "http://{$server}/{$module}/" . self::$doc->getId();
     $htmlBody = $i18n->__('The document "%1%" has been potentially vandalised', array('%1%' => '<a href="' . $link . '">' . self::$doc->getCurrentI18nObject()->getName() . '</a>'));
     $mail = new sfMail();
     $mail->setCharset('utf-8');
     // definition of the required parameters
     $mail->setSender(sfConfig::get('app_outgoing_emails_sender'));
     $mail->setFrom(sfConfig::get('app_outgoing_emails_from'));
     $mail->addReplyTo(sfConfig::get('app_outgoing_emails_reply_to'));
     $mail->addAddress($email_recipient);
     $mail->setSubject($email_subject);
     $mail->setContentType('text/html');
     $mail->setBody($htmlBody);
     $mail->setAltBody(strip_tags($htmlBody));
     $mail->send();
 }
 /**
  * Executes "associate current document with document" action
  * associated document can only be : articles, summits, books, huts, outings, routes, sites, users
  * ... restricted in security.yml to logged people
  */
 public function executeAddAssociation()
 {
     $user = $this->getUser();
     $user_id = $user->getId();
     $is_moderator = $user->hasCredential(sfConfig::get('app_credentials_moderator'));
     //
     // Get parameters and check that association is allowed
     //
     // if session is time-over
     if (!$user_id) {
         return $this->ajax_feedback('Session is over. Please login again.');
     }
     if (!$this->hasRequestParameter('document_id') || !$this->hasRequestParameter('main_id') || !$this->hasRequestParameter('document_module')) {
         return $this->ajax_feedback('Operation not allowed');
     }
     $main_module = $this->getRequestParameter('module');
     $main_id = $this->getRequestParameter('main_id');
     $linked_module = $this->getRequestParameter('document_module');
     $linked_id = $this->getRequestParameter('document_id');
     $icon = $this->getRequestParameter('icon', '');
     $div = $this->getRequestParameter('div', false);
     if ($linked_id == $main_id) {
         return $this->ajax_feedback('A document can not be linked to itself');
     }
     switch ($linked_module) {
         case 'summits':
             $fields = array('id', 'is_protected', 'summit_type');
             break;
         case 'routes':
             $fields = array('id', 'is_protected', 'duration');
             break;
         case 'huts':
             $fields = array('id', 'is_protected', 'shelter_type');
             break;
         case 'articles':
             $fields = array('id', 'is_protected', 'article_type');
             break;
         case 'images':
             $fields = array('id', 'is_protected', 'image_type');
             break;
         case 'documents':
             $fields = array('id', 'is_protected', 'module');
             break;
             // FIXME prevent such case?
         // FIXME prevent such case?
         default:
             $fields = array('id', 'is_protected');
             break;
     }
     $linked_document = Document::find(c2cTools::module2model($linked_module), $linked_id, $fields);
     $linked_module = $linked_module != 'documents' ? $linked_module : $linked_document->get('module');
     if (!$linked_document) {
         return $this->ajax_feedback('Linked document does not exist');
     }
     $type_modules = c2cTools::Modules2Type($main_module, $linked_module);
     if (empty($type_modules)) {
         return $this->ajax_feedback('Wrong association type');
     }
     list($type, $swap, $main_module_new, $linked_module_new, $strict) = $type_modules;
     switch ($main_module) {
         case 'summits':
             $fields = array('id', 'is_protected', 'summit_type');
             break;
         case 'routes':
             $fields = array('id', 'is_protected', 'duration');
             break;
         case 'huts':
             $fields = array('id', 'is_protected', 'shelter_type');
             break;
         case 'articles':
             $fields = array('id', 'is_protected', 'article_type');
             break;
         case 'images':
             $fields = array('id', 'is_protected', 'image_type');
             break;
         case 'documents':
             $fields = array('id', 'is_protected', 'module');
             break;
             // FIXME prevent such case?
         // FIXME prevent such case?
         default:
             $fields = array('id', 'is_protected');
             break;
     }
     $main_document = Document::find(c2cTools::module2model($main_module), $main_id, $fields);
     if (!$main_document) {
         return $this->ajax_feedback('Main document does not exist');
     }
     if ($swap) {
         $main_document_new = $linked_document;
         $main_id_new = $linked_id;
         $linked_document_new = $main_document;
         $linked_id_new = $main_id;
     } else {
         $main_document_new = $main_document;
         $main_id_new = $main_id;
         $linked_document_new = $linked_document;
         $linked_id_new = $linked_id;
     }
     if ($linked_module_new == 'articles') {
         if (!$is_moderator) {
             if ($linked_document_new->get('article_type') == 2 && !Association::find($user_id, $linked_id_new, 'uc')) {
                 return $this->ajax_feedback('You do not have the right to link a document to a personal article');
             }
             if ($main_module_new == 'articles') {
                 if ($main_document_new->get('article_type') == 2 && !Association::find($user_id, $main_id_new, 'uc')) {
                     return $this->ajax_feedback('You do not have the right to link a document to a personal article');
                 }
             }
             if ($main_module_new == 'outings' && !Association::find($user_id, $main_id_new, 'uo')) {
                 return $this->ajax_feedback('You do not have the right to link an article to another user outing');
             }
         }
         if ($linked_document_new->get('article_type') != 2 && $type == 'uc') {
             return $this->ajax_feedback('An user can not be linked to a collaborative article');
         }
     }
     if ($linked_module_new == 'images') {
         if ($main_document_new->get('is_protected') && !$is_moderator) {
             return $this->ajax_feedback('Document is
             protected');
         }
         if (!$is_moderator) {
             if ($main_module_new == 'users' && $main_id_new != $user_id) {
                 return $this->ajax_feedback('You do not have the right to link an image to another user profile');
             }
             if ($main_module_new == 'outings' && !Association::find($user_id, $main_id_new, 'uo')) {
                 return $this->ajax_feedback('You do not have the right to link an image to another user outing');
             }
             if ($main_module_new == 'articles' && $main_document_new->get('article_type') == 2 && !Association::find($user_id, $main_id_new, 'uc')) {
                 return $this->ajax_feedback('You do not have the right to link an image to a personal article');
             }
             if ($main_module_new == 'images' && $main_document_new->get('image_type') == 2 && $document->getCreatorId() != $user_id) {
                 return $this->ajax_feedback('You do not have the right to link an image to a personal image');
             }
         }
     }
     if ($linked_module_new == 'outings') {
         if (!$is_moderator) {
             if ($main_module_new == 'users' && !Association::find($user_id, $linked_id_new, 'uo')) {
                 return $this->ajax_feedback('You do not have the right to link an user to another user outing');
             }
             if ($main_module_new == 'routes' && !Association::find($user_id, $linked_id_new, 'uo')) {
                 return $this->ajax_feedback('You do not have the right to link a route to another user outing');
             }
             if ($main_module_new == 'sites' && !Association::find($user_id, $linked_id_new, 'uo')) {
                 return $this->ajax_feedback('You do not have the right to link a site to another user outing');
             }
         }
     }
     if ($linked_module_new == 'xreports') {
         if (!$is_moderator) {
             if ($main_module_new == 'users' && !Association::find($user_id, $linked_id_new, 'ux')) {
                 return $this->ajax_feedback('You do not have the right to link an user to another user xreport');
             }
             if ($main_module_new == 'outings' && !Association::find($user_id, $linked_id_new, 'ux')) {
                 return $this->ajax_feedback('You do not have the right to link an outing to another user xreport');
             }
             if ($main_module_new == 'routes' && !Association::find($user_id, $linked_id_new, 'ux')) {
                 return $this->ajax_feedback('You do not have the right to link a route to another user xreport');
             }
             if ($main_module_new == 'sites' && !Association::find($user_id, $linked_id_new, 'ux')) {
                 return $this->ajax_feedback('You do not have the right to link a site to another user xreport');
             }
         }
     }
     if ($linked_module_new == 'huts') {
         if ($main_module_new == 'summits') {
             $associations = Association::findAllAssociations($linked_id_new, 'sh');
             if (count($associations)) {
                 return $this->ajax_feedback('This hut is already linked to a summit');
             }
         }
         if ($main_module_new == 'parkings') {
             $associations_pp = Association::findAllAssociations($main_id_new, 'pp');
             $associations_ph = Association::findAllAssociations($linked_id_new, 'ph');
             foreach ($associations_pp as $a_pp) {
                 foreach ($associations_ph as $a_ph) {
                     if ($a_pp['main_id'] == $a_ph['main_id'] || $a_pp['linked_id'] == $a_ph['main_id']) {
                         return $this->ajax_feedback('A parking can not be linked to a hut if a main/sub parking is already linked to it');
                     }
                 }
             }
         }
     }
     if ($linked_module_new == 'routes') {
         if ($main_module_new == 'summits' && $main_document_new->get('summit_type') == 5 && $linked_document_new->get('duration') <= 2) {
             return $this->ajax_feedback('A raid summit can not be linked to a stage route');
         }
         if ($main_module_new == 'huts' && ($main_document_new->get('shelter_type') == 5 || $main_document_new->get('shelter_type') == 6)) {
             return $this->ajax_feedback('A gite can not be linked to a route');
         }
         if ($main_module_new == 'parkings') {
             $associations_pp = Association::findAllAssociations($main_id_new, 'pp');
             $associations_pr = Association::findAllAssociations($linked_id_new, 'pr');
             foreach ($associations_pp as $a_pp) {
                 foreach ($associations_pr as $a_pr) {
                     if ($a_pp['main_id'] == $a_pr['main_id'] || $a_pp['linked_id'] == $a_pr['main_id']) {
                         return $this->ajax_feedback('A parking can not be linked to a route if a main/sub parking is already linked to it');
                     }
                 }
             }
         }
     }
     if ($linked_module_new == 'sites') {
         if ($main_module_new == 'sites') {
             if (Association::countAllMain(array($linked_id_new), 'tt')) {
                 return $this->ajax_feedback('A sub site can not be linked to more than one main site');
             }
         }
         if ($main_module_new == 'summits') {
             if (Association::countAllMain(array($linked_id_new), 'st')) {
                 return $this->ajax_feedback('A site can not be linked to more than one summit');
             }
             if (Association::countAllMain(array($linked_id_new), 'tt')) {
                 return $this->ajax_feedback('A summit can not be linked to a sub site');
             }
         }
         if ($main_module_new == 'parkings') {
             $associations_pp = Association::findAllAssociations($main_id_new, 'pp');
             $associations_pt = Association::findAllAssociations($linked_id_new, 'pt');
             foreach ($associations_pp as $a_pp) {
                 foreach ($associations_pt as $a_pt) {
                     if ($a_pp['main_id'] == $a_pt['main_id'] || $a_pp['linked_id'] == $a_pt['main_id']) {
                         return $this->ajax_feedback('A parking can not be linked to a site if a main/sub parking is already linked to it');
                     }
                 }
             }
         }
     }
     if ($linked_module_new == 'summits') {
         if ($main_module_new == 'summits') {
             if ($main_document_new->get('summit_type') == 5 || $linked_document_new->get('summit_type') == 5) {
                 return $this->ajax_feedback('A raid summit can not be linked to a real summit');
             }
             if (Association::countAllMain(array($linked_id_new), 'ss')) {
                 return $this->ajax_feedback('A sub summit can not be linked to more than one main summit');
             }
         }
     }
     if ($linked_module_new == 'parkings') {
         if ($main_module_new == 'parkings') {
             if (Association::countAllMain(array($linked_id_new), 'pp')) {
                 // return $this->ajax_feedback('A sub parking can not be linked to more than one main parking');
             }
         }
     }
     if (Association::find($main_id_new, $linked_id_new, $type, false)) {
         return $this->ajax_feedback('The document is already linked to the current document');
     }
     if ($linked_module_new == 'outings' && $main_module_new == 'users' && $linked_id != $user_id) {
         // send an email to warn the new user associated
         $email_recipient = UserPrivateData::find($linked_id)->getEmail();
         $email_subject = $this->__('You have been associated to an outing');
         $server = $_SERVER['SERVER_NAME'];
         $outing_link = 'http' . (empty($_SERVER['HTTPS']) ? '' : 's') . "://{$server}/outings/{$main_id}";
         $htmlBody = $this->__('You have been associated to outing %1% details', array('%1%' => '<a href="' . $outing_link . '">' . $outing_link . '</a>'));
         $mail = new sfMail();
         $mail->setCharset('utf-8');
         // definition of the required parameters
         $mail->setSender(sfConfig::get('app_outgoing_emails_sender'));
         $mail->setFrom(sfConfig::get('app_outgoing_emails_from'));
         $mail->addReplyTo(sfConfig::get('app_outgoing_emails_reply_to'));
         $mail->addAddress($email_recipient);
         $mail->setSubject($email_subject);
         $mail->setContentType('text/html');
         $mail->setBody($htmlBody);
         $mail->setAltBody(strip_tags($htmlBody));
         // send the email
         $mail->send();
     }
     // Perform association
     $a = new Association();
     $status = $a->doSaveWithValues($main_id_new, $linked_id_new, $type, $user_id);
     if (!$status) {
         return $this->ajax_feedback('Could not perform association');
     }
     // cache clearing for current doc in every lang:
     $this->clearCache($main_module, $main_id, false, 'view');
     $this->clearCache($linked_module, $linked_id, false, 'view');
     // html to return
     sfLoader::loadHelpers(array('Tag', 'Url', 'Asset', 'AutoComplete'));
     $linked_document->setBestName($user->getPreferedLanguageList());
     $bestname = $linked_document->get('name');
     if ($linked_module == 'routes') {
         // in that case, output not only route name but also best summit name whose id has been passed (summit_id)
         $summit = explode(' [', $this->getRequestParameter('summits_name'));
         $bestname = $summit[0] . $this->__('&nbsp;:') . ' ' . $bestname;
     }
     $linked_module_name = $icon ? $icon : $this->__($linked_module);
     $type_id_string = $type . '_' . $linked_id;
     $out = link_to($bestname, "@document_by_id?module={$linked_module}&id={$linked_id}");
     if ($user->hasCredential('moderator')) {
         $out .= c2c_link_to_delete_element($type, $main_id_new, $linked_id_new, !$swap, $strict);
     }
     if ($div) {
         $icon_string = '';
         if ($icon) {
             $icon_string = '<div class="assoc_img picto_' . $icon . '" title="' . ucfirst(__($icon)) . '">' . '<span>' . ucfirst(__($icon)) . __('&nbsp;:') . '</span>' . '</div>';
         }
         $out = '<div class="linked_elt" id="' . $type_id_string . '">' . $icon_string . $out . '</div>';
     } else {
         $out = '<li id="' . $type_id_string . '">' . picto_tag('picto_' . $linked_module, $linked_module_name) . ' ' . $out . '</li>';
     }
     return $this->renderText($out);
 }
Example #8
0
 public function executeResult()
 {
     $this->setLayout(false);
     if ($code = $this->getRequestParameter("codeid")) {
         $c = new Criteria();
         $c->add(SubscriberPeer::CODE, $code);
         $user = SubscriberPeer::doSelectOne($c);
         if ($user) {
             $user->setPublicationStatus(UtilsHelper::STATUS_ACTIVE);
             //$user->setCode(null);
             $user->save();
             $this->msg = "Subscribtion confirmed";
         } else {
             $this->err = "A problem occured";
         }
         return "Confirm";
     }
     $email = trim($this->getRequestParameter('newsletter_email'));
     if (!empty($email)) {
         $new = false;
         $c = new Criteria();
         $c->add(SubscriberPeer::EMAIL, $email);
         $c->add(SubscriberPeer::PUBLICATION_STATUS, UtilsHelper::STATUS_WAITING);
         $subscriber = SubscriberPeer::doSelectOne($c);
         if (!$subscriber) {
             $subscriber = new Subscriber();
             $subscriber->setLabel($email);
             $subscriber->setEmail($email);
             $code = md5(time());
             $subscriber->setCode($code);
             $new = true;
         } else {
             $code = $subscriber->getCode();
         }
         $from_name = UtilsHelper::SYSTEM_SENDER;
         $from_email = UtilsHelper::NO_REPLY_MAIL;
         $mail = new sfMail();
         $mail->initialize();
         $mail->setMailer('sendmail');
         $mail->setCharset('utf-8');
         $mail->setSender($from_email, $from_name);
         $mail->setFrom($from_email, $from_name);
         $mail->addReplyTo($from_email);
         $mail->addAddress($email);
         $mail->addBcc(UtilsHelper::COPY_MAIL);
         $mail->setContentType('text/html');
         $mail->setSubject('Newsletter subscribtion');
         $resultPage = Document::getDocumentByExclusiveTag('website_page_newsletter_result');
         if ($resultPage) {
             $resultPageHref = $resultPage->getHref();
         }
         $request = $this->getRequest();
         $request->setParameter('activationUrl', $resultPageHref . "?codeid=" . $code);
         $body = $this->getPresentationFor("newsletter", "confirmMail");
         $mail->setBody($body);
         try {
             $mail->send();
             $defMailinglist = Document::getDocumentByExclusiveTag('newsletter_mailinglist_default');
             if ($defMailinglist && $new) {
                 $subscriber->save(null, $defMailinglist);
                 $subscriber->setPublicationStatus(UtilsHelper::STATUS_WAITING, true);
             }
             $this->msg = "Subscribtion successfull, check your email";
         } catch (Exception $e) {
             $this->getRequest()->setError('newsletter_email', "A problem occured");
         }
     } else {
         $this->getRequest()->setError('newsletter_email', "Please enter your email");
         $this->form = true;
     }
 }
 public function doSaveWithValues($main_id, $linked_id, $type, $user_id)
 {
     $conn = sfDoctrine::Connection();
     try {
         $conn->beginTransaction();
         // we create the association:
         $this->main_id = $main_id;
         $this->linked_id = $linked_id;
         $this->type = $type;
         $this->save();
         // and we log this:
         $al = new AssociationLog();
         $al->main_id = $main_id;
         $al->linked_id = $linked_id;
         $al->type = $type;
         $al->user_id = $user_id;
         $al->is_creation = true;
         $al->save();
         $conn->commit();
         // send an email to moderators if a picture is associated to a book
         if ($type == 'bi') {
             try {
                 // retrieve moderators email
                 $moderator_id = sfConfig::get('app_moderator_user_id');
                 // currently send to topo-fr only
                 $conn->beginTransaction();
                 $rows = $conn->standaloneQuery('SELECT email FROM app_users_private_data d WHERE id = ' . $moderator_id)->fetchAll();
                 $conn->commit();
                 $email_recipient = $rows[0]['email'];
                 $mail = new sfMail();
                 $mail->setCharset('utf-8');
                 // definition of the required parameters
                 $mail->setSender(sfConfig::get('app_outgoing_emails_sender'));
                 $mail->setFrom(sfConfig::get('app_outgoing_emails_from'));
                 $mail->addReplyTo(sfConfig::get('app_outgoing_emails_reply_to'));
                 $mail->addAddress($email_recipient);
                 $mail->setSubject('New image associated to book');
                 $mail->setContentType('text/html');
                 $server = $_SERVER['SERVER_NAME'];
                 $body = "<p>A <a href=\"http://{$server}/images/{$linked_id}\">new image</a> has been associated to <a href=\"http://{$server}/books/{$main_id}\">book {$main_id}</a>.</p>" . "<p>The image may require a copyright license. If so, please ensure that:</p>" . "<ul>" . "<li>the owner is correctly acknowledged in the author field;</li>" . "<li>the image is not too big (max 800px width or height).</li>" . "</ul>";
                 $mail->setBody($body);
                 // send the email
                 $mail->send();
             } catch (exception $e) {
                 $conn->rollback();
                 c2cTools::log("Association::doSaveWithValues({$main_id}, {$linked_id}, {$type}, {$user_id}) failed sending email for image associated to book");
             }
         }
         return true;
     } catch (exception $e) {
         $conn->rollback();
         c2cTools::log("Association::doSaveWithValues({$main_id}, {$linked_id}, {$type}, {$user_id}) failed - rollback");
         return false;
     }
 }
 protected function sendC2cEmail($module_name, $action_name, $email_subject, $email_recipient)
 {
     // Get message body
     $htmlBody = $this->getPresentationFor($module_name, $action_name);
     // class initialization
     $mail = new sfMail();
     $mail->setCharset('utf-8');
     // definition of the required parameters
     $mail->setSender(sfConfig::get('app_outgoing_emails_sender'));
     $mail->setFrom(sfConfig::get('app_outgoing_emails_from'));
     $mail->addReplyTo(sfConfig::get('app_outgoing_emails_reply_to'));
     $mail->addAddress($email_recipient);
     $mail->setSubject($email_subject);
     $mail->setContentType('text/html');
     $mail->setBody($htmlBody);
     $mail->setAltBody(strip_tags($htmlBody));
     // send the email
     $mail->send();
 }
Example #11
0
 public function executeContact()
 {
     //exit(UtilsHelper::Settings("main_email"));
     $this->setLayout(false);
     if ($this->getRequestParameter("submitted") == "submitted") {
         $request = $this->getRequest();
         $params = $request->getParameterHolder()->getAll();
         foreach ($params as $key => $param) {
             if (!is_array($param)) {
                 ${$key} = trim($param);
             } else {
                 ${$key} = $param;
             }
         }
         $mail = new sfMail();
         $mail->initialize();
         $mail->setMailer('sendmail');
         $mail->setCharset('utf-8');
         $mail->setContentType('text/html');
         $mail->setFrom($email, $full_name);
         $mail->addAddress(UtilsHelper::Settings("main_email"));
         $mail->setSubject("Съобщение от {$cf_name}");
         $mail->setSender($cf_email, $cf_name);
         $mail->setFrom($cf_email, $cf_name);
         $mail->addReplyTo($cf_email);
         //$serviceLabel = null;
         //$serviceObj = Document::getDocumentInstance($service);
         //if($serviceObj) $serviceLabel = $serviceObj->getLabel();
         $msg = "";
         $msg .= "Име: " . $cf_name . "\n" . ($msg .= "И-Мейл: " . $cf_email . "\n");
         //$msg .= "Adress: ".$adress."\n";
         //$msg .= "City: ".$city."\n";
         //$msg .= "Zip Code: ".$zip."\n";
         //$msg .= "State: ".$state."\n";
         //if($home_phone) 	$message .= "Home Phone: ".$home_phone."\n";
         //$msg .= "Cell Phone: ".$cell_phone."\n";
         $msg .= "Съобщение: " . $cf_msg . "\n";
         //$msg .= "Date of Opening: ".$date_open."\n";
         //if($date_close) 	$msg .= "Date of Closing: ".$date_close."\n";
         //if($serviceLabel) 	$msg .= "Service: ".$serviceLabel."\n";
         $mail->setBody(nl2br($msg));
         $mail->send();
         //UtilsHelper::setFlashMsg( UtilsHelper::Localize("website.frontend.Sent"), UtilsHelper::MSG_SUCCESS);
         $this->success = true;
     }
 }