22qa8u7nWWqFLrwCF6E7cT changeset

Changeset343834373732 (b)
Parent303139353737 (a)
ab
0-/* comment */
0-
0-comment = {
0-   _id: "itsid"
0-   _rev : "",
0-   link_id: "id of item you comment",
0-   parent: "id of parent"n
0-   children: "comment children",
0-}
0-
0-/* map function */
0-function(doc) {
0-  if (doc.kind == "comment") {
0-      emit(doc.link_id, doc);
0-  }
0-}
0-
0-/* reduce */
0-function (key, values) {
0-  var idx_comments = {};
0-  var comments = [];
0-  for (var i=0; i<values.length; i++) {
0-    if (values[i]) {
0-        idx_comments[values[i]['_id']] = values[i];
0-        if (!values[i]['parent'])
0-              comments.push(values[i]);
0-    }     
0-  }
0-
0-   function iter_comments(lcomments) {
0-     for (var i=0; i<lcomments.length; i++) {
0-       var comment = lcomments[i] || [];
0-       var thread=[];
0-       if (comment['children'] && comment['children'].length > 0) {
0-
0-         for (var j=0; j<comment['children'].length; j++) {
0-            thread.push(idx_comments[comment['children'][j]]);
0-         }
0-         if (thread && thread.length >0) {
0-           comment['thread'] = iter_comments(thread);
0-         } else {
0-           comment['thread'] = null;
0-         }
0-        }
0-        lcomments[i] = comment
0-      }
0-      return lcomments;
0-    }
0-    tmp = iter_comments(comments);
0-    return tmp;
0-}
0-
0-
0-/* rereduce */
0-function(key, values) {
0-  function cmp(a, b) {
0-    if (a['created'] > b['created'])
0-        return true;
0-    return false;
0-  }
0-  function swap(arr, i, j) {
0-    var tmp = arr[i];
0-    arr[i] = arr[j];
0-    arr[j] = tmp;
0-  }
0-  function partition(arr, start, end, pivot) {
0-    var pval = arr[pivot];
0-    swap(arr, pivot, end--);
0-    while (start < end) {
0-      if (cmp(arr[start], pval) {
0-        swap(arr, start, pivot);
0-        pivot++;
0-      }
0-    }
0-    swap(arr, pivot, end+1);
0-    return pivot;
0-  }
0- 
0-  function qsort(arr, start, end) {
0-    if (start < end) {
0-        var pivot = partition(arr, start, end, start);
0-        qsort(arr, start, pivot);
0-        qsort(arr, pivot+1, end)
0-    }
0-  }
0- 
0-  function iter_comments(comments) {
0-    qsort(comments, 0, comments.length-1);
0-    for (var i=0; i<comments.length; i++) {
0-        comment = comments[i];
0-        if (comment['thread'] and comment['thread']>1)
0-            comment['thread'] = iter_comments(comment['thread']);
0-        comments[i] = comment;
0-
0-    }
0-    return comments;
0-  }
0-  return iter_comments(values);
0-}
0+UgGDe1  <a href="http://giivybvdqirr.com/">giivybvdqirr</a>, [url=http://fzkjcsvrssbu.com/]fzkjcsvrssbu[/url], [link=http://olavcyhqemvs.com/]olavcyhqemvs[/link], http://eyynuqbhbujv.com/
...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
--- Revision 303139353737
+++ Revision 343834373732
@@ -1,99 +1,1 @@
-/* comment */
-
-comment = {
- _id: "itsid"
- _rev : "",
- link_id: "id of item you comment",
- parent: "id of parent"n
- children: "comment children",
-}
-
-/* map function */
-function(doc) {
- if (doc.kind == "comment") {
- emit(doc.link_id, doc);
- }
-}
-
-/* reduce */
-function (key, values) {
- var idx_comments = {};
- var comments = [];
- for (var i=0; i<values.length; i++) {
- if (values[i]) {
- idx_comments[values[i]['_id']] = values[i];
- if (!values[i]['parent'])
- comments.push(values[i]);
- }
- }
-
- function iter_comments(lcomments) {
- for (var i=0; i<lcomments.length; i++) {
- var comment = lcomments[i] || [];
- var thread=[];
- if (comment['children'] && comment['children'].length > 0) {
-
- for (var j=0; j<comment['children'].length; j++) {
- thread.push(idx_comments[comment['children'][j]]);
- }
- if (thread && thread.length >0) {
- comment['thread'] = iter_comments(thread);
- } else {
- comment['thread'] = null;
- }
- }
- lcomments[i] = comment
- }
- return lcomments;
- }
- tmp = iter_comments(comments);
- return tmp;
-}
-
-
-/* rereduce */
-function(key, values) {
- function cmp(a, b) {
- if (a['created'] > b['created'])
- return true;
- return false;
- }
- function swap(arr, i, j) {
- var tmp = arr[i];
- arr[i] = arr[j];
- arr[j] = tmp;
- }
- function partition(arr, start, end, pivot) {
- var pval = arr[pivot];
- swap(arr, pivot, end--);
- while (start < end) {
- if (cmp(arr[start], pval) {
- swap(arr, start, pivot);
- pivot++;
- }
- }
- swap(arr, pivot, end+1);
- return pivot;
- }
-
- function qsort(arr, start, end) {
- if (start < end) {
- var pivot = partition(arr, start, end, start);
- qsort(arr, start, pivot);
- qsort(arr, pivot+1, end)
- }
- }
-
- function iter_comments(comments) {
- qsort(comments, 0, comments.length-1);
- for (var i=0; i<comments.length; i++) {
- comment = comments[i];
- if (comment['thread'] and comment['thread']>1)
- comment['thread'] = iter_comments(comment['thread']);
- comments[i] = comment;
-
- }
- return comments;
- }
- return iter_comments(values);
-}
+UgGDe1 <a href="http://giivybvdqirr.com/">giivybvdqirr</a>, [url=http://fzkjcsvrssbu.com/]fzkjcsvrssbu[/url], [link=http://olavcyhqemvs.com/]olavcyhqemvs[/link], http://eyynuqbhbujv.com/