Exemplo n.º 1
0
            }
            $allentries[] = $tabledata[$tablelist[$globalkey][$table]['searchkey']];
        }
        //search for deleted entries
        unset($comma);
        foreach ($allentries as $searchkeys) {
            $exceptkeys .= $comma . $tablelist[$globalkey][$table]['searchkey'] . "!='" . mysql_real_escape_string($searchkeys) . "'";
            $comma = " AND ";
        }
        if ($exceptkeys) {
            $exceptkeys = "WHERE {$exceptkeys}";
        }
        $querytabledata_old = MYSQL_QUERY("SELECT " . $tablelist[$globalkey][$table]['searchkey'] . " FROM {$table} {$exceptkeys}", $dbold);
        $delentries = MYSQL_NUM_ROWS($querytabledata_old);
        while ($tabledata_old = MYSQL_FETCH_ASSOC($querytabledata_old)) {
            $sqldiff->write_cache("sql,{$globalkey},{$table},del," . $tabledata_old[$tablelist[$globalkey][$table]['searchkey']], $tabledata_old[$tablelist[$globalkey][$table]['searchkey']]);
            $content['del'] .= "<div class='bordered small'><b>DEL</b> {$table}/" . $tablelist[$globalkey][$table]['searchkey'] . " => " . $stringtable->get_string($tabledata_old[$tablelist[$globalkey][$table]['searchkey']]) . " (" . $tabledata_old[$tablelist[$globalkey][$table]['searchkey']] . ")</div>";
        }
        #---------------
        //any diffs made? if yes than set settings for later use, if no than ignore whole table
        if ($diffentries or $newentries or $delentries) {
            $sqldiff->write_cache("sql,{$globalkey},{$table},settings,searchkey", $tablelist[$globalkey][$table]['searchkey']);
            $sqldiff->write_cache("sql,{$globalkey},{$table},settings,ignore", $tablelist[$globalkey][$table]['ignore']);
            $sqldiff->write_cache("sql,{$globalkey},{$table},settings,columnnametable", $tablelist[$globalkey][$table]['columnnametable']);
            $sqldiff->write_cache("sql,{$globalkey},{$table},settings,parsexml", $tablelist[$globalkey][$table]['parsexml']);
            $finalcontent .= "\n\t\t\t\t\t<div class='subtitle' style='margin-top:12px;'>{$table} Diff: {$diffentries}/New: {$newentries}/Del: {$delentries}</div>\n\t\t\t\t\t{$content['diff']}\n\t\t\t\t\t{$content['new']}\n\t\t\t\t\t{$content['del']}\n\t\t\t\t";
        }
    }
}
$sqldiff->export_cache("{$florensia->root_abs}/sqldiff_" . $sqldiff->get_cache("timestamp") . ".php");
$florensia->output_page($finalcontent);
Exemplo n.º 2
0
require_once "./class_diff.php";
$difffiles = scandir("./diffs/", 1);
$selected_difffile[$_GET['diff']] = "selected='selected'";
foreach ($difffiles as $difffile) {
    if (!preg_match('/~$/', $difffile) && preg_match('/^sqldiff_([0-9]{10})\\.php$/', $difffile, $timestamp)) {
        if (!isset($_GET['diff'])) {
            $_GET['diff'] = $timestamp[1];
        }
        $files .= "<option value='" . $timestamp[1] . "' " . $selected_difffile[$timestamp[1]] . ">" . date("m.d.Y", $timestamp[1]) . "</option>";
    }
}
$selectform = "\n\t\t<form action='" . $florensia->escape($_SERVER['REQUEST_URI']) . "' method='GET'>\n\t\t\t<div class='small bordered' style='margin-bottom:10px;'>\n\t\t\t{$flolang->diff_select_title} \n\t\t\t\t<select name='diff'>{$files}</select>\n\t\t\t\t&nbsp;<input class='quicksubmit' type='submit' value=''>\n\t\t\t</div>\n\t\t</form>\n\t";
$selected_file = "{$florensia->root_abs}/diffs/sqldiff_" . $_GET['diff'] . ".php";
if (is_file($selected_file)) {
    $sqldiff = new class_cache();
    $sqldiff->load_cachefile($selected_file);
    if ($sqldiff->get_cache("timestamp")) {
        foreach ($sqldiff->get_cache("sql", FALSE) as $mainentry => $mainvalue) {
            foreach ($sqldiff->get_cache("sql,{$mainentry}", FALSE) as $subentry => $subvalue) {
                $diff->create_diff_overview($subentry, $subvalue);
            }
        }
        $content = "\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<table style='width:100%;'><tr>\n\t\t\t\t\t\t\t<td style='width:33%' class='diff_new'>{$flolang->diff_legend_newentries}</td>\n\t\t\t\t\t\t\t<td style='width:33%;' class='diff_changed'>{$flolang->diff_legend_changedentries}</td>\n\t\t\t\t\t\t\t<td class='diff_deleted'>{$flolang->diff_legend_removedentries}</td>\n\t\t\t\t\t\t</tr></table>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class='subtitle' style='text-align:center; margin-bottom:5px; margin-top:10px;'>" . date("m.d.Y", $sqldiff->get_cache("timestamp")) . "</div>\n\t\t\t\t\t" . $diff->watch_diff_overview();
    } else {
        $florensia->notice($flolang->diff_error_loadfile, "warning");
    }
} else {
    $florensia->notice($flolang->diff_error_notfound, "warning");
}
$content = $selectform . $content;
$florensia->output_page($content);