Error message

You are browsing documentation for drupal 7.x, which is not supported anymore. Read the updated version of this page for drupal 11.x (the latest version).

function path_save

Save a path alias to the database.

Parameters

$path: An associative array containing the following keys:

  • source: The internal system path.
  • alias: The URL alias.
  • pid: (optional) Unique path alias identifier.
  • language: (optional) The language of the alias.
9 calls to path_save()
LocalePathFunctionalTest::testPathLanguageConfiguration in modules/locale/locale.test
Test if a language can be associated with a path alias.
PathLookupTest::testDrupalLookupPath in modules/simpletest/tests/path.test
Test that drupal_lookup_path() returns the correct path.
PathSaveTest::testDrupalSaveOriginalPath in modules/simpletest/tests/path.test
Tests that path_save() makes the original path available to modules.
path_admin_form_submit in modules/path/path.admin.inc
Form submission handler for path_admin_form().
path_node_insert in modules/path/path.module
Implements hook_node_insert().

... See full list

File

includes/path.inc, line 436

Code

function path_save (&$path) {
 $path += array(
 'language' => LANGUAGE_NONE ,
 );
 // Load the stored alias, if any.
 if (!empty($path['pid']) && !isset($path['original'])) {
 $path['original'] = path_load ($path['pid']);
 }
 if (empty($path['pid'])) {
 drupal_write_record ('url_alias', $path);
 module_invoke_all ('path_insert', $path);
 }
 else {
 drupal_write_record ('url_alias', $path, array(
 'pid',
 ));
 module_invoke_all ('path_update', $path);
 }
 // Clear internal properties.
 unset($path['original']);
 // Clear the static alias cache.
 drupal_clear_path_cache ($path['source']);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.