You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							98 lines
						
					
					
						
							3.4 KiB
						
					
					
				
			
		
		
	
	
							98 lines
						
					
					
						
							3.4 KiB
						
					
					
				<?php
 | 
						|
/* For licensing terms, see /license.txt */
 | 
						|
/**
 | 
						|
 * Responses to AJAX calls.
 | 
						|
 */
 | 
						|
require_once __DIR__.'/../global.inc.php';
 | 
						|
 | 
						|
api_protect_course_script(true);
 | 
						|
 | 
						|
$action = $_REQUEST['a'];
 | 
						|
 | 
						|
switch ($action) {
 | 
						|
    case 'add_gradebook_comment':
 | 
						|
        if ('true' !== api_get_setting('gradebook.allow_gradebook_comments')) {
 | 
						|
            exit;
 | 
						|
        }
 | 
						|
        if (api_is_allowed_to_edit(null, true)) {
 | 
						|
            $userId = $_REQUEST['user_id'] ?? 0;
 | 
						|
            $gradeBookId = $_REQUEST['gradebook_id'] ?? 0;
 | 
						|
            $comment = $_REQUEST['comment'] ?? '';
 | 
						|
            GradebookUtils::saveComment($gradeBookId, $userId, $comment);
 | 
						|
            echo 1;
 | 
						|
            exit;
 | 
						|
        }
 | 
						|
        echo 0;
 | 
						|
        break;
 | 
						|
    case 'get_gradebook_weight':
 | 
						|
        if (api_is_allowed_to_edit(null, true)) {
 | 
						|
            $cat_id = $_GET['cat_id'];
 | 
						|
            $cat = Category::load($cat_id);
 | 
						|
            if ($cat && isset($cat[0])) {
 | 
						|
                echo $cat[0]->get_weight();
 | 
						|
            } else {
 | 
						|
                echo 0;
 | 
						|
            }
 | 
						|
        }
 | 
						|
        break; /*
 | 
						|
    case 'generate_custom_report':
 | 
						|
        if (api_is_allowed_to_edit(null, true)) {
 | 
						|
            $allow = api_get_configuration_value('gradebook_custom_student_report');
 | 
						|
            if (!$allow) {
 | 
						|
                exit;
 | 
						|
            }
 | 
						|
            $form = new FormValidator(
 | 
						|
                'search',
 | 
						|
                'get',
 | 
						|
                api_get_path(WEB_CODE_PATH).'gradebook/index.php?'.api_get_cidreq().'&action=generate_custom_report'
 | 
						|
            );
 | 
						|
            $form->addText('custom_course_id', get_lang('Course ID'));
 | 
						|
            $form->addDateRangePicker('range', get_lang('Date range'));
 | 
						|
            $form->addHidden('action', 'generate_custom_report');
 | 
						|
            $form->addButtonSearch();
 | 
						|
            $form->display();
 | 
						|
        }
 | 
						|
        break;*/
 | 
						|
    case 'export_all_certificates':
 | 
						|
        $categoryId = (int) $_GET['cat_id'];
 | 
						|
        $filterOfficialCodeGet = isset($_GET['filter']) ? Security::remove_XSS($_GET['filter']) : null;
 | 
						|
 | 
						|
        if (api_is_student_boss()) {
 | 
						|
            $userGroup = new UserGroupModel();
 | 
						|
            $userList = $userGroup->getGroupUsersByUser(api_get_user_id());
 | 
						|
        } else {
 | 
						|
            $userList = [];
 | 
						|
            if (!empty($filterOfficialCodeGet)) {
 | 
						|
                $userList = UserManager::getUsersByOfficialCode($filterOfficialCodeGet);
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        $courseCode = api_get_course_id();
 | 
						|
        $sessionId = api_get_session_id();
 | 
						|
 | 
						|
        $commandScript = api_get_path(SYS_CODE_PATH).'gradebook/cli/export_all_certificates.php';
 | 
						|
 | 
						|
        $userList = implode(',', $userList);
 | 
						|
 | 
						|
        shell_exec("php $commandScript $courseCode $sessionId $categoryId $userList > /dev/null &");
 | 
						|
        break;
 | 
						|
    case 'verify_export_all_certificates':
 | 
						|
        $categoryId = (int) $_GET['cat_id'];
 | 
						|
        $courseCode = isset($_GET['cidReq']) ? Security::remove_XSS($_GET['cidReq']) : api_get_course_id();
 | 
						|
        $sessionId = isset($_GET['id_session']) ? (int) $_GET['id_session'] : api_get_session_id();
 | 
						|
        $date = api_get_utc_datetime(null, false, true);
 | 
						|
 | 
						|
        $pdfName = 'certs_'.$courseCode.'_'.$sessionId.'_'.$categoryId.'_'.$date->format('Y-m-d');
 | 
						|
 | 
						|
        $sysFinalFile = api_get_path(SYS_ARCHIVE_PATH)."$pdfName.pdf";
 | 
						|
        $webFinalFile = api_get_path(WEB_ARCHIVE_PATH)."$pdfName.pdf";
 | 
						|
 | 
						|
        if (file_exists($sysFinalFile)) {
 | 
						|
            echo $webFinalFile;
 | 
						|
        }
 | 
						|
        break;
 | 
						|
    default:
 | 
						|
        echo '';
 | 
						|
        break;
 | 
						|
}
 | 
						|
exit;
 | 
						|
 |