View Issue Details
15537 [phplist] HTML Email Support minor always 01-09-10 17:51 01-09-10 17:53
gfinkelstein  
 
high  
new 2.10.12  
open  
none    
none  
   
Domain name is not added in 'src' attribute in 'img' tags
When embedding an image with FCKeditor, the url of the image source is inserted as "/uploadimages/myimage.jpg" instead of "http://www.mydomain.com/uploadimages/myimage.jpg". [^] Workaround: In admin/FCKeditor/editor/filemanager/connectors/phplist/basexml.php line 56: Replace: echo '<CurrentFolder path="' . ConvertToXmlAttribute( $currentFolder ) . '" url="' . ConvertToXmlAttribute( GetUrlFromPath( $resourceType, $currentFolder, $command ) ) . '" />' ; With: $serverURL = "http://".$_SERVER['HTTP_HOST']; [^] echo '<CurrentFolder path="' . ConvertToXmlAttribute( $currentFolder ) . '" url="' . ConvertToXmlAttribute( $serverURL . GetUrlFromPath( $resourceType, $currentFolder, $command ) ) . '" />' ;
There are no notes attached to this issue.





View Issue Details
15511 [phplist] Plugin API feature N/A 04-07-10 02:18 01-09-10 16:44
h2b2  
 
normal  
new  
open  
none    
none  
   
Plugin: display statistics of message opens and bounces per message
Paul Brett developed a message statistics plugin, based on the usertrack method: ===== Start quote ===== I have developed a plugin that gives open & bounce statistics for a message. Also shows you exactly who has viewed the message (and who hasn't...as far as it's possible to tell). It only works for HTML messages - it's not possible to know who opened text messages. To enable open statistics you need to put the placeholder [USERTRACK] somewhere in your HTML message. A good idea is to put it in your default message footer via the configure page. ===== End quote ===== Related forum thread: http://forums.phplist.com/viewtopic.php?f=7&t=748 [^] Attached plugin: statistics_plugin.rar
Several improvements (not included in attached zip file) to this plugin were suggested in related forum thread: http://forums.phplist.com/viewtopic.php?f=7&t=748 [^]
statistics_plugin.rar (2,094) 04-07-10 02:19
http://mantis.phplist.com/file_download.php?file_id=3180&type=bug
statistics.tar.gz (2,473) 01-09-10 16:44
http://mantis.phplist.com/file_download.php?file_id=3186&type=bug
Notes
(0051084)
duncanc   
01-09-10 16:39   
I have taken the statistics plugin and tidied it up a bit, see attached screenshot: - automatically show the most recent message - provide a summary of statistics for each message to the list of messages - added paging through the list of messages and the lists of users who have viewed/not viewed a message, 50 at a time - added a link to download the list of users who have viewed the message





View Issue Details
15536 [phplist] Email major have not tried 31-08-10 10:57 31-08-10 16:28
osarrat  
 
normal  
new 2.10.12  
open  
none    
none  
   
Wrong encoding for text version through PhpMailer
UTF-8 was forced to encode the text version of the body of emails sent through PHPMailer. See attached patch file for more information. I hope it will be useful to someone.
class.phplistmailer.php.patch (1,529) 31-08-10 10:57
http://mantis.phplist.com/file_download.php?file_id=3185&type=bug
There are no notes attached to this issue.





View Issue Details
15535 [phplist] RSS major always 25-08-10 17:22 26-08-10 13:07
jeremyw  
 
normal  
new 2.11.5  
open  
none    
none  
   
