Преглед на файлове

Fixing elfinder + ckeditor + course and session loaders see #7006 + BT#7058

Julio Montoya преди 11 години
родител
ревизия
08840adb8f
променени са 100 файла, в които са добавени 548 реда и са изтрити 540 реда
  1. 1 1
      main/create_course/add_course.php
  2. 1 1
      main/document/document_lite.php
  3. 5 36
      main/inc/global.inc.php
  4. 1 1
      main/inc/lib/display.lib.php
  5. 1 1
      main/inc/lib/pdf.lib.php
  6. 81 92
      main/inc/lib/template.lib.php
  7. 77 35
      main/inc/services.php
  8. 1 1
      main/social/friends.php
  9. 3 3
      src/ChamiloLMS/Component/Editor/CkEditor/CkEditor.php
  10. 3 1
      src/ChamiloLMS/Component/Editor/Connector.php
  11. 1 1
      src/ChamiloLMS/Component/Editor/Driver/DropBoxDriver.php
  12. 11 2
      src/ChamiloLMS/Component/Editor/Editor.php
  13. 3 3
      src/ChamiloLMS/Component/Editor/TinyMce/TinyMce.php
  14. 1 4
      src/ChamiloLMS/Controller/Admin/QuestionManager/QuestionManagerController.php
  15. 2 2
      src/ChamiloLMS/Controller/BaseController.php
  16. 1 4
      src/ChamiloLMS/Controller/ExerciseController.php
  17. 3 2
      src/ChamiloLMS/Controller/IndexController.php
  18. 3 1
      src/ChamiloLMS/Controller/LegacyController.php
  19. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/branches/add.tpl
  20. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/branches/add_from_parent.tpl
  21. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/branches/edit.tpl
  22. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/branches/list.tpl
  23. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/branches/read.tpl
  24. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/juries/add.tpl
  25. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/juries/add_members.tpl
  26. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/juries/edit.tpl
  27. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/juries/list.tpl
  28. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/juries/read.tpl
  29. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/question_score/add.tpl
  30. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/question_score/edit.tpl
  31. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/question_score/list.tpl
  32. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/question_score/read.tpl
  33. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/question_score_name/add.tpl
  34. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/question_score_name/edit.tpl
  35. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/question_score_name/list.tpl
  36. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/question_score_name/read.tpl
  37. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/role/add.tpl
  38. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/role/edit.tpl
  39. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/role/list.tpl
  40. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/role/read.tpl
  41. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/role_index.tpl
  42. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/upgrade/index.tpl
  43. 0 0
      src/ChamiloLMS/Resources/views/default/admin/administrator/upgrade/upgrade.tpl
  44. 0 0
      src/ChamiloLMS/Resources/views/default/admin/director/branches/list.tpl
  45. 0 0
      src/ChamiloLMS/Resources/views/default/admin/director/branches/read.tpl
  46. 0 0
      src/ChamiloLMS/Resources/views/default/admin/index.tpl
  47. 0 0
      src/ChamiloLMS/Resources/views/default/admin/jury_member/index.tpl
  48. 0 0
      src/ChamiloLMS/Resources/views/default/admin/jury_member/score_user.tpl
  49. 0 0
      src/ChamiloLMS/Resources/views/default/admin/jury_president/assign_members.tpl
  50. 0 0
      src/ChamiloLMS/Resources/views/default/admin/jury_president/check_answers.tpl
  51. 0 0
      src/ChamiloLMS/Resources/views/default/admin/jury_president/index.tpl
  52. 0 0
      src/ChamiloLMS/Resources/views/default/admin/questionmanager/edit_category.tpl
  53. 0 0
      src/ChamiloLMS/Resources/views/default/admin/questionmanager/edit_question.tpl
  54. 0 0
      src/ChamiloLMS/Resources/views/default/admin/questionmanager/question_categories.tpl
  55. 0 0
      src/ChamiloLMS/Resources/views/default/admin/questionmanager/questionmanager.tpl
  56. 0 0
      src/ChamiloLMS/Resources/views/default/admin/questionmanager/questions.tpl
  57. 0 0
      src/ChamiloLMS/Resources/views/default/admin/questionmanager/role_index.tpl
  58. 0 0
      src/ChamiloLMS/Resources/views/default/admin/questionmanager/show_category.tpl
  59. 0 0
      src/ChamiloLMS/Resources/views/default/admin/session_manager/role_index.tpl
  60. 0 0
      src/ChamiloLMS/Resources/views/default/agenda/month.tpl
  61. 0 0
      src/ChamiloLMS/Resources/views/default/app/session_path/add.tpl
  62. 0 0
      src/ChamiloLMS/Resources/views/default/app/session_path/edit.tpl
  63. 0 0
      src/ChamiloLMS/Resources/views/default/app/session_path/list.tpl
  64. 0 0
      src/ChamiloLMS/Resources/views/default/app/session_path/read.tpl
  65. 0 0
      src/ChamiloLMS/Resources/views/default/app/session_path/session_tree/add.tpl
  66. 0 0
      src/ChamiloLMS/Resources/views/default/app/session_path/session_tree/list.tpl
  67. 0 0
      src/ChamiloLMS/Resources/views/default/auth/categories_list.php
  68. 0 0
      src/ChamiloLMS/Resources/views/default/auth/courses_categories.php
  69. 0 0
      src/ChamiloLMS/Resources/views/default/auth/courses_list.php
  70. 0 0
      src/ChamiloLMS/Resources/views/default/auth/layout.php
  71. 0 0
      src/ChamiloLMS/Resources/views/default/auth/login.tpl
  72. 33 33
      src/ChamiloLMS/Resources/views/default/course_description/edit.tpl
  73. 108 108
      src/ChamiloLMS/Resources/views/default/course_description/index.tpl
  74. 14 14
      src/ChamiloLMS/Resources/views/default/course_description/upload.tpl
  75. 0 0
      src/ChamiloLMS/Resources/views/default/create_course/add_course.tpl
  76. 0 0
      src/ChamiloLMS/Resources/views/default/crud_macros/course_crud.tpl
  77. 0 0
      src/ChamiloLMS/Resources/views/default/crud_macros/simple_crud.tpl
  78. 0 0
      src/ChamiloLMS/Resources/views/default/exercise/question/edit_question.tpl
  79. 0 0
      src/ChamiloLMS/Resources/views/default/exercise/question/show_question.tpl
  80. 0 0
      src/ChamiloLMS/Resources/views/default/exercise/question_pool.tpl
  81. 0 0
      src/ChamiloLMS/Resources/views/default/export/table_pdf.tpl
  82. 0 0
      src/ChamiloLMS/Resources/views/default/form/form_custom_template.tpl
  83. 0 0
      src/ChamiloLMS/Resources/views/default/glossary/csv.tpl
  84. 8 8
      src/ChamiloLMS/Resources/views/default/glossary/edit.tpl
  85. 6 6
      src/ChamiloLMS/Resources/views/default/glossary/header.tpl
  86. 39 39
      src/ChamiloLMS/Resources/views/default/glossary/index.tpl
  87. 27 27
      src/ChamiloLMS/Resources/views/default/glossary/javascript.tpl
  88. 34 34
      src/ChamiloLMS/Resources/views/default/glossary/list.tpl
  89. 72 72
      src/ChamiloLMS/Resources/views/default/glossary/table.tpl
  90. 8 8
      src/ChamiloLMS/Resources/views/default/glossary/upload.tpl
  91. 0 0
      src/ChamiloLMS/Resources/views/default/index/course_block.tpl
  92. 0 0
      src/ChamiloLMS/Resources/views/default/index/course_session_block.tpl
  93. 0 0
      src/ChamiloLMS/Resources/views/default/index/help_block.tpl
  94. 0 0
      src/ChamiloLMS/Resources/views/default/index/navigation_block.tpl
  95. 0 0
      src/ChamiloLMS/Resources/views/default/index/notice_block.tpl
  96. 0 0
      src/ChamiloLMS/Resources/views/default/index/profile_block.tpl
  97. 0 0
      src/ChamiloLMS/Resources/views/default/index/profile_social_block.tpl
  98. 0 0
      src/ChamiloLMS/Resources/views/default/index/session_block.tpl
  99. 0 0
      src/ChamiloLMS/Resources/views/default/index/skills_block.tpl
  100. 0 0
      src/ChamiloLMS/Resources/views/default/index/teacher_block.tpl

+ 1 - 1
main/create_course/add_course.php

