<?php include $_SERVER['DOCUMENT_ROOT'] . '/ControlBalneario/Models/Permission.php'; if ($_GET['action'] == "getAll") { $p = new Permission(); $all = $p->getAll_json(); print_r($all); } else { if ($_GET['action'] == "update") { $p = new Permission(); $p->create(json_decode($_GET['data'], true)); $p->update(); print "success"; } else { if ($_GET['action'] == "save") { } } }
public function update() { $db = DB::Instance(); $db->StartTrans(); $new_position = $this->_data['position']; // load sibling permissions $permissions = new PermissionCollection(new Permission()); $sh = new SearchHandler($permissions, FALSE); // build the query based on whether a parent_id is available if (isset($this->_data['parent_id']) && !empty($this->_data['parent_id'])) { $sh->addConstraint(new Constraint('parent_id', '=', $this->_data['parent_id'])); } else { $this->_data['parent_id'] = 'null'; $sh->addConstraint(new Constraint('parent_id', 'IS', 'NULL')); } // finally, always ignore the current permission $sh->addConstraint(new Constraint('id', '!=', $this->_data['permission_id'])); $permissions->load($sh); //*********************************** // CHECK + UPDATE SIBLING PERMISSIONS $count = 0; $position_errors = FALSE; foreach ($permissions as $model) { // normal increment $count++; if ($new_position == $count) { // we've come across our new item // increment again, so we make a gap for the new permission $count++; } // there's no point in updating the record if it's already in the correct position if ($model->position != $count) { if (!$model->update($model->id, array('position'), array($count))) { $position_errors = TRUE; continue; } } } // no point in proceeding is we've got errors if ($position_errors === TRUE) { $db->FailTrans(); $db->CompleteTrans(); echo json_encode(array('success' => FALSE, 'errors' => '<li>Error updating sibling positions</li>')); exit; } $permission = new Permission(); // update the current permission position if (!$permission->update($this->_data['permission_id'], array('position', 'parent_id'), array($new_position, $this->_data['parent_id']))) { $db->FailTrans(); $db->CompleteTrans(); echo json_encode(array('success' => FALSE, 'errors' => '<li>Error updating desired position</li>')); exit; } // must have been successful $db->CompleteTrans(); echo json_encode(array('success' => TRUE)); exit; }
<?php session_start(); include_once "../php/Permission.php"; if (isset($_POST['save'])) { $permission = new Permission(); $permission->lockSerial($_POST['lock']); $permission->recipientIdentification($_POST['recipient']); $permission->startDateHour($_POST['startDateHour']); $permission->endDateHour($_POST['endDateHour']); echo "tt"; $permission->insert(); } elseif (isset($_POST['update'])) { $permission = new Permission(); $permission->lockSerial($_POST['lock']); $permission->recipientIdentification($_POST['recipient']); $permission->startDateHour($_POST['startDateHour']); $permission->endDateHour($_POST['endDateHour']); $permission->update(); } elseif (isset($_POST['delete'])) { Permission::delete($_POST['lock'], $_POST['recipient']); } header("location: showPermissions.php");