当前位置: 首页>>代码示例>>PHP>>正文


PHP drupal_rewrite_settings函数代码示例

本文整理汇总了PHP中drupal_rewrite_settings函数的典型用法代码示例。如果您正苦于以下问题:PHP drupal_rewrite_settings函数的具体用法?PHP drupal_rewrite_settings怎么用?PHP drupal_rewrite_settings使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了drupal_rewrite_settings函数的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: testDrupalRewriteSettings

    /**
     * Tests the drupal_rewrite_settings() function.
     */
    function testDrupalRewriteSettings()
    {
        include_once \Drupal::root() . '/core/includes/install.inc';
        $site_path = $this->container->get('site.path');
        $tests = array(array('original' => '$no_index_value_scalar = TRUE;', 'settings' => array('no_index_value_scalar' => (object) array('value' => FALSE, 'comment' => 'comment')), 'expected' => '$no_index_value_scalar = false; // comment'), array('original' => '$no_index_value_scalar = TRUE;', 'settings' => array('no_index_value_foo' => array('foo' => array('value' => (object) array('value' => NULL, 'required' => TRUE, 'comment' => 'comment')))), 'expected' => <<<'EXPECTED'
$no_index_value_scalar = TRUE;
$no_index_value_foo['foo']['value'] = NULL; // comment
EXPECTED
), array('original' => '$no_index_value_array = array("old" => "value");', 'settings' => array('no_index_value_array' => (object) array('value' => FALSE, 'required' => TRUE, 'comment' => 'comment')), 'expected' => '$no_index_value_array = array("old" => "value");
$no_index_value_array = false; // comment'), array('original' => '$has_index_value_scalar["foo"]["bar"] = NULL;', 'settings' => array('has_index_value_scalar' => array('foo' => array('bar' => (object) array('value' => FALSE, 'required' => TRUE, 'comment' => 'comment')))), 'expected' => '$has_index_value_scalar["foo"]["bar"] = false; // comment'), array('original' => '$has_index_value_scalar["foo"]["bar"] = "foo";', 'settings' => array('has_index_value_scalar' => array('foo' => array('value' => (object) array('value' => array('value' => 2), 'required' => TRUE, 'comment' => 'comment')))), 'expected' => <<<'EXPECTED'
$has_index_value_scalar["foo"]["bar"] = "foo";
$has_index_value_scalar['foo']['value'] = array (
  'value' => 2,
); // comment
EXPECTED
));
        foreach ($tests as $test) {
            $filename = Settings::get('file_public_path', $site_path . '/files') . '/mock_settings.php';
            file_put_contents(\Drupal::root() . '/' . $filename, "<?php\n" . $test['original'] . "\n");
            drupal_rewrite_settings($test['settings'], $filename);
            $this->assertEqual(file_get_contents(\Drupal::root() . '/' . $filename), "<?php\n" . $test['expected'] . "\n");
        }
        // Test that <?php gets added to the start of an empty settings file.
        // Set the array of settings that will be written to the file.
        $test = array('settings' => array('no_index' => (object) array('value' => TRUE, 'required' => TRUE)), 'expected' => '$no_index = true;');
        // Make an empty file.
        $filename = Settings::get('file_public_path', $site_path . '/files') . '/mock_settings.php';
        file_put_contents(\Drupal::root() . '/' . $filename, "");
        // Write the setting to the file.
        drupal_rewrite_settings($test['settings'], $filename);
        // Check that the result is just the php opening tag and the settings.
        $this->assertEqual(file_get_contents(\Drupal::root() . '/' . $filename), "<?php\n" . $test['expected'] . "\n");
    }
开发者ID:ddrozdik,项目名称:dmaps,代码行数:36,代码来源:SettingsRewriteTest.php

示例2: submitForm

 /**
  * {@inheritdoc}
  */
 public function submitForm(array &$form, FormStateInterface $form_state)
 {
     global $config_directories, $install_state;
     $sync_directory = $form_state->getValue('sync_directory');
     if ($sync_directory != config_get_config_directory(CONFIG_SYNC_DIRECTORY)) {
         $settings['config_directories'][CONFIG_SYNC_DIRECTORY] = (object) array('value' => $sync_directory, 'required' => TRUE);
         drupal_rewrite_settings($settings);
         $config_directories[CONFIG_SYNC_DIRECTORY] = $sync_directory;
     }
     if ($path = $form_state->getValue('import_tarball')) {
         // Ensure that we have an empty directory if we're going.
         $sync = new FileStorage($sync_directory);
         $sync->deleteAll();
         try {
             $archiver = new ArchiveTar($path, 'gz');
             $files = array();
             foreach ($archiver->listContent() as $file) {
                 $files[] = $file['filename'];
             }
             $archiver->extractList($files, config_get_config_directory(CONFIG_SYNC_DIRECTORY));
             drupal_set_message($this->t('Your configuration files were successfully uploaded, ready for import.'));
         } catch (\Exception $e) {
             drupal_set_message($this->t('Could not extract the contents of the tar file. The error message is <em>@message</em>', array('@message' => $e->getMessage())), 'error');
         }
         drupal_unlink($path);
     }
     // Change the langcode to the site default langcode provided by the
     // configuration.
     $config_storage = new FileStorage(config_get_config_directory(CONFIG_SYNC_DIRECTORY));
     $install_state['parameters']['langcode'] = $config_storage->read('system.site')['langcode'];
 }
开发者ID:mkudenko,项目名称:drupal8,代码行数:34,代码来源:SyncConfigureForm.php

示例3: testRebuildTokenCalculatorSh

 /**
  * Tests rebuild_token_calculator.sh.
  */
 public function testRebuildTokenCalculatorSh()
 {
     // The script requires a settings.php with a hash salt setting.
     $filename = $this->siteDirectory . '/settings.php';
     touch($filename);
     $settings['settings']['hash_salt'] = (object) array('value' => 'some_random_key', 'required' => TRUE);
     drupal_rewrite_settings($settings, $filename);
     $_SERVER['argv'] = array('core/scripts/rebuild_token_calculator.sh');
     ob_start();
     include DRUPAL_ROOT . '/core/scripts/rebuild_token_calculator.sh';
     $this->setRawContent(ob_get_contents());
     ob_end_clean();
     $this->assertRaw('token=');
 }
开发者ID:anatalsceo,项目名称:en-classe,代码行数:17,代码来源:ScriptTest.php

示例4: generate_file

 public function generate_file($database, $db_user, $db_pass, $project_domain)
 {
     $value = "mysql://" . $db_user . ":" . $db_pass . "@localhost/" . $database;
     $settings['db_url'] = array('value' => $value);
     try {
         require_once DRUPAL_ROOT . '/includes/install.inc';
         $variables['url'] = "http://" . $project_domain . '/index.php';
         // Override variables since this is obviously run from CLI
         // We do this to confuse the cat... err. conf_path()
         $this->drupal_override_server_variables($variables);
         // Rewrite the settings file in its' correct place
         drupal_rewrite_settings($settings);
     } catch (Exception $e) {
         throw new RumCouldNotCreateSettingsFileException($e->getMessage());
     }
     return TRUE;
 }
开发者ID:netsensei,项目名称:Rum,代码行数:17,代码来源:SettingsVersion6.php

示例5: generate_file

 public function generate_file($database, $db_user, $db_pass, $project_domain)
 {
     // Generate settings for the database
     $settings['databases'] = array('value' => array('default' => array('default' => array('prefix' => '', 'host' => 'localhost', 'driver' => 'mysql', 'database' => $database, 'username' => $db_user, 'password' => $db_pass))), 'required' => TRUE);
     try {
         require_once DRUPAL_ROOT . '/includes/install.inc';
         $variables['url'] = "http://" . $project_domain . '/index.php';
         // Override variables since this is obviously run from CLI
         // We do this to confuse the cat... err. conf_path()
         drupal_override_server_variables($variables);
         // Rewrite the settings file in its' correct place
         drupal_rewrite_settings($settings);
     } catch (Exception $e) {
         throw new RumCouldNotCreateSettingsFileException($e->getMessage());
     }
     return TRUE;
 }
