$log_template
$log_template : string
The template for log messages in ::Log()
MkFolder(string $root, array $components, boolean $make = true) : string|boolean
Create folder path
When the make argument set to true this function will try create the folder Return the folder components without root part
string | $root | The path to the base folder |
array | $components | The list of folder components |
boolean | $make | Try to create the folder |
The combined relative path as string
CopyFile(string $source, string $target) : \FAA\Obj\Result
Copy file Copy a single file with obtaining lock on index before
string | $source | Absolute path to source |
string | $target | Absolute path to target |
A system result object
CopyFolder(string $source, string $target) : \FAA\Obj\Result
Copy folder This method copies the source folder to the target folder path. The folder itself is not coiped but all of its contents.
This method creates the target folder f it is not present.
string | $source | The source folder destination |
string | $target | The target folder name |
A system result object
FileExists(string $fileName, boolean $caseSensitive = true) : boolean
Check if file exists
Does check if a file is existing, will also check if the file exists as lower case by glob as fallback.
string | $fileName | The path to the file |
boolean | $caseSensitive | Use case sensitive path, defaults to true |
File exists
ReadFixedColumnFile(string $path, integer $length = 10000) : \FAA\Obj\Result
Read file with fixed column width
Automatic file parser based on the heads and assuming a " " space is used to make the cols equal
string | $path | Absolute link to the file to open |
integer | $length | Limiter for line length |
A system result object
ReadCsv(string $path, string $delimiter = ';', string $enclosure = "'", integer $length = 100000, string $escape = "\\", boolean $check_head = true) : \FAA\Obj\Result
Read a CSV file to local storage
Fetch the file and add it to a local result object file is parsed with php function to get csv from file, arguments of this methods align with official one
string | $path | The absolute path to file to open |
string | $delimiter | Have a look at http://php.net/manual/de/function.fgetcsv.php delimiter |
string | $enclosure | Have a look at http://php.net/manual/de/function.fgetcsv.php enclosure |
integer | $length | Have a look at http://php.net/manual/de/function.fgetcsv.php length |
string | $escape | Have a look at http://php.net/manual/de/function.fgetcsv.php escape |
boolean | $check_head | When set, check the first line as head and validate following line lengths |
A system result object
WriteCsv(string $path, array $list, string $delimiter = ';', string $enclosure = "'", string $escape = "\\") : \FAA\Obj\Result
Write a array of entries to csv file
string | $path | The absolute path to file to open |
array | $list | The source to write |
string | $delimiter | Have a look at http://php.net/manual/de/function.fgetcsv.php delimiter |
string | $enclosure | Have a look at http://php.net/manual/de/function.fgetcsv.php enclosure |
string | $escape | Have a look at http://php.net/manual/de/function.fgetcsv.php escape |
The write result
Unzip(string $file, string $target = null) : \FAA\Obj\Result
Unzip a file
Take the archive, unzip it and place the results in the defined folder or an automated one
string | $file | Absolute path to file |
string | $target | The output folder or, null for dynamic one |
The unzip result
Zip(string $source, string $target) : \FAA\Obj\Result
Create a zip archive from folder or file contents
string | $source | |
string | $target |
TailLogfile(string $path, integer $max = 200, integer $buffer = 4096) : \FAA\Obj\Result
tail a log file get set of lines inside a logfile
string | $path | The target log file path |
integer | $max | Maximum buffer length of array |
integer | $buffer | Maximum buffer length of line characters |
A default system result object
GetLock() : \FAA\Obj\Result
obtain lock try to obtain the lock indicated by lock file in var
A default system result object
TryUnLock(integer $pid, string $path = null) : boolean
obtain lock with retry try to obtain the lock indicated by lock file in var
integer | $pid | Additional lock level reliability with process id |
string | $path | Path to lock file to obtain lock at |
A default system result object
TryGetLock(string $path = null, integer $try_count = FAA_WRITE_RETRY, float $seconds = 0.25, integer $pid) : boolean
obtain lock with retry try to obtain the lock indicated by lock file in var
string | $path | Path to lock file to obtain lock at |
integer | $try_count | Number of retry runs |
float | $seconds | Seconds to wait per run |
integer | $pid | Additional lock level reliability with process id |
True on successful lock otherwise false
RevokeLock() : \FAA\Obj\Result
release lock try to release the lock indicated by lock file in var
A default system result object
GzCompressFile(string $source, integer $level = 9, boolean $clean = true) : \FAA\Obj\Result
GZIPs a file on disk (appending .gz to the name)
From http://stackoverflow.com/questions/6073397/how-do-you-create-a-gz-file-using-php Based on function by Kioob at: http://www.php.net/manual/en/function.gzwrite.php#34955
string | $source | Path to file that should be compressed |
integer | $level | GZIP compression level (default: 9) |
boolean | $clean | Clean source file after compression (default: true) |
A default system result object
DecodeJsonFile(string $path, $mode = true, $crypt = false) : \FAA\Obj\Result
parse json from file to object or assoc use the json parse to fetch text data from a given path and return it as object with assoc or object payload
string | $path | The absolute path to a certain storage file |
$mode | (boolean) Parse as assoc or object, default assoc |
|
$crypt | (boolean) Decrypt string before parsing |
A default system result object
DecodeJson(string $data, boolean $mode = true, boolean|string $crypt = false) : \FAA\Obj\Result
Parse json from string to object or assoc
Use the json parse function to decode a string to assoc or object It will use the given code in crypt to decrypt or fall back to system key
string | $data | The payload to decode |
boolean | $mode | Parse as assoc or object, default is true and therefor assoc array |
boolean|string | $crypt | Decrypt string before parsing |
A default system result object
EncodeJson(mixed $data, integer $mode = JSON_PRETTY_PRINT, boolean $crypt = false) : \FAA\Obj\Result
Serialize a given input to json representation use the json parse function to decode an assoc or object
mixed | $data | The payload to encode |
integer | $mode | Serialize readable or unformatted |
boolean | $crypt | Encrypt the result after serialisation |
A default system result object
StoreEncodedJson(string $path, mixed $data, integer $mode = JSON_PRETTY_PRINT, boolean $crypt = false) : \FAA\Obj\Result
serialize a given input use the json parse function to create json representation and store it in a certain file this method does a encryption also on demand
string | $path | The target file path |
mixed | $data | The payload to encode |
integer | $mode | Serialize readable or not formatted |
boolean | $crypt | Encrypt the result after serialisation |
A default system result object
WriteFile(string $path, string $data, integer $flags) : boolean
Write string to file This method writes the given data to the defined file, it will wait when the system is in git lock mode.
This method returns valid result also for writing empty strings unlike file put contents default behavior
string | $path | The target file path |
string | $data | The payload to store in the target file |
integer | $flags | File put content flags (http://php.net/manual/de/function.file-put-contents.php) |
True on success otherwise false
ListIdFiles(string $dir, string $ext = 'json', boolean $to_int = true) : array
find file ids find a list of file ids inside a folder and its sub directories
string | $dir | The root folder path to search in |
string | $ext | Filter by extension |
boolean | $to_int | Convert to integer when set to true |
A list containing the found id's
ReadFolder(string $dir) : array<mixed,\FAA\Obj\Sys\File>
Read folder
Will list all files and folders of a folder
string | $dir | Path to root folder |
An array of file objects
ListFiles(string $dir, string $ext = '/^json$/', boolean $full = false) : array
list files Iterate over directory and list the found files
string | $dir | The root folder path to search in |
string | $ext | Filter by extension (can be empty, a string or a regex) |
boolean | $full | Check the full name of the file or just the extension when false |
A list containing the found files
DropFolder(string $folder, boolean $full = false) : array
Delete a full folder this method clears or delete a folder recursively, side effect will fill list of delete folders and files
string | $folder | The path to delete |
boolean | $full | Also remove the root folder |
List of deleted folders and files
FilterFolderFilesByModificationTime(string $root, integer $timestamp, boolean $older = true) : \FAA\Obj\Result
Get a list of files that are either older or newer a certain time point
string | $root | The start point for the recursion |
integer | $timestamp | The time point to flip |
boolean | $older | When true result list files are older than the time stamp otherwise newer |
A system result object containing the files
ConfigGetPreset(string $name) : \FAA\Obj\Result
Load a config preset
Fetch a preset from default system storage location and return it decoded
string | $name | The preset name |
A system result object
VersionStringToNumber(string $number, string $regex = '/[^0-9\.]/i', string $replace = '', integer $pads = 4) : string
Convert version number Converts the given number to a unified string e.g. 'v1.234.33' will become 102340033
string | $number | The version number to calculate |
string | $regex | Replacement expression to clear the number upfront |
string | $replace | Replacement string for regex_replace |
integer | $pads | Add this amount of zeros to the left |
The cleared version number
CallExecutable(string $cmd, string $folder, string $outfile = '') : \FAA\Obj\Result
Execute a system command Uses installed executable to perform a system call
string | $cmd | The command to execute |
string | $folder | The working directory |
string | $outfile | Optional output file of the call result |
A system result object
GetMountedHardDrives() : \FAA\Obj\Result
list available disk space use system commands to retrieve disk informations, this method is partial cached On windows we use fsutil on *nix we use df -h
A default system result object
GetSortKey(string $text, string $collation = FAA_LOCALE, boolean $encode = false) : \FAA\Obj\Result
Calculate the sort key Using the ICU collator to create a sort key representation of the given string.
string | $text | The text to convert to sort key |
string | $collation | The collation to use for convert e.g. en_US or, de |
boolean | $encode | When set to true, convert the sort key to urlencoded representation |
A default system result object
IsBase64(string $string, boolean $simple = true) : boolean
guess if string is base64 will try to guess if the given string is base64
string | $string | The string to check |
boolean | $simple | Use a simple method to check the given content |
True on success otherwise false
GetCreationTime(string $path) : \FAA\Obj\Result
Get the creation tim of a file will try to use index, but when file not indexed a atime call is done
string | $path | The relative path to the file to check |
A default system result object
GetLastRecentHashes(string $path = '', integer $count = 1000) : \FAA\Obj\Result
get commit list that affected a file loads the id list of the commits that affected a file
string | $path | The relative path to the file to check or null for whole repository |
integer | $count | The maximum length of history lines to return |
A default system result object
GetLastRecentHash(string $path = '') : \FAA\Obj\Result
get the last commit that affected a file loads the id of the last commit or the default value when file is not known to git
string | $path | The relative path to the file to check or null for whole repository |
A default system result object
ResolveChain(string $ref) : array<mixed,\FAA\Obj\Git\Commit>
Get list of all parental commits based on a certain reference
string | $ref | The start point |
The list of found commits
FileRefParse(string $hash, string $path) : \FAA\Obj\Result
get the values of version of a certain file loads the file content at a certain version
string | $hash | The GIT commit hash to load at |
string | $path | The relative path to the file to check |
A default system result object
FileRefLog(string $path) : \FAA\Obj\Result
get the version list of a certain file loads the list of commits that affected a certain file
string | $path | The relative path to the file to check |
A default system result object
Version() : \FAA\Obj\Result
get the version of git executable loads the version string
A default system result object
Pull(\FAA\Obj\CronJob $job = null) : \FAA\Obj\Result
pull the changes from remote load and update all commits from remote server
\FAA\Obj\CronJob | $job | When running in job context, the cronjob instance otherwise false or null |
A default system result object
CreateBranch( $name) : \FAA\Obj\Result
Create a new branch and checkout
$name |
Push(\FAA\Obj\CronJob $job = null, string $args = null) : \FAA\Obj\Result
push the changes to remote push all outgoing commits to remote server
\FAA\Obj\CronJob | $job | When running in job context, the cronjob instance otherwise false or null |
string | $args | Additional command line arguments |
A default system result object
GetConfigOption(string $key) : \FAA\Obj\Result
get a config option use git config to load a certain option
string | $key | The option to load |
A default system result object
RemoteReachable() : \FAA\Obj\Result
check if server is reachable does a ping to the storage server using ls remote
a default system result object
CleanFolder(string $folder) : \FAA\Obj\Result
remove all unstaged changes from local database will do a git clean -df on the given folder
string | $folder | Relative path to stage target |
A default system result object
StageFolder(string $folder) : \FAA\Obj\Result
stage changes into local database will do a git add -u on the given folder
string | $folder | Relative path to stage target |
A default system result object
DeleteFolder(string $folder) : \FAA\Obj\Result
stage changes into local database will do a git add -u on the given folder
string | $folder | Relative path to stage target |
A default system result object
StageFile(string $file, boolean $rm = false) : \FAA\Obj\Result
Stage changes into local database
Can either remove or add changed files to index. Files to add need to be existing Files to remove have to be deleted before from file system
string | $file | Relative path to stage target |
boolean | $rm | When true, delete from index |
A system result object
ListNotPushedCommits(string $branch = 'master') : \FAA\Obj\Result
List not pushed commits
The list will contain values like this if there are not pushed commits to the given branch 60f2a80b58c19183c73d1189e26baee22715170c [Wed, 22 Aug 2018 11:37:36 +0200] CHG: Make sure to amend only when commits are not pushed yet bfd98c345a6ebb345965c2451b32b785e0bc60c3 [Wed, 22 Aug 2018 11:23:44 +0200] ADD: Integrate solution to do something
string | $branch |
CommitFile(string $file, string $msg, boolean $amend = false) : \FAA\Obj\Result
Commit a single file
Adds the given file and commits it with the given message. The amend function will only work if at least one local commit is remaining.
string | $file | The relative file path |
string | $msg | The commit message |
boolean | $amend | When true the commit will be added to the last unpushed commit |
A system result object
CommitFiles(array $files, \FAA\Obj\CronJob $job = null) : \FAA\Obj\Result
store the changed files update the git index by doing a commit
array | $files | A list of relative filepaths to commit |
\FAA\Obj\CronJob | $job | When running in job context, the cronjob instance otherwise false or null |
A default system result object
AddTag(string $name, string $msg, string $commit = null, boolean $force = false) : \FAA\Obj\Result
Add a tag
Adds an tag to the current commit given the name and a message. With commit and force flag it is possible to overwrite/move tags
string | $name | The tag name e.g. v1.0.0 |
string | $msg | The tag message |
string | $commit | A certain commit |
boolean | $force | When commit is given, and this is true it will force the tag |
A system result object
CommitAll(string $msg) : \FAA\Obj\Result
Create commit over all
Create a commit with the -a option and sets the given message. Will fail when no local changes are available
string | $msg | The commit message |
A system result object
AddUntracked() : \FAA\Obj\Result
add not tracked uses a git alias to add not tracked files
a default system result object
GetHistoryCache() : \FAA\Obj\Result
get the history file load the list of changes before last call
a default system result object
SetHistoryCache(array $data) : \FAA\Obj\Result
store the history file update the list of changes after sync call
array | $data | A list of commit hashes |
A default system result object
AllKnownFiles() : \FAA\Obj\Result
get all files known to git load the list of files in the current index
a default system result object
DiffChangedFiles(string $hash) : \FAA\Obj\Result
list changed files provide a list of changed files of git
string | $hash | The start hash to check from |
A default system result object
HasChanges(null $file = null) : \FAA\Obj\Result
null | $file |
ListChangedFiles(boolean $auto_add = false) : \FAA\Obj\Result
list changed files provide a list of not tracked files of git
boolean | $auto_add | Automatic add files that are currently untracked |
A default system result object
VersionTagList(string $path = '/^tag\: v/') : \FAA\Obj\Result
Get the system version tags
Uses for-each-ref to load and parse a list of tgs to Tag objects
string | $path | The selection string of paths to search in index |
A system result object
OpenCommit(string $object_id) : \FAA\Obj\Git\Commit|null
Open the commit based on an id
string | $object_id | The git hash |
A commit object or null
Encrypt(string $encrypt, string $mc_key = FAA_CODE) : string
encrypt data will try to encrypt the given data with the system encryption code or a customer defined one The function does a blowfish encryption and a base64 conversion
string | $encrypt | The string to encrypt |
string | $mc_key | The key |
The encrypted string base64 encoded
Decrypt(string $encrypted, string $mc_key = FAA_CODE) : string
decrypt data will try to decrypt the given data with the system encryption code or a customer defined one The function does a blowfish decryption and a base64 conversion on demand
string | $encrypted | The string to decrypt (must be base64 encoded) |
string | $mc_key | The key |
The decrypted string
callGitExecutable(string $cmd, string $outfile = '', boolean $lock = false) : \FAA\Obj\Result
Execute a git command
Uses installed git executable to do index operations
string | $cmd | The command to execute |
string | $outfile | Optional output file of the call result |
boolean | $lock | Optional, lock exclusive on demand |
A system result object