Source for file rpc.recordlock.php
Documentation is available at rpc.recordlock.php
* File RPC per il lock del record considerato attualmente.
* Quando un utente entra in modifica su un file questo viene bloccato in scrittura per evitare
* l'accesso concorrente da parte di altro utente.
* Mediante la chiamata a questo file viene creato un record nella tabella "recordlock"
* del DB di regole di VFront. In questo file sono presenti le funzioni per gestire
* @author Mario Marcello Verona <marcelloverona@gmail.com>
* @copyright 2007 Mario Marcello Verona
* @license http://www.gnu.org/licenses/gpl.html GNU Public License
require_once("./inc/conn.php");
require_once("./inc/func.var_frontend.php");
* Verifica che il record sia bloccato o meno.
* In base al tempo massimo di blocco specificato nella variabile globale _VARAIBILI => max_tempo_edit
* è possibile che il record, anche se bloccato, sia comunque scrivibile
$sql= "SELECT tempo FROM {$db1['frontend']}.recordlock
if(!isset ($GLOBALS['_VARIABILI'])){
// e' bloccato, verifica da quando
$tempo_edit = (time()- $tempo_blocco);
if($tempo_edit > $GLOBALS['_VARIABILI']['max_tempo_edit']){
// e' bloccato ormai da tanto, sbloccalo e consideralo libero
// e' libero (non esiste in tabella)
* Blocca un dato record creando una nuova riga nella tabella recordlock
$sql= "INSERT INTO {$db1['frontend']}.recordlock (tabella,colonna,id,tempo)
VALUES ('$tabella','$colonna','$id',". time(). ")
* Sblocca un dato record cancellando la riga ad esso relativa nella tabella recordlock
$sql= "DELETE FROM {$db1['frontend']}.recordlock
####################################
if(isset ($_GET['blocca'])){
else if(isset ($_GET['sblocca'])){
|