Пример #1
0
function image_insert_c_image4tmp($prefix, $tmpfile, $c_member_id, $category = '')
{
    if (!$tmpfile || preg_match('/[^\\.\\w]/', $tmpfile)) {
        return false;
    }
    $path_parts = pathinfo($tmpfile);
    $ext = $path_parts['extension'];
    $ext = strtolower($ext);
    $allowed_ext = array('jpg', 'jpeg', 'gif', 'png');
    if (!in_array($ext, $allowed_ext)) {
        return false;
    }
    $filename = sprintf('%s_%s.%s', $prefix, time(), $ext);
    if (!OPENPNE_TMP_IMAGE_DB) {
        $img_tmp_dir_path = OPENPNE_VAR_DIR . '/tmp/';
        $filepath = $img_tmp_dir_path . basename($tmpfile);
        if (db_image_insert_c_image2($filename, $filepath, $c_member_id, $category)) {
            return $filename;
        }
    } else {
        $c_tmp_image = db_image_c_tmp_image4filename($tmpfile);
        $filesize = $c_tmp_image['filesize'];
        if (db_image_insert_c_image($filename, $c_tmp_image['bin'], $filesize, $c_member_id, $category, '', true)) {
            return $filename;
        }
    }
    return false;
}
Пример #2
0
 /**
  * アルバム表紙変更
  */
 function add_album_cover_image($c_album_id)
 {
     if (!($c_album = db_album_get_c_album4c_album_id($c_album_id))) {
         return false;
     }
     if ($c_album['c_member_id'] != $this->c_member_id) {
         return false;
     }
     // 写真登録
     if ($images = $this->decoder->get_images()) {
         $image = $images[0];
         $image_ext = $image['ext'];
         $image_data = $image['data'];
         $filename = 'a_' . $c_album_id . '_1_' . time() . '.' . $image_ext;
         // 画像アップロード可能サイズチェック
         $filesize = $image['filesize'];
         $result = util_image_check_add_image_upload($filesize, $this->c_member_id, 'other');
         if ($result) {
             $msg = util_image_get_upload_err_msg($result);
             $this->error_mail($msg);
             m_debug_log('mail_sns::add_album_cover_image() size over');
             return false;
         }
         db_image_insert_c_image($filename, $image_data, $filesize, $this->c_member_id);
         //アルバムデータの変更
         $c_album_cover = $c_album['album_cover_image'];
         db_album_image_data_delete($c_album_cover, $c_album['c_member_id']);
         db_album_update_c_album_album_cover_image($c_album_id, $filename);
     } else {
         $this->error_mail('写真が添付されていないか、ファイルサイズが大きすぎるため、アルバム表紙を変更できませんでした。');
         m_debug_log('mail_sns::add_album_cover_image() no images');
         return false;
     }
     return true;
 }
Пример #3
0
function db_image_data_copy($filename, $new_filename, $c_member_id, $filesize)
{
    if (!$filename) {
        return false;
    }
    $db =& db_get_instance('image');
    $sql = 'SELECT * FROM c_image WHERE filename = ?';
    $params = array($filename);
    $c_image[] = $db->get_row($sql, $params);
    if (!$c_image[0]) {
        return false;
    }
    $bin = base64_decode($c_image[0]['bin']);
    $type = $c_image[0]['type'];
    return db_image_insert_c_image($new_filename, $bin, $filesize, $c_member_id, null, $type);
}