Commit 7bb96c0907826dde43f973f5005d1c0bba7451e1

Authored by nbm
1 parent 4a5d7955

Stick an upgrade function to detect whether the system has the

discussion.sql upgrade script installed, but without the upgrade being
recorded.


git-svn-id: https://kt-dms.svn.sourceforge.net/svnroot/kt-dms/trunk@4721 c91229c3-7414-0410-bfa2-8a42b809f60b
lib/upgrades/UpgradeFunctions.inc.php
@@ -6,7 +6,8 @@ class UpgradeFunctions { @@ -6,7 +6,8 @@ class UpgradeFunctions {
6 "2.0.6" => array("addTemplateMimeTypes"), 6 "2.0.6" => array("addTemplateMimeTypes"),
7 "2.0.8" => array("setPermissionObject"), 7 "2.0.8" => array("setPermissionObject"),
8 "2.99.1" => array("createFieldSets"), 8 "2.99.1" => array("createFieldSets"),
9 - "2.99.7" => array("normaliseDocuments"), #, "createLdapAuthenticationProvider"), 9 + "2.99.7" => array("normaliseDocuments", "applyDiscussionUpgrade"),
  10 + "2.99.8" => array("fixUnits"), #, "createLdapAuthenticationProvider"),
10 ); 11 );
11 12
12 var $descriptions = array( 13 var $descriptions = array(
@@ -21,6 +22,8 @@ class UpgradeFunctions { @@ -21,6 +22,8 @@ class UpgradeFunctions {
21 "setPermissionObject" => 1, 22 "setPermissionObject" => 1,
22 "createFieldSets" => 1, 23 "createFieldSets" => 1,
23 "normaliseDocuments" => 1, 24 "normaliseDocuments" => 1,
  25 + "fixUnits" => 1,
  26 + 'applyDiscussionUpgrade' => -1,
24 ); 27 );
25 28
26 // {{{ _setPermissionFolder 29 // {{{ _setPermissionFolder
@@ -371,6 +374,39 @@ class UpgradeFunctions { @@ -371,6 +374,39 @@ class UpgradeFunctions {
371 374
372 } 375 }
373 // }}} 376 // }}}
  377 +
  378 + // {{{ applyDiscussionUpgrade
  379 + function applyDiscussionUpgrade() {
  380 + $sUpgradesTable = KTUtil::getTableName('upgrades');
  381 + $bIsVersionApplied = DBUtil::getOneResultKey("SELECT MAX(result) AS result FROM $sUpgradesTable WHERE descriptor = 'upgrade*2.99.7*99*upgrade2.99.7'", "result");
  382 + if (empty($bIsVersionApplied)) {
  383 + // print "Version is not applied!<br />\n";
  384 + return;
  385 + }
  386 +
  387 + $bIsDiscussionApplied = DBUtil::getOneResultKey("SELECT MAX(result) AS result FROM $sUpgradesTable WHERE descriptor = 'sql*2.99.7*0*2.99.7/discussion.sql'", "result");
  388 + if (!empty($bIsDiscussionApplied)) {
  389 + // print "Discussion is applied!<br />\n";
  390 + return;
  391 + }
  392 + // print "Discussion is not applied!<br />\n";
  393 +
  394 + $f = array(
  395 + 'descriptor' => 'sql*2.99.7*0*2.99.7/discussion.sql',
  396 + 'result' => true,
  397 + );
  398 + $res = DBUtil::autoInsert($sUpgradesTable, $f);
  399 + return;
  400 + }
  401 + // }}}
  402 +
  403 + // {{{ fixUnits
  404 + function fixUnits() {
  405 + $sGULTable = KTUtil::getTableName("groups_units");
  406 + $aGroupUnits = DBUtil::getResultArray("SELECT group_id, unit_id FROM $sGULTable");
  407 + exit(0);
  408 + }
  409 + // }}}
374 } 410 }
375 411
376 ?> 412 ?>