2008-01-10 Jeff Segars <jeff@webempoweredchurch.org>
2008-01-10 Jeff Segars <jeff@webempoweredchurch.org>
+ * Fixed bug #5421: Problem ignoring extension constraints
* Fixed bug #7105: Default value of image_orient is invalid (Thanks to Steffen Kamper)
2008-01-09 Benjamin Mack <mack@xnos.org>
* Fixed bug #7105: Default value of image_orient is invalid (Thanks to Steffen Kamper)
2008-01-09 Benjamin Mack <mack@xnos.org>
function checkDependencies($extKey, $conf, $instExtInfo) {
$content = '';
$depError = false;
function checkDependencies($extKey, $conf, $instExtInfo) {
$content = '';
$depError = false;
$msg = array();
$depsolver = t3lib_div::_POST('depsolver');
$msg = array();
$depsolver = t3lib_div::_POST('depsolver');
if($depsolver['ignore'][$depK]) {
$msg[] = '<br />Dependency on '.$depK.' ignored as requested.
<input type="hidden" value="1" name="depsolver[ignore]['.$depK.']" />';
if($depsolver['ignore'][$depK]) {
$msg[] = '<br />Dependency on '.$depK.' ignored as requested.
<input type="hidden" value="1" name="depsolver[ignore]['.$depK.']" />';
continue;
}
if($depK == 'php') {
continue;
}
if($depK == 'php') {
+ if($depError || $depIgnore) {
$content.= $this->doc->section('Dependency Error',implode('<br />',$msg),0,1,2);
}
// Check conflicts with other extensions:
$conflictError = false;
$content.= $this->doc->section('Dependency Error',implode('<br />',$msg),0,1,2);
}
// Check conflicts with other extensions:
$conflictError = false;
+ $conflictIgnore = false;
$msg = array();
if (isset($conf['constraints']['conflicts']) && is_array($conf['constraints']['conflicts'])) {
$msg = array();
if (isset($conf['constraints']['conflicts']) && is_array($conf['constraints']['conflicts'])) {
if($depsolver['ignore'][$conflictK]) {
$msg[] = '<br />Conflict with '.$conflictK.' ignored as requested.
<input type="hidden" value="1" name="depsolver[ignore]['.$conflictK.']" />';
if($depsolver['ignore'][$conflictK]) {
$msg[] = '<br />Conflict with '.$conflictK.' ignored as requested.
<input type="hidden" value="1" name="depsolver[ignore]['.$conflictK.']" />';
+ $conflictIgnore = true;
continue;
}
if (t3lib_extMgm::isLoaded($conflictK)) {
continue;
}
if (t3lib_extMgm::isLoaded($conflictK)) {
+ if($conflictError || $conflictIgnore) {
$content.= $this->doc->section('Conflict Error',implode('<br />',$msg),0,1,2);
}
// Check suggests on other extensions:
if(isset($conf['constraints']['suggests']) && is_array($conf['constraints']['suggests'])) {
$suggestion = false;
$content.= $this->doc->section('Conflict Error',implode('<br />',$msg),0,1,2);
}
// Check suggests on other extensions:
if(isset($conf['constraints']['suggests']) && is_array($conf['constraints']['suggests'])) {
$suggestion = false;
+ $suggestionIgnore = false;
$msg = array();
foreach($conf['constraints']['suggests'] as $suggestK => $suggestV) {
if($depsolver['ignore'][$suggestK]) {
$msg = array();
foreach($conf['constraints']['suggests'] as $suggestK => $suggestV) {
if($depsolver['ignore'][$suggestK]) {
- $msg[] = '<br />Suggestion of '.$suggestK.' acknowledged.
+ $msg[] = '<br />Suggestion of '.$suggestK.' ignored as requested.
<input type="hidden" value="1" name="depsolver[ignore]['.$suggestK.']" />';
<input type="hidden" value="1" name="depsolver[ignore]['.$suggestK.']" />';
+ $suggestionIgnore = true;
continue;
}
if (!t3lib_extMgm::isLoaded($suggestK)) {
continue;
}
if (!t3lib_extMgm::isLoaded($suggestK)) {
+ if($suggestion || $suggestionIgnore) {
$content .= $this->doc->section('Extensions suggested by extension "'.$extKey.'"',implode('<br />',$msg),0,1,1);
}
}
$content .= $this->doc->section('Extensions suggested by extension "'.$extKey.'"',implode('<br />',$msg),0,1,1);
}
}