출석부 v13 ( 2018-02-08 22:38 수정 ) → v14 유료버전 출시 > 그누보드5 플러그인

그누보드5 플러그인

그누보드는 여러가지 기능을 추가하기 쉽도록 제작 되었습니다.
플러그인 다운로드시 좋아요와 감사의 코멘트를 남기시면 제작자에게 큰 힘이됩니다. ^^y

출석부 v13 ( 2018-02-08 22:38 수정 ) → v14 유료버전 출시 정보

출석부 v13 ( 2018-02-08 22:38 수정 ) → v14 유료버전 출시

첨부파일

첨부파일 attendance_2018_0208_2231_v13.zip (39.2K) 577회 다운로드 2018-02-08 22:40:21

본문

[ 업데이트 ]

2017-03-08 

   . 처음 문서 만듦

 

2017-03-13 

   . 출석 2,3등 포인트 지급 추가

   . 개근 30일, 365일 포인트 지급 추가

 

2017-09-26 

   . 전체 디비구조를 변경

   . 7일 개근, 30일 개근, 365일 개근을 현실에 맞게 변경

 

2017-09-27 10:35  

   . 공식배포

 

2017-09-27 11:16

   . 설치방법 내용 보강

 

2017-10-02 11:45

   . 출석포인트 안내수정,  1일 포인트 함수 변경

 

2017-10-10 18:02

   . 1,2,3등 출석의 순위가 00:00:00 에 동시에 등록된 경우 오작동 수정

   . plugin/attendance/attendance.php 와 update.php 일부 수정

   . g5_attendance 테이블에 rank 필드 추가 (출석부 접속하면 자동으로 등록)

 

2017-10-10 18:26

   . 출석 리셋이 30일, 365일 대응이 안되므로, 대응을 위해 필드 (reset2, reset3) 추가

   . g5_attendance 테이블에 reset2, reset3 필드 추가 (출석부 접속하면 자동으로 등록)

 

2017-10-10 18:54

   . 총출석일을 저장하는 필드 sumday 추가 (출석부 접속하면 자동으로 등록) 

 

2017-10-12 21:21

   . admin.menu990.php 누락된것이 확인되서 추가

 

2017-10-27 15:19

   . 설치설명서 내용 추가 ( 작은별 님이 알려주셨습니다 )

 

2018-02-08 22:39

   . 7일, 30일, 365일 개근포인트 누적 안되는 버그 수정 ( 추팔소 님이 도움주셨습니다 )

 

2018-08-29 01:28  V.14
   . 무료버전에서 필드추가 및 설치방법 간소화 및 기능 개선해서 유료버전 출시

   . https://sir.kr/cmall/1535473761 에서 판매중

 

[ 도움자료 ]

-. 파일제작 및 DB Table : https://sir.kr/g5_plugin/1568

-. 기본이미지 : https://sir.kr/bbs/board.php?bo_table=g4_skin&wr_id=145252

-. 도장이미지 : https://sir.kr/g4_skin/145323

 

 

[ 파일구조 ]

그누보드5

  ├  adm

  │     attendance

  │      ├  _common.php

  │      ├  attendance_setup.php

  │        attendance_setup_update.php

  │   └  admin.menu990.php  

  └  plugin

         └  attendance

              ├  img

              │  ├  btn_next.gif

              │  ├  btn_ok.gif

              │  ├  btn_pre.gif

              │  ├  Calendar.png

              │  ├  ling_01.gif

              │  ├  off.png

              │  ├  on.png

              │  ├  stamp.png

              │  └  stamp_off.png

              ├  _common.php

              ├  attendance.php

              ├  install.php

              ├  style.css

              └  update.php

 

 

[ 설치 방법 ]

1. 그누보드5 / config.php 에 설정값 추가 

define('G5_MOBILE_URL',     G5_URL.'/'.G5_MOBILE_DIR);

아래에 내용추가

define('G5_ATTENDANCE_URL', G5_PLUGIN_URL.'/attendance'); 

 

2. 그누보드5 / data / dbconfig.php 에 설정값 추가

$g5['menu_table'] = G5_TABLE_PREFIX.'menu'; // 메뉴관리 테이블 아래에 내용추가

$g5['attendance_table'] = G5_TABLE_PREFIX . "attendance";    // 출석부 테이블

$g5['attendance_setup_table'] = G5_TABLE_PREFIX . "attendance_setup";    // 출석부 테이블

 

3. 홈페이지주소/그누보드5/plugin/attendance/install.php 을 접속

 

4. 관리자로그인후 출석부 환경설정에서 포인트 변경

 

5. 홈페이지/그누보드5/plugin/attendance/attendance.php 접속

 

 

[ 보너스 ] 

head.php 적당한 위치에 아래내용을 추가하면 출석여부를 확인할 수 있습니다.

<?php 

if ($is_member) {

    // 출석부 작성여부 확인

    $sql_attendance_ing = " select id from ".$g5['attendance_table']." where mb_id = '".$member['mb_id']."' and datetime >= '".G5_TIME_YMD." 00:00:00' and datetime <= '".G5_TIME_YMD." 23:59:59' ";

    $row_attendance_ing = sql_fetch($sql_attendance_ing);

    //echo $sql_attendance_ing;

    

    // 접속상태

    if ($row_attendance_ing['id']) {

        echo "<a>출석완료</a>";

    } else {

        echo "<a href='". G5_ATTENDANCE_URL ."/attendance.php'>출석하세요</a>";

    }

}

?>

추천11

댓글 전체

출석자 명단은 화면 아래에 나오니까  그런것은 아닌거 같고...
그것이 왜 필요한지 ... 어떤 형태로 필요하다는 것인지 이해를 못하겠습니다.
해피정님 좋은자료 감사합니다~~
추천 먼저 꾹~~ 누르고  시간될때 적용해서 사용해볼께요~~
감사합니다^^*

