From 44b7895b6e6fc278d92839cd5ce420df4d26cc69 Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Mon, 18 Mar 2019 12:10:14 +0100
Subject: [PATCH] FIX intall send email

---
 install/scripts/testSmtp.php | 125 +++++++++++++++-----------------
 install/view/smtp_view.php   | 137 ++++++++++++++---------------------
 2 files changed, 114 insertions(+), 148 deletions(-)

diff --git a/install/scripts/testSmtp.php b/install/scripts/testSmtp.php
index de16b32396b..a23e25220dc 100755
--- a/install/scripts/testSmtp.php
+++ b/install/scripts/testSmtp.php
@@ -6,7 +6,7 @@
      new \SrcCore\models\DatabasePDO(['customId' => 'cs_'.$_SESSION['config']['databasename']]);
 
      if (!empty($pass)) {
-        $pass = \SrcCore\models\PasswordModel::encrypt(['password' => $pass]);
+         $pass = \SrcCore\models\PasswordModel::encrypt(['password' => $pass]);
      }
 
      $data = [
@@ -73,73 +73,64 @@
          exit;
      }
  }
-//if($_REQUEST['type']=='type'){}
+
 include($_SESSION['config']['corepath']
     . '/apps/maarch_entreprise/tools/mails/htmlMimeMail.php');
 
 
