Merge branch '8.x' of http://git.drupal.org/project/drupal into 8.x-file-config
commit
a3707fe653
|
@ -18,7 +18,7 @@ define('DRUPAL_CORE_COMPATIBILITY', '8.x');
|
|||
/**
|
||||
* Minimum supported version of PHP.
|
||||
*/
|
||||
define('DRUPAL_MINIMUM_PHP', '5.2.4');
|
||||
define('DRUPAL_MINIMUM_PHP', '5.3.2');
|
||||
|
||||
/**
|
||||
* Minimum recommended value of PHP memory_limit.
|
||||
|
|
|
@ -632,8 +632,8 @@ function drupal_encode_path($path) {
|
|||
* user/login and override the default redirection so that the user is
|
||||
* redirected to a specific path after logging in:
|
||||
* @code
|
||||
* $destination = array('destination' => "node/$node->nid");
|
||||
* l(t('Log in'), array('@login' => url('user/login', array('query' => array($destination)))));
|
||||
* $query = array('destination' => "node/$node->nid");
|
||||
* $link = l(t('Log in'), 'user/login', array('query' => $query));
|
||||
* @endcode
|
||||
*
|
||||
* Drupal will ensure that messages set by drupal_set_message() and other
|
||||
|
@ -7437,7 +7437,8 @@ function entity_create_stub_entity($entity_type, $ids) {
|
|||
* Whether to reset the internal cache for the requested entity type.
|
||||
*
|
||||
* @return
|
||||
* An array of entity objects indexed by their ids.
|
||||
* An array of entity objects indexed by their ids. When no results are
|
||||
* found, an empty array is returned.
|
||||
*
|
||||
* @todo Remove $conditions in Drupal 8.
|
||||
*/
|
||||
|
|
|
@ -169,15 +169,18 @@ class DatabaseConnection_mysql extends DatabaseConnection {
|
|||
// savepoints which no longer exist.
|
||||
//
|
||||
// To avoid exceptions when no actual error has occurred, we silently
|
||||
// succeed for PDOExceptions with error code 42000 ("Syntax error or
|
||||
// access rule violation").
|
||||
if ($e->getCode() != '42000') {
|
||||
throw $e;
|
||||
}
|
||||
// succeed for PDOExceptions with SQLSTATE 42000 ("Syntax error or
|
||||
// access rule violation") and MySQL error code 1305 ("SAVEPOINT does
|
||||
// not exist").
|
||||
if ($e->getCode() == '42000' && $e->errorInfo[1] == '1305') {
|
||||
// If one SAVEPOINT was released automatically, then all were.
|
||||
// Therefore, we keep just the topmost transaction.
|
||||
$this->transactionLayers = array('drupal_transaction');
|
||||
}
|
||||
else {
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,7 +39,8 @@ interface DrupalEntityControllerInterface {
|
|||
* An array of conditions in the form 'field' => $value.
|
||||
*
|
||||
* @return
|
||||
* An array of entity objects indexed by their ids.
|
||||
* An array of entity objects indexed by their ids. When no results are
|
||||
* found, an empty array is returned.
|
||||
*/
|
||||
public function load($ids = array(), $conditions = array());
|
||||
}
|
||||
|
@ -650,7 +651,11 @@ class EntityFieldQuery {
|
|||
*/
|
||||
public function fieldCondition($field, $column = NULL, $value = NULL, $operator = NULL, $delta_group = NULL, $language_group = NULL) {
|
||||
if (is_scalar($field)) {
|
||||
$field = field_info_field($field);
|
||||
$field_definition = field_info_field($field);
|
||||
if (empty($field_definition)) {
|
||||
throw new EntityFieldQueryException(t('Unknown field: @field_name', array('@field_name' => $field)));
|
||||
}
|
||||
$field = $field_definition;
|
||||
}
|
||||
// Ensure the same index is used for fieldConditions as for fields.
|
||||
$index = count($this->fields);
|
||||
|
@ -752,7 +757,11 @@ class EntityFieldQuery {
|
|||
*/
|
||||
public function fieldOrderBy($field, $column, $direction = 'ASC') {
|
||||
if (is_scalar($field)) {
|
||||
$field = field_info_field($field);
|
||||
$field_definition = field_info_field($field);
|
||||
if (empty($field_definition)) {
|
||||
throw new EntityFieldQueryException(t('Unknown field: @field_name', array('@field_name' => $field)));
|
||||
}
|
||||
$field = $field_definition;
|
||||
}
|
||||
// Save the index used for the new field, for later use in field storage.
|
||||
$index = count($this->fields);
|
||||
|
|
|
@ -4074,6 +4074,8 @@ function _form_set_class(&$element, $class = array()) {
|
|||
* Sample 'finished' callback:
|
||||
* @code
|
||||
* function batch_test_finished($success, $results, $operations) {
|
||||
* // The 'success' parameter means no fatal PHP errors were detected. All
|
||||
* // other error management should be handled using 'results'.
|
||||
* if ($success) {
|
||||
* $message = format_plural(count($results), 'One post processed.', '@count posts processed.');
|
||||
* }
|
||||
|
|
|
@ -570,7 +570,7 @@ abstract class DatabaseTasks {
|
|||
}
|
||||
|
||||
/**
|
||||
* @class Exception class used to throw error if the DatabaseInstaller fails.
|
||||
* Exception thrown if the database installer fails.
|
||||
*/
|
||||
class DatabaseTaskException extends Exception {
|
||||
}
|
||||
|
|
|
@ -1863,7 +1863,7 @@ function _locale_rebuild_js($langcode = NULL) {
|
|||
|
||||
// Construct the array for JavaScript translations.
|
||||
// Only add strings with a translation to the translations array.
|
||||
$result = db_query("SELECT s.lid, s.source, t.translation FROM {locales_source} s INNER JOIN {locales_target} t ON s.lid = t.lid AND t.language = :language WHERE s.location LIKE '%.js%' AND s.textgroup = :textgroup AND t.translation IS NOT NULL", array(':language' => $language->language, ':textgroup' => 'default'));
|
||||
$result = db_query("SELECT s.lid, s.source, t.translation FROM {locales_source} s INNER JOIN {locales_target} t ON s.lid = t.lid AND t.language = :language WHERE s.location LIKE '%.js%' AND s.textgroup = :textgroup", array(':language' => $language->language, ':textgroup' => 'default'));
|
||||
|
||||
$translations = array();
|
||||
foreach ($result as $data) {
|
||||
|
|
|
@ -35,6 +35,8 @@ Drupal.behaviors.machineName = {
|
|||
if ($target.hasClass('error')) {
|
||||
return;
|
||||
}
|
||||
// Figure out the maximum length for the machine name.
|
||||
options.maxlength = $target.attr('maxlength');
|
||||
// Hide the form item container of the machine name form element.
|
||||
$wrapper.hide();
|
||||
// Determine the initial machine name value. Unless the machine name form
|
||||
|
@ -103,13 +105,14 @@ Drupal.behaviors.machineName = {
|
|||
* disallowed characters in the machine name; e.g., '[^a-z0-9]+'.
|
||||
* - replace: A character to replace disallowed characters with; e.g., '_'
|
||||
* or '-'.
|
||||
* - maxlength: The maximum length of the machine name.
|
||||
*
|
||||
* @return
|
||||
* The transliterated source string.
|
||||
*/
|
||||
transliterate: function (source, settings) {
|
||||
var rx = new RegExp(settings.replace_pattern, 'g');
|
||||
return source.toLowerCase().replace(rx, settings.replace);
|
||||
return source.toLowerCase().replace(rx, settings.replace).substr(0, settings.maxlength);
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -170,8 +170,8 @@ function block_admin_display_form($form, &$form_state, $blocks, $theme, $block_r
|
|||
* @see block_admin_display_form()
|
||||
*/
|
||||
function block_admin_display_form_submit($form, &$form_state) {
|
||||
$txn = db_transaction();
|
||||
|
||||
$transaction = db_transaction();
|
||||
try {
|
||||
foreach ($form_state['values']['blocks'] as $block) {
|
||||
$block['status'] = (int) ($block['region'] != BLOCK_REGION_NONE);
|
||||
$block['region'] = $block['status'] ? $block['region'] : '';
|
||||
|
@ -186,6 +186,12 @@ function block_admin_display_form_submit($form, &$form_state) {
|
|||
->condition('theme', $block['theme'])
|
||||
->execute();
|
||||
}
|
||||
}
|
||||
catch (Exception $e) {
|
||||
$transaction->rollback();
|
||||
watchdog_exception('block', $e);
|
||||
throw $e;
|
||||
}
|
||||
drupal_set_message(t('The block settings have been updated.'));
|
||||
cache_clear_all();
|
||||
}
|
||||
|
@ -460,8 +466,8 @@ function block_admin_configure_validate($form, &$form_state) {
|
|||
*/
|
||||
function block_admin_configure_submit($form, &$form_state) {
|
||||
if (!form_get_errors()) {
|
||||
$txn = db_transaction();
|
||||
|
||||
$transaction = db_transaction();
|
||||
try {
|
||||
db_update('block')
|
||||
->fields(array(
|
||||
'visibility' => (int) $form_state['values']['visibility'],
|
||||
|
@ -500,6 +506,12 @@ function block_admin_configure_submit($form, &$form_state) {
|
|||
}
|
||||
|
||||
module_invoke($form_state['values']['module'], 'block_save', $form_state['values']['delta'], $form_state['values']);
|
||||
}
|
||||
catch (Exception $e) {
|
||||
$transaction->rollback();
|
||||
watchdog_exception('block', $e);
|
||||
throw $e;
|
||||
}
|
||||
drupal_set_message(t('The block configuration has been saved.'));
|
||||
cache_clear_all();
|
||||
$form_state['redirect'] = 'admin/structure/block';
|
||||
|
|
|
@ -26,6 +26,7 @@ function blog_user_view($account) {
|
|||
$account->content['summary']['blog'] = array(
|
||||
'#type' => 'user_profile_item',
|
||||
'#title' => t('Blog'),
|
||||
// l() escapes the attributes, so we should not escape !username here.
|
||||
'#markup' => l(t('View recent blog entries'), "blog/$account->uid", array('attributes' => array('title' => t("Read !username's latest blog entries.", array('!username' => format_username($account)))))),
|
||||
'#attributes' => array('class' => array('blog')),
|
||||
);
|
||||
|
@ -67,7 +68,7 @@ function blog_form($node, $form_state) {
|
|||
*/
|
||||
function blog_view($node, $view_mode) {
|
||||
if ($view_mode == 'full' && node_is_page($node)) {
|
||||
// Breadcrumb navigation.
|
||||
// Breadcrumb navigation. l() escapes title, so we should not escape !name.
|
||||
drupal_set_breadcrumb(array(l(t('Home'), NULL), l(t('Blogs'), 'blog'), l(t("!name's blog", array('!name' => format_username($node))), 'blog/' . $node->uid)));
|
||||
}
|
||||
return $node;
|
||||
|
@ -79,6 +80,7 @@ function blog_view($node, $view_mode) {
|
|||
function blog_node_view($node, $view_mode) {
|
||||
if ($view_mode != 'rss') {
|
||||
if ($node->type == 'blog' && (arg(0) != 'blog' || arg(1) != $node->uid)) {
|
||||
// This goes to l(), which escapes !username in both title and attributes.
|
||||
$links['blog_usernames_blog'] = array(
|
||||
'title' => t("!username's blog", array('!username' => format_username($node))),
|
||||
'href' => "blog/$node->uid",
|
||||
|
|
|
@ -42,6 +42,7 @@ function color_form_system_theme_settings_alter(&$form, &$form_state) {
|
|||
'#theme' => 'color_scheme_form',
|
||||
);
|
||||
$form['color'] += color_scheme_form($form, $form_state, $theme);
|
||||
$form['#validate'][] = 'color_scheme_form_validate';
|
||||
$form['#submit'][] = 'color_scheme_form_submit';
|
||||
}
|
||||
}
|
||||
|
@ -270,6 +271,18 @@ function theme_color_scheme_form($variables) {
|
|||
return $output;
|
||||
}
|
||||
|
||||
/**
|
||||
* Validation handler for color change form.
|
||||
*/
|
||||
function color_scheme_form_validate($form, &$form_state) {
|
||||
// Only accept hexadecimal CSS color strings to avoid XSS upon use.
|
||||
foreach ($form_state['values']['palette'] as $key => $color) {
|
||||
if (!preg_match('/^#([a-f0-9]{3}){1,2}$/iD', $color)) {
|
||||
form_set_error('palette][' . $key, t('You must enter a valid hexadecimal color value for %name.', array('%name' => $form['color']['palette'][$key]['#title'])));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Submit handler for color change form.
|
||||
*/
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
class ColorTestCase extends DrupalWebTestCase {
|
||||
protected $big_user;
|
||||
protected $themes;
|
||||
protected $colorTests;
|
||||
|
||||
public static function getInfo() {
|
||||
return array(
|
||||
|
@ -40,6 +41,19 @@ class ColorTestCase extends DrupalWebTestCase {
|
|||
),
|
||||
);
|
||||
theme_enable(array_keys($this->themes));
|
||||
|
||||
// Array filled with valid and not valid color values
|
||||
$this->colorTests = array(
|
||||
'#000' => TRUE,
|
||||
'#123456' => TRUE,
|
||||
'#abcdef' => TRUE,
|
||||
'#0' => FALSE,
|
||||
'#00' => FALSE,
|
||||
'#0000' => FALSE,
|
||||
'#00000' => FALSE,
|
||||
'123456' => FALSE,
|
||||
'#00000g' => FALSE,
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -93,4 +107,27 @@ class ColorTestCase extends DrupalWebTestCase {
|
|||
$this->assertTrue(strpos($stylesheet_content, 'public://') === FALSE, 'Make sure the color paths have been translated to local paths. (' . $theme . ')');
|
||||
variable_set('preprocess_css', 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test to see if the provided color is valid
|
||||
*/
|
||||
function testValidColor() {
|
||||
variable_set('theme_default', 'bartik');
|
||||
$settings_path = 'admin/appearance/settings/bartik';
|
||||
|
||||
$this->drupalLogin($this->big_user);
|
||||
$edit['scheme'] = '';
|
||||
|
||||
foreach ($this->colorTests as $color => $is_valid) {
|
||||
$edit['palette[bg]'] = $color;
|
||||
$this->drupalPost($settings_path, $edit, t('Save configuration'));
|
||||
|
||||
if($is_valid) {
|
||||
$this->assertText('The configuration options have been saved.');
|
||||
}
|
||||
else {
|
||||
$this->assertText('You must enter a valid hexadecimal color value for Main background.');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -458,7 +458,7 @@ function field_behaviors_widget($op, $instance) {
|
|||
* Returns information about field types from hook_field_info().
|
||||
*
|
||||
* @param $field_type
|
||||
* (optional) A field type name. If ommitted, all field types will be
|
||||
* (optional) A field type name. If omitted, all field types will be
|
||||
* returned.
|
||||
*
|
||||
* @return
|
||||
|
@ -482,7 +482,7 @@ function field_info_field_types($field_type = NULL) {
|
|||
* Returns information about field widgets from hook_field_widget_info().
|
||||
*
|
||||
* @param $widget_type
|
||||
* (optional) A widget type name. If ommitted, all widget types will be
|
||||
* (optional) A widget type name. If omitted, all widget types will be
|
||||
* returned.
|
||||
*
|
||||
* @return
|
||||
|
@ -507,7 +507,7 @@ function field_info_widget_types($widget_type = NULL) {
|
|||
* Returns information about field formatters from hook_field_formatter_info().
|
||||
*
|
||||
* @param $formatter_type
|
||||
* (optional) A formatter type name. If ommitted, all formatter types will be
|
||||
* (optional) A formatter type name. If omitted, all formatter types will be
|
||||
* returned.
|
||||
*
|
||||
* @return
|
||||
|
@ -532,7 +532,7 @@ function field_info_formatter_types($formatter_type = NULL) {
|
|||
* Returns information about field storage from hook_field_storage_info().
|
||||
*
|
||||
* @param $storage_type
|
||||
* (optional) A storage type name. If ommitted, all storage types will be
|
||||
* (optional) A storage type name. If omitted, all storage types will be
|
||||
* returned.
|
||||
*
|
||||
* @return
|
||||
|
|
|
@ -825,6 +825,8 @@ function field_view_value($entity_type, $entity, $field_name, $item, $display =
|
|||
* render($content[FIELD_NAME]) instead.
|
||||
* - Do not use to display all fields in an entity, use
|
||||
* field_attach_prepare_view() and field_attach_view() instead.
|
||||
* - The field_view_value() function can be used to output a single formatted
|
||||
* field value, without label or wrapping field markup.
|
||||
*
|
||||
* The function takes care of invoking the prepare_view steps. It also respects
|
||||
* field access permissions.
|
||||
|
@ -864,6 +866,8 @@ function field_view_value($entity_type, $entity, $field_name, $item, $display =
|
|||
* used.
|
||||
* @return
|
||||
* A renderable array for the field value.
|
||||
*
|
||||
* @see field_view_value()
|
||||
*/
|
||||
function field_view_field($entity_type, $entity, $field_name, $display = array(), $langcode = NULL) {
|
||||
$output = array();
|
||||
|
|
|
@ -678,7 +678,7 @@ function menu_configure() {
|
|||
'#empty_option' => t('No Secondary links'),
|
||||
'#options' => $menu_options,
|
||||
'#tree' => FALSE,
|
||||
'#description' => t('Select the source for the Secondary links. An advanced option allows you to use the same source for both Main links (currently %main) and Secondary links: if your source menu has two levels of hierarchy, the top level menu links will appear in the Main links, and the children of the active link will appear in the Secondary links.', array('%main' => $menu_options[$main])),
|
||||
'#description' => t('Select the source for the Secondary links. An advanced option allows you to use the same source for both Main links (currently %main) and Secondary links: if your source menu has two levels of hierarchy, the top level menu links will appear in the Main links, and the children of the active link will appear in the Secondary links.', array('%main' => $main ? $menu_options[$main] : 'none')),
|
||||
);
|
||||
|
||||
return system_settings_form($form);
|
||||
|
|
|
@ -75,7 +75,15 @@ function theme_node_admin_overview($variables) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Generates the node type editing form.
|
||||
* Form constructor for the node type editing form.
|
||||
*
|
||||
* @param $type
|
||||
* (optional) The machine name of the node type when editing an existing node
|
||||
* type.
|
||||
*
|
||||
* @see node_type_form_validate()
|
||||
* @see node_type_form_submit()
|
||||
* @ingroup forms
|
||||
*/
|
||||
function node_type_form($form, &$form_state, $type = NULL) {
|
||||
if (!isset($type->type)) {
|
||||
|
@ -241,7 +249,9 @@ function _node_characters($length) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Validates the content type submission form generated by node_type_form().
|
||||
* Form validation handler for node_type_form().
|
||||
*
|
||||
* @see node_type_form_submit()
|
||||
*/
|
||||
function node_type_form_validate($form, &$form_state) {
|
||||
$type = new stdClass();
|
||||
|
@ -269,7 +279,9 @@ function node_type_form_validate($form, &$form_state) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Implements hook_form_submit().
|
||||
* Form submission handler for node_type_form().
|
||||
*
|
||||
* @see node_type_form_validate()
|
||||
*/
|
||||
function node_type_form_submit($form, &$form_state) {
|
||||
$op = isset($form_state['values']['op']) ? $form_state['values']['op'] : '';
|
||||
|
|
|
@ -758,7 +758,7 @@ function hook_node_validate($node, $form, &$form_state) {
|
|||
* properties.
|
||||
*
|
||||
* @param $node
|
||||
* The node being updated in response to a form submission.
|
||||
* The node object being updated in response to a form submission.
|
||||
* @param $form
|
||||
* The form being used to edit the node.
|
||||
* @param $form_state
|
||||
|
|
|
@ -1455,7 +1455,7 @@ function template_preprocess_node(&$variables) {
|
|||
$variables = array_merge((array) $node, $variables);
|
||||
|
||||
// Helpful $content variable for templates.
|
||||
$variables['content'] = array();
|
||||
$variables += array('content' => array());
|
||||
foreach (element_children($variables['elements']) as $key) {
|
||||
$variables['content'][$key] = $variables['elements'][$key];
|
||||
}
|
||||
|
|
|
@ -832,11 +832,14 @@ function overlay_render_region($region) {
|
|||
// on the final rendered page.
|
||||
$original_js = drupal_add_js();
|
||||
$original_css = drupal_add_css();
|
||||
$original_libraries = drupal_static('drupal_add_library');
|
||||
$js = &drupal_static('drupal_add_js');
|
||||
$css = &drupal_static('drupal_add_css');
|
||||
$libraries = &drupal_static('drupal_add_library');
|
||||
$markup = drupal_render_page($page);
|
||||
$js = $original_js;
|
||||
$css = $original_css;
|
||||
$libraries = $original_libraries;
|
||||
// Indicate that the main page content has not, in fact, been displayed, so
|
||||
// that future calls to drupal_render_page() will be able to render it
|
||||
// correctly.
|
||||
|
|
|
@ -947,8 +947,11 @@ function hook_menu_get_item_alter(&$router_item, $path, $original_map) {
|
|||
* called, the corresponding path components will be substituted for the
|
||||
* integers. That is, the integer 0 in an argument list will be replaced with
|
||||
* the first path component, integer 1 with the second, and so on (path
|
||||
* components are numbered starting from zero). This substitution feature allows
|
||||
* you to re-use a callback function for several different paths. For example:
|
||||
* components are numbered starting from zero). To pass an integer without it
|
||||
* being replaced with its respective path component, use the string value of
|
||||
* the integer (e.g., '1') as the argument value. This substitution feature
|
||||
* allows you to re-use a callback function for several different paths. For
|
||||
* example:
|
||||
* @code
|
||||
* function mymodule_menu() {
|
||||
* $items['abc/def'] = array(
|
||||
|
|
|
@ -532,12 +532,35 @@ function taxonomy_check_vocabulary_hierarchy($vocabulary, $changed_term) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Save a term object to the database.
|
||||
* Saves a term object to the database.
|
||||
*
|
||||
* @param $term
|
||||
* A term object.
|
||||
* The taxonomy term object with the following properties:
|
||||
* - vid: The ID of the vocabulary the term is assigned to.
|
||||
* - name: The name of the term.
|
||||
* - tid: (optional) The unique ID for the term being saved. If $term->tid is
|
||||
* empty or omitted, a new term will be inserted.
|
||||
* - description: (optional) The term's description.
|
||||
* - format: (optional) The text format for the term's description.
|
||||
* - weight: (optional) The weight of this term in relation to other terms
|
||||
* within the same vocabulary.
|
||||
* - parent: (optional) The parent term(s) for this term. This can be a single
|
||||
* term ID or an array of term IDs. A value of 0 means this term does not
|
||||
* have any parents. When omitting this variable during an update, the
|
||||
* existing hierarchy for the term remains unchanged.
|
||||
* - vocabulary_machine_name: (optional) The machine name of the vocabulary
|
||||
* the term is assigned to. If not given, this value will be set
|
||||
* automatically by loading the vocabulary based on $term->vid.
|
||||
* - original: (optional) The original taxonomy term object before any changes
|
||||
* were applied. When omitted, the unchanged taxonomy term object is
|
||||
* loaded from the database and stored in this property.
|
||||
* Since a taxonomy term is an entity, any fields contained in the term object
|
||||
* are saved alongside the term object.
|
||||
*
|
||||
* @return
|
||||
* Status constant indicating if term was inserted or updated.
|
||||
* Status constant indicating whether term was inserted (SAVED_NEW) or updated
|
||||
* (SAVED_UPDATED). When inserting a new term, $term->tid will contain the
|
||||
* term ID of the newly created term.
|
||||
*/
|
||||
function taxonomy_term_save($term) {
|
||||
// Prevent leading and trailing spaces in term names.
|
||||
|
@ -1092,7 +1115,8 @@ class TaxonomyVocabularyController extends DrupalDefaultEntityController {
|
|||
* this function.
|
||||
*
|
||||
* @return
|
||||
* An array of term objects, indexed by tid.
|
||||
* An array of term objects, indexed by tid. When no results are found, an
|
||||
* empty array is returned.
|
||||
*
|
||||
* @todo Remove $conditions in Drupal 8.
|
||||
*/
|
||||
|
|
|
@ -40,6 +40,7 @@ Disallow: /xmlrpc.php
|
|||
# Paths (clean URLs)
|
||||
Disallow: /admin/
|
||||
Disallow: /comment/reply/
|
||||
Disallow: /filter/tips/
|
||||
Disallow: /node/add/
|
||||
Disallow: /search/
|
||||
Disallow: /user/register/
|
||||
|
@ -49,6 +50,7 @@ Disallow: /user/logout/
|
|||
# Paths (no clean URLs)
|
||||
Disallow: /?q=admin/
|
||||
Disallow: /?q=comment/reply/
|
||||
Disallow: /?q=filter/tips/
|
||||
Disallow: /?q=node/add/
|
||||
Disallow: /?q=search/
|
||||
Disallow: /?q=user/password/
|
||||
|
|
|
@ -6,8 +6,8 @@ drupal_add_js(array('color' => array('logo' => theme_get_setting('logo', 'bartik
|
|||
$info = array(
|
||||
// Available colors and color labels used in theme.
|
||||
'fields' => array(
|
||||
'top' => t('Header top'),
|
||||
'bottom' => t('Header bottom'),
|
||||
'top' => t('Header background top'),
|
||||
'bottom' => t('Header background bottom'),
|
||||
'bg' => t('Main background'),
|
||||
'sidebar' => t('Sidebar background'),
|
||||
'sidebarborders' => t('Sidebar borders'),
|
||||
|
|
|
@ -376,10 +376,6 @@ if (empty($op) && update_access_allowed()) {
|
|||
// Set up theme system for the maintenance page.
|
||||
drupal_maintenance_theme();
|
||||
|
||||
// Rebuild the registry to ensure that removed hooks in modules do not result
|
||||
// in undefined function errors and that newly defined hooks are called.
|
||||
registry_rebuild();
|
||||
|
||||
// Check the update requirements for Drupal.
|
||||
update_check_requirements();
|
||||
|
||||
|
|
Loading…
Reference in New Issue