completespray - Thanks, but that didn't seem to help me. Just to make sure I followed it correctly here's what I tried. Here's my current/changed counter.php:
PHP Code:
if (!defined('IS_ADMIN_FLAG')) {
die('Illegal Access');
}
if (isset($_SESSION['session_counter']) && $_SESSION['session_counter'] == true) {
$session_counter = 0;
} else {
$session_counter = 1;
$_SESSION['session_counter'] = true;
}
$date_now = date('Ymd');
$sql = "insert into " . TABLE_COUNTER_HISTORY . " (startdate, counter, session_counter) values ('" . $date_now . "', '1', '1')
on duplicate key update counter = counter + 1, session_counter = session_counter + " . (int)$session_counter;
$db->Execute($sql);
$counter_query = "select startdate, counter from " . TABLE_COUNTER;
$counter = $db->Execute($counter_query);
if ($counter->RecordCount() <= 0) {
$date_now = date('Ymd');
$sql = "insert into " . TABLE_COUNTER . " (startdate, counter) values ('" . $date_now . "', '1')";
$db->Execute($sql);
$counter_startdate = $date_now;
$counter_now = 1;
} else {
$counter_startdate = $counter->fields['startdate'];
$counter_now = ($counter->fields['counter'] + 1);
$sql = "update " . TABLE_COUNTER . " set counter = '" . $counter_now . "'";
$db->Execute($sql);
}
$counter_query = "select startdate, counter from " . TABLE_COUNTER;
$counter = $db->Execute($counter_query);
if ($counter->RecordCount() <= 0) {
$date_now = date('Ymd');
$sql = "insert into " . TABLE_COUNTER . " (startdate, counter) values ('" . $date_now . "', '1')";
$db->Execute($sql);
$counter_startdate = $date_now;
$counter_now = 1;
} else {
$counter_startdate = $counter->fields['startdate'];
$counter_now = ($counter->fields['counter'] + 1);
$sql = "update " . TABLE_COUNTER . " set counter = '" . $counter_now . "'";
$db->Execute($sql);
}
$counter_startdate_formatted = strftime(DATE_FORMAT_LONG, mktime(0, 0, 0, substr($counter_startdate, 4, 2), substr($counter_startdate, -2), substr($counter_startdate, 0, 4)));
and I ran this:
Code:
DROP TABLE IF EXISTS counter_history;
CREATE TABLE counter_history (
startdate char(8) default NULL,
counter int(12) default NULL,
session_counter int(12) default NULL,
PRIMARY KEY (startdate)
) ENGINE=MyISAM;
in the admin's Install SQL Patches. Then I ran the Upgrade Database in zc_install. Still got this:
1253 COLLATION 'latin1_general_ci' is not valid for CHARACTER SET 'utf8'
in:
[CREATE TABLE counter_history_clean as SELECT * FROM counter_history WHERE 1 GROUP BY startdate COLLATE latin1_general_ci;]
Admin still says Zen Cart 1.3.9b
Database Patch Level: 1.3.8
but when I ran the zc_install it says Database appears to be Zen Cart™ v1.3.9.
Do I need to upgrade Zen Cart?