form.scorm.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. /**
  4. * Display part of the SCORM sub-process for upload. This script MUST BE included by upload/index.php
  5. * as it prepares most of the variables needed here.
  6. * @package chamilo.upload
  7. * @author Yannick Warnier <ywarnier@beeznest.org>
  8. */
  9. /**
  10. * Small function to list files in archive/
  11. */
  12. function get_zip_files_in_garbage(){
  13. $list = array();
  14. $dh = opendir(api_get_path(SYS_ARCHIVE_PATH));
  15. if($dh === false){
  16. //ignore
  17. }else{
  18. while($entry = readdir($dh)){
  19. if(substr($entry,0,1) == '.'){/*ignore files starting with . */}
  20. else
  21. {
  22. if(preg_match('/^.*\.zip$/i',$entry)){
  23. $list[] = $entry;
  24. }
  25. }
  26. }
  27. natcasesort($list);
  28. closedir($dh);
  29. }
  30. return $list;
  31. }
  32. /**
  33. * Just display the form needed to upload a SCORM and give its settings
  34. */
  35. $nameTools = get_lang("FileUpload");
  36. $interbreadcrumb[]= array ("url"=>"../newscorm/lp_controller.php?action=list", "name"=> get_lang("ToolLearnpath"));
  37. Display::display_header($nameTools,"Path");
  38. //show the title
  39. //api_display_tool_title(get_lang("Learnpath")." - ".$nameTools.$add_group_to_title);
  40. //TODO: Include right language file
  41. require_once '../newscorm/content_makers.inc.php';
  42. require_once api_get_path(LIBRARY_PATH) . 'specific_fields_manager.lib.php';
  43. echo '<div class="actions">';
  44. echo '<a href="../newscorm/lp_controller.php?cidReq='.$_course['sysCode'].'">'.Display::return_icon('back.png',get_lang('ReturnToLearningPaths'),'','32').'</a>';
  45. echo '</div>';
  46. $form = new FormValidator('','POST','upload.php','','id="upload_form" enctype="multipart/form-data" style="background-image: url(\'../img/scorm.jpg\'); background-repeat: no-repeat; background-position: 620px;"');
  47. $form->addElement('header', '', $nameTools);
  48. $form->addElement('hidden', 'curdirpath', $path);
  49. $form->addElement('hidden', 'tool', $my_tool);
  50. $form->addElement('file','user_file',get_lang('FileToUpload'));
  51. $form->add_real_progress_bar('uploadScorm','user_file');
  52. $form->addRule('user_file', '<div class="required">'.get_lang('ThisFieldIsRequired'), 'required');
  53. /*$select_content_marker = &$form->addElement('select','content_maker',get_lang('ContentMaker'));
  54. foreach($content_origins as $index => $origin){
  55. $select_content_marker->addOption($origin,$origin);
  56. }*/
  57. unset($content_origins[0]);
  58. unset($content_origins[1]);
  59. /*
  60. $select_content_proximity = &$form->addElement('select','content_proximity',get_lang('ContentProximity'));
  61. $select_content_proximity->addOption(get_lang('Local'),"local");
  62. $select_content_proximity->addOption(get_lang('Remote'),"remote");
  63. $select_content_proximity -> setSelected("local");
  64. */
  65. if (api_get_setting('search_enabled')=='true') {
  66. $form -> addElement ('checkbox', 'index_document','', get_lang('SearchFeatureDoIndexDocument'));
  67. $specific_fields = get_specific_field_list();
  68. foreach ($specific_fields as $specific_field) {
  69. $form -> addElement ('text', $specific_field['code'], $specific_field['name'].' : ');
  70. }
  71. }
  72. if (api_is_platform_admin()) {
  73. $form->addElement('checkbox', 'use_max_score', null, get_lang('UseMaxScore100'));
  74. }
  75. $form->addElement('style_submit_button','submit', get_lang('Send'),'class="upload"');
  76. $form->addElement('html', '<br /><br /><br />');
  77. /*$list = get_zip_files_in_garbage();
  78. if(count($list)>0){
  79. $select_file_name = &$form->addElement('select','file_name',get_lang('Or').' '.api_strtolower(get_lang('UploadLocalFileFromGarbageDir')));
  80. foreach($list as $file){
  81. $select_file_name->addOption($file,$file);
  82. }
  83. $form->addElement('submit', 'submit', get_lang('Download'));
  84. }
  85. else{
  86. $text_empty = &$form->addElement('text', 'empty', get_lang('Or').' '.api_strtolower(get_lang('UploadLocalFileFromGarbageDir')));
  87. $defaults["empty"] = get_lang('Empty');
  88. $text_empty->freeze();
  89. }*/
  90. if(is_dir(api_get_path(PLUGIN_PATH)."/pens")) {
  91. require_once(api_get_path(PLUGIN_PATH)."/pens/chamilo_pens.php");
  92. $list = ChamiloPens::findAll();
  93. if(count($list) > 0) {
  94. $select_pens = $form->addElement('select', 'pens_package', get_lang('Or').' '.get_lang('select a PENS package'));
  95. foreach($list as $package) {
  96. $select_pens->addOption($package->getPackageName(), $package->getPackageName());
  97. }
  98. }
  99. }
  100. // the default values for the form
  101. $defaults = array('index_document'=>'checked="checked"','use_max_score'=>1);
  102. $form->setDefaults($defaults);
  103. Display::display_normal_message(Display::tag('strong', get_lang('SupportedScormContentMakers')).': '.implode(', ', $content_origins), false);
  104. $form->display();
  105. // footer
  106. Display::display_footer();