RSS template not parsing correctly
[RSS] tag is not being replaced by RSS item data
1. Start a new message campaign, setup as an RSS template. 2. Include [RSS] in message body. I like to include some text above and below tag to anchor it so you can tell where it the RSS items *should* appear. 3. Send message. 4. For me, the result every time is that [RSS] is replaced with nothing. I've been trying to debug this, but I haven't a clue about where the problem is, except that I assume it's in admin/plugins/rssmanager.php. (It's a lot of work debugging RSS mailings, since there are so many conditions to be satisfied in order for a new RSS message to go out!) I can't even get most of the debugging messages I've been inserting to show up (or maybe I'm not looking in the right place???). Does it have something to do with $texttemplate and $htmltemplate? I can't tell.
Notes
(0051081)
h2b2   
26-08-10 12:25   
According to the announcement of v2.11.5, the RSS functionality has been removed from the main code base in order to move it to a plugin. ref: http://www.phplist.com/?lid=442 I'm not sure whether the new RSS plugin has already been developed.
(0051082)
jeremyw   
26-08-10 12:34   
I believe I'm talking about the plugin, which resides in admin/plugins/rssmanager.php.
(0051083)
jeremyw   
26-08-10 13:07   
I don't know why I phrased my last comment like that; I'm sure I'm talking about the plugin. Obviously most of the RSS functionality is there -- supplied by plugins/rssmanager.php and plugins/rssmanager/*.php -- but some aspects are broken or missing. (The parsing, from what I can determine, is broken. Other features, like the ability to properly configure the plugin, would seem to be missing.)





View Issue Details
15530 [phplist] Message Send Process minor have not tried 20-08-10 04:08 26-08-10 02:35
ruddcl  
 
normal  
new 2.11.5  
open  
none    
none  
   
Not single or not spool
copy of log after completion of sending message. What is cause of error message "Not single or not spool"? 10339 del processqueue 2010-08-19 06:22:34 Waiting for 3600 seconds before reloading 10338 del processqueue 2010-08-19 06:22:33 Not single or not spool 10337 del processqueue 2010-08-19 06:22:33 Finished this run 10336 del processqueue 2010-08-19 06:22:33 989 messages sent in 1005.43 seconds (3541 msgs/hr) 10335 del processqueue 2010-08-19 06:22:33 It took 16 mins 45 secs to send this message 10334 del processqueue 2010-08-19 06:22:33 Processed 989 out of 989 users 10333 del processqueue 2010-08-19 06:22:32 Not single or not spool 10332 del processqueue 2010-08-19 06:22:32 Not single or not spool 10331 del processqueue 2010-08-19 06:22:31 Not single or not spool 10330 del processqueue 2010-08-19 06:22:31 Not single or not spool 10329 del processqueue 2010-08-19 06:22:29 Not single or not spool 10328 del processqueue 2010-08-19 06:22:28 Not single or not spool 10327 del processqueue 2010-08-19 06:22:26 Not single or not spool 10326 del processqueue 2010-08-19 06:22:25 Not single or not spool 10325 del processqueue 2010-08-19 06:22:24 Not single or not spool 10324 del processqueue 2010-08-19 06:22:23 Not single or not spool 10323 del processqueue 2010-08-19 06:22:17 Not single or not spool 10322 del processqueue 2010-08-19 06:22:16 Not single or not spool 10321 del processqueue 2010-08-19 06:22:15 Not single or not spool 10320 del processqueue 2010-08-19 06:22:15 Not single or not spool 10319 del processqueue 2010-08-19 06:22:14 Not single or not spool 10318 del processqueue 2010-08-19 06:22:14 Not single or not spool 10317 del processqueue 2010-08-19 06:22:13 Not single or not spool 10316 del processqueue 2010-08-19 06:22:13 Not single or not spool 10315 del processqueue 2010-08-19 06:22:12 Not single or not spool 10314 del processqueue 2010-08-19 06:22:11 Not single or not spool 10313 del processqueue 2010-08-19 06:22:10 Not single or not spool 10312 del processqueue 2010-08-19 06:22:08 Not single or not spool 10311 del processqueue 2010-08-19 06:22:05 Not single or not spool 10310 del processqueue 2010-08-19 06:22:04 Not single or not spool 10309 del processqueue 2010-08-19 06:22:03 Not single or not spool 10308 del processqueue 2010-08-19 06:22:01 Not single or not spool 10307 del processqueue 2010-08-19 06:22:00 Not single or not spool 10306 del processqueue 2010-08-19 06:21:59 Not single or not spool 10305 del processqueue 2010-08-19 06:21:57 Not single or not spool 10304 del processqueue 2010-08-19 06:21:56 Not single or not spool 10303 del processqueue 2010-08-19 06:21:52 Not single or not spool 10302 del processqueue 2010-08-19 06:21:51 Not single or not spool 10301 del processqueue 2010-08-19 06:21:51 Not single or not spool 10300 del processqueue 2010-08-19 06:21:50 Not single or not spool 10299 del processqueue 2010-08-19 06:21:50 Not single or not spool 10298 del processqueue 2010-08-19 06:21:49 Not single or not spool 10297 del processqueue 2010-08-19 06:21:48 Not single or not spool 10296 del processqueue 2010-08-19 06:21:48 Not single or not spool 10295 del processqueue 2010-08-19 06:21:48 Not single or not spool 10294 del processqueue 2010-08-19 06:21:48 Not single or not spool 10293 del processqueue 2010-08-19 06:21:47 Not single or not spool 10292 del processqueue 2010-08-19 06:21:47 Not single or not spool 10291 del processqueue 2010-08-19 06:21:46 Not single or not spool 10290 del processqueue 2010-08-19 06:21:46 Not single or not spool
Notes
(0051070)
h2b2   
22-08-10 14:30   
That error message appears to come from admin/class.phplistmailer.php, line 417. Any specific steps to reproduce?
(0051079)
ruddcl   
26-08-10 02:33   
(edited on: 26-08-10 12:31)
This error occurs each time I send a newsletter to the mail list. here is copy of the latest log. apparently it is connected to some problem with user display options Started Processing has started, 1 message(s) to process. It is safe to click your "stop" button now, report will be sent by email to ruddcl@tashkent-events.info Processing message 791 Looking for users Found them: 989 to process Processing batch of : 989 Not single or not spool Not single or not spool [... idem totaling 989 ...] Not single or not spool Not single or not spool Processed 989 out of 989 users It took 22 mins 03 secs to send this message Script stage: 5 989 messages sent in 1324.27 seconds (2688 msgs/hr) Finished this run Not single or not spool Waiting for 3600 seconds before reloading
(0051080)
ruddcl   
26-08-10 02:35   
This is message when I did a bounce check phplist - generatebouncerules logout Processing please wait. Do not interrupt! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 new rules found 829 bounces not matched 30 bounces matched to existing rules





View Issue Details
15532 [phplist] Subscribe Process major always 21-08-10 20:41 25-08-10 15:08
jeremyw  
 
normal  
new 2.11.5  
open  
none    
none  
  2.11.X  
Subscribe process fails due to output() statements in class.phplistmailer.php
If PHPlist is configured to use PHPMailer, the subscription process fails abruptly while attempting to send the confirmation email. A user who submits his/her email address and newsletter selection will sees only the "subscribe page" header.
0. Configure PHPlist 2.11.5 to use PHPMailer. 1. Go to the subscribe page (e.g., http://YOURDOMAIN/lists/?p=subscribe [^]) and sign up for a newsletter. 2. After hitting "submit," only header of "subscribe page" template appears.
Culprit undefined output() function called by MailSend() in class.phplistmailer.php, in three places. These calls were added since PHPlist 2.11.3. By the look of things they were inserted for debugging purposes. Problem can be fixed by commenting out the output() calls.
There are no notes attached to this issue.





View Issue Details
15534 [phplist] Message Send Process major always 24-08-10 22:34 25-08-10 15:08
jeremyw  
 
normal  
new 2.11.5  
open  
none    
none  
   
Newlines in footer converted to "rn" in text input box when saving a new message
When a new message draft is saved, newlines are converted to "rn". Presumably there is a bug somewhere with escaping.
1. From the admin page, start a new campaign. Message footer should appear correctly in text input box. 2. "Save Changes." 3. Footer in text box now appears all on one line, with newlines replaced with "rn".
Notes
(0051074)
jeremyw   
25-08-10 04:00   
It may be relevant that in my PHP environment, magic_quotes_gpc = false.
(0051076)
jeremyw   
25-08-10 06:30   
Yes, it's a problem resulting from having magic quotes off. Leaving them off, I tried commenting out the sql_escape() line in admin/lib.php (line 62), and the message footer saved correctly. Not sure what the best course of action is here for a permanent solution.
(0051077)
jeremyw   
25-08-10 14:16   
Further to my last note, I *think* the sql_escape() line in setMessageData() in admin/lib.php (line 62) can be safely removed, because the data it escapes is escaped again when it is used later in the function by Sql_Replace() (line 90). Removing sql_escape() at line 62 also renders the patch I provided for issue #0015522 (http://mantis.phplist.com/view.php?id=15522) unnecessary.





View Issue Details
15522 [phplist] Message Send Process major always 30-07-10 09:56 25-08-10 15:08
vrocks  
windows  
high 7  
new 2.11.5  
open  
none    
none  
  2.11.X  
Cannot select a destination list
When I go to the lists tab and select one of my lists, then hit save, it says my destination list is still missing and my selected list is unselected.
Nothing special. Just try selecting a list.
mysql.inc.diff (433) 25-08-10 05:58
http://mantis.phplist.com/file_download.php?file_id=3184&type=bug
Notes
(0051075)
jeremyw   
25-08-10 06:06   
I had the same problem, but I eventually tracked down the offending code. The issue is in the function setMessageData() in admin/lib.php, at lines 60-63: ---[code]--- if (NO_MAGIC_QUOTES) { # print "Escaping"; $value = sql_escape($value); } ---[/code]--- The trouble is that sql_escape() returns a string, but when destination lists are being saved, we're dealing with an array (targetlist). I'm not sure if the better solution is to revise the above code or the sql_escape() function defined in admin/mysql.inc. I did the latter; my patch is attached. *** Incidentally, in tracking down this bug I looked at admin/actions/storemessage.php. It doesn't make sense to me why at line 51 there is the following line: $messagedata = loadMessageData($id); This basically immediately after the values of $messagedata have just been set. I guess whatever is supposed to be happening is working, but it's confusing to me.
(0051078)
jeremyw   
25-08-10 15:04   
Upon further examination, I think the above code block (line 60-63 of admin/lib.php) is redundant, since escaping also happens in Sql_Replace(), which is called at the end of setMessageData(). Removing said lines would make my proposed patch unnecessary. It also fixes issue #0015534, which I reported.





View Issue Details
15501 [phplist] Click Tracking minor always 07-06-10 22:24 22-08-10 21:11
h2b2  
 
normal  
new 2.10.12  
open  
none    
none  
  2.10.13  
Click rate of message click statistics always displays 0.00%
steph@ne reported the following issue: ===== Start Quote ===== in ?page=mclicks , I have always a rate set to 0.00% looking in the code, the line 49 is as follows: $perc = sprintf('%0.2f',($row['numclicks'] / $row['total'] * 100)); but the select is $req = Sql_Query(sprintf('select distinct messageid, subject, sum(clicked) as totalclicks, count(distinct userid) as users, count(distinct linkid) as linkcount from %s as linktrack, %s as message where clicked and linktrack.messageid = message.id %s group by messageid order by entered desc limit 50', and it seems that numclicks and total columns are not set ======= End Quote ======= Source: http://forums.phplist.com/viewtopic.php?f=17&t=19014#p75915 [^]
Confirmed in the online demo. Additional reports in the forum: http://forums.phplist.com/viewtopic.php?f=17&t=19014 [^]
Notes
(0051073)
h2b2   
22-08-10 21:11   
(edited on: 22-08-10 21:29)
This following code is suggested by unbellver (haven't tested it): ==== Start Quote ==== You can use this one to get average clicks by user (c/u) $perc = sprintf('%0.2f',($row['totalclicks'] / $row['users'] )); $ls->addColumn($row['messageid'].' '.substr($row['subject'],0,50),$GLOBALS['I18N']->get('rate'),$perc.' c/u'); ==== End Quote ==== ref: http://forums.phplist.com/viewtopic.php?p=78167#p78167





View Issue Details
15516 [phplist] Software Releases minor have not tried 14-07-10 21:03 22-08-10 16:22
duncanc  
 
normal  
new 2.11.5  
open  
none    
none  
  2.11.X  
Table phplist_admin_password_request not created automatically on an upgrade
Get this message displayed when doing a Verify the database structure after upgrading from 2.10.12 to 2.11.5 Database Check Database error 1146 while doing query Table 'drupal_demo.phplist_admin_password_request' doesn't exist I have not tried installing 2.11.5 from scratch so do not know whether the table is created correctly on a clean install.
There are no notes attached to this issue.





View Issue Details
15456 [phplist] Interface - Backend minor always 26-04-10 14:23 22-08-10 16:14
Sasi83  
 
normal  
new 2.10.12  
open  
none    
none  
  2.10.13  
'header.inc' and 'footer.inc' are pulled from different place
In version 2.10.11 'header.inc' and 'footer.inc' were pulled from lists/config/ folder. In version 2.10.12 the above files are not used, it does not change the admin interface, nor do they handle the public pages' headers and footers. So maybe they should be removed from the system. In version 2.10.12 'header.inc' and 'footer.inc' files are pulled from lists/admin/ folder. (I think not used files should be removed.)
There are no notes attached to this issue.





View Issue Details
15518 [phplist] Message Management minor always 14-07-10 21:17 22-08-10 16:10
duncanc  
 
normal  
new 2.11.5  
open  
none    
none  
  2.11.X  
"requeue" action is displayed in the status column
Viewing the tabular list of messages, /lists/admin/?page=messages , the requeue link appears in both the status column and the action column. See attached screenshot
ScreenShot002.gif (3,926) 14-07-10 21:17
http://mantis.phplist.com/file_download.php?file_id=3181&type=bug
gif
There are no notes attached to this issue.





View Issue Details
15526 [phplist] Subscriber Export minor always 15-08-10 13:48 22-08-10 16:05
hovel  
 
normal  
new 2.10.12  
open  
none    
none  
   
SYLK file not valid...
An exported user list containing the ID column cannot be opened in Excel. Excel gives error: "SYLK: File format is not valid" ref. http://mantis.phplist.com/view.php?id=4677&nbn=1 [^] I do not understand the decision "won't fix" for the above issue. One goes through the effort of adding a note to the documentation while it is just as easy to correct the code. The best way, in my opinion, to solve this is to change the string "ID" to "Id" in file \admin\structure.php. At list on line 29, or better still for all occurances in the file. (Change all case sensitive). Not correcting such a problem is not an option!
Notes
(0051072)
h2b2   
22-08-10 16:05   
Related forum treads: http://forums.phplist.com/viewtopic.php?f=15&t=20439&start=0 http://forums.phplist.com/viewtopic.php?p=44385#p44385 http://forums.phplist.com/viewtopic.php?p=13843#p13843





View Issue Details
15529 [phplist] Click Tracking major always 18-08-10 19:04 22-08-10 15:54
kevin@yewbarrow.com See below in Additional Info  
See below in Additional Info  
high See below in Add  
new 2.10.12  
open  
none    
none  
   
When Click Tracking is in use, TEXT emails end up in Junk in Outlook 2007 client
If you have CLICKTRACK set to 1 and you send an HTML email, if the recipients email system only accepts Text emails instead of HTML, then the email goes into Junk - if the client is Outlook 2007 (not sure if it's OK on other versions of Outlook). For example, when sending a Test Message (which of course sends an HTML as well as TEXT email) the HTML works fine and ends up in the Inbox whereas the TEXT version ends up in Junk. Other Email clients seem to work OK though. I really do like the Click Tracking feature however I've had to turn it off as I'm not sure how many emails are not reaching the intended recipient, which could be a lot but I don't know the scale of the problem or why some clients would not display HTML.
Edit the config.php and set define('CLICKTRACK',1). Send a Test Message to an email address accessed via an Outlook 2007 client and ensure you send it as HTML.
My system details are: phplist version: 2.10.12 PHP version: 5.2.13 Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/533.4 (KHTML, like Gecko) Chrome/5.0.375.126 Safari/533.4 Webserver: Apache/2.2.15 (Unix) mod_ssl/2.2.15 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 Website: yewbarrow.com/phplist Mysql Info: 5.0.90-community PHP Modules: date libxml openssl pcre zlib bcmath bz2 calendar ctype curl dbase dom hash filter ftp gd gettext session iconv standard json mbstring mcrypt mhash mime_magic mysql SimpleXML posix Reflection imap SPL mysqli soap sockets exif tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zip cgi suhosin PDO pdo_sqlite SQLite pdo_mysql ionCube Loader
There are no notes attached to this issue.





View Issue Details
15521 [phplist] Interface - Administrator minor always 28-07-10 23:04 22-08-10 14:53
flowboarder Apache 2.2.15  
Linux  
low  
new 2.10.12  
open  
none    
none  
   
https breaks when trying to send a message
When using https / SSL to access the admin area, the https URL is automatically forwarded to the http version if a message should be sent.
1.) Login at https://www.yourdomain.com/phplist/admin/ [^] -> the admin home page is displayed 2.) click on https://www.yourdomain.com/phplist/admin/?page=send [^] to send a message -> you are automatically forwarded to the HTTP version http://www.yourdomain.com/phplist/admin/?page=send&id=50 [^] HTTPS breaks at this point. In other areas https does not break and is fine: ?page=users ?page=community ?page=messages ?page=processqueue
Notes
(0051071)
h2b2   
22-08-10 14:53   
Did you change this line in admin/init.php ? $GLOBALS['scheme'] = 'http'; to: $GLOBALS['scheme'] = 'https';





View Issue Details
15527 [phplist] Configuration minor have not tried 18-08-10 11:44 22-08-10 14:22
ruddcl  
 
normal  
new 2.11.5  
open  
none    
none  
  2.11.X  
Upgrading database from 2.11.5 to 2.11.5
Database error 1064 while doing query You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'repeat repeatinterval integer default 0' at line 1 Error, unable to rename column "repeat" in the table phplist_message to be "repeatinterval" Please do this manually, refer to http://mantis.phplist.com/view.php?id=9001 [^] for more information Information: Success
There are no notes attached to this issue.





View Issue Details
15531 [phplist] Message Management feature have not tried 20-08-10 04:59 22-08-10 14:07
aileenf  
 
normal  
new FutureDevelopments  
open  
none    
none  
   
Add Autoresponder feature
This is a request for future development, particularly for phpList Hosted. I would love to see support for Autoresponders - ie a series of pre-written emails to be delivered automatically at predefined intervals to people who sign up to a list (eg 1 day after sign up, 7 days after sign up etc). The need for this is the point where most of my clients move to a system such as Aweber. PS Not sure about my chosen category - feel free to change!
There are no notes attached to this issue.





View Issue Details
15533 [phplist] Message Management minor always 22-08-10 14:00 22-08-10 14:02
h2b2  
 
normal  
new 2.10.12  
open  
none    
none  
  2.10.13  
Wrong processing time reported after processing requeued message
Issue reported by jshel: ===== Start quote ===== when I receive the "PHPlist mailist processing info" system admin message, it is reporting the following... [Wed 11 Aug 2010 07:33] [X.XXX.90.71] Processing message 12 [Wed 11 Aug 2010 07:33] [X.XXX.90.71] Looking for users [Wed 11 Aug 2010 07:33] [X.XXX.90.71] Found them: 97 to process [Wed 11 Aug 2010 07:47] [X.XXX.90.71] Processed 97 out of 97 users [Wed 11 Aug 2010 07:47] [X.XXX.90.71] It took 47 hours 24 mins 2 secs to send this message [Wed 11 Aug 2010 07:47] [X.XXX.90.71] Script stage: 5 [Wed 11 Aug 2010 07:47] [X.XXX.90.71] 97 messages sent in 807.65 seconds (432 msgs/hr) ===== End quote ===== phpList reports "It took 47 hours 24 mins 2 secs to send this message" while it actually took 14 minutes, if you look at the time stamps.
Seems related to http://mantis.phplist.com/view.php?id=4411 [^] though the fix for that issue (messages php, line 92) is still in place.
Notes
(0051069)
h2b2   
22-08-10 14:02   
Related forum thread: http://forums.phplist.com/viewtopic.php?f=17&t=32799&start=0





View Issue Details
15528 [phplist] Message Send Process minor always 18-08-10 14:59 18-08-10 14:59
jakevoelcker  
 
normal  
new 2.10.12  
open  
none    
none  
   
Unwanted carriage returns/line breaks appearing in message body
All messages I send from phplist have unwanted spaces in the middle of some words. When I looked at the source code of the messages I discovered that there is an unwanted line break and space character on every 14th line (i.e. after 1024 characters). I first experienced this problem in 2.10.5, and it's also present in 2.10.10 and 2.10.12 I tried disabling TinyMCE and just writing messages in HTML but it makes no difference. I also tried changing $WordWrap variable in class.phplistmailer.php to 0 but that didn't help either. So I've used a simple workaround to fix the problem for now. I added the following line of code after line 651 of /lists/admin/sendemaillib.php $htmlmessage = wordwrap($htmlmessage, 60, "\r\n"); This serves to split up the html message cleanly (i.e. without breaking any words or html tags) into lines of 60 characters, separated by a standard CRLF line break. Obviously, if you need to you can use other line break characters instead of \r\n, and you can alter 60 to any other number depending on how many characters long you want your lines to be.
There are no notes attached to this issue.





View Issue Details
15525 [phplist] Bounce Management minor always 14-08-10 18:15 14-08-10 18:17
gfinkelstein  
 
normal  
new 2.10.12  
open  
none    
none  
   
Wrong link in advanced bounce report mail
In the advanced bounce report that is sent by email, the links to the user and bounce that matched a rule point to the domain (http://example.com/admin/?page=bouncerule&id=2 [^]) instead of the website address (http://newsletter.example.com/admin/?page=bouncerule&id=2 [^]).
There are no notes attached to this issue.





View Issue Details
15524 [phplist] Interface - Administrator minor always 11-08-10 17:47 11-08-10 17:58
gfinkelstein  
 
normal  
new 2.10.12  
open  
none    
none  
   
Stats link disappears from menu when disabling CLICKTRACK
If you disable CLICKTRACK, the menu link for "Statistics" disappears. And there is no link to access to "Domain stats" and "View stats". Instead of the entire section, what should be hidden is the "view clicks by url" and "view clicks by message" links. Also, the "viewed" and "responsetime" in users history shouldn't be hidden either.
There are no notes attached to this issue.





View Issue Details
15523 [phplist] Click Tracking major always 10-08-10 17:27 10-08-10 17:27
JimMacMillan PC  
Windows 7  
high Home Preium  
new 2.10.12  
open  
none    
none  
   
Click tracking & [USERTRACK] Not Functioning
Placed [USERTRACK] at bottom of message as well as footer. In either case statistics do not show messages as viewed in statistics section. Set ('CLICKTRACK',1) in Config.php and saved file to server via FTP. Logged on to admin page and sent test message with links. Recipient receives messages with links similar to; http://mydomain.com/lt.php?id=cQl9XRpiQDUK. [^] When the recipient clicks on the link they see an HTTP 404 message.
Uninstalled from server via Simple Scripts. Reinstalled via Simple Scripts, D/L'd Config.php made the neccesary changes and U/L'd Config.php. Signed on to Admin page added users and sent test messages with same result. Also able to duplicate this on Google Chrome and IE8.
Your system details are: phplist version: 2.10.12 PHP version: 5.2.13 Browser: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0) Webserver: Apache/2.2.15 (CentOS) mod_ssl/2.2.15 0.9.8l DAV/2 mod_auth_passthrough/2.1 FrontPage/5.0.2.2635 Website: www.doppelprint.com Mysql Info: 5.1.47-community-log PHP Modules: date libxml openssl pcre zlib bcmath bz2 calendar ctype curl dba dbase dom hash filter ftp gd gettext gmp session iconv standard json ldap mbstring mcrypt mhash mime_magic mysql SimpleXML ncurses odbc pcntl SPL PDO pdo_mysql PDO_ODBC pdo_pgsql pdo_sqlite pgsql posix pspell readline Reflection imap shmop mysqli soap sockets SQLite exif sysvmsg sysvsem sysvshm tidy tokenizer wddx xml xmlreader xmlrpc xmlwriter xsl zip cgi-fcgi Zend Optimizer
There are no notes attached to this issue.





View Issue Details
15365 [phplist] Documentation - Configuration text always 12-11-09 13:02 06-08-10 13:13
Thorsten Albrecht  
 
normal  
acknowledged 2.10.10  
open  
none    
none  
   
Wrong description of MAILQUEUE_BATCH_PERIOD in config file
The description of MAILQUEUE_BATCH_PERIOD is wrong. It says: "MAILQUEUE_BATCH_PERIOD define the length of one batch processing period, in seconds (3600 is an hour)" This is not true. Instead, it defines the waiting time between two batches. E.g., I am using the following settings: define("MAILQUEUE_BATCH_SIZE",10); define("MAILQUEUE_BATCH_PERIOD",1); What happens is that I am sending 10 mails per batch and the web interface waits for 1 second before reloading and sending the next 100 mails. Thorsten
batch-phpList_arrows.gif (41,258) 12-11-09 13:02
http://mantis.phplist.com/file_download.php?file_id=3097&type=bug
gif
Notes
(0050800)
Thorsten Albrecht   
10-12-09 18:04   
Just to add: in README.batches the description of the variable mentioned above is already correctly documented: "To process in batches, you can configure two variables: MAILQUEUE_BATCH_SIZE - the size of a batch MAILQUEUE_BATCH_PERIOD - the time to wait until running the next batch (in seconds) " Please correct the description in config.php because it confuses everybody.
(0050882)
michiel   
12-04-10 15:22   
well, in a way you're right that it's confusing, but then at the same time it's not as you state. the fact that phpList waits batch time to reload is irrelevant. It could reload later or sooner, that doesn't matter. The main thing is that it will not send any more emails even if the queue is run again. You will probably notice some message saying: This batch will be X emails because in the last "MAILQUEUE_BATCH_PERIOD" seconds (MAILQUEUE_BATCH_SIZE - X) have been sent. So, the MAILQUEUE_BATCH_PERIOD does actualy really enforce that amount in that time frame.
(0050986)
Thorsten Albrecht   
30-04-10 16:59   
Hello Michiel, the fact is that the default value of 3600 for MAILQUEUE_BATCH_PERIOD made me think that it is impossible to use phpList. I took me some weeks to recognize that when I set MAILQUEUE_BATCH_PERIOD to a much lower value (e.g. 1) everything worked fine. Example: I am sending a newsletter monthly to about 6000 recipients. My current settings are: define("MAILQUEUE_BATCH_SIZE",100); define("MAILQUEUE_BATCH_PERIOD",1); Those settings work for me perfectly. After sending 100 mails, the system pauses for 1 s, the browser reloads, and the next 100 mails are sent. I do not understand your explanation: "So, the MAILQUEUE_BATCH_PERIOD does actualy really enforce that amount in that time frame." This cannot be true because I define a time frame of 1 s (!) and everything works. There is nothing being "enforced"; in that 1 second nothing happens at all. Only the browser reloads, and the next batch begins. To your second statement: "the fact that phpList waits batch time to reload is irrelevant. It could reload later or sooner, that doesn't matter. " This is not irrelevant for me. I have a cgi timelimit for php scripts of 6 min, so it is very important for me that phpList reloads immediately after sending the number of mails defined in MAILQUEUE_BATCH_SIZE. In my case, the 100 mails have been sent after about 60-90s. If I would let MAILQUEUE_BATCH_PERIOD on the default value of 3600 I would run into the timeout of my server. (This happened the first weeks when I started with phpList. I nearly deleted the whole system because of this problem.) BTW For me there seems to be no sense of MAILQUEUE_BATCH_PERIOD at all. If it would work I would set it to zero. Best regards, Thorsten
(0051067)
kerberos   
06-08-10 13:13   
The confusion seems to lie in that MAILQUEUE_BATCH_PERIOD seems to define TWO variables: 1) the time during which a maximum number of posts as defined in MAILQUEUE_BATCH_SIZE can be sent; and 2) the time after one batch is run before another batch is run. I too have MAILQUEUE_BATCH_PERIOD set to 1 second, with MAILQUEUE_BATCH_SIZE at 40. The batch is processed in 1-3 minutes, and I run processqueue by cron every 4 minutes for the few hours it takes to get through all of our subscribers. (Batch processing does not reload on my system.) So indeed, the MAILQUEUE_BATCH_PERIOD in this case seems to be irrelevant, and setting it to 1 second effectively gets it out of the way.





View Issue Details
3292 [phplist] Plugin API feature always 20-05-05 21:09 04-08-10 15:20
michiel  
 
normal  
new  
open  
none    
none  
  2.11.X  
plugin API functionality
it would be good to move new features more towards creating plugins and give them more power over things. Things I'd imagine plugins would want to do: - change the thank you page - parse and manipulate an email before sending, which includes Header Fields and Body, as well as plain text and html. but there must be more. Anyone who has some ideas about this, please add to this list.
Notes
(0051066)
duncanc   
04-08-10 15:20   
Another suggestion is to provide a "hook" mechanism for plugins to add extra functionality to existing pages. For example, the messages page has an Action column and it would be useful to allow a plugin to add an action to this column so that it can provide extra functionality for a message. I have created a plugin that duplicates the content of a message into a new message, and currently the plugin has to display all messages in a similar way to the message page in order to provide its own action.





View Issue Details
1644 [phplist] HTML Email Support minor always 30-08-04 03:27 01-08-10 19:34
kiang  
 
high  
acknowledged 2.8.11  
reopened  
none    
none 2.10.3  
  2.11.X  
Subject error with UTF-8 encode in Traditional Chinese
I'm trying to use phplist in UTF-8 enviornment with Traditional Chinese language. Everything seems OK but the subject. Some characters of the subject were be translated to no meanful ones. Anyone could please tell me where or which of the scripts I can trying to fix this problem?? I'm still looking into the code..
Version: 2.8.11 I've modify the encode of the language file, config for both text and html emails to UTF-8.
utf8_fix_for_svn_r1703.diff (3,378) 21-01-10 10:13
http://mantis.phplist.com/file_download.php?file_id=3135&type=bug
Notes
(0002132)
michiel   
04-10-04 12:36   
As I wouldn't know how to solve that, do you have any tips of how to make that work?
(0005995)
kiang   
07-08-05 19:12   
I found the problem. Line 869, 875 in the file 'lists/admin/send_core.php', the script try to use htmlentities function for process characters. In my enviornment, it would be better if use this function in following format: htmlentities($subject, ENT_QUOTES, $_SESSION['adminlanguage']['charset']) I don't know if this cause other problems in other enviornments. I could always solve the same problem in other page. :)
(0010629)
bevan   
13-02-06 16:53   
Did this get resolved in 2.10?
(0019579)
michiel   
04-10-06 19:21   
instead of using the admin language from the session, I've hardcoded UTF-8, because it may as well be that someone has the interface in english, but wants to send chinese. Let's see if that sorts it
(0043080)
nordblad   
18-03-08 20:49   
htmlentities($subject,ENT_QUOTES,'UTF-8') gives me problems with Swedish special characters (åäö). The message subject just disappears when I click "Save Changes". I guess my input is in ISO-8859-1, because htmlentities($subject,ENT_QUOTES,'ISO-8859-1') fixes it. So does htmlspecialchars($subject,ENT_QUOTES), which looks even nicer to me. Wouldn't that work for Chinese too?
(0050558)
h2b2   
17-03-09 22:06   
A somewhat similar issue involving PHP 5.2.5 was discussed in the PHP bug tracker: http://bugs.php.net/bug.php?id=43549 This discussion seems to indicate that if you set htmlentities to UFF-8, you'll need to make sure that the charset for the html page containing the form is also set to UTF-8. Currently the 'send a message' page produced by phplist is set to: Instead of:
(0050565)
h2b2   
20-03-09 06:22   
On my system, entering special characters in the subject field did not make the subject field disappear completely. Only the special characters disappeared, while normal characters still where displayed, e.g.: "This is a Tést" would display as "This is a Tst". So I ran a quick test which confirms my previous note, i.e., you need to set the content-type of the HTML page holding the input form fields to UTF-8 if you want to htmlentities($subject,ENT_QUOTES,'UTF-8') to work correctly, i.e., if is used, the subject field "This is a Tést" would display in full in the received text and html message. To do so I had to change $strCharSet in english.inc from ISO-8859-1 to utf-8. Other language files than english.inc would probably need recoding all special characters to UTF-8. My test system is configured as follows. Configuration page: - Charset for HTML messages: UTF-8 - Charset for Text messages: UTF-8 config.php: - $language_module = "english.inc"; # with this change in english.inc: $strCharSet = 'utf-8'; - define("HTMLEMAIL_ENCODING","quoted-printable"); - define("TEXTEMAIL_ENCODING",'7bit'); Server info: phplist 2.10.9 Linux/Apache PHP 5.2.3 MySQL 4.1.12 - with *database encoding* set to: utf8_unicode_ci Some remarks: - I expected the charset for the backend's html pages to be defined by the settings in languages.php, e.g.: "en" => array("English ","iso-8859-1","iso-8859-1, windows-1252 "), This is not the case, and I'm not sure what exactly the language.php charset settings are used for. - I wonder whether it is a good idea to hardcode UTF-8 anywhere in the code. It would seem more flexible to have the charset configurable, e.g. through the charset defined on the configuration page. - Inclusion of UTF-8 encoded .inc language files should perhaps be considered for future phplist releases, along with the existing iso-* encoded files. - Installation procedures (and documentation) could perhaps include giving the user a choice of charsets to use for database encoding.
(0050577)
h2b2   
22-03-09 20:50   
I found an interesting article which identifies different aspects that come into play in a PHP/MySQL/UTF-8 application. These are the principal ones: - the database (individual tables + any text columns) should be set to UTF-8 - the PHP server should send a header telling the browser to expect UTF-8, e.g.: header('Content-Type: text/html; charset=utf-8' ); - the HTML page's Content-Type should be set to UTF-8, i.e.: - and, the PHP-MySQL connection should be set to UTF-8, since it will otherwise default to latin1 The article also provides a useful solution (based on SET NAMES) and some code examples. For more info, please see: http://www.adviesenzo.nl/examples/php_mysql_charset_fix/
(0050579)
h2b2   
23-03-09 01:06   
Additional server related info from my test system, collected by using the following query in phpMyAdmin: SHOW VARIABLES LIKE 'character_set_%' character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_results utf8 character_set_server latin1 character_set_system utf8
(0050580)
michiel   
23-03-09 02:32   
great, that's very helpful research. thanks for that.
(0050581)
h2b2   
23-03-09 04:02   
Glad to help. Just a few additional comments regarding hardcoding the charset. Currently UTF-8 has been hardcoded in the following files (v2.10.9): processbounces.php $message = html_entity_decode($message,ENT_QUOTES,'UTF-8'); processqueue.php $line = html_entity_decode($line,ENT_QUOTES,'UTF-8'); sendemaillib.php $text = html_entity_decode ( $text , ENT_QUOTES , 'UTF-8' ); send_core.php value="'.htmlentities($subject,ENT_QUOTES,'UTF-8').'" value="'.htmlentities($from,ENT_QUOTES,'UTF-8').'" value="'.htmlentities($forwardsubject,ENT_QUOTES,'UTF-8').'" class.phplistmailer.php $this->Body = html_entity_decode($text ,ENT_QUOTES, 'UTF-8' ); #$text; $this->AltBody .= html_entity_decode($text ,ENT_QUOTES, 'UTF-8' );#$text; $this->Body .= html_entity_decode($text ,ENT_QUOTES, 'UTF-8' );#$text; So, the problem will probably not only occur in the subject line, but most likely also in the From: (name) line, and the forward subject line. (Haven't checked the forum for reports on this yet). It seems to me that instead of hardcoding UTF-8, it might be an improvement if all hardcoded instances of 'UTF-8' were replaced by something like $GLOBALS['strCharSet'] In that case, it is the .inc language file's encoding that will determine the charset for the whole phplist system (frontend, backend, and backend input fields) except for the Charset settings for HTML and Text messages on the configuration page, and except for the encoding for the database and the database connection. While this would be an improvement, it is not yet an ideal situation, considering that things may still go wrong if the database encoding and/or database connection isn't compatible with the charset, or if the user forgets to change the charset used for message encoding (configuration page) for instance. I guess the best way to solve this, would be to have a phplist installation script give the user a choice from a number of charsets. The installation script should then make sure the whole system, including the database/db connection, is made ready for use under the chosen charset.
(0050612)
h2b2   
02-04-09 21:49   
- Probably related to: http://mantis.phplist.com/view.php?id=5017 http://mantis.phplist.com/view.php?id=9309 http://mantis.phplist.com/view.php?id=13382 http://mantis.phplist.com/view.php?id=13291 http://mantis.phplist.com/view.php?id=14238 http://mantis.phplist.com/view.php?id=15241 http://mantis.phplist.com/view.php?id=15245 Possibly related to: http://mantis.phplist.com/view.php?id=15250 Also found a report on the forum which seems to confirm the issue also occurs when the name in the From: line contains special characters. See: http://forums.phplist.com/viewtopic.php?p=61323#61323
(0050620)
h2b2   
09-04-09 07:09   
- A useful suggestion from the forum: ==== Start Quote ==== to support encoding properly you should add these lines: mysql_query("SET CHARACTER_SET_CLIENT=utf8"); mysql_query("SET CHARACTER_SET_RESULTS=utf8"); mysql_query("SET CHARACTER_SET_CONNECTION=utf8"); to mysql.inc ==== End Quote ====
(0050837)
adrian15   
21-01-10 10:17   
A similar problem appears in revision 1703 from the svn. I am trying to write in Spanish but I think it applies to other languages also. I attach a patch (I think it is not a definitive patch but a workaround) to solve this problem. In my opinnion most of the problems that I have might come from the fact that, whatever the reason is, pagetop page is not included in any of the admin pages. But I am not quite sure because I am not an expert on this utf8 issues. adrian15
(0051065)
haipo   
01-08-10 19:34   
Hello, After reading carefully all the expalnations and trying everything described here, I still have the same problem described above. When writing the subject in Hebrew, strange signs apear and the text is corrupted. The same happens with the "From". I have chosen the laguage text "hebrew-utf8" I set the Charset for HTML messages = UTF-8, Charset for Text messages = UTF-8 And still no use. Please advise, Yaron, Haipo.co.il





View Issue Details
15517 [phplist] Message Management major have not tried 14-07-10 21:11 30-07-10 09:38
duncanc  
 
normal  
confirmed 2.11.5  
open  
none    
none  
  2.11.X  
Cannot see or edit message body for a new message
After upgrading to 2.11.5 the system does not display the Message Body field for editing. See this topic in the forum including a screenshot http://forums.phplist.com/viewtopic.php?f=17&t=32446 [^]
Notes
(0051061)
duncanc   
19-07-10 15:41   
Looked a bit further into this and the problem seems to be in function loadmessagedata() in lib.php. This function has changed dramatically from version 2.10.12. The element sendmethod is initialised to 'remoteurl' - not sure why though 'sendmethod' => 'remoteurl', ## make a config Later on it is set to 'inputhere' only if the message field is non-empty - which won't be true for a new message if (empty($messagedata['sendurl']) && !empty($messagedata['message'])) { # if there's a message and no url, make sure to show the editor, and not the URL input $messagedata['sendmethod'] = 'inputhere'; } In send_core.php some javascript is generatd that hides the message content if the sendmethod is not 'inputhere' if (isset($messagedata['sendmethod']) && $messagedata['sendmethod'] != 'inputhere') { $maincontent .= ''; } So for a new message the content area is hidden. I really like using phplist but when looking at the code a lot of it seems really woolly and not thought out properly.
(0051062)
duncanc   
26-07-10 18:36   
Looked even further and the problem seems to be caused by not having the class HTTP_Request installed. In send_core.php line 564 there is a test of $GLOBALS['has_pear_http_request'] that is false and means that the radio buttons to select between URL and directly entered message are not displayed. As noted above the sendmethod is set to 'remoteurl' and there then is no way to change it.
(0051063)
h2b2   
27-07-10 21:40   
My 2.11.5 test system is also missing the HTTP_Request module, and I was able to reproduce this issue. The workaround suggested by duncanc seems to work fine, and will display the editing window. ref: http://forums.phplist.com/viewtopic.php?p=77877#p77877
(0051064)
vrocks   
30-07-10 09:38   
I am also having this issue.





View Issue Details
15520 [phplist] Message Management feature N/A 22-07-10 23:28 22-07-10 23:28
h2b2  
 
normal  
new 2.10.12  
open  
none    
none  
  2.11.X  
Sent messages statistics should not include test messages
A number of users requested that test messages not be included in the send counts to improve transparency of basic campaign statistics.
Related forum threads: http://forums.phplist.com/viewtopic.php?p=76153#p76153 [^] http://forums.phplist.com/viewtopic.php?p=77786#p77786 [^]
There are no notes attached to this issue.





View Issue Details
15519 [phplist] Internationalization (l18n) trivial always 21-07-10 22:17 21-07-10 22:17
parhuzamos  
 
normal  
new 2.10.10  
open  
none    
none  
   
Fixed string in translation text which should come from database
The file "hungarian.inc" should not contain fixed string like below: $strConfirmTitle = 'SOFT-TRANS Shareware Bolt hírlevél-megrendelés visszaigazoló oldal'; This translates to "SOFT-TRANS Shareware Shop newsletter subscription confirmation page". I think the name at the beginning should come from database using a variable. Maybe there are more bugs like this, I haven't checked. Sorry. See: http://docs.phplist.com/TranslatorsList [^] => Hungarian => http://mantis.phplist.com/view.php?id=15310 [^]
hungarian.inc (10,185) 21-07-10 22:17
http://mantis.phplist.com/file_download.php?file_id=3182&type=bug
There are no notes attached to this issue.





View Issue Details
9579 [phplist] User Management minor always 24-03-07 09:30 17-07-10 13:41
hola  
 
normal  
new 2.10.4  
open  
none    
none  
  2.11.X  
adodb.inc missing code
This is why the reindex.php in the 2.11.3 didn't work and the convertstats.php. In 2.10.4 the adodb.inc is not the same as the mysql.inc - one function is causing tables from being created after registration. Below is the function - the commented part is the current code in 2.10.4 adodb.inc. I copied the new code within the function from the mysql.inc - all seems to work now with convertstats.php function Sql_Create_Table ($table,$structure) { /* $query = "CREATE TABLE $table (\n"; while (list($column, $val) = each($structure)) { $query .= "$column " . $structure[$column][0] . ","; } # get rid of the last , $query = substr($query,0,-1); $query .= "\n)"; # submit it to the database logEvent($query); $res = Sql_Verbose_Query($query); */ $query = "CREATE TABLE $table (\n"; while (list($column, $val) = each($structure)) { if (preg_match('/index_\d+/',$column)) { $query .= "index " . $structure[$column][0] . ","; } elseif (preg_match('/unique_\d+/',$column)) { $query .= "unique " . $structure[$column][0] . ","; } else { $query .= "$column " . $structure[$column][0] . ","; } } # get rid of the last , $query = substr($query,0,-1); $query .= "\n)"; # submit it to the database $res = Sql_Query($query); }
There are no notes attached to this issue.





View Issue Details
15515 [phplist] Interface - Backend text always 14-07-10 17:36 14-07-10 17:36
bepppo  
 
normal  
new internationalization  
open  
none    
none  
   
info text for /admin/info/[any language]/admin.php mismatch
The infotext in admin is explaining this: "Set permissions to view pages in the system: * All: admin has access to page without restrictions * View: admin can view content of page..." and this is wrong and translated into many languages (not Dutch belgium) it must say somthing like: "Here you can change the Name, e-Mail and Password of administrators. Super Admins can create new Admins ..."
The "Set permission" text is necessary further down and is provided with the file /admin/lan/[language]/admin.php and seems correct to me.
There are no notes attached to this issue.





View Issue Details
15514 [phplist] All Other minor have not tried 12-07-10 03:29 12-07-10 04:37
Bedlore  
 
normal  
new 2.10.12  
open  
none    
none  
   
Inability to reimport phplist_user_message_bounce
I have found when doing a mysqldump and then trying to re-import the phplist_user_message_bounce table throws this error: ERROR 1064 (42000) at line 4646: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'USING BTREE ) ENGINE=MyISAM AUTO_INCREMENT=320 DEFAULT CHARSET=latin1' at line 12
Due to integration with other software I am forced to run the database in utf8. -- Full table create DROP TABLE IF EXISTS `phplist_user_message_bounce`; CREATE TABLE IF NOT EXISTS `phplist_user_message_bounce` ( `id` int(11) NOT NULL AUTO_INCREMENT, `user` int(11) NOT NULL, `message` int(11) NOT NULL, `bounce` int(11) NOT NULL, `time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (`id`), KEY `umbindex` (`user`,`message`,`bounce`), KEY `useridx` (`user`), KEY `msgidx` (`message`), KEY `bounceidx` (`bounce`), KEY `message_lookup` (`message`) USING BTREE ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=320 ;
Notes
(0051060)
Bedlore   
12-07-10 04:37   
Solution I found is to delete KEY `message_lookup` (`message`) USING BTREE It must of been removed at some point but never occured when I ran the upgrade scripts.





View Issue Details
15465 [phplist] Subscriber Import major always 29-04-10 14:56 09-07-10 19:45
netadmin  
 
normal  
new 2.10.12  
open  
none    
none  
  2.10.13  
Database error 1064 when selecting "Import of address data with differring and individual attributes"
Main Page => Import => "Import of address data with differring and individual attributes" Perhaps "Import of address data with differring and individual attributes" is not the exact name of the menu point because I have an installation in german language and tried to translate :-) If I click on this menu point, http://my.phplist.installation/lists/admin/?page=import2 [^] opens with a red error message box: Database error 1064 while doing query You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'yes""' at line 1 Database error 1064 while doing query You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'yes"" and admin_task.taskid = task.id' at line 1 It´s not possible on the import page to import a file; I can select it but then nothing happens. Interesting that in phplist 2.10.10 it works but admin/commonlib/pages/importcsv.php seems to having been rewritten in big parts in 2.10.11.
openSUSE 11.2 apache 2.2.13-2.3.1 PHP 5.3.1
Notes
(0050981)
h2b2   
29-04-10 18:25   
Looks like a duplicate of http://mantis.phplist.com/view.php?id=15450 This has been fixed in v2.10.12
(0050984)
netadmin   
30-04-10 11:31   
Just made an upgrade to 2.10.12, but I get a mysql error message too. The text is slightly different: Database error 1064 while doing query You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"import2&reset=yes""' at line 1 Database error 1064 while doing query You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"import2&reset=yes"" and admin_task.taskid = task.id' at line 1
(0050985)
netadmin   
30-04-10 11:45   
An other interesting thing: the import works with user "admin", but not with other admin accounts. Even if I give them all rights except "SuperAdmin".
(0050987)
h2b2   
03-05-10 00:46   
(edited on: 03-05-10 00:50)
OK, I can confirm this issue, including the same error messages, in the online demo (v2.10.12, logged in as a subadmin, lists/admin/?page=import2). The demo runs with MySQL 5.0.51a However I cannot replicate this on my own system, which runs MySQL 4.1.22-max-log Could you mention with mysql version you are using?
(0050988)
netadmin   
03-05-10 09:12   
mysql Ver 14.14 Distrib 5.1.36, for suse-linux-gnu (x86_64) using readline 6.0
(0051009)
ttinits   
14-05-10 10:00   
Hello, I had the same issue with my phplist program. When I started to dig in I found a small mistake: If you see file /admin/commonlib/pages/importcsv.php, there are errors on line 119, 438 and 914. For example line 119 print '

' . PageLink2($_GET["page"] . '&reset=yes"', $GLOBALS['I18N']->get('Reset Import session')) . '

'; There should be '&reset=yes' <- i guess there is one " too much. Same mistake is on other two lines but with '&confirm=yes"' This fixed it for me. Hope it's helpful to You too.
(0051015)
netadmin   
19-05-10 13:03   
Hi ttinits, yes, this was quite helpful!! Fixed it for me too :-) Thanks a lot!!
(0051055)
jer1024   
08-07-10 17:01   
I tried ttinits fix. Still receiving same error.
(0051056)
jer1024   
08-07-10 17:21   
BTW MySQL 5.0.45
(0051057)
ttinits   
09-07-10 05:21   
What is your PhpList version? Mine was v2.10.12. And since I have made lots of code changes I have no wish to upgrade soon :-P
(0051059)
jer1024   
09-07-10 19:45   
Nevermind, it was my error. I jumped the gun (noticing that in the code '&reset=yes' was '&reset=yes') After changing that nothing was fixed so I ran a search thru the folder for '&' and noticed that the HTML chars were converted later... OK that was supposed to be that way... oops Anyways when I looked at the line again I saw the dangling " Looked back at the post and promptly smacked myself upside the forehead. It works now, Thanks :)





View Issue Details
15481 [phplist] Configuration block always 18-05-10 12:52 09-07-10 15:05
moikano  
 
normal  
new 2.10.12  
open  
none    
none  
  2.10.13  
[FCKeditor] wrong path to phplist's config.php
In /public_html/lists/admin/FCKeditor/editor/filemanager/connectors/phplist/config.php at rows 28 and 29 there are 8 "../" to achieve "lists" folder that present phplist's "config" folder. These "../" must be 6, not 8, otherwise you can not upload images via the editor. Sorry for my english.
[ wrong ] #28 } elseif (is_file('../../../../../../../../config/config.php')) { #29 include "../../../../../../../../config/config.php"; #30 } else { [ right ] #28 } elseif (is_file('../../../../../../config/config.php')) { #29 include "../../../../../../config/config.php"; #30 } else {
Notes
(0051058)
h2b2   
09-07-10 15:05   
Related forum thread: http://forums.phplist.com/viewtopic.php?f=24&t=31501





View Issue Details
15506 [phplist] Internationalization (l18n) feature N/A 22-06-10 23:24 06-07-10 01:04
h2b2  
 
normal  
resolved 2.10.12  
fixed  
none    
none 2.10.13  
  2.10.13  
Swedish backend translation
Attached the Swedish backend translation made available by spiderman2. Encoded in UTF-8
The 'language_info' file, which determines the charset encoding of the admin pages since version 2.10.11, seems to be missing in the admin/lan/sv/ directory, and should be added with the following content: name=Swedish charset=UTF-8
phplist_sv.zip (73,948) 22-06-10 23:24
http://mantis.phplist.com/file_download.php?file_id=3176&type=bug
Notes
(0051054)
michiel   
06-07-10 01:04   
added to repository (was actually already there)





View Issue Details
550 [phplist] All Other feature N/A 24-08-03 01:06 05-07-10 23:52
RickL66  
 
normal  
assigned  
open  
none    
none  
  2.11.X  
Clean Message Lists
I thought it would be nice to have a way to easily clean the messages that have been send.
I currently have over 600 messages that was send out from my list. I want to clean it up, and realize that it is very time consuming to delete them. The current way is to click >> to the end and scroll down to the last (first) message. Delete it. Then hit >>, scroll down, delete all over again. Takes about a good 10, 15 seconds per message. Maybe have a feature to delete so-so messages from date to date?
Notes
(0000572)
michiel   
26-08-03 10:51   
yes, that's certainly something that should be added. I hope to get to it reasonably soon. It's not too urgent though, because message "disappear" to the background.





View Issue Details
10998 [phplist] Installation feature always 10-08-07 01:07 05-07-10 23:47
h2b2  
 
normal  
new 2.10.4  
open  
none    
none  
  2.11.X  
Enhance security
Placing the config dir -and if possible the whole admin dir- beneath the root dir would substantially enhance security. This is relevant because a number of users mentioned having deleted the .htaccess files that protect these key directories and/or changing permissions, leaving them completely exposed. While most users do not make this kind of error and know how to protect key directories, it seems a a good idea to reduce risks for unexperienced users. Additionally it might be a good idea to extend the possibility of encrypting passwords (now only for list list users) to admins. Ref: http://forums.phplist.com/viewtopic.php?t=11232 [^]
Related to: http://mantis.phplist.com/view.php?id=5434 [^] http://mantis.phplist.com/view.php?id=9937 [^] See also these forum threads/posts: http://forums.phplist.com/viewtopic.php?t=11232 [^] http://forums.phplist.com/viewtopic.php?p=29783#29783 [^] http://forums.phplist.com/viewtopic.php?p=33930#33930 [^] http://forums.phplist.com/viewtopic.php?p=32859#32859 [^]
Notes
(0050619)
h2b2   
09-04-09 06:59   
A related feature request: ==== START QUOTE ==== Option to Easily Park Non-view Scripts Outside Public Root Ideally non-view scripts (config's, batch, or processing) should reside outside the public root in case PHP fails to parse them and they're exposed or executed out of context. SMF has a config option which indicates where the sources are located. It can be changed to match a non-standard location such as one outside the web root (before public_html, inetpub, etc.). As it is one must alter the Phplist source to safely relocate such code. ==== END QUOTE ==== ref: http://forums.phplist.com/viewtopic.php?p=61467#p61467





View Issue Details
104 [phplist] Configuration feature N/A 02-03-03 03:27 05-07-10 23:41
jbeardsl  
 
normal  
assigned  
open  
none    
none  
  2.11.X  
top-level configurations belong @ list level
Feature request: A number of the configuration items listed on the "configure phplist" page seem to below more properly at the list level. For example, the emails of who gets reports should be at the list level (in case you have different admins running individual lists), and the subscribe/unsubscribe message configurations could/should all be list-specific to allow custom messages per list.
Fair enough. The "multiple admin" option is a little bit underdeveloped :-) Feature request noted.
There are no notes attached to this issue.





View Issue Details
5410 [phplist] Click Tracking feature always 08-02-06 17:56 05-07-10 23:29
bevan  
 
normal  
acknowledged 2.11.0  
open  
none    
none  
  2.11.X  
Delete old linktrack / clicktrack records
A solution to the problem discussed here: http://www.phplist.com/forums/viewtopic.php?t=4497 [^] could be to automatically delete all records older than X days, and/or maybe a 'cleanup clicktrack table button to do it manually.
Notes
(0051053)
h2b2   
05-07-10 23:29   
Related forum topics: http://forums.phplist.com/viewtopic.php?f=16&t=19683 http://forums.phplist.com/viewtopic.php?f=16&t=24204





View Issue Details
6461 [phplist] Internationalization (l18n) minor N/A 23-05-06 21:32 05-07-10 23:22
bevan  
 
normal  
acknowledged  
open  
none    
none  
  2.11.X  
full multilingual support
Including this contribution would allow us to have practically full multilingual support in phplist! :) http://www.phplist.com/forums/viewtopic.php?p=17404#17404 [^]
Notes
(0022742)
kircher   
20-01-07 00:54   
Yes Yes Yes ! Please add Multi Language Support for subscriber Pages to the Feature List of 2.11 Thank you.





View Issue Details
8499 [phplist] Bounce Management feature N/A 10-11-06 20:54 05-07-10 23:01
orock  
 
normal  
new 2.10.3  
open  
none    
none  
  2.11.X  
additional bounce rule -- resendanddeletebounce
we were experiencing occasional bounces triggered by our own hosting server (around 2-5%). the bounce regex we wanted to trap was /.*--SENDER_QUOTA_REJECTION--/ and when found we wanted to delete the bounce, decrement user/message bounce count, and requeue the user on to the message list (delete userid/messageid entry from usermessage table). since this functionality was not available we added to the bounceruleactions list an action called resendanddeletebounce in lib.php and a new rule action to process in the USE_ADVANCED_BOUNCEHANDLING section of processbounces.php. we've been running it for a couple of days now and all is going well. changes follow. diffs in additional info. processbounces.php and lib.php included. ----> to lib.php added resendanddeletebounce $GLOBALS['bounceruleactions'] = array( 'deleteuser' => $GLOBALS['I18N']->get('delete user'), 'unconfirmuser' => $GLOBALS['I18N']->get('unconfirm user'), 'blacklistuser' => $GLOBALS['I18N']->get('blacklist user'), 'deleteuserandbounce' => $GLOBALS['I18N']->get('delete user and bounce'), 'unconfirmuseranddeletebounce' => $GLOBALS['I18N']->get('unconfirm user and delete bounce'), 'blacklistuseranddeletebounce' => $GLOBALS['I18N']->get('blacklist user and delete bounce'), 'deletebounce' => $GLOBALS['I18N']->get('delete bounce'), 'resendanddeletebounce' => $GLOBALS['I18N']->get('resend and delete bounce'), ); ----> to processbounces.php added the resendanddeletebounce case case 'resendanddeletebounce': logEvent('User '.$userdata['email'].' requeued by bounce rule '.PageLink2('bouncerule&id='.$rule['id'],$rule['id'])); $advanced_report .= 'User '.$userdata['email'].' requeued by bounce rule '.$rule['id']."\n"; deleteBounce($row['bounce']); ### decrement bounce counts Sql_Query(sprintf('update %s set bouncecount = bouncecount - 1 where id = %d', $GLOBALS['tables']['message'], $row['message'])); Sql_Query(sprintf('update %s set bouncecount = bouncecount - 1 where id = %d', $GLOBALS['tables']['user'], $userdata['id'])); ### remove sent record Sql_Query(sprintf('delete from %s where messageid = %d and userid = %d', $GLOBALS['tables']['usermessage'], $row['message'], $userdata['id'])); break;
*** lib_orig.php 2006-10-06 18:44:52.000000000 -0700 --- lib.php 2006-11-10 07:23:11.000000000 -0800 *************** *** 86,91 **** --- 86,94 ---- $usephpmailer = 1; } + ### + ### OPR: 11.09.06 - added resendanddeletebounce + ### $GLOBALS['bounceruleactions'] = array( 'deleteuser' => $GLOBALS['I18N']->get('delete user'), 'unconfirmuser' => $GLOBALS['I18N']->get('unconfirm user'), *************** *** 94,99 **** --- 97,103 ---- 'unconfirmuseranddeletebounce' => $GLOBALS['I18N']->get('unconfirm user and delete bounce'), 'blacklistuseranddeletebounce' => $GLOBALS['I18N']->get('blacklist user and delete bounce'), 'deletebounce' => $GLOBALS['I18N']->get('delete bounce'), + 'resendanddeletebounce' => $GLOBALS['I18N']->get('resend and delete bounce'), ); # check whether Pear HTTP/Request is available *** processbounces_orig.php 2006-10-03 12:11:08.000000000 -0700 --- processbounces.php 2006-11-10 07:24:56.000000000 -0800 *************** *** 438,443 **** --- 438,479 ---- case 'deletebounce': deleteBounce($row['bounce']); break; + + ### + ### OPR: 11.09.06 -- added + ### + case 'resendanddeletebounce': + + logEvent('User '.$userdata['email'].' requeued by bounce rule '.PageLink2('bouncerule&id='.$rule['id'],$rule['id'])); + $advanced_report .= 'User '.$userdata['email'].' requeued by bounce rule '.$rule['id']."\n"; + + deleteBounce($row['bounce']); + + ### decrement bounce counts + + Sql_Query(sprintf('update %s + set bouncecount = bouncecount - 1 + where id = %d', + $GLOBALS['tables']['message'], + $row['message'])); + Sql_Query(sprintf('update %s + set bouncecount = bouncecount - 1 + where id = %d', + $GLOBALS['tables']['user'], + $userdata['id'])); + + ### remove sent record + + Sql_Query(sprintf('delete from %s + where messageid = %d and userid = %d', + $GLOBALS['tables']['usermessage'], + $row['message'], + $userdata['id'])); + + break; + ### + ### + ### } Sql_Query(sprintf('update %s set count = count + 1 where id = %d', $GLOBALS['tables']['bounceregex'],$rule['id']));
processbounces.php (23,268) 10-11-06 20:54
http://mantis.phplist.com/file_download.php?file_id=932&type=bug
lib.php (31,262) 10-11-06 20:55
http://mantis.phplist.com/file_download.php?file_id=933&type=bug
Notes
(0020882)
michiel   
10-11-06 21:04   
that's brilliant. Nice to hear you're using the advanced bounce handling. can you report more on how well it works? I've had very little feedback on it.
(0020883)
orock   
10-11-06 21:30   
thanks. when we read about the advanced bounce handling we immediately wanted to do something like this because these were effectively false bounces. as we analyze and in turn catch more bounces i'll keep you posted but i'm not sure we'll be doing much more with them in the near future.
(0020884)
michiel   
10-11-06 23:00   
when I wrote it, I thought it would be nice to have some method to share rules, so it would be less work for everyone. It might still be nice to think of a way to do that.
(0020886)
orock   
10-11-06 23:07   
adding rules would be nice but would probably require some sort of scripting or macro generating front end... which would also be nice. or do you mean adding rules as they currently exist in the front end? sharing could be like a spamcop type approach which would be ironic. i forgot to mention that the process i described in this issue requires that the job be requeued to pick up the added back names. i might add something to make the job rescan the list before finishing so that pass will pick up subscribers and resends which happened between the start and end.
(0020889)
michiel   
10-11-06 23:37   
no, what I meant was, once you've come up with a list of regular expressions and actions, it would be nice to be able to export them so other people can import them and vice versa. Or even, automatically submit them to some central repository, from which you can update your own list of rules as well. Some kind of "FreeDB.org" kind of thing.
(0050238)
CS2   
01-10-08 14:22   
I wasn't aware of this mod and created a similar one to handle soft bounces. Mine includes a 'soft bounce threshold' and automatically re-queues the message (but does not automatically process the queue). My mod can be viewed in this forum thread: http://forums.phplist.com/viewtopic.php?p=54296#54296 By the way, I like the idea of being able to import and export bounce rules.





View Issue Details
15513 [phplist] User Management feature N/A 04-07-10 16:54 04-07-10 16:58
h2b2  
 
normal  
new  
open  
none    
none  
  2.11.X  
Export bounce statistics options
This has been requested for several reasons: 1. it would make it easier to get an idea of bounce causes, e.g. nonexistent email address, over-quota mailbox, marked as spam, etc. This would use a regex comparable with the one used with Advanced bounce processing. 2. it would make it easier to detect issues with specific email providers, simply by ordering the data by domain. ref: http://forums.phplist.com/viewtopic.php?f=16&t=6322&start=0 [^] These options could be made available per message, and as totals per time period (week, month, year).
Some query examples provided by jknight: ====== Start quote ====== Since there didn't seem to be any bounce-export functionality, I just queried the DB directly. See if this SQL helps you out (try it in phpMyAdmin): select puu.email, pm.sendstart, pb.status, case when instr(data, "Delivery to the following recipients failed.") > 0 then "Delivery failed." when instr(data, "Unknown user") > 0 then "Unknown user" when instr(data, "User unknown") > 0 then "Unknown user" when instr(data, "malformed address") > 0 then "malformed address" when instr(data, "No such user") > 0 then "No such user" when instr(data, "mailbox unavailable") > 0 then "mailbox unavailable" when instr(data, "retry timeout exceeded") > 0 then " retry timeout exceeded" when instr(data, "Mailbox unknown or not accepting mail.") > 0 then "Mailbox unknown or not accepting mail." else "General Failure ..." end as reason, substring(data,1,1000) from phplist_user_message_bounce as pumb join phplist_user_user as puu on pumb.user = puu.id join phplist_bounce as pb on pb.id = pumb.bounce join phplist_message as pm on pm.id = pumb.message Here's a little more complex example of how you can querry the DB directly to run reports on your bounces. This will give you some idea of the difference between a bad address vs. you being blocked as spam. select puu.email, case when instr(data, "Unknown user") > 0 then "Unknown user" when instr(data, "not listed") > 0 then "Unknown user" when instr(data, "bad address") > 0 then "Unknown user" when instr(data, "not a valid mailbox") > 0 then "Unknown user" when instr(data, "User unknown") > 0 then "Unknown user" when instr(data, "Does not exist") > 0 then "Unknown user" when instr(data, "no mailbox here by that name") > 0 then "Unknown user" when instr(data, "No such user") > 0 then "Unknown user" when instr(data, "No such recipient") > 0 then "Unknown user" when instr(data, "REJECT No user") > 0 then "Unknown user" when instr(data, "Mailbox unknown or not accepting mail.") > 0 then "Unknown user" when instr(data, "mailbox not available") > 0 then "Unknown user" when instr(data, "mailbox unavailable") > 0 then "Unknown user" when instr(data, "Unable to process recipient") > 0 then "Unknown user" when instr(data, "unknown or illegal alias") > 0 then "Unknown user" when instr(data, "571 spam source blocked") > 0 then "Spam Source Blocked" when instr(data, "Rule imposed mailbox access") > 0 then "Spam Source Blocked" when instr(data, "is restricted") > 0 then "Spam Source Blocked" when instr(data, "This message appears to be unsolicited bulk mail") > 0 then "Spam Source Blocked" when instr(data, "Requested action not taken: message refused") > 0 then "Spam Source Blocked" when instr(data, "rejected for policy reasons") > 0 then "Spam Source Blocked" when instr(data, "Access denied") > 0 then "Spam Source Blocked" when instr(data, "Connection not authorized") > 0 then "Spam Source Blocked" when instr(data, "Relaying denied. Proper authentication required") > 0 then "Spam Source Blocked" when instr(data, "Recipient address rejected: Blocked") > 0 then "Spam Source Blocked" when instr(data, "550 Mailbox unavailable or access denied") > 0 then "Spam Source Blocked" when instr(data, "message refused") > 0 then "Spam Source Blocked" when instr(data, "Message rejected") > 0 then "Spam Source Blocked" when instr(data, "retry time not reached for any host after a long failure period") > 0 then "retry time not reached for any host after a long failure period" when instr(data, "Address rejected") > 0 then "Address rejected" when instr(data, "Delivery to the following recipients failed.") > 0 then "Delivery failed." when instr(data, "malformed address") > 0 then "malformed address" when instr(data, "retry timeout exceeded") > 0 then "retry timeout exceeded" when instr(data, "mailbox name not allowed") > 0 then "553: mailbox name not allowed" when instr(data, "554 transaction failed") > 0 then "554: transaction failed" when instr(data, "554 TRANSACTION FAILED") > 0 then "554: transaction failed" else "General Failure ..." end as reason, substring(data,1,2000) from phplist_user_message_bounce as pumb join phplist_user_user as puu on pumb.user = puu.id join phplist_bounce as pb on pb.id = pumb.bounce join phplist_message as pm on pm.id = pumb.message On more useful one: this will tell you bounces *by domain*. I don't know why phpList doesn't have this type of reporting. -- bounces per domain select SUBSTRING_INDEX(email, '@', -1) as domain, count(*) as bounces from phplist_user_user PUU join phplist_user_message_bounce PUMB on PUU.id = PUMB.user group by domain order by bounces desc ref: http://forums.phplist.com/viewtopic.php?f=16&t=6322&start=0 [^]
There are no notes attached to this issue.





View Issue Details
15512 [phplist] Click Tracking feature N/A 04-07-10 13:21 04-07-10 16:14
h2b2  
 
normal  
new 2.10.10  
open  
none    
none  
  2.11.X  
Converting statistical responsetime from seconds to h:m:s
Feature request by gcd: ===== Start quote ===== We find the click stats useful, but the responsetime displayed by /admin/mviews.php is in seconds, and therefore difficult for a human to process. We've convert it to hours:minutes:seconds by changing line 136 (in v2.10.10) to use gmdate(): From: $ls->addColumn($element,$GLOBALS['I18N']->get('responsetime'),$row['responsetime'].' '.$GLOBALS['I18N']->get('sec')); to: $ls->addColumn($element,$GLOBALS['I18N']->get('responsetime'),gmdate("H:i:s", $row['responsetime'])); Might want to consider that for future versions. Thanks for the great tool! :D ===== End quote ===== ref: http://forums.phplist.com/viewtopic.php?f=4&t=27762#p66665 [^]
Notes
(0051052)
h2b2   
04-07-10 16:14   
On a similar note dlynes suggests this mod: ===== Start quote ===== I've modified the code to show response time in days, hours, minutes and seconds instead of just seconds. It may or may not be good for languages other than English or French, as I'm not using the I18N globals array for the separators, but I hope you still find the code useful: Replace line 136 in mviews.php: $ls->addColumn($element,$GLOBALS['I18N']->get('responsetime'),$row['responsetime'].' '.$GLOBALS['I18N']->get('sec')); With: $rtdays=(int)($row['responsetime']/3600/24) ; $rthours=(int)(($row['responsetime']-$rtdays*3600*24)/3600) ; $rtminutes=(int)(($row['responsetime']-$rtdays*3600*24-$rthours*3600)/60) ; $rtseconds=($row['responsetime']-$rtdays*3600*24-$rthours*3600-$rtminutes*60) ; $ls->addColumn($element,$GLOBALS['I18N']->get('responsetime'),$rtdays . 'd:' . $rthours . 'h:' . $rtminutes . 'm:' . $rtseconds . 's'); ===== End quote ===== ref: http://forums.phplist.com/viewtopic.php?f=16&t=28152&p=74032#p67829





View Issue Details
15507 [phplist] User Management feature N/A 26-06-10 11:00 04-07-10 11:14
h2b2  
 
normal  
new 2.10.12  
open  
none    
none  
  2.11.X  
Add more export options
A number of forums users mentioned it would be helpful to have more export options, including: - Export only confirmed users - Export only only unconfirmed users - Export only blacklisted users These export options should preferably be selectable per individual list and for all lists.
Related forum threads, with some useful mods or queries: http://forums.phplist.com/viewtopic.php?f=16&t=31064 [^] http://forums.phplist.com/viewtopic.php?f=15&t=8429 [^] http://forums.phplist.com/viewtopic.php?t=13483 [^]
Notes
(0051050)
h2b2   
04-07-10 11:10   
In addition, some users mentioned it would be useful to be able to download campaign statistics in the form of a report per message, which might include: numbers of emails sent, message views, clicktrack statistics, and optionally numbers of bounces, message format. Having these data exported to a CSV file would probably be the best solution, since further data processing spreadsheet or database applications would easily allow attractive presentations.
(0051051)
h2b2   
04-07-10 11:14   
Considering that not all users would need these additional export options, I'd suggest these extra export features be included in a plugin, rather than be part of the main code.





View Issue Details
683 [phplist] All Other feature always 19-10-03 13:38 04-07-10 01:54
michiel  
 
normal  
assigned  
open  
none    
none  
   
graphical statistics
it would be nice to have some graphs, showing subscriptions, unsubscriptions, emails out, views, etc
UserStatisticsPlugin.zip (4,216) 04-07-10 01:54
http://mantis.phplist.com/file_download.php?file_id=3179&type=bug
Notes
(0051049)
h2b2   
04-07-10 01:53   
shizen developed a 'User Statistics by month' plugin with a graphical display of subscriptions (confirmed, unconfirmed and blacklisted users) and unsubscriptions by month. Attached file: UserStatisticsPlugin.zip Related forum thread: http://forums.phplist.com/viewtopic.php?f=7&t=18860





View Issue Details
15510 [phplist] Bounce Management minor have not tried 03-07-10 23:17 03-07-10 23:17
h2b2  
 
normal  
new 2.10.12  
open  
none    
none  
   
Improve bounce processing with beter detection of user email addresses in bounced messages
lpaopia suggests current standard bounce processing could be improved by using a better way to recognize a user's email address in bounced messages.
These are lpaopia suggested code changes: ===== Start quote ==== There is a lot of bounces that is not processed because is not possible recovery relevant data in order to identify the users' email address. I humbly propose this lines that can do it. This code can be better. I tested it, it works. processbounces.php insert below line 116: if (!$user) { //finally, recover every email address for compare them with the table "user" and return its uniquid $filling = ""; $at_warn = -1; for ($n = 0; $n < strlen($body); $n++) { //go over every char. for extract the emails in field "data" $character = substr($body, $n, 1); if ($at_warn == -1 && eregi("[0-9A-Za-z]", $character)) { //first character of the address $filling .= $character; $at_warn = 0; } elseif (ereg("[0-9A-Za-z._-]", $character)) { //rest of characters of the email, except "@" $filling .= $character; } elseif ($character == '@') { //'at' $filling .= $character; $at_warn = 1; } else { if ($at_warn == 1) { for ($m = 1; $m <= strlen($filling); $m++) { //cutting out ".-_" at the end of email if (ereg("[.-_]", substr($filling, $m * -1, 1))) $filling = substr($filling, 0, strlen($filling) - $m); else break; } $at_warn = -1; if ($filling == $GLOBALS['message_envelope'] || eregi("[@.]".getConfig("domain")."$", $filling)) { //exclude the address where arrive the bounces and every address in domain $filling = ""; break; } $userid_req = Sql_Fetch_Row_Query("select id from {$tables["user"]} where email = \"$filling\""); if (VERBOSE) output("UID".$userid_req[0]." MSGID".$msgid); if (isset($userid_req[0])) { if ($userid_req[0] >0) { $user = $filling; $filling = ""; break; } } } $filling = ""; } } } ================ Also, I saw it's necessary to patch other code, for remove "buggy" behavior: processbounces.php if ($msgid == "systemmessage" && $userid) { replace for: if ($msgid === "systemmessage" && $userid) { ---------------^ This, above, does bounces with undentified number of message not be like "systemmessage", because when $msgid has the value 0, is like ($msgid == "systemmessage"). And, bounce.php if (preg_match("#([\d]+) bouncecount increased#",$bounce["comment"],$regs)) { replace for: ---------------------------v if (preg_match("#([\d]+) [bouncecount increased|marked unconfirmed]#",$bounce["comment"],$regs)) { -----------^ This other recovery every user's id of comment line in bounce record ============ The "buggy" bounce.php again. I sugest to add these lines below the number 17: $useremail = isset($_GET["useremail"]) ? $_GET["useremail"] : ''; $amount = isset($_GET["amount"]) ? ( ereg("-?[0-9]+", $_GET["amount"]) ? $_GET["amount"] : '0' ) : '0'; $unconfirm = isset($_GET["unconfirm"]) ? $_GET["unconfirm"] : '0'; $maketext = isset($_GET["maketext"]) ? $_GET["maketext"] : '0'; $deleteuser = isset($_GET["deleteuser"]) ? $_GET["deleteuser"] : '0'; $deletebounce = isset($_GET["deletebounce"]) ? $_GET["deletebounce"] : '0'; And in the new 124: print '<tr><td>'.$GLOBALS['I18N']->get('IncreaseB').'</td><td><input type=text name=amount value="'.$amount.'" size=5>'.$GLOBALS['I18N']->get('IncreaseBNote').'</td></tr>'; ===== End Quote ===== Related forum thread: http://forums.phplist.com/viewtopic.php?f=18&t=31690 [^]
There are no notes attached to this issue.





View Issue Details
15509 [phplist] Plugin API feature N/A 03-07-10 16:18 03-07-10 16:20
h2b2  
 
normal  
new  
open  
none    
none  
  2.11.X  
Plugin: Monitor progress during sending of messages
Monitoring progress during mailqueue processing is a feature regularly asked for in the forums, and may help signal issues during sending, like script timeouts. Ideally, the plugin should be able to: 1) display sending progress, 2) detect sending issues, and show warning messages with useful info about the cause of these issues. Point 2 may require that the phpList error reporting system be made ready to provide error codes to plugins.
A useful progress monitoring plugin was developed by robodigital and CS/CS2, and could be considered a good first step forward: ==== Start quote ==== It'll show the number sent for all messages with status of either "inprocess" or "suspended" along with their status, id and subject. ==== End quote ==== Attached plugin: msgprogress.zip ref: http://forums.phplist.com/viewtopic.php?p=44827#p44827 [^]
msgprogress.zip (827) 03-07-10 16:20
http://mantis.phplist.com/file_download.php?file_id=3178&type=bug
There are no notes attached to this issue.





View Issue Details
15508 [phplist] Plugin API feature N/A 01-07-10 23:43 01-07-10 23:48
h2b2  
 
normal  
new  
open  
none    
none  
  2.11.X  
Plugin: display custom user attributes on user listing
Enrique Erne developed a plugin to display custom attributes in the users view. The attributes to be displayed, can be selected with checkboxes. This plugin might be reviewed and checked and could be a candidate for inclusion in a phpList distribution package or a plugin repository. Enrique Erne released the plugin under the GNU GPL license.
From Enrique Erne's forum post: http://forums.phplist.com/viewtopic.php?p=62685#p62685 [^] ===== Start quote ===== I wrote a plugin "extendedView" to display custom attributes in the users view. The attributes that should be displayed, can be chosen with checkboxes. development =========== The code is a modified version of admin/users.php , it is still a bit messy, for example i commented parts that i didn't need. BETA ==== It is still beta please be careful when using it. It runs well for us. Although I only tried it as superuser. There could be a bug when you are not a superuser. features ======== - "users view" that displays email and custom attributes in a table - any attributes can be visualized by selecting their checkbox - additional filter option: by list - option of how many entries to display - parses all fields and makes real links out of "www." or "http://" [^] - multiple users can be selected and added to any list - dropped pagination Installation ============ Add plugin directory to phplist by changing config.php on line 568 define("PLUGIN_ROOTDIR","../../myPlugins"); in my case the myPlugin directory is next to the phplist directory list/ note ==== In order to display anything on default and to search in all users it is required to have a list with all users. This list should be made default by specifying it on the line 53 in myPlugins/extendedView/main.php $filterlistid = '1'; // config: list with all users A list with the default attributes can can be set on line 93 if($showAttributes==array(0)){ $showAttributes = array(1, 2, 3, 5, 8, 11, 16); } // configuration to show default attributes Enjoy ===== Please feel free to use this plugin under the comon phplist licence (if i remember correctly it's GNU GPL) Best Enrique Erne ====== End Quote ======
myPlugins.zip (9,180) 01-07-10 23:44
http://mantis.phplist.com/file_download.php?file_id=3177&type=bug
There are no notes attached to this issue.





View Issue Details
15476 [phplist] Message Send Process feature N/A 10-05-10 07:14 01-07-10 16:05
h2b2  
 
normal  
new 2.10.12  
open  
none    
none  
  2.11.X  
Add a 'List-Unsubscribe' line to the email header to comply with RFC 2369
As a means to facilitate unsubscribing of mailing lists, several large mail providers recommend using the 'List-unsubscribe' header line in emails, as specified in RFC 2369. Adding this feature would be in line with existing phpList policy, i.e. to give maximum subscription and unsubscription control to list subscribers.
Related links: http://www.list-unsubscribe.com/ [^] http://www.faqs.org/rfcs/rfc2369.html [^] https://mail.google.com/support/bin/answer.py?hl=en&answer=81126#unsub [^]
Notes
(0051048)
h2b2   
01-07-10 16:05   
CS2 developed this mod: ===== Start quote ===== I've created a mod that will add the List-Unsubscribe header to emails sent from PHPlist. The List-Unsubscribe header includes either an email address or web page that can be used for unsubscribing. It allows mail clients that support it the ability to include an "unsubscribe" link or button. Hotmail currently supports this feature and gmail list having this header in their suggested guidelines for increasing delivery rates to gmail. For more information on the header, see this page: http://www.list-unsubscribe.com/ Note, this is not intended as a replacement for the [UNSUBSCRIBE] placeholder, but as a useful counterpart. Find the following section in admin/class.phplistmailer.php (around line 25): $this->addCustomHeader("X-Mailer: phplist v".VERSION); $this->addCustomHeader("X-MessageID: $messageid"); $this->addCustomHeader("X-ListMember: $email"); $this->addCustomHeader("Precedence: bulk"); and place this code in there: $url = getConfig("unsubscribeurl");$sep = ereg('\?',$url)?'&':'?'; $req = Sql_Fetch_Row_Query(sprintf("SELECT uniqid FROM %s WHERE email = '%s'", $GLOBALS["tables"]["user"],$email)); $hash = $req[0]; $unsubscribeurl = sprintf('%s%suid=%s',$url,$sep,$hash); $this->addCustomHeader("List-Unsubscribe: $unsubscribeurl"); ====== End Quote ====== source: http://forums.phplist.com/viewtopic.php?p=61772#p61772





View Issue Details
15500 [phplist] User Management major always 04-06-10 18:28 26-06-10 19:55
pulikka  
 
normal  
new 2.10.12  
open  
none    
none  
   
Users are not exported if custom attributes are set
If custom attributes are added to the users and the list is exported, users which have value in custom attribute field (added by administrator) are not exported.
Tested with textline attribute field.
Notes
(0051036)
h2b2   
07-06-10 22:11   
What exactly were the export options you selected?
(0051047)
pulikka   
26-06-10 19:55   
I have added additional fields (custom attributes) to user. If admin has been changed content of those fields and try to export users, users which additional data has been changed are not exported. Manage users\export users Date from: 1.1.2007 Date to: [x]When they subscribed to Select the columns to include in the export:





View Issue Details
15502 [phplist] Message Send Process block always 09-06-10 12:23 24-06-10 00:16
martinjoiner  
 
normal  
new 2.10.10  
open  
none    
none  
   
On a list of 500 users only the first 50 receive messages yet the log suggests complete success
I have a list of just over 500 users which I entered in bulk through PHPMyAdmin. The bug manifests itself in 2 ways, when I send to that list only the first 50 (alphabetically) receive messages. Secondly it manifests itself in the inability to view any of the users past 50 - you click next page and it simply reloads the current page (1 - 50). Although they are there and visible if you view them by clicking "Users" and scroll through the list of all users. Help!
Notes
(0051046)
h2b2   
24-06-10 00:16   
v2.10.10 is an older version. You might try upgrading.





View Issue Details
11845 [phplist] Subscriber Import major always 07-10-07 21:08 24-06-10 00:12
bhugh  
 
normal  
new 2.11.3  
open  
none    
none  
  2.11.X  
CSV import with Foreign Key causes problems
When a user already exists in the database with no foreign key, and then updated records are imported via a CSV file import that now includes a foreign key, the records are not matched. This creates a problem because list subscription and other information (RSS frequency, attributes) are lost for that user. Also it makes it essentially impossible to start out with a database of users with no foreign key and then later decide to add a foreign key. When the database with this new "foreign key" field is imported, under current PHPlist (through 2.11.3) there is no way to match the new & old users. My suggested solution is is to change the way users are matched if the Foreign Key field exists in the CSV import file: * Currently (PHPlist 2.10.1 thru 2.11.3) if Foreign Key exists in the import file record, matching is attempted via Foreign Key. If no match is located via Foreign Key, then the record is imported as a new record (which may be marked "Duplicate" depending on other settings). * My suggested change is to change to a "Soft Match" scenario when importing a file with Foreign Key field. If the Foreign Key in the import file matches a Foreign Key in the PHPlist database, then that is a match. However if no Foreign Key match is located, then match is attempted via the Email field. This would allow a Foreign Key to be added (via CSV file import) to users that currently exist in the PHPlist database. BTW I consider this "major" because I imported over 1200 users with a new foreign key. Most already existed in the PHPlist database. Due to the presence of the Foreign Key all 1200 existing entries were moved to "Duplicate". That meant that all list subscriptions, RSS frequency selection, and other existing info for those 1200 users was lost. It took some pretty fancy footwork to recover from that loss of data. This was a major problem for me I and would imagine that I will be far from the only person to try to do something like this. More about this issue is at http://forums.phplist.com/viewtopic.php?p=37643 [^] The solution is pretty simple and included below in the additional info section.
Here is the mod to implement "soft Foreign Key matching for CSV imports" for the "import emails with different values for attributes" function. Find the file importcsv.php in phplist/admin/commonlib/pages Around line 418 find these lines: ----- if ($cnt % 25 == 0) { print "
\n$cnt/$total"; flush(); } if ($user["systemvalues"]["foreign key"]) { $result = Sql_query(sprintf('select id,uniqid from %s where foreignkey = "%s"', $tables["user"],$user["systemvalues"]["foreign key"])); ----- Replace them with these lines: ----- if ($cnt % 25 == 0) { print "
\n$cnt/$total"; flush(); } //change, bhugh, 10/5/2007, so that imports are are "soft matched" by foreign key, then email //In "soft matching", imports are matched by foreign key IF AND ONLY IF there is an //existing foreign key in the database that matches the import foreign. //If there is no matching foreign key then an attempt is made to match via email address instead. $foreignkey_exists=FALSE; if ($user["systemvalues"]["foreign key"]) { $result = Sql_query(sprintf('select id,uniqid from %s where foreignkey = "%s"', $tables["user"],$user["systemvalues"]["foreign key"])); $foreignkey_exists = Sql_Affected_Rows(); } //if the import has a foreign key & that foreign key matches something, we go ahead & do it that way //otherwise we skip this & go on to try to match via email address if ($foreignkey_exists) { -----
Notes
(0051040)
shimfish   
23-06-10 11:06   
The *real* fix can be found at http://forums.phplist.com/viewtopic.php?f=24&t=24027&p=60387&hilit=foreignkey#p60387 The problem is that the code uses 'foreign key' instead of 'foreignkey'
(0051042)
h2b2   
23-06-10 13:01   
Thanks for referring to this fix. Could you mention which phpList version you are running? The above report is related to development release v2.11.3. The forum thread you mentioned refers to phpList v2.10.9. However in v2.10.12 admin/commonlib/pages/importcsv.php has changed compared to v2.10.9.
(0051043)
shimfish   
23-06-10 13:06   
This fix worked for me on v2.10.10 I assumed it hadn't been fixed on more recent versions as this bug report was still open.
(0051044)
shimfish   
23-06-10 13:29   
From a quick look at the svn repo, it does appear that this fix is still valid for v2.11.3 though I should stress I haven't tried using anything other than v2.10.10. The importcsv.php still seems to refer to 'foreign key' whereas structure.php uses 'foreignkey' (I also missed this ticket was for a future version as I only noticed that it was opened in 2007....)
(0051045)
h2b2   
24-06-10 00:12   
OK, thanks for the feedback.





View Issue Details
15504 [phplist] Message Management feature always 15-06-10 13:29 23-06-10 12:40
fabio_sironi  
 
normal  
new 2.10.10  
open  
none    
none  
  2.11.X  
Dynamic fields in Messag Subject
Hi. I'm already using dynamic fields in message body, e.g.: [firstname] [lastname], welcome! This is just a sample emailing..... I would like to use those fields also in the message Subject, to customize as mach as possible my emailings, e.g.: Subject: [title] [lastname], this special offer is for you! I tried to do this way, but when e-mail are sent, dynamic fields are NOT replaced with real values. Any suggestion to fix it? Thanks in advance. Fabio.
Notes
(0051038)
h2b2   
22-06-10 22:52   
Related forum thread: http://forums.phplist.com/viewtopic.php?f=7&t=16650&start=0
(0051041)
fabio_sironi   
23-06-10 12:40   
Thanks for the answer! We will test it asap and let you know. Thanks.





View Issue Details
15505 [phplist] Configuration trivial N/A 16-06-10 14:56 22-06-10 23:13
kieranmullen  
 
normal  
new 2.10.12  
open  
none    
none  
   
RFF: Disable "PhPList Maillist Processing info" in config
I would like to request the option to disable the batch report emails "PhPList Maillist Processing info" mail after each batch run and just have the final report when they were all sent out? Or perhaps just one every X periods so I still know it is working.
Notes
(0051039)
h2b2   
22-06-10 23:13   
The issue of getting many "PhPList Maillist Processing info" emails is usually a problem that occurs when batch processing is configured to run frequently in a short time span. This way of configuring batch processing is often used to keep the process running and avoid frequent timeouts which are typical of some (shared) server environments. A number of users on the forum reported these "PhPList Maillist Processing info" emails contributed to breaking the message sending limits set by hosting providers. I expect these users would support this feature request.





View Issue Details
9160 [phplist] Message Send Process feature N/A 09-02-07 12:20 22-06-10 22:44
joeaston  
 
normal  
new  
reopened  
none    
none  
   
Swift Mailer Implementation (More efficient & featured PHPMailer replacement)
I'd love to see Swift Mailer implemented into PHPList, which would replace the currently used PHPMailer class. Swift is a fully OOP Library for sending e-mails from PHP websites and applications. Swift is comparable to PHPMailer except that it is much faster and more efficient, and implements an extremely flexible and innovative plugin system. The interface for Swift is both tighter and more intuitive. PHPMailer is now very outdated; it is no longer in active development, is limited in support, and is lacking in essential features such as TLS/SSL and is difficult to interface with. I've used Swift Mailer already and I'm in awe of it's speed & performance, flexibility and ease of use. Please would the development team consider implementing Swift Mailer? I'd love to contribute.
Some of Swift Mailer Features: * Send uses one single connection to the SMTP server or MTA * Doesn't rely on mail() * Custom Headers * Multiple encoding options * Unlimited redundant connections (can use mixed types too) * Connection rotating/load balancing * TLS Support - for Gmail servers * Embedded Images or other file types * Builds and sends Multipart messages * Sends single-part emails as usual * Fast Cc and Bcc handling * Unicode UTF-8 support, with auto-detection * Handles denied recipients in batch mailing whilst still delivering to the others * Optional auto-detection of SMTP or Sendmail settings * Batch emailing with multiple To's or without * Send to hundreds of thousands of addresses without cron * Support for multiple attachments * Protection against header injection * Set message priority * Request Read Receipts * Sendmail (or other binary) support * Pluggable SMTP Authentication (LOGIN, PLAIN, MD5-CRAM, POP Before SMTP) * Anti-Flooding support (reconnect every X emails) via plugin * Secure Socket Layer connections (SSL) * Loadable plugin support with event handling features
Swift-2.1.17.zip (295,176) 09-02-07 12:20
http://mantis.phplist.com/file_download.php?file_id=1052&type=bug
Notes
(0024390)
michiel   
06-03-07 12:18   
apologies for anyone who gets to this page after having received a "reminder". Unfortunately, someone accidentally "reminded" the entire list of users in mantis about this issue, which automatically sends out an email. We have removed this from the database, and we have updated the permissions in mantis, so that this cannot happen again. Michiel
(0024434)
darwin   
06-03-07 21:05   
I'd welcome this change, or at least adding SwiftMailer to the options on installing PHPList. The sendmail function in PHPList is indeed creaky, as you can see in many other posts on this forum. If Swift can improve it, wonderful. But let's be careful to keep the original PHPMailer routines in place as the default -- and offer a simple way to substitute SwiftMailer. How does one do that, by the way? I want to try this out on a couple of my installations, and am pretty fearless in editing various types of config files...but I don't want to break anything, and just using the installer in the Swift-2.1.17.zip file here is likely to make some pretty deep, irreversible changes to my installations of PHPList.
(0024435)
michiel   
06-03-07 21:20   
most flexible way to implement it would be by adding a wrapping class like phplistmailer is around phpmailer, so that the phplist specifics can be created there.
(0024463)
joeaston   
07-03-07 13:52   
darwin: It looks like michiel and the rest of the development team are too busy to help implement this, so would you like to work on this with me? Michiel has suggested adding a 'wrapping class' similar to how the phplistmailer class is added on top of phpmailer; do you know how we'd go about implementing this?
(0024499)
darwin   
07-03-07 19:32   
I'm not PHP-literate enough to actually develop a wrapping class for PHPMailer, though I do understand what it is. I could help by writing a spec for it, laying out the variables that should be set by a simple menu-selection app, if someone can write the underlying code.





View Issue Details
8436 [phplist] Bounce Management feature always 03-11-06 23:37 22-06-10 11:07
osoell  
 
normal  
new 2.10.3  
open  
none    
none  
  2.11.X  
VERP processing in processbounces.php
I've added a clause to get the bounced user from VERP rather than the X-[ListMember,User]. This will be necessary for fast sending when messages are not personalized, and therefore have no such headers. Patch below- it's small enough that I didn't make a file.
--- /home/olivers/phplist/phplist-2.10.3/public_html/lists/admin/processbounces.php 2006-10-03 11:11:07.000000000 -0700 +++ processbounces.php 2006-11-03 15:32:10.000000000 -0800 @@ -114,6 +114,17 @@ function processBounce ($link,$num,$head $user = trim($match[1]); } + # added to get user from VERP only + # must have message_envelope set as that his how VERP works + if (!$user && $GLOBALS["message_envelope"]) { + $envelope = $GLOBALS["message_envelope"]; + $username = substr($envelope, 0, strpos($envelope,'@')); + $domain = strstr($envelope, '@'); + preg_match('/'.$username.'\+(.*)'.$domain.'/',$body,$match); + if (is_array($match) && isset($match[1])) + $user = str_replace('=','@',trim($match[1])); + } + # some versions used the email to identify the users, some the userid and others the uniqid # use backward compatible way to find user if (preg_match ("/.*@.*/i",$user,$match)) { @@ -545,4 +556,4 @@ if ($unsubscribed_users) { # http://bugs.php.net/bug.php?id=7207 [^] -?> \ No newline at end of file +?>
Notes
(0051037)
h2b2   
22-06-10 11:06   
On a similar note tipichris developed this patch to allow VERP bounce processing: ====== Start quote ====== I've created a patch to provide VERP bounce processing. This currently works only if phpmailer is being used. An additional parameter has been added to PHPlistMailer which should be the unique id of the user being mailed. Two additional config parameters must be set: Code: Select all # Do we use VERP define ("USE_VERP",1); # This should match the recipient delimiter / address extension delimiter configured # in your mail server. For Postfix, this is the value of recipient_delimiter and defaults # to +. Other systems may vary define ("VERP_DELIMITER", '+'); The behaviour is as follows: given a value of $message_envelope of phplist-bounce@example.com, a user unique ID of abcdef1234567890 and a message id of 253 the return path will be set to phplist-bounce+abcdef1234567890===253@example.com Bounces sent to this address can then easily be identified as relating to a particular user and message. The system requires that the mail server to which bounces are directed honours the use of address extensions and places messages to phplist-bounce+abcdef1234567890===253 in the phplist-bounce mailbox I was going to attach this, but it won't let me. So here it is: --- lists/admin/processbounces.php.orig Wed Jun 3 20:00:35 2009 +++ lists/admin/processbounces.php Wed Jun 3 20:50:55 2009 @@ -94,9 +94,29 @@ $body= imap_body ($link,$num); $msgid = 0;$user = 0; + + if(USE_VERP) { + // assume the original return path is in the To: header of the bounce + $to = $headerinfo->to; + foreach ($to as $rcpt) { + $bouncemb = $rcpt->mailbox; + list($mebox, $mehost) = explode("@", $GLOBALS["message_envelope"], 2); + // does this look like one of our VERP addresses? + if (preg_match("/" . $mebox . "/i", $bouncemb)) { + list($guff, $verpstr) = explode(VERP_DELIMITER, $bouncemb); + if ($verpstr) { + list($user, $msgid) = explode('===', $verpstr); + break; + } + } + } + } + + if (!$msgid) { preg_match ("/X-MessageId: (.*)/i",$body,$match); if (is_array($match) && isset($match[1])) $msgid= trim($match[1]); + } if (!$msgid) { # older versions use X-Message preg_match ("/X-Message: (.*)/i",$body,$match); @@ -104,9 +124,11 @@ $msgid= trim($match[1]); } + if (!$user) { preg_match ("/X-ListMember: (.*)/i",$body,$match); if (is_array($match) && isset($match[1])) $user = trim($match[1]); + } if (!$user) { # older version use X-User preg_match ("/X-User: (.*)/i",$body,$match); --- lists/admin/class.phplistmailer.php.orig Tue Jun 2 21:36:20 2009 +++ lists/admin/class.phplistmailer.php Wed Jun 3 20:26:23 2009 @@ -22,7 +22,7 @@ 'swf' => 'application/x-shockwave-flash' ); - function PHPlistMailer($messageid,$email) { + function PHPlistMailer($messageid,$email,$uid=null) { # parent::PHPMailer(); parent::SetLanguage('en', dirname(__FILE__) . '/phpmailer/language/'); $this->addCustomHeader("X-Mailer: phplist v".VERSION); @@ -51,8 +51,15 @@ //$ip = gethostbyname($this->Host); if ($GLOBALS["message_envelope"]) { + if ($uid && USE_VERP) { + list($mebox, $mehost) = explode("@", $GLOBALS["message_envelope"], 2); + $verprp = $mebox . VERP_DELIMITER . $uid . "===" . $messageid . '@' . $mehost; + $this->Sender = $verprp; + $this->addCustomHeader("Errors-To: ". $verprp); + } else { $this->Sender = $GLOBALS["message_envelope"]; $this->addCustomHeader("Errors-To: ".$GLOBALS["message_envelope"]); + } } } --- lists/admin/sendemaillib.php.orig Sun May 31 21:58:10 2009 +++ lists/admin/sendemaillib.php Tue Jun 2 21:54:14 2009 @@ -599,7 +599,7 @@ "List-Owner: " )); } else { - $mail = new PHPlistMailer($messageid,$destinationemail); + $mail = new PHPlistMailer($messageid,$destinationemail,$userdata['uniqid']); if ($forwardedby) { $mail->add_timestamp(); } ====== End Quote ====== source: http://forums.phplist.com/viewtopic.php?p=62722#p62722





View Issue Details
15503 [phplist] HTML Email Support major always 15-06-10 00:36 15-06-10 00:36
cecillewaters  
 
normal  
new 2.10.12  
open  
none    
none  
   
HTML emails not supported in email subscription signup process
HTML emails not supported in email subscription signup process. Both the initial confirmation message and message sent after signup were not displayed in html. 27/05/10 - upgraded to version 2.10.12 (this is the latest stable version as at 15/06/2010) This caused non HTML emails to be sent in the subscription emails sign up process Rolled back to version: 2.10.5 which fixed the issue. Has anyone else had this issue or is there a fix for it please? Cheers Cecilia
There are no notes attached to this issue.





View Issue Details
11936 [phplist] Message Send Process minor always 12-10-07 05:03 08-06-10 04:06
h2b2  
 
normal  
new 2.10.5  
open  
none    
none  
  2.11.X  
Resend the request for confirmation does no seem to conform to throttle or batch settings in config.php
When using the "resend the request for confirmation to users who signed up and have not confirmed their subscription" option on the "reconcile users" page, the confirmation requests are sent as fast as possible, without conforming to the send rate settings in config.php. This can be problematic when the number of confirmation requests is higher than the message limit set by a host. A similar issue, involving the "Send Notification email" when importing users, has been addressed in release 2.11.4, and could be applied here.
This issue is related to these mantis reports: http://mantis.phplist.com/view.php?id=10817 [^] http://mantis.phplist.com/view.php?id=11179 [^] And to these forum threads: http://forums.phplist.com/viewtopic.php?t=10954 [^] http://forums.phplist.com/viewtopic.php?t=12453 [^]
Notes
(0044321)
h2b2   
08-04-08 06:22   
Related to Mantis issue http://mantis.phplist.com/view.php?id=10817 davidS posted a number of mods in this thread: http://forums.phplist.com/viewtopic.php?t=13311





View Issue Details
11336 [phplist] Message Send Process major always 10-09-07 15:10 08-06-10 03:43
ecaron  
 
normal  
new 2.11.3  
open  
none    
none  
  2.11.X  
Division by zero error in processqueue.php
Error log keeps getting this (when processqueue is run with nothing to process against 2 mailing lists of about 30,000): PHP Warning: Division by zero in /var/www/html/jobdig/etreat/admin/processqueue.php on line 770 This can be fixed by changing line 770 to this: $secpermsg = (($sent) ? $totaltime / $sent : 0);
There are no notes attached to this issue.





View Issue Details
7797 [phplist] Click Tracking feature always 10-09-06 18:47 04-06-10 02:03
dpicon  
 
normal  
new 2.10.2  
open  
none    
none  
  2.11.X  
<area links do not work with CLICKTRACK.
Hi! I found the link track does not work with area links. Please read my following post for more info, and "fixing" code. http://forums.phplist.com/viewtopic.php?t=6349 [^] Thanks for PHPlist! David.
Notes
(0051003)
h2b2   
10-05-10 22:08   
related to http://forums.phplist.com/viewtopic.php?p=36971#p36971





View Issue Details
15254 [phplist] Click Tracking minor have not tried 05-04-09 20:26 04-06-10 01:59
h2b2  
 
normal  
new 2.10.8  
open  
none    
none  
  2.11.X  
Issue with link conversion for click tracking
Link conversion for clicktracking in v2.10.8 generates broken links under specific conditions by adding a trailing "%3D" (an equivalent for "=") to the link id. For instance: /lists/lt.php?id=f0wESAJQAQtFBwoBBAM%3D System info: phplist - v2.10.8 (with magic quotes off) Apache - 2.2.10 cPanel - 11.23.6-STABLE Curl - 7.12.1 MySQL - 5.0.51a phpMyAdmin - 2.11.9.1 Python - 2.4.3 Perl - 5.8.8 PHP - 5.2.6 ionCube Loader - 3.1.32 Zend Optimizer - 3.3.3 Ruby Rails - 1.8.5 OpenSSL - 0.9.8b The issue was reported on this forum thread: http://forums.phplist.com/viewtopic.php?p=58171#58171 [^] http://domain.com/lists/lt.php?id=f0wESAJQAQtFBwoBBAM%3D [^]
Seems related to http://mantis.phplist.com/view.php?id=8980 [^] Have filed a new report since issue 8980 apparently doesn't allow re-opening the issue to post feedback notes. -
Notes
(0050614)
h2b2   
05-04-09 20:43   
A somewhat similar issue has been reported for v2.10.4. In this particular case link conversion results in two trailing "%253D" (another equivalent for a "=") being appended to the link id, for instance: lists/lt.php?id=ex1VBglVB1VEA1EFGQBbVw%253D%253D In both case, an encoded "=" symbol is appended, which would seem to point to a charset related issue that has possibly not been taken into account in the fix for http://mantis.phplist.com/view.php?id=8980 These are charset settings for the system: - phplist version: 2.10.4 - charset defined on configuration page: iso-8859-1 - charset in languages.php: "en" => array("English ", "iso-8859-1", "iso-8859-1, windows-1252 ") - In config.php: - $language_module = "english.inc"; (with $strCharSet = iso-8859-1) - define("HTMLEMAIL_ENCODING","quoted-printable"); - define("TEXTEMAIL_ENCODING",'7bit'); - Database encoding: - character_set_client utf8 - character_set_connection utf8 - character_set_database latin1 - character_set_filesystem binary - character_set_results utf8 - character_set_server latin1 - character_set_system utf8 - character_sets_dir /usr/share/mysql/charsets/ -





View Issue Details
9532 [phplist] Click Tracking major always 20-03-07 21:56 04-06-10 01:48
hola  
 
normal  
new 2.11.3  
open  
none    
none  
  2.11.X  
mclicks SQL
mclicks SQL - shouldn't the SQL SUM the following columns to get a correct number of clicks clicked htmlclicked textclicked Currently the sql grabs the value out of the columns of the first record set returned SELECT DISTINCT messageid, subject, total, count( forwardid ) AS linkcount, clicked AS totalclicks, htmlclicked, textclicked FROM phplist_linktrack_ml AS linktrack_ml, phplist_message AS message WHERE clicked AND linktrack_ml.messageid = message.id GROUP BY messageid ORDER BY entered DESC LIMIT 0 , 50
There are no notes attached to this issue.





View Issue Details
15425 [phplist] All Other minor sometimes 24-03-10 03:47 03-06-10 11:44
h2b2  
 
normal  
new 2.10.10  
open  
none    
none  
  2.11.X  
Active lists not displayed on preferences page
A number of forum reports mentioned that active lists were not displayed on the preferences page of a user and instead got this error message: "Sorry there are currently no newsletters available" For more details, see: http://forums.phplist.com/viewtopic.php?f=24&t=24935#p63074 [^] http://forums.phplist.com/viewtopic.php?f=24&t=25039 [^] A possible fix, which seems to work at least for some, was suggested in this post: http://forums.phplist.com/viewtopic.php?p=66937#p66937 [^]
The issue is not widely reported on the forum. System info is missing in the forum reports. Could not reproduce this issue on my system.
Notes
(0050867)
michiel   
09-04-10 17:30   
that sounds more like a config issue: 1. user is related to a subscribe page 2. subscribe page is not set to list any lists only without subscribe pages will phpList list all "active" lists. When subscribe pages are in effect, it will use the ones set on the subscribe page. does that sound like a possible cause for it?
(0050963)
Ed Poor   
23-04-10 16:51   
How is a user related to a subscribe page? Is there a way to see or change what Subscribe Page a user is related to?
(0050964)
michiel   
23-04-10 16:57   
when viewing the user, there's a value for "Which page was used to subscribe" if it's empty, it'll use the default page
(0051017)
nhoeller   
19-05-10 21:31   
I am seeing the same problem. I did a clean install of 2.10.5 using Plesk on a CentOS 5 VPS. I disabled all the existing lists, created a new list, made it active and added a user. I did a test mailing but was still in 'test mode'. I then decided to upgrade to 2.10.12, replacing all files, updating the new configuration file and retaining the 2.10.5 database. The database update was successful. When I logged out and accessed the list as a user wishing to subscribe, I got the message 'Sorry there are currently no newsletters available'. Activating another mailing list did not change the symptoms. When I applied the update to index.php from http://forums.phplist.com/viewtopic.php?p=66937#p63078, a new subscriber was able to see both lists. Making the test list inactive caused users to be added to the remaining list without having to select it. I got 3,4,5,6 when I dumped $data["lists"] around line 512 of index.php. Assuming these numbers relate to the list numbers, the two lists that were active at the time were 1 and 7. As a test, I activated lists 1, 3 and 7. With the update to index.php in place, all three lists appeared. With a stock index.php, I was automatically subscribed to list 3. $data["lists"] was still showing 3,4,5,6. It will be at least another week before this phplist will go live, so I can do simple debugging if that will help.
(0051034)
nhoeller   
02-06-10 23:03   
Further testing showed that my problem was a 'user error'. I had not associated the new mailing list with any subscribe pages. Once I had done that, I was able to subscribe using the original index.php code. The instructions relating to the linkage between mailing lists and subscribe pages could be clearer.
(0051035)
michiel   
03-06-10 11:44   
yes, I guess it's not very intuitive how it works, and it should be addressed either in documenting more clearly, or updating the way it works, adding eg a message about it.





View Issue Details
15248 [phplist] User Management minor always 22-03-09 12:20 02-06-10 12:32
scottg  
 
normal  
resolved 2.10.9  
fixed  
none    
none 2.10.10  
  2.10.10  
DB error 1146 while doing query Table 'groups' doesn't exist
Recently installed PHPList 2.10.9 and all seemed to work fine until I enabled user passwords in config.php by changing ASKFORPASSWORD,0 to ASKFORPASSWORD,1. Now, after the user enters their password, they get the error message: Database error 1146 while doing query Table '*_phplist.groups' doesn't exist I would manually create the table but I don't know what variables and parameters of the table should be. I don't know where that "groups" table comes from. I see that there are others with the error referencing "user_group" but not "groups". I don't think I have any custom mods installed. I did a typical installation and modified some of the variables in config.php as instructed in the documentation. I ran dbcheck and all was good (checked). The table "groups" was not listed there, not part of dbcheck.
Linux 2.6.27.6-grsec PHP 5.2.8 MySQL 5.0.67
Notes
(0050578)
CS2   
22-03-09 23:05   
If you set "ASKFORPASSWORD" to 1, then on line 170 of lists/index.php it calls the loadUser function, which is defined in admin/lib/commonlib/userlib.php. Line 761 of that file calls the userGroups() function like this: $_SESSION["usergroups"] = userGroups($loginname); The userGroups() function is defined starting on line 393 of the same file. On line 400, it calls the getEveryoneGroupId() function (also defined in the same file), which in turn queries the groups table. No where in this sequence of events does the code check to see if the "groups" table exists, as it does in other places. My best guess is that line 400 should be changed from: $ev = getEveryoneGroupID(); to if (Sql_Table_exists("groups")) $ev = getEveryoneGroupID(); There may be other places where the check was not made, but I believe its the cause in this case. Please see also this related forum topic: http://forums.phplist.com/viewtopic.php?p=60894
(0050582)
michiel   
23-03-09 14:53   
the "groups" table in the DB is part of the Webbler (cms that phplist is a module of) and should be ignored when using phpList standalone. it's safe to remove that line $_SESSION["usergroups"] = userGroups($loginname);
(0050598)
scottg   
24-03-09 10:28   
In userlib.php, changing line 400 from: $ev = getEveryoneGroupID(); to: if (Sql_Table_exists("groups")) $ev = getEveryoneGroupID(); fixed the error message (no more error message).
(0051032)
h2b2   
02-06-10 01:45   
It seems to me this was fixed in 2.10.10. Can you confirm this?
(0051033)
michiel   
02-06-10 12:32   
yes, that was fixed





View Issue Details
13117 [phplist] Subscriber Import feature always 25-01-08 19:04 02-06-10 01:20
flohack  
 
normal  
new 2.10.5  
open  
none    
none  
  2.11.X  
Importing users leaves RSS frequency empty
When importing users the rssfrequency field stays empty, making it impossible to send to this people without a database hack.
after adding the column to the INSERT INTO statements in importxy.php I could fix it for my needs. I do not post a patch here since I think this default value should be wisely implemented by someone who is more into the code than me.
Notes
(0051031)
h2b2   
02-06-10 01:20   
Not sure if this was addressed in 2.10.7. Target re-set.





View Issue Details
14170 [phplist] Bounce Management minor always 17-04-08 08:57 02-06-10 01:12
flohack  
 
normal  
new 2.10.5  
open  
none    
none  
  2.11.X  
consecutive bounces are not counted in presence of multiple RSS msgs with different interval
processbounces.php: The SQL for fetching consecutive bounces does not take into account that when a daily and a weekly message exist, the weekly subscribers never get the daily msgs, and so the result of the query shows "not sent" items without bounce id, but they are interpreted as received without error. The SQL there has to look like: SELECT * from phplist_usermessage left join phplist_user_message_bounce on (messageid = message and userid = user) where userid=40 AND STATUS='sent' order by entered desc plz note the added where condition with status...
There are no notes attached to this issue.





View Issue Details
14115 [phplist] RSS minor always 15-04-08 10:15 02-06-10 01:00
flohack  
 
normal  
new 2.10.5  
open  
none    
none  
  2.11.X  
rsslib.php: user send check compares interval too strict
When sending to users, user_rss is checked for send permission to a specific user. The comparison which is done relies on INTERVAL xy.... however, the date field in user_rss gets updated with the actual send timestamp of the corresponding mail. Now, as time goes by, users at the end of a batch will have noticeable later timestamp (seconds to minutes). The next send check may or may not eliminate these users since it is "toot early" for them to send. The timestamp in user_rss should therefore be the actual start time and date of the send process, rather than when the email left the server. Therefore, all users will be treated equal. Additionally the INTERVAL comparison in rsslib.php should get some extra seconds to be on the safe side. glitching clocks and other long term run problems could get eliminated this way.
There are no notes attached to this issue.





View Issue Details
10051 [phplist] Batch Processing minor always 21-05-07 18:27 02-06-10 00:33
bhugh  
 
normal  
new 2.10.2  
reopened  
none    
none  
  2.10.13  
rss threshold comparison should be >=, not >
This line in processqueue.php is currently: $cansend = sizeof($rssitems) && (sizeof($rssitems) > $rss_content_treshold); Should be: $cansend = sizeof($rssitems) && (sizeof($rssitems) >= $rss_content_treshold); The reason: the config page says the threshold is "Minimum amount of items to send in an RSS feed", thus >= matches this statement.
Notes
(0050493)
carol   
16-02-09 13:33   
Closing issue because it is too old. If you feel it is still relevant please add again and give the new context. Thanks!
(0051030)
h2b2   
02-06-10 00:33   
(edited on: 02-06-10 00:50)
Re-opened for review. This issue may still be relevant in v2.10.12. See: http://forums.phplist.com/viewtopic.php?p=76184#p76184





View Issue Details
10058 [phplist] Batch Processing major always 22-05-07 05:17 02-06-10 00:14
bhugh  
 
normal  
new 2.10.2  
reopened  
none    
none  
  2.11.X  
Many users not receiving email because of too-large SQL query in processqueue.php (with solution)
Several months ago I increase the number of subscribers from about 2000 to 3200. Recently I noticed that about 1000 of them had not been receiving **any** email messages since that time. This despite the fact that the email reports etc. indicated that the message had finished sending successfully. Looking at the "history" for many individual users, it beaome clear that they hadn't received any of the messages for several months--since the exact time I added a lot of people to the email recipient list. Tracking down the problem I discovered that queries as developed in processqueue.php are very, very long--as in, 20K to 25K in length for a list of this size. This is the same as bug #8478. The file attached to this bug has a ver. of processqueue that incorporates teh fixes to bug #8478 as in rev. 1.18.2.5 of processqueue.php (and subsquent revisions) but also a lot more changes that fix a bunch of other problems as well. The attached processqueue.php uses a the "pure SQL query" approach that just selects the users that are needed without doing so much extra processing within PHP. It also incorporates all of the various enhancements & bug-fixes to processqueue.php in the CVS from between 2.10.2 and 2.11.3 (ie, between about rev. 1.18 and 1.29 of processqueue.php). If send_core.php were re-written along the same lines (for instance, to save the criteria as a proper SQL query rather than as basically a long list of userids in a string) then it, too, would probably work better. (In fact, send_core.php is vulnerable to the same type of bug--one of these days my list of users meeting a certain attribute will be too long to fit into a query to put the list of users into message.userselection and then send_core will blow up . . . ) Also while re-vamping processqueue.php I found what appear to be a number of subtle potential bugs, and fixed them. There may well remain subtle bugs that would appear only in certain circumstances. But in general this version seems to run faster and requires far less memory than the previous--and also fewer SQL queries. (The only downside of this whole approach is the the SQL query is a bit nasty, includes some concats & substring_indexes. If send_core were re-written to use a "pure SQl" approach then the query it develops to select users matching attributes could be saved and used in place of this nasty one.)
processqueue.php (38,123) 22-05-07 05:17
http://mantis.phplist.com/file_download.php?file_id=1294&type=bug
Notes
(0050503)
carol   
18-02-09 11:35   
Closing issue because it is too old. If you feel it is still relevant please add again and give the new context. Thanks!
(0051029)
h2b2   
02-06-10 00:14   
(edited on: 02-06-10 01:30)
Reopened. Reviewing relevance may still be useful.





View Issue Details
8478 [phplist] Message Send Process crash always 08-11-06 20:36 02-06-10 00:11
orock  
 
normal  
resolved 2.10.3  
fixed  
none    
none 2.10.4  
  2.10.7  
processqueue.php creeates bad query if $doneusers large
we were command line sending to a 60k+ list with batching set to 14k per hour. after first batch calls to processqueue produced: Database error 0 while doing query Lost connection to MySQL server during query turning on VERBOSE revealed this query with an IN check against a 14,000 id list as the culprit: select distinct user.id from phplist_listuser as listuser, phplist_user_user as user, phplist_listmessage as listmessage where listmessage.messageid = 31 and listmessage.listid = listuser.listid and user.id = listuser.userid and user.confirmed and !user.blacklisted and listuser.userid not in (14,15,16,17,18,19,...[truncated]..., 14xxx) experimenting with this query directly in mysql (5.0.18) showed that it caused some sort of server reset and crashed parsing or processing this extremely long query. i determined this by the error message and repeatedly running "show processlist" and seeing it get an error after the query crashed that the server was unavailable. the server uptime also reset. i rewrote this query using a LEFT JOIN effectively not including users in the usermessage table who had an entry for this messageid. this obviates the need for the long IN list. (this should also be employed for the exclude list processing in the future -- i guess its on my list since we will be exploring excludes for some criteria testing in the near future.) SELECT DISTINCT user.id FROM (phplist_listuser AS listuser, phplist_user_user AS user, phplist_listmessage AS listmessage) LEFT JOIN phplist_usermessage AS usermessage ON (usermessage.messageid = 31 AND usermessage.userid = listuser.userid) WHERE listmessage.messageid = 31 AND listmessage.listid = listuser.listid AND user.id = listuser.userid AND user.confirmed AND !user.blacklisted AND usermessage.userid IS NULL i incorporated this query into processqueue.php and it worked well on our run today - not without stress trying to get a time sensitive newsletter out the door on schedule. i've included the diffs in the 'additional information' below and have uploaded my version of processqueue.php.
> diff -w processqueue_orig.php processqueue.php 390a391 > 423a425 > 439,440c441,446 < if (sizeof($doneusers)) < $exclusion = " and listuser.userid not in (".join(",",$doneusers).")"; --- > > ### > ### OPR: 11.08.06 - don't use $doneusers - see query below > ### > ### if (sizeof($doneusers)) > ### $exclusion = " and listuser.userid not in (".join(",",$doneusers).")"; 458,471c464,500 < $query = sprintf('select distinct user.id from < %s as listuser, < %s as user, < %s as listmessage < where < listmessage.messageid = %d and < listmessage.listid = listuser.listid and < user.id = listuser.userid %s %s %s', < $tables['listuser'],$tables["user"],$tables['listmessage'], < $messageid, < $userconfirmed, < $exclusion, < $user_attribute_query); < --- > ### > ### OPR: 11.08.06 -- new query using LEFT JOIN instead of IN long list > ### > ### SELECT DISTINCT user.id FROM (phplist_listuser AS listuser, phplist_user_user AS user, phplist_listmessage AS listmessage) LEFT JOIN phplist_usermessage AS usermessage ON (usermessage.messageid=31 AND usermessage.userid=listuser.userid) WHERE listmessage.messageid =31 AND listmessage.listid = listuser.listid AND user.id = listuser.userid AND user.confirmed AND ! user.blacklisted AND usermessage.userid IS NULL; > > $query = sprintf('SELECT DISTINCT user.id FROM > (%s AS listuser, > %s AS user, > %s AS listmessage) > LEFT JOIN %s AS usermessage > ON (usermessage.messageid = %d AND usermessage.userid = listuser.userid) > WHERE > listmessage.messageid = %d AND > listmessage.listid = listuser.listid AND > user.id = listuser.userid AND > usermessage.userid IS NULL > %s %s %s', > $tables['listuser'], $tables['user'], $tables['listmessage'], $tables['usermessage'], > $messageid, $messageid, > $userconfirmed, $exclusion, $user_attribute_query); > > ### > ### OPR: 11.08.06 -- old $query > ### > ###$query = sprintf('select distinct user.id from > ### %s as listuser, > ### %s as user, > ### %s as listmessage > ### where > ### listmessage.messageid = %d and > ### listmessage.listid = listuser.listid and > ### user.id = listuser.userid %s %s %s', > ### $tables['listuser'],$tables["user"],$tables['listmessage'], > ### $messageid, > ### $userconfirmed, > ### $exclusion, > ### $user_attribute_query);
processqueue.php (34,578) 08-11-06 20:36
http://mantis.phplist.com/file_download.php?file_id=931&type=bug
Notes
(0020815)
michiel   
08-11-06 21:29   
brilliant thanks
(0020816)
orock   
08-11-06 21:58   
just glad we got it working ;)





View Issue Details
9488 [phplist] All Other minor always 17-03-07 05:04 01-06-10 18:25
hola  
 
normal  
feedback 2.11.3  
open  
none    
none  
   
linktracking explained
Hello - yesh! I am trying to understand how the new link tracking works - is there any documentation around the process now? I see about 3 new tables for link tracking and some new code. Would be great to have even some high level documentation on this to help you test in.
Notes
(0024899)
hola   
17-03-07 05:46   
For example is the new code designed to reduce the table size for link tracking - if correct then how does it do that? From a brief look so far the code checks to see if a url is already in the link track table and reuses that link for each email.. Is that correct?
(0024900)
hola   
17-03-07 05:48   
each email within a message I mean. So for each subscriber to be sent the message the code reuses any links that have already been added to the linktracking database - avoiding duplicating the url for each subscriber.
(0024903)
h2b2   
17-03-07 12:47   
This is what is mentioned in the development wiki: - click tracking has been completely overhauled. the current system creates very large database tables when you have a lot of users, messages and/or links, so I've rewritten it to store it across multiple tables that each will be much smaller. I've also added a method to convert the old data to the new one. (page=convertstats) Ref: http://docs.phplist.com/NewIn211 This is what is mentioned in the release notes: # statistics for click tracking are cached in memory and flushed to the DB every now and then to avoid large amounts of queries while sending messages, and therefore to speed it up a bit (more speeding up is on the way). # link tracking will add a variable "entrypoint" to the session, so that this can be picked up by the CMS to find out more about what happened afterwards, eg, to extend into email to sales tracking. This probably still needs some work. # added a "clicktrack linkmap", which allows making the tracked links in the emails look a little more professional, eg if the current tracked link is /lists/lt.php?id=ABCD you can have it be turned into /lt/ABCD That does of course require an Apache RewriteRule to work. Ref: http://tincan.co.uk/?lid=1929
(0024906)
hola   
17-03-07 22:57   
Okay, that provides some information. It still seems that a table record will be created for each subscriber and each link within the message. For example: Subscriber A :: Link A Subscriber B :: Link A Subscriber C :: Link A This seems to me to be a waste of table space if Link A contains no personalisation. What I was thinking is trying to reduce the amount of table records by only recording a url (Link A) within a message once IF the url contains no personalisation (uid etc...). For example a message might have a url like this (http://www.phplist.com). Now what is the point of recording for each subscriber a link track record for that url? Why can't we record the url once and then in the link track reference that link track url record id for each message. Then when a subscriber clicks on the link track within the message phplist records the subscriber and then gets the target URL.
(0024907)
hola   
18-03-07 02:38   
Amazing! I have just reviewed the new code and I have to say its impressive! Here are my findings so far phplist_linktrack_forward - contains all urls within message - including urls with personalisation though the uid parameter is removed so the url only needs to be added to the link track table once. phplist_linktrack_ml - contains total stats on clicks - does not cover uniques phplist_linktrack_uml_click - contains users click stats Fundamental rule - for a link to be personalised it must contain a "uid" parameter. The uid parameter is not inserted with the url into the link track table as this allows the url to be reused not only in the same message but all subsequent messages - brilliant! When a user clicks on a link which needs to be personalised - example unsubscribe and change preferences the lists/lt.php will check the phplist_linktrack_forward table and if the url is tagged as personalised the code within the lt.php file will get the users unique hash and append that to the url ! The new code is awesome and I am very impressed with what the PHPList team has done. I will continue testing and report my findings here.
(0050466)
carol   
13-02-09 11:03   
Closing issue because it is too old. If you feel it is still relevant please add again and give the new context. Thanks!





View Issue Details
15454 [phplist] All Other crash always 24-04-10 07:13 01-06-10 04:06
cmacsound  
 
normal  
confirmed 2.10.12  
open  
none    
none  
  2.10.13  
database error 1064 when stacking attributes in 2.10.12
resurfaced comma syntax error in version 2.10.12 when stacking attributes. previous clean-comma patches not helping. Using Firefox 3.6.3. mySQL 5.0.90-community-log. "Database error 1064 while doing query You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '2)' at line 3" EXAMPLE: " Existing criteria City/Region is , 2 remove CALCULATE "
Notes
(0050966)
cmacsound   
24-04-10 07:25   
...also appears that attribute value criteria is not saving properly when stacked attribute is disabled...
(0050967)
h2b2   
24-04-10 13:41   
I can confirm this issue on my 2.10.12 install. While criteria selection seems to work fine with 'date' attributes, when using the 'select' type attribute generates a database error 1064. Example: Existing criteria operator values Date of birth is before 10-04-2010, 0 Preferred color is , 1 System details: * phplist version: 2.10.12 * PHP version: 5.2.3 * Browser: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 * Webserver: Apache/1.3.37 (Unix) PHP/5.2.3 mod_ssl/2.8.28 OpenSSL/0.9.8a mod_perl/1.29 FrontPage/5.0.2.2510 * Mysql Info: 4.1.12-standard-log * PHP Modules: libxml, xsl, xmlwriter, dom, xmlreader, xml, tokenizer, session, pcre, SimpleXML, SPL, PDO, sockets, SQLite, standard, Reflection, posix, pdo_sqlite, pdo_mysql, mysql, mhash, mcrypt, mbstring, json, imap, iconv, hash, gettext, gd, ftp, filter, exif, date, curl, ctype, calendar, bcmath, zlib, openssl, apache, Zend Optimizer
(0050972)
h2b2   
27-04-10 16:03   
Same issue when using 'radio' type attributes. though it seems to work fine with 'date' type and 'checkboxgroup' type attributes. Can also be reproduced on the online demo (currently running v2.10.11).
(0051028)
h2b2   
01-06-10 03:08   
jfquestiaux suggests this (temporary) fix: ==== Start Quote ==== Since I upgraded to version 2.10.12, I have a bug (confirmed in Mantis) when it comes to select criteria to choose users to send to. There is a syntax error beacause of a "," added in front of the criteria. The culprit is the "cleanCommaList" function in the admin/connect.php file. To correct that, uncomment the "old" cleanCommaList function (on line 1132) and comment out the "new one" (lines 1136 - 1145), or fix the code (and share the solution) if your skills allow to. ===== End Quote ===== ref: http://forums.phplist.com/viewtopic.php?p=75395#p75395 Reverting to the old cleanCommaList function appears to fix this on my system too. For those needing more detailed instructions: In lists/admin/connect.php, starting from line 1132, change this: #function cleanCommaList($list) { # return join(',',cleanArray(split(',',$list))); #} function cleanCommaList($sList) { if (!strpos($sList,',')) return $sList; $aList = explode(',',$sList); foreach ($aList as $key=>$value) { if(!$value) { array_splice($aList, $key, 1); //Remove null value from array } } return join(',',$aList); } To this: function cleanCommaList($list) { return join(',',cleanArray(split(',',$list))); } #function cleanCommaList($sList) { # if (!strpos($sList,',')) return $sList; # $aList = explode(',',$sList); # foreach ($aList as $key=>$value) { # if(!$value) { # array_splice($aList, $key, 1); //Remove null value from array # } # } # return join(',',$aList); #}





View Issue Details
15499 [phplist] All Other minor have not tried 28-05-10 13:38 28-05-10 13:38
masdeeper  
 
normal  
new 2.10.10  
open  
none    
none  
   
No warning when trunking emails in the DB
By default, with the configuration of the MySQL data base made by PhpList, you cannot write emails longer than X characters. To solve this you must change the database field type of "phplist_message.message" to "long text". I lost lots of hours because of this. There are probably some people who did not find out how to solve this problem and switched to another software such as MailMan. I think PhpList should warn the user when not saving the entire message in the db. I think this would help PhpList to have a better reputation. Thank you Related Issue : http://mantis.phplist.com/view.php?id=5156 [^]
There are no notes attached to this issue.





View Issue Details
15498 [phplist] Plugin API major always 27-05-10 18:59 27-05-10 19:07
adrian15  
 
normal  
new FutureDevelopments  
open  
none    
none  
   
Rss manager is totally broken on svn
Rss manager is totally broken on svn. I will try to update this post with new issues that are related to this one. You can consider this bug as a metabug or a parent or whatever. As an initial request please relate this to these issues: http://mantis.phplist.com/view.php?id=15479 [^] http://mantis.phplist.com/view.php?id=15480 [^] http://mantis.phplist.com/view.php?id=15484 [^] http://mantis.phplist.com/view.php?id=15490 [^] http://mantis.phplist.com/view.php?id=15491 [^] http://mantis.phplist.com/view.php?id=15492 [^] http://mantis.phplist.com/view.php?id=15493 [^] http://mantis.phplist.com/view.php?id=15494 [^] http://mantis.phplist.com/view.php?id=15495 [^] http://mantis.phplist.com/view.php?id=15496 [^] http://mantis.phplist.com/view.php?id=15497 [^] Although there are still some minor bugs to fix, (I.e. I have detected that an superadmin cannot run a getrss request from the web interface) I find the current Rss manager status (supposing that you apply all the patches that are attached to the issues above) very stable.
Based on revision 1703. If you use rss manager from the current svn with default threshold values and without using normal messages (non-rss) alongside you might find it right but it is a quite false feeeling ;).
There are no notes attached to this issue.





View Issue Details
15497 [phplist] Plugin API feature always 27-05-10 18:51 27-05-10 18:51
adrian15  
 
normal  
new FutureDevelopments  
open  
none    
none  
   
RssManager - Hourly frecuency
I have implemented the hourly frecuency for rssmanager plugin. Now you can set that a rss is going to be checked and sent in 60 minutes time.
Based on svn revision 1703.
G09_rssmanager_hourly_feature.patch (1,227) 27-05-10 18:51
http://mantis.phplist.com/file_download.php?file_id=3175&type=bug
There are no notes attached to this issue.





View Issue Details
15496 [phplist] Plugin API trivial always 27-05-10 18:49 27-05-10 18:49
adrian15  
 
normal  
new FutureDevelopments  
open  
none    
none  
   
Rssmanager processSuccesFailure incorrect rssitems array check
Rssmanager processSuccesFailure function does an incorrect rssitems array check. The fact of the rssitems being empty or not was checked with the is_array function while when rssitems is empty an empty array is returned. In order to fix the problem I checked the actual number of items in the array with the sizeof function.
Based on svn revision 1703.
G08_rssmanager_processSuccesFailure_rssitems_check_fix.patch (758) 27-05-10 18:49
http://mantis.phplist.com/file_download.php?file_id=3174&type=bug
There are no notes attached to this issue.





View Issue Details
15495 [phplist] Plugin API minor always 27-05-10 18:45 27-05-10 18:45
adrian15  
 
normal  
new FutureDevelopments  
open  
none    
none  
   
Rssmanager hack on sendemaillib cached variable
This is a workaround so that rssmanager works ok. As long as iWantToProcess function is defined and many other plugin functions, the plugin needs to know the rsstemplate value and the id value (because it expects a message-a-like array). I use $cached variable in order to save both values so that the rsstemplate plugin can read both values when the function iWantToProcess is called. Probably it can be improved but the code does work and does not make the current code too much complex.
Based on revision 1703.
G07_rssmanager_sendemaillib_cache_fix.patch (1,085) 27-05-10 18:45
http://mantis.phplist.com/file_download.php?file_id=3173&type=bug
There are no notes attached to this issue.





View Issue Details
15494 [phplist] Plugin API block always 27-05-10 18:39 27-05-10 18:39
adrian15  
 
normal  
new FutureDevelopments  
open  
none    
none  
   
processSuccesFailure is not checked ok on sendemaillib when dealing with plugins
In sendemailib there is a for loop sentence that checks plugins so that they run their processSuccesFailure function. Currently instead of exiting the loop when a failure has been found the loop continues so that the last plugin success or failure decision prevails. This patch fixes the problem with a while loop sentence so that once a failure has been found it stays as a failure. This is a block issue because it actually disables that a plugin can set an email as a Failure so that is not sent... So... the same email is sent once and once again... Actually in my tests the email was sent twice and with no rss content at all but probably there was something more broken.
Based on revision 1703.
G06_plugins_sendemaillib_ProcessSuccesFailure_check_fix.patch (1,568) 27-05-10 18:39
http://mantis.phplist.com/file_download.php?file_id=3172&type=bug
There are no notes attached to this issue.





View Issue Details
15493 [phplist] Plugin API block always 27-05-10 18:33 27-05-10 18:33
adrian15  
 
normal  
new FutureDevelopments  
open  
none    
none  
   
Rss manager plugin sets default repeatinterval for non-rss messages without permission
Rss manager plugin sets default repeatinterval for non-rss messages without permission. This is a block issue because you can never send a non-rss message because it gets programmed to the next rss interval time, well, whatever, you can not send normal messages ok. The fix: If rssmanager plugin detects that the rsstemplate value is none or is not defined it refuses to save it (i.e. set its repeatinterval).
Based on revision 1703.
G05_rssmanager_sendMessageTabSave_repeatinterval_for_non_rss_emails_fix.patch (934) 27-05-10 18:33
http://mantis.phplist.com/file_download.php?file_id=3171&type=bug
There are no notes attached to this issue.





View Issue Details
15492 [phplist] Plugin API trivial always 27-05-10 18:29 27-05-10 18:29
adrian15  
 
normal  
new FutureDevelopments  
open  
none    
none  
   
Rssmanager Rssthreshold greater than fix
Whatever the reason the cansend function did not check greater or equal than symbol (>=) but with only greater than symbol (>). So if minimum threshold and maximum threshold was 1 no email at all was sent while it should send 1 email.
Based on svn revision 1703.
G04_rssmanager_rssthreshold_greater_than_fix.patch (888) 27-05-10 18:29
http://mantis.phplist.com/file_download.php?file_id=3170&type=bug
There are no notes attached to this issue.





View Issue Details
15491 [phplist] Plugin API major always 27-05-10 18:26 27-05-10 18:26
adrian15  
 
normal  
new FutureDevelopments  
open  
none    
none  
   
Rss manager plugin 's iWantToProcess function
This is the iWantToProcess function implementation for the Rss manager so that it only gets run when it actually wants to process a message (i.e. the list has a rss frecuency). Now the canSend function uses iWantToProcess function to check if the rss manager can send a message or not.
Based on svn revision 1703.
G03_rssmanager_iWantToProcess_function.patch (1,366) 27-05-10 18:26
http://mantis.phplist.com/file_download.php?file_id=3169&type=bug
There are no notes attached to this issue.




View Issue Details
15490 [phplist] Plugin API feature always 27-05-10 18:21 27-05-10 18:21
adrian15  
 
normal  
new FutureDevelopments  
open  
none    
none  
   
iWantToProcess function
iWantToProcess function is a new plugin function that makes possible that a plugin decides on handling or not a message at all. This is independent of the fact is the plug