BUG-12282 attach documents into emails using original name doesn't work SOLVED
- Cuando se esta enviando un email y guardar el mismo los attach documents se guardaban como cadenas solo con el path. - se cambio la forma de guardado desde ahora se guarda un serializado de los datos donde puede haber un array asociativo donde si el key es numerico envia sin nombre y si tuviera otro valor lo asocia como el nombre del file en el email.
This commit is contained in:
@@ -138,10 +138,8 @@ class spoolRun
|
||||
*/
|
||||
public function create ($aData)
|
||||
{
|
||||
if (is_array($aData['app_msg_attach'])) {
|
||||
$attachment = implode(",", $aData['app_msg_attach']);
|
||||
$aData['app_msg_attach'] = $attachment;
|
||||
}
|
||||
$attachment = (is_array($aData['app_msg_attach'])) ? $aData['app_msg_attach'] : unserialize($aData['app_msg_attach']);
|
||||
$aData['app_msg_attach'] = serialize($attachment);
|
||||
$aData['app_msg_show_message'] = (isset($aData['app_msg_show_message'])) ? $aData['app_msg_show_message'] : 1;
|
||||
$sUID = $this->db_insert( $aData );
|
||||
|
||||
@@ -184,7 +182,7 @@ class spoolRun
|
||||
$this->fileData['cc'] = $sCC;
|
||||
$this->fileData['bcc'] = $sBCC;
|
||||
$this->fileData['template'] = $sTemplate;
|
||||
$this->fileData['attachments'] = is_array( $aAttachment ) ? $aAttachment : ($aAttachment != '' ? explode( ',', $aAttachment ) : array ());
|
||||
$this->fileData['attachments'] = is_string($aAttachment) ? $aAttachment : (is_array($aAttachment) ? $aAttachment : (($aAttachment != '') ? explode(',', $aAttachment) : array()));
|
||||
$this->fileData['envelope_to'] = array ();
|
||||
$this->fileData["contentTypeIsHtml"] = $bContentTypeIsHtml;
|
||||
|
||||
@@ -443,8 +441,13 @@ class spoolRun
|
||||
|
||||
$oPHPMailer->Body = $msBody;
|
||||
|
||||
if (is_array( $this->fileData['attachments'] )) {
|
||||
foreach ($this->fileData['attachments'] as $key => $fileAttach) {
|
||||
if (is_array($this->fileData['attachments'])) {
|
||||
$attachment = $this->fileData['attachments'];
|
||||
} else {
|
||||
$attachment = unserialize($this->fileData['attachments']);
|
||||
}
|
||||
if (is_array($attachment)) {
|
||||
foreach ($attachment as $key => $fileAttach) {
|
||||
if (file_exists( $fileAttach )) {
|
||||
$oPHPMailer->AddAttachment( $fileAttach, is_int( $key ) ? '' : $key );
|
||||
}
|
||||
|
||||
@@ -173,37 +173,16 @@ if ($actionAjax == 'sendMailMessage_JXP') {
|
||||
$_POST['APP_MSG_UID'] = $_REQUEST['APP_MSG_UID'];
|
||||
|
||||
G::LoadClass( 'case' );
|
||||
$oCase = new Cases();
|
||||
|
||||
require_once 'classes/model/Configuration.php';
|
||||
G::LoadClass( 'spool' );
|
||||
|
||||
$oCase = new Cases();
|
||||
$data = $oCase->getHistoryMessagesTrackerView( $_POST['APP_UID'], $_POST['APP_MSG_UID'] );
|
||||
//print_r($data);
|
||||
|
||||
G::LoadClass("system");
|
||||
|
||||
$oConfiguration = new Configuration();
|
||||
$sDelimiter = DBAdapter::getStringDelimiter();
|
||||
$oCriteria = new Criteria( 'workflow' );
|
||||
$oCriteria->add( ConfigurationPeer::CFG_UID, 'Emails' );
|
||||
$oCriteria->add( ConfigurationPeer::OBJ_UID, '' );
|
||||
$oCriteria->add( ConfigurationPeer::PRO_UID, '' );
|
||||
$oCriteria->add( ConfigurationPeer::USR_UID, '' );
|
||||
$oCriteria->add( ConfigurationPeer::APP_UID, '' );
|
||||
if (ConfigurationPeer::doCount( $oCriteria ) == 0) {
|
||||
$oConfiguration->create( array ('CFG_UID' => 'Emails','OBJ_UID' => '','CFG_VALUE' => '','PRO_UID' => '','USR_UID' => '','APP_UID' => ''
|
||||
) );
|
||||
$aConfiguration = array ();
|
||||
} else {
|
||||
$aConfiguration = $oConfiguration->load( 'Emails', '', '', '', '' );
|
||||
if ($aConfiguration['CFG_VALUE'] != '') {
|
||||
$aConfiguration = unserialize( $aConfiguration['CFG_VALUE'] );
|
||||
} else {
|
||||
$aConfiguration = array ();
|
||||
}
|
||||
}
|
||||
$passwd = $aConfiguration['MESS_PASSWORD'];
|
||||
$aSetup = System::getEmailConfiguration();
|
||||
|
||||
$passwd = $aSetup['MESS_PASSWORD'];
|
||||
$passwdDec = G::decrypt( $passwd, 'EMAILENCRYPT' );
|
||||
$auxPass = explode( 'hash:', $passwdDec );
|
||||
if (count( $auxPass ) > 1) {
|
||||
@@ -214,16 +193,25 @@ if ($actionAjax == 'sendMailMessage_JXP') {
|
||||
$passwd = implode( '', $auxPass );
|
||||
}
|
||||
}
|
||||
$aConfiguration['MESS_PASSWORD'] = $passwd;
|
||||
$aSetup['MESS_PASSWORD'] = $passwd;
|
||||
if ($aSetup['MESS_RAUTH'] == false || (is_string($aSetup['MESS_RAUTH']) && $aSetup['MESS_RAUTH'] == 'false')) {
|
||||
$aSetup['MESS_RAUTH'] = 0;
|
||||
} else {
|
||||
$aSetup['MESS_RAUTH'] = 1;
|
||||
}
|
||||
|
||||
$oSpool = new spoolRun();
|
||||
if ($aConfiguration['MESS_RAUTH'] == false || (is_string($aConfiguration['MESS_RAUTH']) && $aConfiguration['MESS_RAUTH'] == 'false')) {
|
||||
$aConfiguration['MESS_RAUTH'] = 0;
|
||||
} else {
|
||||
$aConfiguration['MESS_RAUTH'] = 1;
|
||||
}
|
||||
$oSpool->setConfig( array ('MESS_ENGINE' => $aConfiguration['MESS_ENGINE'],'MESS_SERVER' => $aConfiguration['MESS_SERVER'],'MESS_PORT' => $aConfiguration['MESS_PORT'],'MESS_ACCOUNT' => $aConfiguration['MESS_ACCOUNT'],'MESS_PASSWORD' => $passwd,'SMTPAuth' => $aConfiguration['MESS_RAUTH']
|
||||
) );
|
||||
$oSpool->setConfig(
|
||||
array (
|
||||
'MESS_ENGINE' => $aSetup['MESS_ENGINE'],
|
||||
'MESS_SERVER' => $aSetup['MESS_SERVER'],
|
||||
'MESS_PORT' => $aSetup['MESS_PORT'],
|
||||
'MESS_ACCOUNT' => $aSetup['MESS_ACCOUNT'],
|
||||
'MESS_PASSWORD' => $aSetup['MESS_PASSWORD'],
|
||||
'SMTPSecure' => $aSetup['SMTPSecure'],
|
||||
'SMTPAuth' => $aSetup['MESS_RAUTH']
|
||||
)
|
||||
);
|
||||
|
||||
$oSpool->create( array ('msg_uid' => $data['MSG_UID'],'app_uid' => $data['APP_UID'],'del_index' => $data['DEL_INDEX'],'app_msg_type' => $data['APP_MSG_TYPE'],'app_msg_subject' => $data['APP_MSG_SUBJECT'],'app_msg_from' => $data['APP_MSG_FROM'],'app_msg_to' => $data['APP_MSG_TO'],'app_msg_body' => $data['APP_MSG_BODY'],'app_msg_cc' => $data['APP_MSG_CC'],'app_msg_bcc' => $data['APP_MSG_BCC'],'app_msg_attach' => $data['APP_MSG_ATTACH'],'app_msg_template' => $data['APP_MSG_TEMPLATE'],'app_msg_status' => 'pending'
|
||||
) );
|
||||
|
||||
@@ -757,37 +757,11 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
//print_r($data);
|
||||
|
||||
|
||||
$oConfiguration = new Configuration();
|
||||
$sDelimiter = DBAdapter::getStringDelimiter();
|
||||
$oCriteria = new Criteria( 'workflow' );
|
||||
$oCriteria->add( ConfigurationPeer::CFG_UID, 'Emails' );
|
||||
$oCriteria->add( ConfigurationPeer::OBJ_UID, '' );
|
||||
$oCriteria->add( ConfigurationPeer::PRO_UID, '' );
|
||||
$oCriteria->add( ConfigurationPeer::USR_UID, '' );
|
||||
$oCriteria->add( ConfigurationPeer::APP_UID, '' );
|
||||
if (ConfigurationPeer::doCount( $oCriteria ) == 0) {
|
||||
$oConfiguration->create( array ('CFG_UID' => 'Emails','OBJ_UID' => '','CFG_VALUE' => '','PRO_UID' => '','USR_UID' => '','APP_UID' => ''
|
||||
) );
|
||||
$aConfiguration = array ();
|
||||
} else {
|
||||
$aConfiguration = $oConfiguration->load( 'Emails', '', '', '', '' );
|
||||
if ($aConfiguration['CFG_VALUE'] != '') {
|
||||
$aConfiguration = unserialize( $aConfiguration['CFG_VALUE'] );
|
||||
} else {
|
||||
$aConfiguration = array ();
|
||||
}
|
||||
}
|
||||
G::LoadClass("system");
|
||||
|
||||
$oSpool = new spoolRun();
|
||||
if ($aConfiguration['MESS_RAUTH'] == false || (is_string($aConfiguration['MESS_RAUTH']) && $aConfiguration['MESS_RAUTH'] == 'false')) {
|
||||
$aConfiguration['MESS_RAUTH'] = 0;
|
||||
} else {
|
||||
$aConfiguration['MESS_RAUTH'] = 1;
|
||||
}
|
||||
$aSetup = System::getEmailConfiguration();
|
||||
|
||||
$oSpool->setConfig( array ('MESS_ENGINE' => $aConfiguration['MESS_ENGINE'],'MESS_SERVER' => $aConfiguration['MESS_SERVER'],'MESS_PORT' => $aConfiguration['MESS_PORT'],'MESS_ACCOUNT' => $aConfiguration['MESS_ACCOUNT'],'MESS_PASSWORD' => $aConfiguration['MESS_PASSWORD'],'SMTPAuth' => $aConfiguration['MESS_RAUTH']
|
||||
) );
|
||||
$passwd = $oSpool->config['MESS_PASSWORD'];
|
||||
$passwd = $aSetup['MESS_PASSWORD'];
|
||||
$passwdDec = G::decrypt( $passwd, 'EMAILENCRYPT' );
|
||||
$auxPass = explode( 'hash:', $passwdDec );
|
||||
if (count( $auxPass ) > 1) {
|
||||
@@ -798,7 +772,25 @@ switch (($_POST['action']) ? $_POST['action'] : $_REQUEST['action']) {
|
||||
$passwd = implode( '', $auxPass );
|
||||
}
|
||||
}
|
||||
$oSpool->config['MESS_PASSWORD'] = $passwd;
|
||||
$aSetup['MESS_PASSWORD'] = $passwd;
|
||||
if ($aSetup['MESS_RAUTH'] == false || (is_string($aSetup['MESS_RAUTH']) && $aSetup['MESS_RAUTH'] == 'false')) {
|
||||
$aSetup['MESS_RAUTH'] = 0;
|
||||
} else {
|
||||
$aSetup['MESS_RAUTH'] = 1;
|
||||
}
|
||||
|
||||
$oSpool = new spoolRun();
|
||||
$oSpool->setConfig(
|
||||
array (
|
||||
'MESS_ENGINE' => $aSetup['MESS_ENGINE'],
|
||||
'MESS_SERVER' => $aSetup['MESS_SERVER'],
|
||||
'MESS_PORT' => $aSetup['MESS_PORT'],
|
||||
'MESS_ACCOUNT' => $aSetup['MESS_ACCOUNT'],
|
||||
'MESS_PASSWORD' => $aSetup['MESS_PASSWORD'],
|
||||
'SMTPSecure' => $aSetup['SMTPSecure'],
|
||||
'SMTPAuth' => $aSetup['MESS_RAUTH']
|
||||
)
|
||||
);
|
||||
$oSpool->create( array ('msg_uid' => $data['MSG_UID'],'app_uid' => $data['APP_UID'],'del_index' => $data['DEL_INDEX'],'app_msg_type' => $data['APP_MSG_TYPE'],'app_msg_subject' => $data['APP_MSG_SUBJECT'],'app_msg_from' => $data['APP_MSG_FROM'],'app_msg_to' => $data['APP_MSG_TO'],'app_msg_body' => $data['APP_MSG_BODY'],'app_msg_cc' => $data['APP_MSG_CC'],'app_msg_bcc' => $data['APP_MSG_BCC'],'app_msg_attach' => $data['APP_MSG_ATTACH'],'app_msg_template' => $data['APP_MSG_TEMPLATE'],'app_msg_status' => 'pending'
|
||||
) );
|
||||
$oSpool->sendMail();
|
||||
|
||||
Reference in New Issue
Block a user