TimeTrex API Manual

PunchFactory extends Factory
in package

Table of Contents

$cache  : Cache_Lite_Function|Cache_Lite_Output
$data  : mixed
$db  : mixed
$is_new  : mixed
$old_data  : mixed
$previous_punch_obj  : mixed
$punch_control_obj  : mixed
$rs  : mixed
$tmp_data  : mixed
$validate_only  : mixed
$Validator  : mixed
$api_message_id  : mixed
$break_policy_arr  : mixed
$enable_system_log_detail  : mixed
$meal_policy_arr  : mixed
$pk_sequence_name  : mixed
$progress_bar_obj  : mixed
$schedule_obj  : mixed
$station_obj  : mixed
$table  : mixed
$user_obj  : mixed
$auto_transfer  : mixed
$calc_exception  : mixed
$calc_system_total_time  : mixed
$calc_total_time  : mixed
$calc_user_date_id  : mixed
$calc_user_date_total  : mixed
$calc_weekly_system_total_time  : mixed
$ignore_column_list  : bool
$is_valid  : mixed
$premature_exception  : mixed
$split_at_midnight  : mixed
$split_punch_control  : mixed
__construct()  : mixed
Factory constructor.
__toString()  : bool|string
Print primary columns from object.
_getFactoryOptions()  : array<string|int, mixed>|null
_getVariableToFunctionMap()  : array<string|int, mixed>
addLog()  : bool
addPunchReminderTransfer()  : bool
Adds a transfer punch reminder notification
bulkDelete()  : bool
calcMealAndBreakTotalTime()  : array<string|int, mixed>|bool
Takes Punch rows and calculates the total breaks/lunches and how long each is.
castGenericDataValue()  : mixed
Generic casting function that all set/get*() functions should pass through.
cleanStoragePath()  : bool
clearCacheSavedInTransaction()  : bool
clearData()  : bool
clearGeoCode()  : bool
clearNonMappedData()  : array<string|int, mixed>|null
Removes array elements from $data that are not in the function map.
clearOldData()  : bool
CommitSavePoint()  : bool
CommitTransaction()  : mixed
convertFlexArray()  : array<string|int, mixed>
convertSetUserPunchToGetPunch()  : mixed
decodeCustomFields()  : bool
decodeGenericJSONData()  : bool
Decode generic 'other_json' column data.
decodeJSONColumn()  : bool
Decodes JSON columns that are not the 'other_json' column.
Delete()  : bool
Deletes the record directly from the database.
encodeCustomFields()  : bool
encodeGenericJSONData()  : bool
Encode generic 'other_json' column data. This should only be done in Save() after all validation has occurred already and we are just about to commit it to the DB.
encodeJSONColumns()  : bool
Encode any JSON columns that are not 'other_json' column. This should only be done in Save() after all validation has occurred already and we are just about to commit it to the DB.
ExecuteSQL()  : bool
Execute SQL queries and handle paging properly for select statements.
FailTransaction()  : mixed
findPunchControlID()  : bool|mixed
findScheduleID()  : bool
fromBool()  : bool
fromJSONBool()  : bool
getActualTimeStamp()  : bool|int
getAffectedRows()  : int|bool
getAPIMessageID()  : bool|null
Used for updating progress bar for API calls.
getBreakPolicies()  : array<string|int, mixed>
Gets any break policies that may apply to this punch.
getCache()  : bool|mixed
getColumn()  : bool|mixed
Generic function get any data from the data array.
getColumnList()  : array<string|int, mixed>|bool
getCompanyGenericMapData()  : mixed
Generic function to return and cache CompanyGenericMap data, this greatly improves performance of CalculatePolicy when many policies exist.
getCreatedAndUpdatedColumns()  : bool
getCreatedBy()  : bool|mixed
getCreatedDate()  : int
getCurrent()  : mixed
Grabs the current object
getCurrentRow()  : int|bool
getCustomField()  : void
Get a single custom field by ID.
getCustomFields()  : mixed
getCustomFieldsColumns()  : array<string|int, mixed>
getCustomFieldsDataForObject()  : array<string|int, mixed>
Get custom field data for this specific object, so it can be easily cached in memory without having to go to the database or unserialize it from cache for every row.
getCustomFieldsDefaultData()  : mixed
getCustomFieldsParseHints()  : array<string|int, mixed>
getCustomFieldTableName()  : string
getDataDifferences()  : array<string|int, mixed>
Returns the differences in data from the DB vs the in-memory object, so the data will be the OLD data. Used in Validation/postSave() functions to determine if a field has changed or not.
getDateRangeSQL()  : bool|string
This function takes plain input from the user and creates a SQL statement for filtering based on a date range.
getDefaultPunchSettings()  : array<string|int, mixed>
getDeleted()  : bool
getDeletedBy()  : bool|mixed
getDeletedDate()  : bool|mixed
getEmptyRecordSet()  : mixed
getEnableAutoTransfer()  : bool
getEnableCalcException()  : bool
getEnableCalcSystemTotalTime()  : bool
getEnableCalcTotalTime()  : bool
getEnableCalcUserDateID()  : bool
getEnableCalcUserDateTotal()  : bool
getEnableCalcWeeklySystemTotalTime()  : bool
getEnablePreMatureException()  : bool
getEnableSplitAtMidnight()  : bool
getEnableSplitPunchControl()  : bool
getEnableSystemLogDetail()  : bool
getGenericDataValue()  : bool|mixed
Generic getter/setter functions that should be used when Validation code is moved from get/set functions to Validate() function.
getGenericJSONDataValue()  : bool|mixed
Generic getter/setter functions for handling generic JSON data in 'other_json' SQL column.
getGenericObject()  : object|bool
Generic function to return and cache class objects ListFactory, ListFactoryMethod, Variable, ID, IDMethod
getGenericOldDataValue()  : bool|mixed
getGenericTempDataValue()  : bool
Generic getter/setter functions that should be used when Validation code is moved from get/set functions to Validate() function.
getHasImage()  : bool
getId()  : bool|mixed
getIDSByListFactory()  : array<string|int, mixed>|bool
getImage()  : bool|string
getImageFileName()  : bool|string
getIterator()  : FactoryListIterator
getLabelId()  : bool|mixed|string
getLatitude()  : bool|float
getLongitude()  : bool|float
getMealPolicies()  : array<string|int, mixed>
Gets any break policies that may apply to this punch.
getNextInsertId()  : bool|string
getNextPunchControlID()  : bool|mixed
getNextStatus()  : int
getNextType()  : int
getObjectAsArray()  : array<string|int, mixed>
getOptions()  : array<string|int, mixed>|bool
getOriginalTimeStamp()  : bool|int
getPermissionColumns()  : bool
getPositionAccuracy()  : bool|float
getPreviousPunchObject()  : bool|null
getProgressBarObject()  : null|ProgressBar
getPunchControlID()  : bool|mixed
getPunchControlObject()  : bool
getRecordCount()  : int|bool
getScheduleID()  : bool
getScheduleObject()  : bool
getScheduleWindowTime()  : bool
getSequenceName()  : bool
getStation()  : bool|mixed
getStationObject()  : bool
getStatus()  : bool|int
getTable()  : bool|string
getTainted()  : bool
Determine if the punch was manually created (without punching in/out) or modified by someone other than the person who punched in/out.
getTimeStamp()  : bool|int
getTransactionMode()  : string
getTransfer()  : bool
getType()  : bool|int
getTypeCode()  : bool|string
getUpdatedBy()  : bool|mixed
getUpdatedDate()  : int
getUser()  : bool|mixed
getUserObject()  : bool
getValidSQLColumns()  : array<string|int, mixed>
getVariableToFunctionMap()  : array<string|int, mixed>|bool
handleFutureTimeSheetRecalculationForExceptions()  : mixed
handleReminderNotifications()  : false
Adds/Removes notifications for punch reminders based on the current action.
handleSaveSQLReturning()  : bool
Used to handle any "RETURNING ..." clause on a SQL INSERT/UPDATE query.
hasDataChanged()  : bool
Determine if the record data has changed at all.
inBreakPolicyWindow()  : bool
Run this function on the previous punch object normally.
inMealPolicyWindow()  : bool
Run this function on the previous punch object normally.
inScheduleStartStopWindow()  : bool
isClientFriendly()  : bool
Check if the remote client is our main UI app controlled by us, vs. a user utilizing the API for example.
isDataDifferent()  : bool
Used to check the differences between a single key in the $old_data vs. $data arrays.
isImageExists()  : bool
isNew()  : bool
Determines if the data is new data, or updated data. Basically determines if a database INSERT or UPDATE SQL statement is generated.
isSQLExceptionRetryable()  : bool
Determines if a SQL exception is one that can be retried or not.
isValid()  : bool
Call class specific validation function just before saving.
isWarning()  : bool
Call class specific validation function just before saving.
modifyInsertQuery()  : mixed
Modifies the automatically generated SQL INSERT query for adding things like " ON CONFLICT ..."
parseCustomFieldsFromArray()  : mixed
postSave()  : bool
preSave()  : bool
removeCache()  : bool
RetryTransaction()  : mixed
Accepts a Closure and is retried at set intervals which should be in a transaction.
rewind()  : bool
Rewinds record set iterator to begining. The same as ADODB's MoveFirst() function.
RollbackSavePoint()  : bool
roundTimeStamp()  : bool|int|mixed
Save()  : bool|int|string
Determines to insert or update, and does it.
saveCache()  : bool
saveImage()  : bool|int
saveSplitAtMidnightPunch()  : bool
Saves the punch object when splitting punches at midnight.
serializeRS()  : string
Serialize ADODB recordset.
setActualTimeStamp()  : bool
setAPIMessageID()  : bool
setCacheLifeTime()  : bool
setCreatedAndUpdatedColumns()  : bool
setCreatedBy()  : bool
setCreatedDate()  : bool
setCustomField()  : void
Set a single custom field by ID.
setCustomFields()  : bool
setDeleted()  : bool
setDeletedBy()  : bool|null
setDeletedDate()  : bool
setEnableAutoTransfer()  : bool
setEnableCalcException()  : bool
setEnableCalcSystemTotalTime()  : bool
setEnableCalcTotalTime()  : bool
setEnableCalcUserDateID()  : bool
setEnableCalcUserDateTotal()  : bool
setEnableCalcWeeklySystemTotalTime()  : bool
setEnablePreMatureException()  : bool
setEnableSplitAtMidnight()  : bool
setEnableSplitPunchControl()  : bool
setEnableSystemLogDetail()  : bool
setGenericDataValue()  : bool
setGenericJSONDataValue()  : bool
Generic getter/setter functions for handling generic JSON data in 'other_json' SQL column.
setGenericObject()  : bool
Allow method to pre-populate/overwrite the cache if needed.
setGenericTempDataValue()  : bool
setHasImage()  : bool
setId()  : bool
setImage()  : bool
setIsValid()  : bool
Sets the is_valid flag, mostly used to set it to FALSE to force a full re-validation.
setLatitude()  : bool
setLongitude()  : bool
setObjectFromArray()  : bool
setOriginalTimeStamp()  : bool
setPositionAccuracy()  : bool
setProgressBarObject()  : bool
setPunchControlID()  : bool
setQueryStatementTimeout()  : bool
setScheduleID()  : bool
setStation()  : bool
setStatus()  : bool
setTimeStamp()  : bool
setTransactionMode()  : mixed
setTransfer()  : bool
setType()  : bool
setUpdatedBy()  : bool|null
setUpdatedDate()  : bool|int|null|string
setUser()  : bool
setUserPunch()  : mixed|null
Helper function to save real-time punches from both the API and the JobQueue.
setUserPunchForJobQueue()  : array<string|int, mixed>
Save real-time punches through the JobQueue
StartSavePoint()  : bool
StartTransaction()  : mixed
toBool()  : int
toJSONBool()  : string
Validate()  : bool
validateCustomFields()  : mixed
castInteger()  : bool|int|string
getColumnsFromAliases()  : array<string|int, mixed>
getCustomFieldWhereSQL()  : string
getDatabaseType()  : string
getListSQL()  : bool|int|string|array<string|int, mixed>
getSortSQL()  : bool|string
getSQLStringAggregate()  : string
getSQLToEpochFunction()  : string
getSQLToTimeFunction()  : string
getSQLToTimeStampFunction()  : string
getWhereClauseSQL()  : null|string
getWhereSQL()  : bool|string
handleSQLSyntax()  : string
SQL where clause Syntax: or % as wildcard.
stripSQLSyntax()  : mixed
getInsertQuery()  : mixed
getRecordSetColumnList()  : array<string|int, mixed>|bool
getUpdateQuery()  : bool
parseColumnName()  : bool|string
Parses out the exact column name, without any aliases, or = signs in it.

Properties

$cache

public Cache_Lite_Function|Cache_Lite_Output $cache = \null

$enable_system_log_detail

protected mixed $enable_system_log_detail = \true

Methods

__construct()

Factory constructor.

public __construct() : mixed
Return values
mixed

__toString()

Print primary columns from object.

public __toString() : bool|string
Return values
bool|string

_getFactoryOptions()

public _getFactoryOptions(string $name[, null $parent = null ]) : array<string|int, mixed>|null
Parameters
$name : string
$parent : null = null
Return values
array<string|int, mixed>|null

_getVariableToFunctionMap()

public _getVariableToFunctionMap(array<string|int, mixed> $data) : array<string|int, mixed>
Parameters
$data : array<string|int, mixed>
Return values
array<string|int, mixed>

addLog()

public addLog( $log_action) : bool
Parameters
$log_action :
Return values
bool

addPunchReminderTransfer()

Adds a transfer punch reminder notification

public addPunchReminderTransfer(mixed $payload) : bool
Parameters
$payload : mixed
Return values
bool

bulkDelete()

public bulkDelete(string|array<string|int, mixed> $ids) : bool
Parameters
$ids : string|array<string|int, mixed>

UUID

Tags
throws
DBError
Return values
bool

calcMealAndBreakTotalTime()

Takes Punch rows and calculates the total breaks/lunches and how long each is.

public static calcMealAndBreakTotalTime( $data) : array<string|int, mixed>|bool
Parameters
$data :
Return values
array<string|int, mixed>|bool

castGenericDataValue()

Generic casting function that all set/get*() functions should pass through.

public castGenericDataValue( &$value,  $cast) : mixed

However for now lets wait until we have meta data from SQL schema so we can pass those datatypes directly into this.

Parameters
$value :

mixed

$cast :

string

Return values
mixed

cleanStoragePath()

public cleanStoragePath([string $company_id = null ][, string $user_id = null ][, string $punch_id = null ]) : bool
Parameters
$company_id : string = null

UUID

$user_id : string = null

UUID

$punch_id : string = null

UUID

Return values
bool

clearCacheSavedInTransaction()

public clearCacheSavedInTransaction() : bool
Return values
bool

clearData()

public clearData() : bool
Return values
bool

clearGeoCode()

public clearGeoCode([array<string|int, mixed> $data_diff = null ]) : bool
Parameters
$data_diff : array<string|int, mixed> = null
Return values
bool

clearNonMappedData()

Removes array elements from $data that are not in the function map.

public clearNonMappedData([array<string|int, mixed>|null $data = null ]) : array<string|int, mixed>|null
Parameters
$data : array<string|int, mixed>|null = null
Return values
array<string|int, mixed>|null

clearOldData()

public clearOldData() : bool
Return values
bool

CommitSavePoint()

public CommitSavePoint( $name) : bool
Parameters
$name :
Return values
bool

CommitTransaction()

public CommitTransaction([bool $unnest_transactions = false ]) : mixed
Parameters
$unnest_transactions : bool = false
Tags
throws
DBError
Return values
mixed

convertFlexArray()

public convertFlexArray(array<string|int, mixed> $array) : array<string|int, mixed>
Parameters
$array : array<string|int, mixed>
Return values
array<string|int, mixed>

convertSetUserPunchToGetPunch()

public static convertSetUserPunchToGetPunch(mixed $queued_punch_data) : mixed
Parameters
$queued_punch_data : mixed
Return values
mixed

decodeCustomFields()

public decodeCustomFields() : bool
Return values
bool

decodeGenericJSONData()

Decode generic 'other_json' column data.

public decodeGenericJSONData() : bool
Return values
bool

decodeJSONColumn()

Decodes JSON columns that are not the 'other_json' column.

public decodeJSONColumn( $column) : bool
Parameters
$column :
Return values
bool

Delete()

Deletes the record directly from the database.

public Delete([bool $disable_audit_log = false ]) : bool
Parameters
$disable_audit_log : bool = false
Tags
throws
DBError
Return values
bool

encodeCustomFields()

public encodeCustomFields() : bool
Return values
bool

encodeGenericJSONData()

Encode generic 'other_json' column data. This should only be done in Save() after all validation has occurred already and we are just about to commit it to the DB.

public encodeGenericJSONData() : bool
Return values
bool

encodeJSONColumns()

Encode any JSON columns that are not 'other_json' column. This should only be done in Save() after all validation has occurred already and we are just about to commit it to the DB.

public encodeJSONColumns() : bool
Return values
bool

ExecuteSQL()

Execute SQL queries and handle paging properly for select statements.

public ExecuteSQL(string $query[, array<string|int, mixed> $ph = null ][, int $limit = null ][, int $page = null ]) : bool
Parameters
$query : string
$ph : array<string|int, mixed> = null
$limit : int = null

Limit the number of records returned

$page : int = null

Page number of records to return for pagination

Tags
throws
DBError
throws
Exception
Return values
bool

FailTransaction()

public FailTransaction() : mixed
Return values
mixed

findPunchControlID()

public findPunchControlID() : bool|mixed
Return values
bool|mixed

findScheduleID()

public findScheduleID([int $epoch = null ][, string $user_id = null ][, mixed $status_id = null ]) : bool
Parameters
$epoch : int = null

EPOCH