@@ -236,7 +236,7 @@ if ($form->validate()) {
                 $tpl->assign('course_title', Display::url($title, $link));
                 $tpl->assign('course_id', $course_info['code']);
 
-                $template = $tpl->get_template('create_course/add_course.tpl');
+                $template = $tpl->getTemplate('create_course/add_course.tpl');
                 $tpl->display($template);
             } else {
                 $message = Display :: return_message(get_lang('CourseCreationFailed'), 'error', false);

+ 1 - 1
main/document/document_lite.php

@@ -1029,7 +1029,7 @@ $(function() {
 require_once 'controller.php';
 $controller = new DocumentController();
 
-$tpl = $controller->tpl->get_template('layout/layout_2_col.tpl');
+$tpl = $controller->tpl->getTemplate('layout/layout_2_col.tpl');
 $content = Display::grid_html('documents');
 
 if (!is_null($docs_and_folders)) {

+ 5 - 36
main/inc/global.inc.php

@@ -25,6 +25,9 @@ use Symfony\Component\HttpFoundation\RedirectResponse;
 use Symfony\Component\HttpFoundation\Response;
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\Yaml\Parser;
+use Symfony\Component\Translation\Loader\PoFileLoader;
+use Symfony\Component\Translation\Loader\MoFileLoader;
+use Symfony\Component\Finder\Finder;
 
 // Determine the directory path for this file.
 $includePath = dirname(__FILE__);
@@ -290,11 +293,8 @@ $cidReset = null;
 
 /** Silex Middlewares. */
 
-/** A "before" middleware allows you to tweak the Request before the controller is executed. */
-
-use Symfony\Component\Translation\Loader\PoFileLoader;
-use Symfony\Component\Translation\Loader\MoFileLoader;
-use Symfony\Component\Finder\Finder;
+/* A "before" middleware allows you to tweak the Request
+ * before the controller is executed. */
 
 $app->before(
 
@@ -555,37 +555,6 @@ $app->before(
             var_dump(api_get_course_id());exit;
         }*/
 
-        // Setting course entity for controllers and templates.
-
-
-        // The course parameter is loaded.
-        $courseCode = $request->get('course');
-
-        if (empty($courseCode)) {
-            $courseCode = api_get_course_id();
-        }
-
-        if (!empty($courseCode)) {
-
-            // Converting /courses/XXX/ to a Entity/Course object.
-            $course = $app['orm.em']->getRepository('Entity\Course')->findOneByCode($courseCode);
-            $app['course'] = $course;
-            $app['template']->assign('course', $course);
-
-            $sessionId = $request->get('id_session');
-
-            if (empty($sessionId)) {
-                $sessionId = api_get_session_id();
-            }
-
-            $courseSession = $app['orm.em']->getRepository('Entity\Session')->findOneById($sessionId);
-            $app['course_session'] = $courseSession;
-            $app['template']->assign('course_session', $courseSession);
-        } else {
-            $app['course'] = null;
-        }
-        $app['session']->set('course_session', $app['course']);
-
         $studentView = $request->get('isStudentView');
         if (!empty($studentView)) {
             if ($studentView == 'true') {

+ 1 - 1
main/inc/lib/display.lib.php

@@ -63,7 +63,7 @@ class Display
     {
         global $app;
         global $tool_name, $show_learnpath;
-        $disable_js_and_css_files       = true;
+        $app['template']->disableJsAndCss = true;
         $app['template.show_header']    = false;
         $app['template.show_footer']    = false;
         $app['template.show_learnpath'] = $show_learnpath;

+ 1 - 1
main/inc/lib/pdf.lib.php

@@ -86,7 +86,7 @@ class PDF
         Display::$global_template->assign('add_signatures', $this->params['add_signatures']);
 
         //Getting template
-        $tpl = Display::$global_template->get_template('export/table_pdf.tpl');
+        $tpl = Display::$global_template->getTemplate('export/table_pdf.tpl');
         $html = Display::$global_template->fetch($tpl);
         $html = api_utf8_encode($html);
 

+ 81 - 92
main/inc/lib/template.lib.php

@@ -11,6 +11,7 @@ use Silex\Application;
 use Symfony\Component\Security\Core\SecurityContext;
 use Symfony\Component\Translation\Translator;
 use Symfony\Component\Routing\Router;
+use ChamiloLMS\Component\Editor\Editor;
 
 class Template
 {
@@ -31,6 +32,8 @@ class Template
     public $force_plugin_load = true;
     public $navigation_array;
     public $loadBreadcrumb = true;
+    public $resources = array();
+    public $disableJsAndCss = false;
 
     /** @var SecurityContext */
     private $security;
@@ -38,6 +41,8 @@ class Template
     private $translator;
     /** @var Router */
     private $urlGenerator;
+    /** @var Editor */
+    private $htmlEditor;
 
     /**
      * @param Application $app
@@ -52,11 +57,13 @@ class Template
         SecurityContext $security,
         Translator $translator,
         Router $urlGenerator
+        //Editor $htmlEditor
     ) {
         $this->app = &$app;
         $this->security = $security;
         $this->translator = $translator;
         $this->urlGenerator = $urlGenerator;
+        //$this->htmlEditor = $htmlEditor;
 
         $this->app['classic_layout'] = true;
         $this->navigation_array = $this->returnNavigationArray();
@@ -199,7 +206,7 @@ class Template
      * */
     public function display_one_col_template()
     {
-        $tpl = $this->get_template('layout/layout_1_col.tpl');
+        $tpl = $this->getTemplate('layout/layout_1_col.tpl');
         $this->display($tpl);
     }
 
@@ -208,7 +215,7 @@ class Template
      * */
     public function display_two_col_template()
     {
-        $tpl = $this->get_template('layout/layout_2_col.tpl');
+        $tpl = $this->getTemplate('layout/layout_2_col.tpl');
         $this->display($tpl);
     }
 
@@ -217,7 +224,7 @@ class Template
      */
     public function display_blank_template()
     {
-        $tpl = $this->get_template('layout/blank.tpl');
+        $tpl = $this->getTemplate('layout/blank.tpl');
         $this->display($tpl);
     }
 
@@ -226,7 +233,7 @@ class Template
      */
     public function display_no_layout_template()
     {
-        $tpl = $this->get_template('layout/no_layout.tpl');
+        $tpl = $this->getTemplate('layout/no_layout.tpl');
         $this->display($tpl);
     }
 
@@ -316,8 +323,6 @@ class Template
         $this->course_id = api_get_course_int_id();
         $this->app['course_code'] = api_get_course_id();
         $this->app['session_id'] = api_get_session_id();
-
-        //$this->app['page_controller']->return_welcome_to_course_block($this->app['template']);
     }
 
     /**
@@ -392,9 +397,7 @@ class Template
      */
     private function setCssFiles()
     {
-        global $disable_js_and_css_files;
         $css = array();
-
         $this->theme = api_get_visual_theme();
         if (isset($_POST['style']) && api_is_platform_admin()) {
             $this->preview_theme = $_POST['style'];
@@ -430,7 +433,6 @@ class Template
             }
 
             $css[] = api_get_path(WEB_LIBRARY_JS_PATH).'jquery-ui/css/'.$this->jquery_ui_theme.'/jquery-ui-custom.css';
-            //$css[] = api_get_path(WEB_LIBRARY_JS_PATH).'jquery-ui/default.css';
         }
 
         $css[] = api_get_path(WEB_LIBRARY_JS_PATH).'font-awesome/css/font-awesome.css';
@@ -442,68 +444,16 @@ class Template
         // Default theme CSS.
         $css[] = api_get_cdn_path($cssPath.'themes/'.$this->theme.'/default.css');
 
-        $css_file_to_string = null;
-        foreach ($css as $file) {
-            $css_file_to_string .= api_get_css($file);
-        }
-
-        // @todo move this somewhere else. Special fix when using tablets in order to see the text near icons
-        if (SHOW_TEXT_NEAR_ICONS == true) {
-            //hack in order to fix the actions buttons
-            $css_file_to_string .= '<style>
-                .td_actions a {
-                    float:left;
-                    width:100%;
-                }
-                .forum_message_left a {
-                    float:left;
-                    width:100%;
-                }
-                </style>';
-        }
-
-        $navigator_info = api_get_navigator();
-        if ($navigator_info['name'] == 'Internet Explorer' && $navigator_info['version'] == '6') {
-            $css_file_to_string .= 'img, div { behavior: url('.api_get_path(
-                    WEB_LIBRARY_JS_PATH
-            ).'iepngfix/iepngfix.htc) } '."\n";
-        }
-
-        if (!$disable_js_and_css_files) {
-            $style_print = api_get_css(api_get_cdn_path($cssPath.'themes/'.$this->theme.'/print.css'), 'print');
-            $this->assign('css_style_print', $style_print);
-
-            $this->assign('css_file_to_string', $css_file_to_string);
-        }
-    }
-
-    /**
-     * @param array $htmlHeadXtra
-     */
-    public function addJsFiles($htmlHeadXtra = array())
-    {
-        $extra_headers = null;
-        if (isset($htmlHeadXtra) && $htmlHeadXtra) {
-            foreach ($htmlHeadXtra as $this_html_head) {
-                $extra_headers .= $this_html_head."\n";
-            }
-        }
+        $this->addResource($css, 'css');
 
-        if (isset($this->app['extraJS'])) {
-            foreach ($this->app['extraJS'] as $this_html_head) {
-                $extra_headers .= $this_html_head."\n";
-            }
+        if (!$this->disableJsAndCss) {
+            $style = api_get_css(api_get_cdn_path($cssPath.'themes/'.$this->theme.'/print.css'), 'print');
+            $this->addResource($style, 'no_js_css');
         }
-        $this->assign('extra_headers', $extra_headers);
     }
 
-    /**
-     * Sets JS files
-     */
-    private function setJsFiles()
+    public function setJsFiles()
     {
-        global $disable_js_and_css_files, $htmlHeadXtra;
-
         $jsFolder = api_get_path(WEB_LIBRARY_JS_PATH);
 
         if ($this->app['assetic.enabled']) {
@@ -530,7 +480,7 @@ class Template
             );
         }
 
-        $this->app['html_editor']->getJavascriptToInclude($jsFiles);
+        //$this->app['html_editor']->getJavascriptToInclude();
 
         if (api_is_global_chat_enabled()) {
             //Do not include the global chat in LP
@@ -550,35 +500,74 @@ class Template
         if (api_get_setting('disable_copy_paste') == 'true') {
             $jsFiles[] = $jsFolder.'jquery.nocutcopypaste.js';
         }
+        $this->addResource($jsFiles, 'js');
+    }
 
-        $js_file_to_string = null;
-
-        foreach ($jsFiles as $js_file) {
-            $js_file_to_string .= api_get_js_simple($js_file);
-        }
-
-        // Loading email_editor js.
-        if (!api_is_anonymous() && api_get_setting('allow_email_editor') == 'true') {
-            $js_file_to_string .= $this->fetch($this->app['template_style'].'/mail_editor/email_link.js.tpl');
-        }
-
-        if (!$disable_js_and_css_files) {
-            $this->assign('js_file_to_string', $js_file_to_string);
+    /**
+     * Get resource list.
+     * @return array
+     */
+    public function getResources()
+    {
+       return $this->resources;
+    }
 
-            $extra_headers = null;
-            if (isset($htmlHeadXtra) && $htmlHeadXtra) {
-                foreach ($htmlHeadXtra as $this_html_head) {
-                    $extra_headers .= $this_html_head."\n";
-                }
+    /**
+     * Add an item to the resources array.
+     * @param string $resource
+     * @param string $type js or css
+     */
+    public function addResource($resource, $type)
+    {
+        if (is_array($resource)) {
+            if (isset($this->resources[$type])) {
+                $this->resources[$type] = array_merge($this->resources[$type], $resource);
+            } else {
+                $this->resources[$type] = $resource;
             }
+        } else {
+            $this->resources[$type][] = $resource;
+        }
+    }
 
-            if (isset($this->app['extraJS'])) {
-                foreach ($this->app['extraJS'] as $this_html_head) {
-                    $extra_headers .= $this_html_head."\n";
-                }
+    /**
+     * @return string
+     */
+    public function parseResources()
+    {
+        $resourceToString = null;
+
+        foreach ($this->resources as $type => $resources) {
+            switch($type) {
+                case 'js':
+                    if ($this->disableJsAndCss == false) {
+                        foreach($resources as $resource) {
+                            $resourceToString .= api_get_js_simple($resource);
+                        }
+                    }
+                    break;
+                case 'css':
+                    if ($this->disableJsAndCss == false) {
+                        foreach($resources as $resource) {
+                            $resourceToString .= api_get_css($resource);
+                        }
+                    }
+                    break;
+                case 'string':
+                    if ($this->disableJsAndCss == false) {
+                        foreach($resources as $resource) {
+                            $resourceToString .= $resource;
+                        }
+                    }
+                    break;
+                case 'no_js_css':
+                    foreach($resources as $resource) {
+                        $resourceToString .= $resource;
+                    }
+                    break;
             }
-            $this->assign('extra_headers', $extra_headers);
         }
+        $this->assign('resources', $resourceToString);
     }
 
     /**
@@ -955,7 +944,7 @@ class Template
         if (empty($layout)) {
             $layout = $this->app['default_layout'];
         }
-        $this->addJsFiles();
+        $this->parseResources();
         return $this->app['twig']->render($this->app['template_style'].'/layout/'.$layout);
     }
 
@@ -987,7 +976,7 @@ class Template
      */
     public function renderTemplate($template, $elements = array())
     {
-        $this->addJsFiles();
+        $this->parseResources();
         return $this->app['twig']->render($this->app['template_style'].'/'.$template, $elements);
     }
 

+ 77 - 35
main/inc/services.php

@@ -35,10 +35,8 @@ $app->register(new Flint\Provider\RoutingServiceProvider(), array(
 
 if (isset($app['configuration']['services']['media-alchemyst'])) {
     $app->register(new MediaAlchemystServiceProvider());
-
     $app->register(new PHPExiftoolServiceProvider());
     $app->register(new FFMpegServiceProvider());
-
     $app->register(new MediaVorusServiceProvider(), array(
         'media-alchemyst.configuration' => array(
             'ffmpeg.threads'               => 4,
@@ -197,6 +195,7 @@ $app['allow_admin_toolbar'] = array(
     'ROLE_QUESTION_MANAGER',
     'ROLE_SESSION_MANAGER'
 );
+
 /*
 use ChamiloLMS\Component\Auth\CourseVoter;
 use ChamiloLMS\Component\Auth\CourseAccessDecisionManager;
@@ -236,8 +235,6 @@ if (!empty($strategies)) {
     $app->register(new OpauthExtension());
 }
 
-
-
 /*
 $app['security.access_manager'] = $app->share(function($app) {
     return new AccessDecisionManager($app['security.voters'], 'unanimous');
@@ -256,12 +253,12 @@ $app->register(new Silex\Provider\TranslationServiceProvider(), array(
 // Validator provider.
 $app->register(new Silex\Provider\ValidatorServiceProvider());
 
-// Form provider
+// Form provider.
 $app->register(new Silex\Provider\FormServiceProvider(), array(
     'form.secret' => sha1(__DIR__)
 ));
 
-// URL generator provider
+// URL generator provider.
 //$app->register(new Silex\Provider\UrlGeneratorServiceProvider());
 
 class ManagerRegistry extends AbstractManagerRegistry
@@ -294,14 +291,14 @@ class ManagerRegistry extends AbstractManagerRegistry
     }
 }
 
-// Setting up the Manager registry
+// Setting up the Manager registry in order to use entity in forms.
 $app['manager_registry'] = $app->share(function() use ($app) {
     $managerRegistry = new ManagerRegistry(null, array('db'), array('orm.em'), null, null, $app['orm.proxies_namespace']);
     $managerRegistry->setContainer($app);
     return $managerRegistry;
 });
 
-// Needed to use the "entity" option in Symfony forms
+// Needed to use the "entity" option in Symfony forms.
 $app['form.extensions'] = $app->share($app->extend('form.extensions', function ($extensions, $app) {
     $extensions[] = new \Symfony\Bridge\Doctrine\Form\DoctrineOrmExtension($app['manager_registry']);
     return $extensions;
@@ -315,7 +312,7 @@ $app['validator.validator_factory'] = $app->share(function ($app) {
     return $factory;
 });
 
-// Setting Doctrine service provider (DBAL)
+// Setting Doctrine service provider (DBAL).
 if (isset($app['configuration']['main_database'])) {
 
     /* The database connection can be overwritten if you set $_configuration['db.options']
@@ -360,6 +357,7 @@ if (isset($app['configuration']['main_database'])) {
         $defaultDatabaseOptions = $app['configuration']['db.options'];
     }
 
+    // Doctrine service provider.
     $app->register(
         new Silex\Provider\DoctrineServiceProvider(),
         array(
@@ -418,7 +416,7 @@ $app->register(
     new Silex\Provider\TwigServiceProvider(),
     array(
         'twig.path' => array(
-            $app['sys_root'].'main/template', //template folder
+            $app['sys_root'].'src/ChamiloLMS/Resources/views', //template folder
             $app['sys_root'].'plugin' //plugin folder
         ),
         // twitter bootstrap form twig templates
@@ -434,7 +432,7 @@ $app->register(
     )
 );
 
-// Setting Twig options
+// Setting Twig options.
 $app['twig'] = $app->share(
     $app->extend('twig', function ($twig) {
         $twig->addFilter('get_lang', new Twig_Filter_Function('get_lang'));
@@ -500,9 +498,9 @@ $app->register(new Grom\Silex\ImagineServiceProvider(), array(
 
 // Prompts Doctrine SQL queries using Monolog.
 
-$app['dbal_logger'] = $app->share(function() {
-    //return new Doctrine\DBAL\Logging\DebugStack();
-});
+/*$app['dbal_logger'] = $app->share(function() {
+    return new Doctrine\DBAL\Logging\DebugStack();
+});*/
 
 if ($app['debug']) {
     /*$logger = new Doctrine\DBAL\Logging\DebugStack();
@@ -593,7 +591,7 @@ $app->register(new GaufretteServiceProvider(), array(
 ));
 */
 
-// Use Symfony2 filesystem instead of custom scripts
+// Use Symfony2 filesystem instead of custom scripts.
 $app->register(new Neutron\Silex\Provider\FilesystemServiceProvider());
 
 /** Chamilo service provider. */
@@ -610,6 +608,35 @@ class ChamiloServiceProvider implements ServiceProviderInterface
 
         $database = $app['database'];
 
+        $app['html_editor'] = $app->share(function($app) {
+            $editor = new ChamiloLMS\Component\Editor\CkEditor\CkEditor(
+                $app['translator'],
+                $app['url_generator'],
+                $app['template'],
+                $app['course']
+            );
+            $editor->setJavascriptToInclude();
+            return $editor;
+            /*return new ChamiloLMS\Component\Editor\TinyMce\TinyMce(
+                $app['translator'], $app['url_generator']
+            );*/
+        });
+
+        $app['editor_connector'] = $app->share(function ($app) {
+            $token = $app['security']->getToken();
+            $user = $token->getUser();
+
+            return new Connector(
+                $app['orm.em'],
+                $app['paths'],
+                $app['url_generator'],
+                $app['translator'],
+                $app['security'],
+                $user,
+                $app['course']
+            );
+        });
+
         // Template class
         $app['template'] = $app->share(function () use ($app) {
             $template = new Template(
@@ -635,6 +662,41 @@ class ChamiloServiceProvider implements ServiceProviderInterface
             );
         });
 
+        $app['course'] = $app->share(function () use ($app) {
+            $request = $app['request'];
+            $session = $request->getSession();
+            $courseCode = $request->get('course');
+
+            if (empty($courseCode)) {
+                $courseCode = $session->get('_cid');
+            }
+
+            if (!empty($courseCode)) {
+                // Converting /courses/XXX/ to a Entity/Course object.
+                return $app['orm.em']->getRepository('Entity\Course')->findOneByCode($courseCode);
+                //$app['template']->assign('course', $course);
+                return $course;
+            }
+            return null;
+        });
+
+        $app['course_session']  = $app->share(function () use ($app) {
+            $request = $app['request'];
+            $session = $request->getSession();
+            $sessionId = $request->get('id_session');
+            if (empty($sessionId)) {
+                $sessionId = $session->get('id_session');
+            }
+            if (!empty($sessionId)) {
+                return $app['orm.em']->getRepository('Entity\Session')->findOneById($sessionId);
+//                $app['template']->assign('course_session', $courseSession);
+                return $courseSession;
+            }
+            return null;
+        });
+
+
+
         // Chamilo data filesystem.
         $app['chamilo.filesystem'] = $app->share(function () use ($app) {
             $filesystem = new ChamiloLMS\Component\DataFilesystem\DataFilesystem(
@@ -854,26 +916,6 @@ $app['introduction.controller'] = $app->share(
     }
 );
 
-$app['html_editor'] = $app->share(function($app) {
-    return new ChamiloLMS\Component\Editor\CkEditor\CkEditor($app['translator'], $app['url_generator'], $app['course']);
-    //return new ChamiloLMS\Component\Editor\TinyMce\TinyMce($app['translator'], $app['url_generator']);
-});
-
-$app['editor_connector'] = $app->share(function ($app) {
-    $token = $app['security']->getToken();
-    $user = $token->getUser();
-    $course = $app['session']->get('course_session');
-
-    return new Connector(
-        $app['orm.em'],
-        $app['paths'],
-        $app['url_generator'],
-        $app['translator'],
-        $app['security'],
-        $user,
-        $course
-    );
-});
 
 
 $app->register(new Unoconv\UnoconvServiceProvider(), array(

+ 1 - 1
main/social/friends.php

@@ -126,5 +126,5 @@ $tpl = $app['template'];
 $tpl->assign('social_left_content', $social_left_content);
 $tpl->assign('social_right_content', $social_right_content);
 
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->getTemplate('layout/social_layout.tpl');
 $tpl->display($social_layout);

+ 3 - 3
src/ChamiloLMS/Component/Editor/CkEditor/CkEditor.php

@@ -21,12 +21,12 @@ class CkEditor extends Editor
     }
 
     /**
-     * @param array $files
+     * Set js to be include in the template
      */
-    public function getJavascriptToInclude(& $files)
+    public function setJavascriptToInclude()
     {
         $jsFolder = api_get_path(WEB_LIBRARY_JS_PATH);
-        $files[] = $jsFolder.'ckeditor/ckeditor.js';
+        $this->template->addResource($jsFolder.'ckeditor/ckeditor.js', 'js');
     }
 
     /**

+ 3 - 1
src/ChamiloLMS/Component/Editor/Connector.php

@@ -128,6 +128,7 @@ class Connector
         $roots = array();
         /** @var Driver $driver */
         $drivers = $this->getDrivers();
+
         foreach ($drivers as $driver) {
             if ($processDefaultValues) {
                 $plugin = array(
@@ -152,7 +153,7 @@ class Connector
      */
     public function updateWithDefaultValues($driver)
     {
-        if (empty($driver)) {
+        if (empty($driver) || !isset($driver['driver'])) {
             return array();
         }
 
@@ -165,6 +166,7 @@ class Connector
         }
 
         $driverUpdated = array_merge($defaultDriver, $driver);
+
         $driverUpdated['driver'] = 'ChamiloLMS\Component\Editor\Driver\\'.$driver['driver'];
         $driverUpdated['attributes'] = $attributes;
         return $driverUpdated;

+ 1 - 1
src/ChamiloLMS/Component/Editor/Driver/DropBoxDriver.php

@@ -221,7 +221,7 @@ class DropBoxDriver extends \elFinderVolumeMySQL implements InterfaceDriver
     {
         return array(
             //'id' => $file->getId().$file->getCId(),
-            'name' => 'dd',
+            'name' => 'Dropbox',
             //'ts' => $file->getUploadDate(),
             'mime' => 'directory',
             'read' => true,

+ 11 - 2
src/ChamiloLMS/Component/Editor/Editor.php

@@ -45,13 +45,21 @@ class Editor
     /** @var Router */
     public $urlGenerator;
 
+    /** @var \Template */
+    public $template;
+
     /**
      * @param Translator $translator
      * @param Router $urlGenerator
+     * @param \Template $template
      * @param Course $course
      */
-    public function __construct(Translator $translator, Router $urlGenerator, $course)
-    {
+    public function __construct(
+        Translator $translator,
+        Router $urlGenerator,
+        \Template $template,
+        $course
+    ) {
         $this->toolbarSet = 'Basic';
         $this->value = '';
         $this->config = array();
@@ -61,6 +69,7 @@ class Editor
         $this->translator = $translator;
         $this->urlGenerator = $urlGenerator;
         $this->course = $course;
+        $this->template = $template;
     }
 
     /**

+ 3 - 3
src/ChamiloLMS/Component/Editor/TinyMce/TinyMce.php

@@ -12,12 +12,12 @@ use ChamiloLMS\Component\Editor\TinyMce\Toolbar;
 class TinyMce extends Editor
 {
     /**
-     * @param array $files
+     * Set js to be include in the template
      */
-    public function getJavascriptToInclude(& $files)
+    public function setJavascriptToInclude()
     {
         $jsFolder = api_get_path(WEB_LIBRARY_JS_PATH);
-        $files[] = $jsFolder.'tinymce/tinymce.min.js';
+        $this->template->addResource($jsFolder.'tinymce/tinymce.min.js', 'js');
     }
 
     /**

+ 1 - 4
src/ChamiloLMS/Controller/Admin/QuestionManager/QuestionManagerController.php

@@ -206,10 +206,7 @@ class QuestionManagerController
      */
     public function questionsAction(Application $app)
     {
-        $extraJS = array();
-        //@todo improve this JS includes should be added using twig
-        $extraJS[]      = api_get_jqgrid_js();
-        $app['extraJS'] = $extraJS;
+        $app['template']->addResource(api_get_jqgrid_js());
 
         // Getting CQuizCategory repo.
         /** @var \Gedmo\Tree\Entity\Repository\NestedTreeRepository $repo */

+ 2 - 2
src/ChamiloLMS/Controller/BaseController.php

@@ -82,9 +82,9 @@ abstract class BaseController extends FlintController
      */
     protected function getCourse()
     {
-        if (isset($this->app['course']) && !empty($this->app['course'])) {
+        //if (isset($this->app['course'])) {
             return $this->app['course'];
-        }
+        //}
         return false;
     }
 

+ 1 - 4
src/ChamiloLMS/Controller/ExerciseController.php

@@ -102,10 +102,7 @@ class ExerciseController extends CommonController
      */
     public function questionPoolAction(Application $app, $cidReq = null, $exerciseId = null)
     {
-        $extraJS = array();
-        //@todo improve this JS includes should be added using twig
-        $extraJS[]      = api_get_jqgrid_js();
-        $app['extraJS'] = $extraJS;
+        $app['template']->addResource(api_get_jqgrid_js());
 
         // @todo this should be auto
 

+ 3 - 2
src/ChamiloLMS/Controller/IndexController.php

@@ -80,7 +80,8 @@ class IndexController extends CommonController
             $extra[] = api_get_js('keyboard/jquery.keyboard.js');
         }
 
-        $app['extraJS'] = $extra;
+        $app['template']->addResource(api_get_jqgrid_js(), 'string');
+
 
         $app['this_section'] = SECTION_CAMPUS;
         $request = $app['request'];
@@ -168,7 +169,7 @@ class IndexController extends CommonController
             $extra[] = api_get_css(api_get_path(WEB_LIBRARY_JS_PATH).'keyboard/keyboard.css');
             $extra[] = api_get_js('keyboard/jquery.keyboard.js');
         }
-        $app['extraJS'] = $extra;
+        $app['template']->addResource($extra);
         $response = $app['template']->render_template('auth/login.tpl');
         return new Response($response, 200, array('Cache-Control' => 's-maxage=3600, public'));
     }

+ 3 - 1
src/ChamiloLMS/Controller/LegacyController.php

@@ -71,7 +71,7 @@ class LegacyController extends CommonController
             $app['template']->setHeader($app['template.show_header']);
 
             if (isset($htmlHeadXtra)) {
-                $app['template']->addJsFiles($htmlHeadXtra);
+                $app['template']->addResource($htmlHeadXtra, 'string');
             }
 
             if (isset($interbreadcrumb)) {
@@ -79,6 +79,8 @@ class LegacyController extends CommonController
                 $app['template']->loadBreadcrumbToTemplate();
             }
 
+            $app['template']->parseResources();
+
             if (isset($tpl)) {
                 $response = $app['twig']->render($app['default_layout']);
             } else {

+ 0 - 0
main/template/default/admin/administrator/branches/add.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/branches/add.tpl


+ 0 - 0
main/template/default/admin/administrator/branches/add_from_parent.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/branches/add_from_parent.tpl


+ 0 - 0
main/template/default/admin/administrator/branches/edit.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/branches/edit.tpl


+ 0 - 0
main/template/default/admin/administrator/branches/list.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/branches/list.tpl


+ 0 - 0
main/template/default/admin/administrator/branches/read.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/branches/read.tpl


+ 0 - 0
main/template/default/admin/administrator/juries/add.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/juries/add.tpl


+ 0 - 0
main/template/default/admin/administrator/juries/add_members.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/juries/add_members.tpl


+ 0 - 0
main/template/default/admin/administrator/juries/edit.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/juries/edit.tpl


+ 0 - 0
main/template/default/admin/administrator/juries/list.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/juries/list.tpl


+ 0 - 0
main/template/default/admin/administrator/juries/read.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/juries/read.tpl


+ 0 - 0
main/template/default/admin/administrator/question_score/add.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/question_score/add.tpl


+ 0 - 0
main/template/default/admin/administrator/question_score/edit.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/question_score/edit.tpl


+ 0 - 0
main/template/default/admin/administrator/question_score/list.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/question_score/list.tpl


+ 0 - 0
main/template/default/admin/administrator/question_score/read.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/question_score/read.tpl


+ 0 - 0
main/template/default/admin/administrator/question_score_name/add.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/question_score_name/add.tpl


+ 0 - 0
main/template/default/admin/administrator/question_score_name/edit.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/question_score_name/edit.tpl


+ 0 - 0
main/template/default/admin/administrator/question_score_name/list.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/question_score_name/list.tpl


+ 0 - 0
main/template/default/admin/administrator/question_score_name/read.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/question_score_name/read.tpl


+ 0 - 0
main/template/default/admin/administrator/role/add.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/role/add.tpl


+ 0 - 0
main/template/default/admin/administrator/role/edit.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/role/edit.tpl


+ 0 - 0
main/template/default/admin/administrator/role/list.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/role/list.tpl


+ 0 - 0
main/template/default/admin/administrator/role/read.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/role/read.tpl


+ 0 - 0
main/template/default/admin/administrator/role_index.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/role_index.tpl


+ 0 - 0
main/template/default/admin/administrator/upgrade/index.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/upgrade/index.tpl


+ 0 - 0
main/template/default/admin/administrator/upgrade/upgrade.tpl → src/ChamiloLMS/Resources/views/default/admin/administrator/upgrade/upgrade.tpl


+ 0 - 0
main/template/default/admin/director/branches/list.tpl → src/ChamiloLMS/Resources/views/default/admin/director/branches/list.tpl


+ 0 - 0
main/template/default/admin/director/branches/read.tpl → src/ChamiloLMS/Resources/views/default/admin/director/branches/read.tpl


+ 0 - 0
main/template/default/admin/index.tpl → src/ChamiloLMS/Resources/views/default/admin/index.tpl


+ 0 - 0
main/template/default/admin/jury_member/index.tpl → src/ChamiloLMS/Resources/views/default/admin/jury_member/index.tpl


+ 0 - 0
main/template/default/admin/jury_member/score_user.tpl → src/ChamiloLMS/Resources/views/default/admin/jury_member/score_user.tpl


+ 0 - 0
main/template/default/admin/jury_president/assign_members.tpl → src/ChamiloLMS/Resources/views/default/admin/jury_president/assign_members.tpl


+ 0 - 0
main/template/default/admin/jury_president/check_answers.tpl → src/ChamiloLMS/Resources/views/default/admin/jury_president/check_answers.tpl


+ 0 - 0
main/template/default/admin/jury_president/index.tpl → src/ChamiloLMS/Resources/views/default/admin/jury_president/index.tpl


+ 0 - 0
main/template/default/admin/questionmanager/edit_category.tpl → src/ChamiloLMS/Resources/views/default/admin/questionmanager/edit_category.tpl


+ 0 - 0
main/template/default/admin/questionmanager/edit_question.tpl → src/ChamiloLMS/Resources/views/default/admin/questionmanager/edit_question.tpl


+ 0 - 0
main/template/default/admin/questionmanager/question_categories.tpl → src/ChamiloLMS/Resources/views/default/admin/questionmanager/question_categories.tpl


+ 0 - 0
main/template/default/admin/questionmanager/questionmanager.tpl → src/ChamiloLMS/Resources/views/default/admin/questionmanager/questionmanager.tpl


+ 0 - 0
main/template/default/admin/questionmanager/questions.tpl → src/ChamiloLMS/Resources/views/default/admin/questionmanager/questions.tpl


+ 0 - 0
main/template/default/admin/questionmanager/role_index.tpl → src/ChamiloLMS/Resources/views/default/admin/questionmanager/role_index.tpl


+ 0 - 0
main/template/default/admin/questionmanager/show_category.tpl → src/ChamiloLMS/Resources/views/default/admin/questionmanager/show_category.tpl


+ 0 - 0
main/template/default/admin/session_manager/role_index.tpl → src/ChamiloLMS/Resources/views/default/admin/session_manager/role_index.tpl


+ 0 - 0
main/template/default/agenda/month.tpl → src/ChamiloLMS/Resources/views/default/agenda/month.tpl


+ 0 - 0
main/template/default/app/session_path/add.tpl → src/ChamiloLMS/Resources/views/default/app/session_path/add.tpl


+ 0 - 0
main/template/default/app/session_path/edit.tpl → src/ChamiloLMS/Resources/views/default/app/session_path/edit.tpl


+ 0 - 0
main/template/default/app/session_path/list.tpl → src/ChamiloLMS/Resources/views/default/app/session_path/list.tpl


+ 0 - 0
main/template/default/app/session_path/read.tpl → src/ChamiloLMS/Resources/views/default/app/session_path/read.tpl


+ 0 - 0
main/template/default/app/session_path/session_tree/add.tpl → src/ChamiloLMS/Resources/views/default/app/session_path/session_tree/add.tpl


+ 0 - 0
main/template/default/app/session_path/session_tree/list.tpl → src/ChamiloLMS/Resources/views/default/app/session_path/session_tree/list.tpl


+ 0 - 0
main/template/default/auth/categories_list.php → src/ChamiloLMS/Resources/views/default/auth/categories_list.php


+ 0 - 0
main/template/default/auth/courses_categories.php → src/ChamiloLMS/Resources/views/default/auth/courses_categories.php


+ 0 - 0
main/template/default/auth/courses_list.php → src/ChamiloLMS/Resources/views/default/auth/courses_list.php


+ 0 - 0
main/template/default/auth/layout.php → src/ChamiloLMS/Resources/views/default/auth/layout.php


+ 0 - 0
main/template/default/auth/login.tpl → src/ChamiloLMS/Resources/views/default/auth/login.tpl


+ 33 - 33
main/template/jquery_mobile/course_description/edit.tpl → src/ChamiloLMS/Resources/views/default/course_description/edit.tpl

@@ -1,34 +1,34 @@
-{{javascript}}
-
-{% for message in messages %}
-    {{ message }}
-{% endfor %}
-
-{% if is_allowed_to_edit %}
-    <div class="btn-toolbar actions-bar" >
-        <div class="btn-group">
-            <a href="{{root}}&amp;action=listing" class="btn" title="{{'ImportCSV'|get_lang}}">
-                <i class="size-32 icon-back"></i>
-            </a>
-        </div>
-        <div class="btn-group edit new">
-            {% for type in types %}        
-                <a href="{{root}}&amp;action=add&amp;description_type={{type.id}}" class="btn "> 
-                    <img title="{{type.title}}" alt="{{type.title}}" src="{{type.icon|icon(32)}} ">
-                </a>    
-            {% endfor %}
-        </div>
-    </div>
-{% endif %}
-
-
-{% if type.question %}	
-    <div class="normal-message">
-        <div>            
-            <strong>{{'QuestionPlan'|get_lang}}</strong>
-        </div>
-        {{type.question}}
-    </div>
-{% endif %}
-
+{{javascript}}
+
+{% for message in messages %}
+    {{ message }}
+{% endfor %}
+
+{% if is_allowed_to_edit %}
+    <div class="btn-toolbar actions-bar" >
+        <div class="btn-group">
+            <a href="{{root}}&amp;action=listing" class="btn" title="{{'ImportCSV'|get_lang}}">
+                <i class="size-32 icon-back"></i>
+            </a>
+        </div>
+        <div class="btn-group edit new">
+            {% for type in types %}        
+                <a href="{{root}}&amp;action=add&amp;description_type={{type.id}}" class="btn "> 
+                    <img title="{{type.title}}" alt="{{type.title}}" src="{{type.icon|icon(32)}} ">
+                </a>    
+            {% endfor %}
+        </div>
+    </div>
+{% endif %}
+
+
+{% if type.question %}	
+    <div class="normal-message">
+        <div>            
+            <strong>{{'QuestionPlan'|get_lang}}</strong>
+        </div>
+        {{type.question}}
+    </div>
+{% endif %}
+
 {{form.return_form()}}

+ 108 - 108
main/template/default/course_description/index.tpl → src/ChamiloLMS/Resources/views/default/course_description/index.tpl

@@ -1,109 +1,109 @@
-{{javascript}}
-
-<script type="text/javascript">
-
-{% if is_allowed_to_edit %}
-    var sec_token = '{{sec_token}}';
-{% endif %}
-
-    
- function delete_entry(name, btn){   
-    if(!confirm("{{'ConfirmYourChoice'|get_lang}}")){
-        return false;
-    } 
-
-    var item = $('#'+name);
-    var id = item.attr('data-id'); 
-    var c_id = item.attr('data-c_id'); 
-
-    var f = function(data){
-        if(data.success){
-            item.remove();
-        }
-        message.update(data);
-        $(btn).removeClass("loading");
-    };
-    CourseDescription.del(c_id, id, f);
-    $(btn).addClass("loading");
- }
-
- function delete_all(){
-    if(!confirm("{{'ConfirmYourChoice'|get_lang}}")){
-        return false;
-    } 
-    
-    var f = function(data){
-        if(data.success){
-            var item = $('.course_descriptions');
-            item.remove();
-        }
-        message.update(data);
-    };
-    CourseDescription.delete_by_course({{c_id}}, {{session_id}}, f);
-    
- }
- 
-</script>
-
-{% for message in messages %}
-    {{ message }}
-{% endfor %}
-
-{% if is_allowed_to_edit %}
-    <div class="btn-toolbar actions-bar" >
-        <div class="btn-group edit new">
-            {% for type in types %}        
-                <a href="{{root}}&amp;action=add&amp;description_type={{type.id}}" class="btn "> 
-                    <img title="{{type.title}}" alt="{{type.title}}" src="{{type.icon|icon(32)}} ">
-                </a>    
-            {% endfor %}
-        </div>
-        <div class="btn-group edit">
-            <a href="{{root}}&amp;action=import_csv" class="btn import_csv" title="{{'ImportCSV'|get_lang}}">
-                <i class="size-32 icon-import-csv"></i>
-            </a>
-            <a href="{{root}}&amp;action=export_csv" class="btn export_csv" title="{{'ExportAsCSV'|get_lang}}">
-                <i class="size-32 icon-export-csv"></i>
-            </a>
-            <a href="javascript:void(0)" onclick="delete_all();return false;" class="btn delete_all" title="{{'DeleteAll'|get_lang}}">
-                <i class="size-32 icon-delete-all"></i>
-            </a>
-        </div>
-    </div>
-{% endif %}
-
-<ul style="list-style: none; margin-left:0;" class="course_descriptions">
-{% for description in descriptions %}
-    <li id="description_{{description.id}}" class="course_description" data-id="{{description.id}}" data-c_id="{{description.c_id}}" data-type="course_description">
-        <div class="title sectiontitle">
-            {% if is_allowed_to_edit %}
-                <div class="pull-right element-actions">
-                {% if session_id == description.session_id %}                    
-                    <a href="{{root}}&amp;action=delete&amp;id={{description.id}}" 
-                       onclick="delete_entry('description_{{description.id}}', this); return false;"
-                       title="{{'Delete'|get_lang}}">
-                        <i class="size-22 icon-delete"></i>
-                    </a>
-
-                    <a href="{{root}}&amp;action=edit&amp;id={{description.id}}" 
-                       title="{{'Edit'|get_lang}}">
-                        <i class="size-22 icon-edit"></i>
-                    </a>
-                {% else %}
-                    <img title="{{'EditionNotAvailableFromSession'|get_lang}}" 
-                         alt="{{'EditionNotAvailableFromSession'|get_lang}}" 
-                         src="{{'edit_na.png'|icon(22)}}" 
-                         style="vertical-align:middle;">
-                {% endif %}
-                </div>
-            {% endif %}
-            
-            <img title="{{description.type.title}}" alt="{{description.type.title}}" src="{{description.type.icon|icon(32)}}" class="icon">
-            {{description.title}}
-        </div>
-        <div class="sectioncomment">
-            {{description.content}}
-        </div>
-    </li>
-{% endfor %}
+{{javascript}}
+
+<script type="text/javascript">
+
+{% if is_allowed_to_edit %}
+    var sec_token = '{{sec_token}}';
+{% endif %}
+
+    
+ function delete_entry(name, btn){   
+    if(!confirm("{{'ConfirmYourChoice'|get_lang}}")){
+        return false;
+    } 
+
+    var item = $('#'+name);
+    var id = item.attr('data-id'); 
+    var c_id = item.attr('data-c_id'); 
+
+    var f = function(data){
+        if(data.success){
+            item.remove();
+        }
+        message.update(data);
+        $(btn).removeClass("loading");
+    };
+    CourseDescription.del(c_id, id, f);
+    $(btn).addClass("loading");
+ }
+
+ function delete_all(){
+    if(!confirm("{{'ConfirmYourChoice'|get_lang}}")){
+        return false;
+    } 
+    
+    var f = function(data){
+        if(data.success){
+            var item = $('.course_descriptions');
+            item.remove();
+        }
+        message.update(data);
+    };
+    CourseDescription.delete_by_course({{c_id}}, {{session_id}}, f);
+    
+ }
+ 
+</script>
+
+{% for message in messages %}
+    {{ message }}
+{% endfor %}
+
+{% if is_allowed_to_edit %}
+    <div class="btn-toolbar actions-bar" >
+        <div class="btn-group edit new">
+            {% for type in types %}        
+                <a href="{{root}}&amp;action=add&amp;description_type={{type.id}}" class="btn "> 
+                    <img title="{{type.title}}" alt="{{type.title}}" src="{{type.icon|icon(32)}} ">
+                </a>    
+            {% endfor %}
+        </div>
+        <div class="btn-group edit">
+            <a href="{{root}}&amp;action=import_csv" class="btn import_csv" title="{{'ImportCSV'|get_lang}}">
+                <i class="size-32 icon-import-csv"></i>
+            </a>
+            <a href="{{root}}&amp;action=export_csv" class="btn export_csv" title="{{'ExportAsCSV'|get_lang}}">
+                <i class="size-32 icon-export-csv"></i>
+            </a>
+            <a href="javascript:void(0)" onclick="delete_all();return false;" class="btn delete_all" title="{{'DeleteAll'|get_lang}}">
+                <i class="size-32 icon-delete-all"></i>
+            </a>
+        </div>
+    </div>
+{% endif %}
+
+<ul style="list-style: none; margin-left:0;" class="course_descriptions">
+{% for description in descriptions %}
+    <li id="description_{{description.id}}" class="course_description" data-id="{{description.id}}" data-c_id="{{description.c_id}}" data-type="course_description">
+        <div class="title sectiontitle">
+            {% if is_allowed_to_edit %}
+                <div class="pull-right element-actions">
+                {% if session_id == description.session_id %}                    
+                    <a href="{{root}}&amp;action=delete&amp;id={{description.id}}" 
+                       onclick="delete_entry('description_{{description.id}}', this); return false;"
+                       title="{{'Delete'|get_lang}}">
+                        <i class="size-22 icon-delete"></i>
+                    </a>
+
+                    <a href="{{root}}&amp;action=edit&amp;id={{description.id}}" 
+                       title="{{'Edit'|get_lang}}">
+                        <i class="size-22 icon-edit"></i>
+                    </a>
+                {% else %}
+                    <img title="{{'EditionNotAvailableFromSession'|get_lang}}" 
+                         alt="{{'EditionNotAvailableFromSession'|get_lang}}" 
+                         src="{{'edit_na.png'|icon(22)}}" 
+                         style="vertical-align:middle;">
+                {% endif %}
+                </div>
+            {% endif %}
+            
+            <img title="{{description.type.title}}" alt="{{description.type.title}}" src="{{description.type.icon|icon(32)}}" class="icon">
+            {{description.title}}
+        </div>
+        <div class="sectioncomment">
+            {{description.content}}
+        </div>
+    </li>
+{% endfor %}
 </ul>

+ 14 - 14
main/template/default/course_description/upload.tpl → src/ChamiloLMS/Resources/views/default/course_description/upload.tpl

@@ -1,15 +1,15 @@
-{{javascript}}
-
-{% for message in messages %}
-    {{ message }}
-{% endfor %}
-
-<div class="btn-toolbar actions-bar" >
-    <div class="btn-group">
-        <a href="{{root}}&amp;action=listing" class="btn" title="{{'ImportCSV'|get_lang}}">
-            <i class="size-32 icon-back"></i>
-        </a>
-    </div>
-</div>
-
+{{javascript}}
+
+{% for message in messages %}
+    {{ message }}
+{% endfor %}
+
+<div class="btn-toolbar actions-bar" >
+    <div class="btn-group">
+        <a href="{{root}}&amp;action=listing" class="btn" title="{{'ImportCSV'|get_lang}}">
+            <i class="size-32 icon-back"></i>
+        </a>
+    </div>
+</div>
+
 {{form.return_form()}}

+ 0 - 0
main/template/default/create_course/add_course.tpl → src/ChamiloLMS/Resources/views/default/create_course/add_course.tpl


+ 0 - 0
main/template/default/crud_macros/course_crud.tpl → src/ChamiloLMS/Resources/views/default/crud_macros/course_crud.tpl


+ 0 - 0
main/template/default/crud_macros/simple_crud.tpl → src/ChamiloLMS/Resources/views/default/crud_macros/simple_crud.tpl


+ 0 - 0
main/template/default/exercise/question/edit_question.tpl → src/ChamiloLMS/Resources/views/default/exercise/question/edit_question.tpl


+ 0 - 0
main/template/default/exercise/question/show_question.tpl → src/ChamiloLMS/Resources/views/default/exercise/question/show_question.tpl


+ 0 - 0
main/template/default/exercise/question_pool.tpl → src/ChamiloLMS/Resources/views/default/exercise/question_pool.tpl


+ 0 - 0
main/template/default/export/table_pdf.tpl → src/ChamiloLMS/Resources/views/default/export/table_pdf.tpl


+ 0 - 0
main/template/default/form/form_custom_template.tpl → src/ChamiloLMS/Resources/views/default/form/form_custom_template.tpl


+ 0 - 0
main/template/default/glossary/csv.tpl → src/ChamiloLMS/Resources/views/default/glossary/csv.tpl


+ 8 - 8
main/template/default/glossary/edit.tpl → src/ChamiloLMS/Resources/views/default/glossary/edit.tpl

@@ -1,9 +1,9 @@
-{% include app.template_style ~ '/glossary/header.tpl' %}
-
-<div class="actions-bar btn-toolbar" >
-    <a href = "{{root}}&amp;action=index" class="btn">
-        <i class="size-32 icon-back"></i>
-    </a>
-</div>
-
+{% include app.template_style ~ '/glossary/header.tpl' %}
+
+<div class="actions-bar btn-toolbar" >
+    <a href = "{{root}}&amp;action=index" class="btn">
+        <i class="size-32 icon-back"></i>
+    </a>
+</div>
+
 {{form.return_form()}}

+ 6 - 6
main/template/jquery_mobile/glossary/header.tpl → src/ChamiloLMS/Resources/views/default/glossary/header.tpl

@@ -1,7 +1,7 @@
-{{javascript}}
-
-<div id="messages">
-    {% for message in messages %}
-        {{ message }}
-    {% endfor %}
+{{javascript}}
+
+<div id="messages">
+    {% for message in messages %}
+        {{ message }}
+    {% endfor %}
 </div>

+ 39 - 39
main/template/default/glossary/index.tpl → src/ChamiloLMS/Resources/views/default/glossary/index.tpl

@@ -1,39 +1,39 @@
-{% include app.template_style ~ '/glossary/header.tpl' %}
-{% include app.template_style ~ '/glossary/javascript.tpl' %}
-
-<div class="btn-toolbar actions-bar" >
-    {% if is_allowed_to_edit %}
-        <div class="btn-group edit">
-            <a href="{{root}}&amp;action=add" class=" glossary btn" title="{{'Add'|get_lang}}">
-                <i class="size-32 icon-new-glossary-term"></i>
-            </a>
-            <a href="{{root}}&amp;action=import_csv" class="btn import_csv" title="{{'ImportCSV'|get_lang}}">
-                <i class="size-32 icon-import-csv"></i>
-            </a>
-            <a href="{{root}}&amp;action=export_csv" class="btn export_csv" title="{{'ExportAsCSV'|get_lang}}">
-                <i class="size-32 icon-export-csv"></i>
-            </a>
-            <a href="javascript:void(0)" onclick="ui.remove_by_course('entries', this);return false;" class="btn delete_all" title="{{'DeleteAll'|get_lang}}">
-                <i class="size-32 icon-delete-all"></i>
-            </a>
-        </div>
-    {% endif %}
-    <div class="btn-group edit">
-        {% if view == 'table' %}
-            <a href="{{root}}&amp;view=list" class="btn" title="{{'ViewList'|get_lang}}">
-                <i class="size-32 icon-view-text"></i>
-            </a>
-        {% else %}
-            <a href="{{root}}&amp;view=table" class="btn" title="{{'ViewTable'|get_lang}}">
-                <i class="size-32 icon-view-detailed"></i>
-            </a>
-        {% endif %}
-    </div>
-
-</div>
-
-{% if view == 'table' %}
-    {% include app.template_style ~ '/glossary/table.tpl' %}
-{% else %}
-    {% include app.template_style ~ '/glossary/list.tpl' %}
-{% endif %}
+{% include app.template_style ~ '/glossary/header.tpl' %}
+{% include app.template_style ~ '/glossary/javascript.tpl' %}
+
+<div class="btn-toolbar actions-bar" >
+    {% if is_allowed_to_edit %}
+        <div class="btn-group edit">
+            <a href="{{root}}&amp;action=add" class=" glossary btn" title="{{'Add'|get_lang}}">
+                <i class="size-32 icon-new-glossary-term"></i>
+            </a>
+            <a href="{{root}}&amp;action=import_csv" class="btn import_csv" title="{{'ImportCSV'|get_lang}}">
+                <i class="size-32 icon-import-csv"></i>
+            </a>
+            <a href="{{root}}&amp;action=export_csv" class="btn export_csv" title="{{'ExportAsCSV'|get_lang}}">
+                <i class="size-32 icon-export-csv"></i>
+            </a>
+            <a href="javascript:void(0)" onclick="ui.remove_by_course('entries', this);return false;" class="btn delete_all" title="{{'DeleteAll'|get_lang}}">
+                <i class="size-32 icon-delete-all"></i>
+            </a>
+        </div>
+    {% endif %}
+    <div class="btn-group edit">
+        {% if view == 'table' %}
+            <a href="{{root}}&amp;view=list" class="btn" title="{{'ViewList'|get_lang}}">
+                <i class="size-32 icon-view-text"></i>
+            </a>
+        {% else %}
+            <a href="{{root}}&amp;view=table" class="btn" title="{{'ViewTable'|get_lang}}">
+                <i class="size-32 icon-view-detailed"></i>
+            </a>
+        {% endif %}
+    </div>
+
+</div>
+
+{% if view == 'table' %}
+    {% include app.template_style ~ '/glossary/table.tpl' %}
+{% else %}
+    {% include app.template_style ~ '/glossary/list.tpl' %}
+{% endif %}

+ 27 - 27
main/template/jquery_mobile/glossary/javascript.tpl → src/ChamiloLMS/Resources/views/default/glossary/javascript.tpl

@@ -1,28 +1,28 @@
-<script type="text/javascript" src="{{www}}/main/glossary/resources/js/proxy.js"></script>
-<script type="text/javascript" src="{{www}}/main/glossary/resources/js/ui.js"></script>
-<script type="text/javascript" src="{{www}}/main/glossary/resources/js/jquery.dataTables.js"></script>
-
-<script type="text/javascript">
-    
-$(function() {
-
-    ui.proxy = glossary;
-
-    window.context = {};
-    
-    context.sec_token = '{{sec_token}}';
-    context.c_id = '{{c_id}}';
-    context.session_id = '{{session_id}}';
-    context.www = '{{www}}';
-    context.ajax = '{{www}}/main/inc/ajax/glossary.ajax.php';
-    
-    if(typeof(lang) == "undefined")
-    {
-        window.lang = {};
-    }
-    
-    lang.ConfirmYourChoice = "{{'ConfirmYourChoice'|get_lang}}";  
-    
-});
-
+<script type="text/javascript" src="{{www}}/main/glossary/resources/js/proxy.js"></script>
+<script type="text/javascript" src="{{www}}/main/glossary/resources/js/ui.js"></script>
+<script type="text/javascript" src="{{www}}/main/glossary/resources/js/jquery.dataTables.js"></script>
+
+<script type="text/javascript">
+    
+$(function() {
+
+    ui.proxy = glossary;
+
+    window.context = {};
+    
+    context.sec_token = '{{sec_token}}';
+    context.c_id = '{{c_id}}';
+    context.session_id = '{{session_id}}';
+    context.www = '{{www}}';
+    context.ajax = '{{www}}/main/inc/ajax/glossary.ajax.php';
+    
+    if(typeof(lang) == "undefined")
+    {
+        window.lang = {};
+    }
+    
+    lang.ConfirmYourChoice = "{{'ConfirmYourChoice'|get_lang}}";  
+    
+});
+
 </script>

+ 34 - 34
main/template/jquery_mobile/glossary/list.tpl → src/ChamiloLMS/Resources/views/default/glossary/list.tpl

@@ -1,35 +1,35 @@
-
-<ul id="entries" class="unstyled glossary entries" data-c_id="{{c_id}}" data-session_id="{{session_id}}" >
-{% for item in items %}
-    <li id="glossary_{{item.id}}" class="glossary term" data-id="{{item.id}}" data-c_id="{{item.c_id}}" data-type="glossary">
-        <div class="title sectiontitle">
-            {% if is_allowed_to_edit %}
-                <div class="pull-right">
-                {% if session_id == item.session_id %}
-                    <a href="{{root}}&amp;action=edit&amp;id={{item.id}}" 
-                       title="{{'Edit'|get_lang}}">
-                        <i class="size-22 icon-edit"></i>
-                    </a>                    
-                    <a href="{{root}}&amp;action=delete&amp;id={{item.id}}" 
-                       onclick="ui.remove('glossary_{{item.id}}', this); return false;"
-                       title="{{'Delete'|get_lang}}">
-                        <i class="size-22 icon-delete"></i>
-                    </a>
-                
-                {% else %}
-                    <img title="{{'EditionNotAvailableFromSession'|get_lang}}" 
-                         alt="{{'EditionNotAvailableFromSession'|get_lang}}" 
-                         src="{{'edit_na.png'|icon(22)}}" 
-                         style="vertical-align:middle;">
-                {% endif %}
-                </div>
-            {% endif %}
-            
-            {{item.name}}
-        </div>
-        <div class="sectioncomment">
-            {{item.description}}
-        </div>
-    </li>
-{% endfor %}
+
+<ul id="entries" class="unstyled glossary entries" data-c_id="{{c_id}}" data-session_id="{{session_id}}" >
+{% for item in items %}
+    <li id="glossary_{{item.id}}" class="glossary term" data-id="{{item.id}}" data-c_id="{{item.c_id}}" data-type="glossary">
+        <div class="title sectiontitle">
+            {% if is_allowed_to_edit %}
+                <div class="pull-right">
+                {% if session_id == item.session_id %}
+                    <a href="{{root}}&amp;action=edit&amp;id={{item.id}}" 
+                       title="{{'Edit'|get_lang}}">
+                        <i class="size-22 icon-edit"></i>
+                    </a>                    
+                    <a href="{{root}}&amp;action=delete&amp;id={{item.id}}" 
+                       onclick="ui.remove('glossary_{{item.id}}', this); return false;"
+                       title="{{'Delete'|get_lang}}">
+                        <i class="size-22 icon-delete"></i>
+                    </a>
+                
+                {% else %}
+                    <img title="{{'EditionNotAvailableFromSession'|get_lang}}" 
+                         alt="{{'EditionNotAvailableFromSession'|get_lang}}" 
+                         src="{{'edit_na.png'|icon(22)}}" 
+                         style="vertical-align:middle;">
+                {% endif %}
+                </div>
+            {% endif %}
+            
+            {{item.name}}
+        </div>
+        <div class="sectioncomment">
+            {{item.description}}
+        </div>
+    </li>
+{% endfor %}
 </ul>

+ 72 - 72
main/template/jquery_mobile/glossary/table.tpl → src/ChamiloLMS/Resources/views/default/glossary/table.tpl

@@ -1,72 +1,72 @@
-<script type="text/javascript">
-    
-$(document).ready(function() {
-    $('#entries').dataTable( {
-        "oLanguage": {
-            "sLengthMenu": "_MENU_ " + "{{'DataTableLengthMenu'|get_lang}}",
-            "sZeroRecords": "{{'DataTableZeroRecords'|get_lang}}",
-            "sInfo": "{{'DataTableInfo'|get_lang}}",
-            "sInfoEmpty": "{{'DataTableInfoEmpty'|get_lang}}",
-            "sInfoFiltered": "{{'DataTableInfoFiltered'|get_lang}}",
-            "sSearch": "{{'DataTableSearch'|get_lang}}",
-            "oPaginate": {
-                "sPrevious": "",
-                "sNext": ""
-            }
-        }
-     });
-} );
-
-</script>
-
-<table id="entries" class="data_table glossary entries" data-c_id="{{c_id}}" data-session_id="{{session_id}}" >
-    <thead>
-        <tr>
-            <th class="sorting">
-                {{'TermName'|get_lang}}
-            </th>
-            <th class="sorting">                
-                {{'TermDefinition'|get_lang}}
-            </th>
-            {% if is_allowed_to_edit %}
-                <th>
-                    {{'Actions'|get_lang}}
-                </th>
-            {% endif %}
-        </tr>
-    </thead>
-    <tbody>
-        {% for item in items %}
-            <tr id="glossary_{{item.id}}" class="glossary term" data-id="{{item.id}}" data-c_id="{{item.c_id}}" data-type="glossary">
-                <td class="title">
-                    {{item.name}}
-                </td>
-                <td class="">
-                    {{item.description}}
-                </td>
-                {% if is_allowed_to_edit %}
-                    <td class="td_actions">
-                        {% if session_id == item.session_id %}
-                            <a  href="{{root}}&amp;action=edit&amp;id={{item.id}}" 
-                                title="{{'Edit'|get_lang}}">
-                                <i class="size-22 icon-edit"></i>
-                            </a>                    
-                            <a  href="{{root}}&amp;action=delete&amp;id={{item.id}}" 
-                                onclick="ui.remove('glossary_{{item.id}}', this); return false;"
-                                title="{{'Delete'|get_lang}}">
-                                <i class="size-22 icon-delete"></i>
-                            </a>
-                        {% else %}
-                            <img    title="{{'EditionNotAvailableFromSession'|get_lang}}" 
-                                    alt="{{'EditionNotAvailableFromSession'|get_lang}}" 
-                                    src="{{'edit_na.png'|icon(22)}}" 
-                                    style="vertical-align:middle;">
-                        {% endif %}
-                    </td>
-                {% endif %}
-            </tr>
-        {% endfor %}
-    </tbody>
-</table>
-<div style="clear:both"></div>
-
+<script type="text/javascript">
+    
+$(document).ready(function() {
+    $('#entries').dataTable( {
+        "oLanguage": {
+            "sLengthMenu": "_MENU_ " + "{{'DataTableLengthMenu'|get_lang}}",
+            "sZeroRecords": "{{'DataTableZeroRecords'|get_lang}}",
+            "sInfo": "{{'DataTableInfo'|get_lang}}",
+            "sInfoEmpty": "{{'DataTableInfoEmpty'|get_lang}}",
+            "sInfoFiltered": "{{'DataTableInfoFiltered'|get_lang}}",
+            "sSearch": "{{'DataTableSearch'|get_lang}}",
+            "oPaginate": {
+                "sPrevious": "",
+                "sNext": ""
+            }
+        }
+     });
+} );
+
+</script>
+
+<table id="entries" class="data_table glossary entries" data-c_id="{{c_id}}" data-session_id="{{session_id}}" >
+    <thead>
+        <tr>
+            <th class="sorting">
+                {{'TermName'|get_lang}}
+            </th>
+            <th class="sorting">                
+                {{'TermDefinition'|get_lang}}
+            </th>
+            {% if is_allowed_to_edit %}
+                <th>
+                    {{'Actions'|get_lang}}
+                </th>
+            {% endif %}
+        </tr>
+    </thead>
+    <tbody>
+        {% for item in items %}
+            <tr id="glossary_{{item.id}}" class="glossary term" data-id="{{item.id}}" data-c_id="{{item.c_id}}" data-type="glossary">
+                <td class="title">
+                    {{item.name}}
+                </td>
+                <td class="">
+                    {{item.description}}
+                </td>
+                {% if is_allowed_to_edit %}
+                    <td class="td_actions">
+                        {% if session_id == item.session_id %}
+                            <a  href="{{root}}&amp;action=edit&amp;id={{item.id}}" 
+                                title="{{'Edit'|get_lang}}">
+                                <i class="size-22 icon-edit"></i>
+                            </a>                    
+                            <a  href="{{root}}&amp;action=delete&amp;id={{item.id}}" 
+                                onclick="ui.remove('glossary_{{item.id}}', this); return false;"
+                                title="{{'Delete'|get_lang}}">
+                                <i class="size-22 icon-delete"></i>
+                            </a>
+                        {% else %}
+                            <img    title="{{'EditionNotAvailableFromSession'|get_lang}}" 
+                                    alt="{{'EditionNotAvailableFromSession'|get_lang}}" 
+                                    src="{{'edit_na.png'|icon(22)}}" 
+                                    style="vertical-align:middle;">
+                        {% endif %}
+                    </td>
+                {% endif %}
+            </tr>
+        {% endfor %}
+    </tbody>
+</table>
+<div style="clear:both"></div>
+

+ 8 - 8
main/template/default/glossary/upload.tpl → src/ChamiloLMS/Resources/views/default/glossary/upload.tpl

@@ -1,9 +1,9 @@
-{% include app.template_style ~ '/glossary/header.tpl' %}
-
-<div class="actions-bar btn-toolbar" >
-    <a href = "{{root}}&amp;action=index" class="btn">
-        <i class="size-32 icon-back"></i>
-    </a>
-</div>
-
+{% include app.template_style ~ '/glossary/header.tpl' %}
+
+<div class="actions-bar btn-toolbar" >
+    <a href = "{{root}}&amp;action=index" class="btn">
+        <i class="size-32 icon-back"></i>
+    </a>
+</div>
+
 {{form.return_form()}}

+ 0 - 0
main/template/default/index/course_block.tpl → src/ChamiloLMS/Resources/views/default/index/course_block.tpl


+ 0 - 0
main/template/default/index/course_session_block.tpl → src/ChamiloLMS/Resources/views/default/index/course_session_block.tpl


+ 0 - 0
main/template/default/index/help_block.tpl → src/ChamiloLMS/Resources/views/default/index/help_block.tpl


+ 0 - 0
main/template/default/index/navigation_block.tpl → src/ChamiloLMS/Resources/views/default/index/navigation_block.tpl


+ 0 - 0
main/template/default/index/notice_block.tpl → src/ChamiloLMS/Resources/views/default/index/notice_block.tpl


+ 0 - 0
main/template/default/index/profile_block.tpl → src/ChamiloLMS/Resources/views/default/index/profile_block.tpl


+ 0 - 0
main/template/default/index/profile_social_block.tpl → src/ChamiloLMS/Resources/views/default/index/profile_social_block.tpl


+ 0 - 0
main/template/default/index/session_block.tpl → src/ChamiloLMS/Resources/views/default/index/session_block.tpl


+ 0 - 0
main/template/default/index/skills_block.tpl → src/ChamiloLMS/Resources/views/default/index/skills_block.tpl


+ 0 - 0
main/template/default/index/teacher_block.tpl → src/ChamiloLMS/Resources/views/default/index/teacher_block.tpl


Някои файлове не бяха показани, защото твърде много файлове са промени