private function _getDisallowedArchiveDirectoryPaths()
{
// Cache
static $_aDisallowedPaths;
if (isset($_aDisallowedPaths)) {
return $_aDisallowedPaths;
}
// User selected items
$_aSelectedComponents = $this->_getCheckedComponents();
// List paths.
$_aAllComponentsPaths = array();
$_aSelectedComponentsPaths = array();
foreach ($this->_aComponentPaths as $_sKey => $_aPaths) {
// Extract all component paths.
$_aAllComponentsPaths = array_merge($_aAllComponentsPaths, $_aPaths);
// Extract selected components paths.
if (in_array($_sKey, $_aSelectedComponents)) {
$_aSelectedComponentsPaths = array_merge($_aSelectedComponentsPaths, $_aPaths);
}
}
return array_diff(array_unique($_aAllComponentsPaths), array_unique($_aSelectedComponentsPaths));
}