Advertisement
Guest User

Untitled

a guest
Sep 15th, 2017
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.94 KB | None | 0 0
  1. <?php
  2. set_time_limit(0);
  3.  
  4. //require("phpsqlgeocode_dbinfo.php");
  5. $username="root";
  6. $password="";
  7. $database="greyboard-pages";
  8. $table="test";
  9.  
  10. //Set page content vars
  11. $divId=$_POST['divId'];
  12. $ip=$_POST['ip'];
  13. $x=$_POST['x'];
  14. $y=$_POST['y'];
  15. $w=$_POST['w'];
  16. $content=$_POST['content'];
  17.  
  18. // Opens a connection to a MySQL server
  19. $connection = mysql_connect("localhost", $username, $password);
  20. if (!$connection) {
  21. die("Not connected : " . mysql_error());
  22. }
  23.  
  24. // Set the active MySQL database
  25. $db_selected = mysql_select_db($database, $connection);
  26. if (!$db_selected) {
  27. die("Can\'t use db : " . mysql_error());
  28. }
  29.  
  30. // Check if post exists and if not, create post
  31. $query = "SELECT * FROM " . $table . " WHERE divId=" . $divId;
  32. $result = mysql_query($query);
  33. if (!$result) {
  34. die("Invalid query: " . mysql_error());
  35. }
  36.  
  37. $content=mysql_real_escape_string($content);
  38.  
  39. if (mysql_fetch_array($result) == ""){
  40. echo "no div found with id: " . $divId;
  41. // Create new post row
  42. $query = "INSERT INTO " . $table . " (divId, ip, x, y, w, content) VALUES (" . $divId . ", '" . $ip . "', '" . $x . "', '" . $y . "', '" . $w . "', '" . $content . "')";
  43. $result = mysql_query($query);
  44. if (!$result) {
  45. die("Invalid query: " . mysql_error());
  46. }
  47. }
  48. else{
  49. echo "div found";
  50. // Update existing post row
  51. $query = "UPDATE " . $table . " SET ip='" . $ip . "', x='" . $x . "', y='" . $y . "', w='" . $w . "', content='" . $content . "' WHERE divId=" . $divId;
  52. $result = mysql_query($query);
  53. if (!$result) {
  54. die("Invalid query: " . mysql_error());
  55. }
  56. }
  57.  
  58.  
  59.  
  60. ?>
  61.  
  62. <?php
  63.  
  64. $username="root";
  65. $password="";
  66. $database="greyboard-pages";
  67.  
  68. // Start XML file, create parent node
  69.  
  70. $dom = new DOMDocument("1.0");
  71. $node = $dom->createElement("page");
  72. $parnode = $dom->appendChild($node);
  73.  
  74. // Opens a connection to a MySQL server
  75.  
  76. $connection=mysql_connect (localhost, $username, $password);
  77. if (!$connection) { die('Not connected : ' . mysql_error());}
  78.  
  79. // Set the active MySQL database
  80.  
  81. $db_selected = mysql_select_db($database, $connection);
  82. if (!$db_selected) {
  83. die ('Can\'t use db : ' . mysql_error());
  84. }
  85.  
  86. // Select all the rows in the markers table
  87.  
  88. $query = "SELECT * FROM test WHERE 1";
  89. $result = mysql_query($query);
  90. if (!$result) {
  91. die('Invalid query: ' . mysql_error());
  92. }
  93.  
  94. header("Content-type: text/xml");
  95.  
  96. // Iterate through the rows, adding XML nodes for each
  97.  
  98. while ($row = @mysql_fetch_assoc($result)){
  99. // ADD TO XML DOCUMENT NODE
  100. $node = $dom->createElement("note");
  101. $newnode = $parnode->appendChild($node);
  102. $newnode->setAttribute("divId",$row['divId']);
  103. $newnode->setAttribute("content", $row['content']);
  104. $newnode->setAttribute("x", $row['x']);
  105. $newnode->setAttribute("w", $row['w']);
  106. $newnode->setAttribute("y", $row['y']);
  107. }
  108.  
  109. echo $dom->saveXML();
  110.  
  111. ?>
  112.  
  113. <html>
  114. <head>
  115. <title>test scrapbook</title>
  116. <link type="text/css" href="./jquery/css/themename/jquery-ui-1.8.13.custom.css" rel="Stylesheet" />
  117. <script type="text/javascript" src="./jquery/js/jquery-1.5.1.min.js"></script>
  118. <script type="text/javascript" src="./jquery/js/jquery-ui-1.8.13.custom.min.js"></script>
  119. <script type="text/javascript" src="xmlHttp.js"></script>
  120. <script>
  121. var userip;
  122. userip = "<?php echo $_SERVER["REMOTE_ADDR"] ?>";
  123. //userip = userip.replace(".","&#46").replace(".","&#46").replace(".","&#46").replace(".","&#46");
  124. getNotes();
  125.  
  126. function handleClickEdit(e){
  127. var div = e.target.parentNode;
  128. if(div.editing !== true){
  129. div.getElementsByTagName("a")[0].innerHTML="done";
  130. $(div).contents()[0].contentEditable="true";
  131. $(div).draggable("disable");
  132. div.editing=true;
  133. }
  134. else{
  135. saveNote(div);
  136. $(div).draggable("enable");
  137. div.getElementsByTagName("a")[0].innerHTML="edit";
  138. $(div).contents()[1].contentEditable="false";
  139. div.editing=false;
  140. }
  141. }
  142.  
  143. function saveDoc(){
  144. var divs = document.getElementById('content').getElementsByTagName('div')
  145. for(var i=0; i<divs.length;i++){
  146. saveNote(divs[i]);
  147. }
  148. }
  149.  
  150. function saveNote(e){
  151. var div = e;
  152. div.x = $(div).offset().left;
  153. div.y = $(div).offset().top;
  154. div.w = div.offsetWidth - 14;
  155. div.content = div.getElementsByTagName("P")[0].innerHTML;
  156. //alert("checking for " + div.id);
  157. $.post("save.php", {x: div.x, y: div.y, w: div.w, content: div.content, divId: div.id, ip: userip});
  158. }
  159.  
  160. function getNotes(){
  161. downloadUrl("get.php", function(data) {
  162. var notes = data.documentElement.getElementsByTagName("note");
  163. for (var i = 0; i < notes.length; i++) {
  164. var x = notes[i].getAttribute("x");
  165. var y = notes[i].getAttribute("y");
  166. var w = notes[i].getAttribute("w");
  167. var divId = notes[i].getAttribute("divId");
  168. var content = notes[i].getAttribute("content");
  169. makeDiv(x,y,w,content,divId);
  170. }
  171. });
  172. }
  173.  
  174. function handleDivMouseOver(e){
  175. var div;
  176. if(e.target.tagName !== "DIV"){
  177. div = e.target.parentNode;
  178. }
  179. else if(e.target.tagName == "A"){
  180. return;
  181. }
  182. else{
  183. var div = e.target;
  184. }
  185. var a = div.getElementsByTagName('a')[0];
  186. a.style.visibility = "visible";
  187. }
  188.  
  189. function handleDivMouseOut(e){
  190. var div;
  191. if(e.target.tagName !== "DIV"){
  192. div = e.target.parentNode;
  193. }
  194. else if(e.target.tagName == "A"){
  195. return;
  196. }
  197. else{
  198. var div = e.target;
  199. }
  200. var a = div.getElementsByTagName('a')[0];
  201. a.style.visibility="hidden";
  202. }
  203.  
  204. function handleDblClick(e){
  205. window.getSelection().collapseToStart()
  206. if(e.target.id !== "content"){
  207. return;
  208. }
  209. else{
  210. var x = e.pageX;
  211. var y = e.pageY;
  212. makeDiv(x,y,180,"new note");
  213. }
  214. }
  215.  
  216. function getUniqueTime() {
  217. var time = new Date().getTime();
  218. while (time == new Date().getTime());
  219. return new Date().getTime()
  220. }
  221.  
  222.  
  223. function makeDiv(x,y,w,content,divId){
  224. var div = document.createElement("div");
  225. div.setAttribute("style",makeDivStyle(x,y,w));
  226. $(div).addClass("textDiv");
  227. if(divId == null){
  228. div.setAttribute("id", (getUniqueTime()));
  229. }
  230. else{
  231. div.setAttribute("id", divId);
  232. }
  233. div.setAttribute("onmouseover","handleDivMouseOver(event)");
  234. div.setAttribute("onmouseout","handleDivMouseOut(event)");
  235. div.innerHTML = "<span><p>"+content+"</p></span><a style='visibility:hidden;' href='#' onClick='handleClickEdit(event)'>edit</a>";
  236. document.getElementById('content').appendChild(div);
  237. $(div).draggable({ containment:"parent"});
  238. saveNote(div);
  239. }
  240.  
  241. function makeDivStyle(x,y,w){
  242. var html = 'position:fixed;' +
  243. 'left:' + x + 'px;' +
  244. 'top:' + y + 'px;' +
  245. 'width: '+ w + 'px; height: auto;';
  246. return html;
  247. }
  248.  
  249. </script>
  250. </head>
  251. <style>
  252. *{
  253. font-family:arial;
  254. font-size:12px;
  255. }
  256. body{
  257. margin:0;
  258. padding:0;
  259. }
  260.  
  261. #wrapper{
  262. height:100%;
  263. width:100%;
  264. padding:0;
  265. margin:0;
  266. }
  267.  
  268. #header{
  269. height:30px;
  270. padding:0 15px 2px 15px;
  271. border-bottom:1px solid #A3A3A3;
  272.  
  273. background: #F5F5F5;
  274. }
  275. #header p{
  276. margin:7px 0 0 0;
  277. }
  278.  
  279. #detailsToolbar{
  280. float:left;
  281. }
  282.  
  283. #fontToolbar{
  284. float:right;
  285. }
  286. #fontToolbar a{
  287. margin-left:15px;
  288. }
  289.  
  290. .textDiv{
  291. border:1px solid #FFF;
  292. //width:300px;
  293. height:auto;
  294. padding:0.5em;
  295. background:white;
  296. }
  297. .textDiv p{
  298. margin-top:0;
  299. }
  300.  
  301. #content{
  302. height:100%;
  303. width:auto;
  304. }
  305. #content div:hover{
  306. border:1px dotted #D8E5E9;
  307. }
  308. </style>
  309. <body >
  310. <div id="wrapper">
  311. <div id="header">
  312. <p id="detailsToolbar">greyboard - michael ricci</p>
  313. <p id="fontToolbar">
  314. <a href="#" onclick="saveDoc()">save</a>
  315. <a href="#" style="font-color:#A3A3A3;" onclick="colourText()">c</a>
  316. <a href="#" style="font-color:#F5F5F5;padding:0 2px 0 2px;background: #A3A3A3;" onclick="colourFont()">c</a>
  317. <a href="#" onclick="bold()">b</a>
  318. <a href="#">u</a>
  319. <a href="#">i</a>
  320. </p>
  321. </div>
  322. <div id="content" onDblclick="handleDblClick(event)">
  323.  
  324. </div>
  325. </div>
  326. </body>
  327. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement