src/cm/media/js/client/c_db.js
changeset 504 b2e0186daa5b
parent 413 2479d33898dd
child 529 5eeed336b992
equal deleted inserted replaced
502:8ec189cc214d 504:b2e0186daa5b
   374     var filterTag = "" ;
   374     var filterTag = "" ;
   375     if ('tag' in filterData)
   375     if ('tag' in filterData)
   376       filterTag = filterData['tag'] ;
   376       filterTag = filterData['tag'] ;
   377     this.filterByTag(filterTag, cWithTagIds, rWithTagIds) ;
   377     this.filterByTag(filterTag, cWithTagIds, rWithTagIds) ;
   378     
   378     
       
   379     var cWithCatIds = [] ;
       
   380     var rWithCatIds = [] ;
       
   381     var filterCat = "" ;
       
   382     if ('cat' in filterData)
       
   383       filterCat = filterData['cat'] ;
       
   384     this.filterByCat(filterCat, cWithCatIds, rWithCatIds) ;
       
   385     
   379     var cWithStateIds = [] ;
   386     var cWithStateIds = [] ;
   380     var rWithStateIds = [] ;
   387     var rWithStateIds = [] ;
   381     var filterState = "" ;
   388     var filterState = "" ;
   382     if ('state' in filterData)
   389     if ('state' in filterData)
   383       filterState = filterData['state'] ;
   390       filterState = filterData['state'] ;
   387     var commentIds = [] ;
   394     var commentIds = [] ;
   388     var replyIds = [] ;
   395     var replyIds = [] ;
   389     // find intersections
   396     // find intersections
   390     for (var i = 0, ilen = cWithNameIds.length ; i < ilen ; i++) {
   397     for (var i = 0, ilen = cWithNameIds.length ; i < ilen ; i++) {
   391       var id = cWithNameIds[i] ;
   398       var id = cWithNameIds[i] ;
   392       if ((CY.Array.indexOf(cAfterDateIds, id) != -1) && (CY.Array.indexOf(cWithTextIds,id) != -1) && (CY.Array.indexOf(cWithTagIds,id) != -1) && (CY.Array.indexOf(cWithStateIds,id) != -1)) {
   399       if ((CY.Array.indexOf(cAfterDateIds, id) != -1) && (CY.Array.indexOf(cWithTextIds,id) != -1) && (CY.Array.indexOf(cWithTagIds,id) != -1) && (CY.Array.indexOf(cWithCatIds,id) != -1) && (CY.Array.indexOf(cWithStateIds,id) != -1)) {
   393         commentIds.push(id) ; 
   400         commentIds.push(id) ; 
   394       }
   401       }
   395     }
   402     }
   396     
   403     
   397     for (var i = 0, ilen = rWithNameIds.length ; i < ilen ; i++) {
   404     for (var i = 0, ilen = rWithNameIds.length ; i < ilen ; i++) {
   398       var id = rWithNameIds[i] ;
   405       var id = rWithNameIds[i] ;
   399       if ((CY.Array.indexOf(rAfterDateIds,id) != -1) && (CY.Array.indexOf(rWithTextIds,id) != -1) && (CY.Array.indexOf(rWithTagIds,id) != -1) && (CY.Array.indexOf(rWithStateIds,id) != -1)) {
   406       if ((CY.Array.indexOf(rAfterDateIds,id) != -1) && (CY.Array.indexOf(rWithTextIds,id) != -1) && (CY.Array.indexOf(rWithTagIds,id) != -1) && (CY.Array.indexOf(rWithCatIds,id) != -1) && (CY.Array.indexOf(rWithStateIds,id) != -1)) {
   400         replyIds.push(id) ; 
   407         replyIds.push(id) ; 
   401       }
   408       }
   402     }
   409     }
   403     
   410     
   404     var nbReplies = replyIds.length, nbComments = commentIds.length ;
   411     var nbReplies = replyIds.length, nbComments = commentIds.length ;
   465           rWithTagIds.push(comment.id) ;
   472           rWithTagIds.push(comment.id) ;
   466       }
   473       }
   467     }
   474     }
   468   },
   475   },
   469 
   476 
       
   477   filterByCat : function(cat, cWithCatIds, rWithCatIds) {
       
   478     for (var id in this.allCommentsByDbId) {
       
   479       var comment = this.allCommentsByDbId[id] ;
       
   480       if (cat == "" || comment.category == cat) { 
       
   481         if (comment.reply_to_id == null) {
       
   482           cWithCatIds.push(comment.id);
       
   483           if (comment.replies.length) {
       
   484             for (var reply in comment.replies) {
       
   485               rWithCatIds.push(comment.replies[reply].id) ;
       
   486             }
       
   487           }
       
   488         }
       
   489       }
       
   490     }
       
   491   },
       
   492 
   470   filterByState : function(state, cWithStateIds, rWithStateIds) {
   493   filterByState : function(state, cWithStateIds, rWithStateIds) {
   471     for (var id in this.allCommentsByDbId) {
   494     for (var id in this.allCommentsByDbId) {
   472       var comment = this.allCommentsByDbId[id] ;
   495       var comment = this.allCommentsByDbId[id] ;
   473       if (state == "" || comment.state == state) { 
   496       if (state == "" || comment.state == state) { 
   474         if (comment.reply_to_id == null) 
   497         if (comment.reply_to_id == null)