parent
ab5244cf84
commit
512c20a427
@ -1,390 +0,0 @@ |
|||||||
<?php |
|
||||||
/* For licensing terms, see /license.txt */ |
|
||||||
/** |
|
||||||
* @author Roan Embrechts - initial admin interface |
|
||||||
* @package chamilo.admin |
|
||||||
* @deprecated |
|
||||||
*/ |
|
||||||
/** |
|
||||||
* INIT SECTION |
|
||||||
*/ |
|
||||||
|
|
||||||
// name of the language file that needs to be included |
|
||||||
$language_file = 'admin'; |
|
||||||
$extra_lang_file = "create_course"; |
|
||||||
|
|
||||||
// global settings initialisation |
|
||||||
// also provides access to main api (inc/lib/main_api.lib.php) |
|
||||||
include("../inc/global.inc.php"); |
|
||||||
$this_section=SECTION_PLATFORM_ADMIN; |
|
||||||
|
|
||||||
api_protect_admin_script(); |
|
||||||
|
|
||||||
if (isset($extra_lang_file)) include(api_get_path(INCLUDE_PATH)."../lang/english/".$extra_lang_file.".inc.php"); |
|
||||||
if (isset($extra_lang_file)) include(api_get_path(INCLUDE_PATH)."../lang/".$language_interface."/".$extra_lang_file.".inc.php"); |
|
||||||
|
|
||||||
/* |
|
||||||
Constants |
|
||||||
*/ |
|
||||||
|
|
||||||
define ("CREATE_VIRTUAL_COURSE_OPTION", "create_virtual_course"); |
|
||||||
define ("DISPLAY_VIRTUAL_COURSE_LIST_OPTION", "display_virtual_course_list"); |
|
||||||
|
|
||||||
define ("FORM_ELEMENT_CODE_SIZE", "20"); |
|
||||||
define ("FORM_ELEMENT_TEXT_SIZE", "60"); |
|
||||||
define ("SELECT_BOX_SIZE", "10"); |
|
||||||
|
|
||||||
define ("COURSE_TITLE_FORM_NAME", "course_title"); |
|
||||||
define ("LANGUAGE_SELECT_FORM_NAME" , "course_language"); |
|
||||||
define ("REAL_COURSE_SELECT_FORM_NAME" , "real_course_code"); |
|
||||||
define ("WANTED_COURSE_CODE_FORM_NAME" , "wanted_course_code"); |
|
||||||
define ("COURSE_CATEGORY_FORM_NAME" , "course_category"); |
|
||||||
|
|
||||||
/* |
|
||||||
----------------------------------------------------------- |
|
||||||
Header |
|
||||||
----------------------------------------------------------- |
|
||||||
*/ |
|
||||||
|
|
||||||
$tool_name = get_lang('AdminManageVirtualCourses'); // title of the page (should come from the language file) |
|
||||||
|
|
||||||
$interbreadcrumb[]=array('url' => 'index.php',"name" => get_lang('PlatformAdmin')); |
|
||||||
|
|
||||||
Display::display_header($tool_name); |
|
||||||
|
|
||||||
/* |
|
||||||
============================================================================== |
|
||||||
DISPLAY FUNCTIONS |
|
||||||
============================================================================== |
|
||||||
*/ |
|
||||||
|
|
||||||
function make_strong($text) |
|
||||||
{ |
|
||||||
return "<strong>" . $text . "</strong>"; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
/** |
|
||||||
* Return a list of language directories. |
|
||||||
* @todo function does not belong here, move to code library, |
|
||||||
* also see infocours.php and index.php which contain a similar function |
|
||||||
*/ |
|
||||||
function get_language_folder_list($dirname) |
|
||||||
{ |
|
||||||
if($dirname[strlen($dirname)-1]!='/') $dirname.='/'; |
|
||||||
$handle=opendir($dirname); |
|
||||||
while ($entries = readdir($handle)) |
|
||||||
{ |
|
||||||
if ($entries=='.' || $entries=='..' || $entries=='CVS') continue; |
|
||||||
if (is_dir($dirname.$entries)) |
|
||||||
{ |
|
||||||
$language_list[] = $entries; |
|
||||||
} |
|
||||||
} |
|
||||||
closedir($handle); |
|
||||||
return $language_list; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* Displays a select element (drop down menu) so the user can select |
|
||||||
* the course language. |
|
||||||
* @todo function does not belong here, move to (display?) library, |
|
||||||
* @todo language display used apparently no longer existing array, converted to english for now. |
|
||||||
* but we should switch to display the real language names. |
|
||||||
*/ |
|
||||||
function display_language_select($element_name) |
|
||||||
{ |
|
||||||
global $platformLanguage; |
|
||||||
|
|
||||||
//get language list |
|
||||||
$dirname = api_get_path(SYS_PATH)."main/lang/"; |
|
||||||
$language_list = get_language_folder_list($dirname); |
|
||||||
sort($language_list); |
|
||||||
|
|
||||||
//build array with strings to display |
|
||||||
foreach ($language_list as $this_language) |
|
||||||
{ |
|
||||||
$language_to_display[$this_language] = $this_language; |
|
||||||
} |
|
||||||
|
|
||||||
//sort alphabetically |
|
||||||
//warning: key,value association needs to be maintained --> asort instead of sort |
|
||||||
asort($language_to_display); |
|
||||||
|
|
||||||
$user_selected_language = $_SESSION["user_language_choice"]; |
|
||||||
if (! isset($user_selected_language) ) $user_selected_language = $platformLanguage; |
|
||||||
|
|
||||||
//display |
|
||||||
echo "<select name=\"$element_name\">"; |
|
||||||
foreach ($language_to_display as $key => $value) |
|
||||||
{ |
|
||||||
if ($key == $user_selected_language) $option_end = "selected >"; |
|
||||||
else $option_end = ">"; |
|
||||||
echo "<option value=\"$key\" $option_end"; |
|
||||||
|
|
||||||
echo $value; |
|
||||||
echo "</option>\n"; |
|
||||||
} |
|
||||||
echo "</select>"; |
|
||||||
} |
|
||||||
|
|
||||||
/** |
|
||||||
* This code creates a select form element to let the user |
|
||||||
* choose a real course to link to. |
|
||||||
* |
|
||||||
* We display the course code, but internally store the course id. |
|
||||||
*/ |
|
||||||
function display_real_course_code_select($element_name) |
|
||||||
{ |
|
||||||
$real_course_list = CourseManager::get_real_course_list(); |
|
||||||
|
|
||||||
echo "<select name=\"$element_name\" size=\"".SELECT_BOX_SIZE."\" >\n"; |
|
||||||
foreach($real_course_list as $real_course) |
|
||||||
{ |
|
||||||
$course_code = $real_course["code"]; |
|
||||||
echo "<option value=\"". $course_code ."\">"; |
|
||||||
echo $course_code; |
|
||||||
echo "</option>\n"; |
|
||||||
} |
|
||||||
echo "</select>\n"; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
function display_create_virtual_course_form() |
|
||||||
{ |
|
||||||
global $charset; |
|
||||||
|
|
||||||
$category_table = Database::get_main_table(TABLE_MAIN_CATEGORY); |
|
||||||
|
|
||||||
$message = make_strong(get_lang('AdminCreateVirtualCourse')) . "<br/>" . get_lang('AdminCreateVirtualCourseExplanation') . "<br/>This feature is in development phase, bug reports welcome."; |
|
||||||
?> |
|
||||||
<p><?php echo $message; ?></p>
|
|
||||||
<b><?php echo get_lang('MandatoryFields') ?></b>
|
|
||||||
<form method="post" action="<?php echo api_get_self(); ?>">
|
|
||||||
<table> |
|
||||||
<tr valign="top"> |
|
||||||
<td colspan="2"> |
|
||||||
|
|
||||||
</td> |
|
||||||
</tr> |
|
||||||
|
|
||||||
<tr valign="top"> |
|
||||||
<td align="right"> |
|
||||||
<?php |
|
||||||
echo make_strong(get_lang('CourseTitle')) . " "; |
|
||||||
echo "</td>"; |
|
||||||
echo "<td valign=\"top\">"; |
|
||||||
echo "<input type=\"Text\" name=\"".COURSE_TITLE_FORM_NAME."\" size=\"".FORM_ELEMENT_TEXT_SIZE."\" value=\"$valueIntitule\"/><br />".get_lang('Ex') ; |
|
||||||
?> |
|
||||||
</td> |
|
||||||
</tr> |
|
||||||
|
|
||||||
<tr valign="top"> |
|
||||||
<td align="right"><?php echo make_strong(get_lang('CourseFaculty')) . " "; ?> </td>
|
|
||||||
<td> |
|
||||||
<?php |
|
||||||
echo "<select name=\"".COURSE_CATEGORY_FORM_NAME."\">"; |
|
||||||
|
|
||||||
$sql_query = "SELECT code, name |
|
||||||
FROM $category_table |
|
||||||
WHERE auth_course_child ='TRUE' |
|
||||||
ORDER BY tree_pos"; |
|
||||||
$category_result = Database::query($sql_query); |
|
||||||
|
|
||||||
while ($current_category = Database::fetch_array($category_result)) |
|
||||||
{ |
|
||||||
echo "<option value=\"", $current_category["code"], "\""; |
|
||||||
echo ">(", $current_category["code"], ") ", $current_category["name"]; |
|
||||||
echo "</option>\n"; |
|
||||||
} |
|
||||||
?> |
|
||||||
</select> |
|
||||||
<br /><?php echo make_strong(get_lang('TargetFac')) . " " ?> |
|
||||||
</td> |
|
||||||
</tr> |
|
||||||
|
|
||||||
<tr valign="top"> |
|
||||||
<td align="right"><?php echo make_strong(get_lang('Code')) . " " ?> </td>
|
|
||||||
<td> |
|
||||||
<?php |
|
||||||
echo "<input type=\"Text\" name=\"".WANTED_COURSE_CODE_FORM_NAME."\" maxlength=\"".FORM_ELEMENT_CODE_SIZE."\" value=\"$valuePublicCode\"/> |
|
||||||
<br/>" . get_lang('Max'); |
|
||||||
?> |
|
||||||
</td> |
|
||||||
</tr> |
|
||||||
|
|
||||||
<tr valign="top"> |
|
||||||
<td align="right"> |
|
||||||
<?php echo make_strong(get_lang('RealCourseCode')) . " " ?> |
|
||||||
</td> |
|
||||||
<td> |
|
||||||
<?php |
|
||||||
display_real_course_code_select(REAL_COURSE_SELECT_FORM_NAME); |
|
||||||
//echo "<input type=\"Text\" name=\"real_course_code\" maxlength=\"".FORM_ELEMENT_CODE_SIZE."\" value=\"" . api_htmlentities($valueTitular, ENT_COMPAT, $charset) . "\"/>"; |
|
||||||
?> |
|
||||||
</td> |
|
||||||
</tr> |
|
||||||
|
|
||||||
<tr valign="top"> |
|
||||||
<td align="right"> |
|
||||||
<?php |
|
||||||
echo make_strong(get_lang('CourseLanguage')) . " "; |
|
||||||
?> |
|
||||||
</td> |
|
||||||
<td> <?php display_language_select(LANGUAGE_SELECT_FORM_NAME); ?> |
|
||||||
|
|
||||||
</td> |
|
||||||
</tr> |
|
||||||
<tr valign="top"> |
|
||||||
<td> |
|
||||||
</td> |
|
||||||
<td> |
|
||||||
<input type="Submit" name="submit_create_virtual_course" value="<?php echo get_lang('Ok')?>"/>
|
|
||||||
</td> |
|
||||||
</tr> |
|
||||||
</table> |
|
||||||
</form> |
|
||||||
<?php |
|
||||||
} |
|
||||||
|
|
||||||
function display_main_options() |
|
||||||
{ |
|
||||||
$message = "<ul><li><a href=\"?action=".CREATE_VIRTUAL_COURSE_OPTION."\">".get_lang('CreateVirtualCourse')."</a></li>"; |
|
||||||
$message .= "<li><a href=\"?action=".DISPLAY_VIRTUAL_COURSE_LIST_OPTION."\">".get_lang('DisplayListVirtualCourses')."</a></li></ul>"; |
|
||||||
echo $message; |
|
||||||
} |
|
||||||
|
|
||||||
function display_virtual_course_list() |
|
||||||
{ |
|
||||||
$course_list = CourseManager::get_virtual_course_list(); |
|
||||||
if (! is_array($course_list) ) |
|
||||||
{ |
|
||||||
//there are no virtual courses |
|
||||||
echo "<i>".get_lang('ThereAreNoVirtualCourses')."</i>"; |
|
||||||
return; |
|
||||||
} |
|
||||||
|
|
||||||
$column_header[] = array(get_lang('Title'),true); |
|
||||||
$column_header[] = array(get_lang('Code'),true); |
|
||||||
$column_header[] = array(get_lang('VisualCode'),true); |
|
||||||
$column_header[] = array(get_lang('LinkedCourseTitle'),true); |
|
||||||
$column_header[] = array(get_lang('LinkedCourseCode'),true); |
|
||||||
$table_data = array(); |
|
||||||
for($i = 0; $i < count($course_list); $i++) |
|
||||||
{ |
|
||||||
$course_list[$i] = Database::generate_abstract_course_field_names($course_list[$i]); |
|
||||||
$target_course_code = $course_list[$i]["target_course_code"]; |
|
||||||
$real_course_info = Database::get_course_info($target_course_code); |
|
||||||
|
|
||||||
$row = array(); |
|
||||||
$row[] = $course_list[$i]["title"]; |
|
||||||
$row[] = $course_list[$i]["system_code"]; |
|
||||||
$row[] = $course_list[$i]["visual_code"]; |
|
||||||
$row[] = $real_course_info["title"]; |
|
||||||
$row[]= $real_course_info["system_code"]; |
|
||||||
$table_data[] = $row; |
|
||||||
} |
|
||||||
Display::display_sortable_table($column_header,$table_data,array(),array(),array('action'=>$_GET['action'])); |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
/* |
|
||||||
============================================================================== |
|
||||||
TOOL LOGIC FUNCTIONS |
|
||||||
============================================================================== |
|
||||||
*/ |
|
||||||
|
|
||||||
/** |
|
||||||
* Checks all parameters needed to create a virtual course. |
|
||||||
* If they are all set, the virtual course creation procedure is called. |
|
||||||
* Call this function instead of create_virtual_course |
|
||||||
*/ |
|
||||||
function attempt_create_virtual_course($real_course_code, $course_title, $wanted_course_code, $course_language, $course_category) |
|
||||||
{ |
|
||||||
//better: create parameter list, check the entire list, when false display errormessage |
|
||||||
CourseManager::check_parameter_or_fail($real_course_code, "Unspecified parameter: real course id."); |
|
||||||
CourseManager::check_parameter_or_fail($course_title, "Unspecified parameter: course title."); |
|
||||||
CourseManager::check_parameter_or_fail($wanted_course_code, "Unspecified parameter: wanted course code."); |
|
||||||
CourseManager::check_parameter_or_fail($course_language, "Unspecified parameter: course language."); |
|
||||||
CourseManager::check_parameter_or_fail($course_category, "Unspecified parameter: course category."); |
|
||||||
|
|
||||||
$message = get_lang('AttemptedCreationVirtualCourse') . "<br/>"; |
|
||||||
$message .= get_lang('CourseTitle') . " " . $course_title . "<br/>"; |
|
||||||
$message .= get_lang('WantedCourseCode') . " " . $wanted_course_code . "<br/>"; |
|
||||||
$message .= get_lang('CourseLanguage') . " " . $course_language . "<br/>"; |
|
||||||
$message .= get_lang('CourseFaculty') . " " . $course_category . "<br/>"; |
|
||||||
$message .= get_lang('LinkedToRealCourseCode') . " " . $real_course_code . "<br/>"; |
|
||||||
|
|
||||||
Display::display_normal_message($message); |
|
||||||
|
|
||||||
$creation_success = CourseManager::create_virtual_course( $real_course_code, $course_title, $wanted_course_code, $course_language, $course_category ); |
|
||||||
|
|
||||||
if ($creation_success) |
|
||||||
{ |
|
||||||
Display::display_normal_message( $course_title . " - " . get_lang('CourseCreationSucceeded') ); |
|
||||||
return true; |
|
||||||
} |
|
||||||
return false; |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
============================================================================== |
|
||||||
MAIN CODE |
|
||||||
============================================================================== |
|
||||||
*/ |
|
||||||
|
|
||||||
$action = $_GET["action"]; |
|
||||||
$attempt_create_virtual_course = $_POST["submit_create_virtual_course"]; |
|
||||||
|
|
||||||
//api_display_tool_title($tool_name); |
|
||||||
|
|
||||||
if ( isset($attempt_create_virtual_course) && $attempt_create_virtual_course ) |
|
||||||
{ |
|
||||||
$real_course_code = $_POST[REAL_COURSE_SELECT_FORM_NAME]; |
|
||||||
$course_title = $_POST[COURSE_TITLE_FORM_NAME]; |
|
||||||
$wanted_course_code = $_POST[WANTED_COURSE_CODE_FORM_NAME]; |
|
||||||
$course_language = $_POST[LANGUAGE_SELECT_FORM_NAME]; |
|
||||||
$course_category = $_POST[COURSE_CATEGORY_FORM_NAME]; |
|
||||||
|
|
||||||
$message = get_lang('AttemptedCreationVirtualCourse') . "<br/>"; |
|
||||||
$message .= get_lang('CourseTitle') . " " . $course_title . "<br/>"; |
|
||||||
$message .= get_lang('WantedCourseCode') . " " . $wanted_course_code . "<br/>"; |
|
||||||
$message .= get_lang('CourseLanguage') . " " . $course_language . "<br/>"; |
|
||||||
$message .= get_lang('CourseFaculty') . " " . $course_category . "<br/>"; |
|
||||||
$message .= get_lang('LinkedToRealCourseCode') . " " . $real_course_code . "<br/>"; |
|
||||||
|
|
||||||
Display::display_normal_message($message); |
|
||||||
|
|
||||||
$creation_success = CourseManager::attempt_create_virtual_course($real_course_code, $course_title, $wanted_course_code, $course_language, $course_category); |
|
||||||
|
|
||||||
if ($creation_success) |
|
||||||
{ |
|
||||||
Display::display_normal_message( $course_title . " - " . get_lang('CourseCreationSucceeded') ); |
|
||||||
} |
|
||||||
else |
|
||||||
{ |
|
||||||
//should display error message |
|
||||||
} |
|
||||||
echo "<br/>"; |
|
||||||
} |
|
||||||
|
|
||||||
|
|
||||||
display_main_options(); |
|
||||||
|
|
||||||
switch($action) |
|
||||||
{ |
|
||||||
case CREATE_VIRTUAL_COURSE_OPTION: |
|
||||||
display_create_virtual_course_form(); |
|
||||||
break; |
|
||||||
case DISPLAY_VIRTUAL_COURSE_LIST_OPTION: |
|
||||||
display_virtual_course_list(); |
|
||||||
break; |
|
||||||
} |
|
||||||
|
|
||||||
/* |
|
||||||
============================================================================== |
|
||||||
FOOTER |
|
||||||
============================================================================== |
|
||||||
*/ |
|
||||||
Display::display_footer(); |
|
||||||
?> |
|
Loading…
Reference in new issue