4 require_once 'Pman.php';
6 class Pman_Core_Lock extends Pman
11 $au = $this->getAuthUser();
13 $this->jerr("Not authenticated", array('authFailure' => true));
15 $this->authUser = $au;
16 // check that it's a supplier!!!!
24 // default action is to attempt to lock..
25 if (empty($_REQUEST['on_id']) || empty($_REQUEST['on_table'])) {
26 $this->jerr("Missing table or id");
28 $action = empty($_REQUEST['unlock']) ? 'lock' : 'unlock';
29 $tab = str_replace('/', '',$_REQUEST['on_table']); // basic protection??
30 $x = DB_DataObject::factory($tab);
31 if (!$x->get($_REQUEST['on_id'])) {
32 $this->jerr("Item does not exist");
36 if ($curlock->find(true)) {
39 $this->$action($curlock);
43 function unlock($curlock)
46 $curlock = DB_DataObject::factory('Core_locking');
47 $curlock->setFrom(array(
48 'on_id' => $_REQUEST['on_id'],
49 'on_table' => $_REQUEST['on_table'],
50 'person_id' => $this->authUser->id,
54 if (!$curlock->find()) {
55 $this->jok("No lock");
57 while ($curlock->fetch()) {
58 $cc = clone($curlock);
62 $this->jok('unlocked');