Skip to content

Latest commit

 

History

History
370 lines (312 loc) · 6.97 KB

File metadata and controls

370 lines (312 loc) · 6.97 KB

MVC Refactoring Guide - Payroll System

Quick Reference: File Refactoring Map

Replace each file's content with the corresponding code below.

Authentication Files (4 files)

login.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\AuthController;
$controller = new AuthController();
$controller->showLogin();

adminlogin.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\AuthController;
$controller = new AuthController();
$controller->adminLogin();

employeelogin.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\AuthController;
$controller = new AuthController();
$controller->employeeLogin();

logout.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\AuthController;
$controller = new AuthController();
$controller->logout();

Admin Files (3 files)

index.php: ✅ Already refactored

admin_account.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\AdminController;
$controller = new AdminController();
$controller->account();

user_management.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\AdminController;
$controller = new AdminController();
$controller->userManagement();

Employee Files (9 files)

employee_setup.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\EmployeeController;
$controller = new EmployeeController();
$controller->setup();

insert_employee_setup.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\EmployeeController;
$controller = new EmployeeController();
$controller->create();

load_employee_setup.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\EmployeeController;
$controller = new EmployeeController();
$controller->loadEmployees();

edit_employee.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\EmployeeController;
$controller = new EmployeeController();
$controller->edit();

update_employee.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\EmployeeController;
$controller = new EmployeeController();
$controller->update();

delemployee.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\EmployeeController;
$controller = new EmployeeController();
$controller->delete();

profile.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\EmployeeController;
$controller = new EmployeeController();
$controller->profile();

loadprofile.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\EmployeeController;
$controller = new EmployeeController();
$controller->loadProfile();

changepass.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\AuthController;
$controller = new AuthController();
$controller->changePassword();

Payroll Files (7 files)

pay.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\PayrollController;
$controller = new PayrollController();
$controller->pay();

paystaff.php: ✅ Already refactored

record.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\PayrollController;
$controller = new PayrollController();
$controller->records();

loadrecords.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\PayrollController;
$controller = new PayrollController();
$controller->loadRecords();

paystub.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\PayrollController;
$controller = new PayrollController();
$controller->paystub();

paystub_archive.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\PayrollController;
$controller = new PayrollController();
$controller->paystubArchive();

my_record.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\PayrollController;
$controller = new PayrollController();
$controller->myRecords();

Tax Files (6 files)

tax_setup.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\TaxController;
$controller = new TaxController();
$controller->setup();

tax_rate_update.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\TaxController;
$controller = new TaxController();
$controller->rateUpdate();

tax_payment_report.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\TaxController;
$controller = new TaxController();
$controller->paymentReport();

employee_tax_report.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\TaxController;
$controller = new TaxController();
$controller->employeeTaxReport();

irs_form_941.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\TaxController;
$controller = new TaxController();
$controller->irsForm941();

alaska_quarterly_csv.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\TaxController;
$controller = new TaxController();
$controller->alaskaQuarterlyCSV();

Time Clock Files (5 files)

timeclock.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\TimeClockController;
$controller = new TimeClockController();
$controller->index();

timeclock_action.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\TimeClockController;
$controller = new TimeClockController();
$controller->action();

timeclock_history.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\TimeClockController;
$controller = new TimeClockController();
$controller->history();

load_timeclock_history.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\TimeClockController;
$controller = new TimeClockController();
$controller->loadHistory();

admin_timeclock.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\TimeClockController;
$controller = new TimeClockController();
$controller->adminReport();

Company & Report Files (3 files)

company_setup.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\CompanyController;
$controller = new CompanyController();
$controller->setup();

printprofile.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\ReportController;
$controller = new ReportController();
$controller->printProfile();

printrecord.php:

<?php
require_once 'bootstrap.php';
use App\Controllers\ReportController;
$controller = new ReportController();
$controller->printRecord();

Files to Keep/Update (Not Replace)

connection.php - Keep for now (backward compatibility with date functions) tax_calculator.php - Keep for now (backward compatibility wrapper) navbar.php - Will need to be refactored to use Auth class theme.php - Keep as-is (dynamic CSS)


Summary

  • 47 PHP files need refactoring
  • 2 already done (index.php, paystaff.php)
  • 45 remaining - simply copy/paste the code above
  • Each file: 3-7 lines instead of 50-400 lines
  • Zero SQL injection vulnerabilities
  • Centralized authentication and business logic