* baseURL + /Core/Lock/lock?on_id=...&on_table=...
* - returns id or an array of who has the locks.
*
+ * Force an unlock after a warning..
* baseURL + /Core/Lock/lock?on_id=...&on_table=...&force=1
* - returns id..
*
+ * Unlock - call when window is closed..
+ * baseURL + /Core/Lock/unlock?on_id=...&on_table=...&force=1
+ * - returns jerr or jok
*/
require_once 'Pman.php';
}
function get($action)
+ {
+ // should we allow url links to lock things???
+ // only for debugging??
+ $this->post($action);
+ //
+ $this->jerr("invalid request");
+ }
+
+ function post($action)
{
// default action is to attempt to lock..
- $action = empty($action) ? 'lock' : 'unlock';
- $this->$action($curlock);
-
-
-
+ $action = empty($action) || $action == 'lock' ? 'lock' : 'unlock';
+ $this->$action();
}
- function unlock($curlock)
+ function unlock()
{
if (empty($_REQUEST['id'])) {
));
- $nlocks = $curlock->count()
+ $nlocks = $curlock->count() ;
if ($nlocks && empty($_REQUEST['force'])) {
- $curlock->selectAdd();
- $curlock->selectAdd('distinct(person_id), created');
-
-
+ // DB_DataObjecT::debugLevel(1);
$ar = $curlock->fetchAll('person_id', 'created');
$p = DB_DataObject::factory('Person');
- $p->whereAddIn('id', $ar, 'int');
+ $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->toRooArray();
- $ret[$p->id]->lock_created = $ar[$p->id];
+ $ret[$p->id] = $p->toArray();
+ $ret[$p->id]['lock_created'] = $ar[$p->id];
}
- $this->jok($ret);
+ $this->jok(array_values($ret));
}
if ($nlocks) {