공동구매(0909) > 그누4 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

공동구매(0909) 정보

공동구매(0909)

첨부파일

0909.zip (64.2K) 230회 다운로드 2011-03-15 18:09:11

본문

프로그램명
-------------------------------------------------------------------------------
    공구공구
    0909
    ※ 그누보드 호환 유료형 공동구매 제작 프로그램

제작자
-------------------------------------------------------------------------------
    SIR (http://www.sir.co.kr)
    kagla @ sir.co.kr

프로그램에 대한 보증
-------------------------------------------------------------------------------
    제작자는
    이 프로그램의 사용으로 인한 손실 및 손해에 대해서 책임이 없으며,
    유지 및 보수의 의무가 없습니다.

LICENSE
-------------------------------------------------------------------------------
    1. 원 프로그램명, 원 제작자를 변경하거나 표기하지 않는 사용, 수정, 배포를 금지합니다.
    2. 배포는 원 제작자가 허용한곳에만 있습니다.
    2. 수정하여 사용하는것은 가능하지만 수정한 소스의 재배포는 하실 수 없습니다.
    3. 반민족·반국가 단체, 불법사이트등을 제외하고는 자유롭게 사용하실 수 있습니다.
    4. 그외 의문사항은 제작자 메일을 이용하시기 바랍니다.
       (개인적인 질문에는 메일 주셔도 답변드리지 않습니다.)
    ※ 만약, 법적인 분쟁이 발생한 경우 원 제작자의 회사 소재지를 관할하는 관할법원에서
      분쟁을 해결합니다.

프로그램 사용권의 구입
-------------------------------------------------------------------------------
    공구공구의 사용권은 SIR 홈페이지에서만 구입하실 수 있습니다.
    사용권에 대해 자세하게 알고 싶으시면 SIR 홈페이지를 방문하십시오.

주요 기능
-------------------------------------------------------------------------------
    - 공동구매

이력
-------------------------------------------------------------------------------
1.01 Patch (2003.10.23)
    - 09.lib.php 의 함수명에 모두 _gg_ 를 붙임 (다른 플러그인과의 충돌 때문)

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

여기까지 README 파일에 들어 있는 내용입니다.
원래는 상용프로그램이나 관리자님께서 배포를 해락하시어 그누보드4 버전으로 변환했습니다.

원본버전과 소스의 수정은 다소 있지만, 기능적 차이는 카드결제 부분을 제외하고는 다 됩니다.

문자셋 utf-8입니다.

1. 사용법
    - 첨부의 파일을 그누보드가 설치된 디렉토리에 올립니다.
       아래처럼요...
      

   - 권한설정을 하위디렉토리 포함 707로 해줍니다.
   - 관리자로 로그인을 해서 http://도메인/0909/install.php 실행을 합니다.
   - 설치가 되면 환경설정은 사용자의 입맛에 맞게 적용합니다.

2. 발생 가능한 문제점
   - 공동구매 신청자에 대한 메일 발송이 안될 수도 있습니다. 된다는 분도 계시고 안된다는 분도 계십니다.
   - 메일 발송 관련 문의는 제게 하셔도 소용없습니다. 제가 해결 능력이 안됩니다. 스스로 해결하는수 밖에 없습니다. -_-;;

3. 기타
    - 보다 업그레이드 된 0909가 나오길 바랍니다.
    - 제가 점검하지 못한 문제점이 발생할 수 있으니, 그럴경우 질답게시판이나 고수님들께 문의를 하시면 친절한 분들께서 많이 도와주실 겁니다.

※ 프로그램 제작자인 관리자님과 그누보드4 버전으로 변환하는데 많은 도움을 주신 jacobswell님께 무한한 감사의 마음을 전합니다.
추천
11

댓글 21개

다운 받아서 바로깔았는데 아래처럼 한글이 모두 깨져서 나오네요.

예) HOME | 怨듦뎄紐⑸줉 | �떊泥�,援щℓ�궡�뿭 | 濡쒓렇�씤   
吏꾪뻾以묒씤 怨듬룞援щℓ �긽�뭹�씠 �뾾�뒿�땲�떎.

제꺼랑 버전이 안 맞나..... 암튼 좋은 스킨 수고하셨습니다.
공구상품을 웹사이트 시작화면에 불러 오는 방법

