DocumentIndex
class DocumentIndex extends Model implements AuditableInterface, SoftDeleteInterface, SerializableInterface
Traits
Trait Auditable to be used in Models
Static Cache Trait Adds a static (per request) cache to the object which can hold data for the time of the request (in the frontend) or a certain duration during long running processes. It works together with the global caching system and enforces a static cache clearing in case of global cache clearings as well.
Trait SoftDeleteTrait to be used in Models, requires deleted_at column in database table
Constants
| EVENT_MODEL_AFTER_SAVE |
|
| EVENT_MODEL_BEFORE_SAVE |
|
| EVENT_MODEL_BEFORE_DELETE |
|
| EVENT_MODEL_AFTER_DELETE |
|
| FIELD_IS_NULL |
$this->find_by_field(Model::IS_NULL) |
Properties
| System | $mod | ||
| protected string|null | $model_name | from Model | |
| string | $table_name | ||
| protected bool | $table_use_group_id | ||
| protected bool | $table_auto_properties | ||
| protected string | $table_primary_key | from Model | |
| protected array | $table_primary_compound_key | from Model | |
| protected | $properties | ||
| protected array | $properties_meta | from Model | |
| protected array | $markers | from Model | |
| bool|string | $class_name | from Model | |
| string | $render_type | from Model | |
| protected int | $model_version | Hint your model version, this parameter might affect certain outcomes and behaviours This version string is added for backwards compatibility |
from Model |
| protected string | $model_default_render_xui | Defines a XUI helper which can be used to display this model in the render() function e.g. use 'thread' to use this xui helper "XELOS\Modules\Forum\UI\Thread" of the models parent module |
from Model |
| protected array | $render_params | Parameters that will be consigned to the XUI helper |
from Model |
| static string | $find_by_separators | from Model | |
| bool | $loaded | from Model | |
| bool | $saved | from Model | |
| protected array | $changed | from Model | |
| array | $cache_function_result | from Model | |
| static array | $_request_cache | from Model | |
| static protected bool | $auditingDisabled | Is auditing disabled? |
from AuditableTrait |
| protected | $auditExcludedProperties | from AuditableTrait | |
| static int | $max_cached_document_indexes | ||
| protected bool | $hasPrefetchRightsContexts | ||
| static protected array|null | $document_registry_info_lookup | ||
| int | $id | ||
| string | $uuid | ||
| int | $parent_document | ||
| int | $parent_group_document | ||
| int | $instance_id | ||
| string | $instance_string | ||
| int | $post_id | ||
| int | $post_type | ||
| int | $group_id | ||
| int | $user_id | ||
| string | $title | ||
| string | $thumb_doc | ||
| string | $canonical | ||
| int | $canonical_parent | ||
| int | $canonical_grandparent | ||
| int | $canonical_greatgrandparent | ||
| $is_hidden | |||
| string | $post_created_at | Y-m-d H:i:s |
|
| string | $post_updated_at | Y-m-d H:i:s |
|
| string | $scheduled_removal_at | Y-m-d H:i:s |
|
| DocumentIndexCollection | $references | ||
| DocumentModel | $related_document | ||
| DocumentIndexReference[] | $possible_rights_context |
Methods
Magic Function Object Cloning Make sure object references are cleaned up as each object requires a clean and separate reference
No description
No description
No description
Calls the passed function only if it is not cached yet, otherwise the previous cached result will be returned
Global named scope scopeAll to use on models to return an unscoped unloaded collection
Called for scopeby Magic Function Creates a new ModelCollection and applies the passed scope
Called for scope_ Magic Function Creates a new ModelCollection and applies the passed custom scope function
No description
Add References to other DocumentIndexes (attachments or content_references e.g. trendvote) Leaving existing references untouched Returns all currently existing references for the given type
Add user as follower. Only add 'auto_follow', if user has no other status
Apply lib->format multi_format on passed property. The result will be written to ->[property]_formatted
Add Document Reference
Adds a condition to scope the following find functions
Makes sure the soft delete minimum keep duration is observed.
Wrapper of original function
No description
Checks whether the related document model is allowing comments.
Wrapper of original function
Wrapper of original function
Wrapper of original function
Wrapper of original function
Changes the title of the document index, publishing the change to the related document.
Clear local static cache of document indexes
Clears the cache for all functions or a specific one
Returns the count of all models with the specific column value
creates a new job and stores directly to db
Delete this document index and all jobs associated Usually the index will be deleted as result from
Delete references before deleting model, notify modules that this 'attachment' is gone now
on the desired collection.
Returns the document index object for given model information.
Returns the document index object This uses an internal cache if already fetched.
Returns the document index object for given model information.
Returns the document index object for given model information.
Returns the document index object for given model information.
No description
Return documentModel for given ModuleControllerClass
Return document only if considered readable/accessible by the current user
Find Function to find models using the passed condition
Returns a document even if deleted This method avoids caching mechanisms of document index, as cache will not have deleted items
Returns loaded ModelCollection
Returns a collection document index models or false if not found
No description
No description
No description
Returns all models with a specific column value. Query params can be e.g. order_by
Returns a collection document index model or false if not found
No description
Converts a findby* function name to SQL query.
Get the (Auditable) properties excluded from audit.
Get the auditable properties to include in audit Defaults to all attributes in the DB Schema
Get the last auditTrail records for current Model
Gets the canonical paht of the parent element. Returns null if there is no parent.
Return properties which have been changed after model was initialized/loaded We know these values have been changed locally, but these changes are NOT necessarily reflecting the DB diff
No description
Get all document_references this document has
Returns all document policy clusters for this document
Is user a follower ?
Returns a list of all property name variants for all languages, e.g. "title_i18n" -> "title_i18n, title_DE_DE, title_EN_EN"
Gets an I18nToken for a model property (e.g. title_i18n)
Assumes a related document which implements FullyIntegratedInterface
No description
Returns an array with the canonicals of all parents e.g. /3/2/1/ -> ['/3/2/1', '/3/2/', '/3/']
Returns the Query object which is being used for building the query The function creates a new Query object if required to enable lazy loading
Returns how many days the soft deleted documents are kept.
Return properties which have been touched/set after model was initialized/loaded We know these values have been set, but they might not have changed
Function will set related_model for given document index models to improve loading
Return Breadcrumb showing the primary location of this element
No description
No description
Return document index ids representing the canonical of this document The last id will be this document return int[] Array of document_index_ids
No description
Get child elements
Returns all properties which are available as DB field (= can be used as find_by() properties) with its currently known raw value Please note that smartTimeFields (updated_at, created_at) are not converted to mysql-date format
No description
Returns the displayname of the user of this document
Return the information from the document registry This information contains additional meta data as well as relational information
Get global group_security_id for this document Uses lib->group_security
Return the property translated property value if available
Return Meta information for the instance
No description
No description
No description
Returns the SQL table of this model (if available)
Get a parent element
Get a parent element
Get a parent element
Return all potential canonical paths element The upper container where this element resides in could be refered
Returns the perma URL (_doc/goto/{uuid}) for this document
No description
No description
Get all document_index which are referenced from the current document_index
Get all document_index references this document has
Get all document_references which are pointing to this current document_index
Get the original document model
No description
Returns an url to the thumb of this document if available
Get title
Returns the goto URL for this specific document
UUID in Hex Presentation, will automatically generate a uuid if not present yet
Formatted version of uuid
Function is called in routine as part of the index event 'delete' Be aware that the original referenced document will not exist at time of calling This event/callback gives the opportunity to clean up the existing reference (e.g. you are referencing to this document and it you need to act upond this element being deleted)
Check wether we have a dependency relation for this document, which is active and accessible to the current user
Does this model represent an existing database record? (can be updated)
No description
Initializes the model
Injects the document index object into a related model by setter injection.
Is this document considered to be an attachment?
Is this document considered accessible as personal attachment?
We need some way to make Trendvote available for linking (similar to isPersonalAttachment) after creation
No description
Returns if this document index is marked "hidden"
No description
Force delete of document index should delete related document and references
Called when the model is restored.
Optional: Called before serialization (e.g. to remember/convert an unserializable prop)
No description
Load document from DB on unserialize.
No description
Prefetch document indexes in single batch for later usage via cache
Create queue for existing documents for reindex.
Registers the passed scope as default scope A default scope is present when the model is being loaded and can be removed using the unscope() function if required The passed scope must be defined in a scope[SCOPE_NAME] function e.g. scopeGroupId
Remove given references, return the remaining references
Remove user as follower
No description
Generic Renderer
No description
No description
No description
Provides a list of all values allowed for enumerations.
No description
Returns unloaded ModelCollection
No description
No description
Updates the hidden flag for this document index and all children if so desired
type-safe setter
Set a Property. If $property_id is an array and $property_value is false, set_property is called for each element in the array with the array key and value as params.
Sets parameter that will be passed to the XUI helpers
Mark this model as deleted by setting deleted_at to current time
Sort this element to a specific position
Decrease Sort Priority (Increases SORT value)
Increase Sort Priority (Decreases SORT value)
Clears the specified cache pool from the static cache
Retrieves a value from the static cache
Returns an array of all cache keys which have been set
Returns an key/value array with all cached values from the passed pool
Checks if the passed is key has a value set
Removes the passed key
Store a value in the static cache
Temporarily disable the use of the group ID in all queries made
Returns an XML of all model properties
TBD: Move this method to the audit model? and keep things slim in trait?
Returns an unscoped Collection
No description
No description
Update the document index with the details from the referenced document model
Update the sort property for a given table (Move a record up/down)
Details
in
Model at line 1117
ModelCollection|Model|Model[]|int
__call(string $method, array $args = array())
No description
in
Model at line 1684
__clone()
Magic Function Object Cloning Make sure object references are cleaned up as each object requires a clean and separate reference
at line 102
__construct(int|bool $id = false)
No description
in
Model at line 1093
mixed
__get(mixed $var)
No description
in
Model at line 1743
__isset($name)
No description
at line 2301
__sleep()
No description
in
Model at line 1695
string
__toString()
String Representation of this object (calls for render method)
at line 2310
__wakeup()
No description
in
Model at line 1155
mixed
_call_cached_function(string $function, array $args)
Calls the passed function only if it is not cached yet, otherwise the previous cached result will be returned
in
ScopesTrait at line 100
Query
_scopeAll(Query $Query)
Global named scope scopeAll to use on models to return an unscoped unloaded collection
in
ScopesTrait at line 111
Query
_scopeDefault(Query $Query)
Load default scopes
in
SoftDeleteTrait at line 37
Query
_scopeNotDeleted(Query $query)
No description
in
SoftDeleteTrait at line 51
Query
_scopeSoftDeleted(Query $query)
Function is triggered on scopeSoftDeleted()
in
ScopesTrait at line 143
protected ModelCollection
_scope_by(string $fn, array $parameters)
Called for scopeby Magic Function Creates a new ModelCollection and applies the passed scope
in
ScopesTrait at line 159
protected ModelCollection
_scope_custom(string $scopeName, Query|null $Query = null)
Called for scope_ Magic Function Creates a new ModelCollection and applies the passed custom scope function
in
AuditableTrait at line 97
AuditTrail|null
addAuditTrail(string $event = AuditableInterface::AUDIT_EVENT_MISC, string|null $customMessage = null)
No description
at line 1930
DocumentIndexReferenceCollection
addReferences(DocumentIndexCollection $documentIndexCollection, int $type = 0, string|null $level = null)
Add References to other DocumentIndexes (attachments or content_references e.g. trendvote) Leaving existing references untouched Returns all currently existing references for the given type
at line 1735
add_follow_user(int|null $user_id = null, string $status = Follows::STATUS_FOLLOW, bool $with_notification = false)
Add user as follower. Only add 'auto_follow', if user has no other status
in
Model at line 954
add_formatted_property(string $property, string $format, array $options = array())
Apply lib->format multi_format on passed property. The result will be written to ->[property]_formatted
at line 1879
DocumentIndexReference|null
add_reference(DocumentIndex $attachmentDocumentIndex, int $type = 0, string|null $level = null)
Add Document Reference
in
ScopesTrait at line 34
ModelCollection
add_scope_condition(Condition|ConditionGroup|Query|string $new_condition)
Adds a condition to scope the following find functions
in
Model at line 40
Model[]
all(mixed $params = ['order_by'=>'COL1)
Return all models
in
SoftDeleteTrait at line 150
bool
canForceDelete()
Makes sure the soft delete minimum keep duration is observed.
e.g. document was deleted 30 days ago, but the keep duration was increased to 120 days.
at line 2130
can_read()
Wrapper of original function
at line 2233
bool
can_read_comments()
No description
at line 2248
bool
can_read_comments_global(bool $return_hidden = false)
Checks whether the related document model is allowing comments.
at line 2170
bool
can_read_global($return_hidden = false)
Wrapper of original function
at line 2190
bool
can_see()
Wrapper of original function
at line 2206
bool
can_write()
Wrapper of original function
at line 2217
bool
can_write_global($return_hidden = false)
Wrapper of original function
at line 1354
bool
change_title(string $title)
Changes the title of the document index, publishing the change to the related document.
The title cannot be changed if the related document is not available or cannot be written to. The current user MUST have can_write_global in order to change the title of the document
at line 567
clear_cache()
Clear local static cache of document indexes
in
Model at line 1174
clear_cached_functions(string|bool $function = false)
Clears the cache for all functions or a specific one
in
Model at line 616
clear_properties()
No description
in
Model at line 40
int
count_all() $eturns the count of all models, see $this->find('count')
No description
in
Model at line 40
int
count_by_TABLE_COL_and_TABLE_COL2(mixed $COL1_VALUE, mixed $COL2_VALUE)
Returns the count of all models with the specific column value
at line 1276
create_job(string $status = IndexEventInterface::EVENT_UPDATE, DateTimeInterface|null $scheduledAt = null)
creates a new job and stores directly to db
in
Model at line 939
string|void
debug(bool $show_markers = false, int $mode = 0)
No description
at line 862
bool
delete()
Delete this document index and all jobs associated Usually the index will be deleted as result from
at line 2387
void
deleteReferences(int|null $event_user_id = null)
Delete references before deleting model, notify modules that this 'attachment' is gone now
in
Model at line 40
int
delete_by_TABLE_COL(mixed $COL_VALUE) Delete rows specified by condition and returns the affected rows. NOTE: This does not trigger a delete() function of the model. If required use pluck('delete')
on the desired collection.
in
Model at line 1642
void
disable_table_group_id()
Disable the use of the group ID in all queries made
in
Model at line 1667
void
enable_table_group_id()
Enable the use of the group ID in all queries made
at line 258
static DocumentIndex|null
fetchDocumentIndex(int $instanceId, int $postType, int $postId)
Returns the document index object for given model information.
This uses an internal cache if already fetched.
at line 243
static DocumentIndex|null
fetchDocumentIndexById(int $documentIndexId)
Returns the document index object This uses an internal cache if already fetched.
at line 293
static DocumentIndex|null
fetchDocumentIndexByUuid(string $uuid)
Returns the document index object for given model information.
This uses an internal cache if already fetched.
at line 323
static DocumentIndexCollection
fetchDocumentIndexCollectionByUuid(array $inputUuids)
Returns the document index object for given model information.
This uses an internal cache if already fetched.
at line 353
static DocumentIndexCollection
fetchDocumentIndexCollectionByUuidOrId(array $uuids_or_ids)
Returns the document index object for given model information.
This uses an internal cache if already fetched.
at line 377
static DocumentIndexCollection
fetchDocumentIndexes(int $instanceId, int $postType, array $postIds)
No description
at line 413
static DocumentModel|null
fetchRelatedDocumentByUuid(string $documentModelClass, string $uuid, bool $ignoreCanReadRights = false)
Return documentModel for given ModuleControllerClass
at line 2480
DocumentIndex|null
filterReadable()
Return document only if considered readable/accessible by the current user
in
Model at line 1218
ModelCollection|Model|int|null
find(string $mode = 'all', Condition|ConditionGroup|Query|string|array $conditions = false, array|null $query_params = null)
Find Function to find models using the passed condition
at line 2348
static DocumentIndex|null
findWithDeletedById(int $id)
Returns a document even if deleted This method avoids caching mechanisms of document index, as cache will not have deleted items
in
Model at line 40
ModelCollection|Model[]
find_all_by_TABLE_COL_and_TABLE_COL2($COL1_VALUE, $COL2_VALUE, $params=['order_by'=>'COL1, 5]] $)
Returns loaded ModelCollection
at line 537
DocumentIndexCollection
find_all_by_id(int[] $document_index_ids)
Returns a collection document index models or false if not found
at line 64
DocumentIndexCollection
find_all_by_parent_document(int $documentIndexId)
No description
at line 64
DocumentIndexCollection
find_all_by_parent_group_document(int $documentIndexId)
No description
at line 64
DocumentIndexCollection
find_all_by_post_id_and_post_type_and_instance_id(array $missingPostIds, int $postType, int $instanceId)
No description
in
Model at line 40
Model
find_by_TABLE_COL(mixed $COL_VALUE, mixed $params = ['order_by'=>'COL1)
Returns all models with a specific column value. Query params can be e.g. order_by
at line 556
DocumentIndex|null
find_by_id(int|string $document_index_id)
Returns a collection document index model or false if not found
at line 64
DocumentIndex|null
find_by_uuid(string $uuid)
No description
in
SoftDeleteTrait at line 86
bool
forceDelete($force = false)
Will execute standard model delete method.
in
Model at line 1402
protected Query
functionNameToQuery(string $query, array $parameters)
Converts a findby* function name to SQL query.
in
AuditableTrait at line 166
array
getAuditEvents()
Get audit events
in
AuditableTrait at line 220
array
getAuditExcludeProperties()
Get the (Auditable) properties excluded from audit.
Defaults to primary_key and timestamps
in
AuditableTrait at line 199
array
getAuditIncludeProperties()
Get the auditable properties to include in audit Defaults to all attributes in the DB Schema
in
AuditableTrait at line 183
AuditTrail[]|ModelCollection
getAuditTrail(int $limit = 50)
Get the last auditTrail records for current Model
at line 584
string|null
getCanonicalParent(bool $autogenerate = false)
Gets the canonical paht of the parent element. Returns null if there is no parent.
in
Model at line 1857
array
getChangedProperties(bool $returnOldValues = false)
Return properties which have been changed after model was initialized/loaded We know these values have been changed locally, but these changes are NOT necessarily reflecting the DB diff
in
Model at line 970
ModelCollection
getCollectionByQuery(string $model_name, array|string $dbquery_result, string $population_mode = 'full', string $post_fill_function = 'update')
No description
in
Model at line 191
array
getDBSchema(string $field = null)
Get DB Schema if available
at line 2067
DocumentIndexReferenceCollection
getDocumentIndexReferences(int $type = -1)
Get all document_references this document has
at line 429
ModelCollection
getDocumentPolicyClusters(bool $allowRecalc = false, bool $forceRecalc = false)
Returns all document policy clusters for this document
at line 1804
ModelCollection|null
getFollows(int $user_id = null)
Is user a follower ?
in
Model at line 1806
string[]
getI18nPropertyVariants($propertyName, $localeAsKey = false)
Returns a list of all property name variants for all languages, e.g. "title_i18n" -> "title_i18n, title_DE_DE, title_EN_EN"
in
Model at line 1914
I18nTokenHelper
getI18nTokenForProperty(string $i18nProperty, int|null $limitString = null)
Gets an I18nToken for a model property (e.g. title_i18n)
at line 2489
MagicDocumentHelper|null
getMagicDocumentHelper()
Assumes a related document which implements FullyIntegratedInterface
at line 64
DocumentIndexCollection
getModelCollection()
No description
at line 1233
array
getParentCanonicals()
Returns an array with the canonicals of all parents e.g. /3/2/1/ -> ['/3/2/1', '/3/2/', '/3/']
in
Model at line 334
int|null
getPrimaryKeyValue()
Get the primary id (post_id) for this model
in
Model at line 492
array
getPropertyMarkers(bool $value_discovery = true)
Return properties and markers
in
ScopesTrait at line 217
Query
getScopeQuery(bool $applyDefaultScopes = true)
Returns the Query object which is being used for building the query The function creates a new Query object if required to enable lazy loading
in
SoftDeleteTrait at line 139
int
getSoftDeleteKeepDays()
Returns how many days the soft deleted documents are kept.
in
Model at line 1827
array
getTouchedProperties(bool $returnOldValues = false)
Return properties which have been touched/set after model was initialized/loaded We know these values have been set, but they might not have changed
at line 924
array
get_all_related_documents(DocumentIndexCollection $document_indices)
Function will set related_model for given document index models to improve loading
at line 711
Breadcrumb
get_breadcrumb()
Return Breadcrumb showing the primary location of this element
at line 722
array|null
get_breadcrumb_links()
No description
at line 571
get_canonical()
No description
at line 700
get_canonical_document_index_ids()
Return document index ids representing the canonical of this document The last id will be this document return int[] Array of document_index_ids
at line 601
get_canonical_url()
No description
at line 1248
DocumentIndexCollection
get_children_document()
Get child elements
in
Model at line 1611
string
get_created_at_formatted()
Return a Formatted DateTime
in
Model at line 520
array
get_db_properties()
Returns all properties which are available as DB field (= can be used as find_by() properties) with its currently known raw value Please note that smartTimeFields (updated_at, created_at) are not converted to mysql-date format
at line 1031
DocumentModel|null
get_deleted_related_document()
No description
at line 844
get_displayname()
Returns the displayname of the user of this document
at line 1114
DocumentRegistry|null
get_document_registry_info()
Return the information from the document registry This information contains additional meta data as well as relational information
at line 674
get_group_security_id()
Get global group_security_id for this document Uses lib->group_security
in
Model at line 1784
bool|mixed
get_i18n_property(string $property, string $force_language = false)
Return the property translated property value if available
at line 690
array
get_instance_meta()
Return Meta information for the instance
at line 1015
Core|null
get_instance_obj()
No description
at line 678
get_instance_string()
No description
at line 794
get_instance_url()
No description
in
Model at line 351
string|null
get_model_name()
Returns the SQL table of this model (if available)
in
Model at line 312
string|bool
get_model_table_name(string $table_name = null)
Returns the SQL table of this model (if available)
at line 1190
DocumentIndex|null
get_parent()
Get a parent element
at line 1218
DocumentIndex|null
get_parent_document_index()
Get a parent element
at line 1203
DocumentIndex|null
get_parent_group()
Get a parent element
at line 980
array
get_paths()
Return all potential canonical paths element The upper container where this element resides in could be refered
at line 784
string
get_perma_url(bool $with_domain = false, string|null $alternative_uuid = null)
Returns the perma URL (_doc/goto/{uuid}) for this document
at line 996
array
get_possible_rights_context()
No description
in
Model at line 474
array
get_properties(bool $value_discovery = true)
Returns the complete properties array
in
Model at line 508
array
get_properties_meta(?string $field = null)
No description
in
Model at line 434
mixed
get_property(string|null $property_id, bool $get_raw_value = false)
No description
at line 609
Document[]
get_recent_documents($limit = false)
No description
at line 2051
DocumentIndexCollection
get_referenced_from(int $type = 0, int|array|null $source_instance_id = null, DocumentIndex $source_document_index = null)
Get all document_index which are referenced from the current document_index
at line 2027
DocumentIndexCollection
get_references(int $type = 0)
Get all document_index references this document has
at line 2087
DocumentIndexReferenceCollection
get_references_from(int $type = 0, array|int|null $source_instance_id = null, DocumentIndex $source_document_index = null)
Get all document_references which are pointing to this current document_index
at line 890
DocumentModel|null
get_related_document(bool $ignoreCanReadRights = false)
Get the original document model
in
Model at line 1772
static mixed|null
get_request_cache(string $key)
Return Cache Entry if it exists
at line 1178
DocumentIndex
get_root()
No description
in
Model at line 303
string|null
get_table_name()
Returns the table name of this model.
in
Model at line 325
string|null
get_table_primary_key()
No description
at line 1261
string|null
get_thumb_url(int|null $width = null, int|null $height = null, bool $return_empty = true)
Returns an url to the thumb of this document if available
at line 829
string
get_title()
Get title
in
Model at line 1620
string
get_updated_at_formatted()
Return a Formatted DateTime
at line 773
string
get_url()
Returns the goto URL for this specific document
at line 1542
string
get_uuid()
UUID in Hex Presentation, will automatically generate a uuid if not present yet
at line 1558
string
get_uuid_formatted()
Formatted version of uuid
at line 2119
void
handle_reference_delete(DocumentIndexReference $reference, int|null $event_user_id = null)
Function is called in routine as part of the index event 'delete' Be aware that the original referenced document will not exist at time of calling This event/callback gives the opportunity to clean up the existing reference (e.g. you are referencing to this document and it you need to act upond this element being deleted)
at line 1140
string|null
hasAccessibleDependencyInstanceRelation(string $moduleName = 'comments')
Check wether we have a dependency relation for this document, which is active and accessible to the current user
in
Model at line 1868
bool
hasChangedProperties()
No description
in
Model at line 807
bool
hasExistingDatabaseRecord()
Does this model represent an existing database record? (can be updated)
in
Model at line 1835
bool
hasTouchedProperties()
Returns true if at least one property is marked as changed
at line 913
has_related_document()
No description
at line 107
init(bool $auto_load = true)
Initializes the model
in
AuditableTrait at line 43
initAuditableTrait()
Init Method
in
SoftDeleteTrait at line 33
void
initSoftDeleteTrait()
No description
at line 511
static
injectDocumentIndex(DocumentModel $model)
Injects the document index object into a related model by setter injection.
at line 2432
bool
isAttachment()
Is this document considered to be an attachment?
in
AuditableTrait at line 233
bool
isAuditingEnabled()
Determine whether auditing is enabled.
Defaults to true for Frontend/UI Actions and false for CLI/Console Actions
at line 2461
bool
isPersonalAttachment()
Is this document considered accessible as personal attachment?
This document is most likely currently uploaded and has not been saved as reference yet. It is not visible to most functions and should be deleted if not saved properly against an owner reference
at line 2470
bool
isPersonalReference()
We need some way to make Trendvote available for linking (similar to isPersonalAttachment) after creation
in
SoftDeleteTrait at line 122
bool
isSoftDeleted()
No description
at line 1794
bool
is_follow_user($user_id = null)
No description
at line 2141
bool
is_hidden()
Returns if this document index is marked "hidden"
in
SerializableObjectTrait at line 16
array
jsonSerialize()
No description
in
Model at line 390
load()
No description
in
Model at line 837
protected bool
load_from_db(string $table_name = null, array $key_fields = [])
No description
at line 641
mark_document_recent($user_id, string $type = 'edit')
No description
at line 2363
void
onForceDelete()
Force delete of document index should delete related document and references
at line 2314
void
onRestore()
Called when the model is restored.
in
SerializableObjectTrait at line 219
void
onSerialize()
Optional: Called before serialization (e.g. to remember/convert an unserializable prop)
at line 2336
void
onSoftDelete()
No description
at line 2420
void
onUnserialize()
Load document from DB on unserialize.
in
Model at line 1062
ModelCollection|Model[]
populate_model_by_query(string $model_name, array|string $dbquery_result, string $population_mode = 'full', string $post_fill_function = 'update')
deprecated
deprecated
No description
at line 121
static DocumentIndexCollection
prefetch_document_indexes(array $document_index_ids)
Prefetch document indexes in single batch for later usage via cache
at line 1322
queueExistingDocuments(array $instanceIds = [])
Create queue for existing documents for reindex.
If no instance ids are given, this will affect all documents.
in
ScopesTrait at line 127
protected void
registerDefaultScope($scopeName)
Registers the passed scope as default scope A default scope is present when the model is being loaded and can be removed using the unscope() function if required The passed scope must be defined in a scope[SCOPE_NAME] function e.g. scopeGroupId
in
Model at line 161
reload_schema()
Reloads the schema of the model
at line 1954
DocumentIndexReferenceCollection
removeReferences(DocumentIndexCollection|null $documentIndexCollection = null, int $type = -1)
Remove given references, return the remaining references
at line 1765
remove_follow_user(int $user_id = null, bool $delete = false)
Remove user as follower
in
Model at line 904
protected bool
remove_from_db(string $table_name, array $key_fields = null)
No description
at line 2010
remove_reference(DocumentIndex $attachmentDocumentIndex)
No description
at line 2275
string|null
render()
Generic Renderer
at line 2286
Template|string
renderPreview()
No description
in
ScopesTrait at line 231
void
resetScopeQuery()
Reset Scope to null
at line 874
reset_related_document()
No description
in
SoftDeleteTrait at line 106
bool
restore()
Recover soft deleted item
at line 2500
int|bool
save()
No description
in
Model at line 633
protected int|bool
save_to_db(string $table_name, array $params = array())
No description
in
Model at line 1381
bool|array
schema_values(mixed $field_name)
Provides a list of all values allowed for enumerations.
Returns FALSE if the field in question does not exist Returns TRUE for non enum fields Returns an array for enum fields with all available values
in
ScopesTrait at line 81
ModelCollection
scope(string $scopeName, Query|null $scopeQuery = null)
No description
in
ScopesTrait at line 16
ModelCollection
scopeAll()
No description
in
SoftDeleteTrait at line 31
ModelCollection
scopeNotDeleted()
Default active scope.
in
SoftDeleteTrait at line 31
ModelCollection
scopeSoftDeleted()
Scope to return only soft deleted records.
in
Model at line 40
Model[]
scope_by_TABLE_COL_and_TABLE_COL2(mixed $COL1_VALUE, mixed $COL2_VALUE)
Returns unloaded ModelCollection
in
ScopesTrait at line 16
ModelCollection
scope_by_id(int|array $id)
No description
in
Model at line 40
void
self() $this find_by_id($id)
No description
in
SerializableObjectTrait at line 24
SerializedObjectHelper
serializeObject()
No description
at line 2413
protected array|null
serializePropertiesInclude()
No description
in
ScopesTrait at line 88
void
setModelCollectionReference(ModelCollection $modelCollectionReference)
No description
at line 526
setPrefetchRightsContexts(array $rightContexts)
No description
at line 2151
set_hidden(bool $include_subtree = false, bool $hidden = true)
Updates the hidden flag for this document index and all children if so desired
at line 837
set_post_type(int $post_type)
type-safe setter
in
Model at line 599
void
set_properties_from_array(array $input, array|bool $filter = false)
No description
in
Model at line 540
set_property(string|array $property_id, mixed $property_value = false, bool $no_change = false)
Set a Property. If $property_id is an array and $property_value is false, set_property is called for each element in the array with the array key and value as params.
at line 878
set_related_document(DocumentModel $documentModel)
No description
in
Model at line 1716
set_render_params(mixed $params = array())
Sets parameter that will be passed to the XUI helpers
in
Model at line 1756
static
set_request_cache(string $key, mixed $value)
Set Request Cache Entry
in
SoftDeleteTrait at line 67
int|bool|null
softDelete()
Mark this model as deleted by setting deleted_at to current time
in
SortTrait at line 116
void
sortMoveTo(int $id, int $sortTo, array|null $conditions = [])
Sort this element to a specific position
in
SortTrait at line 28
sort_down(int $steps = 1, $params = array())
Decrease Sort Priority (Increases SORT value)
in
SortTrait at line 17
sort_up(int $steps = 1, $params = array())
Increase Sort Priority (Decreases SORT value)
in
StaticCacheTrait at line 121
static void
staticCacheClearAllCachePools()
No description
in
StaticCacheTrait at line 114
static void
staticCacheClearCachePool($cache_pool = 'default')
Clears the specified cache pool from the static cache
in
StaticCacheTrait at line 61
static array|string|int|bool|null
staticCacheGet($key, string $cache_pool = 'default')
Retrieves a value from the static cache
in
StaticCacheTrait at line 98
static array
staticCacheGetKeys(string $cache_pool = 'default')
Returns an array of all cache keys which have been set
in
StaticCacheTrait at line 107
static array
staticCacheGetPool($cache_pool)
Returns an key/value array with all cached values from the passed pool
in
StaticCacheTrait at line 34
static bool
staticCacheIsEnabled()
No description
in
StaticCacheTrait at line 85
static bool
staticCacheIsSet($key, string $cache_pool = 'default')
Checks if the passed is key has a value set
in
StaticCacheTrait at line 73
static
staticCacheRemove($key, string $cache_pool = 'default')
Removes the passed key
in
StaticCacheTrait at line 46
static void
staticCacheSet(string|int $key, mixed $value, string $cache_pool = 'default')
Store a value in the static cache
in
Model at line 1675
stop_temporary_group_id_overwrite()
Stops the temporary overwrite of the table_group_id
in
Model at line 1657
void
temporarily_disable_table_group_id()
Temporarily disable the use of the group ID in all queries made
in
Model at line 1583
string
to_json()
Returns the model as JSON array
in
Model at line 1594
string
to_string()
Returns the model as STRING
in
Model at line 1536
string
to_xml(array|bool $property_filter = false, bool|DOMDocument $doc = false, DOMElement $parent_element = null)
Returns an XML of all model properties
in
Model at line 1843
void
touchProperty($propertyName)
No description
in
AuditableTrait at line 59
triggerAuditEvent(Model $model, string $eventKey = AuditableInterface::OBSERVE_EVENT_SAVE)
TBD: Move this method to the audit model? and keep things slim in trait?
in
ScopesTrait at line 56
ModelCollection
unscope(string $scopeName = null, Query|null $scopeQuery = null)
Returns an unscoped Collection
in
SerializableObjectTrait at line 90
static object
unserializeObject(SerializedObjectHelper $SerializedObjectHelper)
No description
in
SerializableObjectTrait at line 121
static object
unserializeObjectFromJSON(string $json)
No description
at line 215
static
updateIndexCache(array $indexes)
No description
at line 1974
DocumentIndexReferenceCollection
updateReferences(DocumentIndexCollection $documentIndexCollection, int $type = 0, string|null $level = null)
No description
at line 1393
bool
update_details(DocumentModel $documentModel = null)
Update the document index with the details from the referenced document model
in
SortTrait at line 43
protected int
update_sort(mixed $id = false, string $direction = 'up', int $steps = 1, array $params = array())
Update the sort property for a given table (Move a record up/down)
in
Model at line 1081
string|true
validate(array $fieldErrors)
No description
in
SoftDeleteTrait at line 59
ModelCollection
withDeleted()
No description