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

Changeset 2989


Ignore:
Timestamp:
May 18, 2007, 7:13:25 PM (12 years ago)
Author:
ogawa
Message:

#730:イベント募集人数に半角数字以外を入れても通る

Location:
OpenPNE/branches/2.8.x/webapp
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/2.8.x/webapp/lib/util/page.php

    r2864 r2989  
    224224//------------
    225225
    226 function p_c_event_add_confirm_event4request()
     226function p_c_event_add_confirm_event4request($get_errors = false)
    227227{
    228228    $rule = array(
     
    233233        'title' => array(
    234234            'type' => 'string',
    235             'default' => '',
     235            'required' => '1',
     236            'caption' => 'タイトル',
    236237        ),
    237238        'open_date_year' => array(
     
    261262        'detail' => array(
    262263            'type' => 'string',
    263             'default' => '',
     264            'required' => '1',
     265            'caption' => '詳細',
    264266        ),
    265267        'invite_period_year' => array(
     
    290292            'type' => 'int',
    291293            'default' => '0',
     294            'caption' => '募集人数',
    292295        ),
    293296    );
    294297    $validator = new OpenPNE_Validator($rule, $_REQUEST);
    295     $validator->validate();
    296 
     298
     299    $errors = array();
     300    if (!$validator->validate()) {
     301       
     302        $errors = $validator->getErrors();
     303    }
    297304    $result = $validator->getParams();
    298305    $result['c_commu_id'] = $result['target_c_commu_id'];
    299     return $result;
     306
     307    if ($get_errors) {
     308        return array($result, $errors);
     309    } else {
     310        return $result;
     311    }
    300312}
    301313
  • OpenPNE/branches/2.8.x/webapp/modules/ktai/do/c_event_add_insert_c_commu_topic.php

    r2860 r2989  
    1515        //コミュニティ参加者
    1616
    17         $event = p_c_event_add_confirm_event4request();
     17        list($event, $errors) = p_c_event_add_confirm_event4request(true);
    1818
    1919        $status = db_common_commu_status($u, $event['c_commu_id']);
     
    3131
    3232        //--- エラーチェック
    33         $err_msg = array();
    34         if (trim($event['title']) == '')  $err_msg[] = "タイトルを入力してください";
    35         if (trim($event['detail']) == '')  $err_msg[] = "詳細を入力してください";
     33        $err_msg = $errors;
    3634
    3735        if (!$event['open_date_month'] || !$event['open_date_day'] || !$event['open_date_year']) {
  • OpenPNE/branches/2.8.x/webapp/modules/ktai/do/c_event_edit_update_c_commu_topic.php

    r2008 r2989  
    1616        // ----------
    1717
    18         $event = p_c_event_add_confirm_event4request();
     18        list($event, $errors) = p_c_event_add_confirm_event4request(true);
    1919        if ($event['invite_period_year'].$event['invite_period_month'].$event['invite_period_day'] != '') {
    2020            $invite_period = $event['invite_period_year']."-".$event['invite_period_month']."-".$event['invite_period_day'];
     
    3333
    3434        //エラーチェック
    35         if (!trim($event['title'])) {
    36             $err_msg[] = "タイトルを入力してください";
    37         }
    38         if (!trim($event['detail'])) {
    39             $err_msg[] = "詳細を入力してください";
    40         }
     35        $err_msg = $errors;
    4136
    4237        if (!$event['open_date_month'] || !$event['open_date_day'] || !$event['open_date_year']) {
  • OpenPNE/branches/2.8.x/webapp/modules/pc/do/c_event_add_insert_c_commu_topic.php

    r2860 r2989  
    2020        //コミュニティ参加者
    2121
    22         $event = p_c_event_add_confirm_event4request();
     22        list($event, $errors) = p_c_event_add_confirm_event4request(true);
    2323
    2424        $status = db_common_commu_status($u, $event['c_commu_id']);
     
    3838        //---
    3939
     40        // エラーチェック
     41        $err_msg = $errors;
     42
     43        if (!$event['open_date_month'] || !$event['open_date_day'] || !$event['open_date_year']) {
     44            $err_msg[] = "開催日時を入力してください";
     45        } elseif (!t_checkdate($event['open_date_month'], $event['open_date_day'], $event['open_date_year'])) {
     46            $err_msg[] = "開催日時は存在しません";
     47        } elseif (mktime(0, 0, 0, $event['open_date_month'], $event['open_date_day'], $event['open_date_year']) < mktime(0, 0, 0)) {
     48            $err_msg[] = "開催日時は過去に指定できません";
     49        }
     50
     51        if ($event['invite_period_month'].$event['invite_period_day'].$event['invite_period_year'] != "") {
     52            if (!$event['invite_period_month'] || !$event['invite_period_day'] || !$event['invite_period_year']) {
     53                $err_msg[] = "募集期限は存在しません";
     54            } elseif (!t_checkdate($event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year'])) {
     55                $err_msg[] = "募集期限は存在しません";
     56            } elseif (mktime(0, 0, 0, $event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year']) < mktime(0, 0, 0)) {
     57                $err_msg[] = "募集期限は過去に指定できません";
     58            } elseif (mktime(0, 0, 0, $event['open_date_month'], $event['open_date_day'], $event['open_date_year'])
     59                    < mktime(0, 0, 0, $event['invite_period_month'], $event['invite_period_day'], $event['invite_period_year'])) {
     60                $err_msg[] = "募集期限は開催日時より未来に指定できません";
     61            }
     62        }
     63
     64        if ($err_msg) {
     65            $_REQUEST = $event;
     66            $_REQUEST['target_c_commu_id'] = $event['c_commu_id'];
     67            $_REQUEST['err_msg'] = $err_msg;
     68            openpne_forward('pc', 'page', "c_event_add");
     69            exit;
     70        }
    4071
    4172        if ($event['invite_period_year'].$event['invite_period_month'].$event['invite_period_day']!="") {
  • OpenPNE/branches/2.8.x/webapp/modules/pc/do/c_event_edit_update_c_commu_topic.php

    r2870 r2989  
    2020
    2121
    22         $event = p_c_event_add_confirm_event4request();
     22        list($event, $errors) = p_c_event_add_confirm_event4request(true);
    2323        if ($event['invite_period_year'].$event['invite_period_month'].$event['invite_period_day'] != '') {
    2424            $invite_period = $event['invite_period_year']."-".$event['invite_period_month']."-".$event['invite_period_day'];
     
    4343
    4444        //エラーチェック
    45         if (!trim($event['title'])) {
    46             $err_msg[] = "タイトルを入力してください";
    47         }
    48         if (!trim($event['detail'])) {
    49             $err_msg[] = "詳細を入力してください";
    50         }
     45        $err_msg = $errors;
    5146
    5247        if (!$event['open_date_month'] || !$event['open_date_day'] || !$event['open_date_year']) {
     
    9489            exit;
    9590        }
    96 
    9791
    9892        //画像コピー
  • OpenPNE/branches/2.8.x/webapp/modules/pc/page/c_event_add_confirm.php

    r1856 r2989  
    3535        //---
    3636
    37         $event = p_c_event_add_confirm_event4request();
     37        list($event, $errors) = p_c_event_add_confirm_event4request(true);
    3838        $upfile_obj1 = $_FILES['image_filename1'];
    3939        $upfile_obj2 = $_FILES['image_filename2'];
     
    4141
    4242        // エラーチェック
    43         $err_msg = array();
    44         if (trim($event['title']) == '') {
    45             $err_msg[] = "タイトルを入力してください";
    46         }
    47         if (trim($event['detail']) == '') {
    48             $err_msg[] = "詳細を入力してください";
    49         }
     43        $err_msg = $errors;
    5044
    5145        if (!$event['open_date_month'] || !$event['open_date_day'] || !$event['open_date_year']) {
Note: See TracChangeset for help on using the changeset viewer.