|
From: <go...@us...> - 2013-11-20 18:30:30
|
Revision: 12230
http://sourceforge.net/p/xoops/svn/12230
Author: goffy
Date: 2013-11-20 18:30:26 +0000 (Wed, 20 Nov 2013)
Log Message:
-----------
fixed bug concerning attachements (horst/goffy)
cleaned up code
Modified Paths:
--------------
XoopsModules/xnewsletter/trunk/xNewsletter/include/task.inc.php
Modified: XoopsModules/xnewsletter/trunk/xNewsletter/include/task.inc.php
===================================================================
--- XoopsModules/xnewsletter/trunk/xNewsletter/include/task.inc.php 2013-11-19 18:30:35 UTC (rev 12229)
+++ XoopsModules/xnewsletter/trunk/xNewsletter/include/task.inc.php 2013-11-20 18:30:26 UTC (rev 12230)
@@ -70,7 +70,6 @@
$subscribers = $xoopsDB->query($sql) or die();
while ($subscriber = $xoopsDB->fetchArray($subscribers)) {
- //echo "subscr_email:".$subscriber["subscr_email"]
$subscr_id = $subscriber["subscr_id"];
if ($op == 'resend_letter') {
//read subscribers, where send failed
@@ -137,7 +136,7 @@
require_once( XOOPS_ROOT_PATH."/class/mail/phpmailer/class.pop3.php" );
require_once( XOOPS_ROOT_PATH."/class/mail/phpmailer/class.smtp.php" );
- global $XoopsTpl, $xoopsDB, $xoopsUser, $letterHandler, $accountsHandler, $subscrHandler, $attachmentHandler;
+ global $XoopsTpl, $xoopsDB, $xoopsUser, $letterHandler, $accountsHandler, $subscrHandler, $attachmentHandler, $xoopsModuleConfig;
$protocolHandler =& xoops_getModuleHandler("xNewsletter_protocol", "xNewsletter");
@@ -150,7 +149,6 @@
if (!is_dir($template_path)) $template_path = XNEWSLETTER_PATH.'/language/english/templates/';
if (!is_dir($template_path)) {
return str_replace("%p",$template_path, _AM_XNEWSLETTER_SEND_ERROR_INALID_TEMPLATE_PATH);
- //redirect_header("letter.php", 5, str_replace("%p",$template_path, _AM_XNEWSLETTER_SEND_ERROR_INALID_TEMPLATE_PATH));
}
//get letters ready to send groups by letter_id
@@ -159,7 +157,6 @@
$sql .= " GROUP BY `task_letter_id`";
if (!$task_letters = $xoopsDB->query($sql))
{
- //ToDo Protocol
return _AM_XNEWSLETTER_SEND_ERROR_NO_LETTERID;
}
@@ -170,18 +167,14 @@
$obj_letter =& $letterHandler->get($letter_id);
if (count($obj_letter)==0)
{
- //ToDo Protocol
return _AM_XNEWSLETTER_SEND_ERROR_NO_LETTERID;
- //redirect_header("letter.php", 3, _AM_XNEWSLETTER_SEND_ERROR_NO_LETTERID);
}
//read categories
$letter_cats = $obj_letter->getVar("letter_cats");
if ( $letter_cats == "") //no cats
{
- //ToDo Protocol
return _MA_XNEWSLETTER_LETTER_NONEAVAIL;
- //redirect_header("letter.php", 3, _MA_XNEWSLETTER_LETTER_NONEAVAIL);
}
//read data of account
@@ -201,7 +194,6 @@
$tpl = new XoopsTpl();
$tpl->assign('content', $letter_content);
- //$tpl->assign('unsubscribe_url', XOOPS_URL.'/modules/xNewsletter/');
// read template
$letter_template = $obj_letter->getVar("letter_template");
@@ -210,12 +202,10 @@
$recipients = array();
$sql_tasklist = "SELECT `task_id`, `task_subscr_id` FROM ".$xoopsDB->prefix('mod_xnewsletter_task')." WHERE ((`task_letter_id`= ".$letter_id.") AND (`task_starttime` < ".time()."))";
if (!$task_letters = $xoopsDB->query($sql_tasklist)) {
- //ToDo Protocol
return $task_letters->getErrors();
}
$recipients = array();
while ($task_letter = $xoopsDB->fetchArray($task_letters)) {
- //echo "<br/>letter_id:".$letter_id." subcr_id:".$task_letter["task_subscr_id"];
$subscr_id = $task_letter["task_subscr_id"];
$task_id = $task_letter["task_id"];
if ($subscr_id==0) {
@@ -233,32 +223,24 @@
$sql_subscr = "SELECT * FROM ".$xoopsDB->prefix('mod_xnewsletter_subscr')." WHERE `subscr_id`= ".$subscr_id;
if (!$task_subscrs = $xoopsDB->query($sql_subscr))
{
- //ToDo Protocol
return $task_subscrs->getErrors();
}
- //while ($subscriber = $xoopsDB->fetchArray($task_subscrs)) {
- //echo " email:".$subscriber["subscr_email"];
- $subscriber = $xoopsDB->fetchArray($task_subscrs);
- $recipients[] = array(
- "task_id" => $task_id,
- "address" => $subscriber["subscr_email"],
- "firstname" => $subscriber["subscr_firstname"],
- "lastname" => $subscriber["subscr_lastname"],
- "subscr_sex" => $subscriber["subscr_sex"],
- "subscriber_id" => $subscriber["subscr_id"],
- "subscriber_actkey" => $subscriber["subscr_actkey"]
- );
- //echo "<br/>count:".count($recipients)." address:".$subscriber["subscr_email"]." firstname:".$subscriber["subscr_firstname"]." lastname:".$subscriber["subscr_lastname"]." subscr_sex:".$subscriber["subscr_sex"]." subscriber_id:".$subscriber["subscr_id"]." subscriber_actkey:".$subscriber["subscr_actkey"];
-
- //}
+ $subscriber = $xoopsDB->fetchArray($task_subscrs);
+ $recipients[] = array(
+ "task_id" => $task_id,
+ "address" => $subscriber["subscr_email"],
+ "firstname" => $subscriber["subscr_firstname"],
+ "lastname" => $subscriber["subscr_lastname"],
+ "subscr_sex" => $subscriber["subscr_sex"],
+ "subscriber_id" => $subscriber["subscr_id"],
+ "subscriber_actkey" => $subscriber["subscr_actkey"]
+ );
}
if ($xn_send_in_packages > 0 && count($recipients)==$xn_send_in_packages) break;
}
if (count($recipients) == 0) {
- //ToDo Protocol
- //return _AM_XNEWSLETTER_SEND_ERROR_NO_SUBSCR;
return null;
}
@@ -271,14 +253,15 @@
if ($att_numrows > 0) {
$attachment_arr = $attachmentHandler->getall($attachment_crit);
foreach (array_keys($attachment_arr) as $attid) {
- $uploaddir = XOOPS_UPLOAD_PATH.$xoopsModuleConfig['xn_attachment_path'].$letter_id."/";
+ $uploaddir = XOOPS_UPLOAD_PATH.$xoopsModuleConfig['xn_attachment_path'];
+ if (substr($uploaddir, -1)!="/") $uploaddir .= "/"; //check, whether path seperator is existing
+ $uploaddir .= $letter_id."/";
$attachments[] = $uploaddir.$attachment_arr[$attid]->getVar("attachment_name");
}
} else {
$attachments = array();
}
- //$senderuid = $xoopsUser->uid(); //ToDo
$senderuid = (is_object($xoopsUser) && isset($xoopsUser)) ? $xoopsUser->uid(): 0;
$count_total = 0;
$count_err = 0;
@@ -321,8 +304,6 @@
$mail->AddReplyTo($account_yourmail, $account_yourname);
$mail->Subject = $letter_title;
-
-
foreach ($recipients as $recipient) {
$subscriber_id = $recipient["subscriber_id"];
@@ -347,11 +328,15 @@
$mail->AltBody = strip_tags($body . "\n" . $link);
foreach ($attachments as $attachment) {
- if ( file_exists($attachment)) $mail->AddAttachment($attachment);
+ if ( file_exists($attachment)) {
+ $mail->AddAttachment($attachment);
+ echo "<br>att exist:".$attachment;
+ } else {
+ echo "<br>att not exist:".$attachment;
+ }
}
$count_total ++;
if ( $mail->Send()) {
- //$protocol_status = _AM_XNEWSLETTER_SEND_SUCCESS;
if ($subscriber_id == 0) {
$protocol_status = _AM_XNEWSLETTER_SEND_SUCCESS_TEST." (".$recipient["address"].")";
} else {
@@ -432,7 +417,7 @@
echo $obj_protocol->getHtmlErrors();
}
unset($obj_protocol);
-
+
return $protocol_status;
}
|