Example #1
0
/**
 * Initialize theme settings if needed
 */
function fusion_core_initialize_theme_settings($theme_name)
{
    $theme_settings = theme_get_settings($theme_name);
    if (is_null($theme_settings['theme_font_size']) || $theme_settings['rebuild_registry'] == 1) {
        // Rebuild theme registry & notify user
        if ($theme_settings['rebuild_registry'] == 1) {
            drupal_rebuild_theme_registry();
            drupal_set_message(t('Theme registry rebuild completed. <a href="!link">Turn off</a> this feature for production websites.', array('!link' => url('admin/build/themes/settings/' . $GLOBALS['theme']))), 'warning');
        }
        // Retrieve saved or site-wide theme settings
        $theme_setting_name = str_replace('/', '_', 'theme_' . $theme_name . '_settings');
        $settings = variable_get($theme_setting_name, FALSE) ? theme_get_settings($theme_name) : theme_get_settings();
        // Skip toggle_node_info_ settings
        if (module_exists('node')) {
            foreach (node_get_types() as $type => $name) {
                unset($settings['toggle_node_info_' . $type]);
            }
        }
        // Retrieve default theme settings
        $defaults = fusion_core_default_theme_settings();
        // Set combined default & saved theme settings
        variable_set($theme_setting_name, array_merge($defaults, $settings));
        // Force theme settings refresh
        theme_get_setting('', TRUE);
    }
}
/**
 * Initialize theme settings if needed
 */
function fusion_core_initialize_theme_settings($theme_name)
{
    $theme_settings = theme_get_settings($theme_name);
    if (!isset($theme_settings['primary_menu_dropdown']) || $theme_settings['rebuild_registry'] == 1) {
        static $registry_rebuilt = false;
        // avoid multiple rebuilds per page
        // Rebuild theme registry & notify user
        if (isset($theme_settings['rebuild_registry']) && $theme_settings['rebuild_registry'] == 1 && !$registry_rebuilt) {
            drupal_rebuild_theme_registry();
            drupal_set_message(t('Theme registry rebuild completed. <a href="!link">Turn off</a> this feature for production websites.', array('!link' => url('admin/build/themes/settings/' . $GLOBALS['theme']))), 'warning');
            $registry_rebuilt = true;
        }
        // Retrieve saved or site-wide theme settings
        $theme_setting_name = str_replace('/', '_', 'theme_' . $theme_name . '_settings');
        $settings = variable_get($theme_setting_name, FALSE) ? theme_get_settings($theme_name) : theme_get_settings();
        // Skip toggle_node_info_ settings
        if (module_exists('node')) {
            foreach (node_get_types() as $type => $name) {
                unset($settings['toggle_node_info_' . $type]);
            }
        }
        // Combine default theme settings from .info file & theme-settings.php
        $theme_data = list_themes();
        // get theme data for all themes
        $info_theme_settings = $theme_name ? $theme_data[$theme_name]->info['settings'] : array();
        $defaults = array_merge(fusion_core_default_theme_settings(), $info_theme_settings);
        // Set combined default & saved theme settings
        variable_set($theme_setting_name, array_merge($defaults, $settings));
        // Force theme settings refresh
        theme_get_setting('', TRUE);
    }
}
Example #3
0
function kr2011_preprocess_views_slideshow_ddblock(&$vars)
{
    drupal_rebuild_theme_registry();
    $settings = $vars['views_slideshow_ddblock_slider_settings'];
    // for showing debug info
    views_slideshow_ddblock_show_content_debug_info($vars);
    if ($settings['output_type'] == 'view_fields') {
        if ($settings['view_name'] == 'news_items' && $settings['view_display_id'] == 'block_1') {
            if (!empty($vars['views_slideshow_ddblock_content'])) {
                foreach ($vars['views_slideshow_ddblock_content'] as $key1 => $result) {
                    // add slide image variable
                    $slider_items[$key1]['slide_image'] = views_slideshow_ddblock_add_image($vars, 'slider_item_image', $result->node_data_field_pager_item_text_field_image_fid, $result->node_title, NULL, NULL, NULL);
                    // add slide_text variable
                    if (isset($result->node_data_field_pager_item_text_field_slide_text_value)) {
                        $slider_items[$key1]['slide_text'] = check_markup($result->node_data_field_pager_item_text_field_slide_text_value);
                    }
                    // add slide_title variable
                    if (isset($result->node_title)) {
                        $slider_items[$key1]['slide_title'] = check_plain($result->node_title);
                    }
                    // add slide_read_more variable and slide_node variable
                    if (isset($result->nid)) {
                        $slider_items[$key1]['slide_read_more'] = '<a href="' . base_path() . 'node/' . $result->nid . '">' . t('Read more') . '</a>';
                        $slider_items[$key1]['slide_node'] = base_path() . 'node/' . $result->nid;
                    }
                }
            }
        }
        $vars['views_slideshow_ddblock_slider_items'] = $slider_items;
    }
}
 /**
  * Disables a drupal module in the test database.
  *
  * @param string $name Name of the module.
  * @return boolean Success.
  * @see drupalModuleEnable()
  */
 function drupalModuleDisable($name)
 {
     if (!module_exists($name)) {
         $this->pass(" [module] {$name} already disabled");
         return TRUE;
     }
     unset($this->_modules[$key]);
     $form_state['values'] = array('status' => $this->_modules, 'op' => t('Save configuration'));
     drupal_execute('system_modules', $form_state);
     //rebuilding all caches
     drupal_rebuild_theme_registry();
     node_types_rebuild();
     menu_rebuild();
     cache_clear_all('schema', 'cache');
     module_rebuild_cache();
 }
Example #5
0
<?php

/* =====================================
  template.php
* ------------------------------------- */
// Auto-rebuild the theme registry during theme development.
drupal_rebuild_theme_registry();
/*TODO: add a theme setting for this*/
/**
 * Implements theme_menu_item_link()
 * yup original is from zen and we humbly say thanx :)
 */
function moshpit_menu_item_link($link)
{
    if (empty($link['localized_options'])) {
        $link['localized_options'] = array();
    }
    //define a class for each tab
    //TODO check out the multilang hell....
    $linkclass = mothership_id_safe($link['title']);
    // If an item is a LOCAL TASK, render it as a tab
    if ($link['type'] & MENU_IS_LOCAL_TASK) {
        $link['title'] = '<span class="tab ' . $linkclass . ' ">' . check_plain($link['title']) . '</span>';
        $link['localized_options']['html'] = TRUE;
        $link['localized_options']['attributes'] = array('class' => $linkclass);
    }
    return l($link['title'], $link['href'], $link['localized_options']);
}
 /**
  * tearDown implementation, setting back switched modules etc
  */
 function tearDown()
 {
     if ($this->_modules != $this->_originalModules) {
         $form_state['values'] = array('status' => $this->_originalModules, 'op' => t('Save configuration'));
         drupal_execute('system_modules', $form_state);
         //rebuilding all caches
         drupal_rebuild_theme_registry();
         node_types_rebuild();
         menu_rebuild();
         cache_clear_all('schema', 'cache');
         module_rebuild_cache();
         $this->_modules = $this->_originalModules;
     }
     foreach ($this->_cleanupVariables as $name => $value) {
         if (is_null($value)) {
             variable_del($name);
         } else {
             variable_set($name, $value);
         }
     }
     $this->_cleanupVariables = array();
     //delete nodes
     foreach ($this->_cleanupNodes as $nid) {
         node_delete($nid);
     }
     $this->_cleanupNodes = array();
     //delete roles
     while (sizeof($this->_cleanupRoles) > 0) {
         $rid = array_pop($this->_cleanupRoles);
         db_query("DELETE FROM {role} WHERE rid = %d", $rid);
         db_query("DELETE FROM {permission} WHERE rid = %d", $rid);
     }
     //delete users and their content
     while (sizeof($this->_cleanupUsers) > 0) {
         $uid = array_pop($this->_cleanupUsers);
         // cleanup nodes this user created
         $result = db_query("SELECT nid FROM {node} WHERE uid = %d", $uid);
         while ($node = db_fetch_array($result)) {
             node_delete($node['nid']);
         }
         user_delete(array(), $uid);
     }
     //delete content types
     foreach ($this->_cleanupContentTypes as $type) {
         node_type_delete($type);
     }
     $this->_cleanupContentTypes = array();
     //Output drupal warnings and messages into assert messages
     $drupal_msgs = drupal_get_messages();
     foreach ($drupal_msgs as $type => $msgs) {
         foreach ($msgs as $msg) {
             $this->assertTrue(TRUE, "{$type}: {$msg}");
         }
     }
     parent::tearDown();
 }