Add conflict resolver
[disclosr.git] / admin / conflicts.php
blob:a/admin/conflicts.php -> blob:b/admin/conflicts.php
<?php <?php
   
include_once('../include/common.inc.php'); include_once('../include/common.inc.php');
include_header(); include_header('Fix Conflicts');
require_once '../lib/php-diff/lib/Diff.php'; require_once '../lib/php-diff/lib/Diff.php';
require_once '../lib/php-diff/lib/Diff/Renderer/Html/SideBySide.php'; require_once '../lib/php-diff/lib/Diff/Renderer/Html/SideBySide.php';
   
$db = $server->get_db('disclosr-agencies'); $db = $server->get_db('disclosr-agencies');
   
try { try {
$rows = $db->get_view("app", "getConflicts", null, true)->rows; $rows = $db->get_view("app", "getConflicts", null, true)->rows;
//print_r($rows); //print_r($rows);
foreach ($rows as $row) { foreach ($rows as $row) {
echo "<h2>".$row->id."</h2>"; echo "<h2>".$row->id."</h2>";
$request = Requests::get($serverAddr."disclosr-agencies/".$row->id); $request = Requests::get($serverAddr."disclosr-agencies/".$row->id);
$origSort = object_to_array(json_decode($request->body)); $origSort = object_to_array(json_decode($request->body));
ksort($origSort); ksort($origSort);
$origDoc = explode(",",json_encode($origSort)); $origDoc = explode(",",json_encode($origSort));
foreach($row->value as $conflictRev) { foreach($row->value as $conflictRev) {
$conflictURL = $serverAddr."disclosr-agencies/".$row->id."?rev=".$conflictRev; $conflictURL = $serverAddr."disclosr-agencies/".$row->id."?rev=".$conflictRev;
$request = Requests::get($conflictURL); $request = Requests::get($conflictURL);
$conflictSort = object_to_array(json_decode($request->body)); $conflictSort = object_to_array(json_decode($request->body));
ksort($conflictSort); ksort($conflictSort);
$conflictDoc = explode(",",json_encode($conflictSort)); $conflictDoc = explode(",",json_encode($conflictSort));
echo "curl -X DELETE ".$conflictURL."<br>".PHP_EOL; echo "curl -X DELETE ".$conflictURL."<br>".PHP_EOL;
// Options for generating the diff // Options for generating the diff
$options = array( $options = array(
//'ignoreWhitespace' => true, //'ignoreWhitespace' => true,
//'ignoreCase' => true, //'ignoreCase' => true,
); );
   
// Initialize the diff class // Initialize the diff class
$diff = new Diff($conflictDoc, $origDoc, $options); $diff = new Diff($conflictDoc, $origDoc, $options);
   
// Generate a side by side diff // Generate a side by side diff
$renderer = new Diff_Renderer_Html_SideBySide; $renderer = new Diff_Renderer_Html_SideBySide;
echo $diff->Render($renderer); echo $diff->Render($renderer);
} }
die(); die();
} }
} catch (SetteeRestClientException $e) { } catch (SetteeRestClientException $e) {
setteErrorHandler($e); setteErrorHandler($e);
} }
   
include_footer(); include_footer();
?> ?>