<?php
 
/**
 
 * AJAX_Locking test example
 
 *
 
 * @category   HTML
 
 * @package    AJAX_Locking
 
 * @author     Fabio Ambrosanio <[email protected]>
 
 * @copyright  2007 Fabio Ambrosanio
 
 * @license    http://www.php.net/license/3_01.txt  PHP
 
 * @version    Release: @package_version@
 
 */
 
?>
 
 
<html>
 
<head>
 
<script type = 'text/javascript' src = "server.php?client=Locking,all&stub=all"></script>
 
<script type = "text/javascript">
 
var lockingCallbacks = {
 
    count: 0,
 
    lock: function(result) {
 
        if (result === true) {
 
            h.status();
 
        } else {
 
            h.stop();
 
            HTML_AJAX_Util.setInnerHTML('status', 'Error: cannot lock');
 
        }
 
    },
 
    unlock: function(result) {
 
        if (result === true) {
 
            h.status();
 
        } else {
 
            h.stop();
 
            HTML_AJAX_Util.setInnerHTML('status', 'Error: cannot unlock');
 
        }
 
    },
 
    status: function(result) {
 
        HTML_AJAX_Util.setInnerHTML('count', this.count++);
 
        var values = result.split('~');
 
 
        switch (values[0]) {
 
            case 'owned':
 
                html = '<img src=owned.png align=absmiddle>Editing';
 
 
                enableButton('editButton', false);
 
                enableButton('saveButton', true);
 
                break;
 
 
            case 'locked':
 
                html = '<img src=locked.png align=absmiddle>Locked by ' + values[1];
 
 
                enableButton('editButton', false);
 
                enableButton('saveButton', false);
 
                break;
 
 
            case 'unlocked':
 
                html = '<img src=unlocked.png align=absmiddle>';
 
 
                enableButton('editButton', true);
 
                enableButton('saveButton', false);
 
                break;
 
 
            case 'timeout':
 
                h.stop();
 
 
                html = '<img src=timeout.png align=absmiddle>Timeout expired';
 
                enableButton('editButton', false);
 
                enableButton('saveButton', false);
 
                break;
 
        }
 
 
        HTML_AJAX_Util.setInnerHTML('status', html);
 
    }
 
}
 
 
function enableButton(id, enabled)
 
{
 
    var button = document.getElementById(id);
 
 
    if (button)    button.disabled = !enabled;
 
}
 
 
function changeParams()
 
{
 
    var f = document.form;
 
    var user = f.user.value;
 
    var type = f.type.value;
 
    var id = f.id.value;
 
    h.setParams(user, type, id);
 
}
 
var h = new AJAX_Locking_Handler(lockingCallbacks, '<?=$_REQUEST['user']?>', '<?=$_REQUEST['type']?>' , '<?=$_REQUEST['id']?>');
 
</script>
 
</head>
 
 
<body onload="h.start();">
 
<form name="form">
 
User: <input type="text" name="user" value="<?=$_REQUEST['user']?>"><br>
 
Tipo <input type="text" name="type" value="<?=$_REQUEST['type']?>"><br>
 
Id: <input type="text" name="id" value="<?=$_REQUEST['id']?>"><br>
 
<button onClick="changeParams()" type="button">Set</button>
 
</form>
 
<div id = "count"></div>
 
Status: <span id = "status"></span>
 
<br>
 
<button id = "editButton" type = "button" onClick = "h.lock()">Edit</button>
 
<button id = "saveButton" type = "button" onClick = "h.unlock()" disabled>Save</button>
 
<button id = "statusButton" type = "button" onClick = "h.status()">Status</button>
 
<br>
 
</body>
 
</html>
 
 |