category-less link is always visible. * * @author Patrick Cool, main author, completely rewritten * @author Rene Haentjens, added CSV file import (October 2004) * @package dokeos.link * @todo improve organisation, tables should come from database library ============================================================================== */ /* ============================================================================== INIT SECTION ============================================================================== */ // name of the language file that needs to be included $language_file = array('link','admin'); // including libraries require_once "../inc/global.inc.php"; require_once api_get_path(LIBRARY_PATH).'events.lib.inc.php'; require_once "linkfunctions.php"; $this_section=SECTION_COURSES; api_protect_course_script(); $htmlHeadXtra[] = ''; //jQuery $htmlHeadXtra[] = ''; // @todo change the $_REQUEST into $_POST or $_GET // @todo remove this code $link_submitted = (isset($_POST['submitLink'])?true:false); $category_submitted = (isset($_POST['submitCategory'])?true:false); $urlview = (!empty($_GET['urlview'])?$_GET['urlview']:''); $submitImport = (!empty($_POST['submitImport'])?$_POST['submitImport']:''); $down = (!empty($_GET['down'])?$_GET['down']:''); $up = (!empty($_GET['up'])?$_GET['up']:''); $catmove = (!empty($_GET['catmove'])?$_GET['catmove']:''); $editlink = (!empty($_REQUEST['editlink'])?$_REQUEST['editlink']:''); $id = (!empty($_REQUEST['id'])?$_REQUEST['id']:''); $urllink = (!empty($_REQUEST['urllink'])?$_REQUEST['urllink']:''); $title = (!empty($_REQUEST['title'])?$_REQUEST['title']:''); $description = (!empty($_REQUEST['description'])?$_REQUEST['description']:''); $selectcategory = (!empty($_REQUEST['selectcategory'])?$_REQUEST['selectcategory']:''); $submitLink = (isset($_REQUEST['submitLink'])?true : false); $action = (!empty($_REQUEST['action'])?$_REQUEST['action']:''); $category_title = (!empty($_REQUEST['category_title'])?$_REQUEST['category_title']:''); $submitCategory = isset($_POST['submitCategory'])?true:false; $nameTools = get_lang('Links'); if (isset($_GET['action']) && $_GET['action']=='addlink') { $nameTools = ''; $interbreadcrumb[] = array ('url' => 'link.php', 'name' => get_lang('Links')); $interbreadcrumb[] = array ('url' => 'link.php?action=addlink', 'name' => get_lang('AddLink')); } if (isset($_GET['action']) && $_GET['action']=='addcategory') { $nameTools = ''; $interbreadcrumb[] = array ('url' => 'link.php', 'name' => get_lang('Links')); $interbreadcrumb[] = array ('url' => 'link.php?action=addcategory', 'name' => get_lang('AddCategory')); } if (isset($_GET['action']) && $_GET['action']=='editlink') { $nameTools = ''; $interbreadcrumb[] = array ('url' => 'link.php', 'name' => get_lang('Links')); $interbreadcrumb[] = array ('url' => '#', 'name' => get_lang('EditLink')); } // Database Table definitions $tbl_link = Database::get_course_table(TABLE_LINK); $tbl_categories = Database::get_course_table(TABLE_LINK_CATEGORY); //statistics event_access_tool(TOOL_LINK); Display::display_header($nameTools, 'Links'); ?> '; echo ''.Display::return_icon('back.png',get_lang('BackToLinksOverview')).get_lang('BackToLinksOverview').''; echo ''; if(api_get_setting('search_enabled')=='true') { if (!extension_loaded('xapian')) { Display::display_error_message(get_lang('SearchXapianModuleNotInstaled')); } } // Displaying the correct title and the form for adding a category or link. This is only shown when nothing // has been submitted yet, hence !isset($submitLink) if (($_GET['action']=="addlink" or $_GET['action']=="editlink") and empty($_POST['submitLink'])) { echo '
'; if ($_GET['action']=="addlink") {echo '
'.get_lang("LinkAdd").'
';} else {echo '
'.get_lang("LinkMod").'
';} echo '
'; if ($category=="") { $category=0; } echo "
"; if ($_GET['action']=="editlink") { echo ""; } echo '
* '.get_lang('Url').'
'; echo '
'.get_lang('LinkName').'
'; echo '
'.get_lang('Description').'
'; $sqlcategories="SELECT * FROM ".$tbl_categories." ORDER BY display_order DESC"; $resultcategories = api_sql_query($sqlcategories,__FILE__,__LINE__); if (Database::num_rows($resultcategories)) { echo '
'.get_lang('Category').'
'; echo ' '; echo '
'; } echo '
'.get_lang('OnHomepage').'?
'; if(api_get_setting('search_enabled')=='true') { require_once(api_get_path(LIBRARY_PATH) . 'specific_fields_manager.lib.php'); $specific_fields = get_specific_field_list(); echo '
'.get_lang('SearchFeatureDoIndexLink').'?
'; foreach ($specific_fields as $specific_field) { //Author : $default_values = ''; if ($_GET['action']=="editlink") { $filter = array('course_code'=> "'". api_get_course_id() ."'", 'field_id' => $specific_field['id'], 'ref_id' => Security::remove_XSS($_GET['id']), 'tool_id' => '\''. TOOL_LINK .'\''); $values = get_specific_field_values_list($filter, array('value')); if ( !empty($values) ) { $arr_str_values = array(); foreach ($values as $value) { $arr_str_values[] = $value['value']; } $default_values = implode(', ', $arr_str_values); } } $sf_textbox = '
%s
'; echo sprintf($sf_textbox, $specific_field['name'], $specific_field['code'], $default_values); } } echo '
'; echo ''; } elseif(($_GET['action']=="addcategory" or $_GET['action']=="editcategory") and !$submitCategory) { echo '
'; if ($_GET['action']=="addcategory") {echo '
'.get_lang('CategoryAdd').'
';} else {echo '
'.get_lang('CategoryMod').'
';} echo "
\n\n"; echo "
"; if ($_GET['action']=="editcategory") { echo ""; } echo '
* '.get_lang('CategoryName').'
'; echo '
'.get_lang('Description').'
'; echo '
'; echo "
"; } /*elseif(($_GET['action']=="importcsv") and !$submitImport) // RH start { echo "

