From 3eb71d1ca10d4dc4b06ef84eaa410862ce8d7df9 Mon Sep 17 00:00:00 2001 From: Arun Persaud Date: Tue, 11 Mar 2008 22:21:09 -0700 Subject: [PATCH] NEW FEATURE: Ability to add personal notes for each game In case a player is involed in too many games it can get quite confusing with whom your playing, etc. so now the player can add notes on the side that only show up on his/her screen. Signed-off-by: Arun Persaud --- create_database.sql | 24 ++++++++++++++++++++++++ css/standard.css | 19 +++++++++++++++++++ db.php | 21 +++++++++++++++++++++ index.php | 26 +++++++++++++++++++++++++- 4 files changed, 89 insertions(+), 1 deletion(-) diff --git a/create_database.sql b/create_database.sql index e863f53..4c74191 100644 --- a/create_database.sql +++ b/create_database.sql @@ -62,6 +62,30 @@ LOCK TABLES `Comment` WRITE; UNLOCK TABLES; /*!40000 ALTER TABLE `Comment` ENABLE KEYS */; +-- +-- Table structure for table `Notes` +-- + +DROP TABLE IF EXISTS `Notes`; +CREATE TABLE `Notes` ( + `mod_date` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, + `create_date` timestamp NOT NULL default '0000-00-00 00:00:00', + `id` int(11) NOT NULL auto_increment, + `user_id` int(11) default NULL, + `game_id` int(11) default NULL, + `comment` text, + UNIQUE KEY `id` (`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8; + +-- +-- Dumping data for table `Notes` +-- + +/*!40000 ALTER TABLE `Notes` DISABLE KEYS */; +LOCK TABLES `Notes` WRITE; +UNLOCK TABLES; +/*!40000 ALTER TABLE `Notes` ENABLE KEYS */; + -- -- Table structure for table `Game` -- diff --git a/css/standard.css b/css/standard.css index 0a0fc10..1766d6a 100644 --- a/css/standard.css +++ b/css/standard.css @@ -361,6 +361,25 @@ ul.tricks li div div span.comment span{ background-color: #eee; } +.notes { + position:absolute; + top:27em; + left:0; + margin:1em; + margin-top:0em; + margin-left:0em; + + width: 12em; + + border-top: 2px solid gray; + border-right: 2px solid gray; + border-bottom: 2px solid gray; + + padding:0.3em; + + background-color: #efefef; +} + .user { margin-left:25%;margin-right:25%; } .over { diff --git a/db.php b/db.php index 7b95ae7..7934781 100644 --- a/db.php +++ b/db.php @@ -641,6 +641,27 @@ function DB_insert_comment($comment,$playid,$userid) return; } +function DB_insert_note($comment,$gameid,$userid) +{ + mysql_query("INSERT INTO Notes VALUES (NULL,NULL,NULL,$userid,$gameid, ".DB_quote_smart($comment).")"); + + return; +} + +function DB_get_notes_by_userid_and_gameid($userid,$gameid) +{ + $notes = array(); + + $result = mysql_query("SELECT comment FROM Notes WHERE user_id=".DB_quote_smart($userid) . + " AND game_id=".DB_quote_smart($gameid)); + + while($r = mysql_fetch_array($result,MYSQL_NUM)) + $notes[] = $r[0]; + + return $notes; +} + + function DB_get_gametype_by_gameid($id) { $result = mysql_query("SELECT type FROM Game WHERE id=".DB_quote_smart($id)); diff --git a/index.php b/index.php index d0d9eef..80a732f 100644 --- a/index.php +++ b/index.php @@ -1179,6 +1179,16 @@ else if(myisset("me")) DB_insert_comment($comment,$playid,$myid); }; + /* handle notes in case player didn't play a card, allow notes only during a game */ + if( (!myisset("card") && $mystatus=='play') ) + if(myisset("note")) + { + $note = $_REQUEST["note"]; + + if($note != "") + DB_insert_note($note,$gameid,$myid); + }; + /* get everything relevant to display the tricks */ $result = mysql_query("SELECT Hand_Card.card_id as card,". " Hand.position as position,". @@ -1477,6 +1487,14 @@ else if(myisset("me")) DB_insert_comment($comment,$playid,$myid); }; + /* check for note */ + if(myisset("note")) + { + $note = $_REQUEST["note"]; + if($note != "") + DB_insert_note($note,$gameid,$myid); + }; + /* display played card */ $pos = DB_get_pos_by_hash($me); if($sequence==1) @@ -1837,6 +1855,13 @@ else if(myisset("me")) echo "\n"; /* end ul tricks*/ + echo "
Personal notes:
\n"; + $notes = DB_get_notes_by_userid_and_gameid($myid,$gameid); + foreach($notes as $note) + echo "$note
\n"; + echo "Insert note:\n"; + echo "
\n"; + $mycards = DB_get_hand($me); $mycards = mysort($mycards,$gametype); echo "
\n"; @@ -2014,7 +2039,6 @@ else if(myisset("me")) echo "
\n"; - echo "\n"; output_footer(); DB_close(); -- 2.25.1