Răsfoiți Sursa

add tpl and icon rss,tpl social update profile user BT#9082

aragonc 10 ani în urmă
părinte
comite
d15a617cd9

+ 119 - 0
main/css/base.css

@@ -5673,6 +5673,124 @@ i.size-32.icon-new-work{
 {
   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 #BCE8F1;
+}
+.top-mediapost .msg-content p,
+.sub-mediapost .rep-post .msg-content p{
+  border-top:1px solid #BCE8F1;
+  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;
+}
 /* deleted bootstrap 3 update */
 
 .panel {
@@ -5682,6 +5800,7 @@ i.size-32.icon-new-work{
   border-radius: 4px;
   -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
   box-shadow: 0 1px 1px rgba(0, 0, 0, .05);
+  clear: both;
 }
 .panel-body {
   padding: 15px;

BIN
main/img/icons/22/social_rss.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(

+ 44 - 66
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>';
@@ -762,8 +763,9 @@ class SocialManager extends UserManager
         }
 
         if ($show == 'shared_profile') {
-            $html .= '<div class="well sidebar-nav">
-                    <ul class="nav nav-list">';
+            $html .= '<div class="panel panel-info sidebar-nav">';
+            $html .= '<div class="panel-body">';
+            $html .=  '<ul class="nav nav-list">';
 
             // My own profile
             if ($show_full_profile && $user_id == intval(api_get_user_id())) {
@@ -835,7 +837,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);
@@ -1285,8 +1287,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
@@ -1303,50 +1304,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 />
+                '" name="social_wall_new_msg" rows="1" style="width:80%;" ></textarea>
                 <input type="submit" name="social_wall_new_msg_submit"
-                value="'.get_lang('Post').'" class="float right btn" />
+                value="'.get_lang('Post').'" class="pull-right btn" />
                 </form>';
         $formattedList .= '</div>';
         return $formattedList;
@@ -1442,40 +1431,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
 

+ 41 - 32
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
@@ -118,17 +119,18 @@ $social_avatar_block .= '<div class="edit-profile">
                          </div>';
 $social_avatar_block .= '</div>';
 
+//Block Menu
 $social_menu_block = SocialManager::show_social_menu('home');
 
 //Search box
 $social_search_block = '<div class="panel panel-info social-search">';
-$social_search_block .= '<div class="panel-heading">Busqueda de usuarios o grupos</div>';
+$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>';
 
-//Skill
+//BLock Social Skill
 if (api_get_setting('allow_skills_tool') == 'true') {
     $social_skill_block = '<div class="panel panel-info social-skill">';
     $social_skill_block .= '<div class="panel-heading">' . get_lang('Skills');
@@ -177,19 +179,25 @@ if (api_get_setting('allow_skills_tool') == 'true') {
                 );
             }
 
-           $lis .= Display::tag(
+            $lis .= Display::tag(
                 'li',
-                $badgeImage.
+                $badgeImage .
                 '<div class="badges-name">' . $skill['name'] . '</div>'
             );
         }
-        $social_skill_block.= '<div class="panel-body">';
+        $social_skill_block .= '<div class="panel-body">';
         $social_skill_block .= Display::tag('ul', $lis, array('class' => 'list-badges'));
-        $social_skill_block.= '</div>';
+        $social_skill_block .= '</div>';
+    }else{
+
+        $social_skill_block .= '<div class="panel-body">';
+        $social_skill_block .= '<p>'. get_lang("SinCompetencias");
+        $social_skill_block .=  Display::url(get_lang('SkillsWheel'),api_get_path(WEB_CODE_PATH) . 'social/skills_wheel.php').'</p>';
+        $social_skill_block .= '</div>';
     }
-    //Colocar los botones anteriores
+    $social_skill_block.='</div>';
 }
-$social_skill_block.='</div>';
+
 
 
 //Group box by age
@@ -201,7 +209,6 @@ $results = GroupPortalManager::get_groups_by_age(1, false);
 
 $groups_newest = array();
 
-
 if (!empty($results)) {
     foreach ($results as $result) {
         $id = $result['id'];
@@ -227,21 +234,17 @@ if (!empty($results)) {
         );
 
         $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'],$group_info.$group_actions
-
         );
-
     }
 }
-
+//Top popular
 $results = GroupPortalManager::get_groups_by_popularity(1, false);
 
 $groups_pop = array();
@@ -260,28 +263,24 @@ 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
     );
 }
+
 $list=count($groups_newest);
 
 if ($list > 0) {
@@ -296,10 +295,20 @@ if ($list > 0) {
     }
     $social_group_block.= "</div>";
 }
-
-if (count($groups_pop) > 0) {
+$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>';
-    $social_group_block .= Display::return_sortable_grid(
+
+    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>";
+    }
+
+    /*$social_group_block .= Display::return_sortable_grid(
         'home_group',
         array(),
         $groups_pop,
@@ -307,9 +316,9 @@ if (count($groups_pop) > 0) {
         array(),
         false,
         array(true, true, true, true, true)
-    );
+    );*/
 }
-$social_group_block .= '</div></div>';
+$social_group_block .= '</div>';
 
 $tpl = new Template(get_lang('SocialNetwork'));
 $tpl->assign('social_avatar_block', $social_avatar_block);

+ 179 - 41
main/social/profile.php

@@ -366,8 +366,43 @@ 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-info social-avatar">';
+$social_avatar_block .= SocialManager::show_social_avatar_block('home');
+$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';
+
+        $subSSOClass = 'sso' . $subSSOClass;
+        $objSSO = new $subSSOClass();
+    } else {
+        $objSSO = new sso();
+    }
 
-$social_avatar_block = SocialManager::show_social_avatar_block('shared_profile', null, $user_id);
+    $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 Block Menu
 $social_menu_block = SocialManager::show_social_menu('shared_profile', null, $user_id, $show_full_profile);
 
 //Setting some session info
@@ -385,6 +420,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 +459,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-info 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("NingunaPublicacion").'</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 +485,23 @@ $socialAutoExtendLink = Display::url(
     )
 );
 
-$socialRightInformation =  SocialManager::social_wrapper_div($personal_info, 4);
+/* $socialRightInformation =  SocialManager::social_wrapper_div($personal_info, 4); */
 
 //$social_right_content .= SocialManager::social_wrapper_div($wallSocial, 5);
 
 
 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-info">';
+        $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 +574,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 +639,7 @@ if ($show_full_profile) {
         }
     }
 
+
     if (count($grid_my_groups) > 0) {
         $my_groups = '';
         $count_groups = 0;
@@ -594,7 +648,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-info">';
+        $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 +664,29 @@ 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>';
+        //Block My Groups
+        $social_group_info_block .=  $my_groups;
     }
 
     $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-info">';
+        $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 +698,103 @@ if ($show_full_profile) {
                 $i++;
             }
         }
-        $my_courses .=  '</div>';        //social-content-training
-        $socialRightInformation .=  SocialManager::social_wrapper_div($my_courses, 4);
+        $my_courses .=  '</div></div>';
+
+        //Block Social Course
+
+        $social_course_block .=  $my_courses;
     }
 
+    //Block Social Sessions
+
+    $sessions  = '<div class="panel panel-info">';
+    $sessions .= '<div class="panel-heading">'.api_ucfirst(get_lang('MySessions')).'</div>';
+    $sessions .= '<div class="panel-body">'.$htmlSessionList.'</div>';
+    $sessions .= '</div>';
+    $social_session_block .= $sessions;
 
-    $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 User Feeds
 
-    // 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-info 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') {
+        $social_skill_block = '<div class="panel panel-info 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>';
+
+        $skill = new Skill();
+
+        $ranking = $skill->get_user_skill_ranking(api_get_user_id());
+        $skills = $skill->get_user_skills(api_get_user_id(), true);
+
+        $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(
+                        'award_red.png',
+                        $skill['name'],
+                        array('title' => $skill['name'])
+                    );
+                }
+
+                $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("SinCompetencias");
+            $social_skill_block .=  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 +911,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('social/home.tpl');
+$social_layout = $tpl->get_template('social/profile.tpl');
 $tpl->display($social_layout);
 
 /*
@@ -853,16 +989,18 @@ function listMyFriends($user_id, $link_shared, $show_full_profile)
 
 function wallSocialAddPost()
 {
-    $html = '';
-    $html .= '<h3>' . get_lang('SocialWall') . '</h3>';
+    $html  = '<div class="panel panel-info 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%;">
+        <input type="submit" name="social_wall_new_msg_main_submit" value="'.get_lang('Post').'" class="pull-right btn btn-success" />
     </form>';
+    $html.= '</div></div>';
 
     return $html;
 }
@@ -876,7 +1014,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;

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

@@ -19,7 +19,6 @@
         </div>
         <div class="span3">
 
-            <div id="wallMessages" class="span5" style="min-height:1px"></div>
         </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="span3">
+        {{ social_avatar_block }}
+        {{ social_extra_info_block }}
+        <div class="social-menu">
+            {{ social_menu_block }}
+        </div>
+    </div>
+    <div id="wallMessages" class="span6">
+        {{ 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="span3">
+
+            {{ social_skill_block }}
+            {{ social_group_info_block }}
+            {{ social_course_block }}
+            {{ social_session_block }}
+            {{ social_rss_block }}
+            {{ socialRightInformation}}
+
+    </div>
+</div>
+{% endblock %}