continue; } $item_uri = REQUEST_BASE . substr($item, strlen($_filebase)); // get file mtime and md5 $mtime = filemtime($item); if ($mtime > $last_mtime) { $last_mtime = $mtime; } $glob_md5 .= md5_file($item); // WebACL $wac = new WAC($_user, $item, $item_uri); if ($wac->can('Read')) { $g->append_file('turtle', "file://{$item}", $item_uri); } } } elseif (!empty($_filename) && !$g->exists() && !$g->size()) { if (!$_options->wiki) { header('HTTP/1.1 404 Not Found'); } } // offer ?wait updates (polling) if (isset($i_wait)) { $etag = is_array($i_wait) && isset($i_wait['etag']) ? $i_wait['etag'] : $g->etag(); while ($etag == $g->etag()) { sleep(1); clearstatcache(); } $g->reload(); } // offer WebSocket updates $updatesVia = isHTTPS() ? 'wss:' : 'ws:';
} elseif (isset($i_s)) { $any_s = $i_s; } if (!is_null($any_s)) { $g = new Graph('', $_filename, '', $_SERVER['SCRIPT_URI']); $r = strlen($any_s) ? $g->remove_any($any_s) : 0; header('Triples: ' . $r); if ($r) { $g->save(); } exit; } if (is_dir($_filename)) { if ($_options->recursive) { rrmdir($_filename); } else { rmdir($_filename); } } elseif (file_exists($_filename)) { unlink($_filename); } else { $g = new Graph('', $_filename, '', ''); if ($g->exists()) { $g->delete(); } else { httpStatusExit(404, 'Not Found'); } } if (file_exists($_filename)) { httpStatusExit(409, 'Conflict'); }