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

Changeset 6284


Ignore:
Timestamp:
Apr 3, 2008, 3:59:43 PM (12 years ago)
Author:
cybaron
Message:

fh_album画面のページ送り、キーワード検索機能修正。

Location:
OpenPNE/branches/work/asano/pne_album/webapp
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/work/asano/pne_album/webapp/lib/db/album.php

    r6248 r6284  
    250250}
    251251
    252 //kazuki 特に必要ないと判断
    253 /*
    254 function db_album_get_c_album_subject_list4c_member_id($c_member_id)
    255 {
    256     $sql = 'SELECT subject,c_album_id FROM c_album WHERE c_member_id = ? ORDER BY r_datetime DESC';
     252/*
     253 * あるメンバーのアルバムのサブジェクト一覧を取得
     254 * @param int $c_member_id target_member_id
     255 * @param int $count
     256 * @param int $u viewer's member_id
     257 */
     258function db_album_get_c_album_subject_list4c_member_id($c_member_id, $count= 10 ,$u = null)
     259{
     260    $pf_condition = db_album_public_flag_condition($c_member_id, $u);
     261    $sql = 'SELECT subject,c_album_id FROM c_album WHERE c_member_id = ? '
     262        . $pf_condition
     263        . ' ORDER BY r_datetime DESC';
     264   
    257265    $params = array(intval($c_member_id));       
    258     return db_get_all($sql, $params);
    259 }
    260 */
     266    return db_get_all_limit($sql, 0, $count, $params);
     267}
    261268
    262269/**
     
    808815/**
    809816 * 特定ユーザーのアルバムリスト取得
    810  */
    811 function p_fh_album_list_fh_my_album_list4c_member_id($c_member_id, $page_size, $page)
    812 {
    813 //    $pf_cond = db_album_public_flag_condition($c_member_id, $u);
    814     $sql = 'SELECT * FROM c_album WHERE c_member_id = ?'.//$pf_cond.
     817 * @param int $c_member_id target_c_member_id
     818 * @param int $page_size
     819 * @param int $page
     820 * @param int $u viewer's c_member_id
     821 */
     822function p_fh_album_list_fh_my_album_list4c_member_id($c_member_id, $page_size, $page, $u = null)
     823{
     824    $pf_cond = db_album_public_flag_condition($c_member_id, $u);
     825    $sql = 'SELECT * FROM c_album WHERE c_member_id = ?'. $pf_cond.
    815826           ' ORDER BY r_datetime DESC';
    816827    $params = array(intval($c_member_id));
    817828    $list = db_get_all_page($sql,$page, $page_size,$params);
    818829   
    819     /*
    820     foreach ($list as $key => $c_album) {
    821         $list[$key]['num_comment'] = db_album_count_c_album_comment4c_album_id($c_album['c_album_id']);
    822         $list[$key]['category'] = db_album_category_list4c_album_id($c_album['c_album_id']);
    823     }
    824     */
    825    
    826 //    print "<pre>";
    827 //    echo "IN DATABASE<br><br>";
    828 //    print_r ($list);
    829 //    echo "IN DATABASE<br><br>";
    830 //    print "</pre>";
    831    
    832     $sql = 'SELECT COUNT(*) FROM c_album WHERE c_member_id = ?'. // $pf_cond;
    833     //$params1 = array();
    834     //↑これいらん
     830    $sql = 'SELECT COUNT(c_album_id) FROM c_album WHERE c_member_id = ?' . $pf_cond;
    835831    $total_num = db_get_one($sql, $params);
    836832   
     
    850846    }
    851847   
    852     $temp = array($list, $prev, $next, $total_num);
    853    
    854 
    855     return $temp;
     848    return array($list, $prev, $next, $total_num);
    856849}
    857850
     
    11631156 * あるメンバーの指定された年月日の日記のリストを得る
    11641157 */
     1158/*
    11651159function p_fh_album_list_album_list_date4c_member_id($c_member_id, $page_size, $page, $year, $month, $day=0 ,$u = null)
    11661160{
     
    12051199    return array($list , $prev , $next, $total_num);
    12061200}
    1207 
     1201*/
    12081202/**
    12091203 * 日記ページの「各月の日記」用
     
    12701264
    12711265/**
    1272  * 新着日記検索
    1273  * 検索ポイントはタイトル、本文
     1266 * アルバム検索
     1267 * 検索ポイントはアルバムタイトル・アルバム説明
    12741268 * 空白(全角半角問わない)でand検索可
    12751269 */
    1276 function p_h_album_list_all_search_c_album4c_album($keyword, $page_size, $page)
     1270function p_h_album_list_all_search_c_album4c_album($keyword, $page_size, $page, $c_member_id = '')
    12771271{
    12781272    $params = array();
     
    12811275    $from = ' FROM c_album';
    12821276
    1283     //自分の日記だけを対象にする事も出来る
    1284 //    if ($c_member_id) {
    1285 //        $where = ' WHERE c_member_id = ?';
    1286 //        $params[] = intval($c_member_id);
    1287 //    } else {
    1288         $where = " WHERE subject LIKE ? OR description LIKE ?";
    1289 //    }
     1277    //自分のアルバムだけを対象にする事も出来る
     1278    if ($c_member_id) {
     1279        $where = ' WHERE c_member_id = ?';
     1280        $params[] = intval($c_member_id);
     1281    } else {
     1282        $where = " WHERE public_flag = 'public'";
     1283    }
    12901284
    12911285    //and検索を実装
    12921286    //subject,body を検索
    12931287    if ($keyword) {
    1294         //将全角空白转换成半角空白
     1288        //全角空白を半角に統一
    12951289        $keyword = str_replace(' ', ' ', $keyword);
    1296         //把字符串转化为数组
     1290
    12971291        $keyword_list = explode(' ', $keyword);
    12981292        foreach ($keyword_list as $word) {
    12991293            $word = check_search_word($word);
    1300 
    1301 //            $where .= ' AND (subject LIKE ? OR description LIKE ?)';
     1294           
     1295            $where .= ' AND (subject LIKE ? OR description LIKE ?)';
    13021296            $params[] = '%'.$word.'%';
    13031297            $params[] = '%'.$word.'%';
     
    13071301
    13081302    $sql = $select . $from . $where . $order;
    1309     $sql1 = 'SELECT nickname FROM c_member WHERE c_member_id = ?';
    13101303   
    13111304    $list = db_get_all_page($sql, $page, $page_size, $params);
    1312     foreach ($list as $key => $value) {
    1313         $list[$key]['c_member'] = db_common_c_member_with_profile($value['c_member_id']);
    1314         $list[$key]['num_comment'] = db_album_count_c_album_comment4c_album_id($value['c_album_id']);
    1315         $list[$key]['category'] = db_album_category_list4c_album_id($value['c_album_id']);
    1316         $list[$key]['nickname'] = db_get_one($sql1,$value['c_member_id']);
    1317     }
    1318 
    1319     $sql = 'SELECT COUNT(*)' . $from . $where;
     1305
     1306    $sql = 'SELECT COUNT(c_album_id)' . $from . $where;
    13201307    $total_num = db_get_one($sql, $params);
    13211308
     
    13391326 * 指定された年月に日記を書いている日のリストを返す
    13401327 */
     1328/*
    13411329function p_h_album_is_album_written_list4date($year, $month, $c_member_id, $u = null)
    13421330{
     
    13551343    return db_get_col($sql, $params);
    13561344}
     1345*/
    13571346
    13581347/**
     
    18391828}
    18401829
     1830/*
    18411831function db_member_check_album_exist($c_member_id)
    18421832{
     
    18451835    return db_get_row($sql, $params);
    18461836}
     1837*/
    18471838
    18481839function db_update_c_album_r_datetime($c_album_id)
  • OpenPNE/branches/work/asano/pne_album/webapp/modules/pc/page/fh_album.php

    r6248 r6284  
    118118
    119119        //最新アルバム10件[サイドバー用]
    120         $album_subject_list = p_fh_album_list_fh_my_album_list4c_member_id($target_c_member_id, 10, 1);
    121         $this->set("target_album_list",$album_subject_list[0]);
     120        $album_subject_list =  db_album_get_c_album_subject_list4c_member_id($target_c_member_id, 10, $u);
     121        $this->set("target_album_list",$album_subject_list);
    122122
    123123        //アルバムに登録された画像
  • OpenPNE/branches/work/asano/pne_album/webapp/modules/pc/page/fh_album_list.php

    r6248 r6284  
    1515        $direc = $requests['direc'];
    1616        $page = $requests['page'];
    17         //$year = $requests['year'];
    18         //$month = $requests['month'];
    19         //$day = $requests['day'];
    20         //$category_id = $requests['category_id'];
    2117        $keyword = $requests['keyword'];
    22 
    2318        // ----------
    2419
    25         if (!$target_c_member_id) {
     20        if (!$target_c_member_id || !is_null($keyword)) {
    2621            $target_c_member_id = $u;
    2722        }
     
    4136            }
    4237           
     38            //対象者にアルバムがなくてもアルバム一覧を表示
     39            /*
    4340            if(!db_member_check_album_exist($target_c_member_id)){
    4441                $param = array('target_c_member_id' => $target_c_member_id);
    4542                openpne_redirect('pc', 'page_fh_album_list_err',$param);
    4643            }
     44            */
    4745
    4846            //あしあとをつける
     
    5654
    5755        $target_member = db_member_c_member4c_member_id($target_c_member_id);
    58        
    59         //$user_id = $u;
    60        
    6156        $this->set('target_member', $target_member);
    6257        $this->set('c_member_id',$u);
     
    6459        //年月日で一覧表示、日記数に制限なし
    6560       
    66         //kazuki年月日指定でのアルバム一覧の表示って必要?
    67         /*
    68         if ($year && $month) {
    69             $list_set = p_fh_album_list_album_list_date4c_member_id($target_c_member_id, $page_size, $page ,$year, $month, $day, $u);
    70             $rss_list = db_rss_list_c_rss_cache_list_date($target_c_member_id, $year, $month, $day);
    71         } elseif($category_id) {
    72             $year = date('Y');
    73             $month = date('n');
    74             $list_set = db_album_list4c_album_category_id($target_c_member_id, $category_id, $u, $page_size, $page);
    75             $this->set('category_name', db_album_get_category_name4category_id($category_id));
    76         } else {
    77             $year = date('Y');
    78             $month = date('n');
    79             $this->set('all', 1);
    80             //検索する場合
    81             if ($keyword) {
    82                 $list_set = p_h_album_list_all_search_c_album4c_album($keyword, $page_size, $page, $u);
    83             } else {
    84                   $list_set = p_fh_album_list_fh_my_album_list4c_member_id($target_c_member_id, $page_size, $page);
    85                 //$rss_list = db_rss_list_c_rss_cache_list($target_c_member_id, $page_size, $page);
    86                 //kazuki ↑ diary_listからのコピペしたまま?いらない
    87             }
    88         }
    89         */
    90 
    9161        //検索する場合
    9262        if ($keyword) {
    9363            $list_set = p_h_album_list_all_search_c_album4c_album($keyword, $page_size, $page, $u);
    9464        } else {
    95               //todo:fが閲覧した時に表示されるアルバムリストは公開フラグを考慮するようにしないとまずい。
    96               $list_set = p_fh_album_list_fh_my_album_list4c_member_id($target_c_member_id, $page_size, $page);
     65            $list_set = p_fh_album_list_fh_my_album_list4c_member_id($target_c_member_id, $page_size, $page, $u);
    9766        }
    9867       
    99         //print_r($list_set[0]);
    100 
    101         //$list_set = db_album_get_c_album_subject($target_c_member_id);
    102         //$this->set("album_subject_list", $list_set);
    103         //$this->set('c_rss_cache_list', $rss_list);
    104         //kazuki ↑ diary_listからのコピペしたまま?いらない
     68        $this->set('target_album_list', $list_set[0]);
    10569       
    106 //        $target_c_album = db_album_get_c_album4c_album_id($target_c_album_id);
    107 
    108         //$this->set('target_album_list', $list_set[0]);
    109         $this->set('target_album_list', $list_set[0]);
     70        //アルバムサブジェクト一覧取得
     71        $album_subject_list =  db_album_get_c_album_subject_list4c_member_id($target_c_member_id, 10, $u);
     72        $this->set('target_album_subject_list', $album_subject_list);
     73       
    11074        $this->set('page', $page);
    11175        $this->set('page_size', $page_size);
     
    11680        $this->set("total_num", $list_set[3]);
    11781        $this->set('album_list_count', count($list_set[0]));
    118 
    119         //日記一覧、カレンダー用変数
    120         /*
    121         $date_val = array(
    122             'year'  => $year,
    123             'month' => $month,
    124             'day'   => $day,
    125         );
    126         $this->set('date_val', $date_val);
    127         */
    128 
    129         //日記のカレンダー
    130         /*
    131         $calendar = db_common_album_monthly_calendar($year, $month, $target_c_member_id, $u);
    132         $this->set('calendar', $calendar['days']);
    133         $this->set('ym', $calendar['ym']);
    134         */
    135 
    136         //各月の日記
    137         //$this->set('date_list', p_fh_album_list_date_list4c_member_id($target_c_member_id));
    138         //kazuki ↑ diary_listからのコピペしたまま?いらない
    139        
    140         //kazuki アルバムのカテゴリ機能削除
    141         /*
    142         if (USE_ALBUM_CATEGORY) {
    143             //カテゴリ一覧
    144             $this->set('category_list', db_album_category_list4c_member_id($target_c_member_id));
    145         }
    146         */
    14782
    14883        //検索ワード
  • OpenPNE/branches/work/asano/pne_album/webapp/modules/pc/templates/fh_album_list.tpl

    r6248 r6284  
    2222<div class="partsHeading"><h3>最新のアルバム</h3></div>
    2323<ul class="list">
    24 ({foreach from=$target_album_list item=item})
     24({foreach from=$target_album_subject_list item=item})
    2525<li><a href="({t_url m=pc a=page_fh_album})&amp;target_c_album_id=({$item.c_album_id})">({$item.subject})</a></li>
    2626({/foreach})
     
    6666({$page*$page_size-$page_size+1})件~
    6767({if $page_size > $diary_list_count})
    68 ({$diary_list_count+$page*$page_size-$page_size})
     68({$album_list_count+$page*$page_size-$page_size})
    6969({else})
    7070({$page*$page_size})
     
    8989        <img src="./skin/dummy.gif" style="width:1px;" class="dummy">
    9090        </td>
    91         <td align="left" class="bg_11" style="width:75px;padding:2px;">タイトル</td>
     91        <td align="left" class="bg_02" style="width:75px;padding:2px;">タイトル</td>
    9292        <td style="width:1px;" class="bg_01">
    9393        <img src="./skin/dummy.gif" style="width:1px;" class="dummy">
     
    104104        <img src="./skin/dummy.gif" style="width:1px;" class="dummy">
    105105        </td>
    106         <td align="left" class="bg_11" style="width:75px;padding:2px;">アルバムの説明</td>
     106        <td align="left" class="bg_02" style="width:75px;padding:2px;">アルバムの説明</td>
    107107        <td style="width:1px;" class="bg_01">
    108108        <img src="./skin/dummy.gif" style="width:1px;" class="dummy">
     
    119119        <img src="./skin/dummy.gif" style="width:1px;" class="dummy">
    120120        </td>
    121         <td align="left" class="bg_11" style="width:75px;padding:2px;">公開範囲</td>
     121        <td align="left" class="bg_02" style="width:75px;padding:2px;">公開範囲</td>
    122122        <td style="width:1px;" class="bg_01">
    123123        <img src="./skin/dummy.gif" style="width:1px;" class="dummy">
     
    145145        <img src="./skin/dummy.gif" style="width:1px;" class="dummy">
    146146        </td>
    147         <td align="left" class="bg_11" style="width:75px;padding:2px;">作成日時</td>
     147        <td align="left" class="bg_02" style="width:75px;padding:2px;">作成日時</td>
    148148        <td style="width:1px;" class="bg_01">
    149149        <img src="./skin/dummy.gif" style="width:1px;" class="dummy">
     
    166166({$page*$page_size-$page_size+1})件~
    167167({if $page_size > $diary_list_count})
    168 ({$diary_list_count+$page*$page_size-$page_size})
     168({$album_list_count+$page*$page_size-$page_size})
    169169({else})
    170170({$page*$page_size})
Note: See TracChangeset for help on using the changeset viewer.