Squiz Matrix  4.12.2
 All Data Structures Namespaces Functions Variables Pages
Locking_Method Class Reference
Inheritance diagram for Locking_Method:
Asset MySource_Object Locking_Method_Default Locking_Method_Memcache

Public Member Functions

 __construct ($assetid=0)
 
- Public Member Functions inherited from Asset
 Asset ($assetid=0)
 
 create (Array &$link)
 
 load ($assetid)
 
 _loadDataPaths ()
 
 reload ()
 
 canDelete ()
 
 delete ($release_lock=TRUE, $check_locked=TRUE)
 
 useSystemVersion ()
 
 loadSystemVersion ()
 
 saveSystemVersion ()
 
 clearSystemVersion ()
 
 revertToSystemVersion ()
 
 revertNoticeLinksToSystemVersion ()
 
 _updated ($update_parents=TRUE)
 
 type ()
 
 getTypeAncestors ($include_asset=TRUE)
 
 incrementVersion ($number='micro', $update_parents=TRUE)
 
 getLanguages ()
 
 setLanguages (Array $languages)
 
 setCharset ($charset)
 
 setForceSecure ($force_secure)
 
 remapAssetids (Array $map)
 
 morph ($new_type_code)
 
 _morphCleanup ($new_type_code)
 
 onRequestKeywords (Asset $broadcaster, Array $vars=Array())
 
 canClone ()
 
 cloneComponents (Asset $clone, Array $components, $override=FALSE)
 
 cloneComponentsAdditional (Asset $clone, Array $components)
 
 cloneLinks (Asset $clone)
 
 getStatus ()
 
 getAvailableStatii ()
 
 getStatusDescription ()
 
 processStatusChange ($new_status, $update_parents=TRUE, $run_updated=TRUE)
 
 setDate ($date_type, $time=NULL, $userid=NULL)
 
 lockTypes ()
 
 canForceablyAcquireLock ($lock_type)
 
 getEditingLocks ($keywords)
 
 _getAllowedLinks ()
 
 createLink (Asset $minor, $link_type, $value='', $sort_order=NULL, $dependant='0', $exclusive='0', $moving=FALSE, $locked=0)
 
 prepareLink (Asset $asset, $side_of_link, &$link_type, &$value, &$sort_order, &$dependant, &$exclusive)
 
 canCreateLink (Asset $minor, $link_type, $exclusive)
 
 canMoveLink (Asset $minor, Asset $old_major, $link_type)
 
 describeLink ($linkid)
 
 isDeletableLink ($linkid)
 
 canDeleteLink ($linkid)
 
 deleteLink ($linkid, $check_locked=TRUE)
 
 linksUpdated ()
 
 canCloneLink ()
 
 saveAttributes ($dont_run_updated=FALSE, $log_message=TRUE)
 
 setAttrValue ($name, $value)
 
 attr ($name)
 
attrByRef ($name)
 
 getAttribute ($name, $mute_errors=FALSE)
 
 getAssetKeywords ($descriptions=FALSE)
 
 getAvailableKeywords ()
 
 getKeywordReplacement ($keyword)
 
 getAssetWebPathKeywordReplacement ()
 
 getCustomKeywordReplacements ($keywords=Array(), $invoke_backend=FALSE)
 
 processCustomKeywords ($keywords=Array())
 
 getContent ()
 
 setContent ()
 
 getEffectiveLastUpdatedTime ($assetids)
 
 readAccess (Array $assetids=Array())
 
 writeAccess ($lock_type='', Array $assetids=Array(), $only_workflow=TRUE)
 
 adminAccess ($lock_type='', Array $assetids=Array())
 
 backendAccess ()
 
 liveEditAccess ($lock_type)
 
 canliveEdit ($lock_type)
 
 effectiveUnrestricted ()
 
 checkAccess ($perm, $lock_type, Array $assetids=Array(), $only_workflow=TRUE)
 
 accessEffective ()
 
 permissionsUpdated ()
 
 printFrontend ()
 
 printFrontendAsset (Asset $asset, $design=NULL)
 
 getValidProtocols ()
 
 printHead ()
 
 printBody ()
 
 getCurrentPaintLayoutName ()
 
 getCurrentDesignName ()
 
 printBodyWithPaintLayout ($layout_id='')
 
 initLimbo ()
 
 printLimbo ()
 
 paintBackend (Backend_Outputter $o)
 
 getPrefix ()
 
 processBackend (Backend_Outputter $o, Array &$link)
 
 getEI ()
 
 getEditFns ()
 
 getBackendHref ($screen='', $backend_page=TRUE)
 
 getURL ($base_url=NULL, $ignore_rollback=FALSE, $base_contextid=NULL)
 
 getURLs ()
 
 getHref ($base_url=NULL, $ignore_rollback=FALSE)
 
 getWebDataPath ()
 
 getWebPaths ()
 
 saveWebPaths ($paths, $auto_add_remaps=TRUE)
 
 getLookups ($field='')
 
 getDesignLookups ()
 
 getLookupValues ($inherited=NULL, $prefix='', $like_search=TRUE, $ignore_override=FALSE)
 
 deleteLookupValue ($layout_name, $layout_value)
 
 setPaintLayouts ($layouts)
 
 updateLookups ($auto_add_remaps=TRUE)
 
 setLookupValues (Array $values)
 
 getAssetStatusDescriptionKeywordReplacement ()
 
 getAssetStatusColourKeywordReplacement ()
 
 replaceKeywordsInString ($string)
 
 fastTrack ($tasks)
 
 unFastTrack ($tasks)
 
 shouldFastTrack ($task, $assetid=NULL)
 
 getFaskTrackedTaskAssetids ($task)
 
 getDependantParentsURL ()
 
- Public Member Functions inherited from MySource_Object
 MySource_Object ()
 
 __sleep ()
 
 __wakeup ()
 

Static Public Member Functions

static acquireLock ($lockid, $source_lockid='', $expires=0)
 
static updateLock ($lockid, $expires=0)
 
static releaseLock ($lockid)
 
static getLockInfo ($lockid, $full_chain=FALSE, $check_expires=TRUE, $allow_only_one=TRUE)
 
static getActiveLocks ($owner_assetid=NULL, $include_expired=FALSE)
 
static supportsGetActiveLocks ()
 
static changeLockOwner ($old_assetid, $new_assetid)
 
static supportsChangeLockOwner ()
 
static supportsDeletingExpiredLocks ()
 

Additional Inherited Members

- Data Fields inherited from Asset
 $id = 0
 
 $version = ''
 
 $name = ''
 
 $short_name = ''
 
 $status
 
 $languages = ''
 
 $charset = ''
 
 $force_secure = '0'
 
 $created
 
 $created_userid
 
 $updated
 
 $updated_userid
 
 $published
 
 $published_userid
 
 $status_changed
 
 $status_changed_userid
 
 $_is_cacheable = FALSE
 
 $vars = Array()
 
 $_available_keywords = Array()
 
 $data_path_suffix = ''
 
 $data_path = ''
 
 $data_path_public = ''
 
 $_ser_attrs = FALSE
 
- Protected Member Functions inherited from Asset
 _preCreateCheck (Array &$link)
 
 _createAdditional (Array &$link)
 
 _abortCreate ($trigger_level_changed=FALSE, $linkid=0)
 
 _loadVars ()
 
 _getName ($short_name=FALSE, $contextid=NULL)
 
 _getKeywordReplacement ($keyword)
 
 _checkPermissionAccess ($perm, $assetids=Array(), $only_workflow=TRUE)
 
 makeAndSaveInitialWebPath ($path, $parent_link=NULL)
 

Detailed Description

Definition at line 41 of file locking_method.inc.

Constructor & Destructor Documentation

__construct (   $assetid = 0)

Constructor

This doesn't really matter in this case, as it will only be called statically.

Parameters
string$assetidThe ID of the asset to load

Definition at line 54 of file locking_method.inc.

Member Function Documentation

static acquireLock (   $lockid,
  $source_lockid = '',
  $expires = 0 
)
static

Acquire a lock on part of the system

