Troubleshooting

Why isn't my backup function working?

Scenario:
When I try to use the "Backups" function in my Nucleus admin area, I get a blank page no matter what browser I use. Sometimes I also get this error message:

Warning: array_unique() [function.array-unique]: The argument should be an array in /home/path/to/public_html/path/to/admin/libs/backup.php on line 70

Warning: Cannot modify header information - headers already sent by (output started at /home/path/to/public_html/path/to/admin/libs/backup.php:70) in /home/path/to/public_html/path/to/admin/libs/backup.php on line 73

Solution:
The Nucleus backup script relies on a function to determine which plugin-generated tables should be backed up. Each plugin that creates new tables should have a getTableList() method that returns an array of tables created by the plugin. Some plugins which are not coded correctly return a string instead of an array. This breaks the Nucleus backup script.

Original forum threads (thanks, ftruscot!):
http://forum.nucleuscms.org/viewtopic.php?t=15056
http://forum.nucleuscms.org/viewtopic.php?t=15145

Method:
To fix your database, run the following MySQL query to repair your database tables through phpMyAdmin:

REPAIR TABLE nucleus_item;

To fix your Nucleus admin area backup function, make sure all your installed plugins have a good getTableList() function.

An example of a bad getTableList() function:

function getTableList() {
     return sql_table('plugin_pluginname');
}

If one of your plugins has a getTableList() function which looks like the above code, you need to change it to look like this:

An example of a good getTableList() function:

function getTableList() {
     return array(sql_table('plugin_pluginname'));
}

If you have problems, you should post your questions in the Nucleus Support Forum.

section: Troubleshooting | submitted by Leng on 2007.Mar.17 | 1422 views

item rate
This answer was not rated yet.

Please tell us how useful this answer was to you (0 = useless, 10 = very very helpful):

10