Changeset 7084

Show
Ignore:
Timestamp:
11/26/08 01:46:56 (6 weeks ago)
Author:
creorix
Message:

refs #1146

  • 지역로그 추천에서 depth가 고려되지 않은 문제 수정
  • 지역로그, 태그 추천에서 조회에 raw SQL을 사용하는 문제 수정
Location:
trunk
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • trunk/interface/blog/locationSuggest.php

    r7063 r7084  
    2424$tags = array(); 
    2525foreach (suggestLocatives($blogid, $filter) as $tag) 
    26     echo "<location>" . htmlspecialchars($tag) . "</location>\r\n"; 
     26    echo "<location>" . htmlspecialchars(ltrim($tag, '/')) . "</location>\r\n"; 
    2727echo "</response>\r\n"; 
    2828?> 
  • trunk/library/model/blog.locative.php

    r7048 r7084  
    1111    global $database; 
    1212    $locatives = array(); 
    13     $result = POD::queryAll('SELECT DISTINCT location, COUNT(*) cnt FROM '.$database['prefix'].'Entries WHERE blogid = '.$blogid.' AND '.$filter.' GROUP BY location ORDER BY cnt DESC LIMIT 10'); 
     13    $result = POD::queryAll('SELECT DISTINCT location, COUNT(*) cnt FROM '.$database['prefix'].'Entries WHERE blogid = '.$blogid.' AND location LIKE "'.POD::escapeString($filter).'%" GROUP BY location ORDER BY cnt DESC LIMIT 10'); 
    1414    if ($result) { 
    1515        foreach ($result as $locative) { 
  • trunk/library/model/blog.tag.php

    r6258 r7084  
    182182        WHERE t.id = r.tag  
    183183            AND r.blogid = $blogid 
    184             AND $filter  
     184            AND name LIKE \"".POD::escapeString($filter)."%\"  
    185185        GROUP BY tag  
    186186        ORDER BY cnt  
  • trunk/resources/script/generaltag.js

    r6750 r7084  
    380380 
    381381    if(!instance.allowEolinSuggestion || (instance.getInput().value.trim() == "")) { 
    382         eolinTagFunction_showLocalSuggestion(instance.container.getAttribute("id"), instance.cursor, "name like '" + instance.getInput().value + "%'") 
     382        eolinTagFunction_showLocalSuggestion(instance.container.getAttribute("id"), instance.cursor, instance.getInput().value) 
    383383        return; 
    384384    } 
  • trunk/resources/script/locationtag.js

    r7048 r7084  
    7373                        } 
    7474 
    75                         for(var i=0; i<locationItems.length; i++) 
    76                             locations[locations.length] = locationItems[i].lastChild.nodeValue; 
     75                        for(var i=0; i<locationItems.length; i++) { 
     76                            value = locationItems[i].lastChild.nodeValue.split('/'); 
     77                            for (var j = 0; j != -1; j = filter.indexOf('/', j + 1)) { 
     78                                if (j == 0) { 
     79                                    continue; 
     80                                } 
     81                                value.shift(); 
     82                            } 
     83                            locations[locations.length] = value.join('/'); 
     84                        } 
    7785 
    7886                        // 중복될 항목들을 미리 제거 
     
    8189                            for(var j=0; j<instance.suggestion.childNodes.length; j++) 
    8290                            { 
    83                                 if(locations[i] == instance.suggestion.childNodes[j].innerHTML.replace(new RegExp("<\/?strong>", "gi"), "")) 
     91                                if(locations[i] == instance.suggestion.childNodes[j].innerHTML.replace(new RegExp("<\/?em>", "gi"), "")) 
    8492                                { 
    8593                                    instance.suggestion.removeChild(instance.suggestion.childNodes[j]); 
     
    539547 
    540548    if(!instance.allowEolinSuggestion || (instance.input.value.trim() == "")) { 
    541         eolinLocationFunction_showLocalSuggestion(instance.container.getAttribute("id"), instance.cursor, "location like '/" + instance.input.value + "%'"); 
     549        eolinLocationFunction_showLocalSuggestion(instance.container.getAttribute("id"), instance.cursor, this.getPath()); 
    542550        return; 
    543551    }