diff --git a/main/gradebook/gradebook_view_result.php b/main/gradebook/gradebook_view_result.php index 8cb081117a..dd66fa62b6 100755 --- a/main/gradebook/gradebook_view_result.php +++ b/main/gradebook/gradebook_view_result.php @@ -20,7 +20,10 @@ require_once api_get_path(LIBRARY_PATH).'ezpdf/class.ezpdf.php'; require_once api_get_path(SYS_CODE_PATH).'gradebook/lib/gradebook_functions.inc.php'; api_block_anonymous_users(); -block_students(); + +if(!api_is_drh()){ + block_students(); +} $interbreadcrumb[]= array ( 'url' => $_SESSION['gradebook_dest'], diff --git a/main/gradebook/lib/fe/exportgradebook.php b/main/gradebook/lib/fe/exportgradebook.php index f0d4caddb5..a97513daf9 100755 --- a/main/gradebook/lib/fe/exportgradebook.php +++ b/main/gradebook/lib/fe/exportgradebook.php @@ -80,6 +80,135 @@ a:active {text-decoration: none; font-weight : bold; color : black;} return $printdata; } + +/** + * This function get a content html for export inside a pdf file + * @param array table headers + * @param array table body + * @param array pdf headers + * @param array pdf footers + * @return void + */ +function export_pdf_attendance($headers_table, $data_table, $headers_pdf, $footers_pdf, $title_pdf) { + require_once api_get_path(LIBRARY_PATH).'mpdf/mpdf.php'; + + $mpdf = new mPDF('UTF-8', 'A4-L', '', '', 15, 10, 35, 20, 4, 2, 'L'); + $mpdf->useOnlyCoreFonts = true; + $mpdf->mirrorMargins = 0; // Use different Odd/Even headers and footers and mirror margins + + if (is_array($headers_pdf)) { + // preparing headers pdf + $header = ' + + + + + + + + + + + + + + + + + + +

'.$title_pdf.'

'.$headers_pdf[0][0].' '.$headers_pdf[0][1].''.$headers_pdf[1][0].' '.$headers_pdf[1][1].'
'.$headers_pdf[2][0].' '.$headers_pdf[2][1].''.$headers_pdf[3][0].' '.$headers_pdf[3][1].'
'.$headers_pdf[4][0].' '.$headers_pdf[4][1].''.$headers_pdf[5][0].' '.$headers_pdf[5][1].'
'; + } + + // preparing footer pdf + $footer = ''; + if (is_array($footers_pdf)) { + $footer .= ''; + foreach ($footers_pdf as $foot_pdf) { + $footer .= ''; + } + $footer .= ''; + } + $footer .= '
'.$foot_pdf.'
'; + + $footer .= '
{PAGENO}/{nb}
'; + + // preparing content pdf + $css_file = api_get_path(TO_SYS, WEB_CSS_PATH).api_get_setting('stylesheets').'/print.css'; + if (file_exists($css_file)) { + $css = @file_get_contents($css_file); + } else { + $css = ''; + } + + if(count($data_table) > 30) + $items_per_page = (count($data_table)/2); + else + $items_per_page = count($data_table); + + $count_pages = ceil(count($data_table) / $items_per_page); + for ($x = 0; $x<$count_pages; $x++) { + $content_table .= ''; + // header table + $content_table .= ''; + $i = 0; + if (is_array($headers_table)) { + + foreach ($headers_table as $head_table) { + if (!empty($head_table[0])) { + $width = (!empty($head_table[1])?$head_table[1].'%':''); + $content_table .= ''; + $i++; + } + } + } + $content_table .= ''; + // body table + if (is_array($data_table) && count($data_table) > 0) { + $offset = $x*$items_per_page; + $data_table = array_slice ($data_table, $offset, count($data_table)); + $i = 1; + $item = $offset+1; + foreach ($data_table as $data) { + $content_table .= ''; + $content_table .= ''; + foreach ($data as $key => $content) { + if (isset($content)) { + $key == 1 ? $align='align="left"':$align='align="center"'; + $content_table .= ''; + } + } + $content_table .= ''; + $i++; + $item++; + if ($i > $items_per_page) { break; } + } + } else { + $content_table .= ''; + } + $content_table .= '
'.$head_table[0].'
'.($item<10?'0'.$item:$item).''.$content.'
'.get_lang('Empty').'
'; + if ($x < ($count_pages - 1)) { $content_table .= ''; } + } + + $html = $content_table; + + + // set attributes for pdf + $mpdf->SetHTMLHeader($header); + $mpdf->SetHTMLFooter($footer); + if (!empty($css)) { + $mpdf->WriteHTML($css, 1); + $mpdf->WriteHTML($html, 2); + } else { + $mpdf->WriteHTML($html); + } + + $mpdf->Output(replace_dangerous_char($title_pdf.'.pdf'), 'D'); + exit; + +} + + /** * This function get a content html for export inside a pdf file * @param array table headers diff --git a/main/social/profile.php b/main/social/profile.php index 7438a8031b..719bf0c519 100755 --- a/main/social/profile.php +++ b/main/social/profile.php @@ -16,6 +16,7 @@ require_once api_get_path(LIBRARY_PATH).'array.lib.php'; require_once api_get_path(LIBRARY_PATH).'group_portal_manager.lib.php'; $user_id = api_get_user_id(); + $show_full_profile = true; //social tab $this_section = SECTION_SOCIAL; @@ -23,6 +24,9 @@ $this_section = SECTION_SOCIAL; //I'm your friend? I can see your profile? if (isset($_GET['u'])) { $user_id = (int) Database::escape_string($_GET['u']); + if (api_is_anonymous($user_id, true)) { + api_not_allowed(); + } // It's me! if (api_get_user_id() != $user_id) { $user_info = UserManager::get_user_info_by_id($user_id); @@ -61,8 +65,6 @@ require_once $libpath.'magpierss/rss_fetch.inc'; api_block_anonymous_users(); -//jquery thickbox already called from main/inc/header.inc.php - $htmlHeadXtra[] = '