", get_lang('CsvImport'), "

\n\n", "
", // uncomment if you want to set a limit: '', "\n", '', "\n", "", "
"; echo get_lang('CsvExplain'); }*/ } if (!empty($down)) { movecatlink($down); } if (!empty($up)) { movecatlink($up); } if (empty($_GET['action']) || ($_GET['action']!='editlink' && $_GET['action']!='addcategory' && $_GET['action']!='addlink') || $link_submitted || $category_submitted) { /* ----------------------------------------------------------- Action Links ----------------------------------------------------------- */ echo '
'; if(is_allowed_to_edit()) { $urlview = Security::remove_XSS($urlview); echo Display::return_icon('linksnew.gif',get_lang('LinkAdd'))." ".get_lang("LinkAdd")."\n"; echo Display::return_icon('folder_new.gif', get_lang("CategoryAdd"))." ".get_lang("CategoryAdd")."\n"; /* "".get_lang('CsvImport')."\n", // RH*/ } //making the show none / show all links. Show none means urlview=0000 (number of zeros depending on the //number of categories). Show all means urlview=1111 (number of 1 depending on teh number of categories). $sqlcategories="SELECT * FROM ".$tbl_categories." ORDER BY display_order DESC"; $resultcategories=api_sql_query($sqlcategories); $aantalcategories = Database::num_rows($resultcategories); if ($aantalcategories > 0) { echo Display::return_icon('remove.gif', $shownone)." ".get_lang('shownone').""; echo Display::return_icon('add.gif', $showall)." ".get_lang('showall').""; } echo '
'; //Starting the table which contains the categories $sqlcategories="SELECT * FROM ".$tbl_categories." ORDER BY display_order DESC"; $resultcategories=api_sql_query($sqlcategories); echo ''; // displaying the links which have no category (thus category = 0 or NULL), if none present this will not be displayed $sqlLinks = "SELECT * FROM ".$tbl_link." WHERE category_id=0 or category_id IS NULL"; $result = api_sql_query($sqlLinks); $numberofzerocategory=Database::num_rows($result); if ($numberofzerocategory!==0) { echo ""; echo '
".get_lang('General')."
'; showlinksofcategory(0); } $i=0; $catcounter=1; $view="0"; while ($myrow=Database::fetch_array($resultcategories)) { //if (!isset($urlview)) if ($urlview == '') { // No $view set in the url, thus for each category link it should be all zeros except it's own makedefaultviewcode($i); } else { $view=$urlview; $view[$i]="1"; } // if the $urlview has a 1 for this categorie, this means it is expanded and should be desplayed as a // - instead of a +, the category is no longer clickable and all the links of this category are displayed $myrow["description"]=text_filter($myrow["description"]); if ($urlview[$i]=="1") { $newurlview=$urlview; $newurlview[$i]="0"; echo ''; echo ''; echo ''; echo ''; } echo ''; echo ''; echo '
'; echo '"; echo "  ".api_htmlentities($myrow["category_title"],ENT_QUOTES,$charset)."
   ".$myrow["description"]; if (is_allowed_to_edit()) { echo '
'; showcategoryadmintools($myrow["id"]); echo '
'; echo showlinksofcategory($myrow["id"]); echo ''; } else { echo ''; echo ''; echo ''; echo ''; } echo ''; echo ''; echo '
  ". api_htmlentities($myrow["category_title"],ENT_QUOTES,$charset); echo'
   '; echo $myrow["description"]; if (is_allowed_to_edit()) { echo '
'; showcategoryadmintools($myrow["id"]); echo '
'; echo ''; } // displaying the link of the category $i++; } echo ''; //////////////////////////////////////////////////////////////////////////// } Display::display_footer(); ?>