$user_id : string = null

UUID

$status_id : mixed = null
Return values
bool

fromBool()

public fromBool(string|int|bool $value) : bool
Parameters
$value : string|int|bool
Return values
bool

fromJSONBool()

public fromJSONBool(string|int|bool $value) : bool
Parameters
$value : string|int|bool
Return values
bool

getActualTimeStamp()

public getActualTimeStamp([bool $raw = false ]) : bool|int
Parameters
$raw : bool = false
Return values
bool|int

getAffectedRows()

public getAffectedRows() : int|bool
Return values
int|bool

getAPIMessageID()

Used for updating progress bar for API calls.

public getAPIMessageID() : bool|null
Return values
bool|null

getBreakPolicies()

Gets any break policies that may apply to this punch.

public getBreakPolicies() : array<string|int, mixed>
Tags
throws
ReflectionException
Return values
array<string|int, mixed>

getCache()

public getCache(string $cache_id[, string $group_id = null ]) : bool|mixed
Parameters
$cache_id : string
$group_id : string = null
Return values
bool|mixed

getColumn()

Generic function get any data from the data array.

public getColumn(string $column) : bool|mixed

Used mainly for the reports that return grouped queries and such.

Parameters
$column : string
Return values
bool|mixed

getColumnList()

public getColumnList() : array<string|int, mixed>|bool
Return values
array<string|int, mixed>|bool

getCompanyGenericMapData()

Generic function to return and cache CompanyGenericMap data, this greatly improves performance of CalculatePolicy when many policies exist.

public getCompanyGenericMapData(string $company_id, int $object_type_id, string $id, string $variable) : mixed
Parameters
$company_id : string

UUID

$object_type_id : int
$id : string

UUID

$variable : string
Return values
mixed

getCreatedAndUpdatedColumns()

public getCreatedAndUpdatedColumns(array<string|int, mixed> &$data[, null $include_columns = null ]) : bool
Parameters
$data : array<string|int, mixed>
$include_columns : null = null
Return values
bool

getCreatedBy()

public getCreatedBy() : bool|mixed
Return values
bool|mixed

getCreatedDate()

public getCreatedDate() : int
Return values
int

getCurrent()

Grabs the current object

public final getCurrent() : mixed
Return values
mixed

getCurrentRow()

public getCurrentRow([int $offset = 1 ]) : int|bool
Parameters
$offset : int = 1
Return values
int|bool

getCustomField()

Get a single custom field by ID.

public getCustomField(string $id) : void
Parameters
$id : string

UUID

Return values
void

getCustomFields()

public getCustomFields( $company_id,  $data[,  $include_columns = null ]) : mixed
Parameters
$company_id :
$data :
$include_columns : = null
Return values
mixed

getCustomFieldsColumns()

public getCustomFieldsColumns(array<string|int, mixed> $columns, string $company_id[, bool $use_sort_prefix = true ][, string|null $table_name = null ]) : array<string|int, mixed>
Parameters
$columns : array<string|int, mixed>
$company_id : string
$use_sort_prefix : bool = true
$table_name : string|null = null
Return values
array<string|int, mixed>

getCustomFieldsDataForObject()

Get custom field data for this specific object, so it can be easily cached in memory without having to go to the database or unserialize it from cache for every row.

public getCustomFieldsDataForObject( $company_id[, mixed $table_name = null ]) : array<string|int, mixed>
Parameters
$company_id :
$table_name : mixed = null
Tags
throws
ReflectionException
Return values
array<string|int, mixed>

getCustomFieldsDefaultData()

public getCustomFieldsDefaultData( $company_id,  $data[, bool $get_all_fields = false ]) : mixed
Parameters
$company_id :
$data :
$get_all_fields : bool = false
Return values
mixed

getCustomFieldsParseHints()

public getCustomFieldsParseHints(array<string|int, mixed> $columns, string $company_id, string|null $table_name) : array<string|int, mixed>
Parameters
$columns : array<string|int, mixed>
$company_id : string
$table_name : string|null
Return values
array<string|int, mixed>

getCustomFieldTableName()

public getCustomFieldTableName() : string
Return values
string

getDataDifferences()

Returns the differences in data from the DB vs the in-memory object, so the data will be the OLD data. Used in Validation/postSave() functions to determine if a field has changed or not.

public getDataDifferences() : array<string|int, mixed>
Return values
array<string|int, mixed>

getDateRangeSQL()

This function takes plain input from the user and creates a SQL statement for filtering based on a date range.

public getDateRangeSQL(string $str, string $column[, string $format = 'epoch' ][, bool $include_blank_dates = false ]) : bool|string

Supported Syntax:

=01-Jan-09 <=01-Jan-09 <01-Jan-09 01-Jan-09 01-Jan-09 & <10-Jan-09

Parameters
$str : string
$column : string
$format : string = 'epoch'
$include_blank_dates : bool = false
Return values
bool|string

getDefaultPunchSettings()

public getDefaultPunchSettings(object $user_obj, int $epoch[, object $station_obj = null ][, object $permission_obj = null ][, float $latitude = null ][, float $longitude = null ][, float $position_accuracy = null ]) : array<string|int, mixed>
Parameters
$user_obj : object
$epoch : int

EPOCH

$station_obj : object = null
$permission_obj : object = null
$latitude : float = null
$longitude : float = null
$position_accuracy : float = null
Return values
array<string|int, mixed>

getDeleted()

public getDeleted() : bool
Return values
bool

getDeletedBy()

public getDeletedBy() : bool|mixed
Return values
bool|mixed

getDeletedDate()

public getDeletedDate() : bool|mixed
Return values
bool|mixed

getEmptyRecordSet()

public getEmptyRecordSet([string $id = null ]) : mixed
Parameters
$id : string = null

UUID

Tags
throws
DBError
Return values
mixed

getEnableAutoTransfer()

public getEnableAutoTransfer() : bool
Return values
bool

getEnableCalcException()

public getEnableCalcException() : bool
Return values
bool

getEnableCalcSystemTotalTime()

public getEnableCalcSystemTotalTime() : bool
Return values
bool

