summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArun Persaud <arun@nubati.net>2008-03-11 22:21:09 -0700
committerArun Persaud <arun@nubati.net>2008-03-11 22:21:09 -0700
commit3eb71d1ca10d4dc4b06ef84eaa410862ce8d7df9 (patch)
tree38c8b54eedd2f71864c20faa2d4403511f8eba4d
parentcdee8a3e86f57ac0ace7fad8612b0b809b9d08a4 (diff)
downloade-DoKo-3eb71d1ca10d4dc4b06ef84eaa410862ce8d7df9.tar.gz
e-DoKo-3eb71d1ca10d4dc4b06ef84eaa410862ce8d7df9.tar.bz2
e-DoKo-3eb71d1ca10d4dc4b06ef84eaa410862ce8d7df9.zip
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 <arun@nubati.net>
-rw-r--r--create_database.sql24
-rw-r--r--css/standard.css19
-rw-r--r--db.php21
-rw-r--r--index.php26
4 files changed, 89 insertions, 1 deletions
diff --git a/create_database.sql b/create_database.sql
index e863f53..4c74191 100644
--- a/create_database.sql
+++ b/create_database.sql
@@ -63,6 +63,30 @@ 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 "</ul>\n"; /* end ul tricks*/
+ echo "<div class=\"notes\"> Personal notes: <br />\n";
+ $notes = DB_get_notes_by_userid_and_gameid($myid,$gameid);
+ foreach($notes as $note)
+ echo "$note <hr \>\n";
+ echo "Insert note:<input name=\"note\" type=\"text\" size=\"15\" maxlength=\"100\" />\n";
+ echo "</div> \n";
+
$mycards = DB_get_hand($me);
$mycards = mysort($mycards,$gametype);
echo "<div class=\"mycards\">\n";
@@ -2014,7 +2039,6 @@ else if(myisset("me"))
echo "</div>\n";
-
echo "</form>\n";
output_footer();
DB_close();