Platform  3.1
PHP API documentation
 All Data Structures Namespaces Files Functions Variables Pages
fixMultipleAliveRevision.php
Go to the documentation of this file.
1 <?php
2 /*
3  * @author Anakeen
4  * @license http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Anakeen - licence CC
5  * @package FDL
6 */
7 
8 ini_set("max_execution_time", "36000");
9 
10 include_once ('FDL/freedom_util.php');
11 
12 $dbaccess = GetParam("FREEDOM_DB");
13 if ($dbaccess == "") {
14  error_log("Freedom Database not found : param FREEDOM_DB");
15  exit(1);
16 }
17 
18 $multipleList = array();
19 $sql = "SELECT m AS id, z.initid AS initid FROM (SELECT min(id) AS m, initid, count(initid) AS c FROM docread WHERE locked != -1 AND doctype != 'T' GROUP BY docread.initid) AS z where z.c > 1";
21 if ($err != "") {
22  error_log(sprintf("Error searching for multiple alive revision: %s", $err));
23  exit(1);
24 }
25 
26 foreach ($multipleList as $el) {
27  print sprintf("Fixing mutiple alive revision for (initid='%s', id='%s')\n", $el['initid'], $el['id']);
28  $res = array();
29  $sql = sprintf("UPDATE doc SET locked = -1 WHERE initid = %s AND id = %s AND locked != -1 AND doctype != 'T'", pg_escape_string($el['initid']) , pg_escape_string($el['id']));
30  $err = simpleQuery($dbaccess, $sql, $res);
31  if ($err != "") {
32  error_log(sprintf("Error fixing multiple alive revision for (initid='%s', id='%s'): %s", $el['initid'], $el['id'], $err));
33  exit(1);
34  }
35 }
36 
37 exit(0);
38 ?>
← centre documentaire © anakeen - published under CC License - Dynacase