Browse Source

Merge branch '1.10.x' of github.com:chamilo/chamilo-lms into 1.10.x

Yannick Warnier 9 years ago
parent
commit
986d696f5c

+ 55 - 55
main/document/document.php

@@ -34,7 +34,6 @@ $current_course_tool = TOOL_DOCUMENT;
 $this_section = SECTION_COURSES;
 $to_user_id = null;
 $parent_id = null;
-$message = null;
 
 $lib_path = api_get_path(LIBRARY_PATH);
 
@@ -50,16 +49,15 @@ if (
 ) {
     unlink($_SESSION['temp_realpath_image']);
 }
+$_user = api_get_user_info();
 $courseInfo = api_get_course_info();
 $course_dir = $courseInfo['directory'] . '/document';
 $sys_course_path = api_get_path(SYS_COURSE_PATH);
 $base_work_dir = $sys_course_path . $course_dir;
-$http_www = api_get_path(WEB_COURSE_PATH) .
-    $courseInfo['directory'] . '/document';
+$http_www = api_get_path(WEB_COURSE_PATH).$courseInfo['directory'] . '/document';
 $document_path = $base_work_dir;
 $usePpt2lp = api_get_setting('service_ppt2lp', 'active') == 'true';
 
-$courseInfo = api_get_course_info();
 $course_dir = $courseInfo['directory'].'/document';
 $sys_course_path = api_get_path(SYS_COURSE_PATH);
 $base_work_dir = $sys_course_path.$course_dir;
@@ -68,7 +66,7 @@ $document_path = $base_work_dir;
 
 $currentUrl = api_get_self().'?'.api_get_cidreq();
 
-//Removing sessions
+// Removing sessions
 unset($_SESSION['draw_dir']);
 unset($_SESSION['paint_dir']);
 unset($_SESSION['temp_audio_nanogong']);
@@ -229,18 +227,20 @@ switch ($action) {
 
                     if ($deleteDocument) {
                         $certificateId = isset($_GET['delete_certificate_id']) ? $_GET['delete_certificate_id'] : null;
-                        DocumentManager::remove_attach_certificate(api_get_course_id(), $certificateId);
-                        $message = Display::return_message(
+                        DocumentManager::remove_attach_certificate(
+                            api_get_course_id(),
+                            $certificateId
+                        );
+                        Display::addFlash(Display::return_message(
                             get_lang('DocDeleted') . ': ' . $documentInfo['title'],
                             'success'
-                        );
+                        ));
                     } else {
-                        $message = Display::return_message(get_lang('DocDeleteError'), 'warning');
+                        Display::addFlash(Display::return_message(get_lang('DocDeleteError'), 'warning'));
                     }
                 } else {
-                    $message = Display::return_message(get_lang('FileNotFound'), 'warning');
+                    Display::addFlash(Display::return_message(get_lang('FileNotFound'), 'warning'));
                 }
-                Session::write('message', $message);
                 header("Location: $currentUrl");
                 exit;
             }
@@ -390,27 +390,28 @@ switch ($action) {
                     get_lang('Yes').
                     '</a></p>';
                 if (!isset($_GET['copy'])) {
-                    $message = Display::return_message($message, 'warning', false);
+                    Display::addFlash(Display::return_message($message, 'warning', false));
                 }
                 if (Security::remove_XSS($_GET['copy']) == 'yes') {
                     if (!copy($file, $copyfile)) {
-                        $message = Display::return_message(get_lang('CopyFailed'), 'error');
+                        Display::addFlash(Display::return_message(get_lang('CopyFailed'), 'error'));
                     } else {
-                        $message = Display::return_message(
+                        Display::addFlash(Display::return_message(
                             get_lang('OverwritenFile').' '.$file_link,
                             'confirmation',
                             false
-                        );
+                        ));
                     }
                 }
             } else {
                 if (!copy($file, $copyfile)) {
-                    $message = Display::return_message(get_lang('CopyFailed'), 'error');
+                    Display::addFlash(Display::return_message(get_lang('CopyFailed'), 'error'));
                 } else {
-                    $message = Display::return_message(get_lang('CopyMade').' '.$file_link, 'confirmation', false);
+                    Display::addFlash(
+                        Display::return_message(get_lang('CopyMade').' '.$file_link, 'confirmation', false)
+                    );
                 }
             }
