do not display link // This setting should be moved to the platform configuration page in time... $multi_level_learnpath = true; /* ============================================================================== MAIN CODE ============================================================================== */ if ($from_learnpath == 'yes') { //start from clear every time in LearnPath Builder $_SESSION['addedresource'] = null; $_SESSION['addedresourceid'] = null; $_SESSION['addedresourceassigned'] = null; unset ($_SESSION['addedresource']); unset ($_SESSION['addedresourceid']); unset ($_SESSION['addedresourceassigned']); } // Process a new chapter? if (!empty ($_POST['add_chapter']) && !empty ($_POST['title'])) { $title = $_POST['title']; $description = ''; if (!empty ($_POST['description'])) { $description = $_POST['description']; } // get max display_order so far in this parent chapter $sql = "SELECT MAX(display_order) FROM $tbl_learnpath_chapter WHERE learnpath_id = $learnpath_id "." AND parent_chapter_id = $chapter_id"; $res = Database::query($sql); $row = Database::fetch_array($res); $max_temp = $row[0]; $sql = "SELECT MAX(display_order) FROM $tbl_learnpath_item WHERE "." chapter_id = $chapter_id"; $res = Database::query($sql); $row = Database::fetch_array($res); $max_temp2 = $row[0]; if ($max_temp2 > $max_temp) { $order = $max_temp2 +1; } else { $order = $max_temp +1; } $sql = "INSERT INTO $tbl_learnpath_chapter "."(learnpath_id,chapter_name,chapter_description,parent_chapter_id,display_order) "." VALUES "."($learnpath_id, '$title', '$description', $chapter_id, $order )"; $res = Database::query($sql); if ($res !== false) { $title = ''; $description = ''; } } // This if when a external link is submitted if (!empty ($_POST['external_link_submit'])) { $add = true; if ($add_2_links != "niet toevoegen") { // add external link to the links table. $pos = strpos($external_link, 'ttp:'); if ($pos == '') { $external_link = 'http://'.$external_link; } $sql = "INSERT INTO $link_table (url, title, category_id) VALUES ('$external_link','$external_link','$add_2_links')"; $result = Database::query($sql); $addedresource[] = "Link"; $addedresourceid[] = Database::insert_id(); $_SESSION['addedresource'] = $addedresource; $_SESSION['addedresourceid'] = $addedresourceid; } else { // do not add external link to the links table $addedresource[] = "Externallink"; $addedresourceid[] = $external_link; $_SESSION['addedresource'] = $addedresource; $_SESSION['addedresourceid'] = $addedresourceid; } } // loading the session variables into local array $addedresource = $_SESSION['addedresource']; $addedresourceid = $_SESSION['addedresourceid']; // This is when a resource was added to the session if ($add) { // adding the new variable to the local array if (empty ($_POST['external_link_submit'])) { //that case is already arranged, see upwards $addedresource[] = $content; $addedresourceid[] = $add; } $addedresourceassigned[] = 0; // loading the local array into the session variable $_SESSION['addedresource'] = $addedresource; $_SESSION['addedresourceid'] = $addedresourceid; //--------------------------------------- //we assign to chapters immediately ! //--------------------------------------- $resource_added = false; if ($from_learnpath == 'yes') { $i = 0; //calculating the last order of the items of this chapter $sql = "SELECT MAX(display_order) FROM $tbl_learnpath_item WHERE chapter_id=$chapter_id"; $result = Database::query($sql); if(Database::num_rows($result)==0){ $lastorder_item = 0; }else{ $row = Database::fetch_array($result); $lastorder_item = ($row[0]); } $sql = "SELECT MAX(display_order) FROM $tbl_learnpath_chapter WHERE parent_chapter_id=$chapter_id"; $result = Database::query($sql); if(Database::num_rows($result)==0){ $lastorder_chapter = 0; }else{ $row = Database::fetch_array($result); $lastorder_chapter = ($row[0]); } $lastorder = ($lastorder_chapter>$lastorder_item?$lastorder_chapter+1:$lastorder_item+1); foreach ($addedresource as $addedresource_item) { // in the case we added a chapter, add this into the chapters list with the correct parent_id if ($addedresource_item == "Chap") { $sql = "INSERT INTO $tbl_learnpath_chapter ("."'learnpath_id','chapter_name','chapter_description','parent_chapter_id','display_order'".") VALUES (".$learnpath_id.",'".$learnpath_chapter_name."','".$learnpath_chapter_description."',".$chapter_id.",".$lastorder.")"; Database::query($sql); } if (!$addedresourceassigned[$i]) { //not to assign it twice if ($addedresource_item == "Ass") { $addedresource_item = "Assignments"; } if ($addedresource_item == "Drop") { $addedresource_item = "Dropbox"; } if ($addedresource_item == "Intro") { $addedresource_item = "Introduction_text"; } if ($addedresource_item == "Course_desc") { $addedresource_item = "Course_description"; } if ($addedresource_item == "Group") { $addedresource_item = "Groups"; } if ($addedresource_item == "User") { $addedresource_item = "Users"; } if ($target == '') { $target = '_self'; } if ($addedresource_item == 'Link') { $addedresource_item .= ' '.$target; } $sql = "INSERT INTO $tbl_learnpath_item (id, chapter_id, item_type, item_id, display_order) VALUES ( '$autoid', '$chapter_id', '$addedresource_item','$addedresourceid[$i]','".$lastorder."')"; $result = Database::query($sql); $addedresourceassigned[$i] = 1; $resource_added = true; } $i ++; $lastorder ++; } //$_SESSION['addedresource']=null; //$_SESSION['addedresourceid']=null; // cleaning up the session once again $_SESSION['addedresource'] = null; $_SESSION['addedresourceid'] = null; $_SESSION['addedresourceassigned'] = null; unset ($_SESSION['addedresource']); unset ($_SESSION['addedresourceid']); unset ($_SESSION['addedresourceassigned']); } } /* ============================================================================== BREADCRUMBS This part is to allow going back to the tool where you came from in a previous version I used the table tool_list, but since the forum can access the resource_linker from two different pages (newtopic.php and editpost.php) and this is different from the link field in tool_list, I decide to hardcode this stuff here. By doing this, you can easily control which pages can access the toollinker and which not. ============================================================================== */ if ($_GET["source_id"]) { switch ($_GET["source_id"]) { case "1" : // coming from Agenda if ($action == "edit") { $url = "../calendar/agenda.php?action=edit&id=49&originalresource=$originalresource"; } elseif ($action == "add") { $url = "../calendar/agenda.php?action=add&originalresource=$originalresource"; } else { $url = "../calendar/agenda.php?action=add"; } $originaltoolname = get_lang("Agenda"); $breadcrumbelement = array ("url" => $url, "name" => $originaltoolname); session_unregister('from_learnpath'); unset ($from_learnpath); break; case "2" : // coming from forum: new topic $url = "../phpbb/newtopic.php?forum=$source_forum&md5=$md5"; $originaltoolname = get_lang("ForumAddNewTopic"); $breadcrumbelement = array ("url" => $url, "name" => $originaltoolname); session_unregister('from_learnpath'); unset ($from_learnpath); break; case "3" : // coming from forum: edit topic $url = "../phpbb/editpost.php?post_id=$post_id&topic=$topic&forum=$forum&md5=$md5&originalresource=no"; $originaltoolname = get_lang("ForumEditTopic"); $breadcrumbelement = array ("url" => $url, "name" => $originaltoolname); session_unregister('from_learnpath'); unset ($from_learnpath); break; case "4" : // coming from exercises: edit topic $url = "../exercice/admin.php?modifyAnswers=$modifyAnswers"; $originaltoolname = get_lang("ExerciseAnswers"); $breadcrumbelement = array ("url" => $url, "name" => $originaltoolname); session_unregister('from_learnpath'); unset ($from_learnpath); break; case "5" : // coming from learning path $from_learnpath = 'yes'; Session::write('from_learnpath',$from_learnpath); break; /*************************************** end add Frederik.Vermeire@pandora.be *********************************/ } // We do not come from the learning path. We store the name of the tool & url in a session. if ($from_learnpath != 'yes') { if (!$_SESSION["origintoolurl"] OR $_SESSION["origintoolurl"]<>$interbreadcrumb["url"]) { $_SESSION["origintoolurl"] = $breadcrumbelement["url"]; $_SESSION["origintoolname"] = $breadcrumbelement["name"]; $interbreadcrumb = ""; } } } // This part of the code is the actual breadcrumb mechanism. If we do not come from the learning path we use // the information from the session. Else we use the information of the learningpath itself. if ($from_learnpath != 'yes') { $nameTools = get_lang('AddResource'); $interbreadcrumb[] = array ("url" => $_SESSION["origintoolurl"], "name" => $_SESSION["origintoolname"]); } else { $learnpath_select_query = " SELECT * FROM $tbl_learnpath_main WHERE learnpath_id=$learnpath_id"; $sql_result = Database::query($learnpath_select_query); $therow = Database::fetch_array($sql_result); $learnpath_chapter_query = " SELECT * FROM $tbl_learnpath_chapter WHERE (learnpath_id = '$learnpath_id' and id = '$chapter_id')"; $sql_result = Database::query($learnpath_chapter_query); $therow2 = Database::fetch_array($sql_result); $from_learnpath = 'yes'; session_register('from_learnpath'); $interbreadcrumb[] = array ("url" => "../scorm/scormdocument.php", "name" => get_lang('LearningPath')); $interbreadcrumb[] = array ("url" => "../learnpath/learnpath_handler.php?learnpath_id=$learnpath_id", "name" => "{$therow['learnpath_name']}"); $interbreadcrumb[] = array ("url" => api_get_self()."?action=$action&learnpath_id=$learnpath_id&chapter_id=$chapter_id&originalresource=no", "name" => "{$therow2['chapter_name']}"); } $htmlHeadXtra[] = ''; Display :: display_header($nameTools); echo "

