PDA

View Full Version : GAZ Settings have disappeared again!


KenDude
12-17-2008, 05:40 AM
Morgan,

Tonight I went to work up a new newsletter and once again all of the information in the Settings panel had disappeared. I tried typing something in and saving it and it would not save, although I did NOT receive the unserialize message like before. I ran the query you suggested: SELECT unserialize FROM datastore WHERE title = 'GAZ_settings'; and the value came back as ZERO. I was going to check that file to make sure the edit I made last month is still there but FTP is down at my host currently so I couldn't check it. Any idea what might be going on? Is this something you can help me troubleshoot as I'd like to get my newsletter out ASAP it was due out yesterday actually.

Thanks in advance!

KenDude
12-17-2008, 05:45 AM
Morgan,

Tonight I went to work up a new newsletter and once again all of the information in the Settings panel had disappeared. I tried typing something in and saving it and it would not save, although I did NOT receive the unserialize message like before. I ran the query you suggested: SELECT unserialize FROM datastore WHERE title = 'GAZ_settings'; and the value came back as ZERO. I was going to check that file to make sure the edit I made last month is still there but FTP is down at my host currently so I couldn't check it. Any idea what might be going on? Is this something you can help me troubleshoot as I'd like to get my newsletter out ASAP it was due out yesterday actually.

I was going to work on the modules, but when trying to access the modules I can see the number of modules that should be there, but they are all blank so I didn't touch them for fear of screwing something up. I have provided you admin login access to my site before along with FTP access, if you don't still have that information handy let me know and I will email it to you.

Thanks in advance!

Morgan
12-17-2008, 06:16 PM
It might be that something is reserializing the GAZ datastore settings in the vB datastore table, so that when GAZ goes to unserialize the datastore, it is unserializing something that got serialized twice, so the one unserialization by GAZ produces a string and not the necessary array. I would need to see the values from this query to know for sure:

SELECT data FROM datastore WHERE title = 'GAZ_settings';

KenDude
12-17-2008, 06:25 PM
Her are the results:

a:15:{s:7:"modules";N;s:4:"from";s:0:"";s:7:"perpage";i:0;s:5:"delay";i:0;s:6:"escape";s:0:"";s:6:"mailer";s:0:"";s:6:"prefix";i:0;s:4:"test";i:1;s:10:"scriptname";s:10:"newsletter";s:12:"updatexusers";i:0;s:9:"tracktime";i:604800;s:8:"dumptest";i:0;s:8:"dumppath";s:0:"";s:8:"dumptime";i:0;s:6:"search";N;}

Morgan
12-17-2008, 07:11 PM
That is so not right, but it's not the double serialization thing. That translates into this:

Array
(
[modules] =>
[from] =>
[perpage] => 0
[delay] => 0
[escape] =>
[mailer] =>
[prefix] => 0
[test] => 1
[scriptname] => newsletter
[updatexusers] => 0
[tracktime] => 604800
[dumptest] => 0
[dumppath] =>
[dumptime] => 0
[search] =>
)

Which means that all the GAZ datastore values have been reset. This shouldn't just happen. I've been though the code and there is nothing that randomly wipes out the GAZ datastore. The file edit in this (http://www.thevbgeek.com/showthread.php?t=4592) thread should not be necessary.

Something changed last time and my guess is that same something changed this time, whether it be an upgrade of something, added another modification, uninstalled/disabled another modification, some file edit, a custom module, something.

Note: This edit has been added to GAZ as of 19 January 2009.

Undo the file edit from this (http://www.thevbgeek.com/showthread.php?t=4592) thread and then replace this:

if ($this->vb->GAZ_settings != '')
{
if ($this->vb->GAZ_settings !== null)
{
$this->settings = unserialize($this->vb->GAZ_settings);
}
else
{
$this->settings =& $this->db->GAZ_settings;
}
}

With this:

if (!empty($this->vb->GAZ_settings))
{
if (is_array($this->vb->GAZ_settings))
{
$this->settings =& $this->db->GAZ_settings;
}
else
{
$this->settings = unserialize($this->vb->GAZ_settings);
}
if (!is_array($this->settings))
{
$result = $this->db->query_first_slave("
SELECT data FROM " . TABLE_PREFIX . "datastore
WHERE title = 'GAZ_settings'
");

$this->vb->GAZ_settings = $result['data'];
$this->settings = unserialize($result['data']);
$this->db->free_result($result);
}
}

In the gaz_class_core.php file, and that'll hopefully prevent whatever is screwing this GAZ from messing up the GAZ datastore again.

The other thing you need to do is get your most recent database backup, and in that backup, look for the vB datastore table, and then pick off the GAZ_settings row from the backup, and then use phpMyAdmin to replace the value currently in the data field with the data value from the backup.

This can be a bit tricky because the data value is serialized and cannot have extra space or breaks where they shouldn't be located, so if you want me to do this last step for you, PM me only the relevant GAZ_settings row from the backup, not the entire backup, and also provide me with phpMyAdmin access and ACP admin level login so I can change the datastore in the database table and check via the ACP that things look okay.

KenDude
12-17-2008, 09:34 PM
Morgan,

I am not currently able to access my server via FTP to effect the change in that file, nor do I know how to access my backups so I am going to forward this to my ISP who handles all of that and see if he can help fix this issue. If he needs to contact you, what is the best way?

Sincerely,
Ken

KenDude
12-18-2008, 11:50 AM
Morgan,

I have not been able to reach the support from my ISP so I have sent you a PM with the information needed to access my site in the hopes that you can help me. If you need anything else PLEASE let me know and I will do my best to provide it to you ASAP.

Thanks!

KenDude
12-18-2008, 04:44 PM
Morgan,

I was able to get access to the server and I made the changes to gaz_class_core.php that you requested. I still need help with the rest of it though!

Morgan
12-19-2008, 04:49 PM
Do you have the relevant GAZ_settings row from the backup?

KenDude
12-19-2008, 07:26 PM
I have asked the host to provide this from backup but as of yet they haven't sent it to me or provided the information. You can try them directly at support@digitalcrowd.com if you want to see if they can provide it straight to you instead. Not only is the setting info missing, but the module info is missing as well. As I mentioned earlier if I try to manually type some things into the settings now and click save, it isn't saving those items, not sure if you want to try to troubleshoot that in the mean time or not.

Morgan
12-20-2008, 12:24 AM
Without having the GAZ datastore, I won't be able to attempt to reset things as they were before, as I don't know what you had set. It is highly doubtful that a host is going to give a third-party access to one of their customer's data, so as soon as you have a copy of a backup, just let me know and then I can go in and see what I can do.

KenDude
12-23-2008, 06:31 AM
Morgan,

What table are the module settings saved in? My default module set is listed, but when I edit it, no module details show up. Likewise under registered modules the list is blank, so it has forgotten those values as well. I manually recreated the settings information from memory but I need to tell my host what table(s) we are looking for to get the module information back please.

Thanks!

KenDude
12-24-2008, 04:00 PM
Morgan,

I just sent you a PM with the information on where to access the GAZ backup the host has provided me in the hope that you can help me restore the relevant information.

Thanks!
Ken