getEnableCalcTotalTime()

public getEnableCalcTotalTime() : bool
Return values
bool

getEnableCalcUserDateID()

public getEnableCalcUserDateID() : bool
Return values
bool

getEnableCalcUserDateTotal()

public getEnableCalcUserDateTotal() : bool
Return values
bool

getEnableCalcWeeklySystemTotalTime()

public getEnableCalcWeeklySystemTotalTime() : bool
Return values
bool

getEnablePreMatureException()

public getEnablePreMatureException() : bool
Return values
bool

getEnableSplitAtMidnight()

public getEnableSplitAtMidnight() : bool
Return values
bool

getEnableSplitPunchControl()

public getEnableSplitPunchControl() : bool
Return values
bool

getEnableSystemLogDetail()

public getEnableSystemLogDetail() : bool
Return values
bool

getGenericDataValue()

Generic getter/setter functions that should be used when Validation code is moved from get/set functions to Validate() function.

public getGenericDataValue(string $name[, null $cast = null ]) : bool|mixed
Parameters
$name : string
$cast : null = null
Return values
bool|mixed

getGenericJSONDataValue()

Generic getter/setter functions for handling generic JSON data in 'other_json' SQL column.

public getGenericJSONDataValue(string $name[, null $cast = null ]) : bool|mixed
Parameters
$name : string
$cast : null = null
Return values
bool|mixed

getGenericObject()

Generic function to return and cache class objects ListFactory, ListFactoryMethod, Variable, ID, IDMethod

public getGenericObject(string $list_factory, string|int $id, string $variable[, string $list_factory_method = 'getById' ][, string $id_method = 'getID' ]) : object|bool
Parameters
$list_factory : string
$id : string|int

UUID

$variable : string
$list_factory_method : string = 'getById'
$id_method : string = 'getID'
Return values
object|bool

getGenericOldDataValue()

public getGenericOldDataValue(string $name) : bool|mixed
Parameters
$name : string

Gets data value from old_data array, or the original value in the database, prior to any changes currently in memory.

Return values
bool|mixed

getGenericTempDataValue()

Generic getter/setter functions that should be used when Validation code is moved from get/set functions to Validate() function.

public getGenericTempDataValue(string $name) : bool
Parameters
$name : string
Return values
bool

getId()

public getId() : bool|mixed
Return values
bool|mixed

getIDSByListFactory()

public getIDSByListFactory(object $lf) : array<string|int, mixed>|bool
Parameters
$lf : object
Return values
array<string|int, mixed>|bool

getImage()

public getImage([string $company_id = null ][, string $user_id = null ][, string $punch_id = null ]) : bool|string
Parameters
$company_id : string = null

UUID

$user_id : string = null

UUID

$punch_id : string = null

UUID

Return values
bool|string

getImageFileName()

public getImageFileName([string $company_id = null ][, string $user_id = null ][, string $punch_id = null ]) : bool|string
Parameters
$company_id : string = null

UUID

$user_id : string = null

UUID

$punch_id : string = null

UUID

Return values
bool|string

getLabelId()

public getLabelId() : bool|mixed|string
Return values
bool|mixed|string

getLongitude()

public getLongitude() : bool|float
Return values
bool|float

getMealPolicies()

Gets any break policies that may apply to this punch.

public getMealPolicies() : array<string|int, mixed>
Tags
throws
ReflectionException
Return values
array<string|int, mixed>

getNextInsertId()

public getNextInsertId() : bool|string
Return values
bool|string

getNextPunchControlID()

public getNextPunchControlID() : bool|mixed
Return values
bool|mixed

getNextType()

public getNextType([int $epoch = null ]) : int
Parameters
$epoch : int = null

EPOCH

Return values
int

getObjectAsArray()

public getObjectAsArray([null $include_columns = null ][, bool $permission_children_ids = false ]) : array<string|int, mixed>
Parameters
$include_columns : null = null
$permission_children_ids : bool = false
Return values
array<string|int, mixed>

getOptions()

public getOptions(string $name[, string|int $parent = null ]) : array<string|int, mixed>|bool
Parameters
$name : string
$parent : string|int = null
Return values
array<string|int, mixed>|bool

getOriginalTimeStamp()

public getOriginalTimeStamp([bool $raw = false ]) : bool|int
Parameters
$raw : bool = false
Return values
bool|int

getPermissionColumns()

public getPermissionColumns(array<string|int, mixed> &$data, string $object_user_id, string $created_by_id[, string $permission_children_ids = null ][, array<string|int, mixed> $include_columns = null ]) : bool
Parameters
$data : array<string|int, mixed>
$object_user_id : string

UUID

$created_by_id : string

UUID

$permission_children_ids : string = null

UUID

$include_columns : array<string|int, mixed> = null
Return values
bool

getPositionAccuracy()

public getPositionAccuracy() : bool|float
Return values
bool|float

getPreviousPunchObject()

public getPreviousPunchObject(int $epoch[, bool $user_id = false ][, bool $ignore_future_punches = false ]) : bool|null
Parameters
$epoch : int

EPOCH

$user_id : bool = false
$ignore_future_punches : bool = false
Return values
bool|null

getPunchControlID()

public getPunchControlID() : bool|mixed
Return values
bool|mixed

getPunchControlObject()

public getPunchControlObject() : bool
Return values
bool

getRecordCount()

public getRecordCount() : int|bool
Return values
int|bool

getScheduleWindowTime()

public getScheduleWindowTime() : bool
Return values
bool

getSequenceName()

public getSequenceName() : bool
Return values
bool

getTable()

public getTable([bool $strip_quotes = false ]) : bool|string
Parameters
$strip_quotes : bool = false
Return values
bool|string

getTainted()

Determine if the punch was manually created (without punching in/out) or modified by someone other than the person who punched in/out.

public getTainted() : bool

Allow for employees manually entering in their own punches (and editing) without that being marked as tainted.

Return values
bool

getTimeStamp()

public getTimeStamp([bool $raw = false ]) : bool|int
Parameters
$raw : bool = false
Return values
bool|int

getTransactionMode()

public getTransactionMode([bool $force = false ]) : string
Parameters
$force : bool = false
Return values
string

getUpdatedBy()

public getUpdatedBy() : bool|mixed
Return values
bool|mixed

getUpdatedDate()

public getUpdatedDate() : int
Return values
int

getValidSQLColumns()

public getValidSQLColumns(array<string|int, mixed> $array[, bool $strict = true ][, array<string|int, mixed> $additional_fields = null ]) : array<string|int, mixed>
Parameters
$array : array<string|int, mixed>
$strict : bool = true
$additional_fields : array<string|int, mixed> = null
Tags
throws
Exception
Return values
array<string|int, mixed>

getVariableToFunctionMap()

public getVariableToFunctionMap([array<string|int, mixed> $data = null ]) : array<string|int, mixed>|bool
Parameters
$data : array<string|int, mixed> = null
Return values
array<string|int, mixed>|bool

handleFutureTimeSheetRecalculationForExceptions()

public handleFutureTimeSheetRecalculationForExceptions() : mixed
Return values
mixed

handleReminderNotifications()

Adds/Removes notifications for punch reminders based on the current action.

public handleReminderNotifications() : false
Tags
throws
ReflectionException
Return values
false

handleSaveSQLReturning()

Used to handle any "RETURNING ..." clause on a SQL INSERT/UPDATE query.

public handleSaveSQLReturning( $rs) : bool
Parameters
$rs :
Return values
bool

hasDataChanged()

Determine if the record data has changed at all.

public hasDataChanged() : bool
Return values
bool

inBreakPolicyWindow()

Run this function on the previous punch object normally.

public inBreakPolicyWindow(int $current_epoch, int $previous_epoch[, null $previous_punch_status = null ]) : bool
Parameters
$current_epoch : int

EPOCH

$previous_epoch : int

EPOCH

$previous_punch_status : null = null
Return values
bool

inMealPolicyWindow()

Run this function on the previous punch object normally.

public inMealPolicyWindow(int $current_epoch, int $previous_epoch[, null $previous_punch_status = null ]) : bool
Parameters
$current_epoch : int

EPOCH

$previous_epoch : int

EPOCH

$previous_punch_status : null = null
Return values
bool

inScheduleStartStopWindow()

public inScheduleStartStopWindow(int $epoch, int $status_id) : bool
Parameters
$epoch : int

EPOCH

$status_id : int
Return values
bool

isClientFriendly()

Check if the remote client is our main UI app controlled by us, vs. a user utilizing the API for example.

public isClientFriendly() : bool

This is mostly used to determine if we can return columns that are resource intensive to compute when obtaining a list. (ie: Users, Jobs)

Return values
bool

isDataDifferent()

Used to check the differences between a single key in the $old_data vs. $data arrays.

public isDataDifferent( $key,  $data_diff[, null $type_id = null ][, null $new_data = null ]) : bool

This is especially important to use when trying to see if a date or timestamp field in the DB has changed, as they need to be handled in special ways.

Parameters
$key :

string

$data_diff :

array

$type_id : null = null

string

$new_data : null = null

mixed

Return values
bool

isImageExists()

public isImageExists([string $company_id = null ][, string $user_id = null ][, string $punch_id = null ][, mixed $file_name = null ]) : bool
Parameters
$company_id : string = null

UUID

$user_id : string = null

UUID

$punch_id : string = null

UUID

$file_name : mixed = null
Return values
bool

isNew()

Determines if the data is new data, or updated data. Basically determines if a database INSERT or UPDATE SQL statement is generated.

public isNew([bool $force_lookup = false ][, string $id = null ]) : bool
Parameters
$force_lookup : bool = false
$id : string = null

UUID

Return values
bool

isSQLExceptionRetryable()

Determines if a SQL exception is one that can be retried or not.

public isSQLExceptionRetryable( $e) : bool
Parameters
$e :

Exception

Return values
bool

isValid()

Call class specific validation function just before saving.

public isValid([bool $ignore_warning = true ]) : bool
Parameters
$ignore_warning : bool = true
Return values
bool

isWarning()

Call class specific validation function just before saving.

public isWarning() : bool
Return values
bool

modifyInsertQuery()

Modifies the automatically generated SQL INSERT query for adding things like " ON CONFLICT ..."

public modifyInsertQuery( $query) : mixed
Parameters
$query :
Return values
mixed

parseCustomFieldsFromArray()

public parseCustomFieldsFromArray( $data) : mixed
Parameters
$data :
Return values
mixed

removeCache()

public removeCache([string $cache_id = null ][, string $group_id = null ]) : bool
Parameters
$cache_id : string = null
$group_id : string = null
Return values
bool

RetryTransaction()

Accepts a Closure and is retried at set intervals which should be in a transaction.

public RetryTransaction( $transaction_function[, int $retry_max_attempts = 4 ][, int $retry_sleep = 1 ]) : mixed
Parameters
$transaction_function :

Closure

$retry_max_attempts : int = 4
$retry_sleep : int = 1

in seconds

Tags
throws
DBError
Return values
mixed

rewind()

Rewinds record set iterator to begining. The same as ADODB's MoveFirst() function.

public final rewind() : bool
Return values
bool

RollbackSavePoint()

public RollbackSavePoint( $name) : bool
Parameters
$name :
Return values
bool

roundTimeStamp()

public roundTimeStamp(int $epoch) : bool|int|mixed
Parameters
$epoch : int

EPOCH

Return values
bool|int|mixed

Save()

Determines to insert or update, and does it.

public Save([bool $reset_data = true ][, bool $force_lookup = false ]) : bool|int|string

Have this handle created, createdby, updated, updatedby.

Parameters
$reset_data : bool = true
$force_lookup : bool = false
Tags
throws
DBError
throws
GeneralError
Return values
bool|int|string

saveCache()

public saveCache(mixed $data, string $cache_id[, string $group_id = null ]) : bool
Parameters
$data : mixed
$cache_id : string
$group_id : string = null
Return values
bool

saveImage()

public saveImage([string $company_id = null ][, string $user_id = null ][, string $punch_id = null ]) : bool|int
Parameters
$company_id : string = null

