Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- set_time_limit(0);
- //require("phpsqlgeocode_dbinfo.php");
- $username="root";
- $password="";
- $database="greyboard-pages";
- $table="test";
- //Set page content vars
- $divId=$_POST['divId'];
- $ip=$_POST['ip'];
- $x=$_POST['x'];
- $y=$_POST['y'];
- $w=$_POST['w'];
- $content=$_POST['content'];
- // Opens a connection to a MySQL server
- $connection = mysql_connect("localhost", $username, $password);
- if (!$connection) {
- die("Not connected : " . mysql_error());
- }
- // Set the active MySQL database
- $db_selected = mysql_select_db($database, $connection);
- if (!$db_selected) {
- die("Can\'t use db : " . mysql_error());
- }
- // Check if post exists and if not, create post
- $query = "SELECT * FROM " . $table . " WHERE divId=" . $divId;
- $result = mysql_query($query);
- if (!$result) {
- die("Invalid query: " . mysql_error());
- }
- $content=mysql_real_escape_string($content);
- if (mysql_fetch_array($result) == ""){
- echo "no div found with id: " . $divId;
- // Create new post row
- $query = "INSERT INTO " . $table . " (divId, ip, x, y, w, content) VALUES (" . $divId . ", '" . $ip . "', '" . $x . "', '" . $y . "', '" . $w . "', '" . $content . "')";
- $result = mysql_query($query);
- if (!$result) {
- die("Invalid query: " . mysql_error());
- }
- }
- else{
- echo "div found";
- // Update existing post row
- $query = "UPDATE " . $table . " SET ip='" . $ip . "', x='" . $x . "', y='" . $y . "', w='" . $w . "', content='" . $content . "' WHERE divId=" . $divId;
- $result = mysql_query($query);
- if (!$result) {
- die("Invalid query: " . mysql_error());
- }
- }
- ?>
- <?php
- $username="root";
- $password="";
- $database="greyboard-pages";
- // Start XML file, create parent node
- $dom = new DOMDocument("1.0");
- $node = $dom->createElement("page");
- $parnode = $dom->appendChild($node);
- // Opens a connection to a MySQL server
- $connection=mysql_connect (localhost, $username, $password);
- if (!$connection) { die('Not connected : ' . mysql_error());}
- // Set the active MySQL database
- $db_selected = mysql_select_db($database, $connection);
- if (!$db_selected) {
- die ('Can\'t use db : ' . mysql_error());
- }
- // Select all the rows in the markers table
- $query = "SELECT * FROM test WHERE 1";
- $result = mysql_query($query);
- if (!$result) {
- die('Invalid query: ' . mysql_error());
- }
- header("Content-type: text/xml");
- // Iterate through the rows, adding XML nodes for each
- while ($row = @mysql_fetch_assoc($result)){
- // ADD TO XML DOCUMENT NODE
- $node = $dom->createElement("note");
- $newnode = $parnode->appendChild($node);
- $newnode->setAttribute("divId",$row['divId']);
- $newnode->setAttribute("content", $row['content']);
- $newnode->setAttribute("x", $row['x']);
- $newnode->setAttribute("w", $row['w']);
- $newnode->setAttribute("y", $row['y']);
- }
- echo $dom->saveXML();
- ?>
- <html>
- <head>
- <title>test scrapbook</title>
- <link type="text/css" href="./jquery/css/themename/jquery-ui-1.8.13.custom.css" rel="Stylesheet" />
- <script type="text/javascript" src="./jquery/js/jquery-1.5.1.min.js"></script>
- <script type="text/javascript" src="./jquery/js/jquery-ui-1.8.13.custom.min.js"></script>
- <script type="text/javascript" src="xmlHttp.js"></script>
- <script>
- var userip;
- userip = "<?php echo $_SERVER["REMOTE_ADDR"] ?>";
- //userip = userip.replace(".",".").replace(".",".").replace(".",".").replace(".",".");
- getNotes();
- function handleClickEdit(e){
- var div = e.target.parentNode;
- if(div.editing !== true){
- div.getElementsByTagName("a")[0].innerHTML="done";
- $(div).contents()[0].contentEditable="true";
- $(div).draggable("disable");
- div.editing=true;
- }
- else{
- saveNote(div);
- $(div).draggable("enable");
- div.getElementsByTagName("a")[0].innerHTML="edit";
- $(div).contents()[1].contentEditable="false";
- div.editing=false;
- }
- }
- function saveDoc(){
- var divs = document.getElementById('content').getElementsByTagName('div')
- for(var i=0; i<divs.length;i++){
- saveNote(divs[i]);
- }
- }
- function saveNote(e){
- var div = e;
- div.x = $(div).offset().left;
- div.y = $(div).offset().top;
- div.w = div.offsetWidth - 14;
- div.content = div.getElementsByTagName("P")[0].innerHTML;
- //alert("checking for " + div.id);
- $.post("save.php", {x: div.x, y: div.y, w: div.w, content: div.content, divId: div.id, ip: userip});
- }
- function getNotes(){
- downloadUrl("get.php", function(data) {
- var notes = data.documentElement.getElementsByTagName("note");
- for (var i = 0; i < notes.length; i++) {
- var x = notes[i].getAttribute("x");
- var y = notes[i].getAttribute("y");
- var w = notes[i].getAttribute("w");
- var divId = notes[i].getAttribute("divId");
- var content = notes[i].getAttribute("content");
- makeDiv(x,y,w,content,divId);
- }
- });
- }
- function handleDivMouseOver(e){
- var div;
- if(e.target.tagName !== "DIV"){
- div = e.target.parentNode;
- }
- else if(e.target.tagName == "A"){
- return;
- }
- else{
- var div = e.target;
- }
- var a = div.getElementsByTagName('a')[0];
- a.style.visibility = "visible";
- }
- function handleDivMouseOut(e){
- var div;
- if(e.target.tagName !== "DIV"){
- div = e.target.parentNode;
- }
- else if(e.target.tagName == "A"){
- return;
- }
- else{
- var div = e.target;
- }
- var a = div.getElementsByTagName('a')[0];
- a.style.visibility="hidden";
- }
- function handleDblClick(e){
- window.getSelection().collapseToStart()
- if(e.target.id !== "content"){
- return;
- }
- else{
- var x = e.pageX;
- var y = e.pageY;
- makeDiv(x,y,180,"new note");
- }
- }
- function getUniqueTime() {
- var time = new Date().getTime();
- while (time == new Date().getTime());
- return new Date().getTime()
- }
- function makeDiv(x,y,w,content,divId){
- var div = document.createElement("div");
- div.setAttribute("style",makeDivStyle(x,y,w));
- $(div).addClass("textDiv");
- if(divId == null){
- div.setAttribute("id", (getUniqueTime()));
- }
- else{
- div.setAttribute("id", divId);
- }
- div.setAttribute("onmouseover","handleDivMouseOver(event)");
- div.setAttribute("onmouseout","handleDivMouseOut(event)");
- div.innerHTML = "<span><p>"+content+"</p></span><a style='visibility:hidden;' href='#' onClick='handleClickEdit(event)'>edit</a>";
- document.getElementById('content').appendChild(div);
- $(div).draggable({ containment:"parent"});
- saveNote(div);
- }
- function makeDivStyle(x,y,w){
- var html = 'position:fixed;' +
- 'left:' + x + 'px;' +
- 'top:' + y + 'px;' +
- 'width: '+ w + 'px; height: auto;';
- return html;
- }
- </script>
- </head>
- <style>
- *{
- font-family:arial;
- font-size:12px;
- }
- body{
- margin:0;
- padding:0;
- }
- #wrapper{
- height:100%;
- width:100%;
- padding:0;
- margin:0;
- }
- #header{
- height:30px;
- padding:0 15px 2px 15px;
- border-bottom:1px solid #A3A3A3;
- background: #F5F5F5;
- }
- #header p{
- margin:7px 0 0 0;
- }
- #detailsToolbar{
- float:left;
- }
- #fontToolbar{
- float:right;
- }
- #fontToolbar a{
- margin-left:15px;
- }
- .textDiv{
- border:1px solid #FFF;
- //width:300px;
- height:auto;
- padding:0.5em;
- background:white;
- }
- .textDiv p{
- margin-top:0;
- }
- #content{
- height:100%;
- width:auto;
- }
- #content div:hover{
- border:1px dotted #D8E5E9;
- }
- </style>
- <body >
- <div id="wrapper">
- <div id="header">
- <p id="detailsToolbar">greyboard - michael ricci</p>
- <p id="fontToolbar">
- <a href="#" onclick="saveDoc()">save</a>
- <a href="#" style="font-color:#A3A3A3;" onclick="colourText()">c</a>
- <a href="#" style="font-color:#F5F5F5;padding:0 2px 0 2px;background: #A3A3A3;" onclick="colourFont()">c</a>
- <a href="#" onclick="bold()">b</a>
- <a href="#">u</a>
- <a href="#">i</a>
- </p>
- </div>
- <div id="content" onDblclick="handleDblClick(event)">
- </div>
- </div>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement