View Issue Details

IDProjectCategoryView StatusLast Update
0017488phplist applicationSubscriber Exportpublic14-11-14 14:05
Reportertynaz 
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformFirefox, Chrome, OSWindowsOS Version8.1
Product Version3.0.10 
Target VersionFixed in Version3.0.11 
Summary0017488: Export subscribers doesn't create correct headers
Descriptionwhen exporting subscribers instead of an csv file all list of subscribers gets exported as a html iframe to a display. It seems the headers is not being set correctly. It happens with any size or configuration export.
Steps To ReproduceSimply export any list of subscribers.
TagsNo tags attached.

Activities

michiel

21-10-14 22:07

manager   ~0055487


That is not very descriptive. To replicate "simply export any list of subscribers".

Can you be more precise about the steps to reproduce? Export works fine here.

tynaz

22-10-14 14:13

reporter   ~0055489

It happens when:
I try to export any subscribers list.
I try to export any date selected.
I try to select any date range.
I try to select only certain field to include.
Pretty much it fails and exports as html code on all exports no matter what settings are set.


Does php.ini settings could be affecting this?
does tmp folder is affecting this if not being used?
When I updated I overwrote all files with new version. Would it be better if I deleted all and then just copied new version 6.0.10 instead?
This is the iframe html code.

<iframe id="export" height="50" scrolling="no" src="./?page=pageaction&action=export&ajaxed=true&tk=d0832b0aa7d4">

    #document
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html lang="en" dir="ltr" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
            <head>
                <meta content="no-cache" http-equiv="pragma"></meta>
                <meta content="no-cache, must-revalidate" http-equiv="Cache-Control"></meta>
                <meta content="phplist version 3.0.10" name="Powered-By"></meta>
                <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"></meta>
            </head>
            <body>



                id Email Is this subscriber confirmed Is this su…

michiel

22-10-14 16:28

manager   ~0055490

Yes, the export creates an IFRAME, and the content of the IFRAME is the place where all the work takes place.

The tmp folder is important. If it cannot be written to, it will fail.

tynaz

22-10-14 23:11

reporter   ~0055492

I created temp folder with writable permissions and tested.
I even set all entire phplist folder to writable permissions.
Still same problem persists.

It does not seem that folder permissions affecting it at all.

Is there any php settings that would cause this kind of functionality?

Thank you

michiel

23-10-14 09:24

manager   ~0055493

try to load the contents of the iframe, and see if it reveals anything.

tynaz

23-10-14 14:55

reporter   ~0055525

Last edited: 23-10-14 14:56

View 3 revisions

What do you mean by load?
If I go to developers tools and view source code all of the exported fields are there. So as far as getting correct data from database and exporting it to the iframe works fine. It is the last step of the process to put all that information into a file that fails.
With version 3.0.8 that part worked fine it was the exporting to iframe that was not working properly with a larger number of subscribers.
The config file and other settings, permissions and php.ini was not changed.
What changes to the code could affect this?

In mean while i am trying to resolve this I would need to downgrade to 3.0.8 because it needs to function. Is there a specific procedure to downgrade the files and the database from 3.0.10 to 3.0.8?

Thank you

michiel

23-10-14 15:07

manager   ~0055526

I meant load /?page=pageaction&action=export&ajaxed=true straight in your browser instead of in the frame

Downgrade should be fine.

tynaz

23-10-14 18:23

reporter   ~0055538

here is the output

!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" dir="ltr" xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta content="no-cache" http-equiv="pragma"></meta>
        <meta content="no-cache, must-revalidate" http-equiv="Cache-Control"></meta>
        <meta content="phplist version 3.0.10" name="Powered-By"></meta>
        <meta content="text/html; charset=UTF-8" http-equiv="Content-Type"></meta>
    </head>
    <body>

        List Membership

    </body>
</html>

michiel

23-10-14 19:02

manager   ~0055539

Sorry, I have no idea. You'll have to debug to figure out what's going on.

tynaz

23-10-14 19:18

reporter   ~0055541

Would you be able to provide the changes were done to files, file structure .htaccess files and etc from version 3.0.8 to 3.0.9 and 3.0.10?
Maybe I can track it down. Thank you

Dragonrider

24-10-14 09:09

reporter   ~0055547

Last edited: 24-10-14 09:16

View 2 revisions

I have the same issue.
Image one: Export Subscribers (Any date)
Image two: Results of clicking Export on Export Subscriber Page

Browser used: Firefox 33.0, phpList 3.0.10, Windows 7 Pro

Server: PHP 5.3.23, Apache 2.2.24, MySQL version 5.5.37-cll, Operating system linux

Dragonrider

24-10-14 09:10

reporter  

Image1.jpg (42,593 bytes)
Image1.jpg (42,593 bytes)

Dragonrider

24-10-14 09:10

reporter  

Image2.jpg (30,869 bytes)
Image2.jpg (30,869 bytes)

michiel

24-10-14 09:25

manager   ~0055548

thanks Dragonrider, that helps. I'll have another look.

michiel

24-10-14 09:40

manager   ~0055549

what is your config setting for "tmpdir"? Is it writable for the webserver?

Dragonrider

24-10-14 10:03

reporter   ~0055551

Last edited: 24-10-14 10:04

View 2 revisions

It was set to '/tmp', same as the attachment directory, above the web root.
I've created a fresh /tmp directory within my phpList installation, restarted phplist after saving the config.php file, makes no difference.

Both directories writable, permissions 755

Dragonrider

26-10-14 09:59

reporter   ~0055559

I've tried again and this time taken the source code of the results such as they are. Don't know if this would help?

<!-- content start here -->
<h4 class="pagetitle">export subscribers</h4><noscript><div class="note d533fc9acf638d1">./?page=export&action=hidenote&note=d533fc9acf638d1

phpList will work without Javascript, but it will be easier to use if you switch it on.

</div></noscript>

Processing export, this may take a while. Please wait

<img src="images/busy.gif" with="34" height="34" border="0" alt="Please wait" id="busyimage" /><div id="progresscount" style="width: 200; height: 50;">Progress</div>
<iframe id="export" src="./?page=pageaction&action=export&ajaxed=true&tk=459559db5f3b355" scrolling="no" height="50"></iframe>

<!---->

The same problem/result occurs in Firefox 33, IE and Chrome.

garethstorer

13-11-14 15:10

reporter   ~0055658

I am having the same issue and it's frustrating the hell out of me.
I am limited in my troubleshooting knowledge but I have a feeling that it may have something to do with my shared hosting package. I installed PHPList locally using Ampps (Softaculous) and exporting works fine.

My shared hosting is runnning Apache 2.2.22, PHP 5.3.13 and MySQL 5.1.73-cll and the same issue comes up. Thinking it may have been a file issue with the Softaculous installation (my shared hosting installation is also from Softaculous) I downloaded the latest version from the PHPList.com site and manually uploaded all the files except for the config.php file. No joy.

I don't know if specific Apache modules or PHP settings may be affecting the export process from completing as it should. If someone can suggest details from a phpinfo export that could shed some light I will post it.

michiel

13-11-14 15:46

manager   ~0055659

interesting, thanks. It sounds like some PHP command may be missing in some systems. I recently came across one missing php.net/mb_strtolower which is very strange as the docs do not mention anything about it not being part of the standard PHP.

michiel

13-11-14 16:44

manager   ~0055660

ah, I just installed phpList from Koozali, http://wiki.contribs.org/Phplist#Maintainer

and this is happening as well. That will allow me to debug it.

In this case, there is only one subscriber. Could that be the cause? Very few subscribers?

Dragonrider

13-11-14 17:22

reporter   ~0055661

I've just tried on my largest list, 100+ still does not work. Sorry

michiel

13-11-14 20:34

manager   ~0055662

Can anyone where this is happening try on http://demo.phplist.com/lists/admin/?page=export

Does it prompt the download of the file for you?

Dragonrider

13-11-14 22:37

reporter   ~0055663

Yes, I am prompted to click to download the exported emails as a file.

garethstorer

14-11-14 08:33

reporter   ~0055664

re the first point, happens to me with one or many subscribers
second, download does get triggered for me

michiel

14-11-14 10:31

manager   ~0055665

hmm, so, we're a bit closer to a diagnosis, it is a local setting/setup issue.

I will try to find some time to investigate the Koozali system

michiel

14-11-14 11:20

manager   ~0055666

Can someone try to see if this solves it?

in file "admin/pageaction.php"

on line 9, where it says "@ob_end_clean();"

change it to "@ob_end_clean();@ob_start();"

garethstorer

14-11-14 12:54

reporter   ~0055667

BINGO!! Give that man a Bells!

Works for me

Dragonrider

14-11-14 13:39

reporter   ~0055668

YES! Thank you Michiel, works for me as well. I'll add the fix to the various forum posts shortly. David

michiel

14-11-14 14:05

manager   ~0055669

thanks. committed to repo