$node_to_edit = array('id' => $new_node, 'parent_id' => $default_parent_node, 'id_node_author' => $sess_id_user, 'level' => $nodeObj->level, 'order' => $nodeObj->order, 'version' => 0, 'creation_date' => $ymdhms, 'icon' => Utilities::getIconForNodeType($node_type), 'type' => $node_type, 'position' => '100,100,200,200', 'name' => '', 'title' => $nodeObj->title, 'bg_color' => '#FFFFFF', 'color' => '', 'correctness' => '', 'copyright' => ''); $head_form = NodeEditingViewer::getHeadForm($sess_id_user, $user_level, $user_type, $nodeObj, $new_node, $node_type); } else { if (!isset($id_course) && !isset($id_parent) && !isset($type)) { // qui il codice necessario a generare la pagina di aggiunta per il nodo // quando non vengono passati parametri } } } /* * Determina quali media l'utente può inserire in base al tipo di utente, al tipo di nodo ed all'operazione. */ if (!isset($node_type)) { $node_type = null; } $flags = PreferenceSelector::getPreferences($id_profile, $node_type, ADD_OPERATION, $ADA_ELEMENT_VIEWING_PREFERENCES); /* * Genera il form contenente l'editor */ /* * Verifica la pagina da cui l'utente proviene. * Se l'utente proviene da una pagina diversa da addnode.php e i dati relativi all'editing * del nodo sono presenti in sessione, si tratta di dati non salvati, quindi non dovrebbero * essere mostrati. Al momento faccio l'unset della sessione. * I dati relativi alla navigazione in ADA sono gestiti da un oggetto di navigazione mantenuto * nella variabile di sessione $sess_navigation_history. */ //$navigation_history = $_SESSION['sess_navigation_history']; $need_to_unset_session = strcmp($navigation_history->previousItem(), __FILE__) !== 0; if (!isset($_SESSION['sess_node_editing']['node_data']) || $need_to_unset_session) { if ($need_to_unset_session !== 0) {
} $media_found = array(); if (!isset($id_node)) { $id_node = null; } $node_to_edit = getNodeData($id_node); $media_found = NodeEditing::getMediaFromNodeText($node_to_edit['text']); $_SESSION['sess_node_editing']['media_in_db'] = serialize($media_found); } else { $node_to_edit = unserialize($_SESSION['sess_node_editing']['node_data']); unset($_SESSION['sess_node_editing']['node_data']); } /* * Ottiene le preferenze di visualizzazione per l'editor */ $flags = PreferenceSelector::getPreferences($id_profile, $node_to_edit['type'], EDIT_OPERATION, $ADA_ELEMENT_VIEWING_PREFERENCES); /* * Mostra l'editor */ // $data = NodeEditingViewer::getEditingForm($action, $id_course, $sess_id_course_instance, $sess_id_user, $node_to_edit, $flags); if (!isset($id_course)) { $id_course = null; } $form = NodeEditingViewer::getEditingForm($action, $id_course, $sess_id_course_instance, $sess_id_user, $node_to_edit, $flags); $status = translateFN("Modifica del nodo"); /* vito, 20 feb 2009 * usa i dati presenti nella sessione per mostrare alcune informazioni relative al nodo * che si sta editando */ $icon = CourseViewer::getClassNameForNodeType($node_to_edit['type']); $title = Utilities::getEditingFormTitleForNodeType($node_to_edit['type']);