开发者ID:netsensei,项目名称:Rum,代码行数:17,代码来源:SettingsVersion7.php

示例6: install_settings_form_submit

/**
 * Form API submit for install_settings form.
 */
function install_settings_form_submit($form, &$form_state)
{
    global $profile, $install_locale;
    // Update global settings array and save
    $settings['db_url'] = array('value' => $form_state['values']['_db_url'], 'required' => TRUE);
    $settings['db_prefix'] = array('value' => $form_state['values']['db_prefix'], 'required' => TRUE);
    drupal_rewrite_settings($settings);
    // Continue to install profile step
    install_goto("install.php?profile={$profile}" . ($install_locale ? "&locale={$install_locale}" : ''));
}
开发者ID:alexismb5,项目名称:ckan-drupal,代码行数:13,代码来源:install.php

示例7: writeSettings

 /**
  * Rewrites the settings.php file of the test site.
  *
  * @param array $settings
  *   An array of settings to write out, in the format expected by
  *   drupal_rewrite_settings().
  *
  * @see drupal_rewrite_settings()
  */
 protected function writeSettings(array $settings)
 {
     include_once DRUPAL_ROOT . '/core/includes/install.inc';
     $filename = $this->siteDirectory . '/settings.php';
     // system_requirements() removes write permissions from settings.php
     // whenever it is invoked.
     // Not using File API; a potential error must trigger a PHP warning.
     chmod($filename, 0666);
     drupal_rewrite_settings($settings, $filename);
 }
开发者ID:Wylbur,项目名称:gj,代码行数:19,代码来源:WebTestBase.php

示例8: install_settings_form_submit

/**
 * Form API submit for install_settings form.
 */
function install_settings_form_submit($form, &$form_state)
{
    global $profile, $install_locale;
    $database = array_intersect_key($form_state['values']['_database'], array_flip(array('driver', 'database', 'username', 'password', 'host', 'port')));
    // Update global settings array and save
    $settings['databases'] = array('value' => array('default' => array('default' => $database)), 'required' => TRUE);
    $settings['db_prefix'] = array('value' => $form_state['values']['db_prefix'], 'required' => TRUE);
    drupal_rewrite_settings($settings);
    // Continue to install profile step
    install_goto("install.php?profile={$profile}" . ($install_locale ? "&locale={$install_locale}" : ''));
}
开发者ID:schuyler1d,项目名称:drupal,代码行数:14,代码来源:install.php

示例9: install_settings_form_submit

/**
 * Form API submit for install_settings form.
 */
function install_settings_form_submit($form, &$form_state)
{
    global $install_state;
    $database = array_intersect_key($form_state['values']['_database'], array_flip(array('driver', 'database', 'username', 'password', 'host', 'port')));
    // Update global settings array and save
    $settings['databases'] = array('value' => array('default' => array('default' => $database)), 'required' => TRUE);
    $settings['db_prefix'] = array('value' => $form_state['values']['db_prefix'], 'required' => TRUE);
    drupal_rewrite_settings($settings);
    // Indicate that the settings file has been verified, and check the database
    // for the last completed task, now that we have a valid connection. This
    // last step is important since we want to trigger an error if the new
    // database already has Drupal installed.
    $install_state['settings_verified'] = TRUE;
    $install_state['completed_task'] = install_verify_completed_task();
}
开发者ID:blipp,项目名称:drupal,代码行数:18,代码来源:install.php

