- $curlock = DB_DataObject::factory('Core_locking');
- $curlock->setFrom(array(
- 'on_id' => $_REQUEST['on_id'],
- 'on_table' => $_REQUEST['on_table']
- ));
- $cc = clone($curlock);
- // the user who owns the lock is not logged in.. ?? - their last
- $curlock->find();
- $u = false;
- while ($curlock->fetch()) {
- $u = DB_DataObject::factory('Person');
- $u->get($curlock->person_id);
- if (!$u->isCurrentlyLoggedIn()) {
- $cc = clone($curlock);
- $cc->delete();
- $u = false;
- continue;
+ $curlock_ex->whereAdd('person_id != '. $this->authUser->id);
+ $nlocks = $curlock_ex->count() ;
+
+ $ret = false;
+
+ if ($nlocks && empty($_REQUEST['force'])) {
+ // DB_DataObjecT::debugLevel(1);
+ $ar = $curlock_ex->fetchAll('person_id', 'created');
+ $p = DB_DataObject::factory('core_person');
+ $p->selectAdd();
+ $p->selectAdd('id,name,email');
+
+ $p->whereAddIn('id', array_keys($ar), 'int');
+ $p->find();
+ $ret = array();
+ while ($p->fetch()) {
+ $ret[$p->id] = $p->toArray();
+ $ret[$p->id]['lock_created'] = $ar[$p->id];