".$nameTools; if ($from_learnpath == 'yes') { echo get_lang("AddResource")." - {$therow2['chapter_name']}"; } echo "

"; // we retrieve the tools that are active. // We use this to check which resources a student may add (only the modules that are active) // see http://www.dokeos.com/forum/viewtopic.php?t=4858 $active_modules=array(); $tool_table = Database::get_course_table(TABLE_TOOL_LIST); $sql_select_active="SELECT * FROM $tool_table WHERE visibility='1'"; $result_select_active=Database::query($sql_select_active); while ($row=Database::fetch_array($result_select_active)) { $active_modules[]=$row['name']; } ?>
"; echo ""; echo ""; } ?>
".get_lang('Document').""; ?>
".get_lang('Agenda').""; ?>
".get_lang('AdValvas').""; ?>
".get_lang('Forum').""; ?>
".get_lang('Link').""; ?>
".get_lang('Exercise').""; ?>
".get_lang('Chapter').""; ?>
".get_lang('Document').""; ?>
".get_lang('Exercise').""; ?>
".get_lang('Link').""; ?>
".get_lang('Forum').""; ?>
".get_lang('Agenda').""; ?>
".get_lang('AdValvas').""; ?>
".get_lang('CourseDescription').""; ?>
".get_lang('IntroductionText').""; ?>
 