-            Session::write('message', $message);
         }
         break;
     case 'convertToPdf':
@@ -432,10 +433,10 @@ switch ($action) {
             '/document' . $document_info['path'];
         $fileInfo = pathinfo($file);
         if ($fileInfo['extension'] == $formatTarget) {
-            $message = Display::return_message(
+            Display::addFlash(Display::return_message(
                 get_lang('ErrorSameFormat'),
                 'warning'
-            );
+            ));
         } elseif (
             !(
                 in_array(
@@ -455,10 +456,10 @@ switch ($action) {
                 )
             )
         ) {
-            $message = Display::return_message(
+            Display::addFlash(Display::return_message(
                 get_lang('FormatNotSupported'),
                 'warning'
-            );
+            ));
         } else {
             $convertedFile = $fileInfo['dirname'] . DIRECTORY_SEPARATOR .
                 $fileInfo['filename'] . '_from_' . $fileInfo['extension'] .
@@ -466,10 +467,10 @@ switch ($action) {
             $convertedTitle = $document_info['title'];
             $obj = new OpenofficePresentation(true);
             if (file_exists($convertedFile)) {
-                $message = Display::return_message(
+                Display::addFlash(Display::return_message(
                     get_lang('FileExists'),
                     'error'
-                );
+                ));
             } else {
                 $result = $obj->convertCopyDocument(
                     $file,
@@ -477,10 +478,10 @@ switch ($action) {
                     $convertedTitle
                 );
                 if (empty($result)) {
-                    $message = Display::return_message(
+                    Display::addFlash(Display::return_message(
                         get_lang('CopyFailed'),
                         'error'
-                    );
+                    ));
                 } else {
                     $cidReq = Security::remove_XSS($_GET['cidReq']);
                     $id_session = api_get_session_id();
@@ -492,11 +493,11 @@ switch ($action) {
                         '&id_session=' . $id_session . '&' .
                         'gidReq=' . $gidReq . '&id=' . current($result)
                     );
-                    $message = Display::return_message(
+                    Display::addFlash(Display::return_message(
                         get_lang('CopyMade') . ' ' . $file_link,
                         'confirmation',
                         false
-                    );
+                    ));
                 }
             }
         }
@@ -1059,7 +1060,7 @@ if ($is_allowed_to_edit ||
                         null,
                         $sessionId
                     );
-                    $message = Display::return_message(get_lang('DirMv'), 'confirmation');
+                    Display::addFlash(Display::return_message(get_lang('DirMv'), 'confirmation'));
                 } elseif (is_file($real_path_target)) {
                     api_item_property_update(
                         $courseInfo,
@@ -1073,7 +1074,7 @@ if ($is_allowed_to_edit ||
                         null,
                         $sessionId
                     );
-                    $message = Display::return_message(get_lang('DocMv'), 'confirmation');
+                    Display::addFlash(Display::return_message(get_lang('DocMv'), 'confirmation'));
                 }
 
                 // Set the current path
@@ -1086,14 +1087,14 @@ if ($is_allowed_to_edit ||
                     } elseif (is_file($real_path_target)) {
                         $message = Display::return_message(get_lang('FileExists'), 'v');
                     }
+                    Display::addFlash($message);
                 } else {
-                    $message = Display::return_message(get_lang('Impossible'), 'error');
+                    Display::addFlash(Display::return_message(get_lang('Impossible'), 'error'));
                 }
             }
         } else {
-            $message = Display::return_message(get_lang('Impossible'), 'error');
+            Display::addFlash(Display::return_message(get_lang('Impossible'), 'error'));
         }
-        Session::write('message', $message);
     }
 }
 
@@ -1210,8 +1211,7 @@ if ($is_allowed_to_edit ||
                 }
             }
         } // endforeach
-
-        Session::write('message', $messages);
+        Display::addFlash($messages);
     }
 }
 
@@ -1284,7 +1284,7 @@ if ($is_allowed_to_edit ||
             }
 
         }
