mirror of
https://github.com/Cacti/cacti.git
synced 2026-11-02 10:07:22 +09:00
76 lines
2.9 KiB
PHP
76 lines
2.9 KiB
PHP
<?php
|
|
/*
|
|
+-------------------------------------------------------------------------+
|
|
| Copyright (C) 2004-2026 The Cacti Group |
|
|
| |
|
|
| This program is free software; you can redistribute it and/or |
|
|
| modify it under the terms of the GNU General Public License |
|
|
| as published by the Free Software Foundation; either version 2 |
|
|
| of the License, or (at your option) any later version. |
|
|
| |
|
|
| This program is distributed in the hope that it will be useful, |
|
|
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
| GNU General Public License for more details. |
|
|
+-------------------------------------------------------------------------+
|
|
| Cacti: The Complete RRDTool-based Graphing Solution |
|
|
+-------------------------------------------------------------------------+
|
|
| This code is designed, written, and maintained by the Cacti Group. See |
|
|
| about.php and/or the AUTHORS file for specific developer information. |
|
|
+-------------------------------------------------------------------------+
|
|
| http://www.cacti.net/ |
|
|
+-------------------------------------------------------------------------+
|
|
*/
|
|
|
|
function upgrade_to_1_2_26() : void {
|
|
db_install_execute("ALTER TABLE `settings` MODIFY `value` varchar(4096) not null default ''");
|
|
db_install_execute("ALTER TABLE `settings_user` MODIFY `value` varchar(4096) not null default ''");
|
|
|
|
// rerun this function just in case for some reason it was missed
|
|
$duplicates = db_install_fetch_assoc('SELECT hex, COUNT(*) AS totals
|
|
FROM colors
|
|
GROUP BY hex
|
|
HAVING totals > 1');
|
|
|
|
if (cacti_sizeof($duplicates['data'])) {
|
|
$duplicates = $duplicates['data'];
|
|
|
|
foreach ($duplicates as $duplicate) {
|
|
$hexes_results = db_install_fetch_assoc('SELECT id, hex
|
|
FROM colors
|
|
WHERE hex = ?
|
|
ORDER BY id ASC',
|
|
[$duplicate['hex']], true);
|
|
$hexes = $hexes_results['data'];
|
|
|
|
$first = true;
|
|
$keephex = 0;
|
|
|
|
foreach ($hexes as $hex) {
|
|
if ($first) {
|
|
$keephex = $hex['id'];
|
|
$first = false;
|
|
} else {
|
|
db_install_execute('UPDATE graph_templates_item
|
|
SET color_id = ?
|
|
WHERE color_id = ?',
|
|
[$keephex, $hex['id']]);
|
|
|
|
if (db_table_exists('color_template_items')) {
|
|
db_install_execute('UPDATE color_template_items
|
|
SET color_id = ?
|
|
WHERE color_id = ?',
|
|
[$keephex, $hex['id']]);
|
|
}
|
|
|
|
db_install_execute('DELETE FROM colors WHERE id = ?', [$hex['id']]);
|
|
}
|
|
}
|
|
}
|
|
|
|
if (!db_index_exists('colors', 'hex')) {
|
|
db_install_add_key('colors', 'UNIQUE INDEX', 'hex', ['hex']);
|
|
}
|
|
}
|
|
}
|