The $source_lockid parameter should be set if an asset is being locked as a result of a dependant parent being locked. If the source lock is released, this lock will be too. If this lock is not dependent on any other, use blank.

Setting $expires to zero (or omitted) will result in the default lock length being used (as defined as SQ_CONF_LOCK_LENGTH in the System Configuration file).

If $expires is NULL, there will be no expiry time set on the lock. It will remain locked until unlocked by the user.

Otherwise, $expires should be a UNIX timestamp of the expiry time. (ie. it is not a lock length.)

The locking method should throw an exception if there is a problem.

Parameters
string$lockidThe ID of the lock to acquire
string$source_lockidThe ID that triggered the lock acquisition
int$expiresTimestamp of the expiry time
Returns
boolean

Definition at line 87 of file locking_method.inc.

static changeLockOwner (   $old_assetid,
  $new_assetid 
)
static

Change the owner of a lock from one user to another

Requires the ability to filter the list of locks by owner asset ID.

Not entirely useful with core users. Mostly useful for users being drawn in from external sources, such as LDAP, where the DN might change and therefore, possibly the user.

Parameters
string$old_assetidThe asset ID of the old user owner
string$new_assetidThe new user asset ID to own the locks
Returns
boolean

Definition at line 223 of file locking_method.inc.

static getActiveLocks (   $owner_assetid = NULL,
  $include_expired = FALSE 
)
static

Get a list of all active locks, optionally filtered by lock owner

Requires the ability to filter the list of locks by owner asset ID. If not, boolean FALSE will be returned.

An exception should be raised if there are database issues. Simply rethrow the exception and let the calling function handle the error message.

If $owner_assetid omitted, all locks will be returned.

Parameters
string$owner_assetidThe asset ID of the owning user to filter
boolean$include_expiredTRUE = expired locks will also be returned
Returns
array

Definition at line 185 of file locking_method.inc.

static getLockInfo (   $lockid,
  $full_chain = FALSE,
  $check_expires = TRUE,
  $allow_only_one = TRUE 
)
static

Returns an array of information about the passed lock

If $full_chain is TRUE, all locks with the same source lock ID as that of $lockid will be returned (this could return locks from both parents and children if this is in the middle of a full chain).

If $check_expires is TRUE, any locks that have expired will be released, and not returned. Only locks that would have been returned by this function are tested; it does not do a general "sweep" of the locks table.

Parameters
string | array$lockidThe id of the lock to get info for
boolean$full_chainTRUE = Return the full lock chain
boolean$check_expiresTRUE = Clean up expired locks found
boolean$allow_only_oneTRUE = Force only one lock returned
Returns
array public

Definition at line 159 of file locking_method.inc.

static releaseLock (   $lockid)
static

Release a lock

All locks that show $lockid as its source lock ID will be released. This is to ensure that dependant groups of assets (for which the source lock is primarily used for) are locked and unlocked in one group.

Parameters
string$lockidThe ID of the lock to release
See Also
Locking_Method::acquireLock()
Returns
boolean

Definition at line 133 of file locking_method.inc.

static supportsChangeLockOwner ( )
static

Does this locking method support the changing of lock ownership?

Returns
boolean

Definition at line 240 of file locking_method.inc.

static supportsDeletingExpiredLocks ( )
static

Does this locking method support deleting expired locks?

Returns
boolean

Definition at line 252 of file locking_method.inc.

static supportsGetActiveLocks ( )
static

Does this locking method support the getting of active locks?

Returns
boolean

Definition at line 202 of file locking_method.inc.

static updateLock (   $lockid,
  $expires = 0 
)
static

Update the expiry time on a lock

The expiry time will be updated on all locks that show $lockid as its source lock ID. The $expires parameter follows the same rules as acquireLock().

If a lock is set to indefinite (NULL), this function will not change this, but will still return TRUE. You must release an indefinite lock before setting a definite expiry date on it.

The locking method should throw an exception if there is a problem with updating the lock expiry.

Parameters
string$lockidThe ID of the lock to update
int$expiresTimestamp of the expiry time
See Also
Locking_Method::acquireLock()
Returns
boolean

Definition at line 114 of file locking_method.inc.


The documentation for this class was generated from the following file: