EOT;
// Have to relax the sql modes for mysql 5.7 so it won't fail with zero dates, etc.
cpg_db_query("SET SESSION sql_mode = ''");
foreach ($sql_query as $q) {
$cellStyle = ($loopCounter / 2 == floor($loopCounter / 2)) ? 'tableb' : 'tableb tableb_alternate';
$loopCounter++;
echo '
' . $LINEBREAK . '
' . $q;
/**
* Determining if the Alter Table actually made a change
* to properly reflect it's status on the update page.
*/
if (strpos(strtolower($q), 'alter table') !== false) {
$query = explode(' ', $q);
$result = cpg_db_query("DESCRIBE " . $query[2]);
$description = array();
while ($row = $result->fetchRow()) {
$description[] = $row;
}
$result->free();
$result = @cpg_db_query($q);
if (!$result) {
$errno = $CPGDB->getError(true);
if (!in_array($errno, $okerrs)) {
table_complain($cellStyle);
continue;
}
}
$affected = $CPGDB->affectedRows();
$warnings = cpg_db_query('SHOW WARNINGS');
$result = cpg_db_query("DESCRIBE " . $query[2]);
$description2 = array();
while ($row = $result->fetchRow()) {
$description2[] = $row;
}
$result->free();
if ($description == $description2) {
$affected = 0;
}
} else {
$result = @cpg_db_query($q);
if (!$result) {
$errno = $CPGDB->getError(true);
if (!in_array($errno, $okerrs)) {
table_complain($cellStyle);
continue;
}
}
$affected = $CPGDB->affectedRows();
$warnings = cpg_db_query('SHOW WARNINGS;');
}
if ($superCage->get->keyExists('debug')) {
echo 'Debug output: ';
if ($affected > -1) {
echo "Rows Affected: ".$affected.". ";
}
if ($warnings) {
while ($warning = $warnings->fetchRow()) {
if ($warning[0] != '') {
$warning_text = 'MySQL said: ';
} else {
$warning_text = '';
}
echo $warning_text.''.$warning[0]. ' ('.$warning[1].') '.$warning[2].' ';
}
$warnings->free();
}
}
echo '
'.$LINEBREAK; // end the table cell that contains the output
if ($result && $affected) {
echo '
EOT;
// Encrypt the album password but only for those albums which have a password assigned.
$result = cpg_db_query("update {$CONFIG['TABLE_PREFIX']}albums set alb_password=md5(alb_password) WHERE alb_password IS NOT NULL AND alb_password != '';");
if ($CONFIG['enable_encrypted_alb_passwords'] != NULL) {
$result = cpg_db_query("update {$CONFIG['TABLE_PREFIX']}config set value = 1 WHERE name = 'enable_encrypted_alb_passwords'");
} else {
$result = cpg_db_query("INSERT INTO {$CONFIG['TABLE_PREFIX']}config ( `name` , `value` ) VALUES ('enable_encrypted_alb_passwords', '1')");
}
} else {
echo <<< EOT
EOT;
} else {
// Pre-install the core upload plugins
cpg_db_query("INSERT INTO {$CONFIG['TABLE_PREFIX']}plugins (name, path, priority) VALUES ('CoreH5A Upload', 'upload_h5a', 0), ('CoreSWF Upload', 'upload_swf', 1), ('CoreSGL Upload', 'upload_sgl', 2)");
// And set the default mechanism to 'upload_h5a'
cpg_db_query("UPDATE {$CONFIG['TABLE_PREFIX']}config SET value='upload_h5a' WHERE name='upload_mechanism'");
// employ any existing html5upload configurations
$result = cpg_db_query("SELECT name,value FROM {$CONFIG['TABLE_PREFIX']}config WHERE name LIKE 'html5upload_config%'");
$cfgs = cpg_db_fetch_rowset($result, true);
foreach ($cfgs as $cfg) {
$cfgn = 'upload_h5a' . substr($cfg['name'], 18);
$cfgv = cpg_db_escape_string($cfg['value']);
cpg_db_query("INSERT INTO {$CONFIG['TABLE_PREFIX']}config VALUES ('{$cfgn}', '{$cfgv}')");
}
}
// if there were no html5upload configs, set a default one
if (!isset($cfgs) || !$cfgs) {
cpg_db_query("INSERT INTO {$CONFIG['TABLE_PREFIX']}config VALUES ('upload_h5a', 'a:11:{s:10:\"concurrent\";i:3;s:8:\"upldsize\";i:0;s:8:\"autoedit\";i:1;s:8:\"acptmime\";s:7:\"image/*\";s:8:\"enabtitl\";i:0;s:8:\"enabdesc\";i:0;s:8:\"enabkeys\";i:1;s:8:\"enabusr1\";i:0;s:8:\"enabusr2\";i:0;s:8:\"enabusr3\";i:0;s:8:\"enabusr4\";i:0;}')");
}
echo <<< EOT
{$ok_icon}{$lang_common['ok']}
EOT;
}
function table_complain ($cs)
{
global $errors, $CONFIG, $CPGDB, $lang_update_php, $lang_common, $LINEBREAK, $help;
echo '
', $CPGDB->getError(), '
', $LINEBREAK;
}
function update_files()
{
global $lang_update_php, $file_system_icon;
echo <<< EOT