해피정님 & 그누보드 모든분들~ 즐거운 명절 보내세요~~~^^*
안녕하세요. 이윰빌더 쓰는데..  출석 했는데 출석했습니다! 창만 뜨고 결석에서 출석으로 바뀌지를 않습니다. 어떻게 수정해야 할까요? 알려주시면 감사하겠습니다.^^꾸벅
몇가지 함수선언에 오류가 확인되어 첨부파일 교체했습니다.
1일, 7일, 365일 출석포인트 안내가 표시되도록 변경했습니다.
좋은 플러그인 감사합니다~
혹시 관리자 출근부로 변경해볼까 하는데....즉 로그인하면 자동으로 출근시간 기록되게 하려면 어느부분을 고쳐야 할가요?
로그인 자동출근이라...
아웃로그인에서 로그인 체크후 출석 안한경우에  update.php 를 불러오도록 하면 될듯싶네요
update.php 를 update_admin.php 로 하나 더 만들어서 관리자에 맞도록 몇가지 수정을 해야겠죠
subject 에 적당한 내용을 위쪽에 선언하고, update 작동후  alert 문을 제거하는 정도의 수정이면 되지 않을까 생각됩니다.
update.php 파일에서
} elseif ($sql_day == 365) {  // 365일 개근
        $sql_reset = "0";
        $sql_point = $att_check_day; ->$sql_point = $att_year_point;
이렇게 변경해야 할듯한데요
7일마다 reset 되는 기존 로직으로는 30일 365일 대응이 불가능한 것이 발견되어 수정했습니다.
첨부파일을 덮어쓴후 출석부 한번만 접속하면 필드가 자동으로 추가됩니다.

총출석일수를 저장하는 필드 sumday 추가했습니다.
좋은 스킨 고맙습니다.
그런데 출석부 '한마디' 내용을 메인페이지에 최신글로 불러올 수도 있는지
죄송스런 마음으로 한 번 여쭈어 봅니다.
저희에게는 필요한 기능이라서요.
우선 좋은자료 올려주셔서 너무 감사드립니다

저는 위에서 나온데로 그대로 파일올리고

코딩추가하고 다 했는데

인스톨하고 나면

ALTER TABLE ``ADD `rank` varchar(2) NOT NULL DEFAULT '' AFTER `subject`

1103 : Incorrect table name ''

error file : /plugin/attendance/attendance.php

이런 문구가 나오는데 왜그런것인지 알수 있을까요

출석부가 너무 쓰고 싶어요

충성
일단 디비에  g5_attendance 테이블이 정상적으로 추가되었는지 확인해주세요.
출석부 초기 버전에 없는 추가된 필드를 확인해서 추가하는 로직이 attendance.php  상단에 있는데요.
정상적으로 출석부 테이블이 2개 확인되면
plugin/attendance/attnedance.php  16~34 줄을 삭제 또는 주석처리후 이용해보세요

지금 사용하는 서버의  php 버전과 mysql 버전을 알수 있을까요?
충성 이 늦은시간에 답변 감사 드립니다.

지금 바로 호스팅사에 가서 버전을 확인해 오겠습니다.


혹시 제가  ftp 경로를
gnuboard5/ 이것을 제거 한것이 문제의 원인일수 있을가요?
홈페이지 주소가  http://test.com 이고
그누보드5 설치를  별도 폴더 없이 설치했다면
http://test.com/plugin/attendance/install.php  이렇게 입력하면 설치가 진행됩니다.

서버에서 그누보드 설치할때  gnuboard5 폴더 하부에 설치했다면
출석부 경로는 아래와 같이 변경됩니다.
http://test.com/gnuboard5/plugin/attendance/install.php

ftp 에서 gnuboard5 를 제거했다는 의미가 무엇인지 ...
말씀한것과 같이
http://test.com/plugin/attendance/install.php 
이렇게 경로를 했으나  설치가 되지 않았어요

그누보드5를 제거 했다는 의미를 경로상 그누보드5 폴더를 삭제 했다는것이에요

하루종일 일하면서 집에가서 출석부 고칠생각을 했는데

이제 마쳤는데 아래 방법으로 가서 바로 해결해 보겠습니다

충성
phpMyAdmin 에서 직접디비 생성해도 관계없습니다.
plugin/attendance/install.php 내용중  테이블 생성하는 내용만 뽑아서
phpMyAdmin 의 sql 창에 넣고 실행하면 생성됩니다.

예를 들어 그누보드 설치할때  g5_  기본값으로 설치했다는 가정하에
CREATE TABLE g5_attendance (
  id int(11) NOT NULL auto_increment,
  mb_id varchar(50) NOT NULL default '',
  subject varchar(255) NOT NULL default '',
  rank varchar(2) NOT NULL default '',
  day int(11) NOT NULL default '0',
  sumday int(11) NOT NULL default '0',
  reset int(11) NOT NULL default '0',
  reset2 int(11) NOT NULL default '0',
  reset3 int(11) NOT NULL default '0',
  point int(11) NOT NULL default '0',
  datetime datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY  (id),
  KEY id (mb_id,day,datetime)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE g5_attendance_setup (
  `att_start_time` varchar(8) NOT NULL,
  `att_end_time` varchar(8) NOT NULL,
  `att_day_point` int(3) NOT NULL,
  `att_week_point` int(4) NOT NULL,
  `att_month_point` int(4) NOT NULL,
  `att_year_point` int(4) NOT NULL,
  `att_first_point` int(4) NOT NULL,
  `att_second_point` int(4) NOT NULL,
  `att_third_point` int(4) NOT NULL,
  `att_check_day` int(4)  NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

를 각각 실행해보세요
혹시 실행할때 에러가 뜨면 그 내용을 알려주세요
올려주실 설치설명서에서 파일구조에서

다른것은 다 같은데

제가 다은받은 폴더속에

  ├  adm
  │  ├  attendance
  │  │  ├  _common.php
  │  │  ├  attendance_setup.php
  │  │  ├  attendance_setup_update.php
  │  │  └  update.php
  │  └  admin.menu990.php



이부분이 저는
 ├  adm
  │  ├  attendance
  │  │  ├  _common.php
  │  │  ├  attendance_setup.php
  │  │  ├  attendance_setup_update.php


여기까지 밖에 없는데 나머지는 언제 생성이 되는것인가요
  │  └  admin.menu990.php 
직접 생성을 해줘야 하는 부분인가요




지금 70프로 까지 작업이 진행되어 지고 있어요
조금만더 하면될것 같습니다 충성
그리고 설명서 중에서
4. 관리자로그인후 출석부 환경설정에서 포인트 변경


이부분이 잘이해가 되질않아요
이제 어찌어찌 거의다 했습니다.


이제 어떻게든 셉업모드만 들어 가면되는데...



출석 시간변경이라던지 세팅을 하려면

환경설정에 들어 가거나

아니면 직접 코드를 수정해줘야 하는데


당연히 환경설정 모드로 해야 하는데

그걸 찾지를 못하고 있어서

어떤방법을 써야 할지 고민중입니다
adm/admin.menu990.php  요파일을 정상적으로 업로드 되었다면
관리자 메뉴에 접속하면 메뉴가 추가됩니다.  거기에 ...
파일이 누락되었군요.. ㅠㅠ  첨부파일 수정하겠습니다.
헛 그런 사유가 있을줄은 정말 몰랐어요.

어제밤부터 스스로 한번 셋업 부분을 찾아 보려고

노력하면서 그래도 나름 이것저것 연구가 된것 같아요

파일 다시 받고 다시 한번 시도해 볼게요^&^

감사 합니다 충성
초보라 질문이 너무 많아 죄송합니다

해드 적당한곳에 아래 내용을 위치 시키라고 하셨는데

해드가 어느 경로상의 해드를 말씀하시는것인지 알수 있을까요




<?php
if ($is_member) {
    // 출석부 작성여부 확인
    $sql_attendance_ing = " select id from ".$g5['attendance_table']." where mb_id = '".$member['mb_id']."' and datetime >= '".G5_TIME_YMD." 00:00:00' and datetime <= '".G5_TIME_YMD." 23:59:59' ";
    $row_attendance_ing = sql_fetch($sql_attendance_ing);
    //echo $sql_attendance_ing;
   
    // 접속상태
    if ($row_attendance_ing['id']) {
        echo "<a>출석완료</a>";
    } else {
        echo "<a href='". G5_ATTENDANCE_URL ."/attendance.php'>출석하세요</a>";
    }
}
?>
헤드 적당한 곳이라 함은 통상 outlogin 영역을 말합니다.
outlogin 을 사용한다면 그곳에
head.php 의 로그인 관련 내용을 직접 사용하면 그곳에 넣으면 됩니다.
친절한 답변 매우 감사 합니다.

지금  관리자페이지에서 추가기능 출석부 환경설정도 생기고

제가 원하는곳에 게시판에 올라가기까지 했는데

도대체 제가 뭘 잘못한건지 모르겠지만


정작 myphp 관리페이지에는
g5_attendance 이 테이블이 없고
관리자 페이지에서

출석시간 종료시간등을 수정해도

어디에도 기록되어지거나 변경되어지지가 않습니다.

저의 능력치로는 아무래도 어려운 영역인가 봅니다
다른 게시판은  g5_write_ 로 생성되나요?
그누보드 설치시 사용한 값이 g5_ 일때는 g5_attentdance , g5_attendance_setup 이렇게 2개가 생깁니다.
예를 들어  w5_ 인경우면 w5_attendance , w5_attendance_setup 이렇게 생성됩니다.

원하신다면 네이트온 원격접속으로 봐드릴수 있습니다.
네이트온은 필요할때만 아주 간헐적으로 사용합니다.
네 해피정님의 출석부는 정말 최고입니다만

저같이 아직 초짜에게는 아직은 너무 멀리 있는것 같습니다.

이것저것 스킨들을 많이 모으고 짜맞추고 올리고 하는데
어찌어찌 되긴했었는데

이번건은 무슨문제인지  저도 의문인게

테이블 자체가 생성되지가 않습니다.

어디서부터가 잘못인지 원인을 도져히 찾질못해서
일단 잠시 쉬어가려고 합니다.

혹 다음에 다시 한번 시도를 해보겠습니다

너무 감사 합니다
고생많이 하셨네요~~
DB생성에 문제가 많아서요~~~
아무튼 감사합니다~~
제가 작업하려고 하는데 이렇게 만들어 주서셔 감사합니다~~~
저도 잘 사용하겠습니다~~~
어떤 분이 문의를 해오셨길래 설치해봤는데 설치 설명서 2번에 한 줄 더 넣어야 할 것 같아요.
$g5['attendance_table'] = G5_TABLE_PREFIX . "attendance";    // 출석부 테이블
음 php 소스에 문제가있는것같습니다. (저만문제있는거일지도 모르지만)
제가 사용할때

ALTER TABLE ``ADD `rank` varchar(2) NOT NULL DEFAULT '' AFTER `subject`

1103 : Incorrect table name ''

error file : /plugin/attendance/attendance.php

오류가 발생하여 직접 sql 문 작성해서 테이블 생성하였구요.

그래도 오류가 발생하여 plugin/attendance/attnedance.php  16~34 줄을 삭제 하였습니다.

테이블 2개 확인도 했는데 이번엔 환경설정을 해도 바뀌지않아 수동으로 sql 문으로 삽입하였습니다.

그런대도 불구하고 출석부 데이터는 변경이 되지않습니다.

정말로 죄송하지만 확인한번 해주실수있을까요?
2. 그누보드5 / data / dbconfig.php 에 설정값 추가
$g5['menu_table'] = G5_TABLE_PREFIX.'menu'; // 메뉴관리 테이블 아래에 내용추가
$g5['attendance_table'] = G5_TABLE_PREFIX . "attendance";    // 출석부 테이블
$g5['attendance_setup_table'] = G5_TABLE_PREFIX . "attendance_setup";    // 출석부 테이블

이 작업을 하셨나요?  에러메시지를 보면 테이블 이름이 누락된것으로 표시되네요
이전의 해피정님 자료가 아닌 다른 분의 출석부를 사용하다가
이번에 해피정님의 출석부를 사용하게 되었습니다.

그래서 그 전의 회원 분들의 출석, 개근일을 유지시켜 드리려고
DB에서 수동으로 day와 sumday의 필드만을 직접 조작했습니다.

그런데 일주일 정도가 지난 지금 7일의 개근 포인트가 들어가지 않고 있습니다.

해결 방법 좀 알려주시면 감사드리겠습니다.
테이블 구조등을 제가 만든 출석부를 참고해서 모두 추가한 건가요?
어떻게 작업을 하신건지 명확히 판단하기 어렵습니다.
넵 이전에 사용하던 출석부 프로그램과 DB 모두 삭제하고
현재 해피정님의 출석부 DB 설치법을 그대로 따르고 이용 중입니다.

그 전에 쓰던 출석부 DB 저장해서 출석일, 개근일만 따로 보고
직접 DB를 통해서 수정을 한 것이구요.

한 마디로 해피정님의 출석부 내용에 나온 정석대로 이용 중입니다.

다만 플러그인의 폴더명을 attendance 대신 attend로 변경해서 쓰고 있습니다.
config의 URL도 attend로 그 외의 것도 마찬가지로 동일하게 변경했구요.

문제는 개근 포인트가 들어오고 있지 않다는 점이네요 ㅠㅠ
으음... 설치된 그리고 저장된 디비 자료를 보고 싶은데
오픈은 어렵겠죠?  제가 출석부를 운영하지 않고 있어서...
가능하다면 happyjungcom@지메일 로 정보주시면 살펴보겠습니다.
제작자이신 해피정님이 도와주신다는 데 오픈이고 뭐고 뭐가 중요하겠습니까ㅎㅎ

attendance 테이블과 attendance_setup 테이블 DB 메일로 보내드렸습니다.

아, 그리고 환경설정의 [출석부 조회 일]이 정확히 무슨 기능인지 여쭤봐도 될까요?
몇일까지 출석부 확인이 가능한가....
라는 기능을 위해서 만들었다고 메모가 되어있네요.
필요해서 추가는 했는데... ^^...
그 코드의 취지를 다시 생각해봐야겠네요..  ^^;;
출석부 7일, 30일, 365일 포인트 추가지급 로직이 변경되었습니다.
plugin / attendance / update.php 수정내용 확인해서 업데이트 해주세요
update.php 로 주소를 불러서 자동으로 출석체크 하고 싶습니다.

그런데 그냥 update.php 로 가면 출석체크 한마디 내용이 공백으로 떠서

$pattern[1] = "출석이다";
$pattern[2] = "안녕하세요";
$pattern[3] = "야호";
?>

<input type="hidden" id="subject" name="subject" class="input" value="<?php echo $pattern[rand(1,3)] ?>">

<?php
// 완료
alert("출석 완료", "./attendance.php");
?>


이런 식으로 input에 hidden 속성으로 숨겨서 value에만 값을 주었는데도
공백으로 뜹니다.

어떻게 해야할지 감이 안잡히는데 조언 좀 부탁드려도 될까요?
<form action="<?php echo G5_PLUGIN_URL; ?>/attendance/attendance.php">
	<input type="hidden" id="subject" name="subject" class="input" value="<?php echo $pattern[rand(1,3)] ?>">
</form>


이렇게 해주면 될까요 ..?
update query는 무슨 말씀인지 잘 모르겠숩니다 ㅠ
적용 여부는 테스트 안해봤지만 이론상으로 아래와 같습니다.
<form action="<?php echo G5_PLUGIN_URL; ?>/attendance/update.php">
<input type="hidden" id="subject" name="subject" class="input" value="<?php echo $pattern[rand(1,3)] ?>">
</form>
제가 작성한 코드에서 action url만 바꾸셨는데, 저는 update.php에 해당 코드를 삽입했습니다. 해피정님 코드로 다시 바꿔서 출석 해보았는데 안돼서 attendance.php 에도 삽입해서 해봤지만 마찬가지로 제목에 공백이 뜬답니다..
모바일 최적화는 아직 생각하지 않고 있습니다.
조만간 필요성이 생긴다면 만들어 보겠습니다.
모바일 및 PC 최적화 버전이 출시된다면 컨텐츠몰에서 만나게 될듯 하네요
전체 4

회원로그인

진행중 포인트경매

  1. 특정 회원 포인트내역 통합(정리)하기

    참여2 회 시작19.12.06 22:31 종료19.12.13 22:31
  2. [잔액관리형] 아웃백디지털상품권 10만원권 3장

    참여75 회 시작19.12.06 00:03 종료19.12.11 00:03

(주)에스아이알소프트 (06253) 서울특별시 강남구 도곡로1길 14, 6층 624호 (역삼동, 삼일프라자) 대표메일:admin@sir.kr
사업자등록번호:217-81-36347 대표:홍석명 통신판매업신고번호:2014-서울강남-02098호 개인정보보호책임자:이총

© SIRSOFT