Yannick Warnier 10 years ago
parent
commit
b8909bbc35
100 changed files with 1967 additions and 1034 deletions
  1. 2 2
      composer.lock
  2. 1 1
      home/home_menu.html
  3. 6 4
      main/admin/configure_homepage.php
  4. 10 14
      main/admin/settings.lib.php
  5. 6 1
      main/admin/skill_badge.php
  6. 1 1
      main/admin/skill_badge_create.php
  7. 0 6
      main/admin/skill_badge_help.php
  8. 24 21
      main/course_info/infocours.php
  9. 320 187
      main/css/base.css
  10. 1 1
      main/css/base_chamilo.css
  11. 21 2
      main/css/chamilo/default.css
  12. 9 9
      main/dashboard/dashboard.php
  13. 10 1
      main/document/create_document.php
  14. 4 4
      main/document/document.php
  15. 2 1
      main/document/showinframes.php
  16. 1 1
      main/dropbox/dropbox_functions.inc.php
  17. BIN
      main/img/icons/128/badges-default.png
  18. BIN
      main/img/icons/22/edit-skill.png
  19. BIN
      main/img/icons/22/skill-badges.png
  20. BIN
      main/img/icons/22/social-files.png
  21. BIN
      main/img/icons/22/social-friends.png
  22. BIN
      main/img/icons/22/social-groups.png
  23. BIN
      main/img/icons/22/social-home.png
  24. BIN
      main/img/icons/22/social-invitations.png
  25. BIN
      main/img/icons/22/social-message.png
  26. BIN
      main/img/icons/22/social-profile.png
  27. BIN
      main/img/icons/22/social-search.png
  28. BIN
      main/img/icons/22/social_rss.png
  29. BIN
      main/img/icons/64/badges-default.png
  30. BIN
      main/img/icons/64/badges.png
  31. BIN
      main/img/openbadges.png
  32. 1 1
      main/inc/ajax/social.ajax.php
  33. 4 5
      main/inc/lib/display.lib.php
  34. 1 1
      main/inc/lib/document.lib.php
  35. 1 1
      main/inc/lib/javascript/tag/jquery.fcbkcomplete.js
  36. 3 13
      main/inc/lib/skill.lib.php
  37. 75 109
      main/inc/lib/social.lib.php
  38. 2 2
      main/inc/lib/svg-edit/svg-editor.php
  39. 42 11
      main/inc/lib/template.lib.php
  40. 2 2
      main/inc/lib/usermanager.lib.php
  41. 2 2
      main/inc/lib/userportal.lib.php
  42. 41 5
      main/messages/inbox.php
  43. 38 2
      main/messages/new_message.php
  44. 37 3
      main/messages/outbox.php
  45. 39 2
      main/messages/view_message.php
  46. 8 7
      main/newscorm/learnpath.class.php
  47. 3 3
      main/newscorm/lp_add_audio.php
  48. 1 1
      main/newscorm/lp_add_item.php
  49. 3 3
      main/newscorm/lp_admin_view.php
  50. 3 3
      main/newscorm/lp_build.php
  51. 11 6
      main/newscorm/lp_edit.php
  52. 3 3
      main/newscorm/lp_edit_item.php
  53. 3 3
      main/newscorm/lp_edit_item_prereq.php
  54. 3 3
      main/newscorm/lp_move_item.php
  55. 3 3
      main/newscorm/lp_view_item.php
  56. 37 2
      main/social/friends.php
  57. 1 1
      main/social/group_add.php
  58. 1 1
      main/social/group_edit.php
  59. 1 1
      main/social/group_invitation.php
  60. 1 1
      main/social/group_members.php
  61. 1 1
      main/social/group_topics.php
  62. 1 1
      main/social/group_waiting_list.php
  63. 71 7
      main/social/groups.php
  64. 147 133
      main/social/home.php
  65. 97 67
      main/social/invitations.php
  66. 37 2
      main/social/myfiles.php
  67. 194 44
      main/social/profile.php
  68. 37 2
      main/social/search.php
  69. 42 37
      main/template/default/auth/courses_categories.php
  70. 9 9
      main/template/default/auth/sessions_catalog.tpl
  71. 12 12
      main/template/default/create_course/add_course.tpl
  72. 3 2
      main/template/default/layout/head.tpl
  73. 2 2
      main/template/default/layout/layout_1_col.tpl
  74. 4 3
      main/template/default/layout/layout_2_col.tpl
  75. 1 1
      main/template/default/layout/menu.tpl
  76. 0 29
      main/template/default/layout/social_layout.tpl
  77. 35 12
      main/template/default/skill/badge.tpl
  78. 61 44
      main/template/default/skill/badge_create.tpl
  79. 11 5
      main/template/default/skill/badge_issuer.tpl
  80. 12 15
      main/template/default/skill/badge_list.tpl
  81. 3 3
      main/template/default/skill/profile.tpl
  82. 41 34
      main/template/default/skill/skill_wheel.tpl
  83. 38 29
      main/template/default/skill/skill_wheel_student.tpl
  84. 29 0
      main/template/default/social/add_groups.tpl
  85. 29 0
      main/template/default/social/friends.tpl
  86. 29 0
      main/template/default/social/groups.tpl
  87. 24 0
      main/template/default/social/home.tpl
  88. 15 0
      main/template/default/social/inbox.tpl
  89. 15 0
      main/template/default/social/invitations.tpl
  90. 24 0
      main/template/default/social/myfiles.tpl
  91. 36 0
      main/template/default/social/profile.tpl
  92. 29 0
      main/template/default/social/search.tpl
  93. 12 14
      plugin/dashboard/block_course/block_course.class.php
  94. 12 14
      plugin/dashboard/block_daily/block_daily.class.php
  95. 8 6
      plugin/dashboard/block_evaluation_graph/block_evaluation_graph.class.php
  96. 11 10
      plugin/dashboard/block_global_info/block_global_info.class.php
  97. 11 9
      plugin/dashboard/block_session/block_session.class.php
  98. 14 13
      plugin/dashboard/block_student/block_student.class.php
  99. 8 6
      plugin/dashboard/block_student_graph/block_student_graph.class.php
  100. 14 12
      plugin/dashboard/block_teacher/block_teacher.class.php

+ 2 - 2
composer.lock

@@ -1908,12 +1908,12 @@
             "version": "v5.7.4",
             "source": {
                 "type": "git",
-                "url": "https://github.com/mpdf/mpdf.git",
+                "url": "https://github.com/finwe/mpdf.git",
                 "reference": "f9a374c7ea975ce8c795cec4dfd17ef55addac9c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/mpdf/mpdf/zipball/f9a374c7ea975ce8c795cec4dfd17ef55addac9c",
+                "url": "https://api.github.com/repos/finwe/mpdf/zipball/f9a374c7ea975ce8c795cec4dfd17ef55addac9c",
                 "reference": "f9a374c7ea975ce8c795cec4dfd17ef55addac9c",
                 "shasum": ""
             },

+ 1 - 1
home/home_menu.html

@@ -1 +1 @@
-<li class="forum-btn"><a href="http://www.chamilo.org/forum" target="_self">Forum</a></li>
+<li class="forum-btn"><a href="http://www.chamilo.org/forum" target="_self">Forum</a></li>

+ 6 - 4
main/admin/configure_homepage.php

@@ -462,6 +462,7 @@ if (!empty($action)) {
 					// If the requested action is to create a link, make some room
 					// for the new link in the home_menu array at the requested place
 					// and insert the new link there
+                    $icon = '<i class="fa fa-external-link"></i>';
 					if ($action == 'insert_link' || $action == 'insert_tabs') {
 						for ($i = sizeof($home_menu); $i; $i--) {
 							if ($i > $insert_where) {
@@ -470,10 +471,10 @@ if (!empty($action)) {
 								break;
 							}
 						}
-						$home_menu[$insert_where + 1] = '<li '.$class_add_in_tab.'><a href="'.$link_url.'" target="'.($target_blank ? '_blank' : '_self').'"><span>'.$link_name.'</span></a></li>';
+						$home_menu[$insert_where + 1] = '<li '.$class_add_in_tab.'><a href="'.$link_url.'" target="'.($target_blank ? '_blank' : '_self').'">'.$icon.' '.$link_name.'</a></li>';
 					} else {
 						// If the request is about a link edition, change the link
-						$home_menu[$link_index]='<li '.$class_add_in_tab.'><a href="'.$link_url.'" target="'.($target_blank?'_blank':'_self').'"><span>'.$link_name.'</span></a></li>';
+						$home_menu[$link_index]='<li '.$class_add_in_tab.'><a href="'.$link_url.'" target="'.($target_blank?'_blank':'_self').'">'.$icon.' '.$link_name.'</a></li>';
 					}
 					// Re-build the file from the home_menu array
 					$home_menu = implode("\n", $home_menu);
@@ -867,7 +868,8 @@ switch ($action) {
 		if ($action == 'edit_link' && (empty($link_url) || $link_url == 'http://' || $link_url == 'https://')) {
 			$default['link_html'] = isset($_POST['link_html']) ? $_POST['link_html'] : $link_html;
 			$form->addHtmlEditor('link_html', get_lang('Content'), false, false, array('ToolbarSet' => 'PortalHomePage', 'Width' => '100%', 'Height' => '400'));
-			$form->addElement('style_submit_button', null, get_lang('Save'), 'class="save"');
+            $form->addButtonSave(get_lang('Save'),'submit');
+
 		} else {
 			if (in_array($action, array('edit_tabs','insert_tabs'))) {
 				$default['link_html'] = isset($_POST['link_html']) ? $_POST['link_html'] : (!empty($link_html) ? $link_html : '');
@@ -888,7 +890,7 @@ switch ($action) {
 				$form->addElement('html', $html_langs);
 			}
 			$form->addElement('html','</tr></table><br/>');
-			$form->addElement('style_submit_button', null, get_lang('Save'), 'class="save"');
+            $form->addButtonSave(get_lang('Save'),'submit');
 		}
 
 		$form->setDefaults($default);

+ 10 - 14
main/admin/settings.lib.php

@@ -92,13 +92,13 @@ function handle_regions()
     }
     echo '</table>';
     echo '<br />';
-    echo '<button class="save" type="submit" name="submit_plugins">'.get_lang('EnablePlugins').'</button></form>';
+    echo '<button class="btn btn-success" type="submit" name="submit_plugins">'.get_lang('EnablePlugins').'</button></form>';
 }
 
 function handle_extensions()
 {
     echo Display::page_subheader(get_lang('ConfigureExtensions'));
-    echo '<a class="btn" href="configure_extensions.php?display=ppt2lp">'.get_lang('Ppt2lp').'</a>';
+    echo '<a class="btn btn-success" href="configure_extensions.php?display=ppt2lp" role="button">'.get_lang('Ppt2lp').'</a>';
 
 }
 /**
@@ -175,12 +175,12 @@ function handle_plugins()
 
             echo '<div class="btn-group">';
             if (in_array($plugin, $installed_plugins)) {
-                echo Display::url(get_lang('Configure'), 'configure_plugin.php?name='.$plugin, array('class' => 'btn'));
-                echo Display::url(get_lang('Regions'), 'settings.php?category=Regions&name='.$plugin, array('class' => 'btn'));
+                echo Display::url('<i class="fa fa-cogs"></i> '.get_lang('Configure'), 'configure_plugin.php?name='.$plugin, array('class' => 'btn btn-default'));
+                echo Display::url('<i class="fa fa-th-large"></i> '.get_lang('Regions'), 'settings.php?category=Regions&name='.$plugin, array('class' => 'btn btn-default'));
             }
 
             if (file_exists(api_get_path(SYS_PLUGIN_PATH).$plugin.'/readme.txt')) {
-                echo Display::url("readme.txt", api_get_path(WEB_PLUGIN_PATH).$plugin."/readme.txt", array('class' => 'btn ajax', '_target' => '_blank'));
+                echo Display::url("<i class='fa fa-file-text-o'></i> readme.txt", api_get_path(WEB_PLUGIN_PATH).$plugin."/readme.txt", array('class' => 'btn btn-default', '_target' => '_blank'));
             }
             echo '</div>';
             echo '</td></tr>';
@@ -189,7 +189,7 @@ function handle_plugins()
     echo '</table>';
 
     echo '<div class="form-actions bottom_actions">';
-    echo '<button class="save" type="submit" name="submit_plugins">'.get_lang('EnablePlugins').'</button>';
+    echo '<button class="btn btn-success" type="submit" name="submit_plugins">'.get_lang('EnablePlugins').'</button>';
     echo '</div>';
     echo '</form>';
 }
@@ -368,10 +368,7 @@ function handle_stylesheets()
                 $( "#tabs" ).tabs();
             });
             </script>';
-            echo Display::tabs(
-                array(get_lang('Update'), get_lang('UploadNewStylesheet')),
-                array($form_change->return_form(), $form->return_form())
-            );
+            echo Display::tabs(array(get_lang('Update'), get_lang('UploadNewStylesheet')), array($form_change->return_form(), $form->return_form()));
         } else {
             $form_change->display();
         }
@@ -946,7 +943,7 @@ function add_edit_template() {
         $form->setDefaults($defaults);
     }
     // Setting the form elements: the submit button.
-    $form->addButtonSave(get_lang('Ok'));
+    $form->addElement('style_submit_button' , 'submit', get_lang('Ok') ,'class="save"');
 
     // Setting the rules: the required fields.
     $form->addRule('title', get_lang('ThisFieldIsRequired'), 'required');
@@ -1138,9 +1135,7 @@ function generate_settings_form($settings, $settings_by_access_list) {
 
     $i = 0;
     foreach ($settings as $row) {
-        if (in_array($row['variable'], array_keys($settings_to_avoid))) {
-            continue;
-        }
+        if (in_array($row['variable'], array_keys($settings_to_avoid))) { continue; }
 
         if (!empty($_configuration['multiple_access_urls'])) {
             if (api_is_global_platform_admin()) {
@@ -1356,6 +1351,7 @@ function generate_settings_form($settings, $settings_by_access_list) {
         $form->setDefaults($default_values);
     }
     $form->addButtonSave(get_lang('SaveSettings'));
+    //$form->addElement('button', 'submit_fixed_in_bottom', get_lang('SaveSettings'), 'class="save"');
     return $form;
 }
 

+ 6 - 1
main/admin/skill_badge.php

@@ -14,6 +14,11 @@ $this_section = SECTION_PLATFORM_ADMIN;
 if (!api_is_platform_admin() || api_get_setting('allow_skills_tool') !== 'true') {
     api_not_allowed(true);
 }
+$backpack = 'https://backpack.openbadges.org/';
+
+if (array_key_exists('openbadges_backpack', $_configuration)) {
+    $backpack = $_configuration['openbadges_backpack'];
+}
 
 $interbreadcrumb = array(
     array(
@@ -23,7 +28,7 @@ $interbreadcrumb = array(
 );
 
 $tpl = new Template(get_lang('Badges'));
-
+$tpl->assign('backpack', $backpack);
 $contentTemplate = $tpl->get_template('skill/badge.tpl');
 
 $tpl->display($contentTemplate);

+ 1 - 1
main/admin/skill_badge_create.php

@@ -70,7 +70,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') {
             $skillThumbPath = sprintf("%s%s%s-small.png", $sysDataPath, $fileDir, $fileName);
 
             $skillImageThumb = new Image($skillImagePath);
-            $skillImageThumb->resize(ICON_SIZE_SMALL, ICON_SIZE_SMALL);
+            $skillImageThumb->resize(ICON_SIZE_BIG, ICON_SIZE_BIG);
             $skillImageThumb->send_image($skillThumbPath);
 
             $params['icon'] = sprintf("%s%s.png", $fileDir, $fileName);

+ 0 - 6
main/admin/skill_badge_issuer.php → main/admin/skill_badge_help.php

@@ -13,11 +13,6 @@ if (!api_is_platform_admin() || api_get_setting('allow_skills_tool') !== 'true')
     api_not_allowed(true);
 }
 
-$backpack = 'https://backpack.openbadges.org/';
-
-if (array_key_exists('openbadges_backpack', $_configuration)) {
-    $backpack = $_configuration['openbadges_backpack'];
-}
 
 $this_section = SECTION_PLATFORM_ADMIN;
 
@@ -34,7 +29,6 @@ $interbreadcrumb = array(
 
 $tpl = new Template(get_lang('IssuerDetails'));
 
-$tpl->assign('backpack', $backpack);
 
 $contentTemplate = $tpl->get_template('skill/badge_issuer.tpl');
 

+ 24 - 21
main/course_info/infocours.php

@@ -125,18 +125,18 @@ if (file_exists($course_path.'/course-pic85x85.png')) {
 }
 $form->addElement('html', $image_html);
 
-$form->addText('title', get_lang('Title'), true, array('class' => 'span6'));
+$form->addText('title', get_lang('Title'), true, array('class' => ''));
 $form->applyFilter('title', 'html_filter');
 $form->applyFilter('title', 'trim');
 
 $form->addElement('select', 'category_code', get_lang('Fac'), $categories, array('style'=>'width:350px', 'class'=>'chzn-select', 'id'=>'category_code'));
 $form->addElement('select_language', 'course_language', array(get_lang('Ln'), get_lang('TipLang')));
 
-$form->addText('department_name', get_lang('Department'), false, array('class' => 'span5'));
+$form->addText('department_name', get_lang('Department'), false, array('class' => ''));
 $form->applyFilter('department_name', 'html_filter');
 $form->applyFilter('department_name', 'trim');
 
-$form->addText('department_url', get_lang('DepartmentUrl'), false, array('class' => 'span5'));
+$form->addText('department_url', get_lang('DepartmentUrl'), false, array('class' => ''));
 $form->applyFilter('department_url', 'html_filter');
 
 // Picture
@@ -162,8 +162,8 @@ $group[]=$form->createElement('SelectTheme', 'course_theme', null, array('class'
 $form->addGroup($group, '', array(get_lang("Stylesheets")), '');
 
 $form->addElement('label', get_lang('DocumentQuota'), format_file_size(DocumentManager::get_course_quota()));
-
-$form->addElement('style_submit_button', null, get_lang('SaveSettings'), 'class="save"');
+$form->addButtonSave(get_lang('SaveSettings'),'submit_save');
+//$form->addElement('style_submit_button', null,'<i class="fa fa-floppy-o"></i> '. get_lang('SaveSettings'), 'class="btn btn-primary"');
 $form->addElement('html', '</div></div>');
 
 // COURSE ACCESS
@@ -199,8 +199,8 @@ $form->addText('course_registration_password', get_lang('CourseRegistrationPassw
 
 $form->addElement('checkbox', 'activate_legal', array(null, get_lang('ShowALegalNoticeWhenEnteringTheCourse')), get_lang('ActivateLegal'));
 $form->addElement('textarea', 'legal', get_lang('CourseLegalAgreement'), array('class'=>'span6', 'rows' => 8));
-
-$form->addElement('style_submit_button', null, get_lang('SaveSettings'), 'class="save"');
+$form->addButtonSave(get_lang('SaveSettings'),'submit_save');
+//$form->addElement('style_submit_button', null, '<i class="fa fa-floppy-o"></i> '.get_lang('SaveSettings'), 'class="btn btn-primary"');
 $form->addElement('html', '</div></div>');
 
 // Documents
@@ -212,8 +212,8 @@ if (api_get_setting('documents_default_visibility_defined_in_course') == 'true')
         $form->createElement('radio', 'documents_default_visibility', null, get_lang('Invisible'), 'invisible')
     );
     $form->addGroup($group, '', array(get_lang("DocumentsDefaultVisibility")), '');
-
-    $form->addElement('style_submit_button', null, get_lang('SaveSettings'), 'class="save"');
+    $form->addButtonSave(get_lang('SaveSettings'),'submit_save');
+    //$form->addElement('style_submit_button', null,'<i class="fa fa-floppy-o"></i> '.get_lang('SaveSettings'), 'class="btn btn-primary"');
 
     $form->addElement('html', '</div></div>');
 }
@@ -246,7 +246,8 @@ $group = array();
 $group[]=$form->createElement('radio', 'email_alert_manager_on_new_quiz', get_lang('QuizEmailAlert'), get_lang('QuizEmailAlertActivate'), 1);
 $group[]=$form->createElement('radio', 'email_alert_manager_on_new_quiz', null, get_lang('QuizEmailAlertDeactivate'), 0);
 $form->addGroup($group, '', array(get_lang("QuizEmailAlert")), '');
-$form->addElement('style_submit_button', null, get_lang('SaveSettings'), 'class="save"');
+$form->addButtonSave(get_lang('SaveSettings'),'submit_save');
+//$form->addElement('style_submit_button', null, '<i class="fa fa-floppy-o"></i> '.get_lang('SaveSettings'), 'class="btn btn-primary"');
 
 $form->addElement('html', '</div></div>');
 
@@ -272,8 +273,8 @@ $group = array();
 $group[]=$form->createElement('radio', 'allow_user_view_user_list', get_lang('AllowUserViewUserList'), get_lang('AllowUserViewUserListActivate'), 1);
 $group[]=$form->createElement('radio', 'allow_user_view_user_list', null, get_lang('AllowUserViewUserListDeactivate'), 0);
 $form->addGroup($group, '', array(get_lang("AllowUserViewUserList")), '');
-
-$form->addElement('style_submit_button', null, get_lang('SaveSettings'), 'class="save"');
+$form->addButtonSave(get_lang('SaveSettings'),'submit_save');
+//$form->addElement('style_submit_button', null, '<i class="fa fa-floppy-o"></i> '.get_lang('SaveSettings'), 'class="btn btn-primary"');
 $form->addElement('html', '</div></div>');
 
 // CHAT SETTINGS
@@ -283,8 +284,8 @@ $group = array();
 $group[]=$form->createElement('radio', 'allow_open_chat_window', get_lang('AllowOpenchatWindow'), get_lang('AllowOpenChatWindowActivate'), 1);
 $group[]=$form->createElement('radio', 'allow_open_chat_window', null, get_lang('AllowOpenChatWindowDeactivate'), 0);
 $form->addGroup($group, '', array(get_lang("AllowOpenchatWindow")), '');
-
-$form->addElement('style_submit_button', null, get_lang('SaveSettings'), 'class="save"');
+$form->addButtonSave(get_lang('SaveSettings'),'submit_save');
+//$form->addElement('style_submit_button', null,'<i class="fa fa-floppy-o"></i> '. get_lang('SaveSettings'), 'class="btn btn-primary"');
 $form->addElement('html', '</div></div>');
 
 // LEARNING PATH
@@ -327,7 +328,8 @@ if (isset($_configuration['allow_lp_return_link']) && $_configuration['allow_lp_
 }
 
 if (is_settings_editable()) {
-    $form->addElement('style_submit_button', null, get_lang('SaveSettings'), 'class="save"');
+    $form->addButtonSave(get_lang('SaveSettings'),'submit_save');
+    //$form->addElement('style_submit_button', null, '<i class="fa fa-floppy-o"></i> '.get_lang('SaveSettings'), 'class="btn btn-primary"');
 } else {
     // Is it allowed to edit the course settings?
     if (!is_settings_editable()) {
@@ -346,8 +348,8 @@ $group[]=$form->createElement('radio', 'display_info_advance_inside_homecourse',
 $group[]=$form->createElement('radio', 'display_info_advance_inside_homecourse', null, get_lang('DisplayAboutNextAdvanceNotDoneAndLastDoneAdvance'), 3);
 $group[]=$form->createElement('radio', 'display_info_advance_inside_homecourse', null, get_lang('DoNotDisplayAnyAdvance'), 0);
 $form->addGroup($group, '', array(get_lang("InfoAboutAdvanceInsideHomeCourse")), '');
-
-$form->addElement('style_submit_button', null, get_lang('SaveSettings'), 'class="save"');
+$form->addButtonSave(get_lang('SaveSettings'),'submit_save');
+//$form->addElement('style_submit_button', null,'<i class="fa fa-floppy-o"></i> '.get_lang('SaveSettings'), 'class="btn btn-primary"');
 $form->addElement('html', '</div></div>');
 
 // Document settings
@@ -359,8 +361,8 @@ $group = array(
 
 );
 $form->addGroup($group, '', array(get_lang("ShowSystemFolders")), '');
-
-$form->addElement('style_submit_button', null, get_lang('SaveSettings'), 'class="save"');
+$form->addButtonSave(get_lang('SaveSettings'),'submit_save');
+//$form->addElement('style_submit_button', null,'<i class="fa fa-floppy-o"></i> '.get_lang('SaveSettings'), 'class="btn btn-primary"');
 $form->addElement('html', '</div></div>');
 
 // Certificate settings
@@ -370,8 +372,8 @@ if (api_get_setting('allow_public_certificates')=='true') {
     $group[]=$form->createElement('radio', 'allow_public_certificates', get_lang('AllowPublicCertificates'), get_lang('Yes'), 1);
     $group[]=$form->createElement('radio', 'allow_public_certificates', null, get_lang('No'), 0);
     $form->addGroup($group, '', array(get_lang("AllowPublicCertificates")), '');
-
-    $form->addElement('style_submit_button', null, get_lang('SaveSettings'), 'class="save"');
+    $form->addButtonSave(get_lang('SaveSettings'),'submit_save');
+    //$form->addElement('style_submit_button', null,'<i class="fa fa-floppy-o"></i> '.get_lang('SaveSettings'), 'class="btn  btn-primary"');
     $form->addElement('html', '</div></div>');
 }
 
@@ -529,6 +531,7 @@ echo '<script>
 $(function() {
 	$("#course_settings").accordion({
 		autoHeight: false,
+		heightStyle: "content",
 		header: "div > h3"
 	});
 });

+ 320 - 187
main/css/base.css

@@ -5,6 +5,7 @@
 /* some changes to the bootstrap.css */
 
 /* when doing a var_dump*/
+
 pre {
     margin-top:40px;
 }
@@ -349,52 +350,6 @@ form .formw input {
 
 /* New changes Chamilo 1.9 */
 
-.well h4 {
-    padding: 3px 15px;
-}
-
-#login_block #formLogin,
-#login_block #lang_form,
-#notice_block .homepage_notice {
-    padding: 3px 15px;
-}
-
-.nav-list > .active > a,
-.nav-list > .active > a:hover {
-    background-color: #999999;
-}
-
-.sidebar-nav {
-    padding:  8px 0px;
-}
-
-.sidebar-nav-skill-wheel {
-    padding-top:  0px;
-}
-
-.well_border {
-    /* border: 1px solid rgba(0, 0, 0, 0.05);*/
-    border: 1px solid #E1E1E0;
-    border-radius: 4px 4px 4px 4px;
-    box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05) inset;
-    margin-bottom: 20px;
-    min-height: 20px;
-    padding: 19px;
-}
-
-.well_login {
-    margin: 0 auto;
-    width: 200px;
-}
-
-.well_login button {
-    margin-left: 0px;
-}
-
-#progress_bar img {
-    height:26px;
-}
-
 #lp_navigation_elem .buttons{
     margin-bottom: 5px;
 }
@@ -411,15 +366,8 @@ html {
     min-height: 100%;
 }
 
