コード例 #1
0
 /**
  * Schickt das Kontrollmail an den Sender, um sicherzugehen, dass die Sender-Adresse wirklich existiert
  *
  * @param int $mod_navID Nav-ID des Moduls
  */
 private function _checkmail_send($mod_navID)
 {
     $mail_vars = $this->_config_textes['Mail'];
     /* nav_id angegeben? */
     if (!key_exists('nav_id', $this->_gpc['GET'])) {
         throw new CMSException(array('mail' => 'param_navid'), EXCEPTION_MODULE_CODE, "", array('mail' => 'param_missing'));
     }
     /* darf modul mit nav_id mail senden? */
     if ($this->_get_tabledata($mod_navID) == false) {
         throw new CMSException(array('mail' => 'modul_no_mail'), EXCEPTION_MODULE_CODE, array('mail' => 'no_support'));
     }
     if ($this->_check_mailtable() == false) {
         throw new CMSException(array('mail' => 'no_matching_table1'), EXCEPTION_MODULE_CODE, array('mail' => 'no_matching_table2'));
     }
     if (isset($this->_gpc['POST']['btn_send']) && $this->_gpc['POST']['btn_send'] == 'Senden') {
         /*Formular wurde gesendet */
         //Formular-Kontrolle
         if ($this->_gpc['POST']['entry_id'] != $this->_gpc['GET']['entry_id']) {
             throw new CMSException(array('mail' => 'wrong_form'), EXCEPTION_MODULE_CODE, array('mail' => 'data_collaps'));
         }
         //Benutzung einfacher Variablen
         $title = $this->_gpc['POST']['title'];
         $content = $this->_gpc['POST']['content'];
         $name = $this->_gpc['POST']['name'];
         $email = $this->_gpc['POST']['email'];
         $entry_id = $this->_gpc['POST']['entry_id'];
         /* Formular kontrollieren */
         $answer = array();
         $success = $this->_check_form($answer);
         if ($success == true) {
             /*Mail schicken*/
             $navigation_id = $this->_smarty->get_template_vars('local_link');
             $this->_mysql->query("SELECT `{$this->mail_tbl['column_name']}`, `{$this->mail_tbl['column_email']}` FROM `{$this->mail_tbl['table']}` WHERE `{$this->mail_tbl['column_ID']}` = '{$entry_id}'");
             $mail_reciver = $this->_mysql->fetcharray('assoc');
             $mail_reciver_name = $mail_reciver[$this->mail_tbl['column_name']];
             $mail_reciver_email = $mail_reciver[$this->mail_tbl['column_email']];
             $mail = new Mailsend();
             $mailsend_controll = $mail->mail_send_link($this->_mysql, $mail_reciver_name, $mail_reciver_email, $name, $email, $title, $content);
             if ($mailsend_controll == true) {
                 /* Erfolgreich gespeichert */
                 $this->_send_feedback($mail_vars['saved_title'], $mail_vars['saved_content'], "?nav_id={$navigation_id}", $mail_vars['send_link']);
             } else {
                 /* Fehler bei der Speicherung */
                 $this->_send_feedback($mail_vars['failer_save_title'], $mail_vars['failer_save_content'], "?nav_id={$navigation_id}", $mail_vars['send_link']);
             }
         } else {
             /* Fehler im Formular */
             $this->_send_entryform(false, $answer);
         }
     } else {
         /* Kein Formular abgeschickt */
         //Captcha zurücksetzen
         if (key_exists('captcha_revoke', $this->_gpc['POST'])) {
             $first_form = false;
         } else {
             $first_form = true;
         }
         $this->_send_entryform($first_form);
     }
 }