示例10: submitForm

 /**
  * {@inheritdoc}
  */
 public function submitForm(array &$form, FormStateInterface $form_state)
 {
     global $install_state;
     // Update global settings array and save.
     $settings = array();
     $database = $form_state->get('database');
     $settings['databases']['default']['default'] = (object) array('value' => $database, 'required' => TRUE);
     $settings['settings']['hash_salt'] = (object) array('value' => Crypt::randomBytesBase64(55), 'required' => TRUE);
     // Remember the profile which was used.
     $settings['settings']['install_profile'] = (object) array('value' => $install_state['parameters']['profile'], 'required' => TRUE);
     drupal_rewrite_settings($settings);
     // Add the config directories to settings.php.
     drupal_install_config_directories();
     // Indicate that the settings file has been verified, and check the database
     // for the last completed task, now that we have a valid connection. This
     // last step is important since we want to trigger an error if the new
     // database already has Drupal installed.
     $install_state['settings_verified'] = TRUE;
     $install_state['config_verified'] = TRUE;
     $install_state['database_verified'] = TRUE;
     $install_state['completed_task'] = install_verify_completed_task();
 }
开发者ID:davidsoloman,项目名称:drupalconsole.com,代码行数:25,代码来源:SiteSettingsForm.php

示例11: runUpdates

 /**
  * Helper function to run pending database updates.
  */
 protected function runUpdates()
 {
     if (!$this->zlibInstalled) {
         $this->fail('Missing zlib requirement for update tests.');
         return FALSE;
     }
     // The site might be broken at the time so logging in using the UI might
     // not work, so we use the API itself.
     drupal_rewrite_settings(['settings' => ['update_free_access' => (object) ['value' => TRUE, 'required' => TRUE]]]);
     $this->drupalGet($this->updateUrl);
     $this->clickLink(t('Continue'));
     // Run the update hooks.
     $this->clickLink(t('Apply pending updates'));
     // The config schema can be incorrect while the update functions are being
     // executed. But once the update has been completed, it needs to be valid
     // again. Assert the schema of all configuration objects now.
     $names = $this->container->get('config.storage')->listAll();
     /** @var \Drupal\Core\Config\TypedConfigManagerInterface $typed_config */
     $typed_config = $this->container->get('config.typed');
     foreach ($names as $name) {
         $config = $this->config($name);
         $this->assertConfigSchema($typed_config, $name, $config->get());
     }
 }
开发者ID:scratch,项目名称:gai,代码行数:27,代码来源:UpdatePathTestBase.php

示例12: runUpdates

 /**
  * Helper function to run pending database updates.
  */
 protected function runUpdates()
 {
     if (!$this->zlibInstalled) {
         $this->fail('Missing zlib requirement for upgrade tests.');
         return FALSE;
     }
     // The site might be broken at the time so logging in using the UI might
     // not work, so we use the API itself.
     drupal_rewrite_settings(['settings' => ['update_free_access' => (object) ['value' => TRUE, 'required' => TRUE]]]);
     $this->drupalGet($this->updateUrl);
     $this->clickLink(t('Continue'));
     // Run the update hooks.
     $this->clickLink(t('Apply pending updates'));
 }
开发者ID:nsp15,项目名称:Drupal8,代码行数:17,代码来源:UpdatePathTestBase.php

示例13: runUpdates

 /**
  * Helper function to run pending database updates.
  */
 protected function runUpdates()
 {
     if (!$this->zlibInstalled) {
         $this->fail('Missing zlib requirement for update tests.');
         return FALSE;
     }
     // The site might be broken at the time so logging in using the UI might
     // not work, so we use the API itself.
     drupal_rewrite_settings(['settings' => ['update_free_access' => (object) ['value' => TRUE, 'required' => TRUE]]]);
     $this->drupalGet($this->updateUrl);
     $this->clickLink(t('Continue'));
     $this->doSelectionTest();
     // Run the update hooks.
     $this->clickLink(t('Apply pending updates'));
     // Ensure there are no failed updates.
     if ($this->checkFailedUpdates) {
         $this->assertNoRaw('<strong>' . t('Failed:') . '</strong>');
     }
     // The config schema can be incorrect while the update functions are being
     // executed. But once the update has been completed, it needs to be valid
     // again. Assert the schema of all configuration objects now.
     $names = $this->container->get('config.storage')->listAll();
     /** @var \Drupal\Core\Config\TypedConfigManagerInterface $typed_config */
     $typed_config = $this->container->get('config.typed');
     $typed_config->clearCachedDefinitions();
     foreach ($names as $name) {
         $config = $this->config($name);
         $this->assertConfigSchema($typed_config, $name, $config->get());
     }
     // Ensure that the update hooks updated all entity schema.
     $this->assertFalse(\Drupal::service('entity.definition_update_manager')->needsUpdates(), 'After all updates ran, entity schema is up to date.');
 }
