Drupal dodawanie węzła w module

Poniżej przykładowy hook w którym dodajemy węzeł określonego typu oraz jego tłumaczenie (jeśli chcemy obsługiwać wersje językowe). Funkcja nazwamodulu_user_insert jest hookiem wykonywanym przy tworzeniu konta użytkownika. Przykładowy kod po dodaniu użytkownika dodaje węzeł określonego typu oraz jego tłumaczenie.

function nazwamodulu_user_insert(&$edit, $account, $category) {
	$created_user_id = $edit['uid'];
	$created_user_name = $edit['name'];
	$created_user_firstname_lastname = $edit['field_imi_i_nazwisko']['und'][0]['value'];
	
	$node = new stdClass(); // Tworzymy nowy obiekt
	$node->type = "profil"; // określamy typ węzła
	node_object_prepare($node); // ustawiamy domyślne wartości
	
	$node->title = $created_user_firstname_lastname;//pole tytułu
	$node->language = 'pl';//język
	$node->status = 1;//status (czy opublikowany)
	$node->promote = 0;
	$node->sticky = 0;
	$node->uid = $edit['uid'];//autor (id usera)
	$node->field_user['und'][0]['uid'] = $edit['uid'];//referencja do pola użytkownika
	$node->field_czy_wy_wietla_w_grafiku_['und'][0]['value'] = 1;//pole typu boolean
	$node->field_rodzaj_pracownika['und'][0]['tid'] = 5;//pole typu select
	$node->workbench_moderation_state_new = 'published';//status (przy dodatkowym module workbench)
	
	if($node = node_submit($node)) { // przygotowanie do zapisu
		node_save($node); //zapis
		$node->tnid = $tnid = $node->nid;
		node_save($node); // Aktualizacja węzła - nid już istnieje w bazie danych
		
		// Tłumaczenie (en)
		$node = new stdClass();
		$node->type = 'profil';
		node_object_prepare($node); 
		$node->uid = $edit['uid']; 
		$node->language = 'en'; 
		$node->title = $created_user_firstname_lastname;
		$node->status = 1;
		$node->promote = 0;
		$node->sticky = 0;
		$node->uid = $edit['uid'];
		$node->field_user['und'][0]['uid'] = $edit['uid'];//referencja do pola użytkownika
		$node->field_czy_wy_wietla_w_grafiku_['und'][0]['value'] = 1;//pole typu boolean
		$node->field_rodzaj_pracownika['und'][0]['tid'] = 5;//pole typu select
		$node->workbench_moderation_state_new = 'published';
		$node->tnid = $tnid;
		node_save($node); 
	}
}