\PrivateBin\DataAbstractData

AbstractData

Abstract model for data access, implemented as a singleton.

Summary

Methods
Properties
Constants
getInstance()
create()
read()
delete()
exists()
createComment()
readComments()
existsComment()
purgeValues()
setValue()
getValue()
purge()
No public properties found
No constants found
__construct()
_getExpiredPastes()
getOpenSlot()
upgradePreV1Format()
$_instance
$_last_cache
N/A
__clone()
No private properties found
N/A

Properties

$_last_cache

$_last_cache :array

cache for the traffic limiter

Type

array

Methods

getInstance()

getInstance(array  $options): \PrivateBin\Data\AbstractData

Get instance of singleton

Parameters

array $options

Returns

\PrivateBin\Data\AbstractData

create()

create(string  $pasteid,array  $paste): boolean

Create a paste.

Parameters

string $pasteid
array $paste

Returns

boolean

read()

read(string  $pasteid): array|false

Read a paste.

Parameters

string $pasteid

Returns

array|false

delete()

delete(string  $pasteid)

Delete a paste and its discussion.

Parameters

string $pasteid

exists()

exists(string  $pasteid): boolean

Test if a paste exists.

Parameters

string $pasteid

Returns

boolean

createComment()

createComment(string  $pasteid,string  $parentid,string  $commentid,array  $comment): boolean

Create a comment in a paste.

Parameters

string $pasteid
string $parentid
string $commentid
array $comment

Returns

boolean

readComments()

readComments(string  $pasteid): array

Read all comments of paste.

Parameters

string $pasteid

Returns

array

existsComment()

existsComment(string  $pasteid,string  $parentid,string  $commentid): boolean

Test if a comment exists.

Parameters

string $pasteid
string $parentid
string $commentid

Returns

boolean

purgeValues()

purgeValues(string  $namespace,integer  $time): void

Purge outdated entries.

Parameters

string $namespace
integer $time

setValue()

setValue(string  $value,string  $namespace,string  $key = ''): boolean

Save a value.

Parameters

string $value
string $namespace
string $key

Returns

boolean

getValue()

getValue(string  $namespace,string  $key = ''): string

Load a value.

Parameters

string $namespace
string $key

Returns

string

purge()

purge(integer  $batchsize)

Perform a purge of old pastes, at most the given batchsize is deleted.

Parameters

integer $batchsize

__construct()

__construct()

Enforce singleton, disable constructor

Instantiate using \getInstance(), this object implements the singleton pattern.

_getExpiredPastes()

_getExpiredPastes(integer  $batchsize): array

Returns up to batch size number of paste ids that have expired

Parameters

integer $batchsize

Returns

array

getOpenSlot()

getOpenSlot(array  $comments,integer|string  $postdate): integer|string

Get next free slot for comment from postdate.

Parameters

array $comments
integer|string $postdate

Returns

integer|string

upgradePreV1Format()

upgradePreV1Format(array  $paste): array

Upgrade pre-version 1 pastes with attachment to version 1 format.

Parameters

array $paste

Returns

array

__clone()

__clone()

Enforce singleton, disable cloning

Instantiate using \getInstance(), this object implements the singleton pattern.