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

Changeset 2523


Ignore:
Timestamp:
Apr 10, 2007, 9:37:32 PM (13 years ago)
Author:
takanashi
Message:

#552 PNEBIZ h_biz_group_find_allのページャが機能していないバグ修正

Location:
OpenPNE/branches/2_8/webapp_biz/modules/biz
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/2_8/webapp_biz/modules/biz/lib/mysql_functions.php

    r1856 r2523  
    183183    foreach ($tmp as $biz_schedule_id) {
    184184        $biz_schedule = biz_getScheduleInfo($biz_schedule_id);
     185        $sql = 'SELECT c_member_id FROM biz_schedule_member WHERE biz_schedule_id = ?';
     186        $biz_schedule_member_id_list = db_get_col($sql, array(intval($biz_schedule_id)));
    185187
    186188        if (biz_isPermissionSchedule($u, $biz_schedule_id)) {
    187                 if ($biz_schedule['c_member_id'] == $target_c_member_id) {
    188                     $contain[] = $biz_schedule_id;
    189                 } elseif(in_array($biz_schedule['biz_group_id'], $biz_group_id_list) && ($value['public_flag'] != 'private')) {
    190                     $contain[] = $biz_schedule_id;
    191                 }
     189            if (in_array($target_c_member_id, $biz_schedule_member_id_list)) {
     190                $contain[] = $biz_schedule_id;
     191            } elseif(in_array($biz_schedule['biz_group_id'], $biz_group_id_list) && ($value['public_flag'] != 'private')) {
     192                $contain[] = $biz_schedule_id;
     193            } elseif (empty($biz_schedule_member_id_list) && !$biz_schedule['biz_group_id'] && ($biz_schedule['c_member_id'] == $u)) {
     194                $contain[] = $biz_schedule_id;
     195            }
    192196        }
    193197    }
     
    392396
    393397//指定された条件に見合うグループのリストを得る関数
    394 function biz_getGroupList($keyword='', $start=0, $num=20, $order='biz_group_id')
     398function biz_getGroupList($keyword='', $page, $page_size=20, $order='biz_group_id')
    395399{
    396400
    397401    //keywordあり
    398402    if ($keyword) {
    399         $sql = 'SELECT * FROM biz_group WHERE 1 AND (info LIKE ? OR name LIKE ?) ORDER BY ?';
     403        $where = ' WHERE 1 AND (info LIKE ? OR name LIKE ?) ORDER BY ?';
     404        $sql = 'SELECT * FROM biz_group'. $where;
    400405
    401406        $params = array(
     
    404409            $order,
    405410        );
    406         $list = db_get_all_limit($sql, $start, ($start + $num), $params);
     411        $list = db_get_all_page($sql, $page, $page_size, $params);
    407412    //keywordなし(全件表示)
    408413    } else {
    409         $sql = 'SELECT * FROM biz_group ORDER BY ?';
     414        $where = '';
     415        $sql = 'SELECT * FROM biz_group ORDER BY ? desc';
    410416
    411417        $params = array(
    412418            $order,
    413419        );
    414         $list = db_get_all_limit($sql, $start, ($start + $num), $params);
     420        $list = db_get_all_page($sql, $page, $page_size, $params);
    415421    }
    416422
     
    424430    }
    425431
    426     return $list;
     432    if ($keyword) {
     433        $params = array(
     434            '%'.$keyword.'%',
     435            '%'.$keyword.'%',
     436        );
     437    } else {
     438        $params = array();
     439    }
     440
     441    $sql = 'SELECT COUNT(*) FROM biz_group' . $where;
     442    $total_num = db_get_one($sql, $params);
     443
     444    if ($total_num != 0) {
     445        $total_page_num =  ceil($total_num / $page_size);
     446        if ($page >= $total_page_num) {
     447            $next = false;
     448        } else {
     449            $next = true;
     450        }
     451        if ($page <= 1) {
     452            $prev = false;
     453        } else {
     454            $prev = true;
     455        }
     456    }
     457
     458    $start_num = ($page - 1) * $page_size + 1;
     459    $end_num   = $start_num + $page_size >= $total_num ? $total_num : $start_num + $page_size - 1;
     460
     461    return array($list, $prev, $next, $total_num, $start_num, $end_num);
    427462}
    428463
     
    628663    //priorityの高い順にソート
    629664    $membertodo = db_get_all($sql, $params);
    630         foreach ($membertodo as $key => $row) {
    631            $priority[$key]  = $row['priority'];
    632         }
     665    foreach ($membertodo as $key => $row) {
     666       $priority[$key]  = $row['priority'];
     667    }
    633668    if(!is_null($priority)) {
    634669        array_multisort($priority, SORT_ASC, $membertodo);
     
    645680    foreach (array_merge($membertodo, $sharetodo) as $key => $value) {
    646681        if (biz_isPermissionTodo($u, $value['biz_todo_id'])) {
    647                 $sql = 'SELECT nickname FROM c_member WHERE c_member_id = ?';
    648                 $params = array(
    649                     intval($value['writer_id']),
    650                 );
     682            $sql = 'SELECT nickname FROM c_member WHERE c_member_id = ?';
     683            $params = array(
     684                intval($value['writer_id']),
     685            );
    651686            $list[$key] = $value;
    652                 $list[$key]['writer_name'] = db_get_one($sql, $params);
     687            $list[$key]['writer_name'] = db_get_one($sql, $params);
    653688        }
    654689    }
     
    682717
    683718    if (!is_null($day)) {
    684             $sql = 'SELECT * FROM biz_todo WHERE biz_todo_id IN ('.$ids.')' .
    685                     ' AND due_datetime = ?';
    686             $params = array(
    687                 sprintf('%04d-%02d-%02d', intval($year), intval($month), intval($day)) . ' 00:00:00',
    688             );
     719        $sql = 'SELECT * FROM biz_todo WHERE biz_todo_id IN ('.$ids.')' .
     720                ' AND due_datetime = ?';
     721        $params = array(
     722            sprintf('%04d-%02d-%02d', intval($year), intval($month), intval($day)) . ' 00:00:00',
     723        );
    689724
    690725        $list = array();
    691             foreach(db_get_all($sql, $params) as $key => $value) {
     726        foreach(db_get_all($sql, $params) as $key => $value) {
    692727            if(biz_isPermissionTodo($u, $value['biz_todo_id'])) {
    693                         $list[$key] = $value;
     728                $list[$key] = $value;
    694729            }
    695730        }
     
    697732        return $list;
    698733    } else {
    699             $sql = 'SELECT * FROM biz_todo WHERE biz_todo_id IN ('.$ids.')' .
    700                     ' AND due_datetime > ? AND due_datetime <= ?';
    701             $params = array(
    702                 sprintf('%04d-%02d', intval($year), intval($month)) . '-00 00:00:00',
    703                 sprintf('%04d-%02d', intval($year), intval($month)) . '-31 23:59:59'
    704             );
    705             $list = db_get_all($sql, $params);
    706 
    707             $res = array();
    708             foreach ($list as $item) {
     734        $sql = 'SELECT * FROM biz_todo WHERE biz_todo_id IN ('.$ids.')' .
     735                ' AND due_datetime > ? AND due_datetime <= ?';
     736        $params = array(
     737            sprintf('%04d-%02d', intval($year), intval($month)) . '-00 00:00:00',
     738            sprintf('%04d-%02d', intval($year), intval($month)) . '-31 23:59:59'
     739        );
     740        $list = db_get_all($sql, $params);
     741
     742        $res = array();
     743        foreach ($list as $item) {
    709744            if(biz_isPermissionTodo($u, $item['biz_todo_id'])) {
    710                         $day = date('j', strtotime($item['due_datetime']));
    711                         $res[$day][] = $item;
     745                $day = date('j', strtotime($item['due_datetime']));
     746                $res[$day][] = $item;
    712747            }
    713             }
    714             return $res;
     748        }
     749        return $res;
    715750    }
    716751}
  • OpenPNE/branches/2_8/webapp_biz/modules/biz/page/h_biz_group_find_all.php

    r1856 r2523  
    1414        $keyword = $requests['keyword'];
    1515        $page = $requests['page'];
     16        $direc = $requests['direc'];
    1617        // ----------
    1718
     
    2627        $page = $page + $direc;
    2728        $this->set('page', $page);
     29        list($result, $is_prev, $is_next, $total_num, $start_num, $end_num)
     30            = biz_getGroupList($keyword, $page, $page_size);
    2831
    29         $list = biz_getGroupList($keyword, $page, $page_size);
    30 
    31         $this->set('c_commu_search_list', $list);
    32         $this->set('start_num', $page);
    33         $this->set('end_num', ($page+$page_size));
    34         $this->set('total_num', count($list));
     32        $this->set('c_commu_search_list', $result);
     33        $this->set('is_prev', $is_prev);
     34        $this->set('is_next', $is_next);
     35        $this->set('total_num', $total_num);
     36        $this->set('start_num', $start_num);
     37        $this->set('end_num', $end_num);
    3538
    3639        $this->set('keyword', $keyword);
  • OpenPNE/branches/2_8/webapp_biz/modules/biz/validate/page/h_biz_group_find_all.ini

    r217 r2523  
    66type = "int"
    77required = 0
     8default = 1
    89
     10[direc]
     11type = "int"
     12required = 0
Note: See TracChangeset for help on using the changeset viewer.