Commit 6d3d75fe authored by Dries's avatar Dries

- Removing whitespace.

parent 8851b57a
......@@ -45,7 +45,7 @@ Drupal 7.0, xxxx-xx-xx (development version)
- Search:
* Added support for language-aware searches.
- Aggregator:
* Introduced architecture that allows pluggable parsers and processors for
* Introduced architecture that allows pluggable parsers and processors for
syndicating RSS and Atom feeds.
- Testing:
* Added test framework and tests.
......
// $Id$
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
......@@ -57,7 +57,7 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
......@@ -256,7 +256,7 @@ make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
......@@ -278,9 +278,9 @@ YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
......
......@@ -268,7 +268,7 @@ function _batch_process() {
// If we are in progressive mode, break processing after 1 second.
if ($batch['progressive'] && timer_read('batch_processing') > 1000) {
// Record elapsed wall clock time.
// Record elapsed wall clock time.
$current_set['elapsed'] = round((microtime(TRUE) - $current_set['start']) * 1000, 2);
break;
}
......
......@@ -16,7 +16,7 @@ class DatabaseConnection_mysql extends DatabaseConnection {
public function __construct(array $connection_options = array()) {
// This driver defaults to non transaction support.
$this->transactionSupport = !empty($connection_option['transactions']);
// MySQL never supports transactional DDL.
$this->transactionalDDLSupport = FALSE;
......
......@@ -15,11 +15,11 @@
class DatabaseSchema_mysql extends DatabaseSchema {
/**
* Build a condition to match a table name against a standard information_schema.
* Build a condition to match a table name against a standard information_schema.
*
* MySQL uses databases like schemas rather than catalogs so when we build
* a condition to query the information_schema.tables, we set the default
* database as the schema unless specified otherwise, and exclude table_catalog
* database as the schema unless specified otherwise, and exclude table_catalog
* from the condition criteria.
*/
protected function buildTableNameCondition($table_name, $operator = '=') {
......
......@@ -16,7 +16,7 @@ class DatabaseConnection_pgsql extends DatabaseConnection {
public function __construct(array $connection_options = array()) {
// This driver defaults to transaction support, except if explicitly passed FALSE.
$this->transactionSupport = !isset($connection_options['transactions']) || ($connection_options['transactions'] !== FALSE);
// Transactional DDL is always available in PostgreSQL,
// but we'll only enable it if standard transactions are.
$this->transactionalDDLSupport = $this->transactionSupport;
......
......@@ -115,9 +115,9 @@ protected function processField($field) {
if (!empty($field['unsigned'])) {
// Unsigned datatypes are not supported in PostgreSQL 8.3. In MySQL,
// they are used to ensure a positive number is inserted and it also
// doubles the maximum integer size that can be stored in a field.
// The PostgreSQL schema in Drupal creates a check constraint
// to ensure that a value inserted is >= 0. To provide the extra
// doubles the maximum integer size that can be stored in a field.
// The PostgreSQL schema in Drupal creates a check constraint
// to ensure that a value inserted is >= 0. To provide the extra
// integer capacity, here, we bump up the column field size.
if (!isset($map)) {
$map = $this->getFieldTypeMap();
......
......@@ -129,7 +129,7 @@ public function __construct($connection) {
*
* The information_schema is a SQL standard that provides information about the
* database server and the databases, schemas, tables, columns and users within
* it. This makes information_schema a useful tool to use across the drupal
* it. This makes information_schema a useful tool to use across the drupal
* database drivers and is used by a few different functions. The function below
* describes the conditions to be meet when querying information_schema.tables
* for drupal tables or information associated with drupal tables. Even though
......@@ -166,7 +166,7 @@ protected function buildTableNameCondition($table_name, $operator = '=') {
/**
* Check if a table exists.
*
*
* @param $table
* The name of the table in drupal (no prefixing).
* @return
......@@ -176,7 +176,7 @@ public function tableExists($table) {
$condition = $this->buildTableNameCondition($this->connection->prefixTables('{' . $table . '}'));
$condition->compile($this->connection);
// Normally, we would heartily discourage the use of string
// concatination for conditionals like this however, we
// concatination for conditionals like this however, we
// couldn't use db_select() here because it would prefix
// information_schema.tables and the query would fail.
return db_query("SELECT table_name FROM information_schema.tables WHERE " . (string) $condition, $condition->arguments())->fetchField();
......@@ -195,7 +195,7 @@ public function findTables($table_expression) {
$condition = $this->buildTableNameCondition($table_expression, 'LIKE');
$condition->compile($this->connection);
// Normally, we would heartily discourage the use of string
// concatination for conditionals like this however, we
// concatination for conditionals like this however, we
// couldn't use db_select() here because it would prefix
// information_schema.tables and the query would fail.
return db_query("SELECT table_name FROM information_schema.tables WHERE " . (string) $condition, $condition->arguments())->fetchAllKeyed(0, 0);
......@@ -209,7 +209,7 @@ public function columnExists($table, $column) {
$condition->condition('column_name', $column);
$condition->compile($this->connection);
// Normally, we would heartily discourage the use of string
// concatination for conditionals like this however, we
// concatination for conditionals like this however, we
// couldn't use db_select() here because it would prefix
// information_schema.tables and the query would fail.
return db_query("SELECT column_name FROM information_schema.columns WHERE " . (string) $condition, $condition->arguments())->fetchAllKeyed(0, 0);
......
......@@ -291,7 +291,7 @@ function form_set_cache($form_build_id, $form, $form_state) {
*/
function drupal_execute($form_id, &$form_state) {
$args = func_get_args();
// Make sure $form_state is passed around by reference.
$args[1] = &$form_state;
......
......@@ -1982,17 +1982,17 @@ function template_preprocess_node(&$variables) {
$variables['node_url'] = url('node/' . $node->nid);
$variables['title'] = check_plain($node->title);
$variables['page'] = (bool)menu_get_object();
if ($node->build_mode == NODE_BUILD_PREVIEW) {
unset($node->content['links']);
}
// Render taxonomy links separately.
$variables['terms'] = !empty($node->content['links']['terms']) ? drupal_render($node->content['links']['terms']) : '';
// Render all remaining node links.
$variables['links'] = !empty($node->content['links']) ? drupal_render($node->content['links']) : '';
// Render any comments.
$variables['comments'] = !empty($node->content['comments']) ? drupal_render($node->content['comments']) : '';
......
......@@ -49,7 +49,7 @@ Drupal.behaviors.setTimezone = {
var path = 'system/timezone/' + abbreviation + '/' + offsetNow + '/' + isDaylightSavingTime;
var element = this;
$.ajax({
async: false,
async: false,
url: Drupal.settings.basePath,
data: { q: path, date: dateString },
dataType: 'json',
......
......@@ -393,10 +393,10 @@ function aggregator_admin_refresh_feed($feed) {
* @ingroup forms
*/
function aggregator_admin_form($form_state) {
// Make sure configuration is sane.
aggregator_sanitize_configuration();
// Get all available fetchers.
$fetchers = module_implements('aggregator_fetch');
foreach ($fetchers as $k => $module) {
......@@ -409,7 +409,7 @@ function aggregator_admin_form($form_state) {
unset($fetchers[$k]);
$fetchers[$module] = $label;
}
// Get all available parsers.
$parsers = module_implements('aggregator_parse');
foreach ($parsers as $k => $module) {
......@@ -422,7 +422,7 @@ function aggregator_admin_form($form_state) {
unset($parsers[$k]);
$parsers[$module] = $label;
}
// Get all available processors.
$processors = module_implements('aggregator_process');
foreach ($processors as $k => $module) {
......@@ -435,7 +435,7 @@ function aggregator_admin_form($form_state) {
unset($processors[$k]);
$processors[$module] = $label;
}
// Only show basic configuration if there are actually options.
$basic_conf = array();
if (count($fetchers) > 1) {
......@@ -475,7 +475,7 @@ function aggregator_admin_form($form_state) {
);
$form['basic_conf'] += $basic_conf;
}
// Implementing modules will expect an array at $form['modules'].
$form['modules'] = array();
......
......@@ -13,21 +13,21 @@
/**
* Implement this hook to create an alternative fetcher for aggregator module.
*
* A fetcher downloads feed data to a Drupal site. The fetcher is called
* at the first of the three aggregation stages: data is downloaded by the
* active fetcher, it is converted to a common format by the active parser and
* finally, it is passed to all active processors which manipulate or store the
*
* A fetcher downloads feed data to a Drupal site. The fetcher is called
* at the first of the three aggregation stages: data is downloaded by the
* active fetcher, it is converted to a common format by the active parser and
* finally, it is passed to all active processors which manipulate or store the
* data.
*
* Modules that define this hook can be set as active fetcher on
*
* Modules that define this hook can be set as active fetcher on
* admin/content/aggregator/settings. Only one fetcher can be active at a time.
*
*
* @param $feed
* The $feed object that describes the resource to be downloaded.
* $feed->url contains the link to the feed. Download the data at the URL
* The $feed object that describes the resource to be downloaded.
* $feed->url contains the link to the feed. Download the data at the URL
* and expose it to other modules by attaching it to $feed->source_string.
*
*
* @see hook_aggregator_fetch_info()
* @see hook_aggregator_parse()
* @see hook_aggregator_process()
......@@ -39,19 +39,19 @@ function hook_aggregator_fetch($feed) {
}
/**
* Implement this hook to expose the title and a short description of your
* Implement this hook to expose the title and a short description of your
* fetcher.
*
* The title and the description provided are shown on
*
* The title and the description provided are shown on
* admin/content/aggregator/settings among other places. Use as title the human
* readable name of the fetcher and as description a brief (40 to 80 characters)
* explanation of the fetcher's functionality.
*
*
* This hook is only called if your module implements hook_aggregator_fetch().
* If this hook is not implemented aggregator will use your module's file name
* as title and there will be no description.
*
* @return
*
* @return
* An associative array defining a title and a description string.
*
* @see hook_aggregator_fetch()
......@@ -67,25 +67,25 @@ function hook_aggregator_fetch_info() {
/**
* Implement this hook to create an alternative parser for aggregator module.
*
* A parser converts feed item data to a common format. The parser is called
* at the second of the three aggregation stages: data is downloaded by the
* active fetcher, it is converted to a common format by the active parser and
* finally, it is passed to all active processors which manipulate or store the
*
* A parser converts feed item data to a common format. The parser is called
* at the second of the three aggregation stages: data is downloaded by the
* active fetcher, it is converted to a common format by the active parser and
* finally, it is passed to all active processors which manipulate or store the
* data.
*
* Modules that define this hook can be set as active parser on
*
* Modules that define this hook can be set as active parser on
* admin/content/aggregator/settings. Only one parser can be active at a time.
*
*
* @param $feed
* The $feed object that describes the resource to be parsed.
* $feed->source_string contains the raw feed data as a string. Parse data
* from $feed->source_string and expose it to other modules as an array of
* data items on $feed->items.
*
* The $feed object that describes the resource to be parsed.
* $feed->source_string contains the raw feed data as a string. Parse data
* from $feed->source_string and expose it to other modules as an array of
* data items on $feed->items.
*
* By convention, the common format for a single feed item is:
* $item[key-name] = value;
*
*
* Recognized keys:
* TITLE (string) - the title of a feed item
* DESCRIPTION (string) - the description (body text) of a feed item
......@@ -97,7 +97,7 @@ function hook_aggregator_fetch_info() {
* @see hook_aggregator_parse_info()
* @see hook_aggregator_fetch()
* @see hook_aggregator_process()
*
*
* @ingroup aggregator
*/
function hook_aggregator_parse($feed) {
......@@ -105,19 +105,19 @@ function hook_aggregator_parse($feed) {
}
/**
* Implement this hook to expose the title and a short description of your
* Implement this hook to expose the title and a short description of your
* parser.
*
* The title and the description provided are shown on
*
* The title and the description provided are shown on
* admin/content/aggregator/settings among other places. Use as title the human
* readable name of the parser and as description a brief (40 to 80 characters)
* explanation of the parser's functionality.
*
*
* This hook is only called if your module implements hook_aggregator_parse().
* If this hook is not implemented aggregator will use your module's file name
* as title and there will be no description.
*
* @return
*
* @return
* An associative array defining a title and a description string.
*
* @see hook_aggregator_parse()
......@@ -133,22 +133,22 @@ function hook_aggregator_parse_info() {
/**
* Implement this hook to create a processor for aggregator module.
*
* A processor acts on parsed feed data. Active processors are called at the
*
* A processor acts on parsed feed data. Active processors are called at the
* third and last of the aggregation stages: data is downloaded by the active
* fetcher, it is converted to a common format by the active parser and
* fetcher, it is converted to a common format by the active parser and
* finally, it is passed to all active processors which manipulate or store the
* data.
*
* Modules that define this hook can be activated as processor on
*
* Modules that define this hook can be activated as processor on
* admin/content/aggregator/settings.
*
*
* @param $feed
* The $feed object that describes the resource to be processed. $feed->items
* contains an array of feed items downloaded and parsed at the parsing
* stage. See hook_aggregator_parse() for the basic format of a single item
* in the $feed->items array. For the exact format refer to the particular
* parser in use.
* contains an array of feed items downloaded and parsed at the parsing
* stage. See hook_aggregator_parse() for the basic format of a single item
* in the $feed->items array. For the exact format refer to the particular
* parser in use.
*
* @see hook_aggregator_process_info()
* @see hook_aggregator_fetch()
......@@ -162,20 +162,20 @@ function hook_aggregator_process($feed) {
}
}
/**
* Implement this hook to expose the title and a short description of your
/**
* Implement this hook to expose the title and a short description of your
* processor.
*
* The title and the description provided are shown most importantly on
* admin/content/aggregator/settings . Use as title the natural name of the
* processor and as description a brief (40 to 80 characters) explanation of
*
* The title and the description provided are shown most importantly on
* admin/content/aggregator/settings . Use as title the natural name of the
* processor and as description a brief (40 to 80 characters) explanation of
* the functionality.
*
* This hook is only called if your module implements
* hook_aggregator_process(). If this hook is not implemented aggregator
* This hook is only called if your module implements
* hook_aggregator_process(). If this hook is not implemented aggregator
* will use your module's file name as title and there will be no description.
*
* @return
*
* @return
* An associative array defining a title and a description string.
*
* @see hook_aggregator_process()
......@@ -190,16 +190,16 @@ function hook_aggregator_process_info($feed) {
}
/**
* Implement this hook to remove stored data if a feed is being deleted or a
* feed's items are being removed.
*
* Aggregator calls this hook if either a feed is deleted or a user clicks on
* "remove items".
*
* Implement this hook to remove stored data if a feed is being deleted or a
* feed's items are being removed.
*
* Aggregator calls this hook if either a feed is deleted or a user clicks on
* "remove items".
*
* If your module stores feed items for example on hook_aggregator_process() it
* is recommended to implement this hook and to remove data related to $feed
* is recommended to implement this hook and to remove data related to $feed
* when called.
*
*
* @param $feed
* The $feed object whose items are being removed.
*
......
......@@ -21,7 +21,7 @@ function aggregator_aggregator_fetch_info() {
*/
function aggregator_aggregator_fetch($feed) {
$feed->source_string = FALSE;
// Generate conditional GET headers.
$headers = array();
if ($feed->etag) {
......
......@@ -601,7 +601,7 @@ function theme_aggregator_block_item($item, $feed = 0) {
// Display the external link to the item.
return '<a href="' . check_url($item->link) . '">' . check_plain($item->title) . "</a>\n";
}
/**
......@@ -618,10 +618,10 @@ function aggregator_filter_xss($value) {
/**
* Check and sanitize aggregator configuration.
*
*
* Goes through all fetchers, parsers and processors and checks whether they are available.
* If one is missing resets to standard configuration.
*
*
* @return
* TRUE if this function reset the configuration FALSE if not.
*/
......
......@@ -57,13 +57,13 @@ function aggregator_aggregator_remove($feed) {
db_delete('aggregator_item')
->condition('fid', $feed->fid)
->execute();
drupal_set_message(t('The news items from %site have been removed.', array('%site' => $feed->title)));
}
/**
* Implementation of hook_form_aggregator_admin_form_alter().
*
*
* Form alter aggregator module's own form to keep processor functionality
* separate from aggregator API functionality.
*/
......@@ -86,28 +86,28 @@ function aggregator_form_aggregator_admin_form_alter(&$form, $form_state) {
else {
$form['modules']['aggregator'] = array();
}
$form['modules']['aggregator']['aggregator_summary_items'] = array(
'#type' => 'select',
'#type' => 'select',
'#title' => t('Items shown in sources and categories pages') ,
'#default_value' => variable_get('aggregator_summary_items', 3),
'#default_value' => variable_get('aggregator_summary_items', 3),
'#options' => $items,
'#description' => t('Number of feed items displayed in feed and category summary pages.'),
);
$form['modules']['aggregator']['aggregator_clear'] = array(
'#type' => 'select',
'#type' => 'select',
'#title' => t('Discard items older than'),
'#default_value' => variable_get('aggregator_clear', 9676800),
'#default_value' => variable_get('aggregator_clear', 9676800),
'#options' => $period,
'#description' => t('The length of time to retain feed items before discarding. (Requires a correctly configured <a href="@cron">cron maintenance task</a>.)', array('@cron' => url('admin/reports/status'))),
);
$form['modules']['aggregator']['aggregator_category_selector'] = array(
'#type' => 'radios',
'#title' => t('Category selection type'),
'#type' => 'radios',
'#title' => t('Category selection type'),
'#default_value' => variable_get('aggregator_category_selector', 'checkboxes'),
'#options' => array('checkboxes' => t('checkboxes'),
'#options' => array('checkboxes' => t('checkboxes'),
'select' => t('multiple selector')),
'#description' => t('The type of category selection widget displayed on categorization pages. (For a small number of categories, checkboxes are easier to use, while a multiple selector works well with large numbers of categories.)'),
);
......@@ -158,7 +158,7 @@ function aggregator_save_item($edit) {
/**
* Expire feed items on $feed that are older than aggregator_clear.
*
*
* @param $feed
* Object describing feed.
*/
......
......@@ -77,7 +77,7 @@ function hook_block_list() {
* and also by block.module to procure the list of available blocks.
*
* @param $delta
* Which block to return. This is a descriptive string used to identify
* Which block to return. This is a descriptive string used to identify
* blocks within each module and also within the theme system.
* The $delta for each block is defined within the array that your module
* returns when the hook_block_list() implementation is called.
......@@ -135,7 +135,7 @@ function hook_block_save($delta = '', $edit = array()) {
* and also by block.module to procure the list of available blocks.
*
* @param $delta
* Which block to return. This is a descriptive string used to identify
* Which block to return. This is a descriptive string used to identify
* blocks within each module and also within the theme system.
* The $delta for each block is defined within the array that your module
* returns when the hook_block_list() implementation is called.
......
......@@ -61,11 +61,11 @@ function book_perm() {
}
/**
* Inject links into $node as needed.
* Inject links into $node as needed.
*/
function book_nodeapi_view_link($node, $teaser, $page) {
$links = array();
if (isset($node->book['depth'])) {
if (!$teaser) {
$child_type = variable_get('book_child_type', 'book');
......@@ -749,7 +749,7 @@ function book_nodeapi_view($node, $teaser, $page) {
}
}
}
book_nodeapi_view_link($node, $teaser, $page);
}
......
......@@ -26,7 +26,7 @@ function hook_comment_insert(&$form_values) {
}
/**
* The user has just finished editing the comment and is trying to
* The user has just finished editing the comment and is trying to
* preview or submit it. This hook can be used to check or
* even modify the node. Errors should be set with form_set_error().
*
......
......@@ -484,7 +484,7 @@ function comment_nodeapi_view($node, $teaser) {
}
}
}
if (isset($links['comment_forbidden'])) {
$links['comment_forbidden']['html'] = TRUE;
}
......@@ -493,7 +493,7 @@ function comment_nodeapi_view($node, $teaser) {
'#type' => 'node_links',
'#value' => $links,
);
// Append the list of comments to $node->content for node detail pages.
if ($node->comment && (bool)menu_get_object() && $node->build_mode != NODE_BUILD_PREVIEW) {
$node->content['comments'] = array(
......
......@@ -202,7 +202,7 @@ class FilterTestCase extends DrupalWebTestCase {
function testLineBreakFilter() {
$f = _filter_autop('<p><div> </div></p>');
$this->assertEqual(substr_count($f, '<p>'), substr_count($f, '</p>'), t('Make sure line breaking produces matching paragraph tags.'));
$f = _filter_autop('<div><p> </p></div>');
$this->assertEqual(substr_count($f, '<p>'), substr_count($f, '</p>'), t('Make sure line breaking produces matching paragraph tags.'));
......
......@@ -169,8 +169,8 @@ function node_type_form(&$form_state, $type = NULL) {
'#type' => 'checkbox',
'#title' => t('Display post information'),
'#default_value' => variable_get('node_submitted_'. $type->type, TRUE),
'#description' => t('Enable the <em>submitted by Username on date</em> text.'),
);
'#description' => t('Enable the <em>submitted by Username on date</em> text.'),
);
$form['old_type'] = array(
'#type' => 'value',
'#value' => $type->type,
......
......@@ -158,10 +158,10 @@ function hook_node_operations() {
* Fiter, substitute or otherwise alter the $node's raw text.
*
* The $node->content array has been rendered, so the node body or
* teaser is filtered and now contains HTML. This hook should only be
* used when text substitution, filtering, or other raw text operations
* teaser is filtered and now contains HTML. This hook should only be
* used when text substitution, filtering, or other raw text operations
* are necessary.
*
*
* @param $node
* The node the action is being performed on.
* @param $teaser
......@@ -300,7 +300,7 @@ function hook_nodeapi_rss_item($node) {
}
/**
* The node is being displayed as a search result.
* The node is being displayed as a search result.
*
* If you want to display extra information with the result, return it.
*
......@@ -366,9 +366,9 @@ function hook_nodeapi_update_index($node) {
}
/**
* The user has finished editing the node and is previewing or submitting it.
* The user has finished editing the node and is previewing or submitting it.
*
* This hook can be used to check the node data. Errors should be set with
* This hook can be used to check the node data. Errors should be set with
* form_set_error().
*
* @param $node
......@@ -387,10 +387,10 @@ function hook_nodeapi_validate($node, $form) {
}
/**
* The node content is being assembled before rendering.
* The node content is being assembled before rendering.
*
* The module may add elements $node->content prior to rendering. This hook
* will be called after hook_view(). The structure of $node->content is a renderable
* The module may add elements $node->content prior to rendering. This hook
* will be called after hook_view(). The structure of $node->content is a renderable
* array as expected by drupal_render().
*
* @param $node
......
......@@ -71,7 +71,7 @@
</div>
<?php print $links; ?>
<?php print $comments; ?>
</div>
\ No newline at end of file
......@@ -51,7 +51,7 @@ class MenuRebuildTestCase extends DrupalWebTestCase {
'group' => t('Menu'),
);
}
/**
* Test if the 'menu_rebuild_needed' variable triggers a menu_rebuild() call.
*/
......@@ -75,5 +75,5 @@ class MenuRebuildTestCase extends DrupalWebTestCase {
$admin_exists = db_result(db_query("SELECT path from {menu_router} WHERE path = 'admin'"));
$this->assertEqual($admin_exists, 'admin', t("The menu has been rebuilt, the path 'admin' now exists again."));
}
}
......@@ -120,7 +120,7 @@ function _session_test_set_message() {
*/
function _session_test_set_not_started() {
if (!drupal_session_is_started()) {
$_SESSION['session_test_value'] = t('Session was not started');
$_SESSION['session_test_value'] = t('Session was not started');
}
}
......
......@@ -111,7 +111,7 @@ function statistics_nodeapi_view($node, $teaser, $page) {
$links['statistics_counter']['title'] = format_plural($statistics['totalcount'], '1 read', '@count reads');
}
}
$node->content['links']['statistics'] = array(
'#type' => 'node_links',