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

Changeset 7759


Ignore:
Timestamp:
Jul 18, 2008, 8:12:24 PM (11 years ago)
Author:
ebihara
Message:

#2722:一時画像の保存先がDBの場合にアルバム写真追加・編集時にエラーが発生していたのを修正

Location:
OpenPNE/branches/stable-2.12.x/webapp
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/stable-2.12.x/webapp/lib/db/album.php

    r6771 r7759  
    572572        $filepath = $img_tmp_dir_path . basename($tmpfile);
    573573
    574         if (db_image_insert_c_image_album2($filename, $filepath)) {
    575             return $filename;
    576         }
     574        if (!is_readable($filepath)) {
     575            return false;
     576        }
     577
     578        $filesize = filesize($filepath);
     579        $fp = fopen($filepath, 'rb');
     580        $bin = fread($fp, $filesize);
     581        fclose($fp);
     582
     583        // 写真かどうかのチェック
     584        if (!@imagecreatefromstring($bin)) {
     585            return false;
     586        }
     587
     588        $bin = base64_encode($bin);
    577589    } else {
    578590        $c_tmp_image = db_image_c_tmp_image4filename($tmpfile);
    579 
    580         $params = array(
    581             'filename' => $filename,
    582             'bin' => $c_tmp_image['bin'],
    583             'r_datetime' => db_now(),
    584             'type' => '',
    585         );
    586 
    587         $db =& db_get_instance('image');
    588         if ($db->insert("c_image", $params)) {
    589             return $filename;
    590         }
    591     }
     591        $bin = $c_tmp_image['bin'];
     592        $filesize = strlen($bin);
     593    }
     594
     595    if (db_image_insert_c_image_album($filename, $bin)) {
     596        return array($filename, $filesize);
     597    }
     598
    592599    return false;
    593600}
    594601
    595 function db_image_insert_c_image_album2($filename, $filepath)
    596 {
    597     if (!is_readable($filepath)) return false;
    598 
    599     $fp = fopen($filepath, 'rb');
    600     $image_data = fread($fp, filesize($filepath));
    601     fclose($fp);
    602 
    603     // 写真かどうかのチェック
    604     if (!@imagecreatefromstring($image_data)) return false;
    605 
    606     //TODO:typeフィールドを使う
    607     return db_image_insert_c_image_album($filename, $image_data,$size);
    608 }
    609 
    610602function db_image_insert_c_image_album($filename, $bin, $type = '')
    611603{
     
    614606    $data = array(
    615607        'filename'   => $filename,
    616         'bin'        => base64_encode($bin),
     608        'bin'        => $bin,
    617609        'type'       => $type,
    618610        'r_datetime' => db_now(),
  • OpenPNE/branches/stable-2.12.x/webapp/modules/pc/do/h_album_add_insert_c_album.php

    r6677 r7759  
    3535        $c_album_id = db_album_insert_c_album($c_member_id, $subject, $description, $public_flag);
    3636       
    37         if($tmpfile){
    38             $filename = image_insert_c_image_album4tmp("a_{$c_album_id}_1", $tmpfile);
     37        if ($tmpfile) {
     38            $filename = image_insert_c_image4tmp("a_{$c_album_id}_1", $tmpfile);
    3939
    4040            $sessid = session_id();
  • OpenPNE/branches/stable-2.12.x/webapp/modules/pc/do/h_album_cover_edit_insert_c_album.php

    r6677 r7759  
    4545        if ($tmpfile_1) {
    4646            db_album_image_data_delete($c_album_cover);
    47             $filename_1 = image_insert_c_image_album4tmp("a_{$target_c_album_id}_1", $tmpfile_1);
     47            $filename_1 = image_insert_c_image4tmp("a_{$target_c_album_id}_1", $tmpfile_1);
    4848        }
    4949       
  • OpenPNE/branches/stable-2.12.x/webapp/modules/pc/do/h_album_image_add_insert_c_album_image.php

    r7473 r7759  
    4444            if ($tmpfile) {
    4545                $description = $requests['image_description' . $i];
    46                 $filename = image_insert_c_image_album4tmp("a_{$target_c_album_id}_{$i}", $tmpfile);
    47                 $filesize = filesize($img_tmp_dir_path . basename($tmpfile));
     46                if (!list($filename, $filesize) = image_insert_c_image_album4tmp("a_{$target_c_album_id}_{$i}", $tmpfile)) {
     47                    continue;
     48                }
    4849
    4950                // 説明文が空の場合はファイル名を挿入する
  • OpenPNE/branches/stable-2.12.x/webapp/modules/pc/do/h_album_image_edit_insert_c_album_image.php

    r6762 r7759  
    1212    function handleError($errors)
    1313    {
    14         $_REQUEST['msg1'] = $errors['image_description'];
     14        $_REQUEST['msg1'] = array_shift($errors);
    1515        openpne_forward('pc', 'page', 'h_album_image_edit', $errors);
    1616        exit;
     
    4444        if ($tmpfile_1) {
    4545            db_album_image_data_delete($c_album_image['image_filename']);
    46             $filename = image_insert_c_image_album4tmp("a_{$target_c_album_id}_1", $tmpfile_1);
     46            if (!list($filename, $filesize_1) = image_insert_c_image_album4tmp("a_{$target_c_album_id}_1", $tmpfile_1)) {
     47                $this->handleError(array('写真が登録できませんでした'));
     48            }
    4749            $filesize_1 = filesize($img_tmp_dir_path . basename($tmpfile_1));
    4850        }
Note: See TracChangeset for help on using the changeset viewer.