* @author Isaac Flores Paz ============================================================================= */ $language_file = array('registration','messages','userInfo','admin'); $cidReset = true; require '../inc/global.inc.php'; require_once (api_get_path(LIBRARY_PATH).'usermanager.lib.php'); require_once (api_get_path(LIBRARY_PATH).'social.lib.php'); /* define(SOCIALUNKNOW,1); define(SOCIALPARENT,2); define(SOCIALFRIEND,3); define(SOCIALGOODFRIEND,4); define(SOCIALENEMY,5); define(SOCIALDELETED,6); */ $user_id = api_get_user_id(); $show_full_profile = true; //I'm your friend? I can see your profile? if (isset($_GET['u'])) { $user_id = (int) Database::escape_string($_GET['u']); // It's me! if (api_get_user_id() != $user_id) { $user_info = UserManager::get_user_info_by_id($user_id); $show_full_profile = false; if ($user_info==false) { // user does no exist !! api_not_allowed(); } else { //checking the relationship between me and my friend $my_status= UserFriend::get_relation_between_contacts(api_get_user_id(), $user_id); if (in_array($my_status, array(SOCIALPARENT, SOCIALFRIEND, SOCIALGOODFRIEND))) { $show_full_profile = true; } //checking the relationship between my friend and me $my_friend_status = UserFriend::get_relation_between_contacts($user_id, api_get_user_id()); if (in_array($my_friend_status, array(SOCIALPARENT, SOCIALFRIEND, SOCIALGOODFRIEND))) { $show_full_profile = true; } else { // im probably not a good friend $show_full_profile = false; } } } else { $user_info = UserManager::get_user_info_by_id($user_id); } } else { $user_info = UserManager::get_user_info_by_id($user_id); } require_once (api_get_path(SYS_CODE_PATH).'calendar/myagenda.inc.php'); require_once (api_get_path(SYS_CODE_PATH).'announcements/announcements.inc.php'); require_once (api_get_path(LIBRARY_PATH).'course.lib.php'); require_once (api_get_path(LIBRARY_PATH).'formvalidator/FormValidator.class.php'); api_block_anonymous_users(); $htmlHeadXtra[] = ''; //jQuery $htmlHeadXtra[] = ''; //jQuery corner $htmlHeadXtra[] = ''; $htmlHeadXtra[] = ''; $htmlHeadXtra[] = ' '; $htmlHeadXtra[] = ''; if (isset($_GET['shared'])) { $my_link='../social/index.php'; $link_shared='shared='.Security::remove_XSS($_GET['shared']); } else { $my_link='../auth/profile.php'; $link_shared=''; } $interbreadcrumb[]= array ('url' =>$my_link,'name' => get_lang('ModifyProfile') ); $interbreadcrumb[]= array ( 'url' => '../social/profile.php?'.$link_shared.'#remote-tab-1', 'name' => get_lang('ViewSharedProfile') ); if (isset($_GET['u'])) { $info_user=api_get_user_info(Security::remove_XSS($_GET['u'])); $interbreadcrumb[]= array ( 'url' => '#', 'name' => $info_user['firstName'].' '.$info_user['lastName'] ); } if (isset($_GET['u'])) { $param_user='u='.Security::remove_XSS($_GET['u']); }else { $info_user=api_get_user_info(api_get_user_id()); $param_user=''; } $_SESSION['social_user_id'] = $user_id; function get_logged_user_course_html($my_course, $count) { global $nosession; if (api_get_setting('use_session_mode')=='true' && !$nosession) { global $now, $date_start, $date_end; } //initialise $result = ''; // Table definitions $main_user_table = Database :: get_main_table(TABLE_MAIN_USER); $tbl_session = Database :: get_main_table(TABLE_MAIN_SESSION); $course_database = $my_course['db']; $course_tool_table = Database :: get_course_table(TABLE_TOOL_LIST, $course_database); $tool_edit_table = Database :: get_course_table(TABLE_ITEM_PROPERTY, $course_database); $course_group_user_table = Database :: get_course_table(TOOL_USER, $course_database); $user_id = api_get_user_id(); $course_system_code = $my_course['k']; $course_visual_code = $my_course['c']; $course_title = $my_course['i']; $course_directory = $my_course['d']; $course_teacher = $my_course['t']; $course_teacher_email = isset($my_course['email'])?$my_course['email']:''; $course_info = Database :: get_course_info($course_system_code); //error_log(print_r($course_info,true)); $course_access_settings = CourseManager :: get_access_settings($course_system_code); $course_visibility = $course_access_settings['visibility']; $user_in_course_status = CourseManager :: get_user_in_course_status(api_get_user_id(), $course_system_code); //function logic - act on the data $is_virtual_course = CourseManager :: is_virtual_course_from_system_code($my_course['k']); if ($is_virtual_course) { // If the current user is also subscribed in the real course to which this // virtual course is linked, we don't need to display the virtual course entry in // the course list - it is combined with the real course entry. $target_course_code = CourseManager :: get_target_of_linked_course($course_system_code); $is_subscribed_in_target_course = CourseManager :: is_user_subscribed_in_course(api_get_user_id(), $target_course_code); if ($is_subscribed_in_target_course) { return; //do not display this course entry } } $has_virtual_courses = CourseManager :: has_virtual_courses_from_code($course_system_code, api_get_user_id()); if ($has_virtual_courses) { $return_result = CourseManager :: determine_course_title_from_course_info(api_get_user_id(), $course_info); $course_display_title = $return_result['title']; $course_display_code = $return_result['code']; } else { $course_display_title = $course_title; $course_display_code = $course_visual_code; } $s_course_status=$my_course['s']; $s_htlm_status_icon=""; if ($s_course_status==1) { $s_htlm_status_icon=Display::return_icon('teachers.gif', get_lang('Teacher')); } if ($s_course_status==2) { $s_htlm_status_icon=Display::return_icon('coachs.gif', get_lang('GeneralCoach')); } if ($s_course_status==5) { $s_htlm_status_icon=Display::return_icon('students.gif', get_lang('Student')); } //display course entry $result .= '
'; //$result .= ''; $result .= '

