]> git.quilime.com - clmpr.git/commitdiff
working on minimal tags
authorGabriel Dunne <gdunne@quilime.com>
Fri, 23 Dec 2011 18:14:45 +0000 (10:14 -0800)
committerGabriel Dunne <gdunne@quilime.com>
Fri, 23 Dec 2011 18:14:45 +0000 (10:14 -0800)
TODO
admin/_migrate.php [new file with mode: 0644]
data.php
edit.php
new.php
put.php
update.php

diff --git a/TODO b/TODO
index dc176c732a59c36b3df27a947ff3b2baae7c813c..102859f365647de39b0d16f47447fa9b0ebacadb 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,3 +1,4 @@
+// TODO
 evaluate MVC architecture w/ template system
 templates for rss, xml
 clean urls
@@ -6,14 +7,17 @@ private saving
 import/export
 pagination
 tag autocomplete from user tags
+check for quotes (for "multiple words")
+
 
-allow commas or space delimited
 
 pages
        help - explain bookmarklet
        about
 
+
 ref
+       pinterest.in
        http://www.pui.ch/phred/archives/2005/05/tags-with-mysql-fulltext.html
        http://code.google.com/p/mysqlicious/
 
diff --git a/admin/_migrate.php b/admin/_migrate.php
new file mode 100644 (file)
index 0000000..87c99a1
--- /dev/null
@@ -0,0 +1,31 @@
+<?php
+
+include '../init.php';
+
+$dbh = get_db_connection();
+$dbh->beginTransaction();
+
+$q = $dbh->prepare("SELECT *, clumps.id as clump_id
+                    FROM clumps
+                    JOIN users
+                        ON users.id = clumps.user_id
+                    ORDER BY date DESC");
+$q->execute();
+
+$clumps = array();
+for($i = 0; $row = $q->fetch(); $i++ ):
+       $clumps[] = $row;
+endfor;
+
+foreach($clumps as $clump) :
+       #update tags
+       $tags = str_replace(" ", ',', $clump['tags']);
+    # update clump
+       $update = $dbh->prepare("UPDATE `clumps` SET `tags` = '".$tags."' WHERE `id` = '".$clump['clump_id']."'");
+       $update->execute();
+endforeach;
+
+exit;
+
+$dbh = null;
+$q = null;
index fb59b3dd75b4a3e35f9531e8917c5fb785e3e3ed..b80dbcc3965bd6bab7ebce993871bd4060654439 100644 (file)
--- a/data.php
+++ b/data.php
@@ -38,3 +38,12 @@ function get_users(&$dbh, $args)
 
     return false;
 }
+
+
+function tag_string_to_array($tagstr) {
+    # if has commas, split on commas
+    # else split on spaces
+        // TODO
+        # check for quotes (for "multiple words")
+    return strpos($tagstr, ',') ? explode(',', $tagstr) : explode(' ', $tagstr);
+}
index d92f6d57c5c49630bd4a1202e09f62669432f039..6f4d082022ff21680261ad8c13c7e0a4c6a23259 100644 (file)
--- a/edit.php
+++ b/edit.php
@@ -32,27 +32,8 @@ catch(PDOException $e)
 ?><!DOCTYPE html><head>
 
 <?php include 'head.html'; ?>
-
 <title>clmpr - <?=$clump['title']?></title>
-
-<link rel="stylesheet" type="text/css" href="/lib/tag-it/css/jquery-ui.css" />
-<link rel="stylesheet" type="text/css" href="/lib/tag-it/css/jquery.tagit.css" />
-<link rel="stylesheet" type="text/css" href="/lib/tag-it/css/clmpr.tagit.css" />
-
-<script src="/lib/tag-it/js/jquery-ui.min.js" type="text/javascript" charset="utf-8"></script>
-<script src="/lib/tag-it/js/tag-it.js" type="text/javascript" charset="utf-8"></script>
-
 <script type="text/javascript">
-$(document).ready(function() {
-    // user tags array
-    var userTags = [];
-    $("#tag-input").tagit({
-        availableTags : userTags,
-        animate : false,
-        spaceChar : '-',
-        tabIndex : 3
-    });
-});
 function deleteClump( id ) {
     if (confirm("confirm delete")) {
         $.post('delete.php', { clump_id : id }, function(result) {
@@ -62,7 +43,6 @@ function deleteClump( id ) {
     }
 }
 </script>
-
 </head><body>
 
 <?php include 'header.html'; ?>
@@ -82,13 +62,13 @@ function deleteClump( id ) {
     </p>
 
     <p>
-    <label>tags <span class="ui">(combine "multiple words" with quotes)</span></label>
-    <input type="text" tabindex="3" id="tag-input" name="tags" value="<?php echo $clump['tags']; ?>">
+    <label>tags</label>
+    <input type="text" tabindex="3" name="tags" value="<?php echo $clump['tags']; ?>">
     <p>
 
     <p>
     <label>description</label>
-    <input type="text" tabindex="4" name="description" value="<?php echo htmlentities($clump['description']); ?>">
+    <input type="text" tabindex="4" name="description" value="<?php echo $clump['description']; ?>">
     </p>
 
     <p>
diff --git a/new.php b/new.php
index d62e432203a8ec96a9b2389c1c7e4ea6542b5c21..203ebad85bc088e1ee541edc4db1530ea3ac239b 100644 (file)
--- a/new.php
+++ b/new.php
@@ -12,30 +12,6 @@ try {
     ?>
     <!DOCTYPE html><head>
        <?php include 'head.html'; ?>
-
-    <link rel="stylesheet" type="text/css" href="/lib/tag-it/css/jquery-ui.css" />
-    <link rel="stylesheet" type="text/css" href="/lib/tag-it/css/jquery.tagit.css" />
-    <link rel="stylesheet" type="text/css" href="/lib/tag-it/css/clmpr.tagit.css" />
-
-    <script src="/lib/tag-it/js/jquery-ui.min.js" type="text/javascript" charset="utf-8"></script>
-    <script src="/lib/tag-it/js/tag-it.js" type="text/javascript" charset="utf-8"></script>
-
-    <script>
-    $(document).ready(function() {
-
-        // user tags array
-        var userTags = [];
-
-        $("#tag-input").tagit({
-            availableTags : userTags,
-            animate : false,
-            tabIndex : 3
-        });
-        $('.tagit input')[0].focus();
-
-    });
-    </script>
-
     </head><body>
     <?php
 
@@ -80,12 +56,8 @@ try {
        <?php
 
     } else {
-
         include 'signin.php';
-
     }
-
-
 }
 catch(PDOException $e)
 {
diff --git a/put.php b/put.php
index c4704095bb0d795df665f2c08752df0e07fe7131..b65db3159211805cf4d53946eb9161a36035070f 100644 (file)
--- a/put.php
+++ b/put.php
@@ -18,7 +18,7 @@ try {
         $dbh->beginTransaction();
 
         # process tags
-        $tags = explode(',', $params['tags']);
+        $tags = tag_string_to_array( $params['tags'] );
         if (count($tags) > 0) {
             foreach($tags as $key => $tag) {
                 $q = $dbh->prepare("INSERT INTO `tags` (`tag`, `count`)
@@ -36,7 +36,7 @@ try {
                             VALUES ( ?, ?, ?, ?, ?, NOW() ) ");
         $insert = $q->execute( array(
                     $user['id'], $params['title'], $params['url'],
-                    $params['tags'], $params['description']));
+                    implode(',', $params['tags']), $params['description']));
 
         echo "clumped.<br/><br/>";
         echo '<a href="javascript:window.close();">ok</a>';
index 0cdce50c7833ed98094c9d7d97b424f8865e4097..67ff706d1218c9822216845c7afc2e993a7e4c34 100644 (file)
@@ -5,8 +5,8 @@ include 'init.php';
 $params = array();
 $params['id']    = isset($_POST['id']) ? $_POST['id'] : null;
 $params['title'] = isset($_POST['title']) ? $_POST['title'] : null;
-$params['url']   = isset($_POST['url'])   ? $_POST['url']  : null;
-$params['tags']  = isset($_POST['tags'])  ? $_POST['tags']  : null;
+$params['url']   = isset($_POST['url']) ? $_POST['url']  : null;
+$params['tags']  = isset($_POST['tags']) ? $_POST['tags']  : null;
 $params['description']  = isset($_POST['description'])  ? $_POST['description']  : null;
 
 //print_r($_POST);
@@ -32,10 +32,10 @@ try {
         $clump['tags'] = explode(",", $clump['tags']);
 
         # process tags
-        $tags = explode(',', $params['tags']);
-        $tags_to_keep   = array_intersect ($tags,          $clump['tags']);
-        $tags_to_delete = array_diff      ($clump['tags'], $tags_to_keep);
-        $tags_to_add    = array_diff      ($tags,          $tags_to_keep);
+        $tags = tag_string_to_array( $params['tags'] );
+        $tags_to_keep   = array_intersect ($tags, $clump['tags']);
+        $tags_to_delete = array_diff ($clump['tags'], $tags_to_keep);
+        $tags_to_add    = array_diff ($tags, $tags_to_keep);
 
         # add/increment new tags
         if (count($tags_to_add) > 0) {