Commit 76151a8b authored by Dries's avatar Dries

- Patch #245504 by catch, David_Rothstein, Freso, et al: removed the throttle...

- Patch #245504 by catch, David_Rothstein, Freso, et al: removed the throttle module from Drupal core.
parent 46546ef4
...@@ -20,6 +20,9 @@ Drupal 7.0, xxxx-xx-xx (development version) ...@@ -20,6 +20,9 @@ Drupal 7.0, xxxx-xx-xx (development version)
simple method for blocking IP addresses. E-mail and username restrictions simple method for blocking IP addresses. E-mail and username restrictions
are now available in a contributed module. IP address range blocking is are now available in a contributed module. IP address range blocking is
no longer supported and should be done at the server level. no longer supported and should be done at the server level.
- Removed throttle module:
* The throttle module has been removed. Alternative methods to improve
performance are available in core and contributed modules.
Drupal 6.0, 2008-02-13 Drupal 6.0, 2008-02-13
---------------------- ----------------------
......
...@@ -359,7 +359,7 @@ function drupal_install_system() { ...@@ -359,7 +359,7 @@ function drupal_install_system() {
module_invoke('system', 'install'); module_invoke('system', 'install');
$system_versions = drupal_get_schema_versions('system'); $system_versions = drupal_get_schema_versions('system');
$system_version = $system_versions ? max($system_versions) : SCHEMA_INSTALLED; $system_version = $system_versions ? max($system_versions) : SCHEMA_INSTALLED;
db_query("INSERT INTO {system} (filename, name, type, owner, status, throttle, bootstrap, schema_version) VALUES('%s', '%s', '%s', '%s', %d, %d, %d, %d)", $system_path . '/system.module', 'system', 'module', '', 1, 0, 0, $system_version); db_query("INSERT INTO {system} (filename, name, type, owner, status, bootstrap, schema_version) VALUES('%s', '%s', '%s', '%s', %d, %d, %d)", $system_path . '/system.module', 'system', 'module', '', 1, 0, $system_version);
// Now that we've installed things properly, bootstrap the full Drupal environment // Now that we've installed things properly, bootstrap the full Drupal environment
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
module_rebuild_cache(); module_rebuild_cache();
......
...@@ -58,21 +58,15 @@ function module_list($refresh = FALSE, $bootstrap = TRUE, $sort = FALSE, $fixed_ ...@@ -58,21 +58,15 @@ function module_list($refresh = FALSE, $bootstrap = TRUE, $sort = FALSE, $fixed_
} }
else { else {
if ($bootstrap) { if ($bootstrap) {
$result = db_query("SELECT name, filename, throttle FROM {system} WHERE type = 'module' AND status = 1 AND bootstrap = 1 ORDER BY weight ASC, filename ASC"); $result = db_query("SELECT name, filename FROM {system} WHERE type = 'module' AND status = 1 AND bootstrap = 1 ORDER BY weight ASC, filename ASC");
} }
else { else {
$result = db_query("SELECT name, filename, throttle FROM {system} WHERE type = 'module' AND status = 1 ORDER BY weight ASC, filename ASC"); $result = db_query("SELECT name, filename FROM {system} WHERE type = 'module' AND status = 1 ORDER BY weight ASC, filename ASC");
} }
while ($module = db_fetch_object($result)) { while ($module = db_fetch_object($result)) {
if (file_exists($module->filename)) { if (file_exists($module->filename)) {
// Determine the current throttle status and see if the module should be drupal_get_filename('module', $module->name, $module->filename);
// loaded based on server load. We have to directly access the throttle $list[$module->name] = $module->name;
// variables, since throttle.module may not be loaded yet.
$throttle = ($module->throttle && variable_get('throttle_level', 0) > 0);
if (!$throttle) {
drupal_get_filename('module', $module->name, $module->filename);
$list[$module->name] = $module->name;
}
} }
} }
} }
...@@ -143,8 +137,7 @@ function module_rebuild_cache() { ...@@ -143,8 +137,7 @@ function module_rebuild_cache() {
else { else {
// This is a new module. // This is a new module.
$files[$filename]->status = 0; $files[$filename]->status = 0;
$files[$filename]->throttle = 0; db_query("INSERT INTO {system} (name, info, type, filename, status, bootstrap) VALUES ('%s', '%s', '%s', '%s', %d, %d)", $file->name, serialize($files[$filename]->info), 'module', $file->filename, 0, $bootstrap);
db_query("INSERT INTO {system} (name, info, type, filename, status, throttle, bootstrap) VALUES ('%s', '%s', '%s', '%s', %d, %d, %d)", $file->name, serialize($files[$filename]->info), 'module', $file->filename, 0, 0, $bootstrap);
} }
} }
$files = _module_build_dependencies($files); $files = _module_build_dependencies($files);
...@@ -289,7 +282,7 @@ function module_enable($module_list) { ...@@ -289,7 +282,7 @@ function module_enable($module_list) {
$existing = db_fetch_object(db_query("SELECT status FROM {system} WHERE type = '%s' AND name = '%s'", 'module', $module)); $existing = db_fetch_object(db_query("SELECT status FROM {system} WHERE type = '%s' AND name = '%s'", 'module', $module));
if ($existing->status == 0) { if ($existing->status == 0) {
module_load_install($module); module_load_install($module);
db_query("UPDATE {system} SET status = %d, throttle = %d WHERE type = '%s' AND name = '%s'", 1, 0, 'module', $module); db_query("UPDATE {system} SET status = %d WHERE type = '%s' AND name = '%s'", 1, 'module', $module);
drupal_load('module', $module); drupal_load('module', $module);
$invoke_modules[] = $module; $invoke_modules[] = $module;
} }
...@@ -331,7 +324,7 @@ function module_disable($module_list) { ...@@ -331,7 +324,7 @@ function module_disable($module_list) {
module_load_install($module); module_load_install($module);
module_invoke($module, 'disable'); module_invoke($module, 'disable');
db_query("UPDATE {system} SET status = %d, throttle = %d WHERE type = '%s' AND name = '%s'", 0, 0, 'module', $module); db_query("UPDATE {system} SET status = %d WHERE type = '%s' AND name = '%s'", 0, 'module', $module);
$invoke_modules[] = $module; $invoke_modules[] = $module;
} }
} }
......
...@@ -68,7 +68,7 @@ function sess_write($key, $value) { ...@@ -68,7 +68,7 @@ function sess_write($key, $value) {
// Only save session data when when the browser sends a cookie. This keeps // Only save session data when when the browser sends a cookie. This keeps
// crawlers out of session table. This reduces memory and server load, // crawlers out of session table. This reduces memory and server load,
// and gives more useful statistics. We can't eliminate anonymous session // and gives more useful statistics. We can't eliminate anonymous session
// table rows without breaking throttle module and "Who's Online" block. // table rows without breaking "Who's Online" block.
if ($user->uid || $value || count($_COOKIE)) { if ($user->uid || $value || count($_COOKIE)) {
db_query("INSERT INTO {sessions} (sid, uid, cache, hostname, session, timestamp) VALUES ('%s', %d, %d, '%s', '%s', %d)", $key, $user->uid, isset($user->cache) ? $user->cache : '', ip_address(), $value, time()); db_query("INSERT INTO {sessions} (sid, uid, cache, hostname, session, timestamp) VALUES ('%s', %d, %d, '%s', '%s', %d)", $key, $user->uid, isset($user->cache) ? $user->cache : '', ip_address(), $value, time());
} }
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
* - $block_regions: An array of regions. Keyed by name with the title as value. * - $block_regions: An array of regions. Keyed by name with the title as value.
* - $block_listing: An array of blocks keyed by region and then delta. * - $block_listing: An array of blocks keyed by region and then delta.
* - $form_submit: Form submit button. * - $form_submit: Form submit button.
* - $throttle: TRUE or FALSE depending on throttle module being enabled.
* *
* Each $block_listing[$region] contains an array of blocks for that region. * Each $block_listing[$region] contains an array of blocks for that region.
* *
...@@ -18,7 +17,6 @@ ...@@ -18,7 +17,6 @@
* - $data->block_title: Block title. * - $data->block_title: Block title.
* - $data->region_select: Drop-down menu for assigning a region. * - $data->region_select: Drop-down menu for assigning a region.
* - $data->weight_select: Drop-down menu for setting weights. * - $data->weight_select: Drop-down menu for setting weights.
* - $data->throttle_check: Checkbox to enable throttling.
* - $data->configure_link: Block configuration link. * - $data->configure_link: Block configuration link.
* - $data->delete_link: For deleting user added blocks. * - $data->delete_link: For deleting user added blocks.
* *
...@@ -41,9 +39,6 @@ ...@@ -41,9 +39,6 @@
<th><?php print t('Block'); ?></th> <th><?php print t('Block'); ?></th>
<th><?php print t('Region'); ?></th> <th><?php print t('Region'); ?></th>
<th><?php print t('Weight'); ?></th> <th><?php print t('Weight'); ?></th>
<?php if ($throttle): ?>
<th><?php print t('Throttle'); ?></th>
<?php endif; ?>
<th colspan="2"><?php print t('Operations'); ?></th> <th colspan="2"><?php print t('Operations'); ?></th>
</tr> </tr>
</thead> </thead>
...@@ -51,19 +46,16 @@ ...@@ -51,19 +46,16 @@
<?php $row = 0; ?> <?php $row = 0; ?>
<?php foreach ($block_regions as $region => $title): ?> <?php foreach ($block_regions as $region => $title): ?>
<tr class="region region-<?php print $region?>"> <tr class="region region-<?php print $region?>">
<td colspan="<?php print $throttle ? '6' : '5'; ?>" class="region"><?php print $title; ?></td> <td colspan="5" class="region"><?php print $title; ?></td>
</tr> </tr>
<tr class="region-message region-<?php print $region?>-message <?php print empty($block_listing[$region]) ? 'region-empty' : 'region-populated'; ?>"> <tr class="region-message region-<?php print $region?>-message <?php print empty($block_listing[$region]) ? 'region-empty' : 'region-populated'; ?>">
<td colspan="<?php print $throttle ? '6' : '5'; ?>"><em><?php print t('No blocks in this region'); ?></em></td> <td colspan="5"><em><?php print t('No blocks in this region'); ?></em></td>
</tr> </tr>
<?php foreach ($block_listing[$region] as $delta => $data): ?> <?php foreach ($block_listing[$region] as $delta => $data): ?>
<tr class="draggable <?php print $row % 2 == 0 ? 'odd' : 'even'; ?><?php print $data->row_class ? ' ' . $data->row_class : ''; ?>"> <tr class="draggable <?php print $row % 2 == 0 ? 'odd' : 'even'; ?><?php print $data->row_class ? ' ' . $data->row_class : ''; ?>">
<td class="block"><?php print $data->block_title; ?></td> <td class="block"><?php print $data->block_title; ?></td>
<td><?php print $data->region_select; ?></td> <td><?php print $data->region_select; ?></td>
<td><?php print $data->weight_select; ?></td> <td><?php print $data->weight_select; ?></td>
<?php if ($throttle): ?>
<td><?php print $data->throttle_check; ?></td>
<?php endif; ?>
<td><?php print $data->configure_link; ?></td> <td><?php print $data->configure_link; ?></td>
<td><?php print $data->delete_link; ?></td> <td><?php print $data->delete_link; ?></td>
</tr> </tr>
......
...@@ -35,7 +35,6 @@ function block_admin_display_form(&$form_state, $blocks, $theme = NULL) { ...@@ -35,7 +35,6 @@ function block_admin_display_form(&$form_state, $blocks, $theme = NULL) {
$custom_theme = isset($theme) ? $theme : variable_get('theme_default', 'garland'); $custom_theme = isset($theme) ? $theme : variable_get('theme_default', 'garland');
init_theme(); init_theme();
$throttle = module_exists('throttle');
$block_regions = system_region_list($theme_key) + array(BLOCK_REGION_NONE => '<' . t('none') . '>'); $block_regions = system_region_list($theme_key) + array(BLOCK_REGION_NONE => '<' . t('none') . '>');
// Build form tree // Build form tree
...@@ -70,10 +69,6 @@ function block_admin_display_form(&$form_state, $blocks, $theme = NULL) { ...@@ -70,10 +69,6 @@ function block_admin_display_form(&$form_state, $blocks, $theme = NULL) {
'#default_value' => $block['region'], '#default_value' => $block['region'],
'#options' => $block_regions, '#options' => $block_regions,
); );
if ($throttle) {
$form[$key]['throttle'] = array('#type' => 'checkbox', '#default_value' => isset($block['throttle']) ? $block['throttle'] : FALSE);
}
$form[$key]['configure'] = array('#value' => l(t('configure'), 'admin/build/block/configure/' . $block['module'] . '/' . $block['delta'])); $form[$key]['configure'] = array('#value' => l(t('configure'), 'admin/build/block/configure/' . $block['module'] . '/' . $block['delta']));
if ($block['module'] == 'block') { if ($block['module'] == 'block') {
$form[$key]['delete'] = array('#value' => l(t('delete'), 'admin/build/block/delete/' . $block['delta'])); $form[$key]['delete'] = array('#value' => l(t('delete'), 'admin/build/block/delete/' . $block['delta']));
...@@ -95,7 +90,7 @@ function block_admin_display_form_submit($form, &$form_state) { ...@@ -95,7 +90,7 @@ function block_admin_display_form_submit($form, &$form_state) {
foreach ($form_state['values'] as $block) { foreach ($form_state['values'] as $block) {
$block['status'] = $block['region'] != BLOCK_REGION_NONE; $block['status'] = $block['region'] != BLOCK_REGION_NONE;
$block['region'] = $block['status'] ? $block['region'] : ''; $block['region'] = $block['status'] ? $block['region'] : '';
db_query("UPDATE {blocks} SET status = %d, weight = %d, region = '%s', throttle = %d WHERE module = '%s' AND delta = '%s' AND theme = '%s'", $block['status'], $block['weight'], $block['region'], isset($block['throttle']) ? $block['throttle'] : 0, $block['module'], $block['delta'], $block['theme']); db_query("UPDATE {blocks} SET status = %d, weight = %d, region = '%s' WHERE module = '%s' AND delta = '%s' AND theme = '%s'", $block['status'], $block['weight'], $block['region'], $block['module'], $block['delta'], $block['theme']);
} }
drupal_set_message(t('The block settings have been updated.')); drupal_set_message(t('The block settings have been updated.'));
cache_clear_all(); cache_clear_all();
...@@ -354,7 +349,6 @@ function template_preprocess_block_admin_display_form(&$variables) { ...@@ -354,7 +349,6 @@ function template_preprocess_block_admin_display_form(&$variables) {
global $theme_key; global $theme_key;
$block_regions = system_region_list($theme_key); $block_regions = system_region_list($theme_key);
$variables['throttle'] = module_exists('throttle');
$variables['block_regions'] = $block_regions + array(BLOCK_REGION_NONE => t('Disabled')); $variables['block_regions'] = $block_regions + array(BLOCK_REGION_NONE => t('Disabled'));
foreach ($block_regions as $key => $value) { foreach ($block_regions as $key => $value) {
...@@ -386,7 +380,6 @@ function template_preprocess_block_admin_display_form(&$variables) { ...@@ -386,7 +380,6 @@ function template_preprocess_block_admin_display_form(&$variables) {
$variables['block_listing'][$region][$i]->block_title = drupal_render($block['info']); $variables['block_listing'][$region][$i]->block_title = drupal_render($block['info']);
$variables['block_listing'][$region][$i]->region_select = drupal_render($block['region']) . drupal_render($block['theme']); $variables['block_listing'][$region][$i]->region_select = drupal_render($block['region']) . drupal_render($block['theme']);
$variables['block_listing'][$region][$i]->weight_select = drupal_render($block['weight']); $variables['block_listing'][$region][$i]->weight_select = drupal_render($block['weight']);
$variables['block_listing'][$region][$i]->throttle_check = $variables['throttle'] ? drupal_render($block['throttle']) : '';
$variables['block_listing'][$region][$i]->configure_link = drupal_render($block['configure']); $variables['block_listing'][$region][$i]->configure_link = drupal_render($block['configure']);
$variables['block_listing'][$region][$i]->delete_link = !empty($block['delete']) ? drupal_render($block['delete']) : ''; $variables['block_listing'][$region][$i]->delete_link = !empty($block['delete']) ? drupal_render($block['delete']) : '';
$variables['block_listing'][$region][$i]->printed = FALSE; $variables['block_listing'][$region][$i]->printed = FALSE;
......
...@@ -62,13 +62,6 @@ function block_schema() { ...@@ -62,13 +62,6 @@ function block_schema() {
'size' => 'tiny', 'size' => 'tiny',
'description' => t('Flag to indicate how users may control visibility of the block. (0 = Users cannot control, 1 = On by default, but can be hidden, 2 = Hidden by default, but can be shown)'), 'description' => t('Flag to indicate how users may control visibility of the block. (0 = Users cannot control, 1 = On by default, but can be hidden, 2 = Hidden by default, but can be shown)'),
), ),
'throttle' => array(
'type' => 'int',
'not null' => TRUE,
'default' => 0,
'size' => 'tiny',
'description' => t('Flag to indicate whether or not to remove block when website traffic is high. (1 = throttle, 0 = do not throttle)'),
),
'visibility' => array( 'visibility' => array(
'type' => 'int', 'type' => 'int',
'not null' => TRUE, 'not null' => TRUE,
......
...@@ -72,7 +72,6 @@ function block_help($path, $arg) { ...@@ -72,7 +72,6 @@ function block_help($path, $arg) {
$output .= '<p>' . t('When working with blocks, remember that:') . '</p>'; $output .= '<p>' . t('When working with blocks, remember that:') . '</p>';
$output .= '<ul><li>' . t('since not all themes implement the same regions, or display regions in the same way, blocks are positioned on a per-theme basis.') . '</li>'; $output .= '<ul><li>' . t('since not all themes implement the same regions, or display regions in the same way, blocks are positioned on a per-theme basis.') . '</li>';
$output .= '<li>' . t('disabled blocks, or blocks not in a region, are never shown.') . '</li>'; $output .= '<li>' . t('disabled blocks, or blocks not in a region, are never shown.') . '</li>';
$output .= '<li>' . t('when throttle module is enabled, throttled blocks (blocks with the <em>Throttle</em> checkbox selected) are hidden during high server loads.') . '</li>';
$output .= '<li>' . t('blocks can be configured to be visible only on certain pages.') . '</li>'; $output .= '<li>' . t('blocks can be configured to be visible only on certain pages.') . '</li>';
$output .= '<li>' . t('blocks can be configured to be visible only when specific conditions are true.') . '</li>'; $output .= '<li>' . t('blocks can be configured to be visible only when specific conditions are true.') . '</li>';
$output .= '<li>' . t('blocks can be configured to be visible only for certain user roles.') . '</li>'; $output .= '<li>' . t('blocks can be configured to be visible only for certain user roles.') . '</li>';
...@@ -81,11 +80,7 @@ function block_help($path, $arg) { ...@@ -81,11 +80,7 @@ function block_help($path, $arg) {
$output .= '<p>' . t('For more information, see the online handbook entry for <a href="@block">Block module</a>.', array('@block' => 'http://drupal.org/handbook/modules/block/')) . '</p>'; $output .= '<p>' . t('For more information, see the online handbook entry for <a href="@block">Block module</a>.', array('@block' => 'http://drupal.org/handbook/modules/block/')) . '</p>';
return $output; return $output;
case 'admin/build/block': case 'admin/build/block':
$throttle = module_exists('throttle');
$output = '<p>' . t('This page provides a drag-and-drop interface for assigning a block to a region, and for controlling the order of blocks within regions. To change the region or order of a block, grab a drag-and-drop handle under the <em>Block</em> column and drag the block to a new location in the list. (Grab a handle by clicking and holding the mouse while hovering over a handle icon.) Since not all themes implement the same regions, or display regions in the same way, blocks are positioned on a per-theme basis. Remember that your changes will not be saved until you click the <em>Save blocks</em> button at the bottom of the page.') . '</p>'; $output = '<p>' . t('This page provides a drag-and-drop interface for assigning a block to a region, and for controlling the order of blocks within regions. To change the region or order of a block, grab a drag-and-drop handle under the <em>Block</em> column and drag the block to a new location in the list. (Grab a handle by clicking and holding the mouse while hovering over a handle icon.) Since not all themes implement the same regions, or display regions in the same way, blocks are positioned on a per-theme basis. Remember that your changes will not be saved until you click the <em>Save blocks</em> button at the bottom of the page.') . '</p>';
if ($throttle) {
$output .= '<p>' . t('To reduce CPU usage, database traffic or bandwidth, blocks may be automatically disabled during high server loads by selecting their <em>Throttle</em> checkbox. Adjust throttle thresholds on the <a href="@throttleconfig">throttle configuration page</a>.', array('@throttleconfig' => url('admin/settings/throttle'))) . '</p>';
}
$output .= '<p>' . t('Click the <em>configure</em> link next to each block to configure its specific title and visibility settings. Use the <a href="@add-block">add block page</a> to create a custom block.', array('@add-block' => url('admin/build/block/add'))) . '</p>'; $output .= '<p>' . t('Click the <em>configure</em> link next to each block to configure its specific title and visibility settings. Use the <a href="@add-block">add block page</a> to create a custom block.', array('@add-block' => url('admin/build/block/add'))) . '</p>';
return $output; return $output;
case 'admin/build/block/add': case 'admin/build/block/add':
...@@ -474,7 +469,7 @@ function _block_load_blocks() { ...@@ -474,7 +469,7 @@ function _block_load_blocks() {
* An array of block objects such as returned for one region by _block_load_blocks() * An array of block objects such as returned for one region by _block_load_blocks()
* *
* @return * @return
* An array of visible or not-throttled blocks with subject and content rendered. * An array of visible blocks with subject and content rendered.
*/ */
function _block_render_blocks($region_blocks) { function _block_render_blocks($region_blocks) {
foreach ($region_blocks as $key => $block) { foreach ($region_blocks as $key => $block) {
...@@ -483,26 +478,22 @@ function _block_render_blocks($region_blocks) { ...@@ -483,26 +478,22 @@ function _block_render_blocks($region_blocks) {
// Erase the block from the static array - we'll put it back if it has content. // Erase the block from the static array - we'll put it back if it has content.
unset($region_blocks[$key]); unset($region_blocks[$key]);
if ($block->enabled && $block->page_match) { if ($block->enabled && $block->page_match) {
// Check the current throttle status and see if block should be displayed // Try fetching the block from cache. Block caching is not compatible with
// based on server load. // node_access modules. We also preserve the submission of forms in blocks,
if (!($block->throttle && (module_invoke('throttle', 'status') > 0))) { // by fetching from cache only if the request method is 'GET'.
// Try fetching the block from cache. Block caching is not compatible with if (!count(module_implements('node_grants')) && $_SERVER['REQUEST_METHOD'] == 'GET' && ($cid = _block_get_cache_id($block)) && ($cache = cache_get($cid, 'cache_block'))) {
// node_access modules. We also preserve the submission of forms in blocks, $array = $cache->data;
// by fetching from cache only if the request method is 'GET'. }
if (!count(module_implements('node_grants')) && $_SERVER['REQUEST_METHOD'] == 'GET' && ($cid = _block_get_cache_id($block)) && ($cache = cache_get($cid, 'cache_block'))) { else {
$array = $cache->data; $array = module_invoke($block->module, 'block', 'view', $block->delta);
} if (isset($cid)) {
else { cache_set($cid, $array, 'cache_block', CACHE_TEMPORARY);
$array = module_invoke($block->module, 'block', 'view', $block->delta);
if (isset($cid)) {
cache_set($cid, $array, 'cache_block', CACHE_TEMPORARY);
}
} }
}
if (isset($array) && is_array($array)) { if (isset($array) && is_array($array)) {
foreach ($array as $k => $v) { foreach ($array as $k => $v) {
$block->$k = $v; $block->$k = $v;
}
} }
} }
if (isset($block->content) && $block->content) { if (isset($block->content) && $block->content) {
......
...@@ -59,7 +59,7 @@ function statistics_exit() { ...@@ -59,7 +59,7 @@ function statistics_exit() {
} }
} }
} }
if ((variable_get('statistics_enable_access_log', 0)) && (module_invoke('throttle', 'status') == 0)) { if (variable_get('statistics_enable_access_log', 0)) {
// Log this page access. // Log this page access.
db_query("INSERT INTO {accesslog} (title, path, url, hostname, uid, sid, timer, timestamp) values('%s', '%s', '%s', '%s', %d, '%s', %d, %d)", strip_tags(drupal_get_title()), $_GET['q'], referer_uri(), ip_address(), $user->uid, session_id(), timer_read('page'), time()); db_query("INSERT INTO {accesslog} (title, path, url, hostname, uid, sid, timer, timestamp) values('%s', '%s', '%s', '%s', %d, '%s', %d, %d)", strip_tags(drupal_get_title()), $_GET['q'], referer_uri(), ip_address(), $user->uid, session_id(), timer_read('page'), time());
} }
......
...@@ -588,7 +588,6 @@ function _system_is_incompatible(&$incompatible, $files, $file) { ...@@ -588,7 +588,6 @@ function _system_is_incompatible(&$incompatible, $files, $file) {
/** /**
* Menu callback; provides module enable/disable interface. * Menu callback; provides module enable/disable interface.
* *
* Modules can be enabled or disabled and set for throttling if the throttle module is enabled.
* The list of modules gets populated by module.info files, which contain each module's name, * The list of modules gets populated by module.info files, which contain each module's name,
* description and dependencies. * description and dependencies.
* @see drupal_parse_info_file for information on module.info descriptors. * @see drupal_parse_info_file for information on module.info descriptors.
...@@ -642,7 +641,6 @@ function system_modules($form_state = array()) { ...@@ -642,7 +641,6 @@ function system_modules($form_state = array()) {
// Array for disabling checkboxes in callback system_module_disable. // Array for disabling checkboxes in callback system_module_disable.
$disabled = array(); $disabled = array();
$throttle = array();
// Traverse the files retrieved and build the form. // Traverse the files retrieved and build the form.
foreach ($files as $filename => $file) { foreach ($files as $filename => $file) {
$form['name'][$filename] = array('#value' => $file->info['name']); $form['name'][$filename] = array('#value' => $file->info['name']);
...@@ -658,9 +656,6 @@ function system_modules($form_state = array()) { ...@@ -658,9 +656,6 @@ function system_modules($form_state = array()) {
if ($file->status) { if ($file->status) {
$status[] = $file->name; $status[] = $file->name;
} }
if ($file->throttle) {
$throttle[] = $file->name;
}
$dependencies = array(); $dependencies = array();
// Check for missing dependencies. // Check for missing dependencies.
...@@ -736,21 +731,6 @@ function system_modules($form_state = array()) { ...@@ -736,21 +731,6 @@ function system_modules($form_state = array()) {
'#incompatible_modules_php' => $incompatible_php, '#incompatible_modules_php' => $incompatible_php,
); );
// Handle throttle checkboxes, including overriding the
// generated checkboxes for required modules.
if (module_exists('throttle')) {
$form['throttle'] = array(
'#type' => 'checkboxes',
'#default_value' => $throttle,
'#options' => $options,
'#process' => array(
'expand_checkboxes',
'system_modules_disable',
),
'#disabled_modules' => array_merge($modules_required, array('throttle')),
);
}
$form['buttons']['submit'] = array( $form['buttons']['submit'] = array(
'#type' => 'submit', '#type' => 'submit',
'#value' => t('Save configuration'), '#value' => t('Save configuration'),
...@@ -861,13 +841,6 @@ function system_modules_submit($form, &$form_state) { ...@@ -861,13 +841,6 @@ function system_modules_submit($form, &$form_state) {
$dependencies = NULL; $dependencies = NULL;
} }
// Update throttle settings, if present
if (isset($form_state['values']['throttle'])) {
foreach ($form_state['values']['throttle'] as $key => $choice) {
db_query("UPDATE {system} SET throttle = %d WHERE type = 'module' and name = '%s'", $choice ? 1 : 0, $key);
}
}
// If there where unmet dependencies and they haven't confirmed don't process // If there where unmet dependencies and they haven't confirmed don't process
// the submission yet. Store the form submission data needed later. // the submission yet. Store the form submission data needed later.
if ($dependencies) { if ($dependencies) {
...@@ -2085,9 +2058,6 @@ function theme_system_modules($form) { ...@@ -2085,9 +2058,6 @@ function theme_system_modules($form) {
// Individual table headers. // Individual table headers.
$header = array(); $header = array();
$header[] = array('data' => t('Enabled'), 'class' => 'checkbox'); $header[] = array('data' => t('Enabled'), 'class' => 'checkbox');
if (module_exists('throttle')) {
$header[] = array('data' => t('Throttle'), 'class' => 'checkbox');
}
$header[] = t('Name'); $header[] = t('Name');
$header[] = t('Version'); $header[] = t('Version');
$header[] = t('Description'); $header[] = t('Description');
...@@ -2127,9 +2097,6 @@ function theme_system_modules($form) { ...@@ -2127,9 +2097,6 @@ function theme_system_modules($form) {
$status = drupal_render($form['status'][$key]); $status = drupal_render($form['status'][$key]);
} }
$row[] = array('data' => $status, 'class' => 'checkbox'); $row[] = array('data' => $status, 'class' => 'checkbox');
if (module_exists('throttle')) {
$row[] = array('data' => drupal_render($form['throttle'][$key]), 'class' => 'checkbox');
}
// Add labels only when there is also a checkbox. // Add labels only when there is also a checkbox.
if (isset($form['status'][$key])) { if (isset($form['status'][$key])) {
......
...@@ -1149,13 +1149,6 @@ function system_schema() { ...@@ -1149,13 +1149,6 @@ function system_schema() {
'default' => 0, 'default' => 0,
'size' => 'tiny', 'size' => 'tiny',
), ),
'throttle' => array(
'description' => t('Boolean indicating whether this item is disabled when the throttle.module disables throttleable items.'),
'type' => 'int',
'not null' => TRUE,
'default' => 0,
'size' => 'tiny',
),
'bootstrap' => array( 'bootstrap' => array(
'description' => t("Boolean indicating whether this module is loaded during Drupal's early bootstrapping phase (e.g. even before the page cache is consulted)."), 'description' => t("Boolean indicating whether this module is loaded during Drupal's early bootstrapping phase (e.g. even before the page cache is consulted)."),
'type' => 'int', 'type' => 'int',
...@@ -2852,6 +2845,21 @@ function system_update_7004(&$sandbox) { ...@@ -2852,6 +2845,21 @@ function system_update_7004(&$sandbox) {
return $ret; return $ret;
} }
/**
* Remove throttle columns and variables.
*/
function system_update_7005() {
$ret = array();
db_drop_field($ret, 'blocks', 'throttle');
db_drop_field($ret, 'system', 'throttle');
variable_del('throttle_user');
variable_del('throttle_anonymous');
variable_del('throttle_level');
variable_del('throttle_probability_limiter');
return $ret;
}
/** /**
* @} End of "defgroup updates-6.x-to-7.x" * @} End of "defgroup updates-6.x-to-7.x"
* The next series of updates should start at 8000. * The next series of updates should start at 8000.
......
...@@ -73,11 +73,7 @@ function system_help($path, $arg) { ...@@ -73,11 +73,7 @@ function system_help($path, $arg) {
case 'admin/build/themes/settings': case 'admin/build/themes/settings':
return '<p>' . t('These options control the default display settings for your entire site, across all themes. Unless they have been overridden by a specific theme, these settings will be used.') . '</p>'; return '<p>' . t('These options control the default display settings for your entire site, across all themes. Unless they have been overridden by a specific theme, these settings will be used.') . '</p>';
case 'admin/build/modules': case 'admin/build/modules':
$output = '<p>' . t('Modules are plugins that extend Drupal\'s core functionality. Enable modules by selecting the <em>Enabled</em> checkboxes below and clicking the <em>Save configuration</em> button. Once a module is enabled, new <a href="@permissions">permissions</a> may be available. To reduce server load, modules with their <em>Throttle</em> checkbox selected are temporarily disabled when your site becomes extremely busy. (Note that the <em>Throttle</em> checkbox is only available if the Throttle module is enabled.)', array('@permissions' => url('admin/user/permissions'))); $output = '<p>' . t('Modules are plugins that extend Drupal\'s core functionality. Enable modules by selecting the <em>Enabled</em> checkboxes below and clicking the <em>Save configuration</em> button. Once a module is enabled, new <a href="@permissions">permissions</a> may be available.)', array('@permissions' => url('admin/user/permissions'))) . '</p>';
if (module_exists('throttle')) {
$output .= ' ' . t('The auto-throttle functionality must be enabled on the <a href="@throttle">throttle configuration page</a> after having enabled the throttle module.', array('@throttle' => url('admin/settings/throttle')));
}
$output .= '</p>';
$output .= '<p>' . t('It is important that <a href="@update-php">update.php</a> is run every time a module is updated to a newer version.', array('@update-php' => $base_url . '/update.php')) . '</p>'; $output .= '<p>' . t('It is important that <a href="@update-php">update.php</a> is run every time a module is updated to a newer version.', array('@update-php' => $base_url . '/update.php')) . '</p>';
$output .= '<p>' . t('You can find all administration tasks belonging to a particular module on the <a href="@by-module">administration by module page</a>.', array('@by-module' => url('admin/by-module'))) . '</p>'; $output .= '<p>' . t('You can find all administration tasks belonging to a particular module on the <a href="@by-module">administration by module page</a>.', array('@by-module' => url('admin/by-module'))) . '</p>';
$output .= '<p>' . t('To extend the functionality of your site, a number of <a href="@modules">contributed modules</a> are available.', array('@modules' => 'http://drupal.org/project/modules')) . '</p>'; $output .= '<p>' . t('To extend the functionality of your site, a number of <a href="@modules">contributed modules</a> are available.', array('@modules' => 'http://drupal.org/project/modules')) . '</p>';
...@@ -899,7 +895,7 @@ function system_check_directory($form_element) { ...@@ -899,7 +895,7 @@ function system_check_directory($form_element) {
*/ */
function system_get_files_database(&$files, $type) { function system_get_files_database(&$files, $type) {
// Extract current files from database. // Extract current files from database.
$result = db_query("SELECT filename, name, type, status, throttle, schema_version FROM {system} WHERE type = '%s'", $type); $result = db_query("SELECT filename, name, type, status, schema_version FROM {system} WHERE type = '%s'", $type);
while ($file = db_fetch_object($result)) { while ($file = db_fetch_object($result)) {
if (isset($files[$file->name]) && is_object($files[$file->name])) { if (isset($files[$file->name]) && is_object($files[$file->name])) {
$file->old_filename = $file->filename; $file->old_filename = $file->filename;
...@@ -969,7 +965,7 @@ function system_theme_data() { ...@@ -969,7 +965,7 @@ function system_theme_data() {
$theme->owner = ''; $theme->owner = '';
} }
db_query("INSERT INTO {system} (name, owner, info, type, filename, status, throttle, bootstrap) VALUES ('%s', '%s', '%s', '%s', '%s', %d, %d, %d)", $theme->name, $theme->owner, serialize($theme->info), 'theme', $theme->filename, isset($theme->status) ? $theme->status : 0, 0, 0); db_query("INSERT INTO {system} (name, owner, info, type, filename, status, bootstrap) VALUES ('%s', '%s', '%s', '%s', '%s', %d, %d)", $theme->name, $theme->owner, serialize($theme->info), 'theme', $theme->filename, isset($theme->status) ? $theme->status : 0, 0);
} }
return $themes; return $themes;
...@@ -1155,8 +1151,8 @@ function system_initialize_theme_blocks($theme) { ...@@ -1155,8 +1151,8 @@ function system_initialize_theme_blocks($theme) {
if (!array_key_exists($block['region'], $regions)) { if (!array_key_exists($block['region'], $regions)) {
$block['region'] = system_default_region($theme); $block['region'] = system_default_region($theme);
} }
db_query("INSERT INTO {blocks} (module, delta, theme, status, weight, region, visibility, pages, custom, throttle, cache) VALUES ('%s', '%s', '%s', %d, %d, '%s', %d, '%s', %d, %d, %d)", db_query("INSERT INTO {blocks} (module, delta, theme, status, weight, region, visibility, pages, custom, cache) VALUES ('%s', '%s', '%s', %d, %d, '%s', %d, '%s', %d, %d)",
$block['module'], $block['delta'], $theme, $block['status'], $block['weight'], $block['region'], $block['visibility'], $block['pages'], $block['custom'], $block['throttle'], $block['cache']); $block['module'], $block['delta'], $theme, $block['status'], $block['weight'], $block['region'], $block['visibility'], $block['pages'], $block['custom'], $block['cache']);
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment