Interesting one here, I have some PHP code which works well, has been checked for errors etc (it's fine - hoorah!), and I'd like to make a UDT with it (I don't want to turn on the PHP function in config). But this PHP has breaks in it for <style>, which unfortunately means the UDT won't submit... it does if I take out the <style> tag and it's contents (three of them) however.
So my question, after many web searches and forum searches, is... how can I use this code? Any help appreciated.
Code: Select all
<?php
    
error_reporting(-1);
$errFlag = FALSE;
if (!isset($_GET['submit'])){ ?>
<style type="text/css">#results {display: none;} </style>
<?php
    }
    if (isset($_GET['submit'])){ 
        $hourlyRate = (isset($_GET['hourly_rate']) ? $_GET['hourly_rate'] : NULL);
        $hoursPerWeek = (isset($_GET['hours_per_week']) ? $_GET['hours_per_week'] : NULL);
        $weeksPerYear = (isset($_GET['weeks_worked_per_year']) ? $_GET['weeks_worked_per_year'] : NULL);
        $expensesPerWeek = (isset($_GET['weekly_expenses']) ? $_GET['weekly_expenses'] : NULL);
        if($hourlyRate == ''){
            $errArr['hourlyRate'] = TRUE;
            $errFlag = TRUE;
        }
        if($hourlyRate !== '' and !is_numeric($hourlyRate)){
            $errArrNum['hourlyRate'] = TRUE;
            $errFlag = TRUE;
        }
        if($hoursPerWeek == ''){
            $errArr['hoursPerWeek'] = TRUE;
            $errFlag = TRUE;
        }
        if($hoursPerWeek !== '' and !is_numeric($hoursPerWeek)){
            $errArrNum['hoursPerWeek'] = TRUE;
            $errFlag = TRUE;
        }
        if($weeksPerYear == ''){
            $errArr['weeksPerYear'] = TRUE;
            $errFlag = TRUE;
        }
        if($weeksPerYear !== '' and !is_numeric($weeksPerYear)){
            $errArrNum['weeksPerYear'] = TRUE;
            $errFlag = TRUE;
        }
        if($expensesPerWeek == ''){
            $errArr['weeklyExpenses'] = TRUE;
            $errFlag = TRUE;
        }
        if($expensesPerWeek !== '' and !is_numeric($expensesPerWeek)){
            $errArrNum['weeklyExpenses'] = TRUE;
            $errFlag = TRUE;
        }
    if($errFlag){?>
<style type="text/css">#results {display: none;}</style>
<?php
    }
    if(!$errFlag){
                $WeeklyFee = 25;
                $claimableWeeklyFee = 16;
                $NIfreeAllowance = 148;
                $weeklyIncome = $hourlyRate * $hoursPerWeek;
                $annualIncome = $hourlyRate * $hoursPerWeek * $weeksPerYear;
                $weeklyExpenses = $expensesPerWeek + $claimableWeeklyFee;
                $annualExpenses = ($expensesPerWeek + $claimableWeeklyFee) * $weeksPerYear;
                if($annualIncome <= 100000){
                    $taxFreeAllowance = 9440;
                }
                if($annualIncome > 100000){
                    $amountOver = $annualIncome - 100000;
                    $taxFreeAllowanceReduction = $amountOver / 2;
                    if($taxFreeAllowanceReduction >= 9440){
                        $taxFreeAllowance = 0;
                    }else{
                        $taxFreeAllowance = 9440 - $taxFreeAllowanceReduction;
                    }
                }
                $taxableIncomeNumber = $annualIncome - $taxFreeAllowance;
                if($taxableIncomeNumber > 0){
                    $taxableIncome = $taxableIncomeNumber;
                }else{
                    $taxableIncome = 0;
                }
                if($taxableIncome >= 32010){
                    $taxableIncomeBand1 = 32010;
                }else{
                    $taxableIncomeBand1 = $taxableIncome;
                }
    
                $taxDueBand1 = $taxableIncomeBand1 * 0.2;
                if($taxableIncome - 32010 <= 0){
                    $taxableIncomeBand2 = 0;
                }
                if($taxableIncome - 32010 > 0 and $taxableIncome - 32010 <= 117989){
                    $taxableIncomeBand2 = $taxableIncome - 32010;
                }
                if($taxableIncome - 32010 > 117989){
                    $taxableIncomeBand2 = 117989;
                }
                $taxDueBand2 = $taxableIncomeBand2 * 0.4;
                if($taxableIncome - 150000 > 0){
                    $taxableIncomeBand3 = $taxableIncome - 150000;
                }else{
                    $taxableIncomeBand3 = 0;
                }
                $taxDueBand3 = $taxableIncomeBand3 * 0.45;
                $taxDue = $taxDueBand1 + $taxDueBand2 + $taxDueBand3;
                $NIliableIncomeNumber = $weeklyIncome - $NIfreeAllowance;
                if($NIliableIncomeNumber > 0){
                    $NIliableIncome = $NIliableIncomeNumber;
                }else{
                    $NIliableIncome = 0;
                }
                if($NIliableIncome >= 797){
                    $NIliableIncomeBand1 = 797;
                }else{
                    $NIliableIncomeBand1 = $NIliableIncome;
                }
                $NIdueBand1 = $NIliableIncomeBand1 * 0.12;
                if($NIliableIncome > 797){
                    $NIliableIncomeBand2 = $NIliableIncome - 797;
                }else{
                    $NIliableIncomeBand2 = 0;
                }
                $NIdueBand2 = $NIliableIncomeBand2 * 0.02;
                $NIduePerWeek = $NIdueBand1 + $NIdueBand2;
                $NIdue = $NIduePerWeek * $weeksPerYear;
                $netReturnPAYE = $annualIncome - $taxDue - $NIdue;
                $taxableIncomeNumberDBS = $annualIncome - $taxFreeAllowance - $annualExpenses;
                if($taxableIncomeNumberDBS > 0){
                    $taxableIncomeDBS = $taxableIncomeNumberDBS;
                }else{
                    $taxableIncomeDBS = 0;
                }
                if($taxableIncomeDBS >= 32010){
                    $taxableIncomeBand1DBS = 32010;
                }else{
                    $taxableIncomeBand1DBS = $taxableIncomeDBS;
                }
    
                $taxDueBand1DBS = $taxableIncomeBand1DBS * 0.2;
                if($taxableIncomeDBS - 32010 <= 0){
                    $taxableIncomeBand2DBS = 0;
                }
                if($taxableIncomeDBS - 32010 > 0 and $taxableIncomeDBS - 32010 <= 117989){
                    $taxableIncomeBand2DBS = $taxableIncomeDBS - 32010;
                }
                if($taxableIncomeDBS - 32010 > 117989){
                    $taxableIncomeBand2DBS = 117989;
                }
                $taxDueBand2DBS = $taxableIncomeBand2DBS * 0.4;
                if($taxableIncomeDBS - 150000 > 0){
                    $taxableIncomeBand3DBS = $taxableIncomeDBS - 150000;
                }else{
                    $taxableIncomeBand3DBS = 0;
                }
                $taxDueBand3DBS = $taxableIncomeBand3DBS * 0.45;
                $taxDueDBS = $taxDueBand1DBS + $taxDueBand2DBS + $taxDueBand3DBS;
                $NIliableIncomeNumberDBS = $weeklyIncome - $NIfreeAllowance - $weeklyExpenses;
                if($NIliableIncomeNumberDBS > 0){
                    $NIliableIncomeDBS = $NIliableIncomeNumberDBS;
                }else{
                    $NIliableIncomeDBS = 0;
                }
                if($NIliableIncomeDBS >= 797){
                    $NIliableIncomeBand1DBS = 797;
                }else{
                    $NIliableIncomeBand1DBS = $NIliableIncomeDBS;
                }
                $NIdueBand1DBS = $NIliableIncomeBand1DBS * 0.12;
                if($NIliableIncomeDBS > 797){
                    $NIliableIncomeBand2DBS = $NIliableIncomeDBS - 797;
                }else{
                    $NIliableIncomeBand2DBS = 0;
                }
                $NIdueBand2DBS = $NIliableIncomeBand2DBS * 0.02;
                $NIduePerWeekDBS = $NIdueBand1DBS + $NIdueBand2DBS;
                $NIdueDBS = $NIduePerWeekDBS * $weeksPerYear;
                if($weeklyIncome <= 149){
                    $ENIdue = 0;
                }else{
                    //calculate ENI liability band 1
                        if($weeklyIncome > 797){
                            $ENIliableIncomeBand1 = 648;
                        }else{
                            $ENIliableIncomeBand1 = $weeklyIncome - 149;
                        }        
                    //calculate ENI due band 1
                        $ENIdueBand1 = $ENIliableIncomeBand1 * 0.12;
                    //calculate ENI liable income band 2
                        if($weeklyIncome > 797){
                            $ENIliableIncomeBand2 = $weeklyIncome - 797;
                        }else{
                            $ENIliableIncomeBand2 = 0;
                        }
                    //calculate ENI due band 2
                        $ENIdueBand2 = $ENIliableIncomeBand2 * 0.02;
                    //calculate ENI due per week
                        $ENIduePerWeek = $ENIdueBand1 + $ENIdueBand2;
                    //calculate ENI due per annum
                        $ENIdue = $ENIduePerWeek * $weeksPerYear;
                }
                $netReturnDBS = $annualIncome - $taxDueDBS - $NIdueDBS - $ENIdue;
     
    ?>
<style type="text/css">#taxCalculator {display: none;} </style>
<?php
    }
    }
?>

