/* * crea il nuovo nodo */ unset($node_data['DataFCKeditor']); $nodePath = ''; $result = NodeEditing::createNode($node_data); if (AMA_DataHandler::isError($result)) { $errObj = new ADA_Error($result, translateFN('Errore nella creazione del nodo')); } else { $node_data['id'] = $result; } /* * se non si sono verificati errori, il nodo e' stato creato. * possono essere aggiunti eventuali media */ $result = NodeEditing::updateMediaAssociationsWithNode($node_data['id'], $node_data['id_node_author'], null, $current_media); if (AMA_DataHandler::isError($result)) { $errObj = new ADA_Error($result, translateFN("Errore nell'associazione dei media al nodo")); } unset($_SESSION['sess_node_editing']); header("Location: {$http_root_dir}/browsing/view.php?id_node={$node_data['id']}"); exit; } } } /* * vito, 24 apr 2009 * build the link for the Cancel operation, that when confirmed, redirects the user * to the page where he clicked Add Node. */ $link = $_SESSION['page_to_load_on_cancel_editing'];
$content_dataAr = unserialize($_SESSION['sess_node_editing']['node_data']); $current_media = NodeEditing::getMediaFromNodeText($content_dataAr['text']); /* * determino i media da disassociare e quelli da associare */ foreach ($previous_media as $media => $type) { if (isset($current_media[$media])) { unset($previous_media[$media]); unset($current_media[$media]); } } /* * se previous_media contiene degli elementi, sono elementi da disassociare dal nodo * se current_media contiene degli elementi, sono elementi da associare al nodo */ $result = NodeEditing::updateMediaAssociationsWithNode($_SESSION['sess_id_node'], $_SESSION['sess_id_user'], $previous_media, $current_media); if (AMA_DB::isError($result)) { $errObj = new ADA_Error($result, translateFN("Errore nell'associazione dei media con il nodo")); } /* * salvo le modifiche fatte al nodo */ unset($content_dataAr['DataFCKeditor']); $result = NodeEditing::saveNode($content_dataAr); if (AMA_DB::isError($result)) { $errObj = new ADA_Error($result, translateFN('Errore durante il salvataggio delle modifiche al nodo')); } unset($_SESSION['sess_node_editing']); /* notifying all students of the editing * we should verify: * - that the platform allows for brodcasting the news