arnoldle / phplist-plugin-submitByMailPlugin

Elements of a plugin to submit messages to Phplist by mail. In development. Planning for June release.
3 stars 6 forks source link

manual installation breaks phplist - admin & subscriber pages are blank #4

Closed ajshea closed 5 years ago

ajshea commented 9 years ago

For some reason my installation of phplist 3.0.12 will not install plugins via the admin UI. Installing other plugins manually has worked fine.

Plugins installed: AttachmentPlugin.php
CommonPlugin.php
fckphplist.php
MessageStatisticsPlugin.php SubscribersPlugin.php

Installing submitByMailPlugin manually causes all pages on phplist installation to return blank. Renaming submitByMailPlugin.php in the admin/plugins directory restores normal functionality.

Disabling other plugins first does not change the undesirable behavior, nor does renaming all the other plugin.php files (so that submitByMailPlugin is effectively the only plugin installed).

arnoldle commented 9 years ago

I cannot understand how renaming the plugin restores functionality; phpList loads all plugins whether they are enabled or not. If the plugin is not enabled, phpList ignores it in further operations, although the plugin class was instantiated.

The disappearance of the phpList pages may result from one of the following problems:

1. Running phpList with a PHP version earlier than 5.3. The submitByMailPlugin requires version 5.3 or later.

2. Failing to install the “PEAR" subdirectory and its contents when installing the plugin.The PEAR subdirectory should be inside the submitByMailPlugin directory. The PEAR subdirectory should contain pear.php, pear5.php, and a”‘Mail' subdirectory. The “Mail” subdirectory should contain a file named “mimedecode.php”.

3. The PHP version you are running does not include the “imap" extension. The imap extension is installed when the PHP binary is compiled. With the phpinfo() function <http://php.net/manual/en/function.phpinfo.php>  you can check whether this extension has been installed into your PHP binary 

Now one of the points above may be the origin of your problem. However, the fact that the phpList installer does not work in your installation suggests that somehow you have a non-standard installation of phpList. This idea is strongly reinforced by the behavior of your phpList installation when you changed the name of the submitByMailPlugin. If the renamed file still has a “.php” extension, changing the name of the file should have no affect on the operation of phpList.

Arnold

On Aug 6, 2015, at 2:01 PM, Alan Shea notifications@github.com wrote:

For some reason my installation of phplist 3.0.12 will not install plugins via the admin UI. Installing other plugins manually has worked fine.

Plugins installed: AttachmentPlugin.php

CommonPlugin.php

fckphplist.php

MessageStatisticsPlugin.php SubscribersPlugin.php

Installing submitByMailPlugin manually causes all pages on phplist installation to return blank. Renaming submitByMailPlugin.php in the admin/plugins directory restores normal functionality.

Disabling other plugins first does not change the undesirable behavior, nor does renaming all the other plugin.php files (so that submitByMailPlugin is effectively the only plugin installed).

— Reply to this email directly or view it on GitHub https://github.com/arnoldle/phplist-plugin-submitByMailPlugin/issues/4.

arnoldle commented 9 years ago

There was an incorrect statement in my previous message.

The submitByMailPlugin does indeed work with any version 5.x of PHP. It works with any version of PHP that phpList 3.0 will function on.

Arnold

wverschaeve commented 8 years ago

Hi I'm having a similar issue with this plugin. When I install it I get blank pages. Installing works with the automatic installer and also manual. Both give the same result: blank pages Deleting the files makes the pages available again

Imap is installed:

imap

IMAP c-Client Version 2007e SSL Support enabled

the pear directory and files are present

php version 5.4

Any idea if there could be some other issues?

arnoldle commented 8 years ago

I assume that you are running on Linux. If not, there is little I can say, since the plugin has not been tested on a Windows server. I don’t have access to a Windows machine.

Blank Phplist pages will result from a syntax error in the plugin code or a failed function call in the constructor. I know there is no syntax error, because I just installed the plugin again from the GitHub site, and every page appeared.

The function calls made in the constructor are either PHP functions, Phplist functions, or functions defined as my plugin methods. I cannot understand why a call to one of these functions should fail in your installation.

Although it seems unlikely, perhaps the code got screwed up somehow in the installation process. You might check the file submitByMailPlugin.php for syntax errors.

The reason for blank pages must lie somewhere in the function _construct in the file submitByMailPlugin.php. You might try looking through that function to see if there is anything that might create a problem in your particular installation. If there are no syntax errors, the problem must be in one of the function calls in that function.

Arnold

On Dec 3, 2015, at 4:44 PM, wverschaeve notifications@github.com wrote:

Hi I'm having a similar issue with this plugin. When I install it I get blank pages. Installing works with the automatic installer and also manual. Both give the same result: blank pages Deleting the files makes the pages available again

Imap is installed:

imap

IMAP c-Client Version 2007e SSL Support enabled

the pear directory and files are present

php version 5.4

Any idea if there could be some other issues?

— Reply to this email directly or view it on GitHub https://github.com/arnoldle/phplist-plugin-submitByMailPlugin/issues/4#issuecomment-161812658.

arnoldle commented 8 years ago

One more thought. You seem to have an an imap client on your machine, but that is not relevant. The relevant question is whether you have the IMAP extension installed into your PHP binary. You can use the phpInfo() function http://php.net/manual/en/function.phpinfo.php to check whether this is the case.

Arnold

On Dec 3, 2015, at 4:44 PM, wverschaeve notifications@github.com wrote:

Hi I'm having a similar issue with this plugin. When I install it I get blank pages. Installing works with the automatic installer and also manual. Both give the same result: blank pages Deleting the files makes the pages available again

Imap is installed:

imap

IMAP c-Client Version 2007e SSL Support enabled

the pear directory and files are present

php version 5.4

Any idea if there could be some other issues?

— Reply to this email directly or view it on GitHub https://github.com/arnoldle/phplist-plugin-submitByMailPlugin/issues/4#issuecomment-161812658.

wverschaeve commented 8 years ago

Thx for the info. I'll look into this

wverschaeve commented 8 years ago

solved the problem by modifying file mimeDecode.php

require_once '/PEAR.php'; to require_once '/../PEAR.php'; PEAR.php is located in the folder above

arnoldle commented 8 years ago

Say what!????

That is NOT a line in the correct version of submitByMailPlugin.php!!!

Line 31 in the file reads:

require_once dirname(__FILE__) . "/submitByMailPlugin/PEAR/Mail/mimeDecode.php”;

It looks to me like you have not downloaded the correct files for the plugin, or else your copy of submitByMailPlugin.php has gotten corrupted. I would recommend downloading the correct files from GitHub again, and make sure that you are installing version 1.02b13.

Arnold

On Dec 8, 2015, at 2:53 PM, wverschaeve notifications@github.com wrote:

solved the problem by modifying file mimeDecode.php

require_once '/PEAR.php'; to require_once '/../PEAR.php'; PEAR.php is located in the folder above

— Reply to this email directly or view it on GitHub https://github.com/arnoldle/phplist-plugin-submitByMailPlugin/issues/4#issuecomment-163014763.

wverschaeve commented 8 years ago

I was referring to the file mimeDecode.php line 65 which is in folder "Mail"

require_once '/PEAR.php';

PEAR.php is located in the folder above, inside the folder "PEAR"

arnoldle commented 8 years ago

Again that is NOT in the version of mimeDecode.php included in the plugin distribution.

Looking at the corresponding file my plugin distribution available through GitHUb, you will find that line 65 reads:

require_once 'PEAR.php’;

Notice that there are no slashes appearing in the line. It still seems like what you have there is a garbled version of the plugin.

Arnold.

On Dec 8, 2015, at 3:46 PM, wverschaeve notifications@github.com wrote:

I was referring to the file mimeDecode.php line 65 which is in folder "Mail"

require_once '/PEAR.php';

PEAR.php is located in the folder above, inside the folder "PEAR"

— Reply to this email directly or view it on GitHub https://github.com/arnoldle/phplist-plugin-submitByMailPlugin/issues/4#issuecomment-163028016.

wverschaeve commented 8 years ago

correct in the downloaded file the line is: require_once 'PEAR.php’;

This is called from the folder "MAIL" where the file PEAR.php is located in the folder above I modified this line to: require_once '/../PEAR.php'; this solved the problem for me.

Perhaps in your configuration the file pear.php is already called from another file or the difference between Linux and windows hosting is causing this. Anyhow my problem is solved by changing this line

Wim

arnoldle commented 8 years ago

OK. Well it is unlikely that there is another file reaching into my plugin to call anything or to set an include path. And in any case, it was not me that authored the PEAR mimeDecode file. And since PEAR is quite widely used, it seems unlikely that an include error would be generated by PEAR code with a standard PHP installation.

Since you are apparently using a Windows server, it seems likely that Windows does not necessarily handle includes like a Linux or Unix machine would.

Anyway, I am glad that you have things working there.

Thanks for informing me about the resolution of the issue.

Arnold

On Dec 8, 2015, at 4:10 PM, wverschaeve notifications@github.com wrote:

correct in the downloaded file the line is: require_once 'PEAR.php’;

This is called from the folder "MAIL" where the file PEAR.php is located in the folder above I modified this line to: require_once '/../PEAR.php'; this solved the problem for me.

Perhaps in your configuration the file pear.php is already called from another file or the difference between Linux and windows hosting is causing this. Anyhow my problem is solved by changing this line

Wim

— Reply to this email directly or view it on GitHub https://github.com/arnoldle/phplist-plugin-submitByMailPlugin/issues/4#issuecomment-163034215.

michaeleino commented 6 years ago

I have the same issue, and changing the require_once as @wverschaeve states doesn't solve the issue...

the main issue with php7 when I set the php to php5.6 it works fine, switching to php7 I got just blank page... enabling error_reporting, display_error and error_log, can't get any verbosity to debug the issue!

please help as this is very important plug-in, we can't leave it die!

arnoldle commented 6 years ago

Michael, I have been retired from software development for at least two years now. I have not kept up with the PhpList updates, nor have I updated my plugins; I no longer support them. I am a senior citizen and feel that I deserve my rest.

If you or anyone else wishes to take over support for this plugin, please feel free to do so. I would be happy to give you the necessary GitHub credentials.

Arnold

On Aug 20, 2018, at 11:10 AM, Michael Fayez notifications@github.com wrote:

I have the same issue, and changing the require_once as @wverschaeve https://github.com/wverschaeve states doesn't solve the issue...

the main issue with php7 when I set the php to php5.6 it works fine, switching to php7 I got just blank page... enabling error_reporting, display_error and error_log, can't get any verbosity to debug the issue!

please help as this is very important plug-in, we can't leave it die!

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/arnoldle/phplist-plugin-submitByMailPlugin/issues/4#issuecomment-414373094, or mute the thread https://github.com/notifications/unsubscribe-auth/AFqj-x6fRyMbhvuYITz5HGPd9zDMfS2qks5uSt92gaJpZM4FnEf3.

michaeleino commented 6 years ago

:/ A not good to hear... but this is your right to be free :) .. thanks @arnoldle for your response!

Here is some trials from my side to recover the operation with php7, seems some require looks not ok for php7: On submitByMailPlugin.php@ 30,31

require_once (dirname(__FILE__) . "/submitByMailPlugin/sbmGlobals.php");
require_once (dirname(__FILE__) . "/submitByMailPlugin/PEAR/Mail/mimeDecode.php");

On submitByMailPlugin/PEAR/Mail/mimeDecode.php @ 65 require_once (dirname(__DIR__) . "/PEAR.php");

this makes it runs fine, with no blanks.. still not sure if it function as well or not. Hope any other to fork this plugin... and continue the developments.

arnoldle commented 6 years ago

I’m happy to hear that you have things working. I hope that someone will take over development. It would be a good idea to inform the PhpList developers of your work here.

Arnold

On Aug 20, 2018, at 12:12 PM, Michael Fayez notifications@github.com wrote:

:/ A not good to hear... but this is your right to be free :) .. thanks @arnoldle https://github.com/arnoldle for your response!

Here is some trials from my side to recover the operation with php7, seems some require looks not ok for php7: On submitByMailPlugin.php@ 30,31

require_once (dirname(FILE) . "/submitByMailPlugin/sbmGlobals.php"); require_once (dirname(FILE) . "/submitByMailPlugin/PEAR/Mail/mimeDecode.php"); On submitByMailPlugin/PEAR/Mail/mimeDecode.php @65 https://github.com/65 require_once (dirname(DIR) . "/PEAR.php");

this makes it runs fine, with no blanks.. still not sure if it function as well or not. Hope any other to fork this plugin... and continue the developments.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/arnoldle/phplist-plugin-submitByMailPlugin/issues/4#issuecomment-414392939, or mute the thread https://github.com/notifications/unsubscribe-auth/AFqj-xYUvmfr3NYy5Oe8XPlvqmGhOtYkks5uSu4QgaJpZM4FnEf3.