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

Changeset 2039


Ignore:
Timestamp:
Mar 6, 2007, 5:37:10 PM (13 years ago)
Author:
maruyama
Message:

スケジュール参加者機能復帰

Location:
OpenPNE/branches/maruyama/dev_2_6_biz/webapp_biz/modules/biz
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/maruyama/dev_2_6_biz/webapp_biz/modules/biz/do/fh_biz_schedule_edit.php

    r1087 r2039  
    110110            exit();  //強制的にスクリプトを終了しなければいけない
    111111        }
    112 
     112       
     113        //施設、参加者のチェック
     114        if (in_array('0', $requests['sc_j_mem'])) {
     115            //「全員」が含まれている場合は、配列を空に
     116            $requests['sc_j_mem'] = array();
     117        }
     118       
    113119        if (!($requests['sc_b_hour'] || $requests['sc_b_minute'] || $requests['sc_f_hour'] || $requests['sc_f_minute'])) {
    114120            //時刻指定なし
     
    129135            $finish_date = date("Y-m-d", strtotime($requests['sc_b_year'].'-'.$requests['sc_b_month'].'-'.($requests['sc_b_date']+($requests['sc_bn']-1))));
    130136            //繰り返しをしない予定登録
    131             biz_editSchedule($requests['sc_title'], $u, $begin_date, $finish_date, $begin_time, $finish_time, $requests['sc_memo'], $rp_rule, 0, $requests['biz_group_id'], $requests['public_flag'], $requests['schedule_id']);
     137            biz_editSchedule($requests['sc_title'], $u, $begin_date, $finish_date, $begin_time, $finish_time, $requests['sc_memo'], $rp_rule, 0, $requests['biz_group_id'], $requests['public_flag'], $requests['schedule_id'], $requests['sc_j_mem']);
    132138            $schedule_id = $requests['schedule_id'];
    133139        } else {
     
    158164               
    159165                if ($rp_rule & (1 << date("w", $nowday))) {
    160                     biz_insertSchedule($requests['sc_title'], $u, date("Y-m-d", $tmp), date("Y-m-d", $tmp), $begin_time, $finish_time, $requests['sc_memo'], $rp_rule, $first_id, $requests['biz_group_id'], $requests['public_flag']);
     166                    biz_insertSchedule($requests['sc_title'], $u, date("Y-m-d", $tmp), date("Y-m-d", $tmp), $begin_time, $finish_time, $requests['sc_memo'], $rp_rule, $first_id, $requests['biz_group_id'], $requests['public_flag'], $requests['sc_j_mem']);
    161167                }
    162168            }
  • OpenPNE/branches/maruyama/dev_2_6_biz/webapp_biz/modules/biz/do/fhg_biz_schedule_add.php

    r1087 r2039  
    130130            exit();  //強制的にスクリプトを終了しなければいけない
    131131        }
     132        //参加者のチェック
     133        if (in_array('0', $requests['sc_j_mem'])) {
     134            //「全員」が含まれている場合は、配列を空に
     135            $requests['sc_j_mem'] = array();
     136        }
    132137
    133138        if (!$requests['sc_rp'] && ($requests['sc_bn'] == 1)) {
     
    165170        if (!$requests['sc_rp']) {
    166171            //繰り返しをしない予定登録
    167             biz_insertSchedule($requests['sc_title'], $u, $begin_date, $finish_date, $begin_time, $finish_time, $requests['sc_memo'], $rp_rule, 0, $requests['biz_group_id'], $requests['public_flag']);
     172            biz_insertSchedule($requests['sc_title'], $u, $begin_date, $finish_date, $begin_time, $finish_time, $requests['sc_memo'], $rp_rule, 0, $requests['biz_group_id'], $requests['public_flag'], $requests['sc_j_mem']);
    168173        } else {
    169174            //繰り返し予定
     
    174179                $tmp = date("Ymd", $nowday);
    175180                if ($rp_rule & (1 << date("w",$nowday))) {
    176                     biz_insertSchedule($requests['sc_title'], $u, $tmp, $tmp, $begin_time, $finish_time, $requests['sc_memo'], $rp_rule, $first_id, $requests['biz_group_id'], $requests['public_flag']);
     181                    biz_insertSchedule($requests['sc_title'], $u, $tmp, $tmp, $begin_time, $finish_time, $requests['sc_memo'], $rp_rule, $first_id, $requests['biz_group_id'], $requests['public_flag'], $requests['sc_j_mem']);
    177182                }
    178183            }
  • OpenPNE/branches/maruyama/dev_2_6_biz/webapp_biz/modules/biz/lib/mysql_functions.php

    r1598 r2039  
    811811function biz_insertSchedule($title, $member_id, $begin_date, $finish_date, $begin_time = null, $finish_time = null,
    812812                                                        $value = '', $rep_type, $first_id = 0,
    813                                                         $biz_group_id = 0, $public_flag = "public")
     813                                                        $biz_group_id = 0, $public_flag = "public", $join_members = array())
    814814{
    815815    //登録値のセット、チェック
     
    836836        'public_flag' => $public_flag,
    837837    );
    838     db_insert('biz_schedule', $data);
     838    $new_schedule_id = db_insert('biz_schedule', $data);
     839   
     840    //参加者が指定されていない
     841    if (empty($join_members)) {
     842        $join_members = db_get_col('SELECT c_member_id FROM c_member');  //強制的に全員参加と見なす
     843    }
     844    foreach ($join_members as $value) {
     845        $data = array(
     846            'c_member_id' => $value,
     847            'biz_schedule_id' => $new_schedule_id,
     848            'is_read' => 0,
     849        );
     850        db_insert('biz_schedule_member', $data);
     851    }
    839852}
    840853
     
    878891                                                    $value = '', $rep_type, $first_id = 0,
    879892                                                    $biz_group_id = 0, $public_flag = "public",
    880                                                     $id)
     893                                                    $id, $join_members = array())
    881894{
    882895    $sql = 'UPDATE `biz_schedule` SET `title` = ?,`c_member_id` = ?,`begin_date` = ?,`finish_date` = ?,`begin_time` = ?,`finish_time` = ?,`value` = ?,`rep_type` = ?,`rep_first` = ?, `biz_group_id` = ?, `public_flag` = ?, `is_read` = 0 WHERE `biz_schedule_id` = ?';
     
    896909    );
    897910    db_query($sql, $params);
     911   
     912    $sql = 'DELETE FROM `biz_schedule_member` WHERE `biz_schedule_id` = ?';
     913    $params = array(
     914        intval($id),
     915    );
     916    db_query($sql, $params);
     917
     918    foreach ($join_members as $value) {
     919        $data = array(
     920            'c_member_id' => $value,
     921            'biz_schedule_id' => intval($id),
     922            'is_read' => 0,
     923        );
     924       
     925        db_insert('biz_schedule_member', $data);
     926    }
    898927}
    899928
  • OpenPNE/branches/maruyama/dev_2_6_biz/webapp_biz/modules/biz/page/fh_biz_schedule_add.php

    r1607 r2039  
    131131
    132132        $this->set('biz_group_list', $biz_group_list[0]);
     133       
     134        //追加
     135        $members = array();
    133136
     137        $sql = 'SELECT c_member_id, nickname FROM c_member WHERE c_member_id != '.$target_id;
     138        $members = db_get_all($sql);
     139
     140        $sql = 'SELECT c_member_id, nickname FROM c_member WHERE c_member_id = '.$target_id;
     141        $my_info = db_get_row($sql);
     142       
     143        array_unshift($members, $my_info);
     144
     145        $members[0]['checkflag'] = 1;
     146
     147        $jmembers = unserialize($requests['sc_j_mem_enc']);
     148
     149        $i = 0;
     150
     151        foreach ($members as $key => $value) {
     152            if ($jmembers[$i] == $value['c_member_id']) {
     153                $members[$key]['checkflag'] = 1;
     154                $i++;
     155            }
     156
     157            if (count($jmembers) < $i) {
     158                break;
     159            }
     160        }
     161        $this->set('members', $members);
     162       
    134163        return 'success';
    135164    }
  • OpenPNE/branches/maruyama/dev_2_6_biz/webapp_biz/modules/biz/page/fh_biz_schedule_edit.php

    r1268 r2039  
    184184
    185185        $this->set('public_flag', $schedule['public_flag']);
    186 
     186       
     187        //追加
     188        if ($requests['members']) {
     189            $j_members = array_keys(unserialize($requests['members']));
     190            sort($j_members);
     191        } else {
     192                $j_members = biz_getJoinMemberSchedule($requests['schedule_id']);
     193        }
     194        $this->set('j_members', $j_members);
     195        $members = array();
     196
     197        $sql = 'SELECT c_member_id, nickname FROM c_member WHERE c_member_id <> ?';
     198
     199        $params = array(
     200            intval($target_id),
     201        );
     202        $members = db_get_all($sql, $params);
     203
     204        $sql = 'SELECT c_member_id, nickname FROM c_member WHERE c_member_id = ?';
     205        $params = array(
     206            intval($target_id),
     207        );
     208        $my_info = db_get_row($sql, $params);
     209        array_unshift($members, $my_info);
     210        $i = 0;
     211
     212        foreach ($members as $key => $value) {
     213            if ($j_members[$value['c_member_id']]) {
     214                $members[$key]['checkflag'] = 1;
     215                $i++;
     216            }
     217
     218            if (count($j_members) < $i) {
     219                break;
     220            }
     221        }
     222       
     223        $this->set('members', $members);
     224       
    187225        return 'success';
    188226    }
  • OpenPNE/branches/maruyama/dev_2_6_biz/webapp_biz/modules/biz/page/fh_biz_schedule_view.php

    r1268 r2039  
    7575                $list['biz_group_name'] = $biz_group['name'];
    7676        }
     77        $jmembers = biz_getJoinMemberSchedule($requests['id']);
     78        if (array_search($target_member['nickname'], $jmembers)) {
     79            $jmembers[$target_member['c_member_id']] = $target_member['nickname'];
     80        }
     81        $this->set('jmembers', $jmembers);
    7782
    7883        $this->set('schedule', $list);
  • OpenPNE/branches/maruyama/dev_2_6_biz/webapp_biz/modules/biz/templates/fh_biz_schedule_add.tpl

    r1607 r2039  
    294294</tr>
    295295({*********})
     296<tr>
     297<td style="width:1px;" class="bg_01"><img src="./skin/dummy.gif" style="width:1px; height:1px;" class="dummy"></td>
     298<td style="width:150px;" class="bg_05">
     299
     300<div class="padding_s" align="center">
     301
     302参加者<br>※未選択は全員
     303
     304</div>
     305
     306</td>
     307<td style="width:1px;" class="bg_01" align="center"><img src="./skin/dummy.gif" style="width:1px;height:1px;" class="dummy"></td>
     308<td style="width:412px;" class="bg_02">
     309
     310<table border="0" cellspacing="0" cellpadding="0" style="width:100%;">
     311<tr>
     312({foreach from=$members item=item name=mem})
     313({if $item})
     314<td class="padding_ss" style="width:33%;" valign="top">
     315
     316<input name='sc_j_mem[]' value='({$item.c_member_id})' type='checkbox' class='no_bg'({if $item.checkflag}) checked="checked"({/if})>({$item.nickname})
     317
     318</td>
     319({else})
     320<td class="padding_ss" style="width:33%;">&nbsp;</td>
     321({/if})
     322
     323
     324({if $smarty.foreach.mem.last && ($smarty.foreach.mem.iteration%3 == 1 || $smarty.foreach.mem.iteration%3 == 2)})<td>&nbsp;</td>({/if})
     325
     326({if $smarty.foreach.mem.last && $smarty.foreach.mem.iteration%3 == 1})<td>&nbsp;</td>({/if})
     327
     328({if !$smarty.foreach.mem.last && $smarty.foreach.mem.iteration%3 == 0})</tr><tr>({/if})
     329({/foreach})
     330</tr>
     331</table>
     332
     333</td>
     334<td style="width:1px;" class="bg_01"><img src="./skin/dummy.gif" style="width:1px; height:1px;" class="dummy"></td>
     335</tr>
     336({*********})
     337<tr>
     338<td style="height:1px;" class="bg_01" colspan="5"><img src="./skin/dummy.gif" style="width:1px;height:1px;" class="dummy"></td>
     339</tr>
     340({*********})
     341
    296342<tr>
    297343<td class="bg_01" align="center"><img src="./skin/dummy.gif" style="width:1px;height:1px;" class="dummy"></td>
  • OpenPNE/branches/maruyama/dev_2_6_biz/webapp_biz/modules/biz/templates/fh_biz_schedule_edit.tpl

    r1088 r2039  
    310310</tr>
    311311({*********})
     312<tr>
     313<td class="bg_01" align="center"><img src="./skin/dummy.gif" style="width:1px;height:1px;" class="dummy"></td>
     314<td class="bg_05" align="center" valign="middle">
     315<div style="padding:4px 3px;">
     316参加者
     317</div>
     318</td>
     319<td class="bg_01" align="center"><img src="./skin/dummy.gif" style="width:1px;height:1px;" class="dummy"></td>
     320<td class="bg_02" align="left" valign="middle">
     321
     322<table border="0" cellspacing="0" cellpadding="0">
     323<tr>
     324({foreach name=i from=$members item=item})
     325({if $item})
     326<td class="padding_ss" style="width:33%;" valign="top">
     327<input name='sc_j_mem[]' value='({$item.c_member_id})' type='checkbox' class='no_bg'({if $item.checkflag}) checked="checked"({/if})>({$item.nickname})
     328</td>
     329({else})
     330<td class="padding_ss" style="width:33%;">&nbsp;</td>
     331({/if})
     332
     333({if $smarty.foreach.i.last && ($smarty.foreach.i.iteration%3==1 || $smarty.foreach.i.iteration%3==2)})
     334<td class="padding_ss" style="width:33%;">&nbsp;</td>
     335({/if})
     336({if $smarty.foreach.i.last && $smarty.foreach.i.iteration%3==1 })
     337<td class="padding_ss" style="width:33%;">&nbsp;</td>
     338({/if})
     339({if !$smarty.foreach.i.last && $smarty.foreach.i.iteration%3==0})
     340</tr><tr>
     341({/if})
     342({/foreach})
     343</tr>
     344</table>
     345
     346({*ここまで:新規予定*})
     347
     348</td>
     349<td class="bg_01" align="center"><img src="./skin/dummy.gif" style="width:1px;height:1px;" class="dummy"></td>
     350</tr>
     351({*********})
     352<tr>
     353<td style="height:1px;" class="bg_01" colspan="5"><img src="./skin/dummy.gif" style="width:1px;height:1px;" class="dummy"></td>
     354</tr>
     355({*********})
    312356
    313357<tr>
  • OpenPNE/branches/maruyama/dev_2_6_biz/webapp_biz/modules/biz/templates/fh_biz_schedule_view.tpl

    r1778 r2039  
    188188<div style="padding:4px 3px;">
    189189
    190         <a href="({t_url m=pc a=page_f_home})&amp;target_c_member_id=({$schedule.c_member_id})">({$schedule.writer_name})</a>   <br>
     190({foreach item=name key=id from=$jmembers})
     191        <a href="({t_url m=pc a=page_f_home})&amp;target_c_member_id=({$id})">({$name})</a>     <br>
     192({/foreach})
    191193
    192194</div>
  • OpenPNE/branches/maruyama/dev_2_6_biz/webapp_biz/modules/biz/validate/do/fh_biz_schedule_edit.ini

    r1477 r2039  
    9898[target_id]
    9999type="int"
     100
     101[sc_j_mem]
     102type= "string"
     103is_array = 1
     104required = 0
     105capiton = "メンバー"
  • OpenPNE/branches/maruyama/dev_2_6_biz/webapp_biz/modules/biz/validate/do/fhg_biz_schedule_add.ini

    r1087 r2039  
    8888caption = 'バナー予定かどうか'
    8989
     90[sc_j_mem]
     91type= "string"
     92is_array = 1
     93required = 0
     94capiton = "メンバー"
     95
Note: See TracChangeset for help on using the changeset viewer.