form.scorm.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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("Learnpath"));
  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 api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php';
  42. require_once '../newscorm/content_makers.inc.php';
  43. require_once api_get_path(LIBRARY_PATH) . 'specific_fields_manager.lib.php';
  44. echo '<div class="actions">';
  45. echo '<a href="../newscorm/lp_controller.php?cidReq='.$_course['sysCode'].'">'.Display::return_icon('back.png',get_lang('ReturnToLearningPaths'),'','32').'</a>';
  46. echo '</div>';
  47. $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;"');
  48. $form->addElement('header', '', $nameTools);
  49. $form->addElement('hidden', 'curdirpath', $path);
  50. $form->addElement('hidden', 'tool', $my_tool);
  51. $form->addElement('file','user_file',get_lang('FileToUpload'));
  52. $select_content_marker = &$form->addElement('select','content_maker',get_lang('ContentMaker'));
  53. foreach($content_origins as $index => $origin){
  54. $select_content_marker->addOption($origin,$origin);
  55. }
  56. $select_content_proximity = &$form->addElement('select','content_proximity',get_lang('ContentProximity'));
  57. $select_content_proximity->addOption(get_lang('Local'),"local");
  58. $select_content_proximity->addOption(get_lang('Remote'),"remote");
  59. $select_content_proximity -> setSelected("local");
  60. if(api_get_setting('search_enabled')=='true')
  61. {
  62. $form -> addElement ('checkbox', 'index_document','', get_lang('SearchFeatureDoIndexDocument'));
  63. $specific_fields = get_specific_field_list();
  64. foreach ($specific_fields as $specific_field) {
  65. $form -> addElement ('text', $specific_field['code'], $specific_field['name'].' : ');
  66. }
  67. }
  68. if (api_is_platform_admin()) {
  69. $form->addElement('checkbox', 'use_max_score', get_lang('UseMaxScore100'));
  70. }
  71. $form->addElement('style_submit_button','submit', get_lang('Send'),'class="upload"');
  72. $form->addElement('html', '<br /><br /><br />');
  73. /*$list = get_zip_files_in_garbage();
  74. if(count($list)>0){
  75. $select_file_name = &$form->addElement('select','file_name',get_lang('Or').' '.api_strtolower(get_lang('UploadLocalFileFromGarbageDir')));
  76. foreach($list as $file){
  77. $select_file_name->addOption($file,$file);
  78. }
  79. $form->addElement('submit', 'submit', get_lang('Download'));
  80. }
  81. else{
  82. $text_empty = &$form->addElement('text', 'empty', get_lang('Or').' '.api_strtolower(get_lang('UploadLocalFileFromGarbageDir')));
  83. $defaults["empty"] = get_lang('Empty');
  84. $text_empty->freeze();
  85. }*/
  86. if(is_dir(api_get_path(PLUGIN_PATH)."/pens")) {
  87. require_once(api_get_path(PLUGIN_PATH)."/pens/chamilo_pens.php");
  88. $list = ChamiloPens::findAll();
  89. if(count($list) > 0) {
  90. $select_pens = $form->addElement('select', 'pens_package', get_lang('Or').' '.get_lang('select a PENS package'));
  91. foreach($list as $package) {
  92. $select_pens->addOption($package->getPackageName(), $package->getPackageName());
  93. }
  94. }
  95. }
  96. $form->add_real_progress_bar('uploadScorm','user_file');
  97. // the rules for the form
  98. $form->addRule('user_file', '<div class="required">'.get_lang('ThisFieldIsRequired'), 'required');
  99. // the default values for the form
  100. $defaults = array('index_document'=>'checked="checked"','use_max_score'=>1);
  101. $form->setDefaults($defaults);
  102. $form->display();
  103. // footer
  104. Display::display_footer();
  105. ?>