Move all PKGBUILD field validations to a central location.

Also, change $pkgbuild[] to $new_pkgbuild[] in order to parse evaluated
PKGBUILD fields instead of raw ones.

Signed-off-by: Lukas Fleischer <[email protected]>
---
 web/html/pkgsubmit.php | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/web/html/pkgsubmit.php b/web/html/pkgsubmit.php
index 685d5cb..d9bb6bc 100644
--- a/web/html/pkgsubmit.php
+++ b/web/html/pkgsubmit.php
@@ -211,20 +211,6 @@ if ($uid):
                        }
                }
 
-               # TODO This is where other additional error checking can be
-               # performed. Examples: #md5sums == #sources?, md5sums of any
-               # included files match?, install scriptlet file exists?
-               #
-
-               # Check for http:// or other protocol in url
-               #
-               if (!$error) {
-                       $parsed_url = parse_url($pkgbuild['url']);
-                       if (!$parsed_url['scheme']) {
-                               $error = __("Package URL is missing a protocol 
(ie. http:// ,ftp://)");
-                       }
-               }
-
                # Now, run through the pkgbuild array, and do "eval" and simple 
substituions.
                if (!$error) {
                        while (list($k, $v) = each($pkgbuild)) {
@@ -288,6 +274,18 @@ if ($uid):
                        }
                }
 
+               # Check for http:// or other protocol in url
+               if (!$error) {
+                       $parsed_url = parse_url($new_pkgbuild['url']);
+                       if (!$parsed_url['scheme']) {
+                               $error = __("Package URL is missing a protocol 
(ie. http:// ,ftp://)");
+                       }
+               }
+
+               # TODO: This is where other additional error checking can be
+               # performed. Examples: #md5sums == #sources?, md5sums of any
+               # included files match?, install scriptlet file exists?
+
                # The DB schema imposes limitations on number of allowed 
characters
                # Print error message when these limitations are exceeded
                if (!$error) {
-- 
1.8.2.rc2.352.g908df73

Reply via email to