ここの情報は古いです。ご理解頂いた上でお取り扱いください。

Changeset 4963


Ignore:
Timestamp:
Jan 19, 2008, 2:48:49 PM (12 years ago)
Author:
takanashi
Message:

OpenPNE with Senna

Location:
OpenPNE/branches/work/takanashi/prj_senna
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/work/takanashi/prj_senna/config.php.sample

    r4911 r4963  
    547547define('OPENPNE_SEND_NO_CACHE_HEADER', false);
    548548
     549// 検索にSennaを使用するかどうか
     550//define('OPENPNE_USE_SENNA', false);
     551
    549552?>
  • OpenPNE/branches/work/takanashi/prj_senna/webapp/lib/OpenPNE/Config.php

    r4933 r4963  
    5151            'OPENPNE_USE_KTAI_LOGO',
    5252            'OPENPNE_IS_SET_KTAI_FONT_SIZE',
     53            'OPENPNE_USE_SENNA',
    5354        );
    5455    }
     
    200201            'OPENPNE_HTTP_PROXY_PORT' => 8080,
    201202            'OPENPNE_SEND_NO_CACHE_HEADER' => false,
     203            'OPENPNE_USE_SENNA' => false,
    202204        // 固定値
    203205            'AMAZON_TOKEN'   => '1WZYY1W9YF49AGM0RTG2',
  • OpenPNE/branches/work/takanashi/prj_senna/webapp/lib/db/commu.php

    r4933 r4963  
    17201720        foreach ($words as $word) {
    17211721            $word = check_search_word($word);
    1722 
    1723             $wheres[] = '(c_commu.name LIKE ? OR c_commu.info LIKE ?)';
    1724             $params[] = '%'.$word.'%';
    1725             $params[] = '%'.$word.'%';
     1722            if (OPENPNE_USE_SENNA) {
     1723                $wheres[] = ' MATCH (c_commu.name,c_commu.info) AGAINST (?)';
     1724                $params[] = $word;
     1725            } else {
     1726                $wheres[] = '(c_commu.name LIKE ? OR c_commu.info LIKE ?)';
     1727                $params[] = '%'.$word.'%';
     1728                $params[] = '%'.$word.'%';
     1729            }
    17261730        }
    17271731    }
     
    18131817    $params = array();
    18141818    if ($search_word) {
    1815         $wheres[] = '(name LIKE ? OR info LIKE ?)';
    1816         $params[] = '%'.$search_word.'%';
    1817         $params[] = '%'.$search_word.'%';
     1819        if (OPENPNE_USE_SENNA) {
     1820            $wheres[] = 'MATCH(name,info) AGAINST(?)';
     1821            $params[] = $search_word;
     1822        } else {
     1823            $wheres[] = '(name LIKE ? OR info LIKE ?)';
     1824            $params[] = '%'.$search_word.'%';
     1825            $params[] = '%'.$search_word.'%';
     1826        }
    18181827    }
    18191828    if ($c_commu_category_id != 'all' && $c_commu_category_id) {
     
    29602969            $word = check_search_word($word);
    29612970
    2962             $where .= ' AND ((ct.name LIKE ?) OR (ctc.body LIKE ?))';
    2963             $params[] = '%'.$word.'%';
    2964             $params[] = '%'.$word.'%';
     2971            if (OPENPNE_USE_SENNA) {
     2972                $where .= ' AND (MATCH(ct.name) AGAINST(?) OR MATCH(ctc.body) AGAINST(?))';
     2973                $params[] = $word;
     2974                $params[] = $word;
     2975            } else {
     2976                $where .= ' AND ((ct.name LIKE ?) OR (ctc.body LIKE ?))';
     2977                $params[] = '%'.$word.'%';
     2978                $params[] = '%'.$word.'%';
     2979            }
    29652980        }
    29662981    }
  • OpenPNE/branches/work/takanashi/prj_senna/webapp/lib/db/diary.php

    r4933 r4963  
    799799        foreach ($keyword_list as $word) {
    800800            $word = check_search_word($word);
    801 
    802             $where .= ' AND (subject LIKE ? OR body LIKE ?)';
    803             $params[] = '%'.$word.'%';
    804             $params[] = '%'.$word.'%';
     801            if (OPENPNE_USE_SENNA) {
     802                $where .= ' AND MATCH(subject,body) AGAINST(?)';
     803                $params[] = $word;
     804            } else {
     805                $where .= ' AND (subject LIKE ? OR body LIKE ?)';
     806                $params[] = '%'.$word.'%';
     807                $params[] = '%'.$word.'%';
     808            }
    805809        }
    806810    }
  • OpenPNE/branches/work/takanashi/prj_senna/webapp/lib/db/file.php

    r4933 r4963  
    153153function db_file_clear_tmp_db($uid)
    154154{
    155     $sql = 'DELETE FROM c_tmp_file WHERE filename LIKE ?';
     155    if (OPENPNE_USE_SENNA) {
     156        $sql = 'DELETE FROM c_tmp_file WHERE MATCH(filename) AGAINST(?)';
     157    } else {
     158        $sql = 'DELETE FROM c_tmp_file WHERE filename LIKE ?';
     159    }
    156160    $params = array('%_' . $uid . '.%');
    157161    db_query($sql, $params);
  • OpenPNE/branches/work/takanashi/prj_senna/webapp/lib/db/image.php

    r4933 r4963  
    140140function db_image_clear_tmp_db($uid)
    141141{
    142     $sql = 'DELETE FROM c_tmp_image WHERE filename LIKE ?';
     142    if (OPENPNE_USE_SENNA) {
     143        $sql = 'DELETE FROM c_tmp_image WHERE MATCH(filename) AGAINST(?)';
     144    } else {
     145        $sql = 'DELETE FROM c_tmp_image WHERE filename LIKE ?';
     146    }
    143147    $params = array('%_' . $uid . '.%');
    144148    db_query($sql, $params);
  • OpenPNE/branches/work/takanashi/prj_senna/webapp/lib/db/member.php

    r4933 r4963  
    259259    foreach ($cond_like as $key => $value) {
    260260        if ($value) {
    261             $wheres[] = db_escapeIdentifier($key) . ' LIKE ?';
    262             $params[] = '%' . $value . '%';
     261            if (OPENPNE_USE_SENNA) {
     262                $wheres[] = 'MATCH('.db_escapeIdentifier($key) . ') AGAINST(?)';
     263                $params[] = $value ;
     264            } else {
     265                $wheres[] = db_escapeIdentifier($key) . ' LIKE ?';
     266                $params[] = '%' . $value . '%';
     267            }
    263268        }
    264269    }
     
    281286
    282287        if ($value['form_type'] == "text" || $value['form_type'] == "textlong" || $value['form_type'] == 'textarea') {
    283             $sql .= " AND value LIKE ?";
    284             $params[] = '%'.$value['value'].'%';
     288            if (OPENPNE_USE_SENNA) {
     289                $sql .= " AND MATCH(value) AGAINST(?)";
     290                $params[] = $value['value'];
     291            } else {
     292                $sql .= " AND value LIKE ?";
     293                $params[] = '%'.$value['value'].'%';
     294            }
    285295        } elseif (is_array($value['c_profile_option_id'])) {
    286296            $values = implode(',', array_map('intval', $value['c_profile_option_id']));
  • OpenPNE/branches/work/takanashi/prj_senna/webapp/lib/db/message.php

    r4933 r4963  
    760760    }
    761761
    762     $where .= " AND ( subject like ? OR body like ?)";
    763 
    764     $params[] = '%'.strval($keyword).'%';
    765     $params[] = '%'.strval($keyword).'%';
     762    if (OPENPNE_USE_SENNA) {
     763        $where .= " AND (MATCH (subject,body) AGAINST(?))";
     764        $params[] = strval($keyword);
     765    } else {
     766        $where .= " AND ( subject LIKE ? OR body LIKE ?)";
     767        $params[] = '%'.strval($keyword).'%';
     768        $params[] = '%'.strval($keyword).'%';
     769    }
    766770
    767771    $sql = "SELECT * FROM c_message";
  • OpenPNE/branches/work/takanashi/prj_senna/webapp/lib/db/review.php

    r4933 r4963  
    181181    $params = array();
    182182    if ($keyword) {
    183         $wheres[] = 'c_review.title LIKE ?';
    184         $params[] = '%'.check_search_word($keyword).'%';
     183        if (OPENPNE_USE_SENNA) {
     184            $wheres[] = 'MATCH(c_review.title) AGAINST(?)';
     185            $params[] = check_search_word($keyword);
     186        } else {
     187            $wheres[] = 'c_review.title LIKE ?';
     188            $params[] = '%'.check_search_word($keyword).'%';
     189        }
    185190    }
    186191    if ($category_id) {
  • OpenPNE/branches/work/takanashi/prj_senna/webapp/modules/admin/lib/db_admin.php

    r4933 r4963  
    18871887        for ($i = 0; $i < count($keyword_list); $i++) {
    18881888            $keyword = check_search_word($keyword_list[$i]);
    1889 
    1890             $wheres[] = '(subject LIKE ? OR body LIKE ?)';
    1891             $params[] = '%' . $keyword . '%';
    1892             $params[] = '%' . $keyword . '%';
     1889            if (OPENPNE_USE_SENNA) {
     1890                $wheres[] = '(MATCH(subject,body) AGAINST(?))';
     1891                $params[] = $keyword;
     1892            } else {
     1893                $wheres[] = '(subject LIKE ? OR body LIKE ?)';
     1894                $params[] = '%' . $keyword . '%';
     1895                $params[] = '%' . $keyword . '%';
     1896            }
    18931897        }
    18941898    }
     
    19691973        for($i = 0; $i < count($keyword_list); $i++) {
    19701974            $keyword = check_search_word($keyword_list[$i]);
    1971 
    1972             $wheres[] = 'c_diary_comment.body LIKE ?';
    1973             $params[] = '%' . $keyword . '%';
     1975            if (OPENPNE_USE_SENNA) {
     1976                $wheres[] = '(MATCH(c_diary_comment.body) AGAINST(?))';
     1977                $params[] = $keyword;
     1978            } else {
     1979                $wheres[] = 'c_diary_comment.body LIKE ?';
     1980                $params[] = '%' . $keyword . '%';
     1981            }
    19741982        }
    19751983    }
     
    20532061        for($i = 0; $i < count($keyword_list); $i++) {
    20542062            $keyword = check_search_word($keyword_list[$i]);
    2055                
    2056             $wheres[] = '(name LIKE ? OR info LIKE ?)';
    2057             $params[] = '%' . $keyword . '%';
    2058             $params[] = '%' . $keyword . '%';
     2063            if (OPENPNE_USE_SENNA) {
     2064                $wheres[] = '(MATCH(name,info) AGAINST(?))';
     2065                $params[] = $keyword;
     2066            } else {
     2067                $wheres[] = '(name LIKE ? OR info LIKE ?)';
     2068                $params[] = '%' . $keyword . '%';
     2069                $params[] = '%' . $keyword . '%';
     2070            }
    20592071        }
    20602072    }
     
    21382150            $keyword = check_search_word( $keyword_list[$i] );
    21392151               
    2140             $where .= " AND (ctc.body LIKE ? )";
    2141             $params[]="%$keyword%";
     2152            if (OPENPNE_USE_SENNA) {
     2153                $wheres[] = '(MATCH(ctc.body) AGAINST(?))';
     2154                $params[] = $keyword;
     2155            } else {
     2156                $where .= " AND (ctc.body LIKE ? )";
     2157                $params[]="%$keyword%";
     2158            }
    21422159        }
    21432160    }
     
    22232240            $keyword = check_search_word($keyword_list[$i]);
    22242241
    2225             $wheres[] = '(ctc.body like ? OR ct.name like ? OR c.name like ?)';
    2226             $params[] = '%' . $keyword . '%';
    2227             $params[] = '%' . $keyword . '%';
    2228             $params[] = '%' . $keyword . '%';
     2242            if (OPENPNE_USE_SENNA) {
     2243                $wheres[] = '(MATCH(ctc.body) AGAINST(?) OR MATCH(ct.name) AGAINST(?) OR MATCH(c.name) AGAINST(?))';
     2244                $params[] = $keyword;
     2245                $params[] = $keyword;
     2246                $params[] = $keyword;
     2247
     2248            } else {
     2249                $wheres[] = '(ctc.body LIKE ? OR ct.name LIKE ? OR c.name LIKE ?)';
     2250                $params[] = '%' . $keyword . '%';
     2251                $params[] = '%' . $keyword . '%';
     2252                $params[] = '%' . $keyword . '%';
     2253            }
    22292254        }
    22302255    }
     
    23302355            $keyword = check_search_word($keyword_list[$i]);
    23312356
    2332             $wheres[] = 'c_review_comment.body like ?';
    2333             $params[] = '%' . $keyword . '%';
     2357            if (OPENPNE_USE_SENNA) {
     2358                $wheres[] = '(MATCH(c_review_comment.body) AGAINST(?))';
     2359                $params[] = $keyword;
     2360            } else {
     2361                $wheres[] = 'c_review_comment.body LIKE ?';
     2362                $params[] = '%' . $keyword . '%';
     2363            }
    23342364        }
    23352365    }
Note: See TracChangeset for help on using the changeset viewer.