'; $result .= $s_htlm_status_icon; //show a hyperlink to the course, unless the course is closed and user is not course admin if ($course_visibility != COURSE_VISIBILITY_CLOSED || $user_in_course_status == COURSEMANAGER) { $result .= ' '.$course_title.'

'; /* if(api_get_setting('use_session_mode')=='true' && !$nosession) { if(empty($my_course['id_session'])) { $my_course['id_session'] = 0; } if($user_in_course_status == COURSEMANAGER || ($date_start <= $now && $date_end >= $now) || $date_start=='0000-00-00') { //$result .= ''.$course_display_title.''; $result .= ''.$course_display_title.''; } } else { //$result .= ''.$course_display_title.''; $result .= ''.$course_display_title.''; }*/ } else { $result .= $course_display_title." "." ".get_lang('CourseClosed').""; } // show the course_code and teacher if chosen to display this // we dont need this! /* if (get_setting('display_coursecode_in_courselist') == 'true' OR get_setting('display_teacher_in_courselist') == 'true') { $result .= '
'; } if (get_setting('display_coursecode_in_courselist') == 'true') { $result .= $course_display_code; } if (get_setting('display_coursecode_in_courselist') == 'true' AND get_setting('display_teacher_in_courselist') == 'true') { $result .= ' – '; } if (get_setting('display_teacher_in_courselist') == 'true') { $result .= $course_teacher; if(!empty($course_teacher_email)) { $result .= ' ('.$course_teacher_email.')'; } } */ $current_course_settings = CourseManager :: get_access_settings($my_course['k']); // display the what's new icons // $result .= show_notification($my_course); if ((CONFVAL_showExtractInfo == SCRIPTVAL_InCourseList || CONFVAL_showExtractInfo == SCRIPTVAL_Both) && $nbDigestEntries > 0) { reset($digest); $result .= ''; } $result .= ''; $result .= '
'; if (api_get_setting('use_session_mode')=='true' && !$nosession) { $session = ''; $active = false; if (!empty($my_course['session_name'])) { // Request for the name of the general coach $sql = 'SELECT lastname, firstname FROM '.$tbl_session.' ts LEFT JOIN '.$main_user_table .' tu ON ts.id_coach = tu.user_id WHERE ts.id='.(int) $my_course['id_session']. ' LIMIT 1'; $rs = api_sql_query($sql, __FILE__, __LINE__); $sessioncoach = api_store_result($rs); $sessioncoach = $sessioncoach[0]; $session = array(); $session['title'] = $my_course['session_name']; if ( $my_course['date_start']=='0000-00-00' ) { $session['dates'] = get_lang('WithoutTimeLimits'); if ( api_get_setting('show_session_coach') === 'true' ) { $session['coach'] = get_lang('GeneralCoach').': '.$sessioncoach['lastname'].' '.$sessioncoach['firstname']; } $active = true; } else { $session ['dates'] = ' - '.get_lang('From').' '.$my_course['date_start'].' '.get_lang('To').' '.$my_course['date_end']; if ( api_get_setting('show_session_coach') === 'true' ) { $session['coach'] = get_lang('GeneralCoach').': '.$sessioncoach['lastname'].' '.$sessioncoach['firstname']; } $active = ($date_start <= $now && $date_end >= $now)?true:false; } } $output = array ($my_course['user_course_cat'], $result, $my_course['id_session'], $session, 'active'=>$active); } else { $output = array ($my_course['user_course_cat'], $result); } //$my_course['creation_date']; return $output; } Display :: display_header(null); // @todo here we must show the user information as read only //User picture size is calculated from SYSTEM path $img_array= UserManager::get_user_picture_path_by_id($user_id,'web',true,true); //print_r($user_info); echo $s=""; //echo '
'; //echo ''.Display::return_icon('edit.gif').' '.mb_convert_encoding(get_lang('EditInformation'),'UTF-8',$charset).''; //echo '
'; //Setting some course info $my_user_id=isset($_GET['u']) ? Security::remove_XSS($_GET['u']) : api_get_user_id(); $personal_course_list = UserManager::get_personal_session_course_list($my_user_id); $course_list_code = array(); $i=1; //print_r($personal_course_list); foreach ($personal_course_list as $my_course) { if ($i<=10) { $list[] = get_logged_user_course_html($my_course,$i); $course_list_code[] = array('code'=>$my_course['c'],'dbName'=>$my_course['db'], 'title'=>$my_course['i']); } else { break; } $i++; } echo '
'; // RIGHT COLUMN echo '
'; //---- FRIENDS if ($show_full_profile) { $list_path_friends= $list_path_normal_friends = $list_path_parents = array(); $list_path_good_friends = UserFriend::get_list_path_web_by_user_id($user_id, SOCIALGOODFRIEND); $list_path_normal_friends = UserFriend::get_list_path_web_by_user_id($user_id, SOCIALFRIEND); $list_path_parents = UserFriend::get_list_path_web_by_user_id($user_id, SOCIALPARENT); $list_path_friends = array_merge_recursive($list_path_good_friends, $list_path_normal_friends, $list_path_parents); $friend_html=''; $number_of_images=3; $number_friends=0; $list_friends_id=array(); $list_friends_dir=array(); $list_friends_file=array(); if (count($list_path_friends)!=0) { $friends_count = count($list_path_friends['id_friend']); for ($z=0;$z< $friends_count ;$z++) { $list_friends_id[] = $list_path_friends['id_friend'][$z]['friend_user_id']; $list_friends_dir[] = $list_path_friends['path_friend'][$z]['dir']; $list_friends_file[]= $list_path_friends['path_friend'][$z]['file']; } $number_friends= count($list_friends_dir); $number_loop = ($number_friends/$number_of_images); $loop_friends = ceil($number_loop); $j=0; $friend_html .= '
'.get_lang('Friends').'
'; $friend_html.= '
'; $friend_html.= '
'; //$friend_html.= $friends_count.' '.get_lang('Friends'); if ($friends_count == 1) $friend_html.= '
'.$friends_count.' '.get_lang('Friend').'
'; else $friend_html.= '
'.$friends_count.' '.get_lang('Friends').'
'; $friend_html.= '
'.get_lang('SeeAll').'
'; $friend_html.= '