-body {
-    margin-bottom: 80px;
-    /* hack ignored by non-IE to enable ie to support :hover on button */
-    behavior:url("/main/css/csshover3.htc");
-    background-color: #fff;
-}
-
 footer {
-    position: absolute;
+    position: relative;
     bottom: 0;
     width: 100%;
     height: 80px;
@@ -447,6 +395,7 @@ footer {
     -moz-border-radius: 4px;
     -webkit-border-radius: 4px;
     box-shadow: 0 1px 1px rgba(0,0,0,0.05);
+    margin-bottom: 20px;
 }
 [dir=rtl] .actions {
     background:#efefef;
@@ -456,7 +405,6 @@ footer {
     vertical-align:middle;
     float: right;
 }
-
 .actions .actions-pagination {
   float:right;
   margin-top:2px;
@@ -474,26 +422,19 @@ footer {
 .actions form {
     margin-bottom: 0px;
 }
-
 .actions fieldset {
     margin-top:0px;
 }
-
-
 .muted {
-    color: #999999 !important;
+  color: #999999 !important;
 }
-
-
 .actions a {
     display: inline-block;
     margin-right: 10px;
 }
-
 .actions .btn-toolbar {
     margin : 0px;
 }
-
 .actions span {
     display: inline-block;
     margin-right: 10px;
@@ -503,11 +444,9 @@ footer {
     margin-right: 10px;
     vertical-align:middle;
 }
-
 .actions fieldset {
     margin-top:0px;
 }
-
 #friend-container .thumbnail {
     min-height: 140px;
 }
@@ -2389,11 +2328,9 @@ div.admin_section h4 {
     /*min-width: 173px; */
 }
 
-.lp_tree {
-    padding: 15px;
-}
 #lp_item_list {
-    margin:0px;
+    margin:0;
+    padding: 0;
 }
 #lp_item_list, #lp_item_list li {
     list-style-type: none;
@@ -3160,6 +3097,7 @@ form .formw .freeze {
 }
 .skill-options .skill-home{
   margin-top: 1em;
+  margin-bottom: 1em;
 }
 .skill-options .btn-block {
   box-sizing: border-box;
@@ -3179,7 +3117,6 @@ form .formw .freeze {
   margin-top: 1em;
 }
 .skill-options .form-search .holder{
-  border: 1px solid #cccccc;
   padding-left: .5em;
   padding-right: .5em;
 }
@@ -3245,6 +3182,7 @@ form .formw .freeze {
   background-color: #FFFFFF;
   padding-top: .5em;
   padding-bottom: .5em;
+  margin-bottom: 1em;
 }
 .skill-options .section-info-skill{
   display: inline-block;
@@ -3267,6 +3205,9 @@ form .formw .freeze {
 .skill-options .button-skill{
   margin-bottom: .5em;
 }
+.search-skill ul.holder li.bit-input input{
+  width: 100%;
+}
 .page-items-profile{
   padding-top: 2em;
   padding-bottom: 2em;
@@ -4316,7 +4257,7 @@ a.forum_group_link {
     left: 0;
     position: fixed;
     right: 0;
-    top: 38px;
+    top: 0px;
     z-index: 1030;
 }
 
@@ -4338,26 +4279,8 @@ a.forum_group_link {
     padding-top:8px;
 }
 
-footer {
-    /* Default gray footer */
-    background-color: #F5F5F5; /* Old browsers */
-    background-repeat: repeat-x; /* Repeat the gradient */
-    background-image: -moz-linear-gradient(top, #F5F5F5 0%, #EEEEEE 100%); /* FF3.6+ */
-    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#F5F5F5), color-stop(100%,#EEEEEE)); /* Chrome,Safari4+ */
-    background-image: -webkit-linear-gradient(top, #F5F5F5 0%, #EEEEEE 100%); /* Chrome 10+,Safari 5.1+ */
-    background-image: -ms-linear-gradient(top, #F5F5F5 0%,#EEEEEE 100%); /* IE10+ */
-    background-image: -o-linear-gradient(top, #F5F5F5 0%,#EEEEEE 100%); /* Opera 11.10+ */
-    /* Fixes bug in ie8 */
-    /* filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#F5F5F5', endColorstr='#EEEEEE',GradientType=0 ); */ /* IE6-9 */
-    background-image: linear-gradient(top, #F5F5F5 0%, #EEEEEE 100%); /* W3C */
-}
-
 /* Default LP left column values */
 
-#learning_path_breadcrumb_zone {
-
-}
-
 #learning_path_left_zone {
     float:left;
     width:315px;
@@ -4427,6 +4350,9 @@ footer {
     bottom: 0;
     left: 0px;
     margin-bottom: 0px;
+    background:#ECF0F1;
+    padding: 20px;
+    border-top: 3px solid #DCE4EC;
 }
 
 .doc_folder {
@@ -4548,104 +4474,6 @@ footer {
     box-shadow:none;
 }
 
-i.size-32{
-    width:32px;
-    height:32px;
-    line-height: 32px;
-    margin:0;
-    padding:0;
-    border:none;
-    border-radius: 0;
-    background-repeat: no-repeat;
-    background-position:center center;
-    box-shadow:none;
-    background-color: transparent;
-    display:inline-block;
-}
-
-i.size-32.icon-new-folder{
-    background-image:  url('../img/icons/32/new_folder.png');
-}
-
-i.size-32.icon-new-link{
-    background-image:  url('../img/icons/32/new_link.png');
-}
-
-i.size-32.icon-export-csv{
-    background-image:  url('../img/icons/32/export_csv.png');
-}
-
-i.size-32.icon-import-csv{
-    background-image:  url('../img/icons/32/import_csv.png');
-}
-
-i.size-32.icon-delete-all{
-    background-image:  url('../img/icons/32/delete.png');
-}
-
-i.size-32.icon-back{
-    background-image:  url('../img/icons/32/back.png');
-}
-
-i.size-32.icon-settings{
-    background-image:  url('../img/icons/32/settings.png');
-}
-
-i.size-32.icon-view-detailed{
-    background-image:  url('../img/icons/32/view_detailed.png');
-}
-
-i.size-32.icon-view-text{
-    background-image:  url('../img/icons/32/view_text.png');
-}
-
-i.size-32.icon-sort-by-created-date{
-    background-image:  url('../img/icons/32/notes_order_by_date_new.png');
-}
-
-i.size-32.icon-sort-by-modified-date{
-    background-image:  url('../img/icons/32/notes_order_by_date_mod.png');
-}
-
-i.size-32.icon-sort-by-title{
-    background-image:  url('../img/icons/32/notes_order_by_title.png');
-}
-
-i.size-32.icon-new-announce{
-    background-image:  url('../img/icons/32/new_announce.png');
-}
-
-i.size-22{
-    width:22px;
-    height:22px;
-    line-height: 22px;
-    margin:0;
-    padding:0;
-    border:none;
-    border-radius: 0;
-    background-repeat: no-repeat;
-    background-position:center center;
-    box-shadow:none;
-    background-color: transparent;
-    display:inline-block;
-}
-
-i.size-22.icon-edit{
-    background-image:  url('../img/icons/22/edit.png');
-}
-
-i.size-22.icon-delete{
-    background-image:  url('../img/icons/22/delete.png');
-}
-
-i.icon-collapse{
-    background-image:  url('../img/div_show.gif');
-}
-
-i.icon-expand{
-    background-image:  url('../img/div_hide.gif');
-}
-
 .announcement {
     /*    background: none repeat scroll 0 0 #F2F2F2;*/
     border: 1px solid #D3D3D3;
@@ -5267,3 +5095,308 @@ i.size-32.icon-new-work{
     font-size: 16px;
     font-weight: normal;
 }
+/* CSS BASE BOOSTRAP 3 */
+.openbadges-introduction{
+  line-height: 30px;
+  margin-bottom: 30px;
+}
+.openbadges-introduction .title{
+  text-align: center;
+  margin-bottom: 20px;
+  color: #456176;
+  font-size: 35px;
+}
+.openbadges-introduction .lead{
+  font-size: 15px;
+}
+.openbadges-introduction .sub-title{
+  color: #456176;
+  text-align: center;
+  font-size: 20px;
+}
+.openbadges-introduction .badges-tablet{
+  padding-top: 15px;
+}
+.openbadges-introduction .block-content{
+  padding-top: 30px;
+  padding-bottom: 30px;
+}
+.openbadges-introduction .block-edit{
+  padding-top: 15px;
+  padding-bottom: 30px;
+}
+.openbadges-introduction .block-content .block-title,
+.openbadges-introduction .block-edit .block-title{
+  background-color: #e2eceb;
+  border: 1px solid #456176;
+  padding-left:10px;
+  padding-right: 10px;
+  padding-top: 5px;
+  padding-bottom: 5px;
+  font-size: 16px;
+  color: #456176;
+}
+.openbadges-introduction .block-content p{
+  padding-left: 5%;
+  font-size: 14px;
+}
+.openbadges-tablet{
+ margin-top: 15px;
+}
+.openbadges-tablet .table thead{
+  background-color: #E2ECEB;
+  border-top: 1px solid #677F8F;
+  border-bottom: 1px solid #677F8F;
+  border-left: 1px solid #677F8F;
+  border-right: 1px solid #677F8F;
+  font-size: 16px;
+  color: #456176;
+}
+.openbadges-tablet .table thead tr th{
+  font-weight: normal;
+}
+.openbadges-tablet .table td{
+  border-top: 1px solid #677F8F;
+  vertical-align: middle;
+
+}
+.openbadges-tabs ul.nav-tabs li a{
+  background-color: #E2ECEB;
+  border-top: 1px solid #677F8F;
+  border-right: 1px solid #677F8F;
+  border-left: 1px solid #677F8F;
+  border-bottom: 1px solid #677F8F;
+}
+.openbadges-tabs ul.nav-tabs .active a{
+  background: #fff;
+  border-bottom: 1px solid #ffffff;
+}
+.openbadges-tabs .nav-tabs{
+  border-bottom: 1px solid #677F8F;
+}
+.create-openbadges{
+  text-align: center;
+  margin-bottom: 10px;
+  padding-top: 5px;
+  padding-bottom: 5px;
+}
+.openbadges-img, .openbadges-view{
+  text-align: center;
+  padding: 10px;
+  margin-top: 10px;
+  border: 1px solid #b2b2b2;
+}
+.openbadges-text{
+  text-align: center;
+}
+/* Social Profile */
+
+.social-avatar{
+  text-align: center;
+  padding-top: 10px;
+}
+.social-avatar .avatar-profile{
+  margin-bottom: 5px;
+}
+.social-avatar .avatar-profile .img-responsive{
+  display: inline-block;
+  margin: auto;
+}
+.social-avatar .lastname{
+  font-size: 18px;
+  font-weight: bold;
+  color: #4d4d4d;
+}
+.social-avatar .firstname{
+  font-size: 16px;
+  font-weight: bold;
+  color: #4d4d4d;
+  margin-bottom: 5px;
+}
+.social-avatar .edit-profile{
+  margin-top: 15px;
+  margin-bottom: 15px;
+}
+.social-search form{
+  margin-bottom: 0px;
+}
+.social-group .group-title{
+  color: #456176;
+  font-weight: bold;
+  font-size: 14px;
+}
+.social-skill .list-badges{
+  list-style: none;
+  padding-left: 8px;
+  margin:0px;
+}
+.social-skill .list-badges li{
+  margin-top: 10px;
+  display: inline-block;
+  width: 100px;
+  margin-right: 5px;
+  font-size: 11px;
+  text-align: center;
+  border: 1px solid #bce8f1;
+  border-radius: 5px;
+  box-sizing: border-box;
+  vertical-align: top;
+  box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.09);
+}
+.social-skill .list-badges li img{
+  height: 100%;
+  max-height: 64px;
+  width: 100%;
+  max-width: 64px;
+  margin-top: 10px;
+  margin-bottom: 10px;
+}
+.social-skill .list-badges .badges-name{
+  background: #D9EDF7;
+  min-height: 35px;
+  border-bottom-left-radius: 4px;
+  border-bottom-right-radius: 4px;
+  color: #31708F;
+}
+.social-skill .dropdown-menu{
+  top: 30px;
+}
+.social-group .list-group-newest .items{
+  display: block;
+}
+.social-group .list-group-newest .items .group-image{
+  vertical-align: top;
+  padding-left: 10px;
+  padding-right: 10px;
+}
+.social-group .list-group-newest .items .group-image,
+.social-group .list-group-newest .items .group-info
+{
+  display: inline-block;
+}
+.social-group .list-group-newest .items .group-info{
+  width: auto;
+}
+.social-group .items{
+  border-bottom: 1px dotted #B1DDE0;
+  padding-bottom: 5px;
+  margin-bottom: 5px;
+}
+.social-group .group-name a{
+  font-size: 14px;
+  font-weight: bold;
+  color: #4D4D4D;
+}
+.social-group .count-username{
+  font-size: 12px;
+  color: #4D4D4D;
+}
+.social-group .description p{
+  color: #4D4D4D;
+  padding-top: 10px;
+  padding-bottom: 0px;
+  font-size: 11px;
+}
+.social-post .mediaPost{
+  padding-top:10px;
+  padding-bottom: 5px;
+  margin-bottom: 5px;
+}
+.social-post .sub-mediapost{
+  padding-left: 20px;
+  margin-left: 20px;
+}
+.top-mediapost .user-image img,
+.sub-mediapost .user-image img
+{
+  width: 50px;
+  height: 50px;
+  max-width: 50px;
+  max-height: 50px;
+}
+.top-mediapost .user-image,
+.sub-mediapost .user-image
+{
+  vertical-align: top;
+}
+.top-mediapost .user-image .avatar-thumb,
+.sub-mediapost .user-image .avatar-thumb{
+  padding: 5px;
+  border: 1px solid #dddddd;
+  margin-bottom: 5px;
+  margin-right: 5px;
+}
+.top-mediapost .user-data .username a,
+.sub-mediapost .user-data .username a{
+  font-size: 14px;
+  font-weight: bold;
+  color: #4D4D4D;
+}
+.top-mediapost .user-data .time,
+.sub-mediapost .user-data .time
+{
+  color: #9197a3;
+}
+.top-mediapost .msg-content .img-post .thumbnail,
+.sub-mediapost .msg-content .img-post .thumbnail{
+  border: 1px solid #dddddd;
+}
+.top-mediapost .msg-content p,
+.sub-mediapost .rep-post .msg-content p{
+  border-top:1px solid #dddddd;
+  padding-top: 5px;
+  padding-bottom: 5px;
+  margin-top: 5px;
+  margin-bottom: 5px;
+  line-height: 18px;
+  padding-left: 10px;
+  padding-right: 10px;
+}
+.top-mediapost .user-data .username a:hover,
+.sub-mediapost .user-data .username a:hover{
+  text-decoration: underline;
+}
+.top-mediapost .user-image, .top-mediapost .user-data,
+.sub-mediapost .rep-post .user-image, .sub-mediapost .rep-post .user-data{
+  display: inline-block;
+}
+
+.deleted-mgs a{
+  float: right;
+  font-size: 18px;
+  font-weight: bold;
+  text-shadow: 0 1px 0 #fff;
+  opacity: 0.2;
+  filter: alpha(opacity=20);
+  color: #000000;
+}
+
+.social-rss .title-rss{
+  margin-bottom: 5px;
+  margin-top: 5px;
+  font-size: 14px;
+}
+.social-rss .rss-items{
+  padding-top: 10px;
+  padding-bottom: 5px;
+  margin-bottom: 5px;
+}
+.social-rss .rss-items .rss-title a{
+  color: #4D4D4D;
+}
+.social-rss .rss-items .rss-title a:hover{
+  text-decoration: underline;
+}
+.social-rss .rss-items .rss-content p{
+  line-height: 18px;
+  font-size: 12px;
+  color: #666;
+}
+.menu-column .nav li a{
+  padding: 5px;
+  font-size: 12px;
+}
+.menu-column .nav li a img{
+  vertical-align: bottom;
+  margin-right: 5px;
+}

+ 1 - 1
main/css/base_chamilo.css

@@ -1003,7 +1003,7 @@ padding-top: 0px;   padding-right: 0px; padding-bottom: 0px;    padding-left: 0p
 .skip {
     display: none;
 }
-
+/*
  Added: to fit img and blocks in home page
 */
 #hellomindfactory {

+ 21 - 2
main/css/chamilo/default.css

@@ -189,6 +189,25 @@ td,
 th {
   padding: 0;
 }
+footer{
+  background-image: -webkit-linear-gradient(#54b4eb, #2fa4e7 60%, #1d9ce5);
+  background-image: -o-linear-gradient(#54b4eb, #2fa4e7 60%, #1d9ce5);
+  background-image: -webkit-gradient(linear, left top, left bottom, from(#54b4eb), color-stop(60%, #2fa4e7), to(#1d9ce5));
+  background-image: linear-gradient(#54b4eb, #2fa4e7 60%, #1d9ce5);
+  background-repeat: no-repeat;
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff54b4eb', endColorstr='#ff1d9ce5', GradientType=0);
+  border-bottom: 1px solid #178acc;
+  -webkit-filter: none;
+  filter: none;
+  -webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
+  box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
+}
+footer{
+  color: #ffffff;
+}
+footer a{
+  color: #ffffff;
+}
 /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
 @media print {
   *,
@@ -6332,9 +6351,9 @@ button.close {
 .show {
   display: block !important;
 }
-.invisible {
+/*.invisible {
   visibility: hidden;
-}
+}*/
 .text-hide {
   font: 0/0 a;
   color: transparent;

+ 9 - 9
main/dashboard/dashboard.php

@@ -55,33 +55,33 @@ if (isset($dashboard_view) && $dashboard_view == 'blocks') {
 			}
 		}
 
-		echo '<div id="columns">';
+		echo '<div id="columns" class="row">';
 		if (count($columns) > 0) {
 			$columns_name = array_keys($columns);
 			// blocks for column 1
 			if (in_array('column_1',$columns_name)) {
-				echo '<ul id="column1" class="column">';
+				echo '<div id="column1" class="col-md-6">';
 					foreach ($columns['column_1'] as $content) {
 						echo $content;
 					}
-				echo '</ul>';
+				echo '</div>';
 			} else {
-				echo '<ul id="column1" class="column">';
+				echo '<div id="column1" class="col-md-6">';
 				echo '&nbsp;';
-				echo '</ul>';
+				echo '</div>';
 			}
 			// blocks for column 2
 			if (in_array('column_2',$columns_name)) {
 				// blocks for column 1
-				echo '<ul id="column2" class="column">';
+				echo '<div id="column2" class="col-md-6">';
 					foreach ($columns['column_2'] as $content) {
 						echo $content;
 					}
-				echo '</ul>';
+				echo '</div>';
 			} else {
-				echo '<ul id="column2" class="column">';
+				echo '<div id="column2" class="col-md-6">';
 				echo '&nbsp;';
-				echo '</ul>';
+				echo '</div>';
 			}
 		}
 		echo '</div>';

+ 10 - 1
main/document/create_document.php

@@ -44,6 +44,15 @@ $(document).ready(function() {
         showTemplates();
     });
 });
+
+function setFocus() {
+   $("#document_title").focus();
+}
+
+$(window).load(function () {
+	setFocus();
+});
+
 </script>';
 
 //I'm in the certification module?
@@ -579,7 +588,7 @@ if ($form->validate()) {
 		Display::display_normal_message($create_certificate.': <br /><br/>'.$str_info,false);
 	}
     // HTML-editor
-    echo '<div class="row-fluid" style="overflow:hidden">
+    echo '<div class="row" style="overflow:hidden">
             <div id="template_col" class="col-md-3" style="width:200px">
                 <div id="frmModel" ></div>
             </div>

+ 4 - 4
main/document/document.php

@@ -382,12 +382,12 @@ switch ($action) {
 
             if (file_exists($copyfile)) {
                 $message = get_lang('CopyAlreadyDone').'</p><p>';
-                $message .= '<a class = "btn" '.
+                $message .= '<a class = "btn btn-default" '.
                         'href="'.api_get_self().'?'.api_get_cidreq().'&amp;id='.$parent_id.'">'.
                         get_lang("No").
                     '</a>'.
                     '&nbsp;&nbsp;|&nbsp;&nbsp;'.
-                    '<a class = "btn" href="'.api_get_self().'?'.
+                    '<a class = "btn btn-default" href="'.api_get_self().'?'.
                         api_get_cidreq().'&amp;action=copytomyfiles&amp;id='.$document_info['id'].
                         '&amp;copy=yes">'.
                     get_lang('Yes').
@@ -1369,7 +1369,7 @@ if ($is_allowed_to_edit ||
         $templateForm .= '<tr><td>'.get_lang('TemplateImage').' : </td>';
         $templateForm .= '<td><input type="file" name="template_image" id="template_image" /></td></tr>';
         $templateForm .= '</table>';
-        $templateForm .= '<button type="submit" class="add" name="create_template">'.get_lang('CreateTemplate').'</button>';
+        $templateForm .= '<button type="submit" class="btn-default" name="create_template">'.get_lang('CreateTemplate').'</button>';
         $templateForm .= '</form>';
     } elseif (isset($_GET['add_as_template']) && isset($_POST['create_template'])) {
 
@@ -1514,7 +1514,7 @@ if (!$is_certificate_mode) {
     $form = new FormValidator('search_document', 'get', api_get_self().'?'.api_get_cidreq());
     $renderer = & $form->defaultRenderer();
     $renderer->setElementTemplate('<span>{element}</span> ');
-    $form->addText('keyword', '', false, array('class' => 'span2'));
+    $form->addText('keyword', '', false, array('class' => 'col-md-2'));
     $form->addElement('hidden', 'cidReq', api_get_course_id());
     $form->addElement('hidden', 'id_session', api_get_session_id());
     $form->addElement('hidden', 'gidReq', $groupId);

+ 2 - 1
main/document/showinframes.php

@@ -348,7 +348,8 @@ if ($show_web_odf) {
     echo '</div>';
 } else {
     // ViewerJS already have download button
-    echo '<a class="btn" href="'.$file_url_web.'" target="_blank">'.get_lang('Download').'</a>';
+    echo '<a class="btn btn-default" href="'.$file_url_web.'" target="_blank"><i class="fa fa-download"></i>
+'.get_lang('Download').'</a>';
 }
 
 echo '</div>';

+ 1 - 1
main/dropbox/dropbox_functions.inc.php

@@ -578,7 +578,7 @@ function display_add_form($dropbox_unid, $viewReceivedCategory, $viewSentCategor
     }
 
     $form->addElement('select', 'recipients', get_lang('SendTo'), $options, array('multiple' => 'multiple', 'size' => '10', 'class' => 'span4'));
-    $form->addElement('button', 'submitWork', get_lang('Upload'));
+    $form->addElement('button', 'submitWork', get_lang('Upload'),'paper-plane','btn btn-success');
     $form->display();
 }
 

BIN
main/img/icons/128/badges-default.png


BIN
main/img/icons/22/edit-skill.png


BIN
main/img/icons/22/skill-badges.png


BIN
main/img/icons/22/social-files.png


BIN
main/img/icons/22/social-friends.png


BIN
main/img/icons/22/social-groups.png


BIN
main/img/icons/22/social-home.png


BIN
main/img/icons/22/social-invitations.png


BIN
main/img/icons/22/social-message.png


BIN
main/img/icons/22/social-profile.png


BIN
main/img/icons/22/social-search.png


BIN
main/img/icons/22/social_rss.png


BIN
main/img/icons/64/badges-default.png


BIN
main/img/icons/64/badges.png


BIN
main/img/openbadges.png


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

@@ -196,7 +196,7 @@ switch ($action) {
             for($i = 0; $i < count($array); $i++) {
                 $post = $array[$i]['html'];
                 $comment = SocialManager::getWallMessagesHTML($userId, $friendId, $array[$i]['id']);
-                $html .= '<div class="well_border">'.$post.$comment.'</div>';
+                $html .= '<div class="panel panel-info"><div class="panel-body">'.$post.$comment.'</div></div>';
             }
             $html .= Display::div(
                 Display::url(

+ 4 - 5
main/inc/lib/display.lib.php

@@ -83,7 +83,7 @@ class Display
 
         if (!empty(self::$preview_style)) {
             self::$global_template->preview_theme = self::$preview_style;
-            self::$global_template->set_css_files();
+            self::$global_template->set_css_custom_files();
             self::$global_template->set_js_files();
         }
         if (!empty($page_header)) {
@@ -1891,15 +1891,14 @@ class Display
      */
     public static function group_button($title, $elements)
     {
-        $html = '<div class="btn-toolbar">
-            <div class="btn-group">
-            <button class="btn dropdown-toggle" data-toggle="dropdown">'.$title.' <span class="caret"></span></button>
+        $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">';
         foreach ($elements as $item) {
             $html .= Display::tag('li', Display::url($item['title'], $item['href']));
         }
         $html .= '</ul>
-            </div> </div>';
+            </div>';
         return $html;
     }
 

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

@@ -5775,7 +5775,7 @@ class DocumentManager
         $form->addElement('hidden', 'id', intval($dirId));
         $form->addElement('header', '', get_lang('CreateDir'));
         $form->addElement('text', 'dirname', get_lang('NewDir'), array('autofocus' => 'autofocus'));
-        $form->addElement('style_submit_button', 'submit', get_lang('CreateFolder'), 'class="add"');
+        $form->addElement('style_submit_button', 'submit','<i class="fa fa-folder-open"></i> '. get_lang('CreateFolder'), 'class="btn-primary"');
         $new_folder_text = $form->return_form();
         return $new_folder_text;
     }

+ 1 - 1
main/inc/lib/javascript/tag/jquery.fcbkcomplete.js

@@ -201,7 +201,7 @@ jQuery(
 	                var input = $(document.createElement("input"));
 	                
 	                li.attr({"class": "bit-input","id": elemid + "_annoninput"});        
-	                input.attr({"type": "text","class": "maininput","size": "1"});        
+	                input.attr({"type": "text","class": "maininput","size": "1"});
 	                holder.append(li.append(input));
 	                
 	                input.focus(

+ 3 - 13
main/inc/lib/skill.lib.php

@@ -500,20 +500,10 @@ class Skill extends Model
                 $row['level']       = count($a) - 1;
                 $row['gradebooks']  = self::get_gradebooks_by_skill($row['id']);
                 $skills[$row['id']] = $row;
-            }
-        }
 
-        /*
-        if ($load_user_data && $user_id) {
-            $passed_skills = $this->get_user_skills($user_id);
-            foreach ($skills as &$skill) {
-                $skill['done_by_user'] = 0;
-                if (in_array($skill['id'], $passed_skills)) {
-                    $skill['done_by_user'] = 1;
-                }
-            }
-        }*/
 
+            }
+        }
 
         //Load all children of the parent_id
         if (!empty($skills) && !empty($parent_id)) {
@@ -740,6 +730,7 @@ class Skill extends Model
 
         $result = Database::query($sql);
         $skills = Database::store_result($result, 'ASSOC');
+
         $clean_skill = array();
         if (!empty($skills)) {
             foreach ($skills as $skill) {
@@ -752,7 +743,6 @@ class Skill extends Model
                             sha1($skill['name'])
                         );
                     }
-
                     $clean_skill[$skill['id']] = array_merge(
                         $skill,
                         array(

+ 75 - 109
main/inc/lib/social.lib.php

@@ -420,17 +420,18 @@ class SocialManager extends UserManager
             if (!empty($rss->items)) {
                 $icon_rss = '';
                 if (!empty($feed)) {
-                    $icon_rss = Display::url(Display::return_icon('rss.png', '', array(), 32), Security::remove_XSS($feed['rssfeeds']), array('target' => '_blank'));
+                    $icon_rss = Display::url(Display::return_icon('social_rss.png', '', array(), 22), Security::remove_XSS($feed['rssfeeds']), array('target' => '_blank'));
                 }
-                $res .= '<h2>'.$rss->channel['title'].''.$icon_rss.'</h2>';
-                $res .= '<div class="social-rss-channel-items">';
+
+                $res .= '<h3 class="title-rss">'.$icon_rss.' '.$rss->channel['title'].'</h3>';
+                $res .= '<div class="rss-items">';
                 foreach ($rss->items as $item) {
                     if ($limit >= 0 and $i > $limit) {
                         break;
                     }
-                    $res .= '<h3><a href="'.$item['link'].'">'.$item['title'].'</a></h3>';
-                    $res .= '<div class="social-rss-item-date">'.api_get_local_time($item['date_timestamp']).'</div>';
-                    $res .= '<div class="social-rss-item-content">'.$item['description'].'</div><br />';
+                    $res .= '<h4 class="rss-title"><a href="'.$item['link'].'">'.$item['title'].'</a></h4>';
+                    $res .= '<div class="rss-date">'.api_get_local_time($item['date_timestamp']).'</div>';
+                    $res .= '<div class="rss-content"><p>'.$item['description'].'</p></div>';
                     $i++;
                 }
                 $res .= '</div>';
@@ -594,47 +595,34 @@ class SocialManager extends UserManager
         $group_pending_invitations = count($group_pending_invitations);
         $total_invitations = $number_of_new_messages_of_friend + $group_pending_invitations;
         $total_invitations = (!empty($total_invitations) ? Display::badge($total_invitations) : '');
-        $showUserImage = user_is_online($user_id) || api_is_platform_admin();
 
-        $html = '<div>';
+        $html = '<div class="avatar-profile">';
         if (in_array($show, $show_groups) && !empty($group_id)) {
             //--- Group image
             $group_info = GroupPortalManager::get_group_data($group_id);
             $big = GroupPortalManager::get_picture_group($group_id, $group_info['picture_uri'], 160, GROUP_IMAGE_SIZE_BIG);
 
-            $html .= '<div class="social-content-image">';
-            $html .= '<div class="well social-background-content">';
+
             $html .= Display::url('<img src='.$big['file'].' class="social-groups-image" /> </a><br /><br />', api_get_path(WEB_CODE_PATH).'social/groups.php?id='.$group_id);
             if (GroupPortalManager::is_group_admin($group_id, api_get_user_id())) {
-                $html .= '<div id="edit_image" class="hidden_message" style="display:none">
+                $html .= '<div id="edit_image">
                             <a href="'.api_get_path(WEB_CODE_PATH).'social/group_edit.php?id='.$group_id.'">'.
                     get_lang('EditGroup').'</a></div>';
             }
-            $html .= '</div>';
-            $html .= '</div>';
+
         } else {
-            if ($showUserImage) {
-                $img_array = UserManager::get_user_picture_path_by_id($user_id, 'web', true, true);
-            } else {
-                $img_array = UserManager::get_user_picture_path_by_id(null, 'web', true, true);
-            }
+            $img_array = UserManager::get_user_picture_path_by_id($user_id, 'web', true, true);
             $big_image = UserManager::get_picture_user($user_id, $img_array['file'], '', USER_IMAGE_SIZE_BIG);
             $big_image = $big_image['file'].'?'.uniqid();
             $normal_image = $img_array['dir'].$img_array['file'].'?'.uniqid();
 
             //--- User image
-
-            $html .= '<div class="well social-background-content">';
             if ($img_array['file'] != 'unknown.jpg') {
-                $html .= '<a class="thumbnail thickbox" href="'.$big_image.'"><img src='.$normal_image.' /> </a>';
+                $html .= '<a class="thickbox" href="'.$big_image.'"><img class="img-responsive" src='.$normal_image.' /> </a>';
             } else {
                 $html .= '<img src='.$normal_image.' width="110px" />';
             }
-            if (api_get_user_id() == $user_id) {
-                $html .= '<div id="edit_image" class="hidden_message" style="display:none">';
-                $html .= '<a href="'.api_get_path(WEB_CODE_PATH).'auth/profile.php">'.get_lang('EditProfile').'</a></div>';
-            }
-            $html .= '</div>';
+
         }
         $html .= '</div>';
         return $html;
@@ -711,33 +699,34 @@ class SocialManager extends UserManager
         $active = null;
         if (!in_array($show, array('shared_profile', 'groups', 'group_edit', 'member_list', 'waiting_list', 'invite_friends'))) {
 
-            $html .= '<div class="well sidebar-nav"><ul class="nav nav-list">';
+            $html .= '<div class="panel panel-default sidebar-nav">';
+            $html .= '<div class="panel-body">';
+            $html .= '<ul class="nav nav-pills nav-stacked">';
             $active = $show == 'home' ? 'active' : null;
-            $html .= '<li class="home-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/home.php">'.get_lang('Home').'</a></li>';
+            $html .= '<li class="home-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/home.php">'.Display::return_icon('social-home.png',get_lang('Home'),'',ICON_SIZE_SMALL).' '.get_lang('Home').'</a></li>';
             $active = $show == 'messages' ? 'active' : null;
-            $html .= '<li class="messages-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'messages/inbox.php?f=social">'.get_lang('Messages').$count_unread_message.'</a></li>';
+            $html .= '<li class="messages-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'messages/inbox.php?f=social">'.Display::return_icon('social-message.png',get_lang('Messages'),'',ICON_SIZE_SMALL).' '.get_lang('Messages').$count_unread_message.'</a></li>';
 
             //Invitations
             $active = $show == 'invitations' ? 'active' : null;
-            $html .= '<li class="invitations-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/invitations.php">'.get_lang('Invitations').$total_invitations.'</a></li>';
+            $html .= '<li class="invitations-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/invitations.php">'.Display::return_icon('social-invitations.png',get_lang('Invitations'),'',ICON_SIZE_SMALL).' '.get_lang('Invitations').$total_invitations.'</a></li>';
 
             //Shared profile and groups
             $active = $show == 'shared_profile' ? 'active' : null;
-            $html .= '<li class="shared-profile-icon'.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/profile.php">'.get_lang('ViewMySharedProfile').'</a></li>';
+            $html .= '<li class="shared-profile-icon'.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/profile.php">'.Display::return_icon('social-profile.png',get_lang('ViewMySharedProfile'),'',ICON_SIZE_SMALL).' '.get_lang('ViewMySharedProfile').'</a></li>';
             $active = $show == 'friends' ? 'active' : null;
-            $html .= '<li class="friends-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/friends.php">'.get_lang('Friends').'</a></li>';
+            $html .= '<li class="friends-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/friends.php">'.Display::return_icon('social-friends.png',get_lang('Friends'),'',ICON_SIZE_SMALL).' '.get_lang('Friends').'</a></li>';
             $active = $show == 'browse_groups' ? 'active' : null;
-            $html .= '<li class="browse-groups-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/groups.php">'.get_lang('SocialGroups').'</a></li>';
+            $html .= '<li class="browse-groups-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/groups.php">'.Display::return_icon('social-groups.png',get_lang('SocialGroups'),'',ICON_SIZE_SMALL).' '.get_lang('SocialGroups').'</a></li>';
 
             //Search users
             $active = $show == 'search' ? 'active' : null;
-            $html .= '<li class="search-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/search.php">'.get_lang('Search').'</a></li>';
+            $html .= '<li class="search-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/search.php">'.Display::return_icon('social-search.png',get_lang('Search'),'',ICON_SIZE_SMALL).' '.get_lang('Search').'</a></li>';
 
             //My files
             $active = $show == 'myfiles' ? 'active' : null;
-            $html .= '<li class="myfiles-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/myfiles.php">'.get_lang('MyFiles').'</span></a></li>';
-            $html .='</ul>
-                  </div>';
+            $html .= '<li class="myfiles-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/myfiles.php">'.Display::return_icon('social-files.png',get_lang('MyFiles'),'',ICON_SIZE_SMALL).' '.get_lang('MyFiles').'</span></a></li>';
+            $html .='</ul></div></div>';
         }
 
         if (in_array($show, $show_groups) && !empty($group_id)) {
@@ -749,23 +738,24 @@ class SocialManager extends UserManager
         }
 
         if ($show == 'shared_profile') {
-            $html .= '<div class="well sidebar-nav">
-                    <ul class="nav nav-list">';
+            $html .= '<div class="panel panel-default sidebar-nav">';
+            $html .= '<div class="panel-body">';
+            $html .=  '<ul class="nav nav-pills nav-stacked">';
 
             // My own profile
             if ($show_full_profile && $user_id == intval(api_get_user_id())) {
-                $html .= '<li class="home-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/home.php">'.get_lang('Home').'</a></li>
-                          <li class="messages-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'messages/inbox.php?f=social">'.get_lang('Messages').$count_unread_message.'</a></li>';
+                $html .= '<li class="home-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/home.php">'.Display::return_icon('social-home.png',get_lang('Home'),'',ICON_SIZE_SMALL).' '.get_lang('Home').'</a></li>
+                          <li class="messages-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'messages/inbox.php?f=social">'.Display::return_icon('social-message.png',get_lang('Messages'),'',ICON_SIZE_SMALL).' '.get_lang('Messages').$count_unread_message.'</a></li>';
                 $active = $show == 'invitations' ? 'active' : null;
-                $html .= '<li class="invitations-icon'.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/invitations.php">'.get_lang('Invitations').$total_invitations.'</a></li>';
+                $html .= '<li class="invitations-icon'.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/invitations.php">'.Display::return_icon('social-invitations.png',get_lang('Invitations'),'',ICON_SIZE_SMALL).' '.get_lang('Invitations').$total_invitations.'</a></li>';
 
-                $html .= '<li class="shared-profile-icon active"><a href="'.api_get_path(WEB_CODE_PATH).'social/profile.php">'.get_lang('ViewMySharedProfile').'</a></li>
-                          <li class="friends-icon"><a href="'.api_get_path(WEB_CODE_PATH).'social/friends.php">'.get_lang('Friends').'</a></li>
-                          <li class="browse-groups-icon"><a href="'.api_get_path(WEB_CODE_PATH).'social/groups.php">'.get_lang('SocialGroups').'</a></li>';
+                $html .= '<li class="shared-profile-icon active"><a href="'.api_get_path(WEB_CODE_PATH).'social/profile.php">'.Display::return_icon('social-profile.png',get_lang('ViewMySharedProfile'),'',ICON_SIZE_SMALL).' '.get_lang('ViewMySharedProfile').'</a></li>
+                          <li class="friends-icon"><a href="'.api_get_path(WEB_CODE_PATH).'social/friends.php">'.Display::return_icon('social-friends.png',get_lang('Friends'),'',ICON_SIZE_SMALL).' '.get_lang('Friends').'</a></li>
+                          <li class="browse-groups-icon"><a href="'.api_get_path(WEB_CODE_PATH).'social/groups.php">'.Display::return_icon('social-groups.png',get_lang('SocialGroups'),'',ICON_SIZE_SMALL).' '.get_lang('SocialGroups').'</a></li>';
                 $active = $show == 'search' ? 'active' : null;
-                $html .= '<li class="search-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/search.php">'.get_lang('Search').'</a></li>';
+                $html .= '<li class="search-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/search.php">'.Display::return_icon('social-search.png',get_lang('Search'),'',ICON_SIZE_SMALL).' '.get_lang('Search').'</a></li>';
                 $active = $show == 'myfiles' ? 'active' : null;
-                $html .= '<li class="myfiles-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/myfiles.php">'.get_lang('MyFiles').'</a></li>';
+                $html .= '<li class="myfiles-icon '.$active.'"><a href="'.api_get_path(WEB_CODE_PATH).'social/myfiles.php">'.Display::return_icon('social-files.png',get_lang('MyFiles'),'',ICON_SIZE_SMALL).' '.get_lang('MyFiles').'</a></li>';
             }
 
             // My friend profile.
@@ -822,7 +812,7 @@ class SocialManager extends UserManager
                     }
                 }
             }
-            $html .= '</ul></div>';
+            $html .= '</ul></div></div>';
 
             if ($show_full_profile && $user_id == intval(api_get_user_id())) {
                 $personal_course_list = UserManager::get_personal_session_course_list($user_id);
@@ -909,7 +899,7 @@ class SocialManager extends UserManager
                 $html .='<div class="row">';
             }
 
-            $html .= '<div class="span'.$column_size.'">';
+            $html .= '<div class="col-md-'.$column_size.'">';
 
             $html .= '<ul id="online_grid_container" class="thumbnails">';
         }
@@ -941,7 +931,7 @@ class SocialManager extends UserManager
                 $img = '<img title = "'.$name.'" alt="'.$name.'" src="'.$friends_profile['file'].'">';
             }
             $name = '<a href="'.$url.'">'.$status_icon.$user_status.$name.'</a><br>';
-            $html .= '<li class="span'.($column_size / 3).'"><div class="thumbnail">'.$img.'<div class="caption">'.$name.'</div</div></li>';
+            $html .= '<li class="col-md-'.($column_size / 3).'"><div class="thumbnail">'.$img.'<div class="caption">'.$name.'</div</div></li>';
         }
         $counter = $_SESSION['who_is_online_counter'];
 
@@ -949,7 +939,7 @@ class SocialManager extends UserManager
             $html .= '</ul></div>';
         }
         if (count($user_list) >= 9) {
-            $html .= '<div class="span'.$column_size.'"><a class="btn btn-large" id="link_load_more_items" data_link="'.$counter.'" >'.get_lang('More').'</a></div>';
+            $html .= '<div class="col-md-'.$column_size.'"><a class="btn btn-large btn-default" id="link_load_more_items" data_link="'.$counter.'" >'.get_lang('More').'</a></div>';
         }
         if ($wrap && $add_row) {
             $html .= '</div>';
@@ -1272,8 +1262,7 @@ class SocialManager extends UserManager
 
         $isOwnWall = (api_get_user_id() == $userId  && $userId == $friendId);
         $messages = self::getWallMessages($userId, MESSAGE_STATUS_WALL, $idMessage, $start, $limit, $offset);
-        $formattedList = '<div class="mediaPost" style="width:calc(100%-14px);
-        display:block;padding-left:14px">';
+        $formattedList = '<div class="sub-mediapost">';
         $users = array();
 
         // The messages are ordered by date descendant, for comments we need ascendant
@@ -1290,50 +1279,38 @@ class SocialManager extends UserManager
                 : $users[$userIdLoop]['lastname'] . ' ' . $users[$userIdLoop]['firstname'];
             $url = api_get_path(WEB_CODE_PATH).'social/profile.php?u='.$userIdLoop;
             $media = '';
-            $media .= '<div class="media" style="width:100%; display:inline-block; margin-bottom:5px;">';
-            $media .= '<div class="media-body" style="width: 100%; height: 32px; margin-bottom:5px;">';
-            $media .= '<div class="pull-left" style="width: 32px; height: 100%;">';
-            $media .= '<a href="'.$url.'" >'
-            . '<img class="" src="'. $users[$userIdLoop]['avatar'] .'" '
-            . 'alt="'.$users[$userIdLoop]['complete_name'].'" style="width: 32px; height: 32px;"> '
-            . '</a>';
-            $media .= '</div>';
-            $media .= '<div class="pull-left" style="padding-left:4px;width: calc(100% - 36px);height: 100%;">';
-            $media .= '<div style="width: 100%; height: 50%;">';
-            $media .= '<h4 class="media-heading" style="width: inherit;">'
-            . '<a href="'.$url.'">'.$nameComplete.'</a></h4>';
-            $media .= '</div>';
-            $media .= '<div style="width: 100%; height: 50%;">';
-            $media .= '<div class="pull-left" style="height: 100%;">';
-            $media .= '<small><span class="time timeago" title="'.$date.'">'.$date.'</span></small>';
-            $media .= '</div>';
-            $media .= '</div>';
-            $media .= '</div>';
-            $media .= '</div>';
+            $media .= '<div class="rep-post">';
             if ($isOwnWall) {
-                $media .= '<div style="width: 100%;height:20px">';
-                $media .= '<div><a href="'.api_get_path(WEB_CODE_PATH).'social/profile.php?messageId='.
-                $message['id'].'">'.get_lang('SocialMessageDelete').'</a></div>';
+                $media .= '<div class="pull-right deleted-mgs">';
+                $media .= '<a title="'.get_lang("SocialMessageDelete").'" href="'.api_get_path(WEB_CODE_PATH).'social/profile.php?messageId='.
+                    $message['id'].'">'.get_lang('x').'</a>';
                 $media .= '</div>';
             }
-            $media .= '<div style="width:100%;text-align:justify;">';
-            $media .= '<span class="content">'.Security::remove_XSS($message['content']).'</span>';
+            $media .= '<div class="user-image">';
+            $media .= '<a href="'.$url.'" ><img src="'. $users[$userIdLoop]['avatar'] .
+                       '" alt="'.$users[$userIdLoop]['complete_name'].'" class="avatar-thumb"></a>';
             $media .= '</div>';
-            $media .= '</div>'; // end media
+            $media .= '<div class="user-data">';
+            $media .= '<div class="username">' . '<a href="'.$url.'">'.$nameComplete.'</a></div>';
+            $media .= '<div class="time timeago" title="'.$date.'">'.$date.'</div>';
+            $media .= '</div>';
+            $media .= '<div class="msg-content">';
+            $media .= '<p>'.Security::remove_XSS($message['content']).'</p>';
+            $media .= '</div></div>';
+
             $formattedList .= $media;
         }
 
         $formattedList .= '</div>';
 
-        $formattedList .= '<div class="mediaPost" style="display:inline-block;">';
+        $formattedList .= '<div class="mediapost-form">';
             $formattedList .= '<form name="social_wall_message" method="POST">
                 <label for="social_wall_new_msg" class="hide">'.get_lang('SocialWriteNewComment').'</label>
                 <input type="hidden" name = "messageId" value="'.$idMessage.'" />
                 <textarea placeholder="'.get_lang('SocialWriteNewComment').
-                '" name="social_wall_new_msg" rows="1" cols="80" style="width: 98%"></textarea>
-                <br />
-                <input type="submit" name="social_wall_new_msg_submit"
-                value="'.get_lang('Post').'" class="float right btn" />
+                '" name="social_wall_new_msg" rows="1" style="width:80%;" ></textarea>
+                <button type="submit" name="social_wall_new_msg_submit"
+                class="pull-right btn btn-default" /><i class="fa fa-pencil"></i> '.get_lang('Post').'</button>
                 </form>';
         $formattedList .= '</div>';
         return $formattedList;
@@ -1429,40 +1406,29 @@ class SocialManager extends UserManager
 
         $htmlDelete = '';
         if ($isOwnWall) {
-            $htmlDelete .= '<a href="'.api_get_path(WEB_CODE_PATH).'social/profile.php?messageId='.
-            $message['id'].'">'.get_lang('SocialMessageDelete').'</a>';
+            $htmlDelete .= '<a title="'.get_lang("SocialMessageDelete").'" href="'.api_get_path(WEB_CODE_PATH).'social/profile.php?messageId='.
+            $message['id'].'">'.get_lang('x').'</a>';
         }
 
         $html = '';
-        $html .= '<div class="mediaPost" style="width: 100%; display:inline-block; margin-bottom:5px;">';
-        $html .= '<div class="media-body" style="width: 100%; height: 40px; margin-bottom:5px;">';
-        $html .= '<div class="pull-left" style="width: 40px; height: 100%;">';
-        $html .= '<a href="'.$urlAuthor.'">'.'<img class="" src="'.$avatarAuthor.
-        '" alt="'.$nameCompleteAuthor.'" style="width: 40px; height: 40px;"></a>';
-        $html .= '</div>';
-        $html .= '<div class="pull-left" style="padding-left:4px; width: calc(100% - 44px);height: 100%;">';
-        $html .= '<div style="width: 100%; height: 50%;">';
-        $html .= '<h4 class="media-heading" style="width: inherit;">';
-        $html .= '<a href="'.$urlAuthor.'">'.$nameCompleteAuthor.'</a>'.$htmlReceiver.'</h4>';
-        $html .= '</div>';
-        $html .= '<div style="width: 100%; height: 50%;">';
-        $html .= '<div class="pull-left" style="height: 100%;">';
-        $html .= '<small><span class="time timeago" title="'.$date.'">'.$date.'</span></small>';
-        $html .= '</div>';
-        $html .= '</div>';
-        $html .= '</div>';
-        $html .= '</div>';
+        $html .= '<div class="top-mediapost" >';
         if ($isOwnWall) {
-            $html .= '<div style="width: 100%;height:20px">';
+            $html .= '<div class="pull-right deleted-mgs">';
             $html .= $htmlDelete;
             $html .= '</div>';
         }
-        $html .= '<div style="width: 100%;">';
+        $html .= '<div class="user-image" >';
+        $html .= '<a href="'.$urlAuthor.'">'.'<img class="avatar-thumb" src="'.$avatarAuthor.'" alt="'.$nameCompleteAuthor.'"></a>';
+        $html .= '</div>';
+        $html .= '<div class="user-data">';
+        $html .= '<div class="username"><a href="'.$urlAuthor.'">'.$nameCompleteAuthor.'</a>'.$htmlReceiver.'</div>';
+        $html .= '<div class="time timeago" title="'.$date.'">'.$date.'</div>';
+        $html .= '</div>';
+        $html .= '<div class="msg-content">';
+        $html .= '<div class="img-post">';
         $html .= $wallImage;
         $html .= '</div>';
-        $html .= '<div style="width:100%;text-align:justify;">';
-        $html .= '<span class="content">'.
-            Security::remove_XSS(self::readContentWithOpenGraph($message['content'])).'</span>';
+        $html .= '<p>'. Security::remove_XSS(self::readContentWithOpenGraph($message['content'])).'</p>';
         $html .= '</div>';
         $html .= '</div>'; // end mediaPost
 

+ 2 - 2
main/inc/lib/svg-edit/svg-editor.php

@@ -26,8 +26,8 @@ if (!isset($_SESSION['draw_dir'])) {
     <link rel="stylesheet" href="svg-editor.css" type="text/css"/>
     <link rel="stylesheet" href="custom.css" type="text/css"/>
     <link rel="stylesheet" href="spinbtn/JQuerySpinBtn.css" type="text/css"/>
-    <?php echo api_get_jquery_js(); ?>
-
+    <?php /* echo api_get_js('jquery.min.js'); */?>
+    <script src="jquery.js"></script>
     <script src="js-hotkeys/jquery.hotkeys.min.js"></script>
     <script src="jquerybbq/jquery.bbq.min.js"></script>
     <script src="svgicons/jquery.svgicons.js"></script>

+ 42 - 11
main/inc/lib/template.lib.php

@@ -460,9 +460,11 @@ class Template
     }
 
     /**
-     * Set theme, include CSS files
+     * Set theme, include mainstream CSS files
+     * @return void
+     * @see setCssCustomFiles() for additional CSS sheets
      */
-    public function set_css_files()
+    public function setCssFiles()
     {
         global $disable_js_and_css_files;
         $css = array();
@@ -489,19 +491,43 @@ class Template
         }
 
         // Base CSS
-        $css[] = api_get_cdn_path(api_get_path(WEB_CSS_PATH).'base.css');
+        $css[] = api_get_cdn_path(api_get_path(WEB_CSS_PATH) . 'bootstrap.css');
 
         //Extra CSS files
-        $css[] = api_get_path(WEB_LIBRARY_PATH).'javascript/thickbox.css';
-        $css[] = api_get_path(WEB_LIBRARY_PATH).'javascript/chosen/chosen.css';
+        $css[] = api_get_path(WEB_LIBRARY_PATH) . 'javascript/thickbox.css';
+        $css[] = api_get_path(WEB_LIBRARY_PATH) . 'javascript/chosen/chosen.css';
 
         if (api_is_global_chat_enabled()) {
-            $css[] = api_get_path(WEB_LIBRARY_PATH).'javascript/chat/css/chat.css';
+            $css[] = api_get_path(WEB_LIBRARY_PATH) . 'javascript/chat/css/chat.css';
         }
 
+        $css[] = api_get_path(WEB_CSS_PATH) . 'font-awesome.css';
+        $css[] = api_get_path(WEB_LIBRARY_PATH) . 'javascript/mediaelement/mediaelementplayer.css';
+        $css[] = api_get_path(WEB_LIBRARY_PATH) . 'javascript/daterange/daterangepicker-bs3.css';
+
         //THEME CSS STYLE
-       // $css[] = api_get_cdn_path(api_get_path(WEB_CSS_PATH).'responsive.css');
-       // $css[] = api_get_cdn_path(api_get_path(WEB_CSS_PATH).$this->theme.'/default.css');
+        // $css[] = api_get_cdn_path(api_get_path(WEB_CSS_PATH).'responsive.css');
+
+        $css_file_to_string = null;
+        foreach ($css as $file) {
+            $css_file_to_string .= api_get_css($file);
+        }
+
+        if (!$disable_js_and_css_files) {
+            $this->assign('css_static_file_to_string', $css_file_to_string);
+        }
+    }
+    /**
+     * Prepare custom CSS to be added at the very end of the <head> section
+     * @return void
+     * @see setCssFiles() for the mainstream CSS files
+     */
+    public function setCssCustomFiles()
+    {
+        global $disable_js_and_css_files;
+        // Base CSS
+        $css[] = api_get_cdn_path(api_get_path(WEB_CSS_PATH).'base.css');
+        $css[] = api_get_cdn_path(api_get_path(WEB_CSS_PATH).$this->theme.'/default.css');
 
         if ($this->show_learnpath) {
             $css[] = api_get_path(WEB_CSS_PATH).$this->theme.'/learnpath.css';
@@ -540,9 +566,13 @@ class Template
         }
 
         if (!$disable_js_and_css_files) {
-            $this->assign('css_file_to_string', $css_file_to_string);
+            $this->assign('css_custom_file_to_string', $css_file_to_string);
 
-            $style_print = api_get_css(api_get_cdn_path(api_get_path(WEB_CSS_PATH).$this->theme.'/print.css'), 'print');
+            $style_print = '';
+            if (is_readable(api_get_path(SYS_CSS_PATH).$this->theme.'/print.css')) {
+                $style_print = api_get_css(api_get_cdn_path(api_get_path(WEB_CSS_PATH) . $this->theme . '/print.css'),
+                    'print');
+            }
             $this->assign('css_style_print', $style_print);
         }
 
@@ -709,8 +739,9 @@ class Template
         $this->assign('title_string', $title_string);
 
         //Setting the theme and CSS files
-        $this->set_css_files();
+        $css = $this->setCssFiles();
         $this->set_js_files();
+        $this->setCssCustomFiles($css);
         //$this->set_js_files_post();
 
         $browser = api_browser_support('check_browser');

+ 2 - 2
main/inc/lib/usermanager.lib.php

@@ -3850,8 +3850,8 @@ class UserManager
         $searchType = isset($_GET['search_type']) ? $_GET['search_type'] : null;
 
         return '
-        <form method="GET" class="well form-search" action="'.api_get_path(WEB_PATH).'main/social/search.php">
-                <input placeholder="'.get_lang('UsersGroups').'" type="text" class="input-small" value="'.api_htmlentities(Security::remove_XSS($query)).'" name="q"/> &nbsp;
+        <form method="GET" class="form-search" action="'.api_get_path(WEB_PATH).'main/social/search.php">
+                <input placeholder="'.get_lang('UsersGroups').'" type="text" value="'.api_htmlentities(Security::remove_XSS($query)).'" name="q"/> &nbsp;
                 ' . get_lang('Type') .'
                 <select name="search_type" onchange="javascript: extra_field_toogle();">
                 <option value="0">--'.get_lang('Select').'--</option>

+ 2 - 2
main/inc/lib/userportal.lib.php

@@ -325,12 +325,12 @@ class IndexManager
         if (api_get_setting('allow_skills_tool') == 'true') {
             $content = '<ul class="nav nav-pills nav-stacked">';
 
-            $content .= Display::tag('li', Display::url(get_lang('MySkills'), api_get_path(WEB_CODE_PATH).'social/my_skills_report.php'));
+            $content .= Display::tag('li', Display::url(Display::return_icon('skill-badges.png',get_lang('MySkills'),null,ICON_SIZE_SMALL).get_lang('MySkills'), api_get_path(WEB_CODE_PATH).'social/my_skills_report.php'));
 
             $allowSkillsManagement = api_get_setting('allow_hr_skills_management') == 'true';
 
             if (($allowSkillsManagement && api_is_drh()) || api_is_platform_admin()) {
-                $content .= Display::tag('li', Display::url(get_lang('ManageSkills'), api_get_path(WEB_CODE_PATH).'admin/skills_wheel.php'));
+                $content .= Display::tag('li', Display::url(Display::return_icon('edit-skill.png',get_lang('MySkills'),null,ICON_SIZE_SMALL).get_lang('ManageSkills'), api_get_path(WEB_CODE_PATH).'admin/skills_wheel.php'));
             }
             $content .= '</ul>';
             $html = self::show_right_block(get_lang("Skills"), $content, 'skill_block');

+ 41 - 5
main/messages/inbox.php

@@ -127,10 +127,46 @@ if (isset($_GET['f']) && $_GET['f'] == 'social' || api_get_setting('allow_social
         $actions .= '<a href="'.api_get_path(WEB_PATH).'main/messages/outbox.php">'.Display::return_icon('outbox.png', get_lang('Outbox')).'</a>';
     }
 }
-
+$userInfo    = UserManager::get_user_info_by_id($user_id);
 //LEFT CONTENT
 if (api_get_setting('allow_social_tool') == 'true') {
-    $social_avatar_block = SocialManager::show_social_avatar_block('messages');
+    //Block Social Avatar
+    $social_avatar_block = '<div class="panel panel-info social-avatar">';
+    $social_avatar_block .= SocialManager::show_social_avatar_block('messages');
+    $social_avatar_block .= '<div class="lastname">'.$userInfo['lastname'].'</div>';
+    $social_avatar_block .= '<div class="firstname">'.$userInfo['firstname'].'</div>';
+    /* $social_avatar_block .= '<div class="username">'.Display::return_icon('user.png','','',ICON_SIZE_TINY).$userInfo['username'].'</div>'; */
+    $social_avatar_block .= '<div class="email">'.Display::return_icon('instant_message.png').'&nbsp;' .$userInfo['email'].'</div>';
+    $chat_status = $userInfo['extra'];
+    if(!empty($chat_status['user_chat_status'])){
+        $social_avatar_block.= '<div class="status">'.Display::return_icon('online.png').get_lang('Chat')." (".get_lang('Online').')</div>';
+    }else{
+        $social_avatar_block.= '<div class="status">'.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')</div>';
+    }
+
+    $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+    if (api_get_setting('sso_authentication') === 'true') {
+        $subSSOClass = api_get_setting('sso_authentication_subclass');
+        $objSSO = null;
+
+        if (!empty($subSSOClass)) {
+            require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
+
+            $subSSOClass = 'sso' . $subSSOClass;
+            $objSSO = new $subSSOClass();
+        } else {
+            $objSSO = new sso();
+        }
+
+        $editProfileUrl = $objSSO->generateProfileEditingURL();
+    }
+    $social_avatar_block .= '<div class="edit-profile">
+                            <a class="btn" href="' . $editProfileUrl . '">' . get_lang('EditProfile') . '</a>
+                         </div>';
+    $social_avatar_block .= '</div>';
+
+    //Block Social Menu
     $social_menu_block = SocialManager::show_social_menu('messages');
 }
 
@@ -138,13 +174,13 @@ if (api_get_setting('allow_social_tool') == 'true') {
 $social_right_content = null;
 
 if (api_get_setting('allow_social_tool') == 'true') {
-    $social_right_content .= '<div class="col-md-9">';
+    $social_right_content .= '<div class="col-md-12">';
     $social_right_content .= '<div class="actions">';
     $social_right_content .= '<a href="'.api_get_path(WEB_PATH).'main/messages/new_message.php?f=social">'.Display::return_icon('compose_message.png', get_lang('ComposeMessage'), array(), 32).'</a>';
     $social_right_content .= '<a href="'.api_get_path(WEB_PATH).'main/messages/outbox.php?f=social">'.Display::return_icon('outbox.png', get_lang('Outbox'), array(), 32).'</a>';
     $social_right_content .= '</div>';
     $social_right_content .= '</div>';
-    $social_right_content .= '<div class="span9">';
+    $social_right_content .= '<div class="col-md-12">';
 }
 //MAIN CONTENT
 
@@ -170,7 +206,7 @@ if (api_get_setting('allow_social_tool') == 'true') {
     $tpl->assign('social_avatar_block', $social_avatar_block);
     $tpl->assign('social_menu_block', $social_menu_block);
     $tpl->assign('social_right_content', $social_right_content);
-    $social_layout = $tpl->get_template('layout/social_layout.tpl');
+    $social_layout = $tpl->get_template('social/inbox.tpl');
     $tpl->display($social_layout);
 } else {
     $content = $social_right_content;

+ 38 - 2
main/messages/new_message.php

@@ -309,8 +309,44 @@ if ($group_id != 0) {
 
 // LEFT COLUMN
 $social_left_content = null;
+$userInfo    = UserManager::get_user_info_by_id($user_id);
 if (api_get_setting('allow_social_tool') == 'true') {
-    $social_avatar_block = SocialManager::show_social_avatar_block('messages');
+    //Block Social Avatar
+    $social_avatar_block = '<div class="panel panel-info social-avatar">';
+    $social_avatar_block .= SocialManager::show_social_avatar_block('messages');
+    $social_avatar_block .= '<div class="lastname">'.$userInfo['lastname'].'</div>';
+    $social_avatar_block .= '<div class="firstname">'.$userInfo['firstname'].'</div>';
+    $social_avatar_block .= '<div class="email">'.Display::return_icon('instant_message.png').'&nbsp;' .$userInfo['email'].'</div>';
+    $chat_status = $userInfo['extra'];
+    if(!empty($chat_status['user_chat_status'])){
+        $social_avatar_block.= '<div class="status">'.Display::return_icon('online.png').get_lang('Chat')." (".get_lang('Online').')</div>';
+    }else{
+        $social_avatar_block.= '<div class="status">'.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')</div>';
+    }
+
+    $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+    if (api_get_setting('sso_authentication') === 'true') {
+        $subSSOClass = api_get_setting('sso_authentication_subclass');
+        $objSSO = null;
+
+        if (!empty($subSSOClass)) {
+            require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
+
+            $subSSOClass = 'sso' . $subSSOClass;
+            $objSSO = new $subSSOClass();
+        } else {
+            $objSSO = new sso();
+        }
+
+        $editProfileUrl = $objSSO->generateProfileEditingURL();
+    }
+    $social_avatar_block .= '<div class="edit-profile">
+                            <a class="btn" href="' . $editProfileUrl . '">' . get_lang('EditProfile') . '</a>
+                         </div>';
+    $social_avatar_block .= '</div>';
+
+    //Block Social Menu
     $social_menu_block = SocialManager::show_social_menu('messages');
     $social_right_content .= '<div class="span9">';
     $social_right_content .= '<div class="actions">';
@@ -371,7 +407,7 @@ if (api_get_setting('allow_social_tool') == 'true') {
     $tpl->assign('social_avatar_block', $social_avatar_block);
     $tpl->assign('social_menu_block', $social_menu_block);
     $tpl->assign('social_right_content', $social_right_content);
-    $social_layout = $tpl->get_template('layout/social_layout.tpl');
+    $social_layout = $tpl->get_template('social/inbox.tpl');
     $tpl->display($social_layout);
 } else {
     $content = $social_right_content;

+ 37 - 3
main/messages/outbox.php

@@ -108,9 +108,43 @@ if (isset($_REQUEST['action'])) {
 }
 
 $social_right_content = '';
-
+$userInfo    = UserManager::get_user_info_by_id($user_id);
 if (api_get_setting('allow_social_tool') == 'true') {
-    $social_avatar_block = SocialManager::show_social_avatar_block('messages');
+    //Block Social Avatar
+    $social_avatar_block = '<div class="panel panel-info social-avatar">';
+    $social_avatar_block .= SocialManager::show_social_avatar_block('messages');
+    $social_avatar_block .= '<div class="lastname">'.$userInfo['lastname'].'</div>';
+    $social_avatar_block .= '<div class="firstname">'.$userInfo['firstname'].'</div>';
+    $social_avatar_block .= '<div class="email">'.Display::return_icon('instant_message.png').'&nbsp;' .$userInfo['email'].'</div>';
+    $chat_status = $userInfo['extra'];
+    if(!empty($chat_status['user_chat_status'])){
+        $social_avatar_block.= '<div class="status">'.Display::return_icon('online.png').get_lang('Chat')." (".get_lang('Online').')</div>';
+    }else{
+        $social_avatar_block.= '<div class="status">'.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')</div>';
+    }
+
+    $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+    if (api_get_setting('sso_authentication') === 'true') {
+        $subSSOClass = api_get_setting('sso_authentication_subclass');
+        $objSSO = null;
+
+        if (!empty($subSSOClass)) {
+            require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
+
+            $subSSOClass = 'sso' . $subSSOClass;
+            $objSSO = new $subSSOClass();
+        } else {
+            $objSSO = new sso();
+        }
+
+        $editProfileUrl = $objSSO->generateProfileEditingURL();
+    }
+    $social_avatar_block .= '<div class="edit-profile">
+                            <a class="btn" href="' . $editProfileUrl . '">' . get_lang('EditProfile') . '</a>
+                         </div>';
+    $social_avatar_block .= '</div>';
+    //Block Social Menu
     $social_menu_block = SocialManager::show_social_menu('messages');
     $social_right_content .= '<div class="span9">';
         $social_right_content .= '<div class="actions">';
@@ -153,7 +187,7 @@ if (api_get_setting('allow_social_tool') == 'true') {
     $tpl->assign('social_avatar_block', $social_avatar_block);
     $tpl->assign('social_menu_block', $social_menu_block);
     $tpl->assign('social_right_content', $social_right_content);
-    $social_layout = $tpl->get_template('layout/social_layout.tpl');
+    $social_layout = $tpl->get_template('social/home.tpl');
     $tpl->display($social_layout);
 } else {
     $content = $social_right_content;

+ 39 - 2
main/messages/view_message.php

@@ -53,8 +53,45 @@ if (empty($_GET['id'])) {
 $message  = '';
 
 //LEFT COLUMN
+$userInfo    = UserManager::get_user_info_by_id($user_id);
 if (api_get_setting('allow_social_tool') == 'true') {
-    $social_avatar_block = SocialManager::show_social_avatar_block($show_menu);
+    //Block Social Avatar
+    $social_avatar_block = '<div class="panel panel-info social-avatar">';
+    $social_avatar_block .= SocialManager::show_social_avatar_block($show_menu);
+    $social_avatar_block .= '<div class="lastname">'.$userInfo['lastname'].'</div>';
+    $social_avatar_block .= '<div class="firstname">'.$userInfo['firstname'].'</div>';
+    $social_avatar_block .= '<div class="email">'.Display::return_icon('instant_message.png').'&nbsp;' .$userInfo['email'].'</div>';
+    $chat_status = $userInfo['extra'];
+    if(!empty($chat_status['user_chat_status'])){
+        $social_avatar_block.= '<div class="status">'.Display::return_icon('online.png').get_lang('Chat')." (".get_lang('Online').')</div>';
+    }else{
+        $social_avatar_block.= '<div class="status">'.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')</div>';
+    }
+
+    $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+    if (api_get_setting('sso_authentication') === 'true') {
+        $subSSOClass = api_get_setting('sso_authentication_subclass');
+        $objSSO = null;
+
+        if (!empty($subSSOClass)) {
+            require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
+
+            $subSSOClass = 'sso' . $subSSOClass;
+            $objSSO = new $subSSOClass();
+        } else {
+            $objSSO = new sso();
+        }
+
+        $editProfileUrl = $objSSO->generateProfileEditingURL();
+    }
+    $social_avatar_block .= '<div class="edit-profile">
+                            <a class="btn" href="' . $editProfileUrl . '">' . get_lang('EditProfile') . '</a>
+                         </div>';
+    $social_avatar_block .= '</div>';
+
+
+    //Block Social Menu
     $social_menu_block = SocialManager::show_social_menu($show_menu);
     $message .='<div class="span9">';
 }
@@ -75,7 +112,7 @@ if (api_get_setting('allow_social_tool') == 'true') {
     $tpl->assign('social_avatar_block', $social_avatar_block);
     $tpl->assign('social_menu_block', $social_menu_block);
     $tpl->assign('social_right_content', $social_right_content);
-    $social_layout = $tpl->get_template('layout/social_layout.tpl');
+    $social_layout = $tpl->get_template('social/inbox.tpl');
     $tpl->display($social_layout);
 } else {
     $content = $social_right_content;

+ 8 - 7
main/newscorm/learnpath.class.php

@@ -5384,12 +5384,12 @@ class learnpath
         } else {
             $return_audio = '<table class="data_table">';
             $return_audio .= '<tr>';
-            $return_audio .= '<th width="60%">' . get_lang('Title') . '</th>';
+            $return_audio .= '<th width="40%">' . get_lang('Title') . '</th>';
             $return_audio .= '<th>' . get_lang('Audio') . '</th>';
             $return_audio .= '</tr>';
 
             if ($update_audio != 'true') {
-                $return .= '<div class="span12">';
+                $return .= '<div class="col-md-12">';
                 $return .= self::return_new_tree($update_audio);
                 $return .='</div>';
                 $return .= Display::div(Display::url(get_lang('Save'), '#', array('id'=>'listSubmit', 'class'=>'btn')), array('style'=>'float:left; margin-top:15px;width:100%'));
@@ -5400,7 +5400,7 @@ class learnpath
 
             // We need to close the form when we are updating the mp3 files.
             if ($update_audio == 'true') {
-                $return .= '<div style="margin:40px 0; float:right;"><button class="save" type="submit" name="save_audio" id="save_audio">' . get_lang('SaveAudioAndOrganization') . '</button></div>'; // TODO: What kind of language variable is this?
+                $return .= '<div><button class="save" type="submit" name="save_audio" id="save_audio">' . get_lang('SaveAudioAndOrganization') . '</button></div>'; // TODO: What kind of language variable is this?
             }
         }
 
@@ -5618,9 +5618,10 @@ class learnpath
             }
         }
 
-        $return .= '<div class="lp_tree well">';
+        $return .= '<div class="panel panel-default">';
+        $return .= '<div class="panel-heading">'.$this->name.'</div>';
+        $return .= '<div class="panel-body">';
         $return .= '<ul id="lp_item_list">';
-        $return .='<h4>'.$this->name.'</h4><br>';
 
         $tree = self::print_recursive($elements, $default_data, $default_content);
 
@@ -5635,7 +5636,7 @@ class learnpath
         if ($update_audio == 'true') {
             $return = $return_audio;
         } else {
-            $return .= '</div>';
+            $return .= '</div></div>';
         }
         return $return;
     }
@@ -8402,7 +8403,7 @@ class learnpath
                 ORDER BY display_order ";
         $rs = Database::query($sql);
         $return = '';
-        $return .= '<select name="prerequisites" >';
+        $return .= '<select name="prerequisites" class="form-control">';
         $return .= '<option value="0">'.get_lang('None').'</option>';
         if (Database::num_rows($rs) > 0) {
             while ($row = Database::fetch_array($rs)) {

+ 3 - 3
main/newscorm/lp_add_audio.php

@@ -99,8 +99,8 @@ if (isset($lp_item->audio) && !empty($lp_item->audio)) {
 }
 
 $page = $_SESSION['oLP']->build_action_menu(true);
-$page .= '<div class="row-fluid" style="overflow:hidden">';
-$page .= '<div id="lp_sidebar" class="span4">';
+$page .= '<div class="row" style="overflow:hidden">';
+$page .= '<div id="lp_sidebar" class="col-md-4">';
 $page .= $_SESSION['oLP']->return_new_tree(null, true);
 
 // Show the template list.
@@ -108,7 +108,7 @@ $page .= '</div>';
 
 $recordVoiceForm = Display::page_subheader(get_lang('RecordYourVoice'));
 
-$page .= '<div id="doc_form" class="span8">';
+$page .= '<div id="doc_form" class="col-md-8">';
 
 $tpl = new Template(null);
 $tpl->assign('unique_file_id', api_get_unique_id());

+ 1 - 1
main/newscorm/lp_add_item.php

@@ -178,7 +178,7 @@ $(document).ready(function() {
 
 echo $learnPath->build_action_menu();
 
-echo '<div class="row-fluid" style="overflow:hidden">';
+echo '<div class="row" style="overflow:hidden">';
 echo '<div id="lp_sidebar" class="col-md-4">';
 
 echo $learnPath->return_new_tree(null, true);

+ 3 - 3
main/newscorm/lp_admin_view.php

@@ -277,12 +277,12 @@ function confirmation(name) {
 
 echo $_SESSION['oLP']->build_action_menu();
 
-echo '<div class="row-fluid">';
-echo '<div class="span3">';
+echo '<div class="row">';
+echo '<div class="col-md-4">';
 echo $_SESSION['oLP']->return_new_tree(null, true);
 echo '</div>';
 
-echo '<div class="span9">';
+echo '<div class="col-md-8">';
 switch ($_GET['action']) {
     case 'edit_item':
         if (isset($is_success) && $is_success === true) {

+ 3 - 3
main/newscorm/lp_build.php

@@ -125,12 +125,12 @@ function confirmation(name) {
 
 echo $_SESSION['oLP']->build_action_menu();
 
-echo '<div class="row-fluid">';
-echo '<div class="span4">';
+echo '<div class="row">';
+echo '<div class="col-md-4">';
 // Build the tree with the menu items in it.
 echo $_SESSION['oLP']->return_new_tree();    
 echo '</div>';        
-echo '<div class="span8">';
+echo '<div class="col-md-8">';
 
 if (isset($is_success) && $is_success === true) {
     Display::display_confirmation_message(get_lang('ItemRemoved'));

+ 11 - 6
main/newscorm/lp_edit.php

@@ -161,8 +161,12 @@ $expired_on     = $_SESSION['oLP'] ->expired_on;
 $publicated_on  = $_SESSION['oLP'] ->publicated_on;
 
 // Prerequisites
-$form->addElement('html', '<div class="control-group"><label class="control-label">'.get_lang('LearnpathPrerequisites').'</label>
-<div class="controls">'.$_SESSION['oLP']->display_lp_prerequisites_list().' <span class="help-block">'.get_lang('LpPrerequisiteDescription').'</span></div></div>');
+$form->addElement('html','<div class="form-group">');
+$items = $_SESSION['oLP']->display_lp_prerequisites_list();
+$form->addElement('html','<label class="col-md-2">'.get_lang('LearnpathPrerequisites').'</label>');
+$form->addElement('html','<div class="col-md-10">');
+$form->addElement('html',$items);
+$form->addElement('html', '<div class="help-block">'.get_lang('LpPrerequisiteDescription').'</div></div></div>');
 
 //Start date
 $form->addElement('checkbox', 'activate_start_date_check', null,get_lang('EnableStartTime'), array('onclick' => 'activate_start_date()'));
@@ -201,7 +205,8 @@ if ($enableLpExtraFields) {
 }
 
 //Submit button
-$form->addElement('style_submit_button', 'Submit',get_lang('SaveLPSettings'),'class="save"');
+//$form->addElement('style_submit_button', 'Submit',get_lang('SaveLPSettings'),'class="save"');
+$form->addButtonSave(get_lang('SaveLPSettings'));
 
 // Hidden fields
 $form->addElement('hidden', 'action', 'update_lp');
@@ -230,14 +235,14 @@ echo $_SESSION['oLP']->build_action_menu();
 echo '<div class="row">';
 
 if ($_SESSION['oLP']->get_hide_toc_frame() == 1) {
-    echo '<div class="span12">';
+    echo '<div class="col-md-12">';
     $form -> display();
     echo '</div>';
 } else{
-    echo '<div class="span6">';
+    echo '<div class="col-md-8">';
     $form -> display();
     echo '</div>';
-    echo '<div class="span6" align="center">';
+    echo '<div class="col-md-4" align="center">';
     echo '<img src="../img/course_setting_layout.png" />';
     echo '</div>';
 }

+ 3 - 3
main/newscorm/lp_edit_item.php

@@ -117,8 +117,8 @@ function confirmation(name) {
 
 echo $_SESSION['oLP']->build_action_menu();
 
-echo '<div class="row-fluid">';
-echo '<div class="span3">';
+echo '<div class="row">';
+echo '<div class="col-md-3">';
 
 $path_item = isset($_GET['path_item']) ? $_GET['path_item'] : 0;
 $path_item = Database::escape_string($path_item);
@@ -139,7 +139,7 @@ if (Database::num_rows($res_doc) > 0 && $path_parts['extension'] == 'html') {
 }
 
 echo '</div>';
-echo '<div class="span9">';
+echo '<div class="col-md-9">';
 
 if (isset($is_success) && $is_success === true) {
     $msg = '<div class="lp_message" style="margin-bottom:10px;">';

+ 3 - 3
main/newscorm/lp_edit_item_prereq.php

@@ -100,11 +100,11 @@ $suredel = trim(get_lang('AreYouSureToDelete'));
 
 echo $lp->build_action_menu();
 
-echo '<div class="row-fluid">';
-echo '<div class="span3">';
+echo '<div class="row">';
+echo '<div class="col-md-3">';
 echo $lp->return_new_tree();
 echo '</div>';
-echo '<div class="span9">';
+echo '<div class="col-md-9">';
 if (isset($is_success) && $is_success == true) {
     echo $lp->display_manipulate($_GET['id'], null);
     echo Display::return_message(get_lang("PrerequisitesAdded"));

+ 3 - 3
main/newscorm/lp_move_item.php

@@ -159,12 +159,12 @@ function confirmation(name)
 
 echo $_SESSION['oLP']->build_action_menu();
 
-echo '<div class="row-fluid">';
-echo '<div class="span3">';
+echo '<div class="row">';
+echo '<div class="col-md-3">';
     echo $_SESSION['oLP']->return_new_tree();
 echo '</div>';
 
-echo '<div class="span9">';
+echo '<div class="col-md-9">';
 
 if (isset($is_success) && $is_success === true) {
     $msg = '<div class="lp_message" style="margin-bottom:10px;">';

+ 3 - 3
main/newscorm/lp_view_item.php

@@ -136,11 +136,11 @@ if (is_object($_SESSION['oLP'])) {
     switch ($mode) {
         case 'fullpage':
             echo $_SESSION['oLP']->build_action_menu();
-            echo '<div class="row-fluid">';
-            echo '<div class="span3">';
+            echo '<div class="row">';
+            echo '<div class="col-md-3">';
             echo $_SESSION['oLP']->return_new_tree();
             echo '</div>';
-            echo '<div class="span9">';
+            echo '<div class="col-md-9">';
                 echo $_SESSION['oLP']->display_item($id);
             echo '</div>';
             echo '</div>';

+ 37 - 2
main/social/friends.php

@@ -80,8 +80,43 @@ function clear_form () {
 
 $interbreadcrumb[] = array('url' => 'profile.php', 'name' => get_lang('SocialNetwork'));
 $interbreadcrumb[] = array('url' => '#', 'name' => get_lang('Friends'));
+//Block Social Avatar
+$user_info    = UserManager::get_user_info_by_id($user_id);
+$social_avatar_block = '<div class="panel panel-info social-avatar">';
+$social_avatar_block .= SocialManager::show_social_avatar_block('friends');
+$social_avatar_block .= '<div class="lastname">'.$user_info['lastname'].'</div>';
+$social_avatar_block .= '<div class="firstname">'.$user_info['firstname'].'</div>';
+/* $social_avatar_block .= '<div class="username">'.Display::return_icon('user.png','','',ICON_SIZE_TINY).$user_info['username'].'</div>'; */
+$social_avatar_block .= '<div class="email">'.Display::return_icon('instant_message.png').'&nbsp;' .$user_info['email'].'</div>';
+$chat_status = $user_info['extra'];
+if(!empty($chat_status['user_chat_status'])){
+    $social_avatar_block.= '<div class="status">'.Display::return_icon('online.png').get_lang('Chat')." (".get_lang('Online').')</div>';
+}else{
+    $social_avatar_block.= '<div class="status">'.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')</div>';
+}
+
+$editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+if (api_get_setting('sso_authentication') === 'true') {
+    $subSSOClass = api_get_setting('sso_authentication_subclass');
+    $objSSO = null;
+
+    if (!empty($subSSOClass)) {
+        require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
 
-$social_avatar_block = SocialManager::show_social_avatar_block('friends');
+        $subSSOClass = 'sso' . $subSSOClass;
+        $objSSO = new $subSSOClass();
+    } else {
+        $objSSO = new sso();
+    }
+
+    $editProfileUrl = $objSSO->generateProfileEditingURL();
+}
+$social_avatar_block .= '<div class="edit-profile">
+                            <a class="btn" href="' . $editProfileUrl . '">' . get_lang('EditProfile') . '</a>
+                         </div>';
+$social_avatar_block .= '</div>';
+//Block Social Menu
 $social_menu_block = SocialManager::show_social_menu('friends');
 
 $user_id = api_get_user_id();
@@ -142,5 +177,5 @@ $tpl->assign('social_avatar_block', $social_avatar_block);
 $tpl->assign('social_menu_block', $social_menu_block);
 $tpl->assign('social_right_content', $social_right_content);
 
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->get_template('social/friends.tpl');
 $tpl->display($social_layout);

+ 1 - 1
main/social/group_add.php

@@ -81,5 +81,5 @@ $tpl->assign('social_menu_block', $social_menu_block);
 $tpl->assign('social_right_content', $social_right_content);
 //$tpl->assign('actions', $actions);
 //$tpl->assign('message', $show_message);
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->get_template('social/add_groups.tpl');
 $tpl->display($social_layout);

+ 1 - 1
main/social/group_edit.php

@@ -107,5 +107,5 @@ $tpl->set_help('Groups');
 $tpl->assign('social_avatar_block', $social_avatar_block);
 $tpl->assign('social_menu_block', $social_menu_block);
 $tpl->assign('social_right_content', $social_right_content);
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->get_template('social/home.tpl');
 $tpl->display($social_layout);

+ 1 - 1
main/social/group_invitation.php

@@ -602,5 +602,5 @@ $tpl->set_help('Groups');
 $tpl->assign('social_avatar_block', $social_avatar_block);
 $tpl->assign('social_menu_block', $social_menu_block);
 $tpl->assign('social_right_content', $social_right_content);
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->get_template('social/add_groups.tpl');
 $tpl->display($social_layout);

+ 1 - 1
main/social/group_members.php

@@ -203,5 +203,5 @@ $tpl->assign('social_avatar_block', $social_avatar_block);
 $tpl->assign('social_menu_block', $social_menu_block);
 $tpl->assign('social_right_content', $social_right_content);
 
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->get_template('social/home.tpl');
 $tpl->display($social_layout);

+ 1 - 1
main/social/group_topics.php

@@ -250,5 +250,5 @@ $tpl->assign('social_right_content', $social_right_content);
 //$tpl->assign('actions', $actions);
 //$tpl->assign('message', $show_message);
 $tpl->assign('content', $content);
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->get_template('social/home.tpl');
 $tpl->display($social_layout);

+ 1 - 1
main/social/group_waiting_list.php

@@ -110,5 +110,5 @@ $tpl->assign('social_right_content', $social_right_content);
 $tpl->assign('actions', $actions);
 $tpl->assign('message', $show_message);
 $tpl->assign('content', $content);
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->get_template('social/home.tpl');
 $tpl->display($social_layout);

+ 71 - 7
main/social/groups.php

@@ -218,22 +218,86 @@ if ($group_id != 0) {
     }
 }
 $create_thread_link = '';
-
+$userInfo    = UserManager::get_user_info_by_id($user_id);
 if ($group_id != 0) {
-    $social_avatar_block = SocialManager::show_social_avatar_block(
+    //Block Social Avatar
+    $social_avatar_block = '<div class="panel panel-info social-avatar">';
+    $social_avatar_block .= SocialManager::show_social_avatar_block(
         'groups',
         $group_id
     );
+    $social_avatar_block .= '<div class="lastname">'.$userInfo['lastname'].'</div>';
+    $social_avatar_block .= '<div class="firstname">'.$userInfo['firstname'].'</div>';
+    $social_avatar_block .= '<div class="email">'.Display::return_icon('instant_message.png').'&nbsp;' .$userInfo['email'].'</div>';
+    $chat_status = $userInfo['extra'];
+    if(!empty($chat_status['user_chat_status'])){
+        $social_avatar_block.= '<div class="status">'.Display::return_icon('online.png').get_lang('Chat')." (".get_lang('Online').')</div>';
+    }else{
+        $social_avatar_block.= '<div class="status">'.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')</div>';
+    }
+    $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+    if (api_get_setting('sso_authentication') === 'true') {
+        $subSSOClass = api_get_setting('sso_authentication_subclass');
+        $objSSO = null;
+
+        if (!empty($subSSOClass)) {
+            require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
+
+            $subSSOClass = 'sso' . $subSSOClass;
+            $objSSO = new $subSSOClass();
+        } else {
+            $objSSO = new sso();
+        }
+
+        $editProfileUrl = $objSSO->generateProfileEditingURL();
+    }
+    $social_avatar_block .= '<div class="edit-profile">
+                            <a class="btn" href="' . $editProfileUrl . '">' . get_lang('EditProfile') . '</a>
+                         </div>';
+    $social_avatar_block .= '</div>';
+
+    //Block Social Menu
     $social_menu_block = SocialManager::show_social_menu('groups', $group_id);
 } else {
     $show_menu = 'browse_groups';
     if (isset($_GET['view']) && $_GET['view'] == 'mygroups') {
         $show_menu = $_GET['view'];
     }
-    $social_avatar_block = SocialManager::show_social_avatar_block(
-        $show_menu,
-        $group_id
-    );
+    //Block Social Avatar
+    $social_avatar_block  = '<div class="panel panel-info social-avatar">';
+    $social_avatar_block .= SocialManager::show_social_avatar_block($show_menu,$group_id);
+    $social_avatar_block .= '<div class="lastname">'.$user_info['lastname'].'</div>';
+    $social_avatar_block .= '<div class="firstname">'.$user_info['firstname'].'</div>';
+    $social_avatar_block .= '<div class="email">'.Display::return_icon('instant_message.png').'&nbsp;' .$user_info['email'].'</div>';
+    $chat_status = $user_info['extra'];
+    if(!empty($chat_status['user_chat_status'])){
+        $social_avatar_block.= '<div class="status">'.Display::return_icon('online.png').get_lang('Chat')." (".get_lang('Online').')</div>';
+    }else{
+        $social_avatar_block.= '<div class="status">'.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')</div>';
+    }
+    $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+    if (api_get_setting('sso_authentication') === 'true') {
+        $subSSOClass = api_get_setting('sso_authentication_subclass');
+        $objSSO = null;
+
+        if (!empty($subSSOClass)) {
+            require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
+
+            $subSSOClass = 'sso' . $subSSOClass;
+            $objSSO = new $subSSOClass();
+        } else {
+            $objSSO = new sso();
+        }
+
+        $editProfileUrl = $objSSO->generateProfileEditingURL();
+    }
+    $social_avatar_block .= '<div class="edit-profile">
+                            <a class="btn" href="' . $editProfileUrl . '">' . get_lang('EditProfile') . '</a>
+                         </div>';
+    $social_avatar_block .= '</div>';
+
     $social_menu_block = SocialManager::show_social_menu($show_menu, $group_id);
 }
 
@@ -888,5 +952,5 @@ $tpl->assign('social_right_content', $social_right_content);
 
 $tpl->assign('message', $show_message);
 $tpl->assign('content', $content);
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->get_template('social/groups.tpl');
 $tpl->display($social_layout);

+ 147 - 133
main/social/home.php

@@ -3,6 +3,7 @@
 /**
  * @package chamilo.social
  * @author Julio Montoya <gugli100@gmail.com>
+ * @autor Alex Aragon <alex.aragon@beeznest.com> CSS Design and Template
  */
 /**
  * Initialization
@@ -57,7 +58,8 @@ if (api_get_setting('profile', 'picture') == 'true') {
         'style_submit_button',
         'apply_change',
         get_lang('SaveSettings'),
-        'class="save"'
+        'floppy-o',
+        'btn btn-success'
     );
 
     if ($form->validate()) {
@@ -81,61 +83,86 @@ if (api_get_setting('profile', 'picture') == 'true') {
     }
 }
 
-$user_info = UserManager :: get_user_info_by_id(api_get_user_id());
+$userInfo = UserManager :: get_user_info_by_id(api_get_user_id());
 
-$social_avatar_block = SocialManager::show_social_avatar_block('home');
-$social_menu_block = SocialManager::show_social_menu('home');
+$social_avatar_block = '<div class="panel panel-default social-avatar">';
+$social_avatar_block .= SocialManager::show_social_avatar_block('home');
+$social_avatar_block .= '<div class="lastname">'.$userInfo['lastname'].'</div>';
+$social_avatar_block .= '<div class="firstname">'.$userInfo['firstname'].'</div>';
+$social_avatar_block .= '<div class="email">'.Display::return_icon('instant_message.png').'&nbsp;' .$userInfo['email'].'</div>';
+$chat_status = $userInfo['extra'];
+ if(!empty($chat_status['user_chat_status'])){
+     $social_avatar_block.= '<div class="status">'.Display::return_icon('online.png').get_lang('Chat')." (".get_lang('Online').')</div>';
+ }else{
+     $social_avatar_block.= '<div class="status">'.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')</div>';
+ }
 
-$socialRightContent = '<div class="span5">';
-$socialRightContent .= '<div class="well_border">';
-$socialRightContent .= '<h3>' . get_lang('ContactInformation') . '</h3>';
-
-$list = array(
-    array(
-        'title' => get_lang('Name'),
-        'content' => api_get_person_name(
-            $user_info['firstname'],
-            $user_info['lastname']
-        )
-    ),
-    array('title' => get_lang('Email'), 'content' => $user_info['email']),
-);
-// information current user
-$socialRightContent .= '<div>' . Display::description($list) . '</div>';
-
-$editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
-
-if (api_get_setting('sso_authentication') === 'true') {
-    $subSSOClass = api_get_setting('sso_authentication_subclass');
-    $objSSO = null;
-
-    if (!empty($subSSOClass)) {
-        require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
-
-        $subSSOClass = 'sso' . $subSSOClass;
-        $objSSO = new $subSSOClass();
-    } else {
-        $objSSO = new sso();
+    $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+    if (api_get_setting('sso_authentication') === 'true') {
+        $subSSOClass = api_get_setting('sso_authentication_subclass');
+        $objSSO = null;
+
+        if (!empty($subSSOClass)) {
+            require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
+
+            $subSSOClass = 'sso' . $subSSOClass;
+            $objSSO = new $subSSOClass();
+        } else {
+            $objSSO = new sso();
+        }
+
+        $editProfileUrl = $objSSO->generateProfileEditingURL();
     }
+$social_avatar_block .= '<div class="edit-profile">
+                            <a class="btn" href="' . $editProfileUrl . '">' . get_lang('EditProfile') . '</a>
+                         </div>';
+$social_avatar_block .= '</div>';
 
-    $editProfileUrl = $objSSO->generateProfileEditingURL();
-}
+//Block Menu
+$social_menu_block = SocialManager::show_social_menu('home');
+
+//Search box
+$social_search_block = '<div class="panel panel-default social-search">';
+$social_search_block .= '<div class="panel-heading">'.get_lang("SearchUsers").'</div>';
+$social_search_block .= '<div class="panel-body">';
+$social_search_block.= UserManager::get_search_form('');
+$social_search_block.= '</div>';
+$social_search_block.= '</div>';
+
+//BLock Social Skill
+$social_skill_block = '';
 
-$socialRightContent .= '
-    <div class="form-actions">
-    <a class="btn" href="' . $editProfileUrl . '">
-        ' . get_lang('EditProfile') . '
-    </a>
-    </div></div></div>';
-$socialRightInformation = '<div class="col-md-4">';
 if (api_get_setting('allow_skills_tool') == 'true') {
-    $socialRightInformation .= '<div class="well_border">';
     $skill = new Skill();
-    $ranking = $skill->get_user_skill_ranking(api_get_user_id());
 
+    $ranking = $skill->get_user_skill_ranking(api_get_user_id());
     $skills = $skill->get_user_skills(api_get_user_id(), true);
 
-    $socialRightInformation .= '<h3>' . get_lang('Skills') . '</h3>';
+    $social_skill_block = '<div class="panel panel-default social-skill">';
+    $social_skill_block .= '<div class="panel-heading">' . get_lang('Skills');
+    $social_skill_block .= '<div class="btn-group pull-right"> <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
+                            <span class="caret"></span></a>
+                             <ul class="dropdown-menu">';
+    if (api_is_student() || api_is_student_boss() || api_is_drh()) {
+        $social_skill_block .= '<li>' . Display::url(
+            get_lang('SkillsReport'),
+            api_get_path(WEB_CODE_PATH) . 'social/my_skills_report.php'
+            ) . '</li>';
+    }
+
+    $social_skill_block .= '<li>' . Display::url(
+        get_lang('SkillsWheel'),
+        api_get_path(WEB_CODE_PATH) . 'social/skills_wheel.php'
+        ) . '</li>';
+
+    $social_skill_block .= '<li>' . Display::url(
+        sprintf(get_lang('YourSkillRankingX'), $ranking),
+        api_get_path(WEB_CODE_PATH) . 'social/skills_ranking.php'
+    ) . '</li>';
+
+    $social_skill_block .= '</ul></div></div>';
+
     $lis = '';
     if (!empty($skills)) {
         foreach ($skills as $skill) {
@@ -143,100 +170,83 @@ if (api_get_setting('allow_skills_tool') == 'true') {
 
             if (!empty($skill['icon'])) {
                 $badgeImage = Display::img(
-                    api_get_path(WEB_DATA_PATH) . $skill['iconThumb'],
+                    api_get_path(WEB_DATA_PATH) . $skill['icon'],
                     $skill['name']
                 );
             } else {
                 $badgeImage = Display::return_icon(
-                    'award_red.png',
+                    'badges-default.png',
                     $skill['name'],
-                    array('title' => $skill['name'])
+                    array('title' => $skill['name']),ICON_SIZE_BIG
                 );
             }
 
             $lis .= Display::tag(
                 'li',
-                $badgeImage . Display::span(
-                    $skill['name'],
-                    array('class' => 'label_tag skill')
-                )
+                $badgeImage .
+                '<div class="badges-name">' . $skill['name'] . '</div>'
             );
         }
-        $socialRightInformation .= Display::tag('ul', $lis, array('class' => 'menulist'));
-    }
-    $socialRightInformation .= '<div class="menulist">';
-    if (api_is_student() || api_is_student_boss() || api_is_drh()) {
-        $socialRightInformation .= Display::url(
-            get_lang('SkillsReport'),
-            api_get_path(WEB_CODE_PATH) . 'social/my_skills_report.php',
-            array('class' => 'btn')
-        );
+        $social_skill_block .= '<div class="panel-body">';
+        $social_skill_block .= Display::tag('ul', $lis, array('class' => 'list-badges'));
+        $social_skill_block .= '</div>';
+    }else{
+
+        $social_skill_block .= '<div class="panel-body">';
+        $social_skill_block .= '<p>'. get_lang("WithoutAchievedSkills") . '</p>';
+        $social_skill_block .= '<p>' . Display::url(get_lang('SkillsWheel'),api_get_path(WEB_CODE_PATH) . 'social/skills_wheel.php').'</p>';
+        $social_skill_block .= '</div>';
     }
-    $socialRightInformation .= Display::url(
-        get_lang('SkillsWheel'),
-        api_get_path(WEB_CODE_PATH) . 'social/skills_wheel.php',
-        array('class' => 'btn')
-    );
-    $socialRightInformation .= Display::url(
-        sprintf(get_lang('YourSkillRankingX'), $ranking),
-        api_get_path(WEB_CODE_PATH) . 'social/skills_ranking.php',
-        array('class' => 'btn')
-    );
-    $socialRightInformation .= '</div><br />';
+    $social_skill_block.='</div>';
 }
 
 
-//Search box
-$socialRightInformation .= '<div>';
-$socialRightInformation .= UserManager::get_search_form('');
-$socialRightInformation .= '<br /></div>';
 
 //Group box by age
+$social_group_block = '<div class="panel panel-default social-group">';
+$social_group_block .= '<div class="panel-heading">'.get_lang('Group').'</div>';
+$social_group_block .= '<div class="panel-body">';
+
 $results = GroupPortalManager::get_groups_by_age(1, false);
 
 $groups_newest = array();
+
 if (!empty($results)) {
     foreach ($results as $result) {
         $id = $result['id'];
-        $result['description'] = Security::remove_XSS(
-            $result['description'],
-            STUDENT,
-            true
-        );
+        $result['description'] = Security::remove_XSS( $result['description'], STUDENT, true );
         $result['name'] = Security::remove_XSS($result['name'], STUDENT, true);
+
         if ($result['count'] == 1) {
             $result['count'] = '1 ' . get_lang('Member');
         } else {
             $result['count'] = $result['count'] . ' ' . get_lang('Members');
         }
+
         $group_url = "groups.php?id=$id";
-        $result['name'] = Display::url(
-                api_ucwords(cut($result['name'], 40, true)),
-                $group_url
-            ) . Display::span(
-                '<br />' . $result['count'],
-                array('class' => 'box_description_group_member')
-            );
+
+        $result['name'] = '<div class="group-name">'.Display::url(
+                          api_ucwords(cut($result['name'], 40, true)), $group_url)
+                          .'</div><div class="count-username">'.Display::return_icon('user.png','','',ICON_SIZE_TINY).$result['count'].'</div>';
+
         $picture = GroupPortalManager::get_picture_group(
             $id,
             $result['picture_uri'],
             80
         );
-        $result['picture_uri'] = '<img class="social-groups-image" src="' . $picture['file'] . '" hspace="10" height="44" border="2" align="left" width="44" />';
-        $group_actions = '<div class="box_description_group_actions"><a href="groups.php?#tab_browse-2">' . get_lang(
-                'SeeMore'
-            ) . '</a></div>';
+
+        $result['picture_uri'] = '<img class="group-image" src="' . $picture['file'] . '" />';
+        $group_actions = '<div class="group-more"><a href="groups.php?#tab_browse-2">' . get_lang('SeeMore') . '</a></div>';
+        $group_info= '<div class="description"><p>' . cut($result['description'], 120, true) . "</p></div>";
         $groups_newest[] = array(
             Display::url(
                 $result['picture_uri'],
                 $group_url
-            ),
-            $result['name'],
-            cut($result['description'], 120, true) . $group_actions
+            ),$result['name'],$group_info.$group_actions
         );
     }
 }
-
+//Top popular
 $results = GroupPortalManager::get_groups_by_popularity(1, false);
 
 $groups_pop = array();
@@ -255,49 +265,52 @@ foreach ($results as $result) {
     } else {
         $result['count'] = $result['count'] . ' ' . get_lang('Members');
     }
-    $result['name'] = Display::url(
-            api_ucwords(cut($result['name'], 40, true)),
-            $group_url
-        ) . Display::span(
-            '<br />' . $result['count'],
-            array('class' => 'box_description_group_member')
-        );
+    $result['name'] = '<div class="group-name">'.Display::url(
+            api_ucwords(cut($result['name'], 40, true)),$group_url)
+        .'</div><div class="count-username">'.Display::return_icon('user.png','','',ICON_SIZE_TINY).$result['count'].'</div>';
+
     $picture = GroupPortalManager::get_picture_group(
         $id,
         $result['picture_uri'],
         80
     );
-    $result['picture_uri'] = '<img class="social-groups-image" src="' . $picture['file'] . '" hspace="10" height="44" border="2" align="left" width="44" />';
-    $group_actions = '<div class="box_description_group_actions" ><a href="groups.php?#tab_browse-3">' . get_lang(
-            'SeeMore'
-        ) . '</a></div>';
+    $result['picture_uri'] = '<img class="group-image" src="' . $picture['file'] . '" />';
+    $group_actions = '<div class="group-more" ><a href="groups.php?#tab_browse-3">' . get_lang('SeeMore') . '</a></div>';
+    $group_info= '<div class="description"><p>' . cut($result['description'], 120, true) . "</p></div>";
     $groups_pop[] = array(
         Display::url($result['picture_uri'], $group_url),
-        $result['name'],
-        cut($result['description'], 120, true) . $group_actions
+        $result['name'],$group_info. $group_actions
     );
 }
 
-if (count($groups_newest) > 0) {
-    $socialRightInformation .= '<div class="social-groups-home-title">' . get_lang(
-            'Newest'
-        ) . '</div>';
-    $socialRightInformation .= Display::return_sortable_grid(
-        'home_group',
-        array(),
-        $groups_newest,
-        array('hide_navigation' => true, 'per_page' => 100),
-        array(),
-        false,
-        array(true, true, true, false)
-    );
+$list=count($groups_newest);
+
+if ($list > 0) {
+    $social_group_block .= '<div class="list-group-newest">';
+    $social_group_block .= '<div class="group-title">' . get_lang('Newest') . '</div>';
+    for($i = 0;$i < $list; $i++){
+        $social_group_block.='<div class="items">';
+        $social_group_block.='<div class="group-image">' . $groups_newest[$i][0] . '</div>';
+        $social_group_block.='<div class="group-info">' . $groups_newest[$i][1];
+        $social_group_block.= $groups_newest[$i][2] . '</div>';
+        $social_group_block.="</div>";
+    }
+    $social_group_block.= "</div>";
 }
+$list=count($groups_pop);
+if ($list > 0) {
+    $social_group_block .= '<div class="list-group-newest">';
+    $social_group_block .= '<div class="group-title">' . get_lang('Popular') . '</div>';
+
+    for($i = 0;$i < $list; $i++){
+        $social_group_block.='<div class="items">';
+        $social_group_block.='<div class="group-image">' . $groups_pop[$i][0] . '</div>';
+        $social_group_block.='<div class="group-info">' . $groups_pop[$i][1];
+        $social_group_block.= $groups_pop[$i][2] . '</div>';
+        $social_group_block.="</div>";
+    }
 
-if (count($groups_pop) > 0) {
-    $socialRightInformation .= '<div class="social-groups-home-title">' . get_lang(
-            'Popular'
-        ) . '</div>';
-    $socialRightInformation .= Display::return_sortable_grid(
+    /*$social_group_block .= Display::return_sortable_grid(
         'home_group',
         array(),
         $groups_pop,
@@ -305,14 +318,15 @@ if (count($groups_pop) > 0) {
         array(),
         false,
         array(true, true, true, true, true)
-    );
+    );*/
 }
-$socialRightInformation .= '</div>';
+$social_group_block .= '</div>';
 
 $tpl = new Template(get_lang('SocialNetwork'));
 $tpl->assign('social_avatar_block', $social_avatar_block);
 $tpl->assign('social_menu_block', $social_menu_block);
-$tpl->assign('social_right_content', $socialRightContent);
-$tpl->assign('socialRightInformation', $socialRightInformation);
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$tpl->assign('social_search_block', $social_search_block);
+$tpl->assign('social_skill_block', $social_skill_block);
+$tpl->assign('social_group_block', $social_group_block);
+$social_layout = $tpl->get_template('social/home.tpl');
 $tpl->display($social_layout);

+ 97 - 67
main/social/invitations.php

@@ -91,12 +91,46 @@ if (is_array($_GET) && count($_GET)>0) {
         }
     }
 }
+//Block Avatar Social
+$userInfo    = UserManager::get_user_info_by_id($user_id);
+
+$social_avatar_block = '<div class="panel panel-info social-avatar">';
+$social_avatar_block .= SocialManager::show_social_avatar_block('invitations');
+$social_avatar_block .= '<div class="lastname">'.$userInfo['lastname'].'</div>';
+$social_avatar_block .= '<div class="firstname">'.$userInfo['firstname'].'</div>';
+$social_avatar_block .= '<div class="email">'.Display::return_icon('instant_message.png').'&nbsp;' .$userInfo['email'].'</div>';
+$chat_status = $userInfo['extra'];
+if(!empty($chat_status['user_chat_status'])){
+    $social_avatar_block.= '<div class="status">'.Display::return_icon('online.png').get_lang('Chat')." (".get_lang('Online').')</div>';
+}else{
+    $social_avatar_block.= '<div class="status">'.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')</div>';
+}
+
+$editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+if (api_get_setting('sso_authentication') === 'true') {
+    $subSSOClass = api_get_setting('sso_authentication_subclass');
+    $objSSO = null;
+
+    if (!empty($subSSOClass)) {
+        require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
+
+        $subSSOClass = 'sso' . $subSSOClass;
+        $objSSO = new $subSSOClass();
+    } else {
+        $objSSO = new sso();
+    }
 
-$social_avatar_block = SocialManager::show_social_avatar_block('invitations');
+    $editProfileUrl = $objSSO->generateProfileEditingURL();
+}
+$social_avatar_block .= '<div class="edit-profile">
+                            <a class="btn" href="' . $editProfileUrl . '">' . get_lang('EditProfile') . '</a>
+                         </div>';
+$social_avatar_block .= '</div>';
+//Block Menu Social
 $social_menu_block = SocialManager::show_social_menu('invitations');
-$social_right_content = '<div class="span9">
-                            <div id="id_response" align="center"></div>
-                        </div></div>';
+//Block Invitations
+$socialInvitationsBlock = '<div id="id_response" align="center"></div>';
 
 $user_id = api_get_user_id();
 $list_get_invitation		= SocialManager::get_list_invitation_of_friends_by_user_id($user_id);
@@ -107,15 +141,17 @@ $number_loop                = count($list_get_invitation);
 $total_invitations = $number_loop + count($list_get_invitation_sent) + count($pending_invitations);
 
 if ($total_invitations == 0 && count($_GET) <= 0) {
-    $social_right_content .= '<div class="row"><div class="span9"><a class="btn" href="search.php">'.get_lang('TryAndFindSomeFriends').'</a></div></div>';
+    $socialInvitationsBlock .= '<div class="row"><div class="col-md-12"><a class="btn btn-default" href="search.php">'.get_lang('TryAndFindSomeFriends').'</a></div></div>';
 }
 
 if ($number_loop != 0) {
-    $social_right_content .= '<div class="row"><div class="span9">'.Display::page_subheader(get_lang('InvitationReceived')).'</div></div>';
+    $socialInvitationsBlock .= '<div class="panel panel-default">';
+    $socialInvitationsBlock .= '<div class="panel-heading">'.get_lang('InvitationReceived').'</div>';
+    $socialInvitationsBlock .= '<div class="panel-body">';
 
     foreach ($list_get_invitation as $invitation) {
         $sender_user_id = $invitation['user_sender_id'];
-        $social_right_content .= '<div id="id_'.$sender_user_id.'" class="row invitation-clear">';
+        $socialInvitationsBlock .= '<div id="id_'.$sender_user_id.'" class="well">';
 
         $picture = UserManager::get_user_picture_path_by_id($sender_user_id, 'web', false, true);
         $friends_profile = SocialManager::get_picture_user($sender_user_id, $picture['file'], 92);
@@ -123,34 +159,37 @@ if ($number_loop != 0) {
         $title 		= Security::remove_XSS($invitation['title'], STUDENT, true);
         $content 	= Security::remove_XSS($invitation['content'], STUDENT, true);
         $date		= api_convert_and_format_date($invitation['send_date'], DATE_TIME_FORMAT_LONG);
-
-        $social_right_content .= '<div class="span2">
-                                  <a class="thumbnail" href="profile.php?u='.$sender_user_id.'">
-                                  <img src="'.$friends_profile['file'].'" /></a></div>
-                                  <div class="span7"><div class="title-profile">
-                                  <a href="profile.php?u='.$sender_user_id.'">
-                                  '.api_get_person_name($user_info['firstName'], $user_info['lastName']).'</a>:
-                                  </div><div class="content-invitation">'.$content.'</div><div class="alert date-invitation">
-                    '.get_lang('DateSend').' : '.$date.'
-                    </div>
-                    <div class="buttons">
-                        <button class="btn btn-success" name="btn_accepted" type="submit" id="btn_accepted_'.$sender_user_id.'" value="'.get_lang('Accept').' "onclick="javascript:register_friend(this)">
-                        '.get_lang('AcceptInvitation').'</button>
-
-                        <button class="btn btn-danger" name="btn_denied" type="submit" id="btn_deniedst_'.$sender_user_id.' " value="'.get_lang('Deny').' " onclick="javascript:denied_friend(this)" >
-                        '.get_lang('DenyInvitation').'</button>
-                    </div>
-                </div>
-        </div>';
+        $socialInvitationsBlock .= '<div class="row">';
+        $socialInvitationsBlock .= '<div class="col-md-2">';
+        $socialInvitationsBlock .= '<a href="profile.php?u='.$sender_user_id.'"><img src="'.$friends_profile['file'].'"/></a>';
+        $socialInvitationsBlock .= '</div>';
+        $socialInvitationsBlock .= '<div class="col-md-10">';
+        $socialInvitationsBlock .= '<h4 class="title-profile"><a href="profile.php?u='.$sender_user_id.'">
+                                    '.api_get_person_name($user_info['firstName'], $user_info['lastName']).'</a>:
+                                    </h4>';
+        $socialInvitationsBlock .= '<div class="content-invitation">'.$content.'</div>';
+        $socialInvitationsBlock .= '<div class="date-invitation">'.get_lang('DateSend').' : '.$date.'</div>';
+        $socialInvitationsBlock .= '<div class="btn-group" role="group">
+                                    <button class="btn btn-success" type="submit" id="btn_accepted_'.$sender_user_id.'" onclick="javascript:register_friend(this)">
+                                    <i class="fa fa-check"></i> '.get_lang('AcceptInvitation').'</button>
+                                    <button class="btn btn-danger" type="submit" id="btn_deniedst_'.$sender_user_id.' " onclick="javascript:denied_friend(this)" >
+                                    <i class="fa fa-times"></i> '.get_lang('DenyInvitation').'</button>
+                                    ';
+        $socialInvitationsBlock .= '</div>';
+        $socialInvitationsBlock .= '</div>';
+        $socialInvitationsBlock .= '</div></div>';
     }
+    $socialInvitationsBlock .= '</div></div>';
 }
 
 if (count($list_get_invitation_sent) > 0) {
-    $social_right_content .= '<div class="row"><div class="span9">'.Display::page_subheader(get_lang('InvitationSent')).'</div></div>';
+    $socialInvitationsBlock .= '<div class="panel panel-default">';
+    $socialInvitationsBlock .= '<div class="panel-heading">'.get_lang('InvitationSent').'</div>';
+    $socialInvitationsBlock .= '<div class="panel-body">';
     foreach ($list_get_invitation_sent as $invitation) {
         $sender_user_id = $invitation['user_receiver_id'];
 
-        $social_right_content .= '<div id="id_'.$sender_user_id.'" class="row invitation-clear">';
+        $socialInvitationsBlock .= '<div id="id_'.$sender_user_id.'" class="well">';
 
         $picture = UserManager::get_user_picture_path_by_id($sender_user_id, 'web', false, true);
         $friends_profile = SocialManager::get_picture_user($sender_user_id, $picture['file'], 92);
@@ -159,63 +198,54 @@ if (count($list_get_invitation_sent) > 0) {
         $title      = Security::remove_XSS($invitation['title'], STUDENT, true);
         $content    = Security::remove_XSS($invitation['content'], STUDENT, true);
         $date       = api_convert_and_format_date($invitation['send_date'], DATE_TIME_FORMAT_LONG);
-        $social_right_content .= '
-                        <div class="span2">
-                            <a class="thumbnail" href="profile.php?u='.$sender_user_id.'">
-                                <img src="'.$friends_profile['file'].'"  /></a>
-                            </div>
-                        <div class="span7">
-                            <a class="profile_link" href="profile.php?u='.$sender_user_id.'">'.api_get_person_name($user_info['firstName'], $user_info['lastName']).'</a>
-                            <div>
-                            '. $title.' : '.$content.'
-                            </div>
-                            <div>
-                            '. get_lang('DateSend').' : '.$date.'
-                            </div>
-                    </div>
-        </div>';
+
+        $socialInvitationsBlock .= '<div class="row">';
+        $socialInvitationsBlock .= '<div class="col-md-2">';
+        $socialInvitationsBlock .= '<a href="profile.php?u='.$sender_user_id.'"><img src="'.$friends_profile['file'].'"  /></a>';
+        $socialInvitationsBlock .= '</div>';
+        $socialInvitationsBlock .= '<div class="col-md-10">';
+        $socialInvitationsBlock .= '<h4 class="title-profile"><a class="profile_link" href="profile.php?u='.$sender_user_id.'">'.api_get_person_name($user_info['firstName'], $user_info['lastName']).'</a></h4>';
+        $socialInvitationsBlock .= '<div class="content-invitation">'.$title.' : '.$content.'</div>';
+        $socialInvitationsBlock .= '<div class="date-invitation">'. get_lang('DateSend').' : '.$date.'</div>';
+        $socialInvitationsBlock .= '</div>';
+        $socialInvitationsBlock .= '</div></div>';
     }
+    $socialInvitationsBlock .= '</div></div>';
 }
 
 if (count($pending_invitations) > 0) {
-    $social_right_content .= '<div class="row"><div class="span9">'.Display::page_subheader(get_lang('GroupsWaitingApproval')).'</div></div>';
+    $socialInvitationsBlock .= '<div class="panel panel-default">';
+    $socialInvitationsBlock .= '<div class="panel-heading">'.get_lang('GroupsWaitingApproval').'</div>';
+    $socialInvitationsBlock .= '<div class="panel-body">';
+
     $new_invitation = array();
     foreach ($pending_invitations as $invitation) {
         $picture = GroupPortalManager::get_picture_group($invitation['id'], $invitation['picture_uri'],80);
         $img = '<img class="social-groups-image" src="'.$picture['file'].'" />';
         $invitation['picture_uri'] = '<a href="groups.php?id='.$invitation['id'].'">'.$img.'</a>';
-        $invitation['name'] = '<div class="title-group"><a href="groups.php?id='.$invitation['id'].'">'.cut($invitation['name'],120,true).'</a></div>';
-        $invitation['join'] = '<a class="btn btn-success" href="invitations.php?accept='.$invitation['id'].'">'.get_lang('AcceptInvitation').'</a>';
-        $invitation['deny'] = '<a class="btn btn-danger" href="invitations.php?deny='.$invitation['id'].'">'.get_lang('DenyInvitation').'</a>';
+        $invitation['name'] = '<a href="groups.php?id='.$invitation['id'].'">'.cut($invitation['name'],120,true).'</a>';
         $invitation['description'] = cut($invitation['description'],220,true);
         $new_invitation[]=$invitation;
 
-    $social_right_content .= '<div class="row invitation-clear">
-                                <div class="span2"><div class="thumbnail">'.$invitation['picture_uri'].'</div></div>
-                                <div class="span7">'
-                                .$invitation['name'].'<div class="description-group">'.$invitation['description'].'</div>
-                                <div class="buttons">'.$invitation['join'].' '.$invitation['deny'].'</div>
-                                </div>
-                            </div>
-    ';
+        $socialInvitationsBlock .= '<div class="well"><div class="row">';
+            $socialInvitationsBlock .= '<div class="col-md-2">'.$invitation['picture_uri'].'</div>';
+            $socialInvitationsBlock .= '<div class="col-md-10">';
+            $socialInvitationsBlock .= '<h4 class="tittle-profile">'.$invitation['name'].'</h4>';
+            $socialInvitationsBlock .= '<div class="description-group">'.$invitation['description'].'</div>';
+            $socialInvitationsBlock .= '<div class="btn-group" role="group">';
+            $socialInvitationsBlock .= '<a class="btn btn-success" href="invitations.php?accept='.$invitation['id'].'"><i class="fa fa-check"></i> '.get_lang('AcceptInvitation').'</a>';
+            $socialInvitationsBlock .= '<a class="btn btn-danger" href="invitations.php?deny='.$invitation['id'].'"><i class="fa fa-times"></i> '.get_lang('DenyInvitation').'</a>';
+            $socialInvitationsBlock .='</div>';
+        $socialInvitationsBlock .= '</div></div>';
     }
-    /*$social_right_content .= Display::return_sortable_grid(
-        'waiting_user',
-        array(),
-        $new_invitation,
-        array('hide_navigation'=>true, 'per_page' => 100),
-        array(),
-        false,
-        array(true, true, true, false, false, true, true, true, true)
-    );*/
+    $socialInvitationsBlock.='</div>';
 }
 
 $tpl = new Template(null);
 $tpl->assign('social_avatar_block', $social_avatar_block);
 $tpl->assign('social_menu_block', $social_menu_block);
-$tpl->assign('social_right_content', $social_right_content);
-
+$tpl->assign('social_invitations_block',$socialInvitationsBlock);
 $tpl->assign('message', $show_message);
 $tpl->assign('content', $content);
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->get_template('social/invitations.tpl');
 $tpl->display($social_layout);

+ 37 - 2
main/social/myfiles.php

@@ -129,8 +129,43 @@ if (is_array($_GET) && count($_GET) > 0) {
         }
     }
 }
+//Social Avatar BLock
+$user_info    = UserManager::get_user_info_by_id($user_id);
+$social_avatar_block = '<div class="panel panel-info social-avatar">';
+$social_avatar_block .= SocialManager::show_social_avatar_block('myfiles');
+$social_avatar_block .= '<div class="lastname">'.$user_info['lastname'].'</div>';
+$social_avatar_block .= '<div class="firstname">'.$user_info['firstname'].'</div>';
+/* $social_avatar_block .= '<div class="username">'.Display::return_icon('user.png','','',ICON_SIZE_TINY).$user_info['username'].'</div>'; */
+$social_avatar_block .= '<div class="email">'.Display::return_icon('instant_message.png').'&nbsp;' .$user_info['email'].'</div>';
+$chat_status = $user_info['extra'];
+if(!empty($chat_status['user_chat_status'])){
+    $social_avatar_block.= '<div class="status">'.Display::return_icon('online.png').get_lang('Chat')." (".get_lang('Online').')</div>';
+}else{
+    $social_avatar_block.= '<div class="status">'.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')</div>';
+}
+
+$editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+if (api_get_setting('sso_authentication') === 'true') {
+    $subSSOClass = api_get_setting('sso_authentication_subclass');
+    $objSSO = null;
+
+    if (!empty($subSSOClass)) {
+        require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
 
-$social_avatar_block = SocialManager::show_social_avatar_block('myfiles');
+        $subSSOClass = 'sso' . $subSSOClass;
+        $objSSO = new $subSSOClass();
+    } else {
+        $objSSO = new sso();
+    }
+
+    $editProfileUrl = $objSSO->generateProfileEditingURL();
+}
+$social_avatar_block .= '<div class="edit-profile">
+                            <a class="btn" href="' . $editProfileUrl . '">' . get_lang('EditProfile') . '</a>
+                         </div>';
+$social_avatar_block .= '</div>';
+//Social Menu Block
 $social_menu_block = SocialManager::show_social_menu('myfiles');
 $actions = null;
 
@@ -167,5 +202,5 @@ $tpl->assign('social_right_content', $social_right_content);
 $tpl->assign('actions', $actions);
 $tpl->assign('message', $show_message);
 
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->get_template('social/myfiles.tpl');
 $tpl->display($social_layout);

+ 194 - 44
main/social/profile.php

@@ -21,7 +21,7 @@ if (api_get_setting('allow_social_tool') !='true') {
 
 $user_id = api_get_user_id();
 
-$friendId = isset($_GET['u']) ? Security::remove_XSS($_GET['u']) : api_get_user_id();
+$friendId = isset($_GET['u']) ? intval($_GET['u']) : api_get_user_id();
 
 $isAdmin = api_is_platform_admin($user_id);
 
@@ -29,6 +29,14 @@ $show_full_profile = true;
 //social tab
 $this_section = SECTION_SOCIAL;
 
+//Initialize blocks
+$social_extra_info_block = null;
+$social_course_block = null;
+$social_group_info_block = null;
+$social_rss_block = null;
+$social_skill_block = null;
+$social_session_block = null;
+
 if (!empty($_POST['social_wall_new_msg_main']) || !empty($_FILES['picture']['tmp_name'])) {
     $messageId = 0;
     $idMessage = SocialManager::sendWallMessage(api_get_user_id(), $friendId, $_POST['social_wall_new_msg_main'], $messageId, MESSAGE_STATUS_WALL_POST);
@@ -366,8 +374,46 @@ if (is_array($personal_course_list)) {
     //to avoid repeted courses
     $course_list_code = array_unique_dimensional($course_list_code);
 }
+//Block Avatar Social
+$social_avatar_block = '<div class="panel panel-default social-avatar">';
+$social_avatar_block .= SocialManager::show_social_avatar_block('shared_profile', null, $user_id);
+$social_avatar_block .= '<div class="lastname">'.$user_info['lastname'].'</div>';
+$social_avatar_block .= '<div class="firstname">'.$user_info['firstname'].'</div>';
+/* $social_avatar_block .= '<div class="username">'.Display::return_icon('user.png','','',ICON_SIZE_TINY).$user_info['username'].'</div>'; */
+$social_avatar_block .= '<div class="email">'.Display::return_icon('instant_message.png').'&nbsp;' .$user_info['email'].'</div>';
+$chat_status = $user_info['extra'];
+if(!empty($chat_status['user_chat_status'])){
+    $social_avatar_block.= '<div class="status">'.Display::return_icon('online.png').get_lang('Chat')." (".get_lang('Online').')</div>';
+}else{
+    $social_avatar_block.= '<div class="status">'.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')</div>';
+}
+
+if (api_get_user_id() === $friendId) {
+    $editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+    if (api_get_setting('sso_authentication') === 'true') {
+        $subSSOClass = api_get_setting('sso_authentication_subclass');
+        $objSSO = null;
+
+        if (!empty($subSSOClass)) {
+            require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
+
+            $subSSOClass = 'sso' . $subSSOClass;
+            $objSSO = new $subSSOClass();
+        } else {
+            $objSSO = new sso();
+        }
+
+        $editProfileUrl = $objSSO->generateProfileEditingURL();
+    }
+    $social_avatar_block .= '<div class="edit-profile">
+                                <a class="btn" href="' . $editProfileUrl . '">' . get_lang('EditProfile') . '</a>
+                             </div>';
+}
 
-$social_avatar_block = SocialManager::show_social_avatar_block('shared_profile', null, $user_id);
+$social_avatar_block .= '</div>';
+
+//Social Block Menu
 $social_menu_block = SocialManager::show_social_menu('shared_profile', null, $user_id, $show_full_profile);
 
 //Setting some session info
@@ -385,6 +431,7 @@ foreach ($sessionList as $session) {
 $friend_html = listMyFriends($user_id, $link_shared ,$show_full_profile);
 $social_left_content = '<div class="well sidebar-nav">' .$friend_html . '</div>';
 
+/*
 $personal_info = null;
 if (!empty($user_info['firstname']) || !empty($user_info['lastname'])) {
     $personal_info .= '<div><h3>'.api_get_person_name($user_info['firstname'], $user_info['lastname']).'</h3></div>';
@@ -423,11 +470,24 @@ if ($show_full_profile) {
     }
     $personal_info .=  '</dl>';
 }
+*/
+//Social Block Wall
 
 $wallSocialAddPost = wallSocialAddPost();
-$social_right_content = SocialManager::social_wrapper_div($wallSocialAddPost, 5);
+$social_wall_block = $wallSocialAddPost;
+
+//Social Post Wall
+$post_wall = wallSocialPost($my_user_id,$friendId) ;
+$social_post_wall_block  = '<div class="panel panel-default social-post">';
+$social_post_wall_block .= '<div class="panel-heading">Mis publicaciones</div>';
+$social_post_wall_block .='<div class="panel-body">';
+if(empty($post_wall)){
+    $social_post_wall_block .= '<p>'.get_lang("NoPosts").'</p>';
+}else{
+    $social_post_wall_block .= $post_wall;
+}
+$social_post_wall_block .= '</div></div>';
 
-$social_right_content .= wallSocialPost($my_user_id, $friendId);
 $socialAutoExtendLink = Display::url(
     get_lang('SeeMore'),
     $socialAjaxUrl . '?u='. $my_user_id . '&a=listWallMessage&start=10&length=5',
@@ -436,22 +496,24 @@ $socialAutoExtendLink = Display::url(
     )
 );
 
-$socialRightInformation =  SocialManager::social_wrapper_div($personal_info, 4);
+/* $socialRightInformation =  SocialManager::social_wrapper_div($personal_info, 4); */
+$socialRightInformation = null;
 
 //$social_right_content .= SocialManager::social_wrapper_div($wallSocial, 5);
-
+$social_right_content = null;
 
 if ($show_full_profile) {
 
-    // Extra information
+    // Block Extra information
     $t_uf    = Database :: get_main_table(TABLE_MAIN_USER_FIELD);
     $t_ufo    = Database :: get_main_table(TABLE_MAIN_USER_FIELD_OPTIONS);
     $extra_user_data = UserManager::get_extra_user_data($user_id);
     $extra_information = '';
     if (is_array($extra_user_data) && count($extra_user_data)>0 ) {
 
-        $extra_information .= '<div><h3>'.get_lang('ExtraInformation').'</h3></div>';
-        $extra_information .='<div class="social-profile-info">';
+        $extra_information .= '<div class="panel panel-default">';
+        $extra_information .= '<div class="panel-heading">'.get_lang('ExtraInformation').'</div>';
+        $extra_information .='<div class="panel-body">';
         $extra_information_value = '';
         foreach($extra_user_data as $key=>$data) {
             //Avoding parameters
@@ -524,17 +586,20 @@ if ($show_full_profile) {
         if (!empty($extra_information_value)) {
             $extra_information .= $extra_information_value;
         }
-        $extra_information .= '</div>'; //social-profile-info
+        $extra_information .= '</div></div>'; //social-profile-info
     }
-    //     if there are information to show
+
+ //If there are information to show Block Extra Information
+
     if (!empty($extra_information_value)) {
-        $socialRightInformation .=  SocialManager::social_wrapper_div($extra_information, 4);
+        $social_extra_info_block =  $extra_information;
     }
 
     // MY GROUPS
     $results = GroupPortalManager::get_groups_by_user($my_user_id, 0);
     $grid_my_groups = array();
     $max_numbers_of_group = 4;
+
     if (is_array($results) && count($results) > 0) {
         $i = 1;
         foreach ($results as $result) {
@@ -586,6 +651,7 @@ if ($show_full_profile) {
         }
     }
 
+    //Block My Groups
     if (count($grid_my_groups) > 0) {
         $my_groups = '';
         $count_groups = 0;
@@ -594,7 +660,8 @@ if ($show_full_profile) {
         } else {
             $count_groups = count($results);
         }
-        $my_groups .=  '<div><h3>'.get_lang('MyGroups').' ('.$count_groups.') </h3></div>';
+        $my_groups .= '<div class="panel panel-default">';
+        $my_groups .= '<div class="panel-heading">'.get_lang('MyGroups').' ('.$count_groups.') </div>';
 
         if ($i > $max_numbers_of_group) {
             if (api_get_user_id() == $user_id) {
@@ -609,34 +676,30 @@ if ($show_full_profile) {
                     .'</a></div>';
             }
         }
-        /*
-        Display::display_sortable_grid(
-            'shared_profile_mygroups',
-            array(),
-            $grid_my_groups,
-            array('hide_navigation'=>true, 'per_page' => 2),
-            $query_vars,
-            false,
-            array(true, true, true,false)
-        );
-        */
+
         $total = count($grid_my_groups);
         $i = 1;
         foreach($grid_my_groups as $group) {
+            $my_groups .= '<div class="panel-body">';
             $my_groups .=  $group[0];
+            $my_groups .= '</div>';
             if ($i < $total) {
                 $my_groups .=  ', ';
             }
             $i++;
         }
-        $socialRightInformation .=  SocialManager::social_wrapper_div($my_groups, 4);
+        $my_groups .= '</div>';
+        $social_group_info_block =  $my_groups;
     }
 
+    //Block Social Course
+
     $my_courses = null;
     // COURSES LIST
     if ( is_array($list) ) {
-        $my_courses .=  '<div><h3>'.api_ucfirst(get_lang('MyCourses')).'</h3></div>';
-        $my_courses .=  '<div class="social-content-training">';
+        $my_courses .=  '<div class="panel panel-default">';
+        $my_courses .=  '<div class="panel-heading">'.api_ucfirst(get_lang('MyCourses')).'</div>';
+        $my_courses .=  '<div class="panel-body">';
 
         //Courses without sessions
         $i=1;
@@ -648,24 +711,101 @@ if ($show_full_profile) {
                 $i++;
             }
         }
-        $my_courses .=  '</div>';        //social-content-training
-        $socialRightInformation .=  SocialManager::social_wrapper_div($my_courses, 4);
-    }
+        $my_courses .=  '</div></div>';
 
+        $social_course_block .=  $my_courses;
+    }
 
-    $sessions =  '<div><h3>'.api_ucfirst(get_lang('MySessions')).'</h3></div>';
-    $sessions .=  "<div class='social-content-training'>$htmlSessionList</div>";
-    $socialRightInformation .=  SocialManager::social_wrapper_div($sessions, 4);
+    //Block Social Sessions
 
+    if (count($sessionList) > 0) {
+        $sessions  = '<div class="panel panel-default">';
+        $sessions .= '<div class="panel-heading">'.api_ucfirst(get_lang('MySessions')).'</div>';
+        $sessions .= '<div class="panel-body">'.$htmlSessionList.'</div>';
+        $sessions .= '</div>';
+        $social_session_block = $sessions;
+    }
 
-    // user feeds
+    // Block Social User Feeds
     $user_feeds = SocialManager::get_user_feeds($user_id);
+
     if (!empty($user_feeds)) {
-        $rss =  '<div><h3>'.get_lang('RSSFeeds').'</h3></div>';
-        $rss .=  '<div class="social-content-training">'.$user_feeds.'</div>';
-        $socialRightInformation .=  SocialManager::social_wrapper_div($rss, 4);
+        $rss  = '<div class="panel panel-default social-rss">';
+        $rss .= '<div class="panel-heading">'.get_lang('RSSFeeds').'</div>';
+        $rss .= '<div class="panel-body">'.$user_feeds.'</div></div>';
+        $social_rss_block =  $rss;
+
     }
 
+    //BLock Social Skill
+    if (api_get_setting('allow_skills_tool') == 'true') {        
+        $skill = new Skill();
+
+        $ranking = $skill->get_user_skill_ranking($my_user_id);
+        $skills = $skill->get_user_skills($my_user_id, true);
+
+        $social_skill_block = '<div class="panel panel-default social-skill">';
+        $social_skill_block .= '<div class="panel-heading">' . get_lang('Skills');
+        $social_skill_block .= '<div class="btn-group pull-right"> <a class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown" href="#">
+                            <span class="caret"></span></a>
+                             <ul class="dropdown-menu">';
+        if (api_is_student() || api_is_student_boss() || api_is_drh()) {
+            $social_skill_block .= '<li>' . Display::url(
+                    get_lang('SkillsReport'),
+                    api_get_path(WEB_CODE_PATH) . 'social/my_skills_report.php'
+                ) . '</li>';
+        }
+
+        $social_skill_block .= '<li>' . Display::url(
+                get_lang('SkillsWheel'),
+                api_get_path(WEB_CODE_PATH) . 'social/skills_wheel.php'
+            ) . '</li>';
+
+        $social_skill_block .= '<li>' . Display::url(
+                sprintf(get_lang('YourSkillRankingX'), $ranking),
+                api_get_path(WEB_CODE_PATH) . 'social/skills_ranking.php'
+            ) . '</li>';
+
+        $social_skill_block .= '</ul></div></div>';
+
+        $lis = '';
+        if (!empty($skills)) {
+            foreach ($skills as $skill) {
+                $badgeImage = null;
+
+                if (!empty($skill['icon'])) {
+                    $badgeImage = Display::img(
+                        api_get_path(WEB_DATA_PATH) . $skill['icon'],
+                        $skill['name']
+                    );
+                } else {
+                    $badgeImage = Display::return_icon(
+                        'badges-default.png',
+                        $skill['name'],
+                        array('title' => $skill['name']),ICON_SIZE_BIG
+                    );
+                }
+
+                $lis .= Display::tag(
+                    'li',
+                    $badgeImage .
+                    '<div class="badges-name">' . $skill['name'] . '</div>'
+                );
+            }
+            $social_skill_block .= '<div class="panel-body">';
+            $social_skill_block .= Display::tag('ul', $lis, array('class' => 'list-badges'));
+            $social_skill_block .= '</div>';
+        }else{
+
+            $social_skill_block .= '<div class="panel-body">';
+            $social_skill_block .= '<p>'. get_lang("WithoutAchievedSkills") . '</p>';
+            $social_skill_block .= '<p>' . Display::url(get_lang('SkillsWheel'),api_get_path(WEB_CODE_PATH) . 'social/skills_wheel.php').'</p>';
+            $social_skill_block .= '</div>';
+        }
+        $social_skill_block.='</div>';
+    }
+
+
     //--Productions
     $production_list =  UserManager::build_production_list($user_id);
 
@@ -782,10 +922,17 @@ $social_right_content .= MessageManager::generate_invitation_form('send_invitati
 $tpl = new Template(get_lang('Social'));
 $tpl->assign('social_avatar_block', $social_avatar_block);
 $tpl->assign('social_menu_block', $social_menu_block);
-$tpl->assign('social_right_content', $social_right_content);
+$tpl->assign('social_wall_block', $social_wall_block);
+$tpl->assign('social_post_wall_block', $social_post_wall_block);
+$tpl->assign('social_extra_info_block', $social_extra_info_block);
+$tpl->assign('social_course_block', $social_course_block);
+$tpl->assign('social_group_info_block', $social_group_info_block);
+$tpl->assign('social_rss_block', $social_rss_block);
+$tpl->assign('social_skill_block', $social_skill_block);
+$tpl->assign('social_session_block', $social_session_block);
 $tpl->assign('socialRightInformation', $socialRightInformation);
 $tpl->assign('socialAutoExtendLink', $socialAutoExtendLink);
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->get_template('social/profile.tpl');
 $tpl->display($social_layout);
 
 /*
@@ -853,16 +1000,19 @@ function listMyFriends($user_id, $link_shared, $show_full_profile)
 
 function wallSocialAddPost()
 {
-    $html = '';
-    $html .= '<h3>' . get_lang('SocialWall') . '</h3>';
+    $html  = '<div class="panel panel-default social-wall">';
+    $html .= '<div class="panel-heading">' . get_lang('SocialWall') . '</div>';
+    $html .= '<div class="panel-body">';
     $html .=
         '<form name="social_wall_main" method="POST" enctype="multipart/form-data">
             <label for="social_wall_new_msg_main" class="hide">' . get_lang('SocialWallWhatAreYouThinkingAbout') . '</label>
         <textarea name="social_wall_new_msg_main" rows="2" cols="80" style="width: 98%" placeholder="'.get_lang('SocialWallWhatAreYouThinkingAbout').'"></textarea>
         <br />
-        <input class="" name="picture" type="file" accept="image/*">
-        <input type="submit" name="social_wall_new_msg_main_submit" value="'.get_lang('Post').'" class="float right btn btn-primary" />
+        <input class="" name="picture" type="file" accept="image/*" style="width:80%;">
+        <button type="submit" name="social_wall_new_msg_main_submit"  class="pull-right btn btn-success" />
+        <i class="fa fa-pencil"></i> '.get_lang('Post').'</button>
     </form>';
+    $html.= '</div></div>';
 
     return $html;
 }
@@ -876,7 +1026,7 @@ function wallSocialPost($userId, $friendId)
         $post = $array[$i]['html'];
         $comment = SocialManager::getWallMessagesHTML($userId, $friendId, $array[$i]['id']);
 
-        $html .= SocialManager::social_wrapper_div($post.$comment, 5);
+        $html .= $post.$comment;
     }
 
     return $html;

+ 37 - 2
main/social/search.php

@@ -146,8 +146,43 @@ if (!empty($extra_fields)) {
         }
     }
 }
+$user_info    = UserManager::get_user_info_by_id($user_id);
+//Block Social Avatar
+$social_avatar_block = '<div class="panel panel-info social-avatar">';
+$social_avatar_block .= SocialManager::show_social_avatar_block('search');
+$social_avatar_block .= '<div class="lastname">'.$user_info['lastname'].'</div>';
+$social_avatar_block .= '<div class="firstname">'.$user_info['firstname'].'</div>';
+/* $social_avatar_block .= '<div class="username">'.Display::return_icon('user.png','','',ICON_SIZE_TINY).$user_info['username'].'</div>'; */
+$social_avatar_block .= '<div class="email">'.Display::return_icon('instant_message.png').'&nbsp;' .$user_info['email'].'</div>';
+$chat_status = $user_info['extra'];
+if(!empty($chat_status['user_chat_status'])){
+    $social_avatar_block.= '<div class="status">'.Display::return_icon('online.png').get_lang('Chat')." (".get_lang('Online').')</div>';
+}else{
+    $social_avatar_block.= '<div class="status">'.Display::return_icon('offline.png').get_lang('Chat')." (".get_lang('Offline').')</div>';
+}
+
+$editProfileUrl = api_get_path(WEB_CODE_PATH) . 'auth/profile.php';
+
+if (api_get_setting('sso_authentication') === 'true') {
+    $subSSOClass = api_get_setting('sso_authentication_subclass');
+    $objSSO = null;
+
+    if (!empty($subSSOClass)) {
+        require_once api_get_path(SYS_CODE_PATH) . 'auth/sso/sso.' . $subSSOClass . '.class.php';
 
-$social_avatar_block = SocialManager::show_social_avatar_block('search');
+        $subSSOClass = 'sso' . $subSSOClass;
+        $objSSO = new $subSSOClass();
+    } else {
+        $objSSO = new sso();
+    }
+
+    $editProfileUrl = $objSSO->generateProfileEditingURL();
+}
+$social_avatar_block .= '<div class="edit-profile">
+                            <a class="btn" href="' . $editProfileUrl . '">' . get_lang('EditProfile') . '</a>
+                         </div>';
+$social_avatar_block .= '</div>';
+//Block Social Menu
 $social_menu_block = SocialManager::show_social_menu('search');
 $social_right_content = '<div class="span9">'.UserManager::get_search_form($query).'</div>';
 
@@ -330,5 +365,5 @@ $tpl->assign('social_avatar_block', $social_avatar_block);
 $tpl->assign('social_menu_block', $social_menu_block);
 $tpl->assign('social_right_content', $social_right_content);
 
-$social_layout = $tpl->get_template('layout/social_layout.tpl');
+$social_layout = $tpl->get_template('social/search.tpl');
 $tpl->display($social_layout);

+ 42 - 37
main/template/default/auth/courses_categories.php

@@ -106,9 +106,10 @@ $code = isset($code) ? $code : null;
 </script>
 
     <div class="row">
-        <div class="span3">
-            <div id="course_category_well" class="well">
-                <ul class="nav nav-list">
+        <div class="col-md-3">
+            <div class="panel panel-default">
+                <div class="panel-heading"><?php echo get_lang('Search'); ?></div>
+                <div class="panel-body">
                     <?php if ($showCourses) { ?>
                     <?php if (!isset($_GET['hidden_links']) || intval($_GET['hidden_links']) != 1) { ?>
                         <form class="form-search" method="post" action="<?php echo getCourseCategoryUrl(1, $pageLength, 'ALL', 0, 'subscribe'); ?>">
@@ -118,32 +119,34 @@ $code = isset($code) ? $code : null;
                                 <div class="control-group">
                                     <div class="controls">
                                         <div class="input-append">
-                                            <input class="span2" type="text" name="search_term" value="<?php echo (empty($_POST['search_term']) ? '' : api_htmlentities(Security::remove_XSS($_POST['search_term']))); ?>" />
-                                            <button class="btn" type="submit"><?php echo get_lang('Search'); ?></button>
+                                            <input type="text" name="search_term" value="<?php echo (empty($_POST['search_term']) ? '' : api_htmlentities(Security::remove_XSS($_POST['search_term']))); ?>" />
+                                            <div class="btn-group">
+                                            <button class="btn btn-default btn-sm" type="submit"><i class="fa fa-search"></i> <?php echo get_lang('Search'); ?></button>
+                                            <?php
+                                            $hidden_links = 0;
+                                            } else {
+                                                $hidden_links = 1;
+                                            }
+
+                                            /* Categories will only show down to 4 levels, if you want more,
+                                             * you will have to patch the following code. We don't recommend
+                                             * it, as this can considerably slow down your system
+                                             */
+                                            if (!empty($browse_course_categories)) {
+                                            echo '<a class="btn btn-default btn-sm" href="'.api_get_self().'?action=display_random_courses">'.get_lang('RandomPick').'</a>';
+                                            ?>
+                                            </div>
                                         </div>
                                     </div>
                                 </div>
                             </fieldset>
                         </form>
-                        <?php
-                        $hidden_links = 0;
-                    } else {
-                        $hidden_links = 1;
-                    }
-
-                    /* Categories will only show down to 4 levels, if you want more,
-                     * you will have to patch the following code. We don't recommend
-                     * it, as this can considerably slow down your system
-                     */
-                    if (!empty($browse_course_categories)) {
-                    echo '<a class="btn" href="'.api_get_self().'?action=display_random_courses">'.get_lang('RandomPick').'</a><br /><br />';
-                    ?>
-                </ul>
+                </div>
             </div>
-            <div class="well">
-                <ul class="nav nav-list">
+            <div class="panel panel-default">
+                <div class="panel-heading">
                     <?php
-                    echo '<li class="nav-header">'.get_lang('CourseCategories').'</li>';
+                    echo get_lang('CourseCategories').'</div>';
 
                     $action = 'display_courses';
                     // level 1
@@ -168,8 +171,10 @@ $code = isset($code) ? $code : null;
                                 $category_link = ''.$category_name.' ('.$count_courses_lv1.')';
                             }
                         }
+                        echo '<div class="panel-body">';
+                        echo '<ul class="nav nav-pills nav-stacked">';
                         echo '<li>'.$category_link.'</li>';
-
+                        echo '</ul></div>';
                         // level 2
                         if (!empty($browse_course_categories[$category_code])) {
                             foreach ($browse_course_categories[$category_code] as $subcategory1) {
@@ -243,17 +248,17 @@ $code = isset($code) ? $code : null;
             }
             ?>
             <?php if ($showSessions) { ?>
-                <div class="well">
-                    <ul class="nav nav-list">
-                        <li class="nav-header"><?php echo get_lang('Sessions'); ?></li>
-                        <li>
+                <div class="panel panel-default">
+
+                        <div class="panel-heading"><?php echo get_lang('Sessions'); ?></div>
+                        <div class="panel-body">
                             <?php if ($action == 'display_sessions' && $_SERVER['REQUEST_METHOD'] != 'POST') { ?>
                                 <strong><?php echo get_lang('Sessions'); ?></strong>
                             <?php } else { ?>
                                 <a href="<?php echo getCourseCategoryUrl(1, $pageLength, null, 0, 'display_sessions'); ?>"><?php echo get_lang('SessionList'); ?></a>
                             <?php } ?>
-                        </li>
-                        <li class="nav-header"><?php echo get_lang('SearchActiveSessions') ?></li>
+
+                        <p><?php echo get_lang('SearchActiveSessions') ?></p>
                         <form class="form-search" method="post" action="<?php echo getCourseCategoryUrl(1, $pageLength, null, 0, 'display_sessions'); ?>">
                             <div class="input-append">
                                 <?php echo Display::input('date', 'date', $date, array(
@@ -261,18 +266,18 @@ $code = isset($code) ? $code : null;
                                     'id' => 'date',
                                     'readonly' => ''
                                 )); ?>
-                                <button class="btn" type="submit"><?php echo get_lang('Search'); ?></button>
+                                <button class="btn btn-default" type="submit"><?php echo get_lang('Search'); ?></button>
                             </div>
                         </form>
-                    </ul>
+                    </div>
                 </div>
             <?php } ?>
         </div>
 
-        <div class="span9">
-            <div class="page-header">
+        <div class="col-md-9">
+
                 <h2><?php echo get_lang('CourseCatalog')?></h2>
-            </div>
+
             <?php if ($showCourses && $action != 'display_sessions') { ?>
                 <?php if (!empty($message)) { Display::display_confirmation_message($message, false); }
                 if (!empty($error)) { Display::display_error_message($error, false); }
@@ -317,7 +322,7 @@ $code = isset($code) ? $code : null;
                         display_thumbnail($course, $icon_title);
 
                         // display course title and button bloc
-                        echo '<div class="span4">';
+                        echo '<div class="col-md-8">';
                         display_title($course);
                         // display button line
                         echo '<div class="btn-toolbar">';
@@ -355,7 +360,7 @@ $code = isset($code) ? $code : null;
                         echo '</div>'; // span4
 
                         // display counter
-                        echo '<div class="span2">';
+                        echo '<div class="col-md-2">';
                         echo '<div class="course-block-popularity"><span>'.get_lang('ConnectionsLastMonth').'</span><div class="course-block-popularity-score">'.$count_connections.'</div></div>';
                         echo '</div>';
 
@@ -394,7 +399,7 @@ function display_thumbnail($course, $icon_title)
     }
 
     // course image
-    echo '<div class="span2">';
+    echo '<div class="col-md-2">';
     echo '<div class="thumbnail">';
     if (api_get_setting('show_courses_descriptions_in_catalog') == 'true') {
         echo '<a class="ajax" href="'.api_get_path(WEB_CODE_PATH).'inc/ajax/course_home.ajax.php?a=show_course_information&amp;code='.$course['code'].'" title="'.$icon_title.'" rel="gb_page_center[778]">';

+ 9 - 9
main/template/default/auth/sessions_catalog.tpl

@@ -50,7 +50,7 @@
         });
     </script>
 
-    <div class="span3">
+    <div class="col-md-3">
         {% if showCourses %}
             <div class="well">
                 {% if not hiddenLinks %}
@@ -102,25 +102,25 @@
             </div>
         {% endif %}
     </div>
-    <div class="span9">
+    <div class="col-md-9">
         {% for session in sessions_blocks %}
             <div class="well well-small session-group" id="session-{{ session.id }}">
-                <div class="row-fluid">
-                    <div class="span9">
-                        <div class="row-fluid padding-clear">
-                            <div class="span2">
+                <div class="row">
+                    <div class="col-md-9">
+                        <div class="row padding-clear">
+                            <div class="col-md-2">
                                 <span class="thumbnail">
                                     {{ session.icon }}
                                 </span>
                             </div>
-                            <div class="span10 border-info">
+                            <div class="col-md-10 border-info">
                                 <h3>{{ session.name }}</h3>
                                 <div class="tutor">
                                     <img src="{{ 'teacher.png' | icon(22) }}" width="16"> {{ 'GeneralCoach' | get_lang }} {{ session.coach_name }}
                                 </div>
                             </div>
                         </div>
-                        <div class="row-fluid">
+                        <div class="row">
                             <div class="accordion" id="session-{{ session.id }}-accordion">
                                 <div class="accordion-group">
                                     <div class="accordion-heading">
@@ -135,7 +135,7 @@
                             </div>
                         </div>
                     </div>
-                    <div class="span3">
+                    <div class="col-md-3">
                         {% if session.showDescription %}
                             <div class="buttom-subscribed">
                                 <a class="ajax btn btn-large btn-info" href="{{ _p.web_ajax }}session.ajax.php?a=get_description&session={{ session.id }}">{{ 'Description' | get_lang }}</a>

+ 12 - 12
main/template/default/create_course/add_course.tpl

@@ -8,43 +8,43 @@
 <br />
 
 <div id="course_thing_to_do" class="row">
-    <div class="span3">
+    <div class="col-md-3">
         <div class="thumbnail">
             <img src="{{ _p.web_img }}icons/64/info.png"/>
             <div class="caption">
-                <a href="{{ _p.web_main }}course_description/?cidReq={{ course_id }}" class="btn">
-                    {{'AddCourseDescription'|get_lang}}
+                <a href="{{ _p.web_main }}course_description/?cidReq={{ course_id }}" class="btn btn-default">
+                    <i class="fa fa-info-circle"></i> {{'AddCourseDescription'|get_lang}}
                 </a>
             </div>
         </div>
     </div>
-    <div class="span3">
+    <div class="col-md-3">
         <div class="thumbnail">
             <img src="{{ _p.web_img }}icons/64/folder_document.png"/>
             <div class="caption">
-                <a href="{{ _p.web_main }}document/document.php?cidReq={{ course_id }}" class="btn">
-                    {{'UploadADocument'|get_lang}}
+                <a href="{{ _p.web_main }}document/document.php?cidReq={{ course_id }}" class="btn btn-default">
+                    <i class="fa fa-paper-plane"></i> {{'UploadADocument'|get_lang}}
                 </a>
             </div>
         </div>
     </div>
-    <div class="span3">
+    <div class="col-md-3">
         <div class="thumbnail">
             <img src="{{ _p.web_img }}icons/64/forum.png"/>
             <div class="caption">
-                <a href="{{ _p.web_main }}forum/index.php?cidReq={{ course_id }}" class="btn">
-                    {{ 'AddForum'|get_lang }}
+                <a href="{{ _p.web_main }}forum/index.php?cidReq={{ course_id }}" class="btn btn-default">
+                    <i class="fa fa-users"></i> {{ 'AddForum'|get_lang }}
                 </a>
             </div>
         </div>
     </div>
     {% if ("allow_user_course_subscription_by_course_admin" | get_setting) == 'true' or _u.is_admin == 1 %}
-    <div class="span3">
+    <div class="col-md-3">
         <div class="thumbnail">
         <img src="{{ _p.web_img }}icons/64/user.png"/>
             <div class="caption">
-            <a href="{{ _p.web_main }}user/subscribe_user.php?cidReq={{ course_id }}" class="btn">
-                {{ 'SubscribeUserToCourse'|get_lang }}
+            <a href="{{ _p.web_main }}user/subscribe_user.php?cidReq={{ course_id }}" class="btn btn-default">
+                <i class="fa fa-user-plus"></i> {{ 'SubscribeUserToCourse'|get_lang }}
             </a>
             </div>
         </div>

+ 3 - 2
main/template/default/layout/head.tpl

@@ -12,8 +12,7 @@
 {#  Improve usability in portal devices #}
 <meta name="viewport" content="width=device-width, initial-scale=1.0">
 <title>{{ title_string }}</title>
-{{ css_file_to_string }}
-{{ css_style_print }}
+{{ css_static_file_to_string }}
 {{ js_file_to_string }}
 <script>
 
@@ -445,5 +444,7 @@ $(function() {
     });*/
 });
 </script>
+{{ css_custom_file_to_string }}
+{{ css_style_print }}
 {# Extra header configured in admin section, only shown to non-admins #}
 {{ header_extra_content }}

+ 2 - 2
main/template/default/layout/layout_1_col.tpl

@@ -11,12 +11,12 @@
 
     {#  Plugin top  #}
     {% if plugin_content_top %}
-        <div id="plugin_content_top" class="col-md-12">
+        <div id="plugin_content_top" class="col-md-12 movil">
             {{ plugin_content_top }}
         </div>
     {% endif %}
 
-    <div class="col-md-12">
+    <div class="col-xs-12 col-md-12">
         {% include template ~ "/layout/page_body.tpl" %}
         {% block content %}
             {% if content is not null %}

+ 4 - 3
main/template/default/layout/layout_2_col.tpl

@@ -25,7 +25,6 @@
 		{% endif %}
         {% endblock %}
 
-
 		{# User picture #}
 
         {{ user_image_block }}
@@ -40,6 +39,8 @@
         {# Course block - teacher #}
 		{{ teacher_block }}
 
+        {# Skills #}
+        {{ skills_block }}
 
 		{# Notice #}
 		{{ notice_block }}
@@ -50,6 +51,7 @@
 		{# Links that are not added in the tabs #}
 		{{ navigation_course_links }}
 
+
 		{# Reservation block  #}
 		{{ reservation_block }}
 
@@ -59,8 +61,7 @@
 		{# Classes #}
 		{{ classes_block }}
 
-		{# Skills #}
-		{{ skills_block }}
+
 
 		{# Plugin courses sidebar #}
         {# Plugins for footer section #}

+ 1 - 1
main/template/default/layout/menu.tpl

@@ -32,7 +32,7 @@
                {% if logout_link is not null %}
                <li>
                    <a id="logout_button" title="{{ "Logout"|get_lang }}" href="{{ logout_link }}" >
-                       {{ "Logout"|get_lang }}
+                       <i class="fa fa-sign-out"></i> {{ "Logout"|get_lang }}
                    </a>
                </li>
                {% endif %}

+ 0 - 29
main/template/default/layout/social_layout.tpl

@@ -1,29 +0,0 @@
-{% extends template ~ "/layout/layout_1_col.tpl" %}
-
-{% block content %}
-    <div class="row">
-        <div class="col-md-3">
-            <div class="social-menu">
-            {{ social_avatar_block }}
-            {{ social_menu_block }}
-            </div>
-        </div>
-        <div id="wallMessages" class="col-md-5" style="min-height:1px">
-            <div class="row">
-                <div class="col-md-5">
-                    <div id="message_ajax_reponse" class=""></div>
-                </div>
-            </div>
-            <div class="row">
-                {{ social_right_content}}
-            </div>
-            <div id="display_response_id" class="span5"></div>
-            {{ socialAutoExtendLink }}
-        </div>
-        <div class="col-md-4">
-            <div class="row">
-                {{ socialRightInformation}}
-            </div>
-        </div>
-    </div>
-{% endblock %}

+ 35 - 12
main/template/default/skill/badge.tpl

@@ -1,27 +1,50 @@
 {% extends "default/layout/main.tpl" %}
 
 {% block body %}
-    <div class="span12">
-        <h1 class="page-header">{{ 'Badges' | get_lang }}</h1>
+
+    <div class="col-md-12">
+        <div class="openbadges-tabs">
         <ul class="nav nav-tabs">
             <li class="active">
                 <a href="{{ _p.web_main }}admin/skill_badge.php">{{ 'Home' | get_lang }}</a>
             </li>
             <li>
-                <a href="{{ _p.web_main }}admin/skill_badge_issuer.php">{{ 'IssuerDetails' | get_lang }}</a>
-            </li>
-            <li>
-                <a href="{{ _p.web_main }}admin/skill_badge_list.php">{{ 'Skills' | get_lang }}</a>
+                <a href="{{ _p.web_main }}admin/skill_badge_list.php">{{ 'Insignias Actuales' | get_lang }}</a>
             </li>
         </ul>
+        </div>
         <div class="tab-content">
             <div class="tab-pane active">
-                <div class="hero-unit">
-                    <h1>{{ 'OpenBadgesIntroduction' | get_lang }}</h1>
-                    <p class="lead">{{ 'OpenBadgesBannerText' | get_lang }}</p>
-                    <p class="lead">
-                        <a href="http://openbadges.org/">http://openbadges.org/</a>
-                    </p>
+                <div class="openbadges-introduction">
+                    <h1 class="title"><img src="{{ 'badges.png' | icon(64) }}">{{ 'OpenBadgesTitle' | get_lang }}</h1>
+                    <div class="row">
+                        <div class="col-xs-12 col-md-6">
+                            <p class="lead">
+                                {{ 'OpenBadgesBannerText' | get_lang }}
+                            </p>
+                            <p class="lead">
+                                {{ 'OpenBadgesIntroduction' | get_lang }} <a href="http://openbadges.org">http://openbadges.org/</a>.
+                            </p>
+                        </div>
+                        <div class="col-xs-12 col-md-6">
+                            <img class="img-responsive" src="{{ 'openbadges.png' | icon() }}">
+                        </div>
+                    </div>
+
+                    <h3 class="sub-title">{{ 'OpenBadgesBannerCall' | get_lang }}</h3>
+                    <div class="block-content">
+                        <div class="block-title">{{ 'IssuerDetails' | get_lang }}</div>
+
+                        <p>{{ 'Name' | get_lang }} : {{ _s.institution }}</p>
+                        <p>{{ 'URL' | get_lang }} : {{ _p.web }}</p>
+
+                        <div class="block-title">{{ 'BackpackDetails' | get_lang }}</div>
+
+                        <p>{{ 'URL' | get_lang }} : {{ backpack }}</p>
+
+                        <p>{{ 'TheBadgesWillBeSentToThatBackpack' | get_lang }}</p>
+
+                    </div>
                 </div>
             </div>
         </div>

+ 61 - 44
main/template/default/skill/badge_create.tpl

@@ -4,6 +4,11 @@
     <script>
         (function () {
             var designer = null;
+            $(document).on('ready',function(){
+                $('.help-badges').tooltip();
+                $('.help-badges-img').tooltip();
+            }
+            );
 
             $(document).on('ready', function () {
                 $('#btn-open-designer').on('click', function (e) {
@@ -39,69 +44,81 @@
             });
         })();
     </script>
-    <div class="span12">
-        <h1 class="page-header">{{ 'Badges' | get_lang }}</h1>
-        <ul class="nav nav-tabs">
-            <li>
-                <a href="{{ _p.web_main }}admin/skill_badge.php">{{ 'Home' | get_lang }}</a>
-            </li>
-            <li>
-                <a href="{{ _p.web_main }}admin/skill_badge_issuer.php">{{ 'IssuerDetails' | get_lang }}</a>
-            </li>
-            <li>
-                <a href="{{ _p.web_main }}admin/skill_badge_list.php">{{ 'Skills' | get_lang }}</a>
-            </li>
-            <li class="active">
-                <a href="#">{{ 'Edit' | get_lang }}</a>
-            </li>
-        </ul>
+    <div class="col-md-12">
+
+        <div class="openbadges-tabs">
+            <ul class="nav nav-tabs">
+                <li>
+                    <a href="{{ _p.web_main }}admin/skill_badge.php">{{ 'Home' | get_lang }}</a>
+                </li>
+                <li>
+                    <a href="{{ _p.web_main }}admin/skill_badge_list.php">{{ 'BadgePreview' | get_lang }}</a>
+                </li>
+                <li class="active">
+                    <a href="#">{{ 'Edit' | get_lang }}</a>
+                </li>
+            </ul>
+        </div>
+
         <div class="tab-content">
             <div class="tab-pane active">
+                <div class="openbadges-introduction">
                 <div class="row">
-                    <div class="span3">
-                        <p>{{ 'DesignANewBadgeComment' | get_lang }}</p>
-                        <p>
-                            <button id="btn-open-designer" class="btn btn-info btn-large btn-block" type="button">{{ 'DesignNewBadge' | get_lang }}</button>
-                        </p>
-                        <hr>
-                        <div class="well well-small {{ skill.icon ? '' : 'hide' }}" id="badge-container">
-                            <img id="badge-preview" alt="{{ 'BadgePreview' | get_lang }}" src="{{ skill.icon ? [_p.web_data, skill.icon] | join('') : '' }}">
+                    <div class="col-md-12">
+                        <div class="block-edit">
+                            <div class="block-title">{{ 'SkillInfo' | get_lang }}</div>
                         </div>
                     </div>
-                    <div class="span9">
+                </div>
+                <div class="row">
+                    <div class="col-md-9">
                         <form action="{{ _p.web_self_query_vars }}" class="form-horizontal" method="post" enctype="multipart/form-data">
                             <fieldset>
-                                <legend>{{ 'SkillInfo' | get_lang }}</legend>
-                                <div class="control-group">
-                                    <label class="control-label" for="name">{{ 'Name' | get_lang }}</label>
-                                    <div class="controls">
-                                        <input type="text" name="name" id="name" class="input-xxlarge" value="{{ skill.name }}">
+
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="name">{{ 'Name' | get_lang }}</label>
+                                    <div class="col-sm-10">
+                                        <input type="text" name="name" id="name" class="form-control" value="{{ skill.name }}">
                                     </div>
                                 </div>
-                                <div class="control-group">
-                                    <label class="control-label" for="name">{{ 'Description' | get_lang }}</label>
-                                    <div class="controls">
-                                        <textarea name="description" id="description" class="input-xxlarge" rows="4">{{ skill.description }}</textarea>
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="name">{{ 'Description' | get_lang }}</label>
+                                    <div class="col-sm-10">
+                                        <textarea name="description" id="description" class="form-control" rows="4">{{ skill.description }}</textarea>
                                     </div>
                                 </div>
-                                <div class="control-group">
-                                    <label class="control-label" for="image">{{ 'Image' | get_lang }}</label>
-                                    <div class="controls">
-                                        <input type="file" name="image" id="image" class="input-xxlarge" accept="image/*">
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="image">{{ 'Image' | get_lang }}</label>
+                                    <div class="col-sm-10">
+                                        <input data-placement="left" data-toggle="tooltip" title="{{ 'Medidas de la insignia 200 x 200 pixeles en formato PNG' | get_lang }}" type="file" name="image" id="image" class="help-badges-img" accept="image/*">
                                     </div>
                                 </div>
-                                <div class="control-group">
-                                    <label class="control-label" for="criteria">{{ 'CriteriaToEarnTheBadge' | get_lang }}</label>
-                                    <div class="controls">
-                                        <textarea name="criteria" id="criteria" class="input-xxlarge" rows="10">{{ skill.criteria }}</textarea>
+                                <div class="form-group">
+                                    <label class="col-sm-2 control-label" for="criteria">{{ 'CriteriaToEarnTheBadge' | get_lang }}</label>
+                                    <div class="col-sm-10">
+                                        <textarea name="criteria" id="criteria" class="form-control" rows="10">{{ skill.criteria }}</textarea>
                                     </div>
                                 </div>
                             </fieldset>
-                            <div class="form-actions">
-                                <button type="submit" class="btn btn-primary">{{ 'Create'| get_lang }}</button>
+                            <div class="form-group">
+                                <div class="col-sm-offset-2 col-sm-10">
+                                    <button type="submit" class="btn btn-primary btn-large"><i class="fa fa-floppy-o"></i> {{ 'Guardar Insignia'| get_lang }}</button>
+                                </div>
                             </div>
                         </form>
                     </div>
+                    <div class="col-md-3">
+                        <div class="create-openbadges">
+                            <button id="btn-open-designer" class="help-badges btn btn-primary btn-large btn-block" data-toggle="tooltip" data-placement="bottom" title="{{ 'DesignANewBadgeComment' | get_lang }}" type="button">
+                                <i class="fa fa-plus"></i> {{ 'DesignNewBadge' | get_lang }}
+                            </button>
+                        </div>
+                        <p class="openbadges-text">{{'OpenBadgeImagePreview' | get_lang }}</p>
+                        <div class="openbadges-img {{ skill.icon ? '' : 'hide' }}" id="badge-container">
+                            <img id="badge-preview" alt="{{ 'BadgePreview' | get_lang }}" src="{{ skill.icon ? [_p.web_data, skill.icon] | join('') : '' }}">
+                        </div>
+                    </div>
+                </div>
                 </div>
             </div>
         </div>

+ 11 - 5
main/template/default/skill/badge_issuer.tpl

@@ -1,17 +1,23 @@
 {% extends "default/layout/main.tpl" %}
 
 {% block body %}
+
+
+
+
+
+
     <div class="span12">
-        <h1 class="page-header">{{ 'Badges' | get_lang }}</h1>
+        
         <ul class="nav nav-tabs">
             <li>
                 <a href="{{ _p.web_main }}admin/skill_badge.php">{{ 'Home' | get_lang }}</a>
             </li>
-            <li class="active">
-                <a href="{{ _p.web_main }}admin/skill_badge_issuer.php">{{ 'IssuerDetails' | get_lang }}</a>
+            <li >
+                <a href="{{ _p.web_main }}admin/skill_badge_list.php">{{ 'IssuerDetails' | get_lang }}</a>
             </li>
-            <li>
-                <a href="{{ _p.web_main }}admin/skill_badge_list.php">{{ 'Skills' | get_lang }}</a>
+            <li class="active">
+                <a href="{{ _p.web_main }}admin/skill_badge_help.php">{{ 'Skills' | get_lang }}</a>
             </li>
         </ul>
         <div class="tab-content">

+ 12 - 15
main/template/default/skill/badge_list.tpl

@@ -1,27 +1,27 @@
 {% extends "default/layout/main.tpl" %}
 
 {% block body %}
-    <div class="span12">
-        <h1 class="page-header">{{ 'Badges' | get_lang }}</h1>
+    <div class="col-md-12">
+        <div class="openbadges-tabs">
         <ul class="nav nav-tabs">
             <li>
                 <a href="{{ _p.web_main }}admin/skill_badge.php">{{ 'Home' | get_lang }}</a>
             </li>
-            <li>
-                <a href="{{ _p.web_main }}admin/skill_badge_issuer.php">{{ 'IssuerDetails' | get_lang }}</a>
-            </li>
             <li class="active">
-                <a href="{{ _p.web_main }}admin/skill_badge_list.php">{{ 'Skills' | get_lang }}</a>
+                <a href="{{ _p.web_main }}admin/skill_badge_list.php">{{ 'Insignias Actuales' | get_lang }}</a>
             </li>
         </ul>
+        </div>
         <div class="tab-content">
             <div class="tab-pane active">
+                <div class="openbadges-introduction">
                 {% if not errorMessage is empty %}
                     <div class="alert alert-error">
                         {{ errorMessage }}
                     </div>
                 {% endif %}
-                <table class="table table-bordered table-striped">
+                <div class="openbadges-tablet">
+                <table class="table">
                     <thead>
                         <tr>
                             <th>{{ 'Name' | get_lang }}</th>
@@ -29,18 +29,13 @@
                             <th>{{ 'Actions' | get_lang }}</th>
                         </tr>
                     </thead>
-                    <tfoot>
-                        <tr>
-                            <th>{{ 'Name' | get_lang }}</th>
-                            <th>{{ 'Description' | get_lang }}</th>
-                            <th>{{ 'Actions' | get_lang }}</th>
-                        </tr>
-                    </tfoot>
                     <tbody>
                         {% for skill in skills %}
                             <tr>
                                 <td>
-                                    {% if skill.icon %}
+                                    {% if skill.icon is empty %}
+                                        <img src="{{ 'badges-default.png' | icon(128) }}" width="50" alt="{{ skill.name }}">
+                                    {% else %}
                                         <img src="{{ [_p.web_data, skill.icon] | join('') }}" width="50" alt="{{ skill.name }}">
                                     {% endif %}
                                     {{ skill.name }}
@@ -55,6 +50,8 @@
                         {% endfor %}
                     </tbody>
                 </table>
+                </div>
+                </div>
             </div>
         </div>
     </div>

+ 3 - 3
main/template/default/skill/profile.tpl

@@ -29,8 +29,8 @@
 {% if order_user_list is not null %}
     {% for count, user_list in order_user_list %}
         <div class="page-items-profile">
-            <div class="row-fluid">
-                <div class="span12">
+            <div class="row">
+                <div class="col-md-12">
                     <h4 class="title-skill">
                         {% if count == total_search_skills %}
                             {{ "CompleteMatch"|get_lang }}
@@ -45,7 +45,7 @@
                 </div>
             </div>
 
-            <div class="row-fluid">
+            <div class="row">
                 {% for user in user_list %}
                     <div class="block-items">
                         <div class="border-items">

+ 41 - 34
main/template/default/skill/skill_wheel.tpl

@@ -476,38 +476,32 @@ $(document).ready(function() {
 </script>
 <div id="page-back">
 <div class="container-fluid">
-    <div class="row-fluid">
+    <div class="row">
 
-        <div class="span3 skill-options">
+        <div class="col-md-3 skill-options">
             <div class="skill-home">
                 <a class="btn btn-large btn-block btn-success" href="{{ _p.web }}user_portal.php">{{ "ReturnToCourseList"|get_lang }}</a>
             </div>
-            <!-- Legend -->
-            <div class="legend">
-                <h4 class="title-skill">{{ "Legend"|get_lang }}</h4>
-                <p><span class="label-warning">&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ "SkillsYouCanLearn"|get_lang }}</p>
-                <p><span class="label-important">&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ "SkillsSearchedFor"|get_lang }}</p>
-            </div>
-            <!-- End Legend -->
+
 
             <!-- ACCORDION -->
 
-            <div class="accordion" id="accordion2">
-            <div class="accordion-group">
-                <div class="accordion-heading">
-                    <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
-                        <h4 class="title-skill">{{ 'SkillsSearch' | get_lang }}</h4>
+            <div class="panel-group" id="accordion2">
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    <a data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
+                        {{ 'SkillsSearch' | get_lang }}
                     </a>
                 </div>
-                <div id="collapseOne" class="accordion-body collapse">
-                    <div class="accordion-inner">
+                <div id="collapseOne" class="panel-collapse collapse">
+                    <div class="panel-body">
                         <!-- SEARCH -->
                         <div class="search-skill">
                             <p>{{ 'EnterTheSkillNameToSearch' | get_lang }}</p>
                             <form id="skill_search" class="form-search">
                                 <select id="skill_id" name="skill_id" /></select>
                                 <div class="button-skill">
-                                    <a class="btn btn-block btn-large btn-danger load_root" rel="0" href="#">{{ "ViewSkillsWheel"|get_lang }}</a>
+                                    <a class="btn btn-default btn-block btn-large btn-danger load_root" rel="0" href="#">{{ "ViewSkillsWheel"|get_lang }}</a>
                                     <!-- <a id="clear_selection" class="btn">{{ "Clear"|get_lang }}</a> -->
                                 </div>
                                 <ul id="skill_holder" class="holder_simple border"></ul>
@@ -517,25 +511,25 @@ $(document).ready(function() {
                     </div>
                 </div>
             </div>
-            <div class="accordion-group">
-                <div class="accordion-heading">
-                    <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
-                        <h4 class="title-skill">{{ 'ProfileSearch'|get_lang }}</h4>
+            <div class="panel panel-default">
+                <div class="panel-heading">
+                    <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
+                        {{ 'ProfileSearch'|get_lang }}
                     </a>
                 </div>
-                <div id="collapseTwo" class="accordion-body collapse">
-                    <div class="accordion-inner">
+                <div id="collapseTwo" class="panel-collapse collapse">
+                    <div class="panel-body">
                         <!-- SEARCH PROFILE -->
                         <div class="search-profile-skill">
 
                             <p class="description">{{ 'WhatSkillsAreYouLookingFor'|get_lang }}</p>
                             <ul id="profile_search" class="holder holder_simple"></ul>
                             <form id="search_profile_form" class="form-search">
-                                <input class="btn btn-block" type="submit" value="{{ "SearchProfileMatches"|get_lang }}">
+                                <input class="btn btn-default btn-block" type="submit" value="{{ "SearchProfileMatches"|get_lang }}">
                             </form>
                             <p class="description">{{ 'IsThisWhatYouWereLookingFor'|get_lang }}</p>
                             <form id="save_profile_form_button" class="form-search">
-                                <input class="btn btn-block" type="submit" value="{{ "SaveThisSearch"|get_lang }}">
+                                <input class="btn btn-default btn-block" type="submit" value="{{ "SaveThisSearch"|get_lang }}">
                             </form>
                         </div>
                         <!-- END SEARCH PROFILE-->
@@ -543,14 +537,14 @@ $(document).ready(function() {
                     </div>
                 </div>
             </div>
-                <div class="accordion-group">
-                    <div class="accordion-heading">
-                        <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
-                            <h4 class="title-skill">{{ 'DisplayOptions' | get_lang }}</h4>
+                <div class="panel panel-default">
+                    <div class="panel-heading">
+                        <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
+                            {{ 'DisplayOptions' | get_lang }}
                         </a>
                     </div>
-                    <div id="collapseThree" class="accordion-body collapse">
-                        <div class="accordion-inner">
+                    <div id="collapseThree" class="panel-collapse collapse">
+                        <div class="panel-body">
                             <p>{{ 'ChooseABackgroundColor' | get_lang }}</p>
                             <ul>
                                 <li><a href="#" id="white">{{ 'White' | get_lang }}</a></li>
@@ -562,11 +556,24 @@ $(document).ready(function() {
                         </div>
                     </div>
                 </div>
+                <div class="panel panel-default">
+                    <div class="panel-heading">
+                        <a data-toggle="collapse" data-parent="#accordion2" href="#collapseFour">
+                            {{ "Legend"|get_lang }}
+                        </a>
+                    </div>
+                    <div id="collapseFour" class="panel-collapse collapse">
+                        <div class="panel-body">
+                            <p><span class="label-warning">&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ "SkillsYouCanLearn"|get_lang }}</p>
+                            <p><span class="label-important">&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ "SkillsSearchedFor"|get_lang }}</p>
+                        </div>
+                    </div>
+                </div>
             </div>
 
             <!-- END ACCORDEON -->
         </div>
-        <div id="wheel_container" class="span9">
+        <div id="wheel_container" class="col-md-9">
             <div id="skill_wheel">
                 <img src="">
             </div>
@@ -581,7 +588,7 @@ $(document).ready(function() {
             <div class="control-group">            
                 <label class="control-label" for="name">{{ 'Name' | get_lang }}</label>            
                 <div class="controls">
-                    <input type="text" name="name" id="name" class="span4" />             
+                    <input type="text" name="name" id="name" class="col-md-4" />             
                 </div>
             </div>
             
@@ -620,7 +627,7 @@ $(document).ready(function() {
             <div class="control-group">            
                 <label class="control-label" for="name">{{ 'Description'|get_lang }}</label>            
                 <div class="controls">
-                    <textarea name="description" id="description" class="span4" rows="7"></textarea>
+                    <textarea name="description" id="description" class="col-md-4" rows="7"></textarea>
                 </div>
             </div>  
         </fieldset>

+ 38 - 29
main/template/default/skill/skill_wheel_student.tpl

@@ -264,8 +264,8 @@ $(document).ready(function() {
 </script>
 <div id="page-back">
     <div class="container-fluid">
-        <div class="row-fluid">
-            <div class="span3 skill-options">
+        <div class="row">
+            <div class="col-md-3 skill-options">
                 <div class="skill-home">
                     <a class="btn btn-large btn-block btn-success" href="{{ _p.web }}user_portal.php">{{ "ReturnToCourseList"|get_lang }}</a>
                 </div>
@@ -292,25 +292,18 @@ $(document).ready(function() {
                         {% endfor %}
                     </div>
                 </div>
-                <!-- Legend -->
-                <div class="legend">
-                    <h4 class="title-skill">{{ "Legend"|get_lang }}</h4>
-                    <p><span class="label-info">&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ "SkillsYouAcquired"|get_lang }}</p>
-                    <p><span class="label-warning">&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ "SkillsYouCanLearn"|get_lang }}</p>
-                    <p><span class="label-important">&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ "SkillsSearchedFor"|get_lang }}</p>
-                </div>
-                <!-- End Legend -->
+
                 <!-- ACCORDION -->
                 <div class="accordion" id="accordion2">
                     {% if mySkills is not empty %}
-                        <div class="accordion-group">
+                        <div class="panel panel-default">
                             <div class="accordion-heading">
-                                <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
-                                    <h4 class="title-skill">{{ 'MySkills'|get_lang }}</h4>
+                                <a   data-toggle="collapse" data-parent="#accordion2" href="#collapseOne">
+                                    {{ 'MySkills'|get_lang }}
                                 </a>
                             </div>
-                            <div id="collapseOne" class="accordion-body collapse">
-                                <div class="accordion-inner">
+                            <div id="collapseOne" class="panel-collapse collapse">
+                                <div class="panel-body">
                                     <!-- MY SKILLS -->
                                     <div id="my_skills" class="skill-items">
                                         <ul class="skill-winner">
@@ -326,21 +319,21 @@ $(document).ready(function() {
                             </div>
                         </div>
                     {% endif %}
-                    <div class="accordion-group">
-                        <div class="accordion-heading">
-                            <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
-                                <h4 class="title-skill">{{ 'GetNewSkills' | get_lang }}</h4>
+                    <div class="panel panel-default">
+                        <div class="panel-heading">
+                            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseTwo">
+                                {{ 'GetNewSkills' | get_lang }}
                             </a>
                         </div>
-                        <div id="collapseTwo" class="accordion-body collapse">
-                            <div class="accordion-inner">
+                        <div id="collapseTwo" class="panel-collapse collapse">
+                            <div class="panel-body">
                                 <!-- SEARCH -->
                                 <div class="search-skill">
                                     <p>{{ 'EnterTheSkillNameToSearch' | get_lang }}</p>
                                     <form id="skill_search" class="form-search">
                                         <select id="skill_id" name="skill_id" /></select>
                                         <div class="button-skill">
-                                            <a class="btn btn-block btn-large btn-danger load_root" rel="0" href="#">{{ "ViewSkillsWheel"|get_lang }}</a>
+                                            <a class="btn btn-default btn-block btn-large btn-danger load_root" rel="0" href="#">{{ "ViewSkillsWheel"|get_lang }}</a>
                                             <!-- <a id="clear_selection" class="btn">{{ "Clear"|get_lang }}</a> -->
                                         </div>
                                         <ul id="skill_holder" class="holder_simple"></ul>
@@ -356,14 +349,14 @@ $(document).ready(function() {
                             </div>
                         </div>
                     </div>
-                    <div class="accordion-group">
-                        <div class="accordion-heading">
-                            <a class="accordion-toggle" data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
-                                <h4 class="title-skill">{{ 'DisplayOptions' | get_lang }}</h4>
+                    <div class="panel panel-default">
+                        <div class="panel-heading">
+                            <a data-toggle="collapse" data-parent="#accordion2" href="#collapseThree">
+                                {{ 'DisplayOptions' | get_lang }}
                             </a>
                         </div>
-                        <div id="collapseThree" class="accordion-body collapse">
-                            <div class="accordion-inner">
+                        <div id="collapseThree" class="panel-collapse collapse">
+                            <div class="panel-body">
                                 <p>{{ 'ChooseABackgroundColor' | get_lang }}</p>
                                 <ul>
                                     <li><a href="#" id="white">{{ 'White' | get_lang }}</a></li>
@@ -375,10 +368,26 @@ $(document).ready(function() {
                             </div>
                         </div>
                     </div>
+                    <div class="panel panel-default">
+                        <div class="panel-heading">
+                            <a   data-toggle="collapse" data-parent="#accordion2" href="#collapseFour">
+                                {{ "Legend"|get_lang }}
+                            </a>
+                        </div>
+                        <div id="collapseFour" class="panel-collapse collapse">
+                            <div class="panel-body">
+                                <p><span class="label-info">&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ "SkillsYouAcquired"|get_lang }}</p>
+                                <p><span class="label-warning">&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ "SkillsYouCanLearn"|get_lang }}</p>
+                                <p><span class="label-important">&nbsp;&nbsp;&nbsp;&nbsp;</span> {{ "SkillsSearchedFor"|get_lang }}</p>
+                            </div>
+                        </div>
+                    </div>
                 </div>
                 <!-- END ACCORDEON -->
+
+
             </div>
-            <div id="wheel_container" class="span9">
+            <div id="wheel_container" class="col-md-9">
                 <div id="skill_wheel">
                     <img src="">
                 </div>

+ 29 - 0
main/template/default/social/add_groups.tpl

@@ -0,0 +1,29 @@
+{% extends template ~ "/layout/layout_1_col.tpl" %}
+
+{% block content %}
+<div class="row">
+    <div class="col-md-3">
+        <div class="social-menu">
+            {{ social_avatar_block }}
+            {{ social_menu_block }}
+        </div>
+    </div>
+    <div id="wallMessages" class="col-md-5" style="min-height:1px">
+        <div class="row">
+            <div class="col-md-12">
+                <div id="message_ajax_reponse" class=""></div>
+            </div>
+        </div>
+        <div class="row">
+            {{ social_right_content}}
+        </div>
+        <div id="display_response_id" class="col-md-5"></div>
+        {{ socialAutoExtendLink }}
+    </div>
+    <div class="col-md-4">
+        <div class="row">
+            {{ socialRightInformation}}
+        </div>
+    </div>
+</div>
+{% endblock %}

+ 29 - 0
main/template/default/social/friends.tpl

@@ -0,0 +1,29 @@
+{% extends template ~ "/layout/layout_1_col.tpl" %}
+
+{% block content %}
+<div class="row">
+    <div class="col-md-3">
+        <div class="social-menu">
+            {{ social_avatar_block }}
+            {{ social_menu_block }}
+        </div>
+    </div>
+    <div id="wallMessages" class="col-md-5" style="min-height:1px">
+        <div class="row">
+            <div class="col-md-12">
+                <div id="message_ajax_reponse" class=""></div>
+            </div>
+        </div>
+        <div class="row">
+            {{ social_right_content}}
+        </div>
+        <div id="display_response_id" class="span5"></div>
+        {{ socialAutoExtendLink }}
+    </div>
+    <div class="col-md-4">
+        <div class="row">
+            {{ socialRightInformation}}
+        </div>
+    </div>
+</div>
+{% endblock %}

+ 29 - 0
main/template/default/social/groups.tpl

@@ -0,0 +1,29 @@
+{% extends template ~ "/layout/layout_1_col.tpl" %}
+
+{% block content %}
+<div class="row">
+    <div class="col-md-3">
+        <div class="social-menu">
+            {{ social_avatar_block }}
+            {{ social_menu_block }}
+        </div>
+    </div>
+    <div id="wallMessages" class="col-md-5" style="min-height:1px">
+        <div class="row">
+            <div class="col-md-12">
+                <div id="message_ajax_reponse" class=""></div>
+            </div>
+        </div>
+        <div class="row">
+            {{ social_right_content}}
+        </div>
+        <div id="display_response_id" class="col-md-5"></div>
+        {{ socialAutoExtendLink }}
+    </div>
+    <div class="col-md-4">
+        <div class="row">
+            {{ socialRightInformation}}
+        </div>
+    </div>
+</div>
+{% endblock %}

+ 24 - 0
main/template/default/social/home.tpl

@@ -0,0 +1,24 @@
+{% extends template ~ "/layout/layout_1_col.tpl" %}
+
+{% block content %}
+    <div class="row">
+        <div class="col-md-3">
+            {{ social_avatar_block }}
+
+            <div class="social-menu">
+            {{ social_menu_block }}
+            </div>
+        </div>
+        <div class="col-md-6">
+            {{ social_search_block }}
+            {{ social_skill_block }}
+            {{ social_group_block }}
+            <div id="message_ajax_reponse" class=""></div>
+            <div id="display_response_id"></div>
+            {{ socialAutoExtendLink }}
+        </div>
+        <div class="col-md-3">
+
+        </div>
+    </div>
+{% endblock %}

+ 15 - 0
main/template/default/social/inbox.tpl

@@ -0,0 +1,15 @@
+{% extends template ~ "/layout/layout_1_col.tpl" %}
+
+{% block content %}
+<div class="row">
+    <div class="col-md-3">
+        <div class="social-menu">
+            {{ social_avatar_block }}
+            {{ social_menu_block }}
+        </div>
+    </div>
+    <div class="col-md-9">
+        {{ social_right_content}}
+    </div>
+</div>
+{% endblock %}

+ 15 - 0
main/template/default/social/invitations.tpl

@@ -0,0 +1,15 @@
+{% extends template ~ "/layout/layout_1_col.tpl" %}
+
+{% block content %}
+<div class="row">
+    <div class="col-md-3">
+        <div class="social-menu">
+            {{ social_avatar_block }}
+            {{ social_menu_block }}
+        </div>
+    </div>
+    <div class="col-md-9">
+        {{ social_invitations_block }}
+    </div>
+</div>
+{% endblock %}

+ 24 - 0
main/template/default/social/myfiles.tpl

@@ -0,0 +1,24 @@
+{% extends template ~ "/layout/layout_1_col.tpl" %}
+
+{% block content %}
+<div class="row">
+    <div class="col-md-3">
+        <div class="social-menu">
+            {{ social_avatar_block }}
+            {{ social_menu_block }}
+        </div>
+    </div>
+    <div id="wallMessages" class="col-md-9" style="min-height:1px">
+        <div class="row">
+            <div class="col-md-12">
+                <div id="message_ajax_reponse" class=""></div>
+            </div>-
+        </div>
+        <div class="row">
+            {{ social_right_content}}
+        </div>
+        <div id="display_response_id" class="col-md-12"></div>
+        {{ socialAutoExtendLink }}
+    </div>
+</div>
+{% endblock %}

+ 36 - 0
main/template/default/social/profile.tpl

@@ -0,0 +1,36 @@
+{% extends template ~ "/layout/layout_1_col.tpl" %}
+
+{% block content %}
+<div class="row">
+    <div class="col-md-3">
+        {{ social_avatar_block }}
+        {{ social_extra_info_block }}
+        <div class="social-menu">
+            {{ social_menu_block }}
+        </div>
+    </div>
+    <div id="wallMessages" class="col-md-6">
+        {{ social_wall_block }}
+        {{ social_post_wall_block }}
+        {{ socialAutoExtendLink }}
+       <!-- <div class="row">
+            <div class="span5">
+                <div id="message_ajax_reponse" class=""></div>
+            </div>
+        </div> -->
+
+       <!--- <div id="display_response_id" class="span5"></div> -->
+
+    </div>
+    <div class="col-md-3">
+
+            {{ social_skill_block }}
+            {{ social_group_info_block }}
+            {{ social_course_block }}
+            {{ social_session_block }}
+            {{ social_rss_block }}
+            {{ socialRightInformation}}
+
+    </div>
+</div>
+{% endblock %}

+ 29 - 0
main/template/default/social/search.tpl

@@ -0,0 +1,29 @@
+{% extends template ~ "/layout/layout_1_col.tpl" %}
+
+{% block content %}
+<div class="row">
+    <div class="col-md-3">
+        <div class="social-menu">
+            {{ social_avatar_block }}
+            {{ social_menu_block }}
+        </div>
+    </div>
+    <div id="wallMessages" class="col-md-5" style="min-height:1px">
+        <div class="row">
+            <div class="col-md-12">
+                <div id="message_ajax_reponse" class=""></div>
+            </div>
+        </div>
+        <div class="row">
+            {{ social_right_content}}
+        </div>
+        <div id="display_response_id" class="col-md-12"></div>
+        {{ socialAutoExtendLink }}
+    </div>
+    <div class="col-md-4">
+        <div class="row">
+            {{ socialRightInformation}}
+        </div>
+    </div>
+</div>
+{% endblock %}

+ 12 - 14
plugin/dashboard/block_course/block_course.class.php

@@ -62,24 +62,22 @@ class BlockCourse extends Block
         $data = array();
         $content = $this->get_content_html();
         $html = '
-		            <li class="widget color-green" id="intro">
-		                <div class="widget-head">
-		                    <h3>' . get_lang('CoursesInformation') . '</h3>
-		                    <div class="widget-actions"><a onclick="javascript:if(!confirm(\'' . addslashes(
+		            <div class="panel panel-default" id="intro">
+		                <div class="panel-heading">' . get_lang('CoursesInformation') . '
+		                    <div class="pull-right"><a class="btn btn-danger btn-xs" onclick="javascript:if(!confirm(\'' . addslashes(
                 api_htmlentities(
                     get_lang('ConfirmYourChoice'),
                     ENT_QUOTES,
                     $charset
                 )
-            ) . '\')) return false;" href="index.php?action=disable_block&path=' . $this->path . '">' . Display::return_icon(
-                'close.gif',
-                get_lang('Close')
-            ) . '</a></div>
+            ) . '\')) return false;" href="index.php?action=disable_block&path=' . $this->path . '">
+                <i class="fa fa-times"></i>
+                </a></div>
 		                </div>
-		                <div class="widget-content">
+		                <div class="panel-body">
 		                   ' . $content . '
 		                </div>
-		            </li>
+		            </div>
 				';
         $data['column'] = $column;
         $data['content_html'] = $html;
@@ -94,10 +92,10 @@ class BlockCourse extends Block
     public function get_content_html()
     {
         $course_data = $this->get_course_information_data();
-        $content = '<div style="margin:10px;">';
-        $content .= '<h3><font color="#000">' . get_lang(
+        //$content = '<div style="margin:10px;">';
+        $content = '<h4>' . get_lang(
                 'YourCourseList'
-            ) . '</font></h3>';
+            ) . '</h4>';
         $data_table = null;
         if (!empty($course_data)) {
             $data_table .= '<table class="data_table" width:"95%">';
@@ -132,7 +130,7 @@ class BlockCourse extends Block
         if (!empty($course_data)) {
             $content .= '<div style="text-align:right;margin-top:10px;"><a href="' . api_get_path(WEB_CODE_PATH) . 'mySpace/course.php?follow">' . get_lang('SeeMore') . '</a></div>';
         }
-        $content .= '</div>';
+        //$content .= '</div>';
 
         return $content;
     }

+ 12 - 14
plugin/dashboard/block_daily/block_daily.class.php

@@ -71,24 +71,22 @@ class BlockDaily extends Block
         $column = 2;
         $data = array();
         $content = $this->get_content_html();
-        $html = '<li class="widget color-green" id="intro">
-		                <div class="widget-head">
-		                    <h3>' . get_lang('GradebookAndAttendances') . '</h3>
-		                    <div class="widget-actions"><a onclick="javascript:if(!confirm(\'' . addslashes(
+        $html = '<div class="panel panel-default" id="intro">
+		                <div class="panel-heading">' . get_lang('GradebookAndAttendances') . '
+		                    <div class="pull-right"><a class="btn btn-danger btn-xs" onclick="javascript:if(!confirm(\'' . addslashes(
                 api_htmlentities(
                     get_lang('ConfirmYourChoice'),
                     ENT_QUOTES,
                     $charset
                 )
-            ) . '\')) return false;" href="index.php?action=disable_block&path=' . $this->path . '">' . Display::return_icon(
-                'close.gif',
-                get_lang('Close')
-            ) . '</a></div>
+            ) . '\')) return false;" href="index.php?action=disable_block&path=' . $this->path . '">
+                    <i class="fa fa-times"></i>
+                        </a></div>
 		                </div>
-		                <div class="widget-content">
+		                <div class="panel-body">
 		                   ' . $content . '
 		                </div>
-		            </li>
+		            </div>
 				';
         $data['column'] = $column;
         $data['content_html'] = $html;
@@ -103,10 +101,10 @@ class BlockDaily extends Block
     public function get_content_html()
     {
         $course_data = $this->get_course_information_data();
-        $content = '<div style="margin:10px;">';
-        $content .= '<h3><font color="#000">' . get_lang(
+        //$content = '<div style="margin:10px;">';
+        $content = '<h4>' . get_lang(
                 'YourCourseList'
-            ) . '</font></h3>';
+            ) . '</h4>';
         $data_table = null;
         if (!empty($course_data)) {
             $data_table .= '<table class="data_table" width:"95%">';
@@ -142,7 +140,7 @@ class BlockDaily extends Block
             $content .= '<div style="text-align:right;margin-top:10px;">
             <a href="' . api_get_path(WEB_CODE_PATH) . 'mySpace/course.php">' . get_lang('SeeMore') . '</a></div>';
         }
-        $content .= '</div>';
+        //$content .= '</div>';
         return $content;
     }
 

+ 8 - 6
plugin/dashboard/block_evaluation_graph/block_evaluation_graph.class.php

@@ -75,12 +75,14 @@ class BlockEvaluationGraph extends Block
 		$evaluations_base_courses_graph         = $this->get_evaluations_base_courses_graph();
 		$evaluations_courses_in_sessions_graph  = $this->get_evaluations_courses_in_sessions_graph();
 
-		$html = '<li class="widget color-orange" id="intro">
-                    <div class="widget-head">
-                        <h3>'.get_lang('EvaluationsGraph').'</h3>
-                        <div class="widget-actions"><a onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;" href="index.php?action=disable_block&path='.$this->path.'">'.Display::return_icon('close.gif',get_lang('Close')).'</a></div>
+		$html = '<div class="panel panel-default" id="intro">
+                    <div class="panel-heading">
+                        '.get_lang('EvaluationsGraph').'
+                        <div class="pull-right"><a class="btn btn-danger btn-xs" onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;" href="index.php?action=disable_block&path='.$this->path.'">
+                        <i class="fa fa-times"></i>
+                        </a></div>
                     </div>
-                    <div class="widget-content" align="center">';
+                    <div class="panel-body">';
                         if (empty($evaluations_base_courses_graph) && empty($evaluations_courses_in_sessions_graph)) {
                             $html .= '<p>'.api_convert_encoding(get_lang('GraphicNotAvailable'),'UTF-8').'</p>';
                         } else {
@@ -104,7 +106,7 @@ class BlockEvaluationGraph extends Block
                             }
                         }
 		$html .= '</div>
-			     </li>';
+			     </div>';
 
     	$data['column'] = $column;
     	$data['content_html'] = $html;

+ 11 - 10
plugin/dashboard/block_global_info/block_global_info.class.php

@@ -67,15 +67,16 @@ class BlockGlobalInfo extends Block
     	$data   = array();
         $content = $this->get_content_html();
     	$html = '
-    	            <li class="widget color-red" id="intro">
-    	                <div class="widget-head">
-    	                    <h3>'.get_lang('GlobalPlatformInformation').'</h3>
-    	                    <div class="widget-actions"><a onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;" href="index.php?action=disable_block&path='.$this->path.'">'.Display::return_icon('close.gif',get_lang('Close')).'</a></div>
+    	            <div class="panel panel-default" id="intro">
+    	                <div class="panel-heading">'.get_lang('GlobalPlatformInformation').'
+    	                    <div class="pull-right"><a class="btn btn-danger btn-xs" onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;" href="index.php?action=disable_block&path='.$this->path.'">
+    	                    <i class="fa fa-times"></i>
+    	                    </a></div>
     	                </div>
-    	                <div class="widget-content">
+    	                <div class="panel-body">
     	                   '.$content.'
     	                </div>
-    	            </li>
+    	            </div>
     			';
     	$data['column'] = $column;
     	$data['content_html'] = $html;
@@ -90,11 +91,11 @@ class BlockGlobalInfo extends Block
      public function get_content_html()
      {
          $global_data = $this->get_global_information_data();
-         $content = '<div style="margin:10px;">';
-         $content .= '<h3><font color="#000">'.get_lang('GlobalPlatformInformation').'</font></h3>';
+         //$content = '<div style="margin:10px;">';
+         $content = '<h4>'.get_lang('GlobalPlatformInformation').'</h4>';
          $data_table = null;
          if (!empty($global_data)) {
-             $data_table = '<table class="data_table" width:"95%">';
+             $data_table = '<table class="table table-bordered" width:"95%">';
              $i = 1;
              foreach ($global_data as $data) {
                  if ($i%2 == 0) {
@@ -114,7 +115,7 @@ class BlockGlobalInfo extends Block
              $data_table .= get_lang('ThereIsNoInformationAboutThePlatform');
          }
          $content .= $data_table;
-         $content .= '</div>';
+         //$content .= '</div>';
 
          return $content;
     }

+ 11 - 9
plugin/dashboard/block_session/block_session.class.php

@@ -63,15 +63,17 @@ class BlockSession extends Block
 		$content = $this->get_content_html();
 
 		$content_html = '
-			            <li class="widget color-red" id="intro">
-			                <div class="widget-head">
-			                    <h3>'.get_lang('SessionsInformation').'</h3>
-			                    <div class="widget-actions"><a onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;" href="index.php?action=disable_block&path='.$this->path.'">'.Display::return_icon('close.gif',get_lang('Close')).'</a></div>
+			            <div class="panel panel-default" id="intro">
+			                <div class="panel-heading">
+			                    '.get_lang('SessionsInformation').'
+			                    <div class="pull-right"><a class="btn btn-danger btn-xs" onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;" href="index.php?action=disable_block&path='.$this->path.'">
+			                    <i class="fa fa-times"></i>
+			                    </a></div>
 			                </div>
-			                <div class="widget-content">
+			                <div class="panel-body">
 							'.$content.'
 			                </div>
-			            </li>
+			            </div>
 				';
 
     	$data['column'] = $column;
@@ -90,8 +92,8 @@ class BlockSession extends Block
  		$content = '';
 		$sessions = $this->sessions;
 
-		$content = '<div style="margin:10px;">';
-		$content .= '<h3><font color="#000">'.get_lang('YourSessionsList').'</font></h3>';
+		//$content = '<div style="margin:10px;">';
+		$content .= '<h4>'.get_lang('YourSessionsList').'</h4>';
 
 		if (count($sessions) > 0) {
 			$sessions_table = '<table class="data_table" width:"95%">';
@@ -134,7 +136,7 @@ class BlockSession extends Block
 			$content .= '<div style="text-align:right;margin-top:10px;"><a href="'.api_get_path(WEB_CODE_PATH).'mySpace/session.php">'.get_lang('SeeMore').'</a></div>';
 		}
 
-		$content .= '</div>';
+		//$content .= '</div>';
 
  		return $content;
  	}

+ 14 - 13
plugin/dashboard/block_student/block_student.class.php

@@ -58,17 +58,18 @@ class BlockStudent extends Block
     	$data   = array();
 
         $student_content_html = $this->get_students_content_html_for_drh();
-		$html = '<li class="widget color-blue" id="intro">
-                    <div class="widget-head">
-                        <h3>'.get_lang('StudentsInformationsList').'</h3>
-                        <div class="widget-actions"><a onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;" href="index.php?action=disable_block&path='.$this->path.'">'.
-                            Display::return_icon('close.gif',get_lang('Close')).'</a>
+		$html = '<div class="panel panel-default" id="intro">
+                    <div class="panel-heading">
+                        '.get_lang('StudentsInformationsList').'
+                        <div class="pull-right"><a class="btn btn-danger btn-xs" onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;" href="index.php?action=disable_block&path='.$this->path.'">
+                            <i class="fa fa-times"></i>
+                        </a>
                         </div>
                     </div>
-                    <div class="widget-content">
+                    <div class="panel-body">
                         '.$student_content_html.'
                     </div>
-                    </li>';
+                    </div>';
     	$data['column'] = $column;
     	$data['content_html'] = $html;
     	return $data;
@@ -81,8 +82,8 @@ class BlockStudent extends Block
     public function get_students_content_html_for_platform_admin()
     {
  		$students = $this->students;
- 		$content = '<div style="margin:10px;">';
- 		$content .= '<h3><font color="#000">'.get_lang('YourStudents').'</font></h3>';
+ 		//$content = '<div style="margin:10px;">';
+ 		$content = '<h4>'.get_lang('YourStudents').'</h4>';
         $students_table = null;
  		if (count($students) > 0) {
 	 		$students_table .= '<table class="data_table">';
@@ -144,7 +145,7 @@ class BlockStudent extends Block
  		if (count($students) > 0) {
 			$content .= '<div style="text-align:right;margin-top:10px;"><a href="'.api_get_path(WEB_CODE_PATH).'mySpace/index.php?view=admin&display=useroverview">'.get_lang('SeeMore').'</a></div>';
 		}
-		$content .= '</div>';
+		//$content .= '</div>';
 
  		return $content;
  	}
@@ -152,8 +153,8 @@ class BlockStudent extends Block
   	public function get_students_content_html_for_drh() {
   		$attendance = new Attendance();
   		$students = $this->students;
- 		$content = '<div style="margin:5px;">';
- 		$content .= '<h3><font color="#000">'.get_lang('YourStudents').'</font></h3>';
+ 		//$content = '<div style="margin:5px;">';
+ 		$content = '<h4>'.get_lang('YourStudents').'</h4>';
         $students_table = null;
  		if (count($students) > 0) {
 	 		$students_table .= '<table class="data_table">';
@@ -225,7 +226,7 @@ class BlockStudent extends Block
                             <a href="'.api_get_path(WEB_CODE_PATH).'mySpace/index.php?view=admin&display=yourstudents">'.get_lang('SeeMore').'</a>
                          </div>';
 		}
-		$content .= '</div>';
+		//$content .= '</div>';
 
   		return $content;
   	}

+ 8 - 6
plugin/dashboard/block_student_graph/block_student_graph.class.php

@@ -72,16 +72,18 @@ class BlockStudentGraph extends Block
     	$data   = array();
 		$students_attendance_graph = $this->get_students_attendance_graph();
 
-		$html = '<li class="widget color-orange" id="intro">
-	                <div class="widget-head">
-	                    <h3>'.get_lang('StudentsInformationsGraph').'</h3>
-	                    <div class="widget-actions"><a onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;" href="index.php?action=disable_block&path='.$this->path.'">'.Display::return_icon('close.gif',get_lang('Close')).'</a></div>
+		$html = '<div class="panel panel-default" id="intro">
+	                <div class="panel-heading">
+	                    '.get_lang('StudentsInformationsGraph').'
+	                    <div class="pull-right"><a class="btn btn-danger btn-xs" onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;" href="index.php?action=disable_block&path='.$this->path.'">
+	                    <i class="fa fa-times"></i>
+	                    </a></div>
 	                </div>
-	                <div class="widget-content" align="center">
+	                <div class="panel-body" align="center">
 	                	<div style="padding:10px;"><strong>'.get_lang('AttendancesFaults').'</strong></div>
 						'.$students_attendance_graph.'
 	                </div>
-	            </li>';
+	            </div>';
     	$data['column'] = $column;
     	$data['content_html'] = $html;
     	return $data;

+ 14 - 12
plugin/dashboard/block_teacher/block_teacher.class.php

@@ -66,15 +66,17 @@ class BlockTeacher extends Block
 		$teacher_content_html = $this->get_teachers_content_html_for_drh();
 
 		$html = '
-                <li class="widget color-blue" id="intro">
-                    <div class="widget-head">
-                        <h3>'.get_lang('TeachersInformationsList').'</h3>
-                        <div class="widget-actions"><a onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;" href="index.php?action=disable_block&path='.$this->path.'">'.Display::return_icon('close.gif',get_lang('Close')).'</a></div>
+                <div class="panel panel-default" id="intro">
+                    <div class="panel-heading">
+                        '.get_lang('TeachersInformationsList').'
+                        <div class="pull-right"><a class="btn btn-danger btn-xs" onclick="javascript:if(!confirm(\''.addslashes(api_htmlentities(get_lang('ConfirmYourChoice'),ENT_QUOTES,$charset)).'\')) return false;" href="index.php?action=disable_block&path='.$this->path.'">
+                        <i class="fa fa-times"></i>
+                        </a></div>
                     </div>
-                    <div class="widget-content">
+                    <div class="panel-body">
                         '.$teacher_content_html.'
                     </div>
-                </li>
+                </div>
 				';
 
     	$data['column'] = $column;
@@ -91,8 +93,8 @@ class BlockTeacher extends Block
     public function get_teachers_content_html_for_platform_admin()
     {
 	 	$teachers = $this->teachers;
-		$content = '<div style="margin:10px;">';
-		$content .= '<h3><font color="#000">'.get_lang('YourTeachers').'</font></h3>';
+		//$content = '<div style="margin:10px;">';
+		$content = '<h4>'.get_lang('YourTeachers').'</h4>';
 
         $teachers_table = null;
 		if (count($teachers) > 0) {
@@ -140,7 +142,7 @@ class BlockTeacher extends Block
 			<a href="'.api_get_path(WEB_CODE_PATH).'mySpace/index.php?view=admin">'.get_lang('SeeMore').'</a></div>';
 		}
 
-		$content .= '</div>';
+		//$content .= '</div>';
 
  		return $content;
 	}
@@ -148,8 +150,8 @@ class BlockTeacher extends Block
 	public function get_teachers_content_html_for_drh()
     {
   		$teachers = $this->teachers;
- 		$content = '<div style="margin:10px;">';
- 		$content .= '<h3><font color="#000">'.get_lang('YourTeachers').'</font></h3>';
+ 		//$content = '<div style="margin:10px;">';
+ 		$content = '<h4>'.get_lang('YourTeachers').'</h4>';
         $teachers_table = null;
  		if (count($teachers) > 0) {
  			$a_last_week = get_last_week();
@@ -191,7 +193,7 @@ class BlockTeacher extends Block
  		if (count($teachers) > 0) {
 			$content .= '<div style="text-align:right;margin-top:10px;"><a href="'.api_get_path(WEB_CODE_PATH).'mySpace/teachers.php">'.get_lang('SeeMore').'</a></div>';
 		}
-		$content .= '</div>';
+		//$content .= '</div>';
 
   		return $content;
   	}

Some files were not shown because too many files changed in this diff