<pre><?php include_once 'lib.php'; // Apply ? $apply = param($_GET, 'apply', false); if ($apply !== false) { $apply = true; } // Loop $query = query('SELECT * FROM card ORDER BY `id` DESC'); // Last added cards are managed first, in order not to wait before a die $nb = 0; while ($arr = mysql_fetch_array($query)) { $arr['text'] = card_text_sanitize($arr['text']); $attrs_obj = new attrs($arr); $attrs = json_encode($attrs_obj); if ($arr['attrs'] != $attrs) { $nb++; echo '<hr>' . $arr['name']; echo '<pre>-' . print_r(obj_diff(json_decode($arr['attrs']), $attrs_obj), true) . '</pre>'; echo '<pre>+' . print_r(obj_diff($attrs_obj, json_decode($arr['attrs'])), true) . '</pre>'; if ($apply) { query("UPDATE\n\t\t\t\tcard\n\t\t\tSET\n\t\t\t\t`attrs` = '" . mysql_escape_string($attrs) . "'\n\t\t\t\t, `text` = '" . mysql_escape_string($arr['text']) . "'\n\t\t\tWHERE\n\t\t\t\t`id` = '" . $arr['id'] . "'\n\t\t\t; "); } } } die($nb . ' updates <a href="?apply=1">apply</a>');
function addtext($add) { $this->text .= "\n" . card_text_sanitize($add); }
<?php if (array_key_exists('card_id', $_GET)) { include '../../../lib.php'; include '../../../includes/db.php'; include '../../../includes/card.php'; $connec = card_connect(); $card_id = param_or_die($_GET, 'card_id'); $fixed_attrs = param_or_die($_GET, 'fixed_attrs'); $card = array(); $card['name'] = param_or_die($_GET, 'card_name'); $card['cost'] = param_or_die($_GET, 'cost'); $card['types'] = param_or_die($_GET, 'types'); $card['text'] = param_or_die($_GET, 'text'); $card['text'] = stripslashes($card['text']); $card['text'] = card_text_sanitize($card['text']); $attrs = new attrs($card); $attrs = JSON_encode($attrs); $query = query("UPDATE \n\t\t`card`\n\tSET\n\t\t`cost` = '" . $card['cost'] . "', \n\t\t`name` = '" . mysql_real_escape_string($card['name']) . "', \n\t\t`types` = '" . $card['types'] . "', \n\t\t`text` = '" . mysql_real_escape_string($card['text']) . "', \n\t\t`attrs` = '" . mysql_real_escape_string($attrs) . "',\n\t\t`fixed_attrs` = '" . mysql_real_escape_string($fixed_attrs) . "' \n\tWHERE\n\t\t`id` = {$card_id}\n\t; ", 'Card update', $connec); die('{"nb": "' . mysql_affected_rows() . '"}'); } else { die("{'msg' : 'No ID in param'}"); }