function _css_injector_load_rule in CSS Injector 7
Same name and namespace in other branches
- 6 css_injector.module \_css_injector_load_rule()
Helper function to load all CSS injection rules.
7 calls to _css_injector_load_rule()
- css_injector_admin_form in ./
css_injector.admin.inc - Form builder function for CSS Injector's main admin page.
- css_injector_css_alter in ./
css_injector.module - Implements hook_css_alter(). Since we're trying to give the administrator complete control, we'll move CSS that this module has added to a high weight, higher even than the theme's CSS files. Currently the weight is 200 + the crid,…
- css_injector_delete_confirm in ./
css_injector.admin.inc - Menu callback -- ask for confirmation of rule deletion.
- css_injector_edit in ./
css_injector.admin.inc - Form builder function for the CSS rule edit form.
- css_injector_edit_save in ./
css_injector.admin.inc - Submit button callback for the CSS rule edit form.
File
- ./
css_injector.module, line 217 - Allows administrators to inject CSS into the page output based on configurable rules. Useful for adding simple CSS tweaks without modifying a site's official theme.
Code
function _css_injector_load_rule($crid = NULL, $reset = FALSE) {
static $rules;
// TODO: Change to drupal_static_fast pattern.
if (!isset($rules) || $reset) {
if (!$reset && ($cache = cache_get('css_injector:rules')) && is_array($cache->data)) {
$rules = $cache->data;
}
else {
$rules = array();
$results = db_query("SELECT * FROM {css_injector_rule}", array(), array(
'fetch' => PDO::FETCH_ASSOC,
))
->fetchAllAssoc('crid');
foreach ($results as $id => $rule) {
$rules[$id] = $rule;
}
cache_set('css_injector:rules', $rules);
}
}
if (is_numeric($crid)) {
return $rules[$crid];
}
else {
return $rules;
}
}