|
|
Objekte oder Elemente locken / sperren
|
|
|
======
|
|
|
|
|
|
Über PHP locken
|
|
|
------
|
|
|
|
|
|
Oftmals dürfen bestimmte Artikel / Objekte in der Administration nicht von mehreren Benutzer editiert werden, da es sonst zu Datenüberschreibungen kommen kann. Für dieses Problem gibt es Serverseitig den ```QUI\Lock\Locker```. Dieser hilft dabei ein Lockstatus zu implementieren.
|
|
|
|
|
|
Als Beispiel gehen wir von einer Projektseite aus, diese darf nur immer von __einem__ Benutzer bearbeitet werden.
|
|
|
|
|
|
lock
|
|
|
------
|
|
|
### lock
|
|
|
|
|
|
Die Seite wird für andere Benutzer folgendermaßen gelockt:
|
|
|
|
... | ... | @@ -24,8 +26,7 @@ QUI\Lock\Locker::lock( |
|
|
|
|
|
```
|
|
|
|
|
|
unlock
|
|
|
------
|
|
|
### unlock
|
|
|
|
|
|
Die Seite wieder für andere editierbar machen
|
|
|
|
... | ... | @@ -43,8 +44,7 @@ QUI\Lock\Locker::unlock( |
|
|
|
|
|
```
|
|
|
|
|
|
isLocked
|
|
|
------
|
|
|
### isLocked
|
|
|
|
|
|
Prüfen ob die Seite von jemand anderem gelockt wurde
|
|
|
|
... | ... | @@ -73,8 +73,7 @@ Locker::checkLocked( |
|
|
|
|
|
```
|
|
|
|
|
|
Mit der lock Zeit arbeiten
|
|
|
------
|
|
|
### Mit der lock Zeit arbeiten
|
|
|
|
|
|
Es ist möglich auch mit der letzten lock Zeit zu arbeiten.
|
|
|
|
... | ... | @@ -94,3 +93,78 @@ $lastLock = Locker::getLockTime( |
|
|
// $lastLock besitzt die letzte Zeit in der ein lock durchgeführt wurde
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
Über JavaScript locken
|
|
|
------
|
|
|
|
|
|
### lock
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
require(['Ajax'], function(QUIAjax) {
|
|
|
|
|
|
QUIAjax.post('ajax_lock_lock', function() {
|
|
|
|
|
|
}, {
|
|
|
'package': 'quiqqer/quiqqer'
|
|
|
key : 'project_de_1'
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
### unlock
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
require(['Ajax'], function(QUIAjax) {
|
|
|
|
|
|
QUIAjax.post('ajax_lock_unlock', function() {
|
|
|
|
|
|
}, {
|
|
|
'package': 'quiqqer/quiqqer'
|
|
|
key : 'project_de_1'
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
### isLocked
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
require(['Ajax'], function(QUIAjax) {
|
|
|
|
|
|
QUIAjax.get('ajax_lock_isLocked', function() {
|
|
|
|
|
|
}, {
|
|
|
'package': 'quiqqer/quiqqer'
|
|
|
key : 'project_de_1'
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
### get lock time
|
|
|
|
|
|
```javascript
|
|
|
|
|
|
require(['Ajax'], function(QUIAjax) {
|
|
|
|
|
|
QUIAjax.get('ajax_lock_getLocktime', function() {
|
|
|
|
|
|
}, {
|
|
|
'package': 'quiqqer/quiqqer'
|
|
|
key : 'project_de_1'
|
|
|
});
|
|
|
|
|
|
});
|
|
|
|
|
|
``` |
|
|
\ No newline at end of file |