".get_lang('Dropbox').""; ?>
".get_lang('Assignments').""; ?>
".get_lang('Groups').""; ?>
".get_lang('Users').""; ?>
 
".get_lang('ExternalLink').""; ?>
 
".get_lang('ResourcesAdded')." ("; echo count($addedresource); echo ")
".get_lang('ShowDelete').""; echo "
 
"; } else { echo "
"; } ?>
 
"; } //echo "
"; // Agenda items --> if ($content == "Agenda") { $TABLEAGENDA = Database::get_course_table(TABLE_AGENDA); $TABLE_ITEM_PROPERTY = Database::get_course_table(TABLE_ITEM_PROPERTY); $sql="SELECT agenda.*, toolitemproperties.* FROM ".$TABLEAGENDA." agenda, ".$TABLE_ITEM_PROPERTY." toolitemproperties WHERE agenda.id = toolitemproperties.ref AND toolitemproperties.tool='".TOOL_CALENDAR_EVENT."' AND (toolitemproperties.to_group_id='0' OR toolitemproperties.to_group_id IS NULL) AND toolitemproperties.visibility='1'"; $result = Database::query($sql); while ($myrow = Database::fetch_array($result)) { echo "
"; echo "agenda"; echo api_convert_and_format_date($myrow["start_date"], null, date_default_timezone_get())."
"; echo "".$myrow["title"]."
"; echo $myrow["content"]."
"; showorhide_addresourcelink($content, $myrow["id"]); echo "

"; } } // end if ($_GET["resource"]=="Agenda") /* ----------------------------------------------------------- chapter ----------------------------------------------------------- */ if ($content == "chapter") { echo ''."\n"; echo ' '."\n"; echo ' '."\n"; echo ' '."\n"; echo '
'.get_lang('Title').'
'.get_lang('Description').'
'."\n"; //echo "
"; } /* ----------------------------------------------------------- Documents ----------------------------------------------------------- */ // We show the documents in the following cases // 1. the link to add documenets in the resource linker was clicked // 2. we come to the resource linker for the first time (documents = default). In this case it can only be shown if // a. one is a teacher (documents can be shown even if the tool is inactive) // b. one is a student AND the documents tool is active. Student cannot add documents if the documents tool is inactive (teacher can do this) if ($content == "Document" OR (empty($content) AND (api_is_allowed_to_edit() OR in_array(TOOL_DOCUMENT,$active_modules))) AND !$_GET['showresources']) { // setting variables for file locations $baseServDir = $_configuration['root_sys']; $courseDir = $_course['path']."/document"; $baseWorkDir = $baseServDir.$courseDir; // showing the link to move one folder up (when not in the root folder) show_folder_up(); // showing the blue bar with the path in it when we are not in the root if (get_levels($folder)) { echo "
"; echo "directory"; echo $folder."
"; } // showing the documents and subfolders of the folder we are in. show_documents($folder); //echo "
"; } /* ----------------------------------------------------------- Ad Valvas ----------------------------------------------------------- */ if ($content == "Ad_Valvas") { $tbl_announcement = Database :: get_course_table(TABLE_ANNOUNCEMENT); $sql = "SELECT * FROM ".$tbl_announcement." a, ".$item_property_table." i WHERE i.tool = '".TOOL_ANNOUNCEMENT."' AND a.id=i.ref AND i.visibility='1' AND (i.to_group_id = 0 OR i.to_group_id IS NULL) AND i.to_user_id IS NULL ORDER BY a.display_order ASC"; $result = Database::query($sql); while ($myrow = Database::fetch_array($result)) { echo "
"; echo "advalvas"; echo api_convert_and_format_date($myrow["end_date"], DATE_FORMAT_LONG, date_default_timezone_get()); echo "
"; echo $myrow["title"]."
"; showorhide_addresourcelink($content, $myrow["id"]); echo "
"; } } /* ----------------------------------------------------------- Forums ----------------------------------------------------------- */ if ($content == "Forum") { $TBL_FORUMS = Database::get_course_table(TABLE_FORUM); $TBL_CATAGORIES = Database::get_course_table(TABLE_FORUM_CATEGORY); $TBL_FORUMTOPICS = Database::get_course_table(TABLE_FORUM_POST); $tbl_posts = Database::get_course_table(TABLE_FORUM_POST); $tbl_posts_text = Database::get_course_table(TOOL_FORUM_POST_TEXT_TABLE); echo ""; // displaying the categories and the forums if (!$forum and !$thread) { $sql = "SELECT * FROM ".$TBL_FORUMS." forums, ".$TBL_CATAGORIES." categories WHERE forums.cat_id=categories.cat_id ORDER BY forums.cat_id DESC"; $result = Database::query($sql); while ($myrow = Database::fetch_array($result)) { if ($myrow["cat_title"] !== $old_cat_title) { echo ""; } $old_cat_title = $myrow["cat_title"]; echo ""; } } //displaying all the threads of one forum if ($forum) { // displaying the category title $sql = "SELECT * FROM ".$TBL_CATAGORIES." WHERE cat_id=$category"; $result = Database::query($sql); $myrow = Database::fetch_array($result); echo ""; // displaying the forum title $sql = "SELECT * FROM ".$TBL_FORUMS." forums, ".$TBL_FORUMTOPICS." topics WHERE forums.forum_id=topics.forum_id"; $result = Database::query($sql); $myrow = Database::fetch_array($result); echo ""; if (!$thread) { // displaying all the threads of this forum $sql = "SELECT * FROM ".$TBL_FORUMTOPICS." WHERE forum_id=$forum"; $result = Database::query($sql); while ($myrow = Database::fetch_array($result)) { echo ""; } } else { // displaying all the replies $sql = "SELECT * FROM ".$tbl_posts." post, ".$tbl_posts_text." post_text WHERE post_text.post_id=post.post_id and post.topic_id=$thread ORDER BY post_text.post_id ASC"; $result = Database::query($sql); while ($myrow = Database::fetch_array($result)) { echo ""; echo ""; } } } echo "
".$myrow["cat_title"]."
".$myrow["forum_name"].""; showorhide_addresourcelink("Forum", $myrow["forum_id"]); echo "
".$myrow["cat_title"]."
".$myrow["forum_name"]."
".$myrow["topic_title"]." (".$myrow["prenom"]." ".$myrow["nom"].")"; showorhide_addresourcelink("Thread", $myrow["topic_id"]); echo "
".$myrow["post_title"]."
"; echo $myrow["post_text"]."
"; showorhide_addresourcelink("Post", $myrow["post_id"]); echo "

"; } /* ----------------------------------------------------------- Links ----------------------------------------------------------- */ if ($content == "Link") { // including the links language file include ("../lang/$language/link.inc.php"); $tbl_categories = Database::get_course_table(TABLE_LINK_CATEGORY); if (($learnpath_id != '') and ($content == 'Link')) { echo "
"; echo "
".get_lang('LinkTarget')." :
"; } // showing the links that are in the root (having no category) $sql = "SELECT * FROM ".$link_table." l, ".$item_property_table." ip WHERE (l.category_id=0 or l.category_id IS NULL) AND ip.tool = '".TOOL_LINK."' AND l.id=ip.ref AND ip.visibility='1'"; $result = Database::query($sql); if (Database::num_rows($result) > 0) { echo "
".get_lang('NoCategory')."
"; while ($myrow = Database::fetch_array($result)) { echo "".$myrow["title"]; echo "
"; showorhide_addresourcelink($content, $myrow["id"]); echo "

"; } } // showing the categories and the links in it. $sqlcategories = "SELECT * FROM ".$tbl_categories." ORDER by display_order DESC"; $resultcategories = Database::query($sqlcategories) or die; while ($myrow = @ Database::fetch_array($resultcategories)) { $sql_links = "SELECT * FROM ".$link_table." l, ".$item_property_table." ip WHERE l.category_id='".$myrow["id"]."' AND ip.tool = '".TOOL_LINK."' AND l.id=ip.ref AND ip.visibility='1' ORDER BY l.display_order DESC"; echo "
".$myrow["category_title"]."
"; $result_links = Database::query($sql_links); while ($myrow = Database::fetch_array($result_links)) { echo "".$myrow["title"]; echo "
"; showorhide_addresourcelink($content, $myrow["id"]); echo "

"; } } } /* ----------------------------------------------------------- Exercise ----------------------------------------------------------- */ if (($content == "Exercise") or ($content == "HotPotatoes")) { $TBL_EXERCICES = Database::get_course_table(TABLE_QUIZ_TEST); $result = Database::query("SELECT * FROM ".$TBL_EXERCICES." WHERE active='1' ORDER BY id ASC"); while ($myrow = Database::fetch_array($result)) { echo "".$myrow["title"]."
"; showorhide_addresourcelink($content, $myrow["id"]); echo "

"; } if ($from_learnpath == 'yes') { $uploadPath = "/HotPotatoes_files"; $TBL_DOCUMENT = Database::get_course_table(TABLE_DOCUMENT); $documentPath = api_get_path(SYS_COURSE_PATH).$_course['path'].'/document'; $sql = "SELECT * FROM ".$TBL_DOCUMENT." WHERE (path LIKE '%htm%' OR path LIKE '%html%') AND path LIKE '".$uploadPath."/%/%' ORDER BY id ASC"; $result = Database::query($sql); while ($myrow = Database::fetch_array($result)) { $path = $myrow["path"]; echo "".GetQuizName($path, $documentPath)."
"; showorhide_addresourcelink("HotPotatoes", $myrow["id"]); echo "

"; } } } /* ----------------------------------------------------------- External Links ----------------------------------------------------------- */ if ($content == "Externallink") { ?>
"; } ?>
:  
".get_lang('LinkTarget')." :
 
   
 
".get_lang('AddAssignmentPage').""; } /* ----------------------------------------------------------- Dropbox ----------------------------------------------------------- */ if ($content == "Dropbox") { echo "".get_lang('DropboxAdd').""; } /* ----------------------------------------------------------- Introduction text ----------------------------------------------------------- */ if ($content == "Introduction_text") { echo "".get_lang('IntroductionTextAdd').""; } /* ----------------------------------------------------------- Course description ----------------------------------------------------------- */ if ($content == "Course_description") { echo "".get_lang('CourseDescriptionAdd').""; } /* ----------------------------------------------------------- Groups ----------------------------------------------------------- */ if ($content == "Groups") { echo "".get_lang('$GroupsAdd').""; } /* ----------------------------------------------------------- Users ----------------------------------------------------------- */ if ($content == "Users") { echo "".get_lang('UsersAdd').""; } if ($showresources) { //echo "

".get_lang('ResourceAdded')."

"; display_resources(1); } echo "
"; /* FOOTER */ Display :: display_footer(); ?>