function data_send_node() { // inizializzazione variabili global $debug; $data_ha = array(); $linkAr = array(); $res = ""; // preparazione array dati nodo $data_ha['id_node_author'] = $this->set_ha['id_author']; $data_ha['id'] = $this->set_ha['id_course'] . "_" . strtr($this->dati_nodo_ar[$this->livello]['ID'], "n: ", ""); if ($this->dati_nodo_ar[$this->livello]['SUPER'] == 'SELF') { $data_ha['parent_id'] = ''; // $this->dati_nodo_ar[$this->livello]['TEXT'] = ''; } elseif ($this->dati_nodo_ar[$this->livello]['SUPER'] == 'TOP') { $data_ha['parent_id'] = $this->set_ha['id_course'] . "_0"; } else { $data_ha['parent_id'] = $this->set_ha['id_course'] . "_" . $this->dati_nodo_ar[$this->livello]['SUPER']; } $data_ha['title'] = $this->html_prepare($this->dati_nodo_ar['TITLE']); $data_ha['creation_date'] = $this->dati_nodo_ar['DATE']; $data_ha['type'] = $this->dati_nodo_ar[$this->livello]['TYPE']; $data_ha['name'] = $this->html_prepare($this->dati_nodo_ar[$this->livello]['NAME']); //vito, 27 mar 2009: here we need to parse the text of the node in order to convert internal links //$data_ha['text'] = $this->html_prepare($this->dati_nodo_ar[$this->livello]['TEXT']) ; $prepared_text = $data_ha['text'] = $this->html_prepare($this->dati_nodo_ar[$this->livello]['TEXT']); // vito, 26 may 2009 if ($this->need_to_call_addslashes) { $pattern = '/<LINK TYPE=INTERNAL VALUE=\\\\"([0-9]+)\\\\">/'; } else { $pattern = '/<LINK TYPE=INTERNAL VALUE="([0-9]+)">/'; } $replacement = '<LINK TYPE="INTERNAL" VALUE="\\1">'; $data_ha['text'] = preg_replace($pattern, $replacement, $prepared_text); // preparazione array posizione nodo $_position = $this->dati_nodo_ar[$this->livello]['POSITION']; $positionAr = explode(',', $_position); @($data_ha['pos_x0'] = $positionAr[0]); @($data_ha['pos_y0'] = $positionAr[1]); @($data_ha['pos_x1'] = $positionAr[2]); @($data_ha['pos_y1'] = $positionAr[3]); // dati generali $data_ha['order'] = $this->dati_nodo_ar[$this->livello]['ORDER']; $data_ha['level'] = $this->dati_nodo_ar[$this->livello]['LEVEL']; $data_ha['version'] = $this->dati_nodo_ar[$this->livello]['VERSION']; $data_ha['n_contacts'] = "0"; $data_ha['icon'] = "node.gif"; // DEFAULT $data_ha['bgcolor'] = $this->html_prepare($this->dati_nodo_ar[$this->livello]['BGCOLOR']); $data_ha['color'] = $this->html_prepare($this->dati_nodo_ar[$this->livello]['COLOR']); $data_ha['correctness'] = $this->dati_nodo_ar[$this->livello]['CORRECTNESS']; $data_ha['copyright'] = $this->dati_nodo_ar[$this->livello]['COPYRIGHT']; // $data_ha['family'] = $this->dati_nodo_ar[$this->livello]['FAMILY']; $data_ha['family'] = 'default'; // preparazione array LINKS if (is_array(@$this->dati_nodo_ar[$this->livello]['LINKS'])) { // $linkAr = $this->dati_nodo_ar[$this->livello]['LINKS'] ; $linksAr = array(); if (count($this->dati_nodo_ar[$this->livello]['LINKS']) > 0) { for ($i = 1; $i <= count($this->dati_nodo_ar[$this->livello]['LINKS']); $i++) { // non utilizzato l'id del nodo che si sta processando // ma il dato proveniente da "NODEFROM" di "LINKS" // se il corso � rovinato potrebbero esserci dei problemi // quindi nascondiamo un po' di warnings @($linkAr[$i]['id_nodo'] = $this->set_ha['id_course'] . "_" . $this->dati_nodo_ar[$this->livello]['LINKS'][$i]['NODEFROM']); @($linkAr[$i]['id_nodo_to'] = $this->set_ha['id_course'] . "_" . $this->dati_nodo_ar[$this->livello]['LINKS'][$i]['NODETO']); @($linkAr[$i]['tipo'] = $this->dati_nodo_ar[$this->livello]['LINKS'][$i]['TYPE']); @($linkAr[$i]['stile'] = $this->dati_nodo_ar[$this->livello]['LINKS'][$i]['STYLE']); @($linkAr[$i]['significato'] = $this->dati_nodo_ar[$this->livello]['LINKS'][$i]['MEANING']); @($linkAr[$i]['azione'] = $this->dati_nodo_ar[$this->livello]['LINKS'][$i]['ACTION']); $linkAr[$i]['id_utente'] = $this->set_ha['id_author']; $linkAr[$i]['data_creazione'] = $this->dati_nodo_ar['DATE']; if (!empty($this->dati_nodo_ar[$this->livello]['LINKS'][$i]['LPOSITION'])) { $_position = $this->dati_nodo_ar[$this->livello]['LINKS'][$i]['LPOSITION']; $positionAr = explode(',', $_position); } else { $positionAr = array(0, 0, 100, 100); } $linkAr[$i]['posizione'] = $positionAr; // mydebug(__LINE__,__FILE__,$linkAr[$i]); } } } $data_ha['links_ar'] = $linkAr; // MEDIA non ancora implementato completamente // preparazione array MEDIA if (is_array(@$this->dati_nodo_ar[$this->livello]['MEDIA'])) { $mediaAr = array(); if (count($this->dati_nodo_ar[$this->livello]['MEDIA']) > 0) { for ($i = 1; $i <= count($this->dati_nodo_ar[$this->livello]['MEDIA']); $i++) { $mediaAr[$i]['tipo'] = $this->dati_nodo_ar[$this->livello]['MEDIA'][$i]['TYPE']; $mediaAr[$i]['copyright'] = $this->dati_nodo_ar[$this->livello]['MEDIA'][$i]['COPYRIGHT']; $mediaAr[$i]['nome_file'] = $this->dati_nodo_ar[$this->livello]['MEDIA'][$i]['FILENAME']; /* global $debug; $debug=1; mydebug(__LINE__,__FILE__,$mediaAr[$i]); */ } } $data_ha['resources_ar'] = $mediaAr; } // ACTIONS non ancora implementato $data_ha['actions_ar'] = ""; // creazione nuova istanza della classe AMA $dh = new AMA_DataHandler(); // inserimento dati nel database $res = $dh->add_node($data_ha); // gestione errori nell'inserimento dei dati del nodo nel database if (is_object($res) && stristr($res->message, 'Error')) { // print $res->message ; array_push($this->error, $res->message); } }