示例#1
0
文件: Locks.php 项目: h3rb/page
function LockMechanism(&$p, $table, $id)
{
    $locked = LockCheck($table, $id);
    if (matches($table, "Modified")) {
        return;
    }
    $p->HTML('<div class="padlockarea"><span id="padlock" class="redbutton">' . '<span id="padlockface" class=""></span>' . '</span>' . '<span id="padlockmsg"></span>' . '</div>');
    $p->JQ('
       $.ajax({
           url:"ajax.skeleton.key",
          data:{S:1,T:"' . $table . '",I:' . $id . '},
      dataType:"html",
       success:function(d){
       page_lock_status=parseInt(d) == 1 ? true : false;
       if ( page_lock_status ) {
        $("#padlockface").removeClass("fi-unlock");
        $("#padlockface").addClass("fi-lock");
        $("#padlockmsg").get(0).innerHTML=" locked";
       } else {
        $("#padlockface").removeClass("fi-lock");
        $("#padlockface").addClass("fi-unlock");
        $("#padlockmsg").get(0).innerHTML=" ";
       }
      }
     });
   var page_lock_status=' . ($locked ? 'true' : 'false') . ';
   $("#padlock").on("click",function(e){
    $.ajax({
          url:"ajax.skeleton.key",
         data:{T:"' . $table . '",I:' . $id . '},
     dataType:"html",
      success:function(d){
      page_lock_status=parseInt(d) == 1 ? true : false;
      if ( page_lock_status ) {
       $("#padlockface").removeClass("fi-unlock");
       $("#padlockface").addClass("fi-lock");
       $("#padlockmsg").get(0).innerHTML=" locked";
      } else {
       $("#padlockface").removeClass("fi-lock");
       $("#padlockface").addClass("fi-unlock");
       $("#padlockmsg").get(0).innerHTML=" ";
      }
     }
    });
    setInterval(function(){
     $.ajax({
           url:"ajax.skeleton.key",
          data:{S:1,T:"' . $table . '",I:' . $id . '},
      dataType:"html",
       success:function(d){
       page_lock_status=parseInt(d) == 1 ? true : false;
       if ( page_lock_status ) {
        $("#padlockface").removeClass("fi-unlock");
        $("#padlockface").addClass("fi-lock");
        $("#padlockmsg").get(0).innerHTML=" locked";
       } else {
        $("#padlockface").removeClass("fi-lock");
        $("#padlockface").addClass("fi-unlock");
        $("#padlockmsg").get(0).innerHTML=" ";
       }
      }
     });
    }, 15000 );
   });
  ');
}
示例#2
0
文件: ajax.bound.php 项目: h3rb/page
// Ajax intake for bound form elements
// global $plog_level; $plog_level=1;
include 'core/Page.php';
if (Session::logged_in()) {
    global $database;
    $getpost = getpost();
    if (isset($getpost['I']) && isset($getpost['V']) && isset($getpost['T']) && isset($getpost['F'])) {
        $ID = $getpost['I'];
        $Table = $getpost['T'];
        $Field = $getpost['F'];
        $Value = $getpost['V'];
        if (!Auth::ACL('edit-' . $Table) && !Auth::ACL('edit-' . $Table . '-' . $Field) && !Auth::ACL('su')) {
            echo '{"result":"readonly"}';
            die;
        }
        if (LockCheck($Table, $ID) === TRUE) {
            echo '{"result":"locked"}';
            die;
        }
        if (AutoLockCheck($Table, $ID) === TRUE) {
            echo '{"result":"locked"}';
            die;
        }
        // Update the db, but only when a valid model is provided
        if (class_exists($Table) && matches(get_parent_class($Table), 'Model')) {
            global $database;
            $model = new $Table($database);
            $model->Update(array($Field => $Value), array('ID' => $ID));
            Modified(array("D" => array($Table => array("F" => $Field, "I" => $ID))));
            echo '{"result":"success"}';
            //var_dump($getpost);