/**
  * Overrides Drupal\configuration\Config\Configuration::findRequiredModules().
  */
 public function findRequiredModules()
 {
     $filter_info = filter_get_filters();
     foreach (array_keys($this->data->filters) as $filter) {
         if (!empty($filter_info[$filter]) && $filter_info[$filter]['module']) {
             $this->addToModules($filter_info[$filter]['module']);
         }
     }
 }
/**
 * Overrides theme_filter_tips().
 */
function bootstrap_subtheme_filter_tips($variables)
{
    global $user;
    drupal_set_title('');
    // Create a place holder for the tabs.
    $build['tabs'] = array('#theme' => 'item_list', '#items' => array(), '#attributes' => array('class' => array('nav', 'nav-tabs'), 'role' => 'tablist'));
    // Create a placeholder for the panes.
    $build['panes'] = array('#theme_wrappers' => array('container'), '#attributes' => array('class' => array('tab-content')));
    $format_id = arg(2);
    $current_path = current_path();
    $formats = filter_formats($user);
    $filter_info = filter_get_filters();
    foreach ($formats as $format) {
        $tab = array('data' => array('#type' => 'link', '#title' => check_plain($format->name), '#href' => $current_path, '#attributes' => array('role' => 'tab', 'data-toggle' => 'tab'), '#options' => array('fragment' => $format->format)));
        if (!$format_id || $format_id === $format->format) {
            $tab['class'][] = 'active';
            $format_id = $format->format;
        }
        $build['tabs']['#items'][] = $tab;
        // Retrieve each filter in the format.
        $tips = array();
        $filters = filter_list_format($format->format);
        foreach ($filters as $name => $filter) {
            if ($filter->status && isset($filter_info[$name]['tips callback']) && is_callable($filter_info[$name]['tips callback'])) {
                $tip = $filter_info[$name]['tips callback']($filter, $format, TRUE);
                if (isset($tip)) {
                    $tips[] = $tip;
                }
            }
        }
        // Construct the pane.
        $pane = array('#theme_wrappers' => array('container'), '#attributes' => array('class' => array('tab-pane', 'fade'), 'id' => $format->format));
        if (count($tips) === 1) {
            $pane['list'] = array('#markup' => $tips[0]);
        } else {
            $pane['list'] = array('#theme' => 'item_list', '#items' => $tips);
        }
        if ($format_id === $format->format) {
            $pane['#attributes']['class'][] = 'active';
            $pane['#attributes']['class'][] = 'in';
            $format_id = $format->format;
        }
        $build['panes'][] = $pane;
    }
    return drupal_render($build);
}
Example #3
0
function dida_setup()
{
    global $base_path, $error, $setting_file, $conf_dir;
    if ($_POST) {
        if (empty($_POST['admin'])) {
            $error[] = '管理员帐号不能为空。';
        } else {
            if (empty($_POST['mail'])) {
                $error[] = '邮箱不能为空。';
            } else {
                if (empty($_POST['adminpass'])) {
                    $error[] = '管理员帐号密码不能为空。';
                } else {
                    if ($_POST['adminpass'] != $_POST['adminpass2']) {
                        $error[] = '两次输入的密码不一致。';
                    } else {
                        if (empty($_POST['site_name'])) {
                            $error[] = '网站名称不能为空。';
                        } else {
                            if (empty($_POST['site_mail'])) {
                                $error[] = '站长邮箱不能为空。';
                            } else {
                                if (empty($_POST['status'])) {
                                    $error[] = '请设置网站访问状态。';
                                } else {
                                    if (db_connect('default')) {
                                        require_once DIDA_ROOT . '/modules/system/system.install';
                                        require_once DIDA_ROOT . '/includes/module.inc';
                                        require_once DIDA_ROOT . '/includes/menu.inc';
                                        if (_system_install()) {
                                            if (module_set_list('theme') && module_set_list('module')) {
                                                db_exec('UPDATE {system} SET status = -1 WHERE filename = :name', array(':name' => 'default'));
                                                if ($messages = module_set_enabled('disabled', 'module', array('system', 'block', 'user', 'field'))) {
                                                    _install_setting_chmod();
                                                    // 锁定安装文件,修改配置文件权限
                                                    _install_bootstrap();
                                                    // 载入模块
                                                    module_enabled_variable();
                                                    //写入模块、主题列表
                                                    menu_set_item();
                                                    // 写入menu
                                                    $admin = check_plain($_POST['admin']);
                                                    $pass = user_get_salt_pass($_POST['adminpass']);
                                                    //写入第一个用户
                                                    db_query('INSERT INTO {users} (name, pass, salt, mail, created, status) VALUES(?, ?, ?, ?, ?, 1)', array($admin, $pass['pass'], $pass['salt'], $_POST['mail'], $_SERVER['REQUEST_TIME']));
                                                    //写入匿名用户
                                                    db_query('INSERT INTO {users} (name, created, status) VALUES(?, ?, 1)', array('匿名', $_SERVER['REQUEST_TIME']));
                                                    //调整 uid
                                                    db_query('UPDATE {users} SET uid = 0 WHERE name = ?', array('匿名'));
                                                    //测试简洁链接
                                                    $clean_url = 0;
                                                    $goto = '?q=user/login';
                                                    block_cache_lists('default');
                                                    // 导入区块
                                                    $modules = array('system' => 'modules/system', 'user' => 'modules/user', 'block' => 'modules/block', 'category' => 'modules/category');
                                                    dd_set_lang($modules, array('zh-hans', 'zh-hant'));
                                                    // 导入语言包
                                                    $var_timestamp = serialize($_SERVER['REQUEST_TIME']);
                                                    $var_args = array('status', serialize($_POST['status']), 'site_global', serialize(array('logo' => $base_path . 'misc/images/logo.png', 'favicon' => $base_path . 'misc/images/favicon.ico', 'name' => trim($_POST['site_name']), 'mail' => $_POST['site_mail'])), 'clean_url', serialize($clean_url), 'cache_css_and_js_timestamp', $var_timestamp, 'site_created', $var_timestamp);
                                                    db_query('INSERT INTO {variable} (name, value) VALUES (?, ?), (?, ?), (?, ?), (?, ?), (?, ?)', $var_args);
                                                    require_once './includes/filter.inc';
                                                    /**
                                                     * 输入格式缓存
                                                     */
                                                    filter_get_filters();
                                                    filter_set_cache();
                                                    var_init();
                                                    unset($_SESSION['messages']);
                                                    foreach ($messages as $mmessage) {
                                                        dd_set_message($message);
                                                    }
                                                    // 创建头像字段
                                                    $field = array('name' => t('field', '头像'), 'module' => 'user', 'type' => 'field', 'field_type' => 'file', 'field_key' => 'avatar', 'weight' => -20, 'data' => array('multi' => 1, 'filesize' => 4096, 'filename' => '[uid]', 'extension' => 'jpg', 'savepath' => 'avatar', 'thumbs' => array('thumb' => '85x85', 'medium' => '200x200')));
                                                    $data = (object) $field;
                                                    field_save($data);
                                                    /**
                                                     * 基本安装完成后,可继续执行自定义安装
                                                     * 自定义安装文件名称为:install.custom.php
                                                     * 入口函数:install_custom
                                                     * 文件目录结构如下(按优先级):
                                                     * $conf_dir/install/install.custom.php
                                                     * install/install.custom.php
                                                     */
                                                    if (is_file(DIDA_ROOI . '/' . $conf_dir . '/install/install.custom.php') && function_exists('install_custom')) {
                                                        install_custom();
                                                    } else {
                                                        if (is_file(DIDA_ROOT . '/install/install.custom.php') && function_exists('install_custom')) {
                                                            install_custom();
                                                        }
                                                    }
                                                    // 登录超级用户
                                                    user_login(user_load(1));
                                                    dd_goto('user/login');
                                                }
                                            }
                                            $error[] = dd_get_message();
                                        } else {
                                            $error[] = '无法创建配置表';
                                        }
                                    } else {
                                        $error[] = '连接数据库失败,请检查配置,或<a href="install.php?setup=1&clear=1">重新开始安装</a>';
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
Example #4
0
 /**
  * Returns a list of all filters provided by modules.
  *
  * @return array
  *   An array of filter formats.
  */
 public function getFilters()
 {
     drupal_static_reset('filter_get_filters');
     return filter_get_filters();
 }