-$email = $GLOBALS['emails'][$currentEmail];
-            $GLOBALS['mailer'] = new htmlMimeMail();
-            $GLOBALS['mailer']->setSMTPParams(
-                $host = $_REQUEST['smtpHost'],
-                $port = $_REQUEST['smtpPort'],
-                $helo = $_REQUEST['smtpDomains'],
-                $auth = filter_var($_REQUEST['smtpAuth'], FILTER_VALIDATE_BOOLEAN),
-                $user = $_REQUEST['smtpUser'],
-                $pass = $_REQUEST['smtpPassword'],
-                $from = $_REQUEST['smtpMailFrom']
-                );
-
-            $GLOBALS['mailer']->setReturnPath($email->sender);
-            $GLOBALS['mailer']->setFrom($from);
-            $GLOBALS['mailer']->setSubject("Test smtp Maarch");
-            $GLOBALS['mailer']->setHtml($email->html_body);
-            $GLOBALS['mailer']->setHtml(str_replace('#and#', '&', $email->html_body));
-            $GLOBALS['mailer']->setTextCharset("ceci est un mail de test");
-            $GLOBALS['mailer']->setHtmlCharset((string)$email->charset);
-            $GLOBALS['mailer']->setHeadCharset((string)$email->charset);
-            
-
-        if ($_REQUEST['type'] == 'test') {
-            // var_dump($_REQUEST['smtpMailTo']);
-            // var_dump($_REQUEST['smtpType']);
-            $return = $GLOBALS['mailer']->send(array($_REQUEST['smtpMailTo']), $_REQUEST['smtpType']);
-
-            if ($return == false) {
-                $return2['status'] = 2;
-                $return2['text'] = _SMTP_ERROR;
-
-                $jsonReturn = json_encode($return2);
-
-                echo $jsonReturn;
-                exit;
-
-              //echo("<p>" . $mail->getMessage() . "</p>");
-            } else {
-                require_once 'install/class/Class_Install.php';
-                
-                setConfigSendmail_batch_config_Xml($from, $to, $host, $user, $pass, $_REQUEST['smtpType'], $port, $auth, $charset, $smtpSecure, $from, $_REQUEST['smtpDomains']);
-
-                setConfigNotification_batch_config_Xml($from, $to, $host, $user, $pass, $_REQUEST['smtpType'], $port, $auth, $charset, $smtpSecure, $from, $_REQUEST['smtpDomains']);
-
-                $return2['status'] = 2;
-                $return2['text'] = _SMTP_OK;
-
-                $jsonReturn = json_encode($return2);
-
-                echo $jsonReturn;
-                exit;
-            }
-        } elseif ($_REQUEST['type'] == 'add') {
-            setConfigSendmail_batch_config_Xml($from, $to, $host, $user, $pass, $_REQUEST['smtpType'], $port, $auth, $charset, $smtpSecure, $from, $_REQUEST['smtpDomains']);
-
-            setConfigNotification_batch_config_Xml($from, $to, $host, $user, $pass, $_REQUEST['smtpType'], $port, $auth, $charset, $smtpSecure, $from, $_REQUEST['smtpDomains']);
-            
-            $return2['status'] = 2;
-            $return2['text'] = _INFO_SMTP_OK;
-
-            $jsonReturn = json_encode($return2);
-
-            echo $jsonReturn;
-            exit;
-        }
+$GLOBALS['mailer'] = new htmlMimeMail();
+$GLOBALS['mailer']->setSMTPParams(
+    $host = $_REQUEST['smtpHost'],
+    $port = $_REQUEST['smtpPort'],
+    $helo = $_REQUEST['smtpDomains'],
+    $auth = filter_var($_REQUEST['smtpAuth'], FILTER_VALIDATE_BOOLEAN),
+    $user = $_REQUEST['smtpUser'],
+    $pass = $_REQUEST['smtpPassword'],
+    $from = $_REQUEST['smtpMailFrom']
+);
+
+$GLOBALS['mailer']->setFrom($from);
+$GLOBALS['mailer']->setSubject("Test smtp Maarch");
+$GLOBALS['mailer']->setHtml("Ceci est un email de test");
+$GLOBALS['mailer']->setHtmlCharset('utf-8');
+$GLOBALS['mailer']->setHeadCharset('utf-8');
+
+if ($_REQUEST['type'] == 'test') {
+    $return = $GLOBALS['mailer']->send(array($_REQUEST['smtpMailTo']), $_REQUEST['smtpType']);
+
+    if ($return == false) {
+        $return2['status'] = 2;
+        $return2['text'] = _SMTP_ERROR;
+
+        $jsonReturn = json_encode($return2);
+
+        echo $jsonReturn;
+        exit;
+    } else {
+        require_once 'install/class/Class_Install.php';
+    
+        setConfigSendmail_batch_config_Xml($from, $to, $host, $user, $pass, $_REQUEST['smtpType'], $port, $auth, $charset, $smtpSecure, $from, $_REQUEST['smtpDomains']);
+
+        setConfigNotification_batch_config_Xml($from, $to, $host, $user, $pass, $_REQUEST['smtpType'], $port, $auth, $charset, $smtpSecure, $from, $_REQUEST['smtpDomains']);
+
+        $return2['status'] = 2;
+        $return2['text'] = _SMTP_OK;
+
+        $jsonReturn = json_encode($return2);
+
+        echo $jsonReturn;
+        exit;
+    }
+} elseif ($_REQUEST['type'] == 'add') {
+    setConfigSendmail_batch_config_Xml($from, $to, $host, $user, $pass, $_REQUEST['smtpType'], $port, $auth, $charset, $smtpSecure, $from, $_REQUEST['smtpDomains']);
+
+    setConfigNotification_batch_config_Xml($from, $to, $host, $user, $pass, $_REQUEST['smtpType'], $port, $auth, $charset, $smtpSecure, $from, $_REQUEST['smtpDomains']);
+
+    $return2['status'] = 2;
+    $return2['text'] = _INFO_SMTP_OK;
+
+    $jsonReturn = json_encode($return2);
+
+    echo $jsonReturn;
+    exit;
+}
diff --git a/install/view/smtp_view.php b/install/view/smtp_view.php
index 2f86c8ade84..974cafd9023 100755
--- a/install/view/smtp_view.php
+++ b/install/view/smtp_view.php
@@ -28,12 +28,9 @@
 * @ingroup install
 */
 ?>
