$path_element = array_shift($pathAr); $parent_node_id = $path_element[0]; $nodeObjTmp = read_node_from_DB($parent_node_id); $parent_node_type = $nodeObjTmp->type; } } if ($id_toc == $parent_node_id) { $message = urlencode(translateFN("Non è possibile pubblicare questa nota.")); // header("Location: " . $http_root_dir . "/browsing/view.php?id_node=$id_node&msg=$message"); } $node_ha['parent_id'] = $parent_node_id; $node_ha['type'] = ADA_LEAF_TYPE; $node_ha['id_instance'] = ""; $res = $dh->_edit_node($node_ha); //$GLOBALS['debug']=1; mydebug(__LINE__,__FILE__,$res); $GLOBALS['debug']=0; if (!AMA_datahandler::isError($res)) { $message = urlencode(translateFN("Nota pubblicata nel corso")); header("Location: " . $http_root_dir . "/browsing/view.php?cachemode=updatecache&id_node={$id_node}&msg={$message}"); } else { $authoObj = new ADAAuthor($course_author_id); $author_name = $authoObj->username; $destAr = array($user_name); /*$tutor_id = $dh->course_instance_tutor_get($sess_id_course_instance); $tutor = $dh->get_author($tutor_id); $tutor_uname = $tutor['username'];*/ $mh = new MessageHandler(); $message_ha['destinatari'] = $destAr; $message_ha['priorita'] = 1; $message_ha['data_ora'] = "now"; $message_ha['titolo'] = translateFN("Nodo pubblicato nel corso"); $message_ha['testo'] = translateFN("Il tutor della classe ha ritenuto di intereesse per tutti la nota");
function class_explode_nodes_iterativeFN($depth, $id_parent, $id_profile, $order, $expand = 1) { // this version is intended for tutor or author use only // returns an array $sess_id_course_instance = $_SESSION['sess_id_course_instance']; $sess_id_user = $_SESSION['sess_id_user']; $sess_id_course = $_SESSION['sess_id_course']; $sess_id_course_instance = $_SESSION['sess_id_course_instance']; $sess_id_node = $_SESSION['sess_id_node']; $id_course = $GLOBALS['id_course']; $dh = $GLOBALS['dh']; $debug = $GLOBALS['debug']; $hide_visits = $GLOBALS['hide_visits']; $tot_notes = 0; $childnumber = 0; $indexAr = array(); $out_fields_ar = array('nome', 'tipo'); $clause = ""; $childrenAr = $dh->find_course_nodes_list($out_fields_ar, $clause, $sess_id_course); $childrenAr = masort($childrenAr, 1); // il campo 1 �il nome del nodo foreach ($childrenAr as $nodeHa) { $index_item = ""; $id_child = $nodeHa[0]; if (!empty($id_child)) { $childnumber++; $child_dataHa = $dh->get_node_info($id_child); $node_instance = $child_dataHa['instance']; $id_node_parent = $child_dataHa['parent_id']; $node_keywords = $child_dataHa['title']; $parent_dataHa = $dh->get_node_info($id_node_parent); if (!AMA_datahandler::isError($parent_dataHa) && $parent_dataHa['type'] >= ADA_STANDARD_EXERCISE_TYPE) { $node_type = 'answer'; } else { $node_type = $child_dataHa['type']; } switch ($node_type) { // exercises? case 'answer': break; case ADA_LEAF_TYPE: //node $alt = translateFN("Nodo inferiore"); $icon = "_nodo.png"; if (!isset($hide_visits) or $hide_visits == 0) { $visit_count = User::is_visited_by_userFN($id_child, $sess_id_course_instance, $sess_id_user); } if (empty($visit_count)) { $index_item = "<img name=\"nodo\" alt=\"{$alt}\" src=\"img/{$icon}\"> <b><a href=view.php?id_node=" . $id_child . ">" . $child_dataHa['name'] . "</a></b>\n"; } else { $index_item = "<img name=\"nodo\" alt=\"{$alt}\" src=\"img/{$icon}\"> <a href=view.php?id_node=" . $id_child . ">" . $child_dataHa['name'] . "</a> ({$visit_count})\n"; } // has user bookmarked this node? $id_bk = Bookmark::is_node_bookmarkedFN($sess_id_user, $id_child); if ($id_bk) { $index_item .= " <a href=\"bookmarks.php?op=zoom&id_bk={$id_bk}\"><img name=\"bookmark\" alt=\"bookmark\" src=\"img/check.png\" border=\"0\"></a>"; } break; case ADA_GROUP_TYPE: //group $alt = translateFN("Approfondimento"); $icon = "_gruppo.png"; if (!isset($hide_visits) or $hide_visits == 0) { $visit_count = User::is_visited_by_userFN($id_child, $sess_id_course_instance, $sess_id_user); } if (empty($visit_count)) { $index_item .= "<img name=\"nodo\" alt={$alt} src=\"img/{$icon}\"> <b><a href=view.php?id_node=" . $id_child . ">" . $child_dataHa['name'] . "</a></b>\n"; } else { $index_item .= "<img name=\"nodo\" alt={$alt} src=\"img/{$icon}\"> <a href=view.php?id_node=" . $id_child . ">" . $child_dataHa['name'] . "</a>({$visit_count})"; } // is user visiting this node? if ($id_child == $sess_id_node) { $index_item .= " <img name=\"attuale\" alt=\"attuale\" src=\"img/_anchor.png\"> "; } // has user bookmarked this node? $id_bk = Bookmark::is_node_bookmarkedFN($sess_id_user, $id_child); if ($id_bk) { $index_item .= "<a href=\"bookmarks.php?op=zoom&id_bk={$id_bk}\"><img name=\"bookmark\" alt=\"bookmark\" src=\"img/check.png\" border=\"0\"></a> "; } break; case ADA_NOTE_TYPE: // note added by users // note added by users case ADA_PRIVATE_NOTE_TYPE: // private note added by users $index_item = ""; break; default: // ? $index_item = ""; break; } // end case } // end if if (!empty($index_item)) { $indexAr[] = $index_item; } } // end foreach return $indexAr; }
// messages $mh = MessageHandler::instance(MultiPort::getDSN($sess_selected_tester)); $sort_field = 'data_ora desc'; $msgs_ha = $mh->get_sent_messages($id_student, ADA_MSG_SIMPLE, array('id_mittente', 'data_ora'), $sort_field); if (AMA_DataHandler::isError($msgs_ha)) { $user_message_count = '-'; } else { $user_message_count = count($msgs_ha); } $history .= translateFN('Messaggi inviati:') . '<strong>' . $user_message_count . '</strong><br />'; break; case "summary": // activity index // added notes in forum $sub_courses = $dh->get_subscription($id_student, $sess_id_course_instance); if (!AMA_datahandler::isError($sub_courses) && $sub_courses['tipo'] == ADA_STATUS_SUBSCRIBED) { $out_fields_ar = array('nome', 'titolo', 'id_istanza', 'data_creazione'); $clause = "TIPO = " . ADA_NOTE_TYPE . " AND ID_UTENTE = {$id_student}"; $clause .= " AND ID_ISTANZA = " . $sess_id_course_instance; $nodes = $dh->find_course_nodes_list($out_fields_ar, $clause, $sess_id_course); $added_nodes_count = count($nodes); $added_notes = $added_nodes_count; } else { $added_notes = '-'; } // we should read messages from log tables.... // messages $mh = MessageHandler::instance(MultiPort::getDSN($sess_selected_tester)); $sort_field = 'data_ora desc'; $msgs_ha = $mh->get_sent_messages($id_student, ADA_MSG_SIMPLE, array('id_mittente', 'data_ora'), $sort_field); if (AMA_DataHandler::isError($msgs_ha)) {