Documentation

Application

Table of Contents

Classes

TalerMerchantResponseParser
TalerMerchantResponseParser

Constants

NOCSRFCHECK  = 1
NOCSRFCHECK  = '1'
NOCSRFCHECK  = 1
NOLOGIN  = 1
\file talerbarr/webhook/webhook.php \ingroup talerbarr \brief Lightweight webhook listener for the Taler synchronisation.
NOREQUIREAJAX  = 1
NOREQUIREAJAX  = '1'
NOREQUIREAJAX  = 1
NOREQUIREHTML  = 1
NOREQUIREHTML  = '1'
NOREQUIREHTML  = 1
NOREQUIREMENU  = 1
NOREQUIREMENU  = '1'
NOREQUIREMENU  = 1
NOREQUIRESOC  = 1
NOREQUIRESOC  = '1'
NOSCANGETFORINJECTION  = 1
NOSCANPOSTFORINJECTION  = 1
NOSESSION  = 1
Background synchroniser for the Taler-Barr module.
NOSESSION  = 1
NOTOKENRENEWAL  = 1
NOTOKENRENEWAL  = 1

Functions

writeStatus()  : void
Persist a human-readable sync status JSON file.
cleanOrphanProductLinks()  : array{checked: int, deleted: int, errors: int}
Remove stale product_link rows: - links pointing to a deleted Dolibarr product - links that no longer exist on Taler
talerbarr_build_chart_buckets()  : array<string|int, mixed>
Build bucket definitions for a given range key.
talerbarr_force_orderlink_list_columns()  : void
Ensure relation/link columns are present and visible in the order-link list.
talerbarr_orderlink_extra_link_columns()  : array<string, string>
Custom relation/external link columns rendered explicitly in the list.
talerbarr_find_credit_note_for_invoice()  : int
Resolve the latest credit note linked to a source invoice.
talerbarrWebhookRespond()  : void
Emit a JSON error/success response and exit.
talerbarrEscapeNestedJsonStrings()  : string
Escape unescaped quotes inside stringified JSON blobs embedded in a JSON payload.
talerbarrDecodeWebhookJson()  : array<string|int, mixed>|null
Decode a JSON payload with a couple of sanitation fallbacks.
talerbarrPersistInvalidJsonPayload()  : void
Persist the raw body of a JSON payload that could not be decoded for debugging.

Constants

NOCSRFCHECK

public mixed NOCSRFCHECK = 1

NOLOGIN

\file talerbarr/webhook/webhook.php \ingroup talerbarr \brief Lightweight webhook listener for the Taler synchronisation.

public mixed NOLOGIN = 1

NOREQUIREAJAX

public mixed NOREQUIREAJAX = 1

NOREQUIREHTML

public mixed NOREQUIREHTML = 1

NOREQUIREMENU

public mixed NOREQUIREMENU = 1

NOSCANGETFORINJECTION

public mixed NOSCANGETFORINJECTION = 1

NOSCANPOSTFORINJECTION

public mixed NOSCANPOSTFORINJECTION = 1

NOSESSION

Background synchroniser for the Taler-Barr module.

public mixed NOSESSION = 1

Runs from CLI or by an async exec() call. Refuses to start when another run is in progress (flock lock). Writes human-readable progress into DOL_DATA_ROOT.'/talerbarr/sync.status.json'. Normally you are not supposed to call it directly, only through the lib TalerSyncUtil class.

Usage examples php talerbarrsync.php – normal run, auto-detect direction php talerbarrsync.php --force – ignore stale lock file

NOSESSION

public mixed NOSESSION = 1

Functions

writeStatus()

Persist a human-readable sync status JSON file.

writeStatus(array<string|int, mixed> $s) : void
Parameters
$s : array<string|int, mixed>

Arbitrary status payload to serialize; function adds an RFC date in "ts".

Remove stale product_link rows: - links pointing to a deleted Dolibarr product - links that no longer exist on Taler

cleanOrphanProductLinks(DoliDB $db, string $instance, array<string|int, mixed> $remoteIds, User $user) : array{checked: int, deleted: int, errors: int}
Parameters
$db : DoliDB

DB handler

$instance : string

Taler instance id

$remoteIds : array<string|int, mixed>

Product ids seen on Taler during this run

$user : User

Current user

Return values
array{checked: int, deleted: int, errors: int}

talerbarr_build_chart_buckets()

Build bucket definitions for a given range key.

talerbarr_build_chart_buckets(string $rangeKey, int $nowTs) : array<string|int, mixed>
Parameters
$rangeKey : string

Chart range key: day|week|month|year.

$nowTs : int

Current timestamp used as reference to anchor buckets.

Return values
array<string|int, mixed>

Ensure relation/link columns are present and visible in the order-link list.

talerbarr_force_orderlink_list_columns(array<string|int, mixed> &$arrayfields, TalerOrderLink $object, Translate $langs) : void
Parameters
$arrayfields : array<string|int, mixed>

Column configuration array (modified in-place)

$object : TalerOrderLink

Current list object definition

$langs : Translate

Translator

Custom relation/external link columns rendered explicitly in the list.

talerbarr_orderlink_extra_link_columns(Translate $langs) : array<string, string>
Parameters
$langs : Translate

Translator

Return values
array<string, string>

talerbarr_find_credit_note_for_invoice()

Resolve the latest credit note linked to a source invoice.

talerbarr_find_credit_note_for_invoice(DoliDB $db, int $sourceInvoiceId) : int
Parameters
$db : DoliDB

Database handle

$sourceInvoiceId : int

Source invoice rowid

Return values
int

Credit note rowid (0 if none found)

talerbarrWebhookRespond()

Emit a JSON error/success response and exit.

talerbarrWebhookRespond(int $status, string $message[, array<string|int, mixed> $extra = [] ]) : void
Parameters
$status : int

HTTP status code

$message : string

Human readable message

$extra : array<string|int, mixed> = []

Optional extra payload

talerbarrEscapeNestedJsonStrings()

Escape unescaped quotes inside stringified JSON blobs embedded in a JSON payload.

talerbarrEscapeNestedJsonStrings(string $raw) : string

This is a defensive fix for Taler payloads that wrap arrays/objects in strings without escaping inner quotes (e.g., "taxes":"[{"tax":"..."}]").

Parameters
$raw : string

Raw body

Return values
string

Sanitised body

talerbarrDecodeWebhookJson()

Decode a JSON payload with a couple of sanitation fallbacks.

talerbarrDecodeWebhookJson(string $raw[, string|null &$error = null ][, string|null &$lastAttempt = null ]) : array<string|int, mixed>|null
Parameters
$raw : string

Raw HTTP body.

$error : string|null = null

Receives the last json_last_error_msg() if decoding fails.

$lastAttempt : string|null = null

Receives the sanitised payload used for the final attempt.

Return values
array<string|int, mixed>|null

Decoded associative array on success, null on failure.

talerbarrPersistInvalidJsonPayload()

Persist the raw body of a JSON payload that could not be decoded for debugging.

talerbarrPersistInvalidJsonPayload(string $raw, string $error) : void
Parameters
$raw : string

Raw body string.

$error : string

Last json_last_error_msg().


        
On this page

Search results