-        Session::write('message', $message);
+        Display::addFlash($message);
     }
 
     // Show them the form for the directory name
@@ -1372,9 +1372,7 @@ if ($is_allowed_to_edit ||
     } elseif (isset($_GET['add_as_template']) && isset($_POST['create_template'])) {
 
         $document_id_for_template = intval($_GET['add_as_template']);
-
         $title = Security::remove_XSS($_POST['template_title']);
-        //$description = Security::remove_XSS($_POST['template_description']);
         $user_id = api_get_user_id();
 
         // Create the template_thumbnails folder in the upload folder (if needed)
@@ -1425,8 +1423,9 @@ if ($is_allowed_to_edit ||
             $user_id,
             $new_file_name
         );
-        $message = Display::return_message(get_lang('DocumentSetAsTemplate'), 'confirmation');
-        Session::write('message', $message);
+        Display::addFlash(
+            Display::return_message(get_lang('DocumentSetAsTemplate'), 'confirmation')
+        );
     }
 
     if (isset($_GET['remove_as_template'])) {
@@ -1437,8 +1436,10 @@ if ($is_allowed_to_edit ||
             $course_code,
             $user_id
         );
-        $message = Display::return_message(get_lang('DocumentUnsetAsTemplate'), 'confirmation');
-        Session::write('message', $message);
+
+        Display::addFlash(
+            Display::return_message(get_lang('DocumentUnsetAsTemplate'), 'confirmation')
+        );
     }
 }
 
@@ -1454,7 +1455,9 @@ if (isset($_GET['curdirpath']) &&
         $document_id = Security::remove_XSS($_GET['set_certificate']); // document id
         DocumentManager::attach_gradebook_certificate($course_id, $document_id);
         $message = Display::return_message(get_lang('IsDefaultCertificate'), 'normal');
-        Session::write('message', $message);
+        Display::addFlash(
+            $message
+        );
     }
 }
 /* 	GET ALL DOCUMENT DATA FOR CURDIRPATH */
