-
Posts
1,200 -
Joined
-
Last visited
-
Days Won
18
Content Type
Profiles
Forums
Gallery
Downloads
Articles
Store
Blogs
Everything posted by SLiCK_303
-
I think a lot of people are going to have this issue, and have to do the manual update to 1.2.5
-
I wish I was smart enough to get this... to look like this.. The first is based on the default TB theme, the second my PS theme. Its one of the things making me not do the switch-over to TB
-
my other test site is still getting that error, without doing the manual upgrade to 1.2.5
-
yeah my php has it running...
-
weird :8ball:
-
must be my server then, cause i have two different subdomains setup with thritbees 1.0.3, and they both did the same thing
-
that worked
-
still getting the same error..
-
Never mind, I got it working by uninstalling then re-installing the module... :)
-
The dashboard Forecast doesn't seem to show any info, on either of my test sites....
-
I get the following error when I click on Check for Update when in the backoffice>modules, List of Modules.... Array ( ) END
-
it's all good, you removed it, I won't add it again, we're all good, I hope? ;) ITs a great module, you need to advertise it here. (in the modules thread of course) :)
-
sure, sure. It had no license either way I think. The top of newletteradmin.php is simply... /** * Send a Newsletter from the Prestashop Back-Office * @category admin * @author Eolia 2015 compatible PS >= 1.5.x.x ONLY ! * @version 5.8 * */
-
The zip above was of your free v5.8 openly distributed on the ps forums...
-
I'm sure you've modified quite a bit since the last free version. I just am hard pressed to spend money on a module, I have a limited income. To me, the software (ps or tb in this case) is free, so should the modules. I'm not having much luck however getting your free version working on TB, so maybe this will be the first module I'll actually end up buying. :)
-
The module does use it's own templates, or is supposed to anyways. The templates arent the issue, its getting the array of recipients, to send the mails off.
-
Here's my new code....except that line, line 68 maybe... ``` <?php // includeonce(dirname(FILE).'/../../../tools/swift/Swift.php'); // includeonce(dirname(FILE).'/../../../tools/swift/Swift/Connection/SMTP.php'); // includeonce(dirname(FILE).'/../../../tools/swift/Swift/Connection/NativeMail.php'); // includeonce(dirname(FILE).'/../../../tools/swift/Swift/Plugin/Decorator.php'); // includeonce(PSSWIFTDIR.'swiftrequired.php'); class NewsMail { const TYPEHTML = 1; const TYPETEXT = 2; const TYPE_BOTH = 3; public static function Send( $id_lang, $template, $subject, $template_vars, $to, $to_name = null, $from = null, $from_name = null, $file_attachment = null, $mode_smtp = null, $template_path, $die = false, $id_shop = null, $bcc = null, $configuration = null) { if($configuration == null) { $configuration = Configuration::getMultiple(array( 'PS_SHOP_EMAIL', 'PS_MAIL_METHOD', 'PS_MAIL_SERVER', 'PS_MAIL_USER', 'PS_MAIL_PASSWD', 'PS_SHOP_NAME', 'PS_MAIL_SMTP_ENCRYPTION', 'PS_MAIL_SMTP_PORT', 'PS_MAIL_TYPE', 'PS_MAIL_DOMAIN'), null, null, $id_shop); } if (!isset($configuration['PS_MAIL_SMTP_ENCRYPTION']) || Tools::strtolower($configuration['PS_MAIL_SMTP_ENCRYPTION']) === 'off') { $configuration['PS_MAIL_SMTP_ENCRYPTION'] = false; } if (!isset($configuration['PS_MAIL_SMTP_PORT'])) { $configuration['PS_MAIL_SMTP_PORT'] = 'default'; } //Verify the Return-Path if (!isset($address)) { $address = null; } if (!is_array($template_vars)) { $template_vars = array(); } /* Construct multiple recipients list if needed */ $to_list = new Swift_RecipientList(); $to_plugin = $to; $to_list->addTo($to, $to_name); $to = $to_list; try { /* Connect with the appropriate configuration */ if ($configuration['PS_MAIL_METHOD'] == 2) { if (empty($configuration['PS_MAIL_SERVER']) || empty($configuration['PS_MAIL_SMTP_PORT'])) { die('Error: invalid SMTP server or SMTP port'); } $connection = Swift_SmtpTransport::newInstance($configuration['PS_MAIL_SERVER'], $configuration['PS_MAIL_SMTP_PORT'], $configuration['PS_MAIL_SMTP_ENCRYPTION']); $connection->setTimeout(4); if (!$connection) return false; if (!empty($configuration['PS_MAIL_USER'])) $connection->setUsername($configuration['PS_MAIL_USER']); if (!empty($configuration['PS_MAIL_PASSWD'])) $connection->setPassword($configuration['PS_MAIL_PASSWD']); } else { $connection = Swift_MailTransport::newInstance(); } if (!$connection) { return false; } $swift = Swift_Mailer::newInstance($connection); /* Get templates content */ $template_html = file_get_contents(dirname(__FILE__).'/../mails/newsletter.html'); $template_txt = strip_tags(html_entity_decode(file_get_contents(dirname(__FILE__).'/../mails/newsletter.txt'), null, 'utf-8')); $message = new Swift_Message($subject); $message->setCharset('utf-8'); /* Set Message-ID - getmypid() is blocked on some hosting */ $message->setId(NewsMail::generateId()); /* set a return-path to manage bounces feedbacks*/ // if($address != null) // $message->headers->set("Return-Path", $address); $message->headers->setEncoding('Q'); $template_vars = array_merge($template_vars, $extra_template_vars); $swift->registerPlugin(new Swift_Plugins_DecoratorPlugin(array($to_plugin => $template_vars))); if ($configuration['PS_MAIL_TYPE'] == NewsMail::TYPE_BOTH || $configuration['PS_MAIL_TYPE'] == NewsMail::TYPE_TEXT) { $message->addPart($template_txt, 'text/plain', 'utf-8'); } if ($configuration['PS_MAIL_TYPE'] == NewsMail::TYPE_BOTH || $configuration['PS_MAIL_TYPE'] == NewsMail::TYPE_HTML) { $message->addPart($template_html, 'text/html', 'utf-8'); } /* Send mail */ $send = $swift->send($message, $to, new Swift_Address($from, $from_name)); $swift->disconnect(); return $send; } catch (Swift_Exception $e) { echo $e; return false; } } /* Rewrite of Swift_Message::generateId() without getmypid() */ protected static function generateId($idstring = null) { $midparams = array( "utctime" => gmstrftime("%Y%m%d%H%M%S"), "randint" => mt_rand(), "customstr" => (preg_match("/^(?<!\\.)[a-z0-9\\.]+(?!\\.)\$/iD", $idstring) ? $idstring : "swift") , "hostname" => ((isset($_SERVER["SERVER_NAME"]) && !empty($_SERVER["SERVER_NAME"])) ? $_SERVER["SERVER_NAME"] : php_uname("n")), ); return vsprintf("<%s.%d.%s@%s>", $midparams); } } ``` edit: file removed
-
I've fixed, I think, all other lines. Yes, if you try to include an old version of Swift, it simple says you cant redefine Swift
-
Then you're the perfect person to help me replace that one line of code I posted above... :)
-
Right it is now a paid module, the old free one, that I have, works on old PS 1.6.0.5 or so, before they changed the Swift package. Ive got it almost working, right upto the point you actually send the emails. grr.....
-
I think I have it, except a couple lines... what should this be changed to? $to_list = new Swift_RecipientList();
-
I narrowed it down to this file, it needs to utilize the new smarty, not the really old one ps used to use..... edit: file removed which looks like.... notice the includes on the top aren't correct, and I'm sure there must be calls into the file that are incorrect too.. ``` <?php includeonce(dirname(FILE).'/../../../tools/swift/Swift.php'); includeonce(dirname(FILE).'/../../../tools/swift/Swift/Connection/SMTP.php'); includeonce(dirname(FILE).'/../../../tools/swift/Swift/Connection/NativeMail.php'); includeonce(dirname(FILE).'/../../../tools/swift/Swift/Plugin/Decorator.php'); class NewsMail { const TYPEHTML = 1; const TYPETEXT = 2; const TYPE_BOTH = 3; public static function Send($id_lang, $template, $subject, $template_vars, $to, $to_name = null, $from = null, $from_name = null, $file_attachment = null, $mode_smtp = null, $template_path, $die = false, $id_shop = null, $bcc = null, $configuration = null) { if($configuration == null) { $configuration = Configuration::getMultiple(array( 'PS_SHOP_EMAIL', 'PS_MAIL_METHOD', 'PS_MAIL_SERVER', 'PS_MAIL_USER', 'PS_MAIL_PASSWD', 'PS_SHOP_NAME', 'PS_MAIL_SMTP_ENCRYPTION', 'PS_MAIL_SMTP_PORT', 'PS_MAIL_TYPE', 'PS_MAIL_DOMAIN' ), null, null, $id_shop); } if (!isset($configuration['PS_MAIL_SMTP_ENCRYPTION'])) $configuration['PS_MAIL_SMTP_ENCRYPTION'] = 'off'; if (!isset($configuration['PS_MAIL_SMTP_PORT'])) $configuration['PS_MAIL_SMTP_PORT'] = 'default'; //Verify the Return-Path if (!isset($address)) $address = null; if (!is_array($template_vars)) $template_vars = array(); /* Construct multiple recipients list if needed */ $to_list = new Swift_RecipientList(); $to_plugin = $to; $to_list->addTo($to, $to_name); $to = $to_list; try { /* Connect with the appropriate configuration */ if ($configuration['PS_MAIL_METHOD'] == 2) { if (empty($configuration['PS_MAIL_SERVER']) || empty($configuration['PS_MAIL_SMTP_PORT'])) { die('Error: invalid SMTP server or SMTP port'); } $connection = new Swift_Connection_SMTP($configuration['PS_MAIL_SERVER'], $configuration['PS_MAIL_SMTP_PORT'], ($configuration['PS_MAIL_SMTP_ENCRYPTION'] == 'ssl') ? Swift_Connection_SMTP::ENC_SSL : (($configuration['PS_MAIL_SMTP_ENCRYPTION'] == 'tls') ? Swift_Connection_SMTP::ENC_TLS : Swift_Connection_SMTP::ENC_OFF)); $connection->setTimeout(4); if (!$connection) return false; if (!empty($configuration['PS_MAIL_USER'])) $connection->setUsername($configuration['PS_MAIL_USER']); if (!empty($configuration['PS_MAIL_PASSWD'])) $connection->setPassword($configuration['PS_MAIL_PASSWD']); } else $connection = new Swift_Connection_NativeMail(); if (!$connection) return false; $swift = new Swift($connection, $configuration['PS_MAIL_DOMAIN']); /* Get templates content */ $template_html = file_get_contents(dirname(__FILE__).'/../mails/newsletter.html'); $template_txt = strip_tags(html_entity_decode(file_get_contents(dirname(__FILE__).'/../mails/newsletter.txt'), null, 'utf-8')); $message = new Swift_Message($subject); $message->setCharset('utf-8'); /* Set Message-ID - getmypid() is blocked on some hosting */ $message->setId(NewsMail::generateId()); /* set a return-path to manage bounces feedbacks*/ // if($address != null) // $message->headers->set("Return-Path", $address); $message->headers->setEncoding('Q'); $swift->attachPlugin(new Swift_Plugin_Decorator(array($to_plugin => $template_vars)), 'decorator'); if ($configuration['PS_MAIL_TYPE'] == NewsMail::TYPE_BOTH || $configuration['PS_MAIL_TYPE'] == NewsMail::TYPE_TEXT) $message->attach(new Swift_Message_Part($template_txt, 'text/plain', '8bit', 'utf-8')); if ($configuration['PS_MAIL_TYPE'] == NewsMail::TYPE_BOTH || $configuration['PS_MAIL_TYPE'] == NewsMail::TYPE_HTML) $message->attach(new Swift_Message_Part($template_html, 'text/html', '8bit', 'utf-8')); /* Send mail */ $send = $swift->send($message, $to, new Swift_Address($from, $from_name)); $swift->disconnect(); return $send; } catch (Swift_Exception $e) { echo $e; return false; } } /* Rewrite of Swift_Message::generateId() without getmypid() */ protected static function generateId($idstring = null) { $midparams = array( "utctime" => gmstrftime("%Y%m%d%H%M%S"), "randint" => mt_rand(), "customstr" => (preg_match("/^(?<!\\.)[a-z0-9\\.]+(?!\\.)\$/iD", $idstring) ? $idstring : "swift") , "hostname" => (isset($_SERVER["SERVER_NAME"]) ? $_SERVER["SERVER_NAME"] : php_uname("n")), ); return vsprintf("<%s.%d.%s@%s>", $midparams); } } ```
-
It lets you mail out newsletters right from the admin of the shop?
-
I wish I could get this newsletter module working in TB. It lets you send newsletters right from your site. It works, right up to the point that you tell it to send out a newsletter, then it white screens.... mdekker EDIT: attachment removed due to copyright