talkbox 말풍선 스킨 20101119 버전
2010 11 19 버전
불당썸만 포함시키고 불당리사이즈는 일단 뺐습니다.
스킨 폴더에 불당썸이 포함되어있으니 따로 설치 안하셔도 됩니다.
=============================================================
회원사진 이용을 위해서 아래와 같은 개조 작업을 합니다.
아래의 개조를 하지 않을 경우는 회원사진 대신에
noimg 이미지가 나올 뿐 다른 에러는 없을겁니다.
그누보드/adm/member_form.php 를 열어보면
그누보드 회원정보에 gif외에도 jpg나 png가 업로드 가능하도록 설정되어있지만
아래 부분은 수정이 안되어있다.
그누보드/adm/member_form_update.php
78번라인
// 아이콘 업로드
if (is_uploaded_file($_FILES[mb_icon][tmp_name])) {
if (!preg_match("/(\.gif)$/i", $_FILES[mb_icon][name])) {
alert($_FILES[mb_icon][name] . '은(는) gif 파일이 아닙니다.');
}
if (preg_match("/(\.gif)$/i", $_FILES[mb_icon][name])) {
@mkdir("$g4[path]/data/member/$mb_dir", 0707);
@chmod("$g4[path]/data/member/$mb_dir", 0707);
$dest_path = "$g4[path]/data/member/$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
여기에 pregmatch에 gif 만 허용되어 있슴
이부분에 이미지 확장자 jpg,png 등 추가
// 아이콘 업로드
if (is_uploaded_file($_FILES[mb_icon][tmp_name])) {
if (!preg_match("/(\.(jpg|jpeg|gif|png|PNG|JPG|GIF))$/i", $_FILES[mb_icon][name])) {
alert($_FILES[mb_icon][name] . '은(는) gif 파일이 아닙니다.');
}
if (preg_match("/(\.(jpg|jpeg|gif|png|PNG|JPG|GIF))$/i", $_FILES[mb_icon][name])) {
@mkdir("$g4[path]/data/member/$mb_dir", 0707);
@chmod("$g4[path]/data/member/$mb_dir", 0707);
$dest_path = "$g4[path]/data/member/$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
이렇게 수정해준다.
그누보드/adm/member_form.php 도 수정하자
불당썸을 이용하기 위해서 이걸 4번째줄 쯤에 추가해주자
include_once("$g4[path]/lib/thumb.lib.php");
그후에
파일을 업로드 해보면 어드민 - 회원관리에서 사진이 원본크기로 나와버리는것을 막기위해
104번째 줄 쯤에
<input type=file name='mb_icon' class=ed><br>이미지 크기는 <?=$config[cf_member_icon_width]?>x<?=$config[cf_member_icon_height]?>보다 작은 이미지를 업로드 해주세요. 업로드 하신 이미지는 자동으로 리사이즈 됩니다.
<?
$mb_dir = substr($mb[mb_id],0,2);
$icon_file = "$g4[path]/data/member/$mb_dir/$mb[mb_id].gif";
if (file_exists($icon_file)) {
$mb_thumb = thumbnail($icon_file , 200,200,0,1,100);
echo "<br><img src='$mb_thumb' align='absmiddle' style='border:1px solid #fff; padding:0px; '>";
echo " <input type=checkbox name='del_mb_icon' value='1' class='csscheck'>삭제";
}
?>
이렇게 수정해서 원본크기가 아닌 리사이즈된 섬네일로 표시되도록 해준다
210 라인쯤에
function fmember_submit(f)
{
if (!f.mb_icon.value.match(/\.((jpg|jpeg|gif|png|PNG|JPG|GIF))$/i) && f.mb_icon.value) {
alert('아이콘이 이미지 파일이 아닙니다. (bmp 제외)');
return false;
}
f.action = './member_form_update.php';
return true;
}
도 수정해준다.
그러면 회원아이콘에 정상적으로 이미지 업로드된다.
이제 회원아이콘을 프로필 사진으로 이용하자.
회원정보수정에서 업로드 하는 부분도 수정해야 한다
그누보드/bbs/register_form_update.php
130번째 줄에 아이콘 업로드에서 확장자 지정해준다.
// 아이콘 업로드
$mb_icon = "";
if (is_uploaded_file($_FILES[mb_icon][tmp_name]))
{
if (preg_match("/(\.gif)$/i", $_FILES[mb_icon][name]))
{
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES[mb_icon][size] <= $config[cf_member_icon_size])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
//=================================================================\
// 090714
// gif 파일에 악성코드를 심어 업로드 하는 경우를 방지
// 에러메세지는 출력하지 않는다.
//-----------------------------------------------------------------
$size = getimagesize($dest_path);
if ($size[2] != 1) // gif 파일이 아니면 올라간 이미지를 삭제한다.
@unlink($dest_path);
else
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height])
@unlink($dest_path);
//=================================================================\
}
}
}
else
$msg .= $_FILES[mb_icon][name] . "은(는) gif 파일이 아닙니다.";
}
이것을 아래와 같이 수정
// 아이콘 업로드
$mb_icon = "";
if (is_uploaded_file($_FILES[mb_icon][tmp_name]))
{
if (preg_match("/(\.(jpg|jpeg|gif|png|PNG|JPG|GIF))$/i", $_FILES[mb_icon][name]))
{
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES[mb_icon][size] <= $config[cf_member_icon_size])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
//=================================================================\
// 090714
// gif 파일에 악성코드를 심어 업로드 하는 경우를 방지
// 에러메세지는 출력하지 않는다.
//-----------------------------------------------------------------
$size = getimagesize($dest_path);
//if ($size[2] != 1) // gif 파일이 아니면 올라간 이미지를 삭제한다.
// @unlink($dest_path);
//else
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height])
@unlink($dest_path);
//=================================================================\
}
}
}
else
$msg .= $_FILES[mb_icon][name] . "은(는) gif 파일이 아닙니다.";
}
이제 회원정보 수정에서 사진업로드가 정상동작한다.
그누보드/skin/member/basic/register_form.skin.php
456 번째 줄에 gif만 있는 부분을 수정 .
if (!f.mb_icon.value.toLowerCase().match(/.(jpg|jpeg|gif|png|PNG|JPG|GIF)$/i)) {
이렇게 변경해준다..
여기까지 해주면 유저아이콘을 쓸수 있게 된다.
================================
이렇게 개조하던.. 다른 방법으로 개조하던 개조를 해야 회원 프로필 사진을 쓸수 있게 된다는건 매우 번거로운 일입니다.
그누보드 배포본에 이런 류의 기능이 기본적으로 포함되기를 바랍니다.
===============================
배포장소 : http://www.mozoki.com/20444
테스트 장소 : http://skin.mozoki.com/bbs/board.php?bo_table=talkbox
이 스킨은 UTF-8 용입니다.
불당썸만 포함시키고 불당리사이즈는 일단 뺐습니다.
스킨 폴더에 불당썸이 포함되어있으니 따로 설치 안하셔도 됩니다.
=============================================================
회원사진 이용을 위해서 아래와 같은 개조 작업을 합니다.
아래의 개조를 하지 않을 경우는 회원사진 대신에
noimg 이미지가 나올 뿐 다른 에러는 없을겁니다.
그누보드/adm/member_form.php 를 열어보면
그누보드 회원정보에 gif외에도 jpg나 png가 업로드 가능하도록 설정되어있지만
아래 부분은 수정이 안되어있다.
그누보드/adm/member_form_update.php
78번라인
// 아이콘 업로드
if (is_uploaded_file($_FILES[mb_icon][tmp_name])) {
if (!preg_match("/(\.gif)$/i", $_FILES[mb_icon][name])) {
alert($_FILES[mb_icon][name] . '은(는) gif 파일이 아닙니다.');
}
if (preg_match("/(\.gif)$/i", $_FILES[mb_icon][name])) {
@mkdir("$g4[path]/data/member/$mb_dir", 0707);
@chmod("$g4[path]/data/member/$mb_dir", 0707);
$dest_path = "$g4[path]/data/member/$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
여기에 pregmatch에 gif 만 허용되어 있슴
이부분에 이미지 확장자 jpg,png 등 추가
// 아이콘 업로드
if (is_uploaded_file($_FILES[mb_icon][tmp_name])) {
if (!preg_match("/(\.(jpg|jpeg|gif|png|PNG|JPG|GIF))$/i", $_FILES[mb_icon][name])) {
alert($_FILES[mb_icon][name] . '은(는) gif 파일이 아닙니다.');
}
if (preg_match("/(\.(jpg|jpeg|gif|png|PNG|JPG|GIF))$/i", $_FILES[mb_icon][name])) {
@mkdir("$g4[path]/data/member/$mb_dir", 0707);
@chmod("$g4[path]/data/member/$mb_dir", 0707);
$dest_path = "$g4[path]/data/member/$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
이렇게 수정해준다.
그누보드/adm/member_form.php 도 수정하자
불당썸을 이용하기 위해서 이걸 4번째줄 쯤에 추가해주자
include_once("$g4[path]/lib/thumb.lib.php");
그후에
파일을 업로드 해보면 어드민 - 회원관리에서 사진이 원본크기로 나와버리는것을 막기위해
104번째 줄 쯤에
<input type=file name='mb_icon' class=ed><br>이미지 크기는 <?=$config[cf_member_icon_width]?>x<?=$config[cf_member_icon_height]?>보다 작은 이미지를 업로드 해주세요. 업로드 하신 이미지는 자동으로 리사이즈 됩니다.
<?
$mb_dir = substr($mb[mb_id],0,2);
$icon_file = "$g4[path]/data/member/$mb_dir/$mb[mb_id].gif";
if (file_exists($icon_file)) {
$mb_thumb = thumbnail($icon_file , 200,200,0,1,100);
echo "<br><img src='$mb_thumb' align='absmiddle' style='border:1px solid #fff; padding:0px; '>";
echo " <input type=checkbox name='del_mb_icon' value='1' class='csscheck'>삭제";
}
?>
이렇게 수정해서 원본크기가 아닌 리사이즈된 섬네일로 표시되도록 해준다
210 라인쯤에
function fmember_submit(f)
{
if (!f.mb_icon.value.match(/\.((jpg|jpeg|gif|png|PNG|JPG|GIF))$/i) && f.mb_icon.value) {
alert('아이콘이 이미지 파일이 아닙니다. (bmp 제외)');
return false;
}
f.action = './member_form_update.php';
return true;
}
도 수정해준다.
그러면 회원아이콘에 정상적으로 이미지 업로드된다.
이제 회원아이콘을 프로필 사진으로 이용하자.
회원정보수정에서 업로드 하는 부분도 수정해야 한다
그누보드/bbs/register_form_update.php
130번째 줄에 아이콘 업로드에서 확장자 지정해준다.
// 아이콘 업로드
$mb_icon = "";
if (is_uploaded_file($_FILES[mb_icon][tmp_name]))
{
if (preg_match("/(\.gif)$/i", $_FILES[mb_icon][name]))
{
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES[mb_icon][size] <= $config[cf_member_icon_size])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
//=================================================================\
// 090714
// gif 파일에 악성코드를 심어 업로드 하는 경우를 방지
// 에러메세지는 출력하지 않는다.
//-----------------------------------------------------------------
$size = getimagesize($dest_path);
if ($size[2] != 1) // gif 파일이 아니면 올라간 이미지를 삭제한다.
@unlink($dest_path);
else
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height])
@unlink($dest_path);
//=================================================================\
}
}
}
else
$msg .= $_FILES[mb_icon][name] . "은(는) gif 파일이 아닙니다.";
}
이것을 아래와 같이 수정
// 아이콘 업로드
$mb_icon = "";
if (is_uploaded_file($_FILES[mb_icon][tmp_name]))
{
if (preg_match("/(\.(jpg|jpeg|gif|png|PNG|JPG|GIF))$/i", $_FILES[mb_icon][name]))
{
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES[mb_icon][size] <= $config[cf_member_icon_size])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
//=================================================================\
// 090714
// gif 파일에 악성코드를 심어 업로드 하는 경우를 방지
// 에러메세지는 출력하지 않는다.
//-----------------------------------------------------------------
$size = getimagesize($dest_path);
//if ($size[2] != 1) // gif 파일이 아니면 올라간 이미지를 삭제한다.
// @unlink($dest_path);
//else
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height])
@unlink($dest_path);
//=================================================================\
}
}
}
else
$msg .= $_FILES[mb_icon][name] . "은(는) gif 파일이 아닙니다.";
}
이제 회원정보 수정에서 사진업로드가 정상동작한다.
그누보드/skin/member/basic/register_form.skin.php
456 번째 줄에 gif만 있는 부분을 수정 .
if (!f.mb_icon.value.toLowerCase().match(/.(jpg|jpeg|gif|png|PNG|JPG|GIF)$/i)) {
이렇게 변경해준다..
여기까지 해주면 유저아이콘을 쓸수 있게 된다.
================================
이렇게 개조하던.. 다른 방법으로 개조하던 개조를 해야 회원 프로필 사진을 쓸수 있게 된다는건 매우 번거로운 일입니다.
그누보드 배포본에 이런 류의 기능이 기본적으로 포함되기를 바랍니다.
===============================
배포장소 : http://www.mozoki.com/20444
테스트 장소 : http://skin.mozoki.com/bbs/board.php?bo_table=talkbox
이 스킨은 UTF-8 용입니다.
첨부파일
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 17개
배추빌더처럼 회원사진을 게시판에 직접 넣는 기능이 있었으면 최고일 듯합니다
[http://hiramid.co.kr/test.jpg]
그누보드에서 회원사진 기본으로 지원할때 까지 변경은 없을듯 합니다.
잘 사용하겠습니다.
사이트가 확 살아나네요
http://skin.mozoki.com/bbs/board.php?bo_table=gnuboard&wr_id=4
이거 다운받아 쓰세요.. 제가 쓰는거..
내리라면 바로 내리도록 하겠습니다.
모조키님 말풍선 스킨 정말 유용히 잘 쓰고 있습니다.
감사합니다.
다른분들이 더 개선해주시면 저야 좋지요 ㅎㅎ
-> 불당리사이즈입니다.
그누보드홈피-플러그인 - 불당섬 리사이즈 참조하세요
삭제하니까 잘되네요.
두파일이 중복되서 생긴 문제인거같네요
한글이 께진다면 아마 지금 쓰고계신 홈페이지가 euc- kr코드로 맹글어진것일듯..
코드변환 하세요..