raylu %!s(int64=14) %!d(string=hai) anos
pai
achega
4639fcf237
Modificáronse 3 ficheiros con 37 adicións e 2 borrados
  1. 24 1
      main.go
  2. 12 0
      static/script.js
  3. 1 1
      templates/p.html

+ 24 - 1
main.go

@@ -136,6 +136,24 @@ func add(w http.ResponseWriter, r *http.Request) {
 	w.Write([]byte("1"))
 }
 
+func remove(w http.ResponseWriter, r *http.Request) {
+	q := r.URL.Query()
+	pid := getpid(q.Get("pid"))
+	if pid == -1 {
+		http.Error(w, "invalid pid", http.StatusInternalServerError)
+		return
+	}
+
+	sql :="DELETE FROM `song` WHERE `pid` = %d AND yid = '%s'"
+	sql = fmt.Sprintf(sql, pid, q.Get("yid"))
+	err := db.Query(sql)
+	if err != nil {
+		http.Error(w, err.String(), http.StatusInternalServerError)
+		return
+	}
+	w.Write([]byte("1"))
+}
+
 func main() {
 	templates = make(map[string]*template.Template)
 	for _, path := range []string{"p"} {
@@ -157,5 +175,10 @@ func main() {
 	http.HandleFunc("/", home)
 	http.HandleFunc("/p/", playlist)
 	http.HandleFunc("/add/", add)
-	http.ListenAndServe(":8000", nil)
+	http.HandleFunc("/remove/", remove)
+	err = http.ListenAndServe(":8000", nil)
+	if err != nil {
+		fmt.Println(err)
+		os.Exit(1)
+	}
 }

+ 12 - 0
static/script.js

@@ -174,3 +174,15 @@ function add(id, title) {
 		}
 	);
 }
+
+function remove(id) {
+	var user = $('#user').val();
+	params = {
+		'pid': pid,
+		'yid': id,
+	}
+	$.getJSON('/remove/', params,
+		function(data) {
+		}
+	);
+}

+ 1 - 1
templates/p.html

@@ -30,7 +30,7 @@
 				<div class="user">
 					{{.User}}
 				</div>
-				<div class="remove">×</div>
+				<div class="remove" onclick="remove('{{.Yid}}')">×</div>
 				<br class="clear">
 				<div class="thumb">
 					<img src="http://i.ytimg.com/vi/{{.Yid}}/1.jpg" alt="{{.Yid}}">