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 think given the warning on the source site: At this time, if your new project can afford to require PHP 5.5+, which it should, please use PHP's native password_hash() /...
July 31, 2025
I did a very quick test and if the Display format of the webform submission value is HTML then it appears but if plain text then it doesn't, so something is included regardless of if empty when...
"Hide rewriting if empty" has no effect
Just to clarify it appears that the item: Fix Search for "On the Web" module, is about the search on backdropcms.org at https://backdropcms.org/modules
July 31, 2025