'; // close div friend-header for ($k=0;$k<$loop_friends;$k++) { if ($j==$number_of_images) { $number_of_images=$number_of_images*2; } while ($j<$number_of_images) { if ($list_friends_file[$j]<>"") { $my_user_info=api_get_user_info($list_friends_id[$j]); $name_user=$my_user_info['firstName'].' '.$my_user_info['lastName']; //class="image-social-content" $friend_html.=' 
'; $margin_top = 10; if ($k==0) $margin_top = 0; $friend_html.=''; $friend_html.=''; $friend_html.= '
'.$my_user_info['firstName'].'
'.$my_user_info['lastName']; $friend_html.= '
'; $friend_html.= '
 '; } $j++; } } //$friend_html.='
'; // close the div friend-container } else { $friend_html .= '
'.get_lang('Friends').'
'; $friend_html.= '
'; $friend_html.= '
'; $friend_html.= '
'.get_lang('Friends').'
'; $friend_html.= '
'.get_lang('SeeAll').'
'; $friend_html.= '


'; // close div friend-header } $friend_html.= '
'; echo $friend_html; //Pending invitations if (!isset($_GET['u']) || (isset($_GET['u']) && $_GET['u']==api_get_user_id())) { $pending_invitations = UserFriend::get_list_invitation_of_friends_by_user_id(api_get_user_id()); $list_get_path_web=UserFriend::get_list_web_path_user_invitation_by_user_id(api_get_user_id()); $count_pending_invitations = count($pending_invitations); //echo '

'; //javascript:register_friend(this) //var_dump($pending_invitations); echo '

'; echo '
'; if ($count_pending_invitations > 0) { echo '
'; echo get_lang('PendingInvitations'); echo '
'; for ($i=0;$i<$count_pending_invitations;$i++) { //var_dump($invitations); echo '
'; echo '
'; echo ''; echo '
'; echo '
'; echo ' '.substr($pending_invitations[$i]['content'],0,50); echo '
'; echo ''.get_lang('SocialAddToFriends').''; echo '
 
'; echo '
'; echo '
'; echo '
'; } } echo '
'; } //--Productions $production_list = UserManager::build_production_list($user_id); if (!empty($production_list )) { echo '

'; echo '
'; echo get_lang('Productions'); echo '
'; echo '
'; echo $production_list; echo '
'; } // Images uploaded by course $file_list = ''; foreach ($course_list_code as $course) { $file_list.= UserManager::get_user_upload_files_by_course($user_id,$course['code']); } if (!empty($file_list)) { echo '

'; echo '
'; echo get_lang('ImagesUploaded'); echo '
'; echo '
'; echo $file_list; echo '
'; } } echo '
'; // end of content section // echo '
'; echo '
'; // LEFT COLUMN echo '
'; //--- User image echo '

'; if (api_get_user_id() == $user_id) { // if i'm me echo Display::return_icon('email.gif'); echo '  '.get_lang('MyInbox').'
'; echo Display::return_icon('edit.gif'); echo '  '.get_lang('EditInformation').''; } else { echo '  '.Display::return_icon('message_new.png').'  '.get_lang('SendMessage').'
'; //echo '  '.get_lang('SendMessage').''; } echo '

'; // Send message or Add to friend links /*if (!$show_full_profile) { echo '  '.Display::return_icon('message_new.png').'  '.get_lang('SendMessage').'
'; }*/ if ($show_full_profile) { //-- Extra Data $extra_user_data = UserManager::get_extra_user_data($user_id); if (is_array($extra_user_data) && count($extra_user_data)>0 ) { echo '
'; echo get_lang('ExtraInformation'); echo '
'; echo '
'; foreach($extra_user_data as $key=>$data) { echo ucfirst($key).': '.$data; echo '
'; } echo '
'; echo '

