ChangeSet ID: 30886 CVSROOT: /opt/cvs-commit Module name: appdb Changes by: wineowner@winehq.org 2007/01/17 20:34:19
Modified files: . : appsubmit.php admin : adminAppQueue.php include : appData.php downloadurl.php
Log message: Alexander Nicolaysen Sørnes alex@thehandofagony.com Allow download urls on version submission
Patch: http://cvs.winehq.org/patch.py?id=30886
Old revision New revision Changes Path 1.60 1.61 +5 -0 appdb/appsubmit.php 1.71 1.72 +5 -0 appdb/admin/adminAppQueue.php 1.2 1.3 +4 -2 appdb/include/appData.php 1.8 1.9 +80 -0 appdb/include/downloadurl.php
Index: appdb/appsubmit.php diff -u -p appdb/appsubmit.php:1.60 appdb/appsubmit.php:1.61 --- appdb/appsubmit.php:1.60 18 Jan 2007 2:34:19 -0000 +++ appdb/appsubmit.php 18 Jan 2007 2:34:19 -0000 @@ -216,6 +216,9 @@ if ($aClean['sSub']) { $oTest->create(); } + + downloadurl::processFormSingle($oVersion->iVersionId, $aClean); + util_redirect_and_exit($_SERVER['PHP_SELF']); } } @@ -351,6 +354,8 @@ if ($aClean['sSub'])
$oVersion->outputEditor(false, false);
+ echo downloadurl::outputEditorSingle($iVersionId, $aClean); + $oTest->outputEditor($aClean['sDistribution'],true);
echo "<table width='100%' border=0 cellpadding=2 cellspacing=2>\n"; Index: appdb/admin/adminAppQueue.php diff -u -p appdb/admin/adminAppQueue.php:1.71 appdb/admin/adminAppQueue.php:1.72 --- appdb/admin/adminAppQueue.php:1.71 18 Jan 2007 2:34:19 -0000 +++ appdb/admin/adminAppQueue.php 18 Jan 2007 2:34:19 -0000 @@ -193,6 +193,9 @@ if ($aClean['sSub']) $oVersion->unQueue(); $oTest->update(true); $oTest->unQueue(); + + downloadurl::processFormSingle($oVersion->iVersionId, $aClean, TRUE); + util_redirect_and_exit($_SERVER['PHP_SELF']); } else if ($aClean['sSub'] == 'duplicate') @@ -377,6 +380,8 @@ if ($aClean['sSub'])
$oVersion->outputEditor(false, false);
+ echo downloadurl::outputEditorSingle($oVersion->iVersionId, $aClean); + $oTest->outputEditor($aClean['sDistribution']);
echo html_frame_start("Reply text", "90%", "", 0); Index: appdb/include/appData.php diff -u -p appdb/include/appData.php:1.2 appdb/include/appData.php:1.3 --- appdb/include/appData.php:1.2 18 Jan 2007 2:34:19 -0000 +++ appdb/include/appData.php 18 Jan 2007 2:34:19 -0000 @@ -53,7 +53,7 @@ class appData }
/* Get appData for a given version/application, optionally filter by type */ - function getData($iId, $sType, $bIsVersion = TRUE) + function getData($iId, $sType, $bIsVersion = TRUE, $bQueued = FALSE) { $iAppId = 0; $iVersionId = 0; @@ -63,7 +63,9 @@ class appData else $iAppId = $iId;
- $hResult = query_parameters("SELECT * FROM appData WHERE appId = '?' AND versionId = '?' AND TYPE = '?'", $iAppId, $iVersionId, $sType); + $hResult = query_parameters("SELECT * FROM appData WHERE appId = '?' AND + versionId = '?' AND TYPE = '?' AND queued = '?'", + $iAppId, $iVersionId, $sType, $bQueued ? "true" : "false");
if(!$hResult || !mysql_num_rows($hResult)) return FALSE; Index: appdb/include/downloadurl.php diff -u -p appdb/include/downloadurl.php:1.8 appdb/include/downloadurl.php:1.9 --- appdb/include/downloadurl.php:1.8 18 Jan 2007 2:34:19 -0000 +++ appdb/include/downloadurl.php 18 Jan 2007 2:34:19 -0000 @@ -222,6 +222,50 @@ class downloadurl } }
+ /* Output an editor for a single new URL */ + function outputEditorSingle($iVersionId = NULL, $aValues = NULL) + { + if($iVersionId) + { + if($hResult = appData::getData($iVersionId, "downloadurl", + TRUE, TRUE)) + { + $oRow = mysql_fetch_object($hResult); + $sDownloadUrlUrl = $oRow->url; + $sDownloadUrlDescription = $oRow->description; + } + } else + { + $sDownloadUrlUrl = $aValues["sDownloadUrlUrl"]; + $sDownloadUrlDescription = $aValues["sDownloadUrlDescription"]; + } + + $sReturn .= html_frame_start("Download URL","90%"); + $sReturn .= html_table_begin(""); + + $sReturn .= "A place where this version can be downloaded for free". + " (if applicable). You can add more links later.<br />"; + + $sReturn .= html_tr(array( + array("Download URL", "valign="top""), + array("<input type="text" name="sDownloadUrlUrl" ". + "value="$sDownloadUrlUrl" size="60" />", + "class="color4"")), + "color0"); + + $sReturn .= html_tr(array( + array("Download URL Description", "valign="top""), + array("<input type="text" name="sDownloadUrlDescription" ". + "value="$sDownloadUrlDescription" size="60" />", + "class="color4"")), + "color0"); + + $sReturn .= html_table_end(); + $sReturn .= html_frame_end("nbsp;"); + + return $sReturn; + } + function create() { if(!$this->sUrl or !$this->sDescription or !$this->iVersionId) @@ -255,6 +299,42 @@ class downloadurl return TRUE; }
+ /* Process a form made only for submitting one URL */ + function processFormSingle($iVersionId, $aValues, $bUnQueue = FALSE) + { + if($hResult = appData::getData($iVersionId, "downloadurl", TRUE, TRUE)) + $iId = mysql_fetch_object($hResult)->id; + + $oDownloadurl = new downloadurl($iId); + + $oDownloadurl->sDescription = $aValues['sDownloadUrlDescription']; + $oDownloadurl->sUrl = $aValues['sDownloadUrlUrl']; + $oDownloadurl->iVersionId = $iVersionId; + + if($iId) + $oDownloadurl->update(); + else + $oDownloadurl->create(); + + if($bUnQueue) + $oDownloadurl->unQueue(); + } + + function unQueue() + { + if(!$this->canEdit($this->iVersionId)) + return FALSE; + + $hResult = query_parameters("UPDATE appData SET queued = '?' + WHERE id = '?'", + "false", $this->iId); + + if(!$hResult) + return FALSE; + + return TRUE; + } + function delete() { if(!downloadurl::canEdit($this->iVersionId))