Module: appdb Branch: master Commit: b4bae2f9fe749ee8288307ec0876d7e33048681d URL: http://source.winehq.org/git/appdb.git/?a=commit;h=b4bae2f9fe749ee8288307ec0...
Author: Alexander Nicolaysen Sørnes <alexander@linux-xqqm.(none)> Date: Wed Jul 29 03:10:00 2009 +0200
note: Allow moving from version to app
---
include/note.php | 79 +++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 60 insertions(+), 19 deletions(-)
diff --git a/include/note.php b/include/note.php index bde0e77..fec4edf 100644 --- a/include/note.php +++ b/include/note.php @@ -115,14 +115,30 @@ class Note { $sWhatChanged .= "Description was changed from\n ".$oNote->shDescription."\n to \n".$this->shDescription.".\n\n"; }
- if ($this->iVersionId && $this->iVersionId!=$oNote->iVersionId) + if (($this->iVersionId || $this->iAppId) && $this->iVersionId!=$oNote->iVersionId) { if (!query_parameters("UPDATE appNotes SET versionId = '?' WHERE noteId = '?'", $this->iVersionId, $this->iNoteId)) return false; + $sVersionBefore = Version::lookup_name($oNote->iVersionId); - $sVersionAfter = Version::lookup_name($this->iVersionId); - $sWhatChanged .= "Version was changed from ".$sVersionBefore." to ".$sVersionAfter.".\n\n"; + + if(!$this->iAppId) + { + $sVersionAfter = Version::lookup_name($this->iVersionId); + $sWhatChanged .= "Version was changed from ".$sVersionBefore." to ".$sVersionAfter.".\n\n"; + } else + { + $oApp = new application($this->iAppId); + $sNewApp = $oApp->sName; + $sWhatChanged .= "Moved from version $shVersionBefore to application $sNewApp"; + } + } + if (($this->iAppId || $this->iVersionId) && $this->iAppId!=$oNote->iAppId) + { + if(!query_parameters("UPDATE appNotes SET appId = '?' WHERE noteId = '?'", + $this->iAppId, $this->iNoteId)) + return false; } if($sWhatChanged) $this->SendNotificationMail("edit",$sWhatChanged); @@ -310,23 +326,31 @@ class Note { } }
+ public static function isRealVersionId($iVersionId) + { + return $iVersionId > 0; + } + function outputEditor($aValues = null) { - if($aValues) - { - if(!$this->iVersionId) - $this->iVersionId = $aValues['iVersionId']; + if(!$this->iVersionId) + $this->iVersionId = getInput('iVersionId', $aValues);
- if(!$this->iAppId) - $this->iAppId = getInput('iAppId', $aValues); + if(!$this->iAppId) + $this->iAppId = getInput('iAppId', $aValues);
- if($this->iAppId && !$this->iVersionId) - $this->iVersionId = APPNOTE_SHOW_FOR_ALL; + if($this->iAppId && !$this->iVersionId) + $this->iVersionId = APPNOTE_SHOW_FOR_ALL;
- if(!$this->sTitle) - $this->sTitle = $aValues['sNoteTitle']; + if(!$this->iAppId) + { + $oVersion = new version($this->iVersionId); + $this->iAppId = $oVersion->iAppId; }
+ if(!$this->sTitle) + $this->sTitle = getInput('sNoteTitle', $aValues); + HtmlAreaLoaderScript(array("editor"));
echo html_frame_start("Edit Application Note {$aClean['noteId']}", "90%","",0); @@ -334,8 +358,7 @@ class Note {
echo '<input type="hidden" name="bEditing" value="true">'; echo '<input type="hidden" name="iNoteId" value="'.$this->iNoteId.'">'; - if(!$this->iAppId) - echo '<input type="hidden" name="iVersionId" value="'.$this->iVersionId.'">'; + echo '<input type="hidden" name="iAppId" value="'.$this->iAppId.'">';
echo '<tr><td class=color1>Title</td>'."\n"; @@ -345,14 +368,28 @@ class Note { echo '<textarea cols="80" rows="20" id="editor" name="shNoteDesc">'.$this->shDescription.'</textarea>',"\n"; echo '</p>'; echo '</td></tr>'."\n"; - if($this->iAppId) + + if($this->iAppId); + $oApp = new application($this->iAppId); + if($this->iAppId || $oApp->canEdit()) { - $aIds = array(APPNOTE_SHOW_FOR_ALL, APPNOTE_SHOW_FOR_VERSIONS, APPNOTE_SHOW_FOR_APP); - $aOptions = array('Show on both application and version pages', 'Show on version pages only', 'Show on application page only'); + $aIds = array(); + $aOptions = array(); + if($this->isRealVersionId($this->iVersionId)) + { + $aIds[] = $this->iVersionId; + $aOptions[] = 'Show for this version only'; + } + $aIds = array_merge($aIds, array(APPNOTE_SHOW_FOR_ALL, APPNOTE_SHOW_FOR_VERSIONS, APPNOTE_SHOW_FOR_APP)); + $aOptions = array_merge($aOptions, array('Show on both application and version pages', 'Show on all version pages only', 'Show on application page only'));; echo '<tr><td class="color1">Display mode</td>'."\n"; echo '<td class="color0">'.html_radiobuttons($aIds, $aOptions, 'iVersionId', $this->iVersionId); echo '</td></tr>'; + } else if(!$this->iAppId) + { + echo '<input type="hidden" name="iVersionId" value="'.$this->iVersionId.'">'; } + echo '<tr><td colspan="2" align="center" class="color3">',"\n";
echo html_table_end(); @@ -364,7 +401,11 @@ class Note { function GetOutputEditorValues($aValues) { $this->iVersionId = getInput('iVersionId', $aValues); - $this->iAppId = getInput('iAppId', $aValues); + + if(!$this->isRealVersionId($this->iVersionId)) + $this->iAppId = getInput('iAppId', $aValues); + else + $this->iAppId = 0; $this->sTitle = $aValues['sNoteTitle']; $this->shDescription = $aValues['shNoteDesc']; }