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

Changeset 10787


Ignore:
Timestamp:
Feb 17, 2009, 8:15:49 PM (13 years ago)
Author:
kiwa
Message:

#2673:ファイルアップロードのイベント対応の取り込み

Location:
OpenPNE/trunk/webapp/modules/pc
Files:
2 added
15 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/trunk/webapp/modules/pc/do/c_event_add_insert_c_commu_topic.php

    r5884 r10787  
    1616        $tmpfile3 = $requests['image_filename3_tmpfile'];
    1717        // ----------
     18
     19        //---添付ファイル
     20        if (OPENPNE_USE_FILEUPLOAD) {
     21            $filename4_tmpfile = $requests['filename4_tmpfile'];
     22            $filename4_original_filename = $requests['filename4_original_filename'];
     23
     24            if ($filename4_tmpfile) {
     25                // 拡張子制限
     26                if (!util_check_file_extention($filename4_original_filename)) {
     27                    $_REQUEST['target_c_commu_id'] = $requests['c_commu_id'];
     28                    $_REQUEST['err_msg'] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string'));
     29                    openpne_forward('pc', 'page', "c_event_add");
     30                    exit;
     31                }
     32            }
     33        }
    1834
    1935        //--- 権限チェック
     
    97113            $filename3 = image_insert_c_image4tmp("t_{$c_commu_topic_id}_3", $tmpfile3);
    98114        }
     115        if (OPENPNE_USE_FILEUPLOAD) {
     116            // 添付ファイルをDBに入れる
     117            if ($filename4_tmpfile) {
     118                $filename4 = file_insert_c_file4tmp("t_{$c_commu_topic_id}_4", $filename4_tmpfile, $filename4_original_filename);
     119            }
     120        }
     121
     122        //テンポラリファイルを削除(画像と同時)
    99123        t_image_clear_tmp(session_id());
     124        t_file_clear_tmp(session_id());
    100125
    101126        $insert_c_commu_topic_comment = array(
     
    108133            "image_filename2"  => !empty($filename2) ? $filename2 : '',
    109134            "image_filename3"  => !empty($filename3) ? $filename3 : '',
     135            "filename4"  => !empty($filename4) ? $filename4 : '',
    110136        );
    111137        $insert_id = db_commu_insert_c_commu_topic_comment_3($insert_c_commu_topic_comment);
  • OpenPNE/trunk/webapp/modules/pc/do/c_event_edit_update_c_commu_topic.php

    r8608 r10787  
    1818        $upfile_obj2 = $_FILES['image_filename2'];
    1919        $upfile_obj3 = $_FILES['image_filename3'];
     20        $upfile_obj4 = $_FILES['filename4'];
    2021
    2122
     
    8283        }
    8384
     85        if (OPENPNE_USE_FILEUPLOAD) {
     86            if (!empty($upfile_obj4) && $upfile_obj4['error'] !== UPLOAD_ERR_NO_FILE) {
     87                // ファイルサイズ制限
     88                if ($upfile_obj4['size'] === 0 || $upfile_obj4['size'] > FILE_MAX_FILESIZE * 1024) {
     89                    $err_msg[] = 'ファイルは' . FILE_MAX_FILESIZE . 'KB以内のファイルにしてください(ただし空のファイルはアップロードできません)';
     90                }
     91
     92                // 拡張子制限
     93                if (!util_check_file_extention($upfile_obj4['name'])) {
     94                    $err_msg[] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string'));
     95                }
     96            }
     97        }
     98
    8499        if ($err_msg) {
    85100            $_REQUEST = $event;
     
    94109        $filename2 = image_insert_c_image_direct($upfile_obj2, "t_{$c_commu_topic_id}_2");
    95110        $filename3 = image_insert_c_image_direct($upfile_obj3, "t_{$c_commu_topic_id}_3");
     111
     112        //ファイルアップロード
     113        $sessid = session_id();
     114        t_image_clear_tmp($sessid);
     115        if (OPENPNE_USE_FILEUPLOAD) {
     116            $tmpfile4 = t_file_save2tmp($upfile_obj4, $sessid, "t_4");
     117        }
     118        if ($tmpfile4) {
     119            $filename4 = file_insert_c_file4tmp("t_{$c_commu_topic_id}_4", $tmpfile4, $upfile_obj4['name']);
     120        }
     121        t_file_clear_tmp(session_id());
    96122
    97123        $update_c_commu_topic = array(
     
    124150            db_image_data_delete($c_topic['image_filename3']);
    125151        }
     152        if ($filename4) {
     153            $update_c_commu_topic_comment['filename4'] = $filename4;
     154            db_file_delete_c_file($c_topic['filename']);
     155        }
    126156        db_commu_update_c_commu_topic_comment($c_commu_topic_id, $update_c_commu_topic_comment);
    127157
  • OpenPNE/trunk/webapp/modules/pc/do/c_event_write_insert_c_commu_topic_comment.php

    r7224 r10787  
    1919        $add_event_member = $requests['add_event_member'];
    2020        // ----------
     21
     22        //---添付ファイル
     23        if (OPENPNE_USE_FILEUPLOAD) {
     24            $filename4_tmpfile = $requests['filename4_tmpfile'];
     25            $filename4_original_filename = $requests['filename4_original_filename'];
     26
     27            if ($filename4_tmpfile) {
     28                // 拡張子制限
     29                if (!util_check_file_extention($filename4_original_filename)) {
     30                    $_REQUEST['target_c_commu_id'] = $requests['c_commu_id'];
     31                    $_REQUEST['err_msg'] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string'));
     32                    openpne_forward('pc', 'page', "c_event_add");
     33                    exit;
     34                }
     35            }
     36        }
    2137
    2238        //-- 権限チェック
     
    7793            $filename3 = image_insert_c_image4tmp("tc_{$tc_id}_3", $tmpfile3);
    7894        }
    79         t_image_clear_tmp(session_id());
    8095
    8196        db_commu_update_c_commu_topic_comment_images($tc_id,
    8297                $filename1, $filename2, $filename3);
     98
     99        if (OPENPNE_USE_FILEUPLOAD) {
     100            // 添付ファイルをDBに入れる
     101            if ($filename4_tmpfile) {
     102                $filename4 = file_insert_c_file4tmp("tc_{$tc_id}_4", $filename4_tmpfile, $filename4_original_filename);
     103                db_commu_update_c_commu_topic_comment_file($tc_id, $filename4);
     104            }
     105        }
     106
     107        //テンポラリファイルを削除(画像と同時)
     108        t_image_clear_tmp(session_id());
     109        t_file_clear_tmp(session_id());
    83110
    84111        //お知らせメール送信(携帯へ)
  • OpenPNE/trunk/webapp/modules/pc/page/c_event_add.php

    r4933 r10787  
    4141        $this->set('event', p_c_event_add_confirm_event4request());
    4242        $this->set('err_msg', $err_msg);
     43
     44        // 許可されている拡張子のリスト
     45        $this->set('allowed_extensions', util_get_file_allowed_extensions('string'));
     46
    4347        return 'success';
    4448    }
  • OpenPNE/trunk/webapp/modules/pc/page/c_event_add_confirm.php

    r5234 r10787  
    3232        $upfile_obj2 = $_FILES['image_filename2'];
    3333        $upfile_obj3 = $_FILES['image_filename3'];
     34        $upfile_obj4 = $_FILES['uploadfile'];
    3435
    3536        // エラーチェック
     
    7374        }
    7475
     76        if (OPENPNE_USE_FILEUPLOAD) {
     77            if (!empty($upfile_obj4) && $upfile_obj4['error'] !== UPLOAD_ERR_NO_FILE) {
     78                // ファイルサイズ制限
     79                if ($upfile_obj4['size'] === 0 || $upfile_obj4['size'] > FILE_MAX_FILESIZE * 1024) {
     80                    $err_msg[] = 'ファイルは' . FILE_MAX_FILESIZE . 'KB以内のファイルにしてください(ただし空のファイルはアップロードできません)';
     81                }
     82
     83                // 拡張子制限
     84                if (!util_check_file_extention($upfile_obj4['name'])) {
     85                    $err_msg[] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string'));
     86                }
     87            }
     88        }
     89
    7590        if ($err_msg) {
    7691            $_REQUEST = $event;
     
    87102        $tmpfile2 = t_image_save2tmp($upfile_obj2, $sessid, "t_2");
    88103        $tmpfile3 = t_image_save2tmp($upfile_obj3, $sessid, "t_3");
     104        if (OPENPNE_USE_FILEUPLOAD) {
     105            // 一次ファイルをvar/tmpにコピー
     106            $tmpfile4 = t_file_save2tmp($upfile_obj4, $sessid, "t_4");
     107        }
    89108
    90109        $this->set('inc_navi', fetch_inc_navi("c", $target_c_commu_id));
     
    96115        $event['image_filename2_tmpfile'] = $tmpfile2;
    97116        $event['image_filename3_tmpfile'] = $tmpfile3;
     117        $event['filename4_tmpfile'] = $tmpfile4;
    98118        $event['image_filename1'] = $upfile_obj1['name'];
    99119        $event['image_filename2'] = $upfile_obj2['name'];
    100120        $event['image_filename3'] = $upfile_obj3['name'];
     121        $event['filename4_original_filename'] = $upfile_obj4['name'];
    101122        $this->set('event', $event);
    102123
  • OpenPNE/trunk/webapp/modules/pc/page/c_event_detail.php

    r7224 r10787  
    4141        $this->set('c_commu', $c_commu);
    4242        $c_topic = db_commu_c_topic4c_commu_topic_id_2($c_commu_topic_id);
     43        $c_topic['original_filename'] = db_file_original_filename4filename($c_topic['filename']);
    4344        $this->set('c_topic', $c_topic);
    4445
     
    5657
    5758        list($c_topic_write, $pager) = db_commu_c_topic_write4c_commu_topic_id($c_commu_topic_id, $page, $page_size, $desc);
     59
     60        foreach ($c_topic_write as $key => $value) {
     61            if ($value['filename']) {
     62                $c_topic_write[$key]['original_filename'] = db_file_original_filename4filename($value['filename']);
     63            }
     64        }
    5865
    5966        $this->set('c_topic_write', $c_topic_write);
     
    7380        $this->set('c_member_id', $u);
    7481
     82        // 許可されている拡張子のリスト
     83        $this->set('allowed_extensions', util_get_file_allowed_extensions('string'));
     84
    7585        return 'success';
    7686    }
  • OpenPNE/trunk/webapp/modules/pc/page/c_event_edit.php

    r4933 r10787  
    3838        }
    3939
     40        if (!empty($c_topic['filename'])) {
     41            $c_topic['original_filename'] = db_file_original_filename4filename($c_topic['filename']);
     42        }
     43
    4044        $this->set('inc_navi', fetch_inc_navi("c", $c_commu_id));
    4145        $this->set("year", db_commu_year4null());
     
    7276
    7377        $this->set('event', $c_topic);
     78
     79        // 許可されている拡張子のリスト
     80        $this->set('allowed_extensions', util_get_file_allowed_extensions('string'));
     81
    7482        return 'success';
    7583    }
  • OpenPNE/trunk/webapp/modules/pc/page/c_event_write_confirm.php

    r7224 r10787  
    1919        $upfile_obj2 = $_FILES['image_filename2'];
    2020        $upfile_obj3 = $_FILES['image_filename3'];
     21
     22        //添付ファイル
     23        $upfile_obj4 = $_FILES['uploadfile'];
    2124
    2225        $c_topic = db_commu_c_topic4c_commu_topic_id_2($c_commu_topic_id);
     
    6265        }
    6366
     67        if (OPENPNE_USE_FILEUPLOAD) {
     68            if (!empty($upfile_obj4) && $upfile_obj4['error'] !== UPLOAD_ERR_NO_FILE) {
     69                // ファイルサイズ制限
     70                if ($upfile_obj4['size'] === 0 || $upfile_obj4['size'] > FILE_MAX_FILESIZE * 1024) {
     71                    $err_msg[] = 'ファイルは' . FILE_MAX_FILESIZE . 'KB以内のファイルにしてください(ただし空のファイルはアップロードできません)';
     72                }
     73
     74                // 拡張子制限
     75                if (!util_check_file_extention($upfile_obj4['name'])) {
     76                    $err_msg[] = sprintf('アップロードできるファイルの種類は(%s)です', util_get_file_allowed_extensions('string'));
     77                }
     78            }
     79        }
     80
    6481        if ($event_write['add_event_member'] === 1 && $c_topic['capacity'] && $c_topic['capacity'] <= $c_topic['member_num'] ) {
    6582                $err_msg[] = 'イベントの参加者数制限を超えています';
     
    8198        $sessid = session_id();
    8299        t_image_clear_tmp($sessid);
     100        t_file_clear_tmp($sessid);
    83101        $tmpfile1 = t_image_save2tmp($upfile_obj1, $sessid, "tc_1");
    84102        $tmpfile2 = t_image_save2tmp($upfile_obj2, $sessid, "tc_2");
    85103        $tmpfile3 = t_image_save2tmp($upfile_obj3, $sessid, "tc_3");
     104
     105        if (OPENPNE_USE_FILEUPLOAD) {
     106            // 一時ファイルをvar/tmpにコピー
     107            $tmpfile4 = t_file_save2tmp($upfile_obj4, $sessid, "tc_4");
     108        }
    86109
    87110        $this->set('inc_navi', fetch_inc_navi("c", $c_commu_id));
     
    95118        $event_write['image_filename2'] = $upfile_obj2["name"];
    96119        $event_write['image_filename3'] = $upfile_obj3["name"];
     120        $event_write['filename4_tmpfile'] = $tmpfile4;
     121        $event_write['filename4_original_filename'] = $upfile_obj4["name"];
    97122
    98123        $this->set('event_write', $event_write);
  • OpenPNE/trunk/webapp/modules/pc/templates/c_event_add.tpl

    r6014 r10787  
    7272<tr><th>写真2</th><td><input type="file" name="image_filename2" size="40" /></td></tr>
    7373<tr><th>写真3</th><td><input type="file" name="image_filename3" size="40" /></td></tr>
     74({if $smarty.const.OPENPNE_USE_FILEUPLOAD})
     75<tr>
     76<th>ファイル</th>
     77<td>
     78<input type="file" class="input_file" name="uploadfile" size="40" />
     79<p class="caution">※ファイルサイズは({$smarty.const.FILE_MAX_FILESIZE})KB以内({if $allowed_extensions})、ファイルの種類は(({$allowed_extensions}))({/if})のファイルがアップロードできます。</p>
     80</td>
     81</tr>
     82({/if})
    7483</table>
    7584<div class="operation">
  • OpenPNE/trunk/webapp/modules/pc/templates/c_event_add_confirm.tpl

    r9025 r10787  
    2828<tr><th>写真3</th><td>({$event.image_filename3})</td></tr>
    2929({/if})
     30({if $smarty.const.OPENPNE_USE_FILEUPLOAD})
     31({if $event.filename4_original_filename})
     32<tr><th>ファイル</th><td>({$event.filename4_original_filename})</td></tr>
     33({/if})
     34({/if})
    3035</table>
    3136<div class="operation">
  • OpenPNE/trunk/webapp/modules/pc/templates/c_event_detail.tpl

    r8143 r10787  
    4848<td>({$c_topic.body|nl2br|t_url2cmd:'community':$c_topic.c_member_id|t_cmd:'community'})</td>
    4949</tr><tr>
     50({if $c_topic.filename && $smarty.const.OPENPNE_USE_FILEUPLOAD})
     51<th>ファイル</th>
     52<div class="block attachFile">
     53<td>
     54<a href="({t_url m=pc a=do_c_file_download})&amp;target_c_commu_topic_id=({$c_topic.c_commu_topic_id})&amp;sessid=({$PHPSESSID})">({$c_topic.original_filename})</a></td></div>
     55</tr><tr>
     56({/if})
    5057<th>募集期限</th>
    5158<td>({if $c_topic.invite_period != "0000-00-00"})({$c_topic.invite_period})({else})指定なし({/if})</td>
     
    141148<p class="text">({$item.body|nl2br|t_url2cmd:'community':$item.c_member_id|t_cmd:'community'})</p>
    142149</div>
     150({if $item.filename && $smarty.const.OPENPNE_USE_FILEUPLOAD})
     151<div class="block attachFile"><ul>
     152<li><a href="({t_url m=pc a=do_c_file_download})&amp;target_c_commu_topic_comment_id=({$item.c_commu_topic_comment_id})&amp;sessid=({$PHPSESSID})">({$item.original_filename})</a></li>
     153</ul></div>
     154({/if})
    143155</dd>
    144156</dl>
     
    164176<tr><th>写真2</th><td><input type="file" class="input_file" name="image_filename2" size="40" /></td></tr>
    165177<tr><th>写真3</th><td><input type="file" class="input_file" name="image_filename3" size="40" /></td></tr>
     178({if $smarty.const.OPENPNE_USE_FILEUPLOAD})
     179<tr>
     180<th>ファイル</th>
     181<td>
     182<input type="file" class="input_file" name="uploadfile" size="40" />
     183<p class="caution">※ファイルサイズは({$smarty.const.FILE_MAX_FILESIZE})KB以内({if $allowed_extensions})、ファイルの種類は(({$allowed_extensions}))({/if})のファイルがアップロードできます。</p>
     184</td>
     185</tr>
     186({/if})
    166187</table>
    167188<div class="operation">
  • OpenPNE/trunk/webapp/modules/pc/templates/c_event_edit.tpl

    r8394 r10787  
    7575<input type="file" class="input_file" name="image_filename3" size="40" />
    7676</td></tr>
     77({if $smarty.const.OPENPNE_USE_FILEUPLOAD})
     78<tr>
     79<th>ファイル</th>
     80<td>
     81({if $event.filename})
     82<p>
     83({$event.original_filename})<br />
     84<a href="({t_url m=pc a=do_c_event_edit_delete_c_commu_topic_comment_file})&amp;target_c_commu_topic_id=({$event.c_commu_topic_id})&amp;sessid=({$PHPSESSID})">削除</a>
     85</p>
     86({/if})
     87<input type="file" class="input_file" name="filename4" size="40" />
     88<p class="caution">※ファイルサイズは({$smarty.const.FILE_MAX_FILESIZE})KB以内({if $allowed_extensions})、ファイルの種類は(({$allowed_extensions}))({/if})のファイルがアップロードできます。</p>
     89</td>
     90</tr>
     91({/if})
    7792</table>
    7893<div class="operation">
  • OpenPNE/trunk/webapp/modules/pc/templates/c_event_write_confirm.tpl

    r9025 r10787  
    1818({if $event_write.image_filename3})
    1919<tr><th>写真3</th><td>({$event_write.image_filename3})</td></tr>
     20({/if})
     21({if $smarty.const.OPENPNE_USE_FILEUPLOAD})
     22({if $event_write.filename4_original_filename})
     23<tr><th>ファイル</th><td>({$event_write.filename4_original_filename})</td></tr>
     24({/if})
    2025({/if})
    2126</table>
  • OpenPNE/trunk/webapp/modules/pc/validate/do/c_event_add_insert_c_commu_topic.ini

    r2 r10787  
    1111default = ""
    1212
     13[filename4_tmpfile]
     14type = "string"
     15default = ""
     16
     17[filename4_original_filename]
     18type = "string"
     19default = ""
  • OpenPNE/trunk/webapp/modules/pc/validate/do/c_event_write_insert_c_commu_topic_comment.ini

    r2 r10787  
    1919default = ""
    2020
     21[filename4_tmpfile]
     22type = "string"
     23default = ""
     24
     25[filename4_original_filename]
     26type = "string"
     27default = ""
     28
    2129[add_event_member]
    2230type = "string"
Note: See TracChangeset for help on using the changeset viewer.