summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Beaver <cellog@php.net>2003-08-13 21:12:15 +0000
committerGreg Beaver <cellog@php.net>2003-08-13 21:12:15 +0000
commitf7a70ccc132d013c6db4f5f6b2030b675070b5ae (patch)
tree1226e88a900b63def145cb6729fe139b92f5c23d
parenta90d56f52c900005d561e9493e62b295dc3866b5 (diff)
downloadphp-git-f7a70ccc132d013c6db4f5f6b2030b675070b5ae.tar.gz
fix optional dependencies in reading, validating, and writing of package.xml
-rw-r--r--pear/PEAR/Common.php8
1 files changed, 8 insertions, 0 deletions
diff --git a/pear/PEAR/Common.php b/pear/PEAR/Common.php
index 81f88b6643..4f511a337c 100644
--- a/pear/PEAR/Common.php
+++ b/pear/PEAR/Common.php
@@ -924,6 +924,9 @@ class PEAR_Common extends PEAR
if (isset($dep['version'])) {
$ret .= " version=\"$dep[version]\"";
}
+ if (isset($dep['optional'])) {
+ $ret .= " optional=\"$dep[optional]\"";
+ }
if (isset($dep['name'])) {
$ret .= ">$dep[name]</dep>\n";
} else {
@@ -1090,6 +1093,11 @@ class PEAR_Common extends PEAR
} elseif (!in_array($d['rel'], $_PEAR_Common_dependency_relations)) {
$errors[] = "dependency $i: invalid relation, should be one of: ".implode(' ', $_PEAR_Common_dependency_relations);
}
+ if (!empty($d['optional'])) {
+ if (!in_array($d['optional'], array('yes', 'no'))) {
+ $errors[] = "dependency $i: invalid relation optional attribute, should be one of: yes no";
+ }
+ }
if ($d['rel'] != 'has' && empty($d['version'])) {
$warnings[] = "dependency $i: missing version";
} elseif ($d['rel'] == 'has' && !empty($d['version'])) {