-<!--script type="text/javascript" src="js/prototype.js"></script-->
-<script>
-   
-    function envoiMailTestSmtp(url,type,smtpHost,smtpType,smtpPort,smtpUser,smtpPassword,smtpAuth,smtpMailTo,smtpDomains,smtpMailFrom){
-        //alert(type);
 
+<script>
+    function envoiMailTestSmtp(url, type, smtpHost, smtpType, smtpPort, smtpUser, smtpPassword, smtpAuth, smtpMailTo, smtpDomains, smtpMailFrom) {
         $(document).ready(function() {
             var oneIsEmpty = false;
             if (smtpHost.length < 1) {
@@ -45,12 +42,6 @@
             if (smtpPort.length < 1) {
                 var oneIsEmpty = true;
             }
-            // if (smtpUser.length < 1) {
-            //     var oneIsEmpty = true;
-            // }
-            // if (smtpPassword.length < 1) {
-            //     var oneIsEmpty = true;
-            // }
             if (smtpAuth.length < 1) {
                 var oneIsEmpty = true;
             }
@@ -65,37 +56,34 @@
                 $('#ajaxReturn_testConnect_ko').html('<?php echo _ONE_FIELD_EMPTY;?>');
                 return;
             }
-            $('.wait').css('display','block');
+            $('.wait').css('display', 'block');
             $('#ajaxReturn_testConnect_ko').html('');
 
             ajaxDB(
                 'testSmtp',
-                    'type|'+type
-                  +'|smtpHost|'+smtpHost
-                  +'|smtpType|'+smtpType
-                  +'|smtpPort|'+smtpPort
-                  +'|smtpUser|'+smtpUser
-                  +'|smtpPassword|'+smtpPassword
-                  +'|smtpAuth|'+smtpAuth
-                  +'|smtpMailTo|'+smtpMailTo
-                  +'|smtpDomains|'+smtpDomains
-                  +'|smtpMailFrom|'+smtpMailFrom,
+                'type|' + type +
+                '|smtpHost|' + smtpHost +
+                '|smtpType|' + smtpType +
+                '|smtpPort|' + smtpPort +
+                '|smtpUser|' + smtpUser +
+                '|smtpPassword|' + smtpPassword +
+                '|smtpAuth|' + smtpAuth +
+                '|smtpMailTo|' + smtpMailTo +
+                '|smtpDomains|' + smtpDomains +
+                '|smtpMailFrom|' + smtpMailFrom,
                 'ajaxReturn_testConnect',
                 'false'
             );
 
             if (!oneIsEmpty) {
                 $('#ajaxReturn_testConnect_ok').html('<?php echo "connexion ok";?>');
+                $('.wait').css('display', 'none');
                 return;
             }
-
         });
- 
-
     }
-
-
 </script>
+
 <div class="blockWrapper">
     <div class="titleBlock">
         <h2 onClick="slide('configNotificationSendmail');" style="cursor: pointer;">
@@ -117,45 +105,51 @@
                             :
                         </td>
                         <td>
-                            <input type="text" name="smtpHost" id="smtpHost" value="ssl://smtp.yourdomain.com"/>
+                            <input type="text" name="smtpHost" id="smtpHost" value="ssl://smtp.yourdomain.com" />
+                        </td>
+                        <td>
+                            <FONT COLOR="#7F8FA6"><i>exemple: ssl://smtp.gmail.com; smtp2.example.com</i></FONT>
                         </td>
-                        <td><FONT COLOR="#7F8FA6" ><i>exemple: ssl://smtp.gmail.com; smtp2.example.com</i></FONT></td>
                     </tr>
                     <tr>
-                        <td><?php echo _SMTP_TYPE;?></td>
+                        <td><?php echo _SMTP_TYPE;?>
+                        </td>
                         <td>:</td>
-                        <td><!--input type="text" name="smtpType" id="smtpType" value="smtp"/-->
+                        <td>
                             <SELECT name="smtpType" id="smtpType">
                                 <OPTION selected>smtp
                                 <OPTION>sendmail
                                 <OPTION>mail
                             </SELECT>
                         </td>
-                        <td><FONT COLOR="#7F8FA6" ><i><?php echo _SENDER_TYPE ?></i></FONT></td>
+                        <td>
+                            <FONT COLOR="#7F8FA6"><i><?php echo _SENDER_TYPE ?></i></FONT>
+                        </td>
                     </tr>
                     <tr>
-                        <td><?php echo _SMTP_PORT;?></td>
+                        <td><?php echo _SMTP_PORT;?>
+                        </td>
                         <td>:</td>
-                        <td><input type="text" name="smtpPort" id="smtpPort" value="465"/></td>
+                        <td><input type="text" name="smtpPort" id="smtpPort" value="465" /></td>
                     </tr>
                     <tr>
-                        <td><?php echo _SMTP_USER;?></td>
+                        <td><?php echo _SMTP_USER;?>
+                        </td>
                         <td>:</td>
-                        <td><input type="text" name="smtpUser" id="smtpUser" value="server@yourdomain.com"/></td>
-                        <td><FONT COLOR="#7F8FA6" ><i><?php echo _SMTP_USER_CONNECT;?></i></FONT></td>
+                        <td><input type="text" name="smtpUser" id="smtpUser" value="server@yourdomain.com" /></td>
+                        <td>
+                            <FONT COLOR="#7F8FA6"><i><?php echo _SMTP_USER_CONNECT;?></i></FONT>
+                        </td>
                     </tr>
                     <tr>
-                        <td><?php echo _SMTP_PASSWORD;?></td>
+                        <td><?php echo _SMTP_PASSWORD;?>
+                        </td>
                         <td>:</td>
-                        <td><input type="password" name="smtpPassword" id="smtpPassword" value="password"/></td>
+                        <td><input type="password" name="smtpPassword" id="smtpPassword" value="password" /></td>
                     </tr>
-                    <!--tr>
-                        <td><?php echo _SMTP_AUTH;?></td>
-                        <td>:</td>
-                        <td><input type="text" name="smtpAuth" id="smtpAuth" value="true or false"/></td>
-                    </tr-->
                     <tr>
-                        <td><?php echo _SMTP_AUTH;?></td>
+                        <td><?php echo _SMTP_AUTH;?>
+                        </td>
                         <td>:</td>
                         <td>
                             <SELECT name="smtpAuth" id="smtpAuth">
@@ -164,44 +158,41 @@
                             </SELECT>
                         </td>
                     </tr>
-                    <!--tr>
-                        <td><?php echo _SMTP_CHARSET;?></td>
-                        <td>:</td>
-                        <td><input type="text" name="smtpCharset" id="smtpCharset" value="utf-8"/></td>
-                    </tr-->
                     <tr>
-                        <td><?php echo _SMTP_DOMAINS;?></td>
+                        <td><?php echo _SMTP_DOMAINS;?>
+                        </td>
                         <td>:</td>
-                        <td><input type="text" name="smtpDomains" id="smtpDomains" value="gmail"/></td>
+                        <td><input type="text" name="smtpDomains" id="smtpDomains" value="gmail" /></td>
                     </tr>
                     <tr>
-                        <td><?php echo _SMTP_MAILFROM;?></td>
+                        <td><?php echo _SMTP_MAILFROM;?>
+                        </td>
                         <td>:</td>
-                        <td><input type="text" name="smtpMailFrom" id="smtpMailFrom" value="notifications@maarch.fr"/></td>
+                        <td><input type="text" name="smtpMailFrom" id="smtpMailFrom" value="notifications@maarch.fr" /></td>
                     </tr>
                     <tr>
-                        <td><?php echo _SMTP_MAILTO;?></td>
+                        <td><?php echo _SMTP_MAILTO;?>
+                        </td>
                         <td>:</td>
-                        <td><input type="text" name="smtpMailTo" id="smtpMailTo" value="example@domain.com"/></td>
-                        <td><FONT COLOR="#7F8FA6" ><i><?php echo _SMTP_MAILTO_BOX;?></i></FONT></td>
+                        <td><input type="text" name="smtpMailTo" id="smtpMailTo" value="example@domain.com" /></td>
+                        <td>
+                            <FONT COLOR="#7F8FA6"><i><?php echo _SMTP_MAILTO_BOX;?></i></FONT>
+                        </td>
                     </tr>
 
                     <tr>
                         <td></td>
                         <td></td>
                         <td>
-                            <input type="button" id="ajaxReturn_testConnect_button" onClick="$('.wait').css('display','block');envoiMailTestSmtp( 'testSmtp','test', $('#smtpHost').val(), $('#smtpType').val(), $('#smtpPort').val(), $('#smtpUser').val(), $('#smtpPassword').val(), $('#smtpAuth').val(), $('#smtpMailTo').val(), $('#smtpDomains').val(), $('#smtpMailFrom').val());" value="<?php echo _VERIF_SMTP;?>"/>
+                            <input type="button" id="ajaxReturn_testConnect_button" onClick="$('.wait').css('display','block');envoiMailTestSmtp( 'testSmtp','test', $('#smtpHost').val(), $('#smtpType').val(), $('#smtpPort').val(), $('#smtpUser').val(), $('#smtpPassword').val(), $('#smtpAuth').val(), $('#smtpMailTo').val(), $('#smtpDomains').val(), $('#smtpMailFrom').val());" value="<?php echo _VERIF_SMTP;?>" />
                         </td>
-                        <!-- <td>
-                            <input type="button" id="ajaxReturn_testConnect_button" onClick="$('.wait').css('display','block');envoiMailTestSmtp( 'testSmtp','add', $('#smtpHost').val(), $('#smtpType').val(), $('#smtpPort').val(), $('#smtpUser').val(), $('#smtpPassword').val(), $('#smtpAuth').val(), $('#smtpMailTo').val(), $('#smtpDomains').val(), $('#smtpMailFrom').val());" value="<?php echo _ADD_INFO_SMTP;?>"/>
-                        </td> -->
                     </tr>
                 </table>
             </form>
             <br />
             <div id="ajaxReturn_testConnect_ko"></div>
             <div align="center">
-                    <img src="img/wait.gif" width="100" class="wait" style="display: none; background-color: rgba(0, 0, 0, 0.2);"/>
+                <img src="img/wait.gif" width="100" class="wait" style="display: none; background-color: rgba(0, 0, 0, 0.2);" />
             </div>
             <div id="ajaxReturn_testConnect_ok"></div>
         </p>
@@ -212,31 +203,15 @@
     <div class="contentBlock" id="docservers">
         <p>
             <div id="buttons">
-                <!--div style="float: left;" class="previousButton" id="previous">
-                    <a href="#" onClick="goTo('index.php?step=docservers');" style="display:none;">
-                        <?php echo _PREVIOUS;?>
-                    </a>
-                </div-->
-                <!--div style="float: left;" class="previousButton" id="next">
-                    <a href="#" onClick="goTo('index.php?step=password');" id="ajaxReturn_testConnect" >
-                        <?php echo "Sauter étape";?>
-                    </a>
-                </div-->
-                <!--div style="float: right;" class="nextButton" id="next">
-                    <a href="#" onClick="goTo('index.php?step=password');" id="ajaxReturn_testConnect">
-                        <?php echo _NEXT;?>
-                    </a>
-                </div-->
                 <div style="float: right;" class="nextButton" id="next">
-                <a href="#" onClick="envoiMailTestSmtp( 'testSmtp','add', $('#smtpHost').val(), $('#smtpType').val(), $('#smtpPort').val(), $('#smtpUser').val(), $('#smtpPassword').val(), $('#smtpAuth').val(), $('#smtpMailTo').val(), $('#smtpDomains').val(), $('#smtpMailFrom').val());goTo('index.php?step=password');">
+                    <a href="#" onClick="envoiMailTestSmtp( 'testSmtp','add', $('#smtpHost').val(), $('#smtpType').val(), $('#smtpPort').val(), $('#smtpUser').val(), $('#smtpPassword').val(), $('#smtpAuth').val(), $('#smtpMailTo').val(), $('#smtpDomains').val(), $('#smtpMailFrom').val());goTo('index.php?step=password');">
                         <?php echo _NEXT_INSTALL;?>
                     </a>
                 </div>
-                
+
             </div>
             <br />
             <br />
         </p>
     </div>
-</div>
-
+</div>
\ No newline at end of file
-- 
GitLab