AJAX_Locking
[ class tree: AJAX_Locking ] [ index: AJAX_Locking ] [ all elements ]

Source for file test.php

Documentation is available at test.php

  1. <?php
  2. /**
  3. * AJAX_Locking test example
  4. *
  5. * @category HTML
  6. * @package AJAX_Locking
  7. * @author Fabio Ambrosanio <fabio@ambrosanio.com>
  8. * @copyright 2007 Fabio Ambrosanio
  9. * @license http://www.php.net/license/3_01.txt PHP
  10. * @version Release: @package_version@
  11. */
  12. ?>
  13.  
  14. <html>
  15. <head>
  16. <script type = 'text/javascript' src = "server.php?client=Locking,all&stub=all"></script>
  17. <script type = "text/javascript">
  18. var lockingCallbacks = {
  19. count: 0,
  20. lock: function(result) {
  21. if (result === true) {
  22. h.status();
  23. } else {
  24. h.stop();
  25. HTML_AJAX_Util.setInnerHTML('status', 'Error: cannot lock');
  26. }
  27. },
  28. unlock: function(result) {
  29. if (result === true) {
  30. h.status();
  31. } else {
  32. h.stop();
  33. HTML_AJAX_Util.setInnerHTML('status', 'Error: cannot unlock');
  34. }
  35. },
  36. status: function(result) {
  37. HTML_AJAX_Util.setInnerHTML('count', this.count++);
  38. var values = result.split('~');
  39.  
  40. switch (values[0]) {
  41. case 'owned':
  42. html = '<img src=owned.png align=absmiddle>Editing';
  43.  
  44. enableButton('editButton', false);
  45. enableButton('saveButton', true);
  46. break;
  47.  
  48. case 'locked':
  49. html = '<img src=locked.png align=absmiddle>Locked by ' + values[1];
  50.  
  51. enableButton('editButton', false);
  52. enableButton('saveButton', false);
  53. break;
  54.  
  55. case 'unlocked':
  56. html = '<img src=unlocked.png align=absmiddle>';
  57.  
  58. enableButton('editButton', true);
  59. enableButton('saveButton', false);
  60. break;
  61.  
  62. case 'timeout':
  63. h.stop();
  64.  
  65. html = '<img src=timeout.png align=absmiddle>Timeout expired';
  66. enableButton('editButton', false);
  67. enableButton('saveButton', false);
  68. break;
  69. }
  70.  
  71. HTML_AJAX_Util.setInnerHTML('status', html);
  72. }
  73. }
  74.  
  75. function enableButton(id, enabled)
  76. {
  77. var button = document.getElementById(id);
  78.  
  79. if (button) button.disabled = !enabled;
  80. }
  81.  
  82. function changeParams()
  83. {
  84. var f = document.form;
  85. var user = f.user.value;
  86. var type = f.type.value;
  87. var id = f.id.value;
  88. h.setParams(user, type, id);
  89. }
  90. var h = new AJAX_Locking_Handler(lockingCallbacks);
  91. </script>
  92. </head>
  93.  
  94. <body onload="changeParams(); h.start();">
  95. <form name="form">
  96. User: <input type="text" name="user" value="<?=$_REQUEST['user']?>"><br>
  97. Tipo <input type="text" name="type" value="<?=$_REQUEST['type']?>"><br>
  98. Id: <input type="text" name="id" value="<?=$_REQUEST['id']?>"><br>
  99. <button onClick="changeParams()" type="button">Change</button>
  100. </form>
  101. <div id = "count"></div>
  102. Status: <span id = "status"></span>
  103. <br>
  104. <button id = "editButton" type = "button" onClick = "h.lock()">Edit</button>
  105. <button id = "saveButton" type = "button" onClick = "h.unlock()" disabled>Save</button>
  106. <button id = "statusButton" type = "button" onClick = "h.status()">Status</button>
  107. <br>
  108. </body>
  109. </html>

Documentation generated on Tue, 13 Feb 2007 21:42:45 +0100 by phpDocumentor 1.3.0RC3