It’s enough to restore the previous 3.2.5 directory (without restoring the database) to get the CSS/Theme to start displaying (I did it only as a quick test).
@bLight Was there anything unusual about your upgrade process? Had you manually set the theme in your config file before the upgrade? Are the three theme directories inside your /public_html/lists//admin/ui/ folder as expected?
It may help us if you attach your current /public_html/lists/config/config.php file (without database access info).
Copy over the previous directory, overwriting everything except the config.php file.
Copy to a fresh directory, copying over the config.php file.
But one thing I noticed was that even the upgrade prompt when entering the admin section after copying the new version already didn’t have the CSS/Theme in use.
If needed, I will zip the full folder 3.2.5 folder.
I attached the content of the config.php file below, replacing account info with “xxxxxxxx”.
<?php
/*
* ==============================================================================================================
*
*
* The minimum requirements to get phpList working are in this file.
* If you are interested in tweaking more options, check out the config_extended.php file
* or visit http://resources.phplist.com/system/config
*
* ** NOTE: To use options from config_extended.php, you need to copy them to this file **
*
==============================================================================================================
*/
# what is your Mysql database server hostname
$database_host = "localhost";
# what is the name of the database we are using
$database_name = "xxxxxxxxx";
# what user has access to this database
$database_user = "xxxx";
# and what is the password to login to control the database
$database_password = 'xxxxxxxxx';
# if you have an SMTP server, set it here. Otherwise it will use the normal php mail() function
## if your SMTP server is called "smtp.mydomain.com" you enter this below like this:
##
## define("PHPMAILERHOST",'smtp.mydomain.com');
define("PHPMAILERHOST",'xxxxxxxx.com:587');
$phpmailer_smtpuser = 'xxxxxxxxxxx';
$phpmailer_smtppassword = 'xxxxxxxxxxxx';
# if test is true (not 0) it will not actually send ANY messages, but display what it would have sent
# this is here, to make sure you edited the config file and mails are not sent "accidentally"
# on unmanaged systems
define ("TEST",0);
define ("REGISTER",0);
define ("NOSTATSCOLLECTION",1);
/*
==============================================================================================================
*
* Settings for handling bounces
*
* This section is OPTIONAL, and not necessary to send out mailings, but it is highly recommended to correctly
* set up bounce processing. Without processing of bounces your system will end up sending large amounts of
* unnecessary messages, which overloads your own server, the receiving servers and internet traffic as a whole
*
==============================================================================================================
*/
# Message envelope.
#
# This is the address that most bounces will be delivered to
# Your should make this an address that no PERSON reads
# but a mailbox that phpList can empty every so often, to process the bounces
$message_envelope = 'xxxxxxxxxxx@xxxxxxxx.com';
# Handling bounces. Check README.bounces for more info
# This can be 'pop' or 'mbox'
$bounce_protocol = 'pop';
# set this to 0, if you set up a cron to download bounces regularly by using the
# commandline option. If this is 0, users cannot run the page from the web
# frontend. Read README.commandline to find out how to set it up on the
# commandline
define ("MANUALLY_PROCESS_BOUNCES",1);
# when the protocol is pop, specify these three
$bounce_mailbox_host = 'xxxxxxxx.com';
$bounce_mailbox_user = 'xxxxxxxxxxx';
$bounce_mailbox_password = 'xxxxxxxxxxxx';
# the "port" is the remote port of the connection to retrieve the emails
# the default should be fine but if it doesn't work, you can try the second
# one. To do that, add a # before the first line and take off the one before the
# second line
$bounce_mailbox_port = "110/pop3/notls";
#$bounce_mailbox_port = "110/pop3";
# it's getting more common to have secure connections, in which case you probably want to use
#$bounce_mailbox_port = "995/pop3/ssl/novalidate-cert";
# when the protocol is mbox specify this one
# it needs to be a local file in mbox format, accessible to your webserver user
$bounce_mailbox = '/var/mail/listbounces';
# set this to 0 if you want to keep your messages in the mailbox. this is potentially
# a problem, because bounces will be counted multiple times, so only do this if you are
# testing things.
$bounce_mailbox_purge = 1;
# set this to 0 if you want to keep unprocessed messages in the mailbox. Unprocessed
# messages are messages that could not be matched with a user in the system
# messages are still downloaded into phpList, so it is safe to delete them from
# the mailbox and view them in phpList
$bounce_mailbox_purge_unprocessed = 1;
# how many bounces in a row need to have occurred for a user to be marked unconfirmed
$bounce_unsubscribe_threshold = 3;
# choose the encryption method for password
# check the extended config for more info
# in most cases, it is fine to leave this as it is
define("ENCRYPTION_ALGO",'sha256');
My system is a Windows IIS server, I remotely logged in and overwrote the old files.
@duncanc All folders exist, I double checked. I read your posts regarding other upgrade issues and applied those suggestions but nothing so far worked.
As a fix attempt I also tried doing a clean install, only copying over the configuration file from the previous install, without success.
I also verified the windows user security for the phplist folder and the values were correct.
@arubtsov So at that point phplist thinks that it does not have any themes available. Can you now add some lines to file connect.php
First try changing line 107 from
while ($th = readdir($d)) {
to
while (false !== ($th = readdir($d))) {
Then see if that has any effect.
If not then add these lines