/* * 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'];
/** * function getAuthorExternalLinkSelector, used to display a list of external links already added by author * * @param int $id_course * @return string */ public static function getAuthorExternalLinkSelector($id_course) { $media_type = array(_LINK); $author_media = NodeEditing::getAuthorMedia($id_course, $media_type); $form = CDOMElement::create('form', 'id:select_external_link, class:editor_form'); $span_select = CDOMElement::create('div', 'id:span_select_external_link, class:editor_input'); $select = CDOMElement::create('select', 'id:jsid_select_external_links, size:10'); foreach ($author_media as $media) { $ada_filetype = Utilities::getFileHintFromADAFileType($media['tipo']); $value = "{$media['tipo']}|{$media['nome_file']}"; $option = CDOMElement::create('option'); $option->setAttribute('value', $value); $option->addChild(new CText("{$ada_filetype} {$media['nome_file']}")); $select->addChild($option); } $span_select->addChild($select); $span_input = CDOMElement::create('div', 'id:span_select_external_link_button, class:editor_input'); $input_button = CDOMElement::create('input_button'); $input_button->setAttribute('onclick', "addMultimedia(getFileDataFromSelect('jsid_select_external_links'));"); $input_button->setAttribute('value', translateFN("Aggiungi questo link")); $span_input->addChild($input_button); $form->addChild($span_select); $form->addChild($span_input); return $form; }
foreach ($providerAuthors as $author) { $authors[$author[0]] = $author[1]; } $availableLanguages = Translator::getSupportedLanguages(); $languages = array(); foreach ($availableLanguages as $language) { $languages[$language['id_lingua']] = $language['nome_lingua']; } $form = new CourseModelForm($authors, $languages); $form->fillWithPostData(); if ($form->isValid()) { $course = array('nome' => $_POST['nome'], 'titolo' => $_POST['titolo'], 'descr' => $_POST['descrizione'], 'd_create' => ts2dFN(time()), 'd_publish' => isset($_POST['data_pubblicazione']) ? $_POST['data_pubblicazione'] : null, 'id_autore' => $_POST['id_utente_autore'], 'id_nodo_toc' => $_POST['id_nodo_toc'], 'id_nodo_iniziale' => $_POST['id_nodo_iniziale'], 'media_path' => $_POST['media_path'], 'id_lingua' => $_POST['id_lingua'], 'static_mode' => $_POST['static_mode'], 'crediti' => $_POST['crediti'], 'duration_hours' => $_POST['duration_hours'], 'service_level' => $_POST['service_level']); $id_course = $dh->add_course($course); if (!AMA_DataHandler::isError($id_course)) { $node_data = array('id' => $id_course . '_' . $_POST['id_nodo_iniziale'], 'name' => $_POST['titolo'], 'type' => ADA_GROUP_TYPE, 'id_node_author' => $_POST['id_utente_autore'], 'id_nodo_parent' => null, 'parent_id' => null, 'text' => $_POST['descrizione'], 'id_course' => $id_course); $result = NodeEditing::createNode($node_data); if (AMA_DataHandler::isError($result)) { // } // add a row in common.servizio $service_dataAr = array('service_name' => $_POST['titolo'], 'service_description' => $_POST['descrizione'], 'service_level' => $_POST['service_level'], 'service_duration' => 0, 'service_min_meetings' => 0, 'service_max_meetings' => 0, 'service_meeting_duration' => 0); $id_service = $common_dh->add_service($service_dataAr); if (!AMA_DataHandler::isError($id_service)) { $tester_infoAr = $common_dh->get_tester_info_from_pointer($sess_selected_tester); if (!AMA_DataHandler::isError($tester_infoAr)) { $id_tester = $tester_infoAr[0]; $result = $common_dh->link_service_to_course($id_tester, $id_service, $id_course); if (AMA_DataHandler::isError($result)) { $errObj = new ADA_Error($result); } else { header('Location: list_courses.php');
foreach ($nodeList as $key) { if ($nodeObj->level <= $userObj->livello) { // print_r($key); $nodePostId = 'input_' . $key['id_child']; // node id for javascript $childNodeObj = read_node_from_DB($key['id_child']); if ($childNodeObj instanceof Node) { // saving new positions if (isset($_POST[$nodePostId])) { $nodeArray = $childNodeObj->object2arrayFN(); $nodeArray['position'] = $_POST[$nodePostId]; // it is a string as requested by NodeEditing::saveNode() $nodeArray['icon'] = $key['icon_child']; // it does not function: NodeEditing::saveNode(), lines 210-214 // $res = NodeEditing::saveNode($nodeArray); $res = NodeEditing::saveNodePosition($nodeArray); if ($res == true) { // read from here new Position $p = split(",", $_POST[$nodePostId]); $width = $p[2] - $p[0]; if ($width < 0) { $width *= -1; } $nodeChildPos = array($p[0], $p[1], 100, 100); } else { // code here $nodeChildPos = returnAdaNodePos($key['position_child'], $key['id_child']); } } else { $nodeChildPos = returnAdaNodePos($key['position_child'], $key['id_child']); }
* him there. */ if (strcmp($navigation_history->previousItem(), __FILE__) !== 0) { $_SESSION['page_to_load_on_cancel_editing'] = $navigation_history->previousPage(); } $need_to_unset_session = strcmp($navigation_history->previousItem(), __FILE__); if (!isset($_SESSION['sess_node_editing']['node_data']) || $need_to_unset_session !== 0) { if ($need_to_unset_session !== 0) { unset($_SESSION['sess_node_editing']); } $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;