function Page($page, $ranq) { global $NPDS_Prefix, $ModPath, $ModStart, $gmt, $auteur, $groupe, $mess; $tmp = "\n <script type='text/javascript'>\n //<![CDATA[\n // timerID=10 secondes (verrou) : timerTTL=20 minutes (force la deconnexion)// 240000 pour debug\n var timerID = null;\n var timerTTL = null;\n function TimerInit() {\n timerID = setTimeout('TimerAct()',10000);\n timerTTL= setTimeout('TimerDes()',240000);\n }\n function TimerAct() {\n clearTimeout(timerID);\n ws_verrou('{$auteur}', '{$page}', '{$groupe}');\n TimerInit();\n }\n function TimerDes() {\n if (timerID != 0) {\n bootbox.alert('" . wspad_trans("note : Enregistrer votre travail") . "', function() {});\n }\n clearTimeout(timerID);\n timerID = 0;\n clearTimeout(timerTTL);\n timerTTL = 0;\n }\n function ws_verrou(xuser, xpage, xgroupe) {\n var xmlhttp;\n if (window.XMLHttpRequest) {\n xmlhttp=new XMLHttpRequest();\n } else {\n xmlhttp=new ActiveXObject(\"Microsoft.XMLHTTP\");\n }\n var url='modules/{$ModPath}/ws_verrou.php?verrou_user='******'&verrou_page='+xpage+'&verrou_groupe='+xgroupe+'&random='+Math.random();\n xmlhttp.open('GET', url, true);\n xmlhttp.send();\n document.getElementById('verrous').src='modules/{$ModPath}/images/ajax_waiting.gif';\n document.getElementById('mess').innerHTML='';\n }\n\n document.getElementsByTagName('body')[0].setAttribute('onload','TimerInit();');\n //]]>\n </script>"; // Analyse des verrous $filename = "modules/{$ModPath}/locks/{$page}-vgp-{$groupe}.txt"; $refresh = 15; clearstatcache(); if (file_exists($filename)) { if (filemtime($filename) > time() - $refresh) { // propriétaire de ce verrou ? $cont = file($filename); if ($cont[0] == $auteur) { $edition = true; echo $tmp; } else { $edition = false; } } else { // pose le verrou $fp = fopen($filename, "w"); fwrite($fp, $auteur); fclose($fp); sql_query("UPDATE " . $NPDS_Prefix . "wspad SET verrou='' WHERE verrou='{$auteur}'"); sql_query("UPDATE " . $NPDS_Prefix . "wspad SET verrou='{$auteur}' WHERE page='{$page}' AND member='{$groupe}'"); $edition = true; echo $tmp; } } else { // pose le verrou $fp = fopen($filename, "w"); fwrite($fp, $auteur); fclose($fp); sql_query("UPDATE " . $NPDS_Prefix . "wspad SET verrou='' WHERE verrou='{$auteur}'"); sql_query("UPDATE " . $NPDS_Prefix . "wspad SET verrou='{$auteur}' WHERE page='{$page}' AND member='{$groupe}'"); $edition = true; echo $tmp; } // Analyse des verrous $row = sql_fetch_assoc(sql_query("SELECT content, modtime, editedby, ranq FROM " . $NPDS_Prefix . "wspad WHERE page='{$page}' AND member='{$groupe}' AND ranq='{$ranq}'")); if (!$edition) { $mess = wspad_trans("Mode lecture seulement"); } echo ''; if (!is_array($row)) { $row['ranq'] = 1; $row['editedby'] = $auteur; $row['modtime'] = time(); } else { $row['ranq'] += 1; } global $surlignage; echo ' <h4>' . wspad_trans("Document : ") . $page . '<span class="text-muted"> [ ' . wspad_trans("révision") . ' : ' . $row['ranq'] . ' - ' . $row['editedby'] . ' / ' . date(translate("dateinternal"), $row['modtime'] + $gmt * 3600) . ' ] </span> <span style="float: right;"><img src="modules/' . $ModPath . '/images/ajax_waiting.gif" id="verrous" title="wspad locks" /></span></h4> <div id="mess" class="alert alert-success" role="alert">test debug' . $mess . '</div> <form action="modules.php?ModPath=' . $ModPath . '&ModStart=' . $ModStart . '&member=' . $groupe . '" method="post" name="wspadformcont"> <div class="form-group"> <textarea class="tin form-control" rows="30" name="content" ><div class="mceNonEditable">' . $row['content'] . '</div></textarea> </div>'; echo aff_editeur('content', ''); if ($edition) { echo ' <div class="form-group"> <input class="btn btn-primary" type="submit" name="sauve" value="' . wspad_trans("Sauvegarder") . '" /> <a class="btn btn-secondary" href="modules.php?ModPath=' . $ModPath . '&ModStart=' . $ModStart . '&member=' . $groupe . '" >' . wspad_trans("Abandonner") . '</a> <input type="hidden" name="page" value="' . $page . '" /> <input type="hidden" name="op" value="sauve" /> </div>'; } echo '</form>'; }
if ($cookie[9] == "") { $cookie[9] = $Default_Theme; } if (isset($theme)) { $cookie[9] = $theme; } $tmp_theme = $cookie[9]; if (!($file = @opendir("themes/{$cookie['9']}"))) { $tmp_theme = $Default_Theme; } } else { $tmp_theme = $Default_Theme; } $Titlesitename = "NPDS wspad"; include "meta/meta.php"; echo "<link rel=\"shortcut icon\" href=\"images/favicon.ico\" type=\"image/x-icon\" />\n"; global $site_font; echo import_css($tmp_theme, $language, $site_font, '', ''); echo ' </head> <body style="padding: 10px; background:#ffffff;">'; $wspad = rawurldecode(decrypt($pad)); $wspad = explode("#wspad#", $wspad); $row = sql_fetch_assoc(sql_query("SELECT content, modtime, editedby, ranq FROM " . $NPDS_Prefix . "wspad WHERE page='" . $wspad[0] . "' and member='" . $wspad[1] . "' and ranq='" . $wspad[2] . "'")); echo "<table width=\"100%\" cellspacing=\"2\" cellpadding=\"2\" border=\"0\"><tr><td class=\"header\">\n"; echo $wspad[0] . " [ " . wspad_trans("révision") . " : " . $row['ranq'] . " - " . $row['editedby'] . " / " . date(translate("dateinternal"), $row['modtime'] + $gmt * 3600) . " ]"; echo "</td></tr></table>\n"; echo aff_langue($row['content']); echo ' </body> </html>';