\ReportMaster
Custom user reports builder implementation
Synopsis
class ReportMaster
{
- // constants
- const PATH_REPORTS = 'content/reports/';
- const URL_ME = '?module=reportmaster';
- const URL_TASKBAR = '?module=taskbar';
- const URL_USERPROFILE = '?module=userprofile&username=';
- const ROUTE_ADD = 'add';
- const ROUTE_EDIT = 'edit';
- const ROUTE_VIEW = 'view';
- const ROUTE_DELETE = 'delete';
- const ROUTE_RENDERER = 'renderer';
- const ROUTE_BASEEXPORT = 'exportuserbase';
- const PROUTE_INSTALL = 'installreportcode';
- const PROUTE_NEWTYPE = 'newreporttype';
- const PROUTE_NEWNAME = 'newreportname';
- const PROUTE_NEWQUERY = 'newquery';
- const PROUTE_NEWKEYS = 'newdatakeys';
- const PROUTE_NEWFIELDS = 'newfieldnames';
- const PROUTE_NEWADDR = 'newaddr';
- const PROUTE_NEWRNAMES = 'newrnames';
- const PROUTE_NEWROWCOUNT = 'newrowcount';
- const PROUTE_EDTYPE = 'editreporttype';
- const PROUTE_EDNAME = 'editreportname';
- const PROUTE_EDQUERY = 'editquery';
- const PROUTE_EDKEYS = 'editdatakeys';
- const PROUTE_EDFIELDS = 'editfieldnames';
- const PROUTE_EDADDR = 'editaddr';
- const PROUTE_EDRNAMES = 'editrnames';
- const PROUTE_EDROWCOUNT = 'editrowcount';
- const PROUTE_EDADMACL = 'editadminsacl';
- const PROUTE_EDONTB = 'editontb';
- const PROUTE_EDAOTD = 'editaotd';
- const PROUTE_EDICON = 'editicon';
- const MOD_PRINT = 'printable';
- const MOD_CSV = 'csv';
- const ICON_DEFAULT = 'goat.gif';
- const ICONS_PATH = 'skins/taskbar/';
- // members
- protected $messages = '';
- protected array $allReports = ;
- protected string $myLogin = '';
- protected string $iconsPrefix = '';
- // methods
- public void __construct()
- protected void initMessages()
- protected void setLogin()
- public string getReports()
- public bool isMeAllowed()
- protected void loadReports()
- public string renderReportsList()
- public void exportUserbaseCsv()
- public string renderBackControl()
- public void createReport()
- public string renderCreateForm()
- public void deleteReport()
- protected void showSqlReport()
- protected void exportSqlToCSV()
- protected void showSqlPrintable()
- protected string getReportData()
- public void/script renderReport()
- protected array getAvailableIcons()
- public string renderEditForm()
- protected string renderTbPreview()
- protected string renderCopyPasteForm()
- public void/string installReport()
- public void/string saveReport()
- public array getTaskBarReports()
Constants
Name | Value |
---|---|
PATH_REPORTS | 'content/reports/' |
URL_ME | '?module=reportmaster' |
URL_TASKBAR | '?module=taskbar' |
URL_USERPROFILE | '?module=userprofile&username=' |
ROUTE_ADD | 'add' |
ROUTE_EDIT | 'edit' |
ROUTE_VIEW | 'view' |
ROUTE_DELETE | 'delete' |
ROUTE_RENDERER | 'renderer' |
ROUTE_BASEEXPORT | 'exportuserbase' |
PROUTE_INSTALL | 'installreportcode' |
PROUTE_NEWTYPE | 'newreporttype' |
PROUTE_NEWNAME | 'newreportname' |
PROUTE_NEWQUERY | 'newquery' |
PROUTE_NEWKEYS | 'newdatakeys' |
PROUTE_NEWFIELDS | 'newfieldnames' |
PROUTE_NEWADDR | 'newaddr' |
PROUTE_NEWRNAMES | 'newrnames' |
PROUTE_NEWROWCOUNT | 'newrowcount' |
PROUTE_EDTYPE | 'editreporttype' |
PROUTE_EDNAME | 'editreportname' |
PROUTE_EDQUERY | 'editquery' |
PROUTE_EDKEYS | 'editdatakeys' |
PROUTE_EDFIELDS | 'editfieldnames' |
PROUTE_EDADDR | 'editaddr' |
PROUTE_EDRNAMES | 'editrnames' |
PROUTE_EDROWCOUNT | 'editrowcount' |
PROUTE_EDADMACL | 'editadminsacl' |
PROUTE_EDONTB | 'editontb' |
PROUTE_EDAOTD | 'editaotd' |
PROUTE_EDICON | 'editicon' |
MOD_PRINT | 'printable' |
MOD_CSV | 'csv' |
ICON_DEFAULT | 'goat.gif' |
ICONS_PATH | 'skins/taskbar/' |
Members
protected
Methods
protected
- exportSqlToCSV() — Renders report as CSV file to download
- getAvailableIcons() — Returns list of available taskbar icons
- getReportData() — Returns custom-report data
- initMessages() — Inits message helper instance for further usage
- loadReports() — Loads all available reports from filesystem
- renderCopyPasteForm() — Renders report as string to backup/send it to someone
- renderTbPreview() — Renders preview if report will be rendered on task bar.
- setLogin() — Sets admin login for current instance. Required for per/report rights check
- showSqlPrintable() — Renders SQL report as printable table
- showSqlReport() — Renders some SQL report into viewport
public
- __construct() — Creates new ReportMaster instance
- createReport() — Creates new report template file.
- deleteReport() — Deletes existing report by its name
- exportUserbaseCsv() — Exports existing userbase as CSV format
- getReports() — Returns array of existing reports as reportId=>reportData
- getTaskBarReports()
- installReport() — Installs some packed report
- isMeAllowed() — Checks have current user access for some report
- renderBackControl() — Renders default back control
- renderCreateForm() — Renders new report creation form
- renderEditForm() — Renders existing report editing form
- renderReport() — Renders some report by its reportId aka template name
- renderReportsList() — Renders available reports list
- saveReport() — Saves report on its editing