@@ -1502,17 +1505,16 @@ if ($groupId != 0) {
 if (!isset($folders) || $folders === false) {
     $folders = array();
 }
-$btngroup= array('class' => 'btn btn-default');
+$btngroup = array('class' => 'btn btn-default');
 
 
 /* GO TO PARENT DIRECTORY */
+$actionsLeft = '';
 
 if ($curdirpath != '/' && $curdirpath != $group_properties['directory'] && !$is_certificate_mode) {
-    
     $actionsLeft = '<a href="'.api_get_self().'?'.api_get_cidreq().'&id='.$parent_id.'">';
     $actionsLeft .= Display::return_icon('folder_up.png', get_lang('Up'), '', ICON_SIZE_MEDIUM);
     $actionsLeft .= '</a>';
-    
 }
 
 if ($is_certificate_mode && $curdirpath != '/certificates') {
@@ -1530,9 +1532,7 @@ if ($is_allowed_to_edit ||
 ) {
     // TODO:check enable more options for shared folders
     /* CREATE NEW DOCUMENT OR NEW DIRECTORY / GO TO UPLOAD / DOWNLOAD ZIPPED FOLDER */
-
     // Create new document
-
     if (!$is_certificate_mode) {
         $actionsLeft .= Display::url(
             Display::return_icon('new_document.png', get_lang('CreateDoc'), '', ICON_SIZE_MEDIUM),
@@ -1647,11 +1647,10 @@ if (api_is_allowed_to_edit(null, true)) {
         Display::return_icon('percentage.png', get_lang('DocumentQuota'), '', ICON_SIZE_MEDIUM),
         api_get_path(WEB_CODE_PATH).'document/document_quota.php?'.api_get_cidreq()
     );
-} 
-
+}
+$actionsRight = '';
 if (!$is_certificate_mode) {
     /* BUILD SEARCH FORM */
-
     $form = new FormValidator(
         'search_document',
         'get',
@@ -1741,7 +1740,7 @@ if (isset($documentAndFolders) && is_array($documentAndFolders)) {
                 $count++;
             }
 
-            // Validacion when belongs to a session
+            // Validation when belongs to a session
             $session_img = api_get_session_image($document_data['session_id'], $_user['status']);
 
             // Document title with link
@@ -1843,8 +1842,6 @@ if (!is_null($documentAndFolders)) {
     }
 }
 
-
-
 if (!empty($moveTo)) {
     $document_id = DocumentManager::get_document_id($courseInfo, $moveTo);
 }
@@ -1966,7 +1963,10 @@ if (!empty($groupId)) {
 } else {
     Display::display_introduction_section(TOOL_DOCUMENT);
 }
-$toolbar = Display::toolbarAction('toolbar-document',array(0 => $actionsLeft, 1 => $actionsRight));
+$toolbar = Display::toolbarAction(
+    'toolbar-document',
+    array(0 => $actionsLeft, 1 => $actionsRight)
+);
 
 echo $toolbar;
 echo $templateForm;

+ 19 - 13
main/document/downloadfolder.inc.php

@@ -58,9 +58,6 @@ if (($path == '/shared_folder' ||
     exit;
 }
 
-// Zip library for creation of the zip file.
-require api_get_path(LIBRARY_PATH).'pclzip/pclzip.lib.php';
-
 // Creating a ZIP file.
 $tempZipFile = api_get_path(SYS_ARCHIVE_PATH).api_get_unique_id().".zip";
 
@@ -94,10 +91,16 @@ function fixDocumentNameCallback($p_event, &$p_header)
     );
 
     // Changes file.phps to file.php
+
     $basename = basename($documentNameFixed);
     $basenamePHPFixed = str_replace('.phps', '.php', $basename);
-    $documentNameFixed = str_replace($basename, $basenamePHPFixed, $basenamePHPFixed);
+    $documentNameFixed = str_replace(
+        $basename,
+        $basenamePHPFixed,
+        $documentNameFixed
+    );
 
+    $documentNameFixed = str_replace($remove_dir, '', $documentNameFixed);
     $p_header['stored_filename'] = $documentNameFixed;
 
     return 1;
@@ -161,7 +164,8 @@ if (api_is_allowed_to_edit()) {
                 }
             }
         }
-
+        //error_log($sysCoursePath.$courseInfo['path'].'/document'.$not_deleted_file['path']);
+        //error_log($sysCoursePath.$courseInfo['path'].'/document'.$remove_dir);
         $zip->add(
             $sysCoursePath.$courseInfo['path'].'/document'.$not_deleted_file['path'],
             PCLZIP_OPT_REMOVE_PATH,
@@ -230,12 +234,12 @@ if (api_is_allowed_to_edit()) {
                 docs.id = props.ref AND
                 docs.c_id = props.c_id
             WHERE
-                docs.c_id           = $courseId AND
-                props.tool          = '".TOOL_DOCUMENT."' AND
-                docs.path             LIKE '".$querypath."/%' AND
-                props.visibility    <> '1' AND
+                docs.c_id = $courseId AND
+                props.tool = '".TOOL_DOCUMENT."' AND
+                docs.path LIKE '".$querypath."/%' AND
+                props.visibility <> '1' AND
                 (props.session_id IN ('0', '$sessionId') OR props.session_id IS NULL) AND
-                docs.filetype       = 'folder'";
+                docs.filetype = 'folder'";
     $query2 = Database::query($sql);
 
     // If we get invisible folders, we have to filter out these results from all visible files we found
@@ -255,9 +259,9 @@ if (api_is_allowed_to_edit()) {
                         docs.c_id = $courseId AND
                         props.tool ='".TOOL_DOCUMENT."' AND
                         docs.path LIKE '".$invisible_folders['path']."/%' AND
-                        docs.filetype       ='file' AND
+                        docs.filetype = 'file' AND
                         (props.session_id IN ('0', '$sessionId') OR props.session_id IS NULL) AND
-                        props.visibility    ='1'";
+                        props.visibility ='1'";
             $query3 = Database::query($sql);
             // Add tem to an array
             while ($files_in_invisible_folder = Database::fetch_assoc($query3)) {
@@ -294,7 +298,9 @@ if (api_is_allowed_to_edit()) {
 }
 
 // Launch event
-Event::event_download(($path == '/') ? 'documents.zip (folder)' : basename($path).'.zip (folder)');
+Event::event_download(
+    ($path == '/') ? 'documents.zip (folder)' : basename($path).'.zip (folder)'
+);
 
 // Start download of created file
 $name = ($path == '/') ? 'documents.zip' : $documentInfo['title'].'.zip';

+ 0 - 1
main/exercice/exercise.php

@@ -118,7 +118,6 @@ $nameTools = get_lang('Exercises');
 $errorXmlExport = null;
 if ($is_allowedToEdit && !empty($choice) && $choice == 'exportqti2') {
     require_once api_get_path(SYS_CODE_PATH).'exercice/export/qti2/qti2_export.php';
-    require_once api_get_path(LIBRARY_PATH).'pclzip/pclzip.lib.php';
 
     $export = export_exercise_to_qti($exerciseId, true);
     $archive_path = api_get_path(SYS_ARCHIVE_PATH);

+ 0 - 2
main/exercice/hotpotatoes.php

@@ -8,8 +8,6 @@
 
 require_once '../inc/global.inc.php';
 
-// Including additional libraries.
-require_once api_get_path(LIBRARY_PATH).'pclzip/pclzip.lib.php';
 require_once 'hotpotatoes.lib.php';
 
 // Section (for the tabs).

+ 1 - 1
main/inc/ajax/model.ajax.php

@@ -1509,7 +1509,7 @@ switch ($action) {
                     $class = 'btn btn-danger';
                     $text = get_lang('Remove');
                 } else {
-                    $url  = 'class.php?action=add_class_to_course&id='.$group['id'].'&'.api_get_cidreq();
+                    $url  = 'class.php?action=add_class_to_course&id='.$group['id'].'&'.api_get_cidreq().'&type=not_registered';
                     $class = 'btn btn-primary';
                     //$icon = Display::return_icon('add.png', get_lang('Add'));
                     $text = get_lang('Add');

+ 0 - 2
main/inc/lib/add_course.lib.inc.php

@@ -1444,8 +1444,6 @@ class AddCourse
      */
     public static function readPropertiesInArchive($archive, $is_compressed = true)
     {
-        include api_get_path(LIBRARY_PATH) . 'pclzip/pclzip.lib.php';
-        debug::printVar(dirname($archive), 'Zip : ');
         $uid = api_get_user_id();
         /*
         string tempnam (string dir, string prefix)

+ 21 - 12
main/inc/lib/display.lib.php

@@ -1893,9 +1893,9 @@ class Display
             foreach ($items as $item) {
                 $html .= '<div class="accordion-my-group">';
                 $html .= '<div class="accordion-heading">
-                                <a class="accordion-toggle" data-toggle="collapse" data-parent="#'.$id.'" href="#collapse'.$count.'">
-                                '.$item['title'].'
-                                </a>
+                            <a class="accordion-toggle" data-toggle="collapse" data-parent="#'.$id.'" href="#collapse'.$count.'">
+                            '.$item['title'].'
+                            </a>
                           </div>';
 
                 $html .= '<div id="collapse'.$count.'" class="accordion-body">';
@@ -1906,6 +1906,7 @@ class Display
             }
             $html .= '</div>';
         }
+
         return $html;
     }
 
@@ -1915,8 +1916,10 @@ class Display
     public static function group_button($title, $elements)
     {
         $html = '<div class="btn-group">
-            <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">'.$title.'  <span class="caret"></span></button>
-            <ul class="dropdown-menu">';
+                <button class="btn btn-default dropdown-toggle" data-toggle="dropdown">
+                '.$title.'
+                <span class="caret"></span></button>
+                <ul class="dropdown-menu">';
         foreach ($elements as $item) {
             $html .= Display::tag('li', Display::url($item['title'], $item['href']));
         }
@@ -1957,6 +1960,7 @@ class Display
                             <param name="flashvars" value="controls=true&file='.$params['url'].'" />
                           </object>';
                 $html .= '</audio>';
+
                 return $html;
                 break;
         }
@@ -1991,6 +1995,7 @@ class Display
                 $messageToString .= $message;
             }
         }
+
         return $messageToString;
     }
 
@@ -2032,10 +2037,7 @@ class Display
             $objSSO = null;
 
             if (!empty($subSSOClass)) {
-                require_once api_get_path(
-                        SYS_CODE_PATH
-                    )."auth/sso/sso.$subSSOClass.class.php";
-
+                require_once api_get_path(SYS_CODE_PATH)."auth/sso/sso.$subSSOClass.class.php";
                 $subSSOClass = 'sso'.$subSSOClass;
                 $objSSO = new $subSSOClass();
             } else {
@@ -2090,20 +2092,26 @@ class Display
      * @param string $text The button content
      * @param string $url The url to button
      * @param string $icon The Awesome Font class for icon
-     * @param string $type Ooptional. The button Bootstrap class. Default 'default' class
+     * @param string $type Optional. The button Bootstrap class. Default 'default' class
      * @param array $attributes The additional attributes
      * @return string The button HTML
      */
     public static function toolbarButton($text, $url, $icon = 'check', $type = 'default', array $attributes = [])
     {
         $buttonClass = "btn btn-$type";
-
         $icon = self::tag('i', null, ['class' => "fa fa-$icon"]);
-
         $attributes['class'] = isset($attributes['class']) ? "$buttonClass {$attributes['class']}" : $buttonClass;
 
         return self::url("$icon $text", $url, $attributes);
     }
+
+    /**
+     * @param int $id
+     * @param array $content
+     * @param int $col
+     * @param bool|true $right
+     * @return string
+     */
     public static function toolbarAction($id, $content = array(), $col = 2, $right = true)
     {
         $columns = 12/$col;
@@ -2131,6 +2139,7 @@ class Display
         }
         $html .= '</div>';
         $html .= '</div>';
+
         return $html;
     }
 }

+ 1 - 1
main/inc/lib/pear/HTML/QuickForm/select.php

@@ -550,7 +550,7 @@ class HTML_QuickForm_select extends HTML_QuickForm_element
                 $this->setName($myName);
             }
 
-            $strHtml .= $tabs . '<select class="selectpicker show-tick form-control"' . $attrString . ">\n";
+            $strHtml .= $tabs . '<select data-live-search="true" class="selectpicker show-tick form-control"' . $attrString . ">\n";
 
             $strValues = is_array($this->_values)? array_map('strval', $this->_values): array();
 

+ 0 - 1
main/newscorm/aicc.class.php

@@ -668,7 +668,6 @@ class aicc extends learnpath
         //error_log('New LP - in export_zip()', 0);
         // Zip everything that is in the corresponding scorm dir.
         // Write the zip file somewhere (might be too big to return).
-        require_once api_get_path(LIBRARY_PATH).'pclzip/pclzip.lib.php';
         require_once 'learnpath_functions.inc.php';
         $course_id = api_get_course_int_id();
         $tbl_lp = Database::get_course_table(TABLE_LP_MAIN);

+ 20 - 21
main/user/class.php

@@ -37,16 +37,16 @@ $(document).ready( function() {
 });
 </script>';
 
-Display :: display_header($tool_name, "User");
+$actions = '';
 $usergroup = new UserGroup();
 if (api_is_allowed_to_edit()) {
-    echo '<div class="actions">';
+    $actions .= '<div class="actions">';
     if ($type == 'registered') {
-        echo '<a href="class.php?'.api_get_cidreq().'&type=not_registered">'.
+        $actions .= '<a href="class.php?'.api_get_cidreq().'&type=not_registered">'.
             Display::return_icon('add.png', get_lang("AddClassesToACourse"), array(), ICON_SIZE_MEDIUM).'</a>';
     } else {
-        echo '<a href="class.php?'.api_get_cidreq().'&type=registered">'.
-            Display::return_icon('empty_evaluation.png', get_lang("Classes"), array(), ICON_SIZE_MEDIUM).'</a>';
+        $actions .= '<a href="class.php?'.api_get_cidreq().'&type=registered">'.
+            Display::return_icon('back.png', get_lang("Classes"), array(), ICON_SIZE_MEDIUM).'</a>';
 
         $form = new FormValidator('groups', 'post', api_get_self(), '', '', FormValidator::LAYOUT_INLINE);
         $options = [
@@ -56,13 +56,11 @@ if (api_is_allowed_to_edit()) {
         ];
         $form->addSelect('group_filter', get_lang('Groups'), $options, ['id' => 'group_filter']);
         $form->setDefaults(['group_filter' => $groupFilter]);
-        $form->display();
+        $actions .= $form->returnForm();
     }
-    echo '</div>';
+    $actions .= '</div>';
 }
 
-echo UserManager::getUserSubscriptionTab(4);
-
 if (api_is_allowed_to_edit()) {
     $action = isset($_GET['action']) ? $_GET['action'] : null;
     switch ($action) {
@@ -74,6 +72,7 @@ if (api_is_allowed_to_edit()) {
                     array(api_get_course_int_id()),
                     false
                 );
+                Display::addFlash(Display::return_message(get_lang('Added')));
             }
             break;
         case 'remove_class_from_course':
@@ -83,6 +82,7 @@ if (api_is_allowed_to_edit()) {
                     $id,
                     array(api_get_course_int_id())
                 );
+                Display::addFlash(Display::return_message(get_lang('Deleted')));
             }
             break;
     }
@@ -101,8 +101,8 @@ $columns = array(
     get_lang('Actions'),
 );
 
-//Column config
-$column_model = array(
+// Column config
+$columnModel = array(
     array('name'=>'name',
         'index' => 'name',
         'width' => '35',
@@ -135,26 +135,25 @@ $column_model = array(
     ),
 );
 // Autowidth
-$extra_params['autowidth'] = 'true';
+$extraParams['autowidth'] = 'true';
 // height auto
-$extra_params['height'] = 'auto';
-
-// With this function we can add actions to the jgrid
-$action_links = 'function action_formatter (cellvalue, options, rowObject) {
-    return \''
-    .' <a href="class.php?action=add_class&id=\'+options.rowId+\'"><img src="../img/icons/22/user_to_class.png" title="'.get_lang('SubscribeUsersToClass').'"></a>'
-    .' <a onclick="javascript:if(!confirm('."\'".addslashes(api_htmlentities(get_lang("ConfirmYourChoice"),ENT_QUOTES))."\'".')) return false;"  href="?action=delete&id=\'+options.rowId+\'"><img title="'.get_lang('Delete').'" src="../img/delete.png"></a>\';
-}';
+$extraParams['height'] = 'auto';
+
+Display :: display_header($tool_name, "User");
+
 ?>
 <script>
 $(function() {
 <?php
     // grid definition see the $usergroup>display() function
-    echo Display::grid_js('usergroups',  $url, $columns, $column_model, $extra_params, array(), $action_links, true);
+    echo Display::grid_js('usergroups',  $url, $columns, $columnModel, $extraParams, array(), '', true);
 ?>
 });
 </script>
 <?php
 
+echo $actions;
+echo UserManager::getUserSubscriptionTab(4);
+
 $usergroup->display_teacher_view();
 Display :: display_footer();

+ 0 - 3
main/work/downloadfolder.inc.php

@@ -35,9 +35,6 @@ if (empty($_course) || empty($_course['path'])) {
 
 $sys_course_path = api_get_path(SYS_COURSE_PATH);
 
-//zip library for creation of the zipfile
-require_once api_get_path(LIBRARY_PATH).'pclzip/pclzip.lib.php';
-
 // Creating a ZIP file
 $temp_zip_file = api_get_path(SYS_ARCHIVE_PATH).api_get_unique_id().".zip";
 

+ 0 - 1
main/work/work.lib.php

@@ -4895,7 +4895,6 @@ function downloadAllFilesPerUser($userId, $courseInfo)
         return false;
     }
 
-    require_once api_get_path(LIBRARY_PATH).'pclzip/pclzip.lib.php';
     $tempZipFile = api_get_path(SYS_ARCHIVE_PATH).api_get_unique_id().".zip";
     $coursePath = api_get_path(SYS_COURSE_PATH).$courseInfo['path'].'/work/';