Module: appdb Branch: master Commit: f024989c2a407d0b16ab63741ad7ca7567148f52 URL: http://source.winehq.org/git/appdb.git/?a=commit;h=f024989c2a407d0b16ab63741...
Author: Alexander Nicolaysen Sørnes alexsornes@gmail.com Date: Sun Apr 24 18:56:06 2011 +0200
Control Center: Show queries needed to fix note links
---
admin.php | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 92 insertions(+), 1 deletions(-)
diff --git a/admin.php b/admin.php index 2a4f757..d37918c 100644 --- a/admin.php +++ b/admin.php @@ -39,10 +39,97 @@ function updateVersionMaintainerStates() echo "Updated $i entries"; }
+function fixNoteLinks() +{ + // Notes shown for app and all versions + $hResult = query_parameters("SELECT * FROM appNotes WHERE versionId = '?'", APPNOTE_SHOW_FOR_ALL); + + echo 'The following notes are set to show for app and all versions:<br />'; + while(($oRow = mysql_fetch_object($hResult))) + { + $oNote = new note(null, $oRow); + $iNoteId = $oNote->objectGetId(); + $oApp = new Application($oNote->iAppId); + echo 'ID: '.$oNote->objectGetId().'<br />'; + echo 'App: '.$oApp->objectMakeLink().'<br />'; + + $aVersions = $oApp->GetVersions(true); + foreach($aVersions as $oVersion) + { + $iVersionId = $oVersion->objectGetId(); + $sFix = "INSERT INTO tags_NoteVersion_assignments (tagId,taggedId) VALUES('$iVersionId','$iNoteId')"; + echo "$sFix<br />"; + } + + echo '<br />'; + } + + + // Notes shown for all versions + $hResult = query_parameters("SELECT * FROM appNotes WHERE versionId = '?'", APPNOTE_SHOW_FOR_VERSIONS); + + echo '<br /><br />The following notes are set to show for all versions:<br />'; + while(($oRow = mysql_fetch_object($hResult))) + { + $oNote = new note(null, $oRow); + $iNoteId = $oNote->objectGetId(); + $oApp = new Application($oNote->iAppId); + echo 'ID: '.$oNote->objectGetId().'<br />'; + echo 'App: '.$oApp->objectMakeLink().'<br />'; + + $aVersions = $oApp->GetVersions(true); + foreach($aVersions as $oVersion) + { + $iVersionId = $oVersion->objectGetId(); + $sFix = "INSERT INTO tags_NoteVersion_assignments (tagId,taggedId) VALUES('$iVersionId','$iNoteId')"; + echo "$sFix<br />"; + } + + echo '<br />'; + } + + // Notes shown for specific versions + $hResult = query_parameters("SELECT * FROM appNotes WHERE versionId = '?'", APPNOTE_SHOW_FOR_SPECIFIC_VERSIONS); + + echo '<br /><br />The following notes are set to show for specific versions:<br />'; + while(($oRow = mysql_fetch_object($hResult))) + { + $oNote = new note(null, $oRow); + $iNoteId = $oNote->objectGetId(); + $oApp = new Application($oNote->iAppId); + echo 'ID: '.$oNote->objectGetId().'<br />'; + echo 'App: '.$oApp->objectMakeLink().'<br />'; + echo '<br />'; + + $hResult = query_parameters("SELECT DISTINCT(versionId) FROM appNotes WHERE linkedWith = '?'", $oNote->objectGetId()); + + while(($oRow = mysql_fetch_object($hResult))) + { + $iVersionId = $oRow->versionId; + $sFix = "INSERT INTO tags_NoteVersion_assignments (tagId,taggedId) VALUES('$iVersionId','$iNoteId')"; + echo "$sFix<br />"; + } + } + + // Notes shown for app + $hResult = query_parameters("SELECT * FROM appNotes WHERE versionId = '?'", APPNOTE_SHOW_FOR_APP); + + echo '<br /><br />The following notes are set to show on app page:<br />'; + while(($oRow = mysql_fetch_object($hResult))) + { + $oNote = new note(null, $oRow); + $oApp = new Application($oNote->iAppId); + echo 'ID: '.$oNote->objectGetId().'<br />'; + echo 'App: '.$oApp->objectMakeLink().'<br />'; + echo '<br />'; + } +} + function showChoices() { + echo '<a href="admin.php?sAction=fixNoteLinks">Fix/Show note links</a><br />'; echo '<a href="admin.php?sAction=updateAppMaintainerStates">Update application maintainer states</a><br />'; - echo '<a href="admin.php?sAction=updateVersionMaintainerStates">Update version maintainer states</a>'; + echo '<a href="admin.php?sAction=updateVersionMaintainerStates">Update version maintainer states</a><br />'; }
switch(getInput('sAction', $aClean)) @@ -55,6 +142,10 @@ switch(getInput('sAction', $aClean)) updateVersionMaintainerStates(); break;
+ case 'fixNoteLinks': + fixNoteLinks(); + break; + default: showChoices(); break;