开发者ID:318io,项目名称:318-io,代码行数:35,代码来源:UpdatePathTestBase.php

示例14: buildForm

 /**
  * {@inheritdoc}
  */
 public function buildForm(array $form, FormStateInterface $form_state)
 {
     $form['#title'] = $this->t('Configure site');
     // Warn about settings.php permissions risk
     $settings_file = $this->sitePath . '/settings.php';
     // Check that $_POST is empty so we only show this message when the form is
     // first displayed, not on the next page after it is submitted. (We do not
     // want to repeat it multiple times because it is a general warning that is
     // not related to the rest of the installation process; it would also be
     // especially out of place on the last page of the installer, where it would
     // distract from the message that the Drupal installation has completed
     // successfully.)
     $post_params = $this->getRequest()->request->all();
     if (empty($post_params)) {
         $original_profile_name = _config_installer_get_original_install_profile();
         if ($original_profile_name) {
             $settings['settings']['install_profile'] = (object) array('value' => $original_profile_name, 'required' => TRUE);
             drupal_rewrite_settings($settings);
         }
         if (!drupal_verify_install_file($this->root . '/' . $settings_file, FILE_EXIST | FILE_READABLE | FILE_NOT_WRITABLE) || !drupal_verify_install_file($this->root . '/' . $this->sitePath, FILE_NOT_WRITABLE, 'dir')) {
             drupal_set_message(t('All necessary changes to %dir and %file have been made, so you should remove write permissions to them now in order to avoid security risks. If you are unsure how to do so, consult the <a href="@handbook_url">online handbook</a>.', array('%dir' => $this->sitePath, '%file' => $settings_file, '@handbook_url' => 'http://drupal.org/server-permissions')), 'warning');
         }
     }
     $form['#attached']['library'][] = 'system/drupal.system';
     $form['admin_account'] = array('#type' => 'fieldgroup', '#title' => $this->t('Site maintenance account'));
     $form['admin_account']['account']['name'] = array('#type' => 'textfield', '#title' => $this->t('Username'), '#maxlength' => USERNAME_MAX_LENGTH, '#description' => $this->t('Spaces are allowed; punctuation is not allowed except for periods, hyphens, and underscores.'), '#required' => TRUE, '#attributes' => array('class' => array('username')));
     $form['admin_account']['account']['pass'] = array('#type' => 'password_confirm', '#required' => TRUE, '#size' => 25);
     $form['admin_account']['account']['#tree'] = TRUE;
     $form['admin_account']['account']['mail'] = array('#type' => 'email', '#title' => $this->t('Email address'), '#required' => TRUE);
     // Use default drush options if available whilst running a site install.
     if (function_exists('drush_get_option') && function_exists('drush_generate_password')) {
         $form['admin_account']['account']['name']['#default_value'] = drush_get_option('account-name', 'admin');
         $form['admin_account']['account']['pass']['#type'] = 'textfield';
         $form['admin_account']['account']['pass']['#default_value'] = drush_get_option('account-pass', drush_generate_password());
         $form['admin_account']['account']['mail']['#default_value'] = drush_get_option('account-mail', 'admin@example.com');
     }
     $form['actions'] = array('#type' => 'actions');
     $form['actions']['submit'] = array('#type' => 'submit', '#value' => $this->t('Save and continue'), '#weight' => 15, '#button_type' => 'primary');
     return $form;
 }
开发者ID:tedbow,项目名称:scheduled-updates-demo,代码行数:43,代码来源:SiteConfigureForm.php


注:本文中的drupal_rewrite_settings函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。