]> git.quilime.com - clmpr.git/commitdiff
Update tag count on duplicate key
authorGabriel Dunne <gdunne@quilime.com>
Sun, 18 Dec 2011 17:17:05 +0000 (09:17 -0800)
committerGabriel Dunne <gdunne@quilime.com>
Sun, 18 Dec 2011 17:17:05 +0000 (09:17 -0800)
clmpr.sql
get.php
put.php
style.css

index ac034328a18a73030b3d6c77f079dfce5446aa2e..6a9a88a2d16fca4a627d97c5aa45ac633fcdd3d3 100644 (file)
--- a/clmpr.sql
+++ b/clmpr.sql
@@ -19,7 +19,7 @@ CREATE TABLE `tags` (
   `count` int(9) NOT NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `tag` (`tag`)
-) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;
+) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
 
 CREATE TABLE `users` (
   `id` int(9) NOT NULL AUTO_INCREMENT,
diff --git a/get.php b/get.php
index 34679a9e9c1b554e442fe1ec943e27d198a370d0..b61ed169f4c45fc47af0206a3822ba7b8a9c4846 100644 (file)
--- a/get.php
+++ b/get.php
@@ -94,6 +94,12 @@ case 'xml' :
             <a class="uname" href="/?user=<?php echo $row['user'] ?>"><?php echo $row['user'] ?></a>
         </span>
 
+            <ul class="tags">
+                <?php foreach($row['tags'] as $tag) : ?>
+                <li><a href="/tags.php?tag=<?=$tag?>"><?=$tag?></a></li>
+                <? endforeach; ?>
+            </ul>        
+
         <?php 
         if ($user = get_user()):
             if ($user['user'] == $row['user']): ?>
@@ -106,19 +112,11 @@ case 'xml' :
         ?>        
 
         <div class="expand">
-    
             <?php if ($hasDescription) : ?>
                 <p class="desc">
                 <?php echo $row['description']; ?>
                 </p>
             <?php endif; ?>      
-
-            <ul class="tags">
-                <?php foreach($row['tags'] as $tag) : ?>
-                <li><a href="/tags.php?tag=<?=$tag?>"><?=$tag?></a></li>
-                <? endforeach; ?>
-            </ul>
-
         </div>
 
     </li>
diff --git a/put.php b/put.php
index 7df006ea3a481257a31ab8b8f8722c4ff2b3e08e..a78631ba7604660160aa045db2a0c35c96fb7123 100644 (file)
--- a/put.php
+++ b/put.php
@@ -17,22 +17,27 @@ try {
         $dbh = get_db_connection();
         $dbh->beginTransaction();
 
-        # insert clump
-        $sql = "INSERT INTO `clmpr`.`clumps` ( `user_id`, `title` , `url` , `tags`, `description`, `date` )
-                VALUES ( ?, ?, ?, ?, ?, NOW() ) ";
-        $q = $dbh->prepare($sql);
-        $insert = $q->execute( array( $user['id'], $params['title'], $params['url'], $params['tags'], $params['description'] ));
-
         # process tags
         $tags = explode(" ", $params['tags']);
+        $tags = array_unique($tags);
         if (count($tags) > 0) {
-            foreach($tags as $tag) {
-                $sql = "INSERT INTO `clmpr`.`tags` ( `tag` ) VALUES ( ? ) ";
+            foreach($tags as $key => $tag) {
+                $sql = "INSERT INTO `clmpr`.`tags` ( `tag`, `count` ) 
+                        VALUES ( ?, 1 ) 
+                        ON DUPLICATE KEY UPDATE
+                            `count` = `count` + 1";
                 $q = $dbh->prepare($sql);
                 $q->execute( array( $tag ));
             }
         }
 
+        # insert clump
+        $sql = "INSERT INTO `clmpr`.`clumps` ( `user_id`, `title` , `url` , `tags`, `description`, `date` )
+                VALUES ( ?, ?, ?, ?, ?, NOW() ) ";
+        $q = $dbh->prepare($sql);
+        $insert = $q->execute( array( $user['id'], $params['title'], $params['url'], implode(" ", $tags), htmlentities($params['description']) ));
+
+
         $dbh = null;
 
         echo "clumped.<br/><br/>";
index 971a6c13dc3ef07b77a0bb3606b3eb9f7e127799..21f091dc61e622fd3b4323673ebf53e5f8dce7fb 100644 (file)
--- a/style.css
+++ b/style.css
@@ -105,11 +105,11 @@ ul.tags, ul.tags li {
     display:inline;
 }
 ul.tags li {
-    background:#eee;
+    background:#eef;
     padding:0 4px;
     margin:0 1px;
 }
 ul.tags li a {
-    color:#bbb;
+    color:#aaf;
 }