'; } // ---- My Agenda Items $my_agenda_items = show_simple_personal_agenda($user_id); if (!empty($my_agenda_items)) { echo '
'; echo get_lang('MyAgenda'); echo '
'; $tbl_personal_agenda = Database :: get_user_personal_table(TABLE_PERSONAL_AGENDA); echo '
'; echo $my_agenda_items; echo '
'; echo '

'; } //-----Announcements $announcement_content = ''; $my_announcement_by_user_id=isset($_GET['u']) ? Security::remove_XSS($_GET['u']) : api_get_user_id(); foreach ($course_list_code as $course) { $content = get_all_annoucement_by_user_course($course['dbName'],$my_announcement_by_user_id); if (!empty($content)) { $announcement_content.= '

'.$course['title'].'

'; $announcement_content.= '
'; $announcement_content.= $content; $announcement_content.= '
'; $announcement_content.= '
'; } } if(!empty($announcement_content)) { echo '
'; echo get_lang('Announcements'); echo '
'; echo $announcement_content; } } echo '
'; // CENTER COLUMN echo '
'; //--- Basic Information echo '
'; echo get_lang('Information'); //class="social-profile-info" echo '
'; if ($show_full_profile) { echo ''; } else { echo ''; } echo '

'; // COURSES LIST if ($show_full_profile) { //print_r($personal_course_list); //echo '
';
				if ( is_array($list) ) {
					echo '
'; echo ucfirst(get_lang('Courses')); echo '
'; //Courses whithout sessions $old_user_category = 0; $i=1; foreach($list as $key=>$value) { if ( empty($value[2]) ) { //if out of any session echo $value[1]; echo '
'; //class="social-profile-rounded maincourse" echo '
'; echo '
'; $i++; } } $listActives = $listInactives = $listCourses = array(); foreach ( $list as $key=>$value ) { if ( $value['active'] ) { //if the session is still active (as told by get_logged_user_course_html()) $listActives[] = $value; } elseif ( !empty($value[2]) ) { //if there is a session but it is not active $listInactives[] = $value; } } /* // --- Session registered api_display_tool_title(get_lang('Sessions')); if(count($listActives)>0) { echo "
    \n"; foreach ($listActives as $key => $value) { if (!empty($value[2])) { if ((isset($old_session) && $old_session != $value[2]) or ((!isset($old_session)) && isset($value[2]))) { $old_session = $value[2]; if ($key != 0) { echo '
'; } //echo '
  • '.$value[3]['title'].' '.$value[3]['dates'].'
  • '; echo '
      '; if ( !empty($value[3]['coach']) ) { echo '
    • '.$value[3]['coach'].'
    • '; } echo '
    '; echo '
      '; } } echo $value[1]; } echo '
    '; } */ } echo '
'; //echo '
';
				foreach ($course_list_code as $course) {	
					// course name
					//echo ucfirst(get_lang('InCourse')).' '.$course['code'].'

'; /* //------Blog posts api_display_tool_title(get_lang('BlogPosts')); echo ''; echo '
'; //------Blog comments api_display_tool_title(get_lang('BlogComments')); echo '
'; get_blog_comment_from_user($course['dbName'], $user_id); echo '
'; echo '
'; //------Forum messages api_display_tool_title(get_lang('Forum')); //print_r($course); $table_forums = Database :: get_course_table(TABLE_FORUM,$course['dbName']); $table_threads = Database :: get_course_table(TABLE_FORUM_THREAD,$course['dbName']); $table_posts = Database :: get_course_table(TABLE_FORUM_POST,$course['dbName']); $table_item_property = Database :: get_course_table(TABLE_ITEM_PROPERTY,$course['dbName']); $table_users = Database :: get_main_table(TABLE_MAIN_USER); echo ''; echo '
'; */ } echo '
'; /* this should be somewhere //-- Competences api_display_tool_title(get_lang('MoreInfo')); echo '
'; echo get_lang('Competences'); echo ''; echo get_lang('Diplomas'); echo ''; echo get_lang('OpenArea'); echo ''; echo get_lang('Teach'); echo ''; */ echo '
'; } echo '
'; echo ''; echo ''; //from the main echo '
'; Display :: display_footer(); ?>