UUID

$user_id : string = null

UUID

$punch_id : string = null

UUID

Return values
bool|int

saveSplitAtMidnightPunch()

Saves the punch object when splitting punches at midnight.

public saveSplitAtMidnightPunch( $epoch,  $status_id,  $punch_control_id) : bool
Parameters
$epoch :

int EPOCH

$status_id :

int

$punch_control_id :

string UUID

Tags
throws
DBError
throws
GeneralError
throws
ReflectionException
Return values
bool

serializeRS()

Serialize ADODB recordset.

public serializeRS(object $rs) : string
Parameters
$rs : object
Tags
noinspection

PhpUndefinedConstantInspection

Return values
string

setActualTimeStamp()

public setActualTimeStamp( $value) : bool
Parameters
$value :
Return values
bool

setAPIMessageID()

public setAPIMessageID(string $id) : bool
Parameters
$id : string

UUID

Return values
bool

setCacheLifeTime()

public setCacheLifeTime(int $secs) : bool
Parameters
$secs : int
Return values
bool

setCreatedAndUpdatedColumns()

public setCreatedAndUpdatedColumns(array<string|int, mixed> $data[, array<string|int, mixed> $variable_to_function_map = [] ]) : bool
Parameters
$data : array<string|int, mixed>
$variable_to_function_map : array<string|int, mixed> = []
Return values
bool

setCreatedBy()

public setCreatedBy([string $id = null ]) : bool
Parameters
$id : string = null

UUID

Return values
bool

setCreatedDate()

public setCreatedDate([int $epoch = null ]) : bool
Parameters
$epoch : int = null

EPOCH

Return values
bool

setCustomField()

Set a single custom field by ID.

public setCustomField(mixed $value, string $id) : void
Parameters
$value : mixed
$id : string

UUID

Return values
void

setCustomFields()

public setCustomFields( $data) : bool
Parameters
$data :
Return values
bool

setDeleted()

public setDeleted(bool $bool) : bool
Parameters
$bool : bool
Return values
bool

setDeletedBy()

public setDeletedBy([string $id = null ]) : bool|null
Parameters
$id : string = null

UUID

Return values
bool|null

setDeletedDate()

public setDeletedDate([int $epoch = null ]) : bool
Parameters
$epoch : int = null

EPOCH

Return values
bool

setEnableAutoTransfer()