1. main.php 파일 작성 후 0909 디렉토리에 올림

============================ main.php ============================

<link rel="stylesheet" href="<?=$g4['path']?>/0909/style.css" type="text/css">

<?
// 테이블명
$g4[gg_config_table]  = "gg_config_table";    // 설정 테이블
$g4[gg_gongoo_table]  = "gg_gongoo_table";    // 공구 테이블
$g4[gg_order_table]  = "gg_order_table";    // 주문서 테이블
$g4[gg_request_table] = "gg_request_table";  // 신청서 테이블

//-------------------------------------------
// 설정 테이블에서 설정값 얻기
//-------------------------------------------
$sql = " select * from $g4[gg_config_table] ";
$row = @sql_fetch($sql);
$config = array_merge($config, is_array($row) ? $row : array());
//-------------------------------------------

// 공구 테이블에서 하나의 행을 읽음
function _gg_get_gongoo($id)
{
    global $g4;

    $sql = " select * from $g4[gg_gongoo_table]
  where gg_id = '$id' ";
return sql_fetch($sql);

}


// 신청서 테이블에서 하나의 행을 읽음
function _gg_get_request($re_id)
{
    global $g4;

    $sql = " select * from $g4[gg_request_table]
              where re_id = '$re_id' ";
    return sql_fetch($sql);
}


// 주문서 테이블에서 하나의 행을 읽음
function _gg_get_order($od_id, $od_altkey="")
{
    global $g4;

    $sql = " select * from $g4[gg_order_table]
              where od_id = '$od_id' ";
    if ($od_altkey) {
        $sql .= " and od_altkey  = '$od_altkey' ";
    }
    return sql_fetch($sql);
}


// 리스트 제목에 정렬 넣기
function _gg_get_field_sort($subject, $field) {
    global $_SERVER, $qstr, $aorder, $doc;

    return  "<a href='?$qstr&sst=$field&sod=$aorder[$field]'>$subject</a>";
}


// 이미지를 업로드 한다.
function _gg_image_upload($gg_id, $file)
{
    global $g4;

    $img_id = substr("000000" . $gg_id, -7); // 일련번호를 0000001 과 같은 형식으로 만든다.

    $dest_file = "";
    $tmp_name = $file["tmp_name"];
    $name = $file["name"];
    if (is_uploaded_file($tmp_name) && $name) {
        $dest_file = "{$img_id}_{$name}";
        $dest_path = "./img/$dest_file";
        move_uploaded_file($tmp_name, $dest_path) or die($file[error]);
        chmod($dest_path, 0707);
    }

    return $dest_file;
}


// 이미지의 링크와 규격을 얻는다.
function _gg_get_img_link_size($img)
{
    global $g4;

    $path = "./img/$img";
    $size = getimagesize($path);
    return "<a href='$path' target=_blank>$img</a> ($size[0]x$size[1])";
}


// 공구상품의 현재 가격을 얻는다.
function _gg_get_hyunjaega($gg_id, $sijakga, $mokpyoga, $mokpyo_qty, $sum_re_qty)
{
    global $g4;

    // 신청수량이 목표수량보다 많다면 목표가 도달
    if ($sum_re_qty >= $mokpyo_qty) {
        $hyunjaega = $mokpyoga;
    } else {
        if ($sum_re_qty > 0) {
            $gaedang = ($sijakga - $mokpyoga) / $mokpyo_qty;
            $gap = $gaedang * $sum_re_qty;
            $hyunjaega = $sijakga - $gap;
        } else {
            $hyunjaega = $sijakga;
        }
    }

    // 100원 미만 버림
    $hyunjaega = (int)((int)($hyunjaega / 100) * 100);

    return $hyunjaega;
}


// 위대한 한글인가?
function _gg_is_hangul($str)
{
/*
    $is = true;
    for ($i=0; $i<strlen($str); $i++) {
        $char = ord($str[$i]);

        if(!(($char >= 0xa1) && ($char <= 0xfe))) {
            $is = false;
            break;
        }
    }
    return $is;
*/
return check_string($str, _G4_HANGUL_);
}

// 공구상품 테이블의 신청수량을 가감한다.
function _gg_set_gongoo_request_qty($gg_id, $re_qty)
{
    global $g4;

    $sql = " update $g4[gg_gongoo_table]
                set gg_request_qty = gg_request_qty + '$re_qty'
              where gg_id = '$gg_id' ";
    sql_query($sql);
}

