We currently only have module_exists. If there were respective functions for themes and layouts, then code like this:
function _installer_browser_is_project_enabled($type, $name) {
switch ($type) {
case 'module':
return module_exists($name);
break;
case 'theme':
$themes = list_themes();
return isset($themes[$name]);
break;
case 'layout':
$layout = layout_load($name);
return !empty($layout);
break;
}
return FALSE;
}
...which is actually not working to effectively determine whether a layout is enabled or not (#2336) and the best that I could come up with to correct it is this:
function _installer_browser_is_project_enabled($type, $name) {
switch ($type) {
case 'module':
return module_exists($name);
break;
case 'theme':
$themes = list_themes();
return isset($themes[$name]);
break;
case 'layout':
$excluded_templates = config_get('layout.settings', 'excluded_templates');
return (!empty(layout_get_layout_info($name)) && !in_array($name, $excluded_templates));
break;
}
return FALSE;
}
...would be much simpler:
function _installer_browser_is_project_enabled($type, $name) {
switch ($type) {
case 'module':
return module_exists($name);
break;
case 'theme':
return theme_exists($name);
break;
case 'layout':
return layout_exists($name);
break;
}
return FALSE;
}
And if there was a generic project_exists function, then we wouldn't need _installer_browser_is_project_enabled() in the first place.
In fact, I don't think that *_exists as function names are precise. We should consider separate *_exists and *_enabled functions. Especially now that we have Project Installer where we need to distinguish between downloaded vs installed/enabled projects.
PS: this is a sibling issue to #332
Recent comments
I do have the apache status page set up ... I will look in to this really fast. BRB.
Status Report Page throws : Forbidden You don't have permission to access this resource.
Hi TallElfin, that sounds like a webserver misconfiguration. It has nothing to do with the CMS itself. So... other paths work just fine, also admin paths, only the path "admin/...
Status Report Page throws : Forbidden You don't have permission to access this resource.
Hi Editing I see this: The CSS looks like this: /* Level 1: Standard Numbers */ .field-name-body ol { list-style-type: decimal; } /* Level 2: Lowercase Letters */ .field...
Numbered List format is different when editing