public setEnableAutoTransfer( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableCalcException()

public setEnableCalcException( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableCalcSystemTotalTime()

public setEnableCalcSystemTotalTime( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableCalcTotalTime()

public setEnableCalcTotalTime( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableCalcUserDateID()

public setEnableCalcUserDateID( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableCalcUserDateTotal()

public setEnableCalcUserDateTotal( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableCalcWeeklySystemTotalTime()

public setEnableCalcWeeklySystemTotalTime( $bool) : bool
Parameters
$bool :
Return values
bool

setEnablePreMatureException()

public setEnablePreMatureException( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableSplitAtMidnight()

public setEnableSplitAtMidnight( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableSplitPunchControl()

public setEnableSplitPunchControl( $bool) : bool
Parameters
$bool :
Return values
bool

setEnableSystemLogDetail()

public setEnableSystemLogDetail( $bool) : bool
Parameters
$bool :
Return values
bool

setGenericDataValue()

public setGenericDataValue(string $name, mixed $data[, null $cast = null ]) : bool
Parameters
$name : string
$data : mixed
$cast : null = null
Return values
bool

setGenericJSONDataValue()

Generic getter/setter functions for handling generic JSON data in 'other_json' SQL column.

public setGenericJSONDataValue(string $name, mixed $data[, null $cast = null ]) : bool
Parameters
$name : string
$data : mixed
$cast : null = null
Return values
bool

setGenericObject()

Allow method to pre-populate/overwrite the cache if needed.

public setGenericObject(object $obj, string $variable) : bool
Parameters
$obj : object
$variable : string
Return values
bool

setGenericTempDataValue()

public setGenericTempDataValue(string $name, mixed $data) : bool
Parameters
$name : string
$data : mixed
Return values
bool

setHasImage()

public setHasImage( $value) : bool
Parameters
$value :
Return values
bool

setId()

public setId(string $id) : bool
Parameters
$id : string

UUID

Return values
bool

setImage()

public setImage( $data) : bool
Parameters
$data :
Return values
bool

setIsValid()

Sets the is_valid flag, mostly used to set it to FALSE to force a full re-validation.

public setIsValid([bool $is_valid = false ]) : bool

Required because $this->is_valid is a private variable and should stay that way.

Parameters
$is_valid : bool = false
Return values
bool

setLatitude()

public setLatitude( $value) : bool
Parameters
$value :
Return values
bool

setLongitude()

public setLongitude( $value) : bool
Parameters
$value :
Return values
bool

setObjectFromArray()

public setObjectFromArray( $data) : bool
Parameters
$data :
Return values
bool

setOriginalTimeStamp()

public setOriginalTimeStamp( $value) : bool
Parameters
$value :
Return values
bool

setPositionAccuracy()

public setPositionAccuracy( $value) : bool
Parameters
$value :
Return values
bool

setProgressBarObject()

public setProgressBarObject(object $obj) : bool
Parameters
$obj : object
Return values
bool

setPunchControlID()

public setPunchControlID( $value) : bool
Parameters
$value :
Return values
bool

setQueryStatementTimeout()

public setQueryStatementTimeout([null $milliseconds = null ]) : bool
Parameters
$milliseconds : null = null
Return values
bool

setScheduleID()

public setScheduleID( $value) : bool
Parameters
$value :
Return values
bool

setStation()

public setStation( $value) : bool
Parameters
$value :
Return values
bool

setStatus()

public setStatus( $value) : bool
Parameters
$value :
Return values
bool

setTimeStamp()

public setTimeStamp( $value[, bool $enable_rounding = true ]) : bool
Parameters
$value :
$enable_rounding : bool = true
Return values
bool

setTransactionMode()

public setTransactionMode([string $mode = '' ]) : mixed
Parameters
$mode : string = ''
Return values
mixed

setTransfer()

public setTransfer( $value[, null $time_stamp = null ]) : bool
Parameters
$value :
$time_stamp : null = null
Return values
bool

setType()

public setType( $value) : bool
Parameters
$value :
Return values
bool

setUpdatedBy()

public setUpdatedBy([string $id = null ]) : bool|null
Parameters
$id : string = null

UUID

Return values
bool|null

setUpdatedDate()

public setUpdatedDate([int $epoch = null ]) : bool|int|null|string
Parameters
$epoch : int = null

EPOCH

Return values
bool|int|null|string

setUser()

public setUser( $value) : bool
Parameters
$value :
Return values
bool

setUserPunch()

Helper function to save real-time punches from both the API and the JobQueue.

public setUserPunch( $data,  $validate_only,  $ignore_warning,  $validator_stats,  $validator,  $save_result,  $key) : mixed|null
Parameters
$data :
$validate_only :
$ignore_warning :
$validator_stats :
$validator :
$save_result :
$key :
Tags
throws
DBError
Return values
mixed|null

setUserPunchForJobQueue()

Save real-time punches through the JobQueue

public static setUserPunchForJobQueue( $data,  $validate_only,  $ignore_warning,  $validator_stats,  $validator,  $save_result,  $key) : array<string|int, mixed>
Parameters
$data :
$validate_only :
$ignore_warning :
$validator_stats :
$validator :
$save_result :
$key :
Tags
throws
DBError
throws
ReflectionException
Return values
array<string|int, mixed>

StartSavePoint()

public StartSavePoint( $name) : bool
Parameters
$name :
Return values
bool

StartTransaction()

public StartTransaction() : mixed
Return values
mixed

toBool()

public toBool(string|int|bool $value) : int
Parameters
$value : string|int|bool
Return values
int

toJSONBool()

public toJSONBool(string|int|bool $value) : string
Parameters
$value : string|int|bool
Return values
string

Validate()

public Validate([bool $ignore_warning = true ]) : bool
Parameters
$ignore_warning : bool = true
Return values
bool

validateCustomFields()

public validateCustomFields(mixed $company_id[, mixed $enable_required_field_check = true ]) : mixed
Parameters
$company_id : mixed
$enable_required_field_check : mixed = true
Return values
mixed

castInteger()

protected castInteger(int|string $int[, string $type = 'int' ]) : bool|int|string
Parameters
$int : int|string
$type : string = 'int'
Return values
bool|int|string

getColumnsFromAliases()

protected getColumnsFromAliases(array<string|int, mixed> $columns, array<string|int, mixed> $aliases) : array<string|int, mixed>
Parameters
$columns : array<string|int, mixed>
$aliases : array<string|int, mixed>
Return values
array<string|int, mixed>

getCustomFieldWhereSQL()

protected getCustomFieldWhereSQL(mixed $company_id, mixed $column, array<string|int, mixed> $filter_data, array<string|int, mixed> &$ph) : string
Parameters
$company_id : mixed
$column : mixed
$filter_data : array<string|int, mixed>
$ph : array<string|int, mixed>
Return values
string

getDatabaseType()

protected getDatabaseType() : string
Return values
string

getListSQL()

protected getListSQL(array<string|int, mixed>|string|int $array[, array<string|int, mixed> &$ph = null ][, string|bool $cast = false ]) : bool|int|string|array<string|int, mixed>
Parameters
$array : array<string|int, mixed>|string|int
$ph : array<string|int, mixed> = null
$cast : string|bool = false
Return values
bool|int|string|array<string|int, mixed>

getSortSQL()

protected getSortSQL(array<string|int, mixed> $array[, bool $strict = true ][, array<string|int, mixed> $additional_fields = null ]) : bool|string
Parameters
$array : array<string|int, mixed>
$strict : bool = true
$additional_fields : array<string|int, mixed> = null
Return values
bool|string

getSQLStringAggregate()

protected getSQLStringAggregate(string $sql, string $glue) : string
Parameters
$sql : string
$glue : string
Return values
string

getSQLToEpochFunction()

protected getSQLToEpochFunction(string $sql) : string
Parameters
$sql : string
Return values
string

getSQLToTimeFunction()

protected getSQLToTimeFunction(string $sql) : string
Parameters
$sql : string
Return values
string

getSQLToTimeStampFunction()

protected getSQLToTimeStampFunction() : string
Return values
string

getWhereClauseSQL()

protected getWhereClauseSQL(array<string|int, mixed>|string $columns, array<string|int, mixed>|string $args, string $type, array<string|int, mixed> &$ph[, string $query_stub = null ][, bool $and = true ]) : null|string
Parameters
$columns : array<string|int, mixed>|string
$args : array<string|int, mixed>|string
$type : string
$ph : array<string|int, mixed>
$query_stub : string = null
$and : bool = true
Tags
noinspection

PhpParamsInspection

Return values
null|string

getWhereSQL()

protected getWhereSQL(array<string|int, mixed> $array[, bool $append_where = false ]) : bool|string
Parameters
$array : array<string|int, mixed>
$append_where : bool = false
Return values
bool|string

handleSQLSyntax()

SQL where clause Syntax: or % as wildcard.

protected handleSQLSyntax(string $arg) : string

"" as exact match, no default wildcard and no metaphone

Handles '*' and '%' as wildcards, defaults to wildcard on the end always. If no wildcard is to be added, the last character should be |

Parameters
$arg : string
Return values
string

stripSQLSyntax()

protected stripSQLSyntax(string $arg) : mixed
Parameters
$arg : string
Return values
mixed

getInsertQuery()

private getInsertQuery() : mixed
Return values
mixed

getRecordSetColumnList()

private getRecordSetColumnList(object $rs) : array<string|int, mixed>|bool
Parameters
$rs : object
Return values
array<string|int, mixed>|bool

parseColumnName()

Parses out the exact column name, without any aliases, or = signs in it.

private parseColumnName(string $column) : bool|string
Parameters
$column : string
Return values
bool|string

Search results