// 1인당 신청수량
// 공구상품ID, 회원ID, 신청자이름, 신청자전화번호, 신청수량
function _gg_check_1indang_qty($gg_id, $mb_id, $re_name, $re_email, $re_qty)
{
    global $g4;

    $gg = _gg_get_gongoo($gg_id);

    $sql = " select sum(re_qty)
              from $g4[gg_request_table]
              where gg_id = '$gg[gg_id]' ";
    if ($mb_id) {
        $sql .= " and mb_id = '$mb_id' ";
    } else {
        $sql .= " and re_name  = '$re_name'
                  and re_email = '$re_email' ";
    }
    $row = sql_fetch($sql);
    if ((int)($row[0] + $re_qty) > $gg[gg_1indang_qty]) {
        alert("1인당 {$gg[gg_1indang_qty]}개 까지 신청하실 수 있습니다.\\n\\n{$re_name}님께서는 이미 {$row[0]}개를 신청하셨습니다.", "./09.php?gg_id=$gg[gg_id]");
    }
}


$config[gg_list_mod] = 3; // 한라인에 몇개씩 출력할것인지?


// 신청수량이 한정수량을 넘었거나 신청일시가 아니라면 select 하지 않는다.
$sql = " select *
          from $g4[gg_gongoo_table]
          where gg_hanjeong_qty > gg_request_qty
            and NOW() between gg_fr_datetime and gg_to_datetime
          order by gg_sequence, gg_id desc ";
$result = sql_query($sql);
?>



<?
echo "<table width='100%' align='center' border='0' cellpadding='0' cellspacing='0'>\n";
$colwidth = (int)(100 / $config[gg_list_mod]);
for ($i=0; $i<$config[gg_list_mod]; $i++) {
    echo "<col width='{$colwidth}%'></col>\n";
}
echo "<tr>\n";

for ($i=0; $gg=sql_fetch_array($result); $i++) {
    if (($i%$config[gg_list_mod] == 0) && ($i > 0)) {
        echo "</tr><tr><td colspan='$config[gg_list_mod]' height=10></td></tr><tr>";
    }

    $var[hyunjaega] = _gg_get_hyunjaega($gg[gg_id], $gg[gg_sijakga], $gg[gg_mokpyoga], $gg[gg_mokpyo_qty], $gg[gg_request_qty]);

    echo "
<td valign=top height=100%>
<table width=100% height=100% cellspacing=1 cellpadding=0 background='./0909/img_/tableborder.gif'>
<tr>
<td class='cssbgcolor1'>
<table width=100% height=100%>
<tr><td height=40 align=center>$gg[gg_subject]</td></tr>
<tr><td align=center><a href='./0909/09.php?gg_id=$gg[gg_id]'><img src='./0909/img/$gg[gg_simg]' border=0></a></td></tr>
<tr>
<td align='center'>
<table border='0'>
<tr>
<!-- style='padding:상px 좌px 하px 우px;'-->
<td align='left' style='padding:10px 10px 10px 5px;'>
* 시중가 : ".number_format($gg[gg_sijungga])."원<br>
* <span class='cssstress'>현재가 : ".number_format($var[hyunjaega])."원</span><br>
* 신청수량 : {$gg[gg_request_qty]}{$gg[gg_danwi]} / ".number_format($gg[gg_hanjeong_qty])."{$gg[gg_danwi]}
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>

";
}

if ($i == 0) {
    echo "<td height=100 align=center>진행중인 공동구매 상품이 없습니다.</td>";
} else {
    // 나머지 td 를 colspan 으로 채운다.
    $cnt = $config[gg_list_mod] - ($i % $config[gg_list_mod]);
    if ($cnt < $config[gg_list_mod]) {
        $width = $colwidth * $cnt;
        echo "<td colspan=$cnt width='{$width}%'></td>";
    }
}
?>
</tr>
</table>

====================================================================

2. index.php 파일에 아래와 같이 소스삽입

<? include "./0909/main.php";?>
와 정말 감사합니다.  지금 막 필요해서 만들어야 되나 하고 한숨쉬고 있었는데 이런게 있었네요.
어떻게 감사의 말씀을 드려야 할지 모르겠네요.
잘 쓰겠습니다~~
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT