$theme) { if ((!empty($theme['widgets']) && is_array($theme['widgets'])) || isset($theme['_additional'])) { $skinr = new stdClass(); $skinr->theme = $theme_name; $skinr->module = $module; $skinr->sid = skinr_handler('form_index_handler', 'submit', $form_settings['index_handler'], $form, $form_state); $skinr->skins = array(); $saved = skinr_get($skinr->theme, $skinr->module, $skinr->sid); if (!empty($theme['widgets']) && is_array($theme['widgets'])) { foreach ($theme['widgets'] as $skin_id => $skin_value) { $skinr->skins[$skin_id] = $skin_value; } } if (isset($theme['_additional'])) { $theme['_additional'] = trim($theme['_additional']); if (!empty($theme['_additional'])) { $skinr->skins['_additional'] = $theme['_additional']; } } else { if (!user_access('access skinr classes') && isset($saved->skins['_additional'])) { // The user didn't have access to change this. Ensure the existing // custom classes remain by populating the element with the // previously saved values. $value->skins['_additional'] = $saved->skins['_additional']; } } if (isset($theme['_template'])) { $theme['_template'] = trim($theme['_template']); if (!empty($theme['_template'])) { $skinr->skins['_template'] = $theme['_template']; } } else { if (!user_access('access skinr classes') && isset($saved->skins['_template'])) { // The user didn't have access to change this. Ensure the existing // template selection remains by populating the element with the // previously saved values. $value->skins['_template'] = $saved->skins['_template']; } } if (empty($skinr->sid)) { // We didn't receive a valid sid, so raise an error drupal_set_message(t("Skinr settings weren't saved due to an error."), 'error'); } skinr_set($skinr); } } } } // Declare API compatibility on behalf of core modules: /** * Implementation of hook_skinr_api(). * * This one is used as the base to reduce errors when updating. */ function skinr_skinr_api() { return array( 'api' => 1, 'path' => drupal_get_path('module', 'skinr') .'/modules', ); } function block_skinr_api() { return skinr_skinr_api(); } function content_skinr_api() { return skinr_skinr_api(); } function comment_skinr_api() { return skinr_skinr_api(); } function fieldgroup_skinr_api() { return skinr_skinr_api(); } function node_skinr_api() { return skinr_skinr_api(); } function panels_skinr_api() { return skinr_skinr_api(); } function views_skinr_api() { return skinr_skinr_api(); }