umsg를 이용한 실시간 게시물 문자 확인사용법? 정보
umsg를 이용한 실시간 게시물 문자 확인사용법?본문
현이님이 올려주신 게시물 wirte_update.skin.php
이 파일을 전문이 아래있습니다.
어디를 수정해야 정상적으로 게시물이 등록되고, 문자메시지가 도착할까요?
문자랑 아이디는 그냥 대충 넣었습니다.(실제로는 정상적으로 기입했습니다.)
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<!--2013-04-21 그누보드 헌이가 exif 위도 경도 추출
<?
$data_path = $g4[path]."/data/file/$bo_table";
$sql = " select * from g4_board_file where wr_id = '$wr_id' and bo_table = '$bo_table'";
$qr = sql_query($sql);
for ($i=0; $row=sql_fetch_array($qr); $i++) {
$bf_file1 = $row[bf_file];
}
$gps_l = $data_path.'/'.$bf_file1; //첨부파일 출력
?>
<?
$exif = @exif_read_data($gps_l, 0, true);//exif 추출
if ($exif) {
$gps_lat = null;
$gps_lon = null;
$gps_ele = null;
if ($exif["GPS"]) { //GPS 정보가 있다면
if ($exif["GPS"]["GPSLatitude"] && $exif["GPS"]["GPSLongitude"]) { //위경도 좌표가 있다면
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSLatitude"][0], "%d/%d"); //문자->숫자로 계산
$gps_lat_d = $temp_d1/$temp_d2;
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSLatitude"][1], "%d/%d");
$gps_lat_m = $temp_d1/$temp_d2;
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSLatitude"][2], "%d/%d");
$gps_lat_s = $temp_d1/$temp_d2;
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSLongitude"][0], "%d/%d"); //문자->숫자로 계산
$gps_lon_d = $temp_d1/$temp_d2;
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSLongitude"][1], "%d/%d");
$gps_lon_m = $temp_d1/$temp_d2;
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSLongitude"][2], "%d/%d");
$gps_lon_s = $temp_d1/$temp_d2;
$gps_lat = $gps_lat_d+$gps_lat_m/60+$gps_lat_s/3600; //도분초를 도로 변환
$gps_lon = $gps_lon_d+$gps_lon_m/60+$gps_lon_s/3600;
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSAltitude"], "%d/%d"); //문자->숫자로 계산
//$gps_ele = $temp_d1/$temp_d2;
}
}
}
-->
<!--2013-04-24 umsg 모듈 그누보드연동함 헌이가-->
<?
$hostname="http://$_SERVER[SERVER_NAME]";
$link1="$hostname/bbs/board.php?bo_table=$bo_table"; //메세지 확인시 어떠한 게시판에서 새글이 등록이 되었는지 확인하기 위함
$content = "$wr_content,$link1";//글과 URL을 메세지에 첨부토록함 스마트폰에서 링크를 클릭시 해당게시판으로 이동함
function send_umessage($userid,$msgpw,$fromno,$msg,$charset="utf8")
{
$data="userid=$userid&msgpw=$msgpw&fromno=$fromno&msg=$msg&charset=$charset";
$fp=fsockopen("u.ukeypad.com",80);
fputs($fp,"POST /api.php HTTP/1.1\r\n");
fputs($fp,"Host: u.ukeypad.com\r\n");
fputs($fp,"Referer: umessage api\r\n");
fputs($fp,"Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp,"Content-length: ".strlen($data)."\r\n");
fputs($fp,"Connection: close\r\n\r\n");
fputs($fp,$data);
while (!feof($fp))
{
$httpresult.=fgets($fp,128);
}
fclose($fp);
$contentresult=explode("\r\n\r\n",$httpresult,2);
$xml=xml_parser_create();
xml_parse_into_struct($xml,$contentresult[1],$xmlresult);
xml_parser_free($xml);
$params = array();
$level = array();
foreach ($xmlresult as $xml_elem) {
if ($xml_elem['type'] == 'open') {
if (array_key_exists('attributes',$xml_elem)) {
list($level[$xml_elem['level']],$extra) = array_values($xml_elem['attributes']);
} else {
$level[$xml_elem['level']] = $xml_elem['tag'];
}
}
if ($xml_elem['type'] == 'complete') {
$start_level = 1;
$php_stmt = '$params';
while($start_level < $xml_elem['level']) {
$php_stmt .= '[$level['.$start_level.']]';
$start_level++;
}
$php_stmt .= '[$xml_elem[\'tag\']] = $xml_elem[\'value\'];';
eval($php_stmt);
}
}
return $params["RESULT"];
}
/*
--------------------------------------------------------
사용방법
send_umessage(사용자아이디,메세지비밀번호,발신번호,메세지,한글타입);
한글타입이 euc-kr 일경우 euckr로 입력
한글타입이 utf-8 일경우 utf8로 입력
리턴결과
ok : 전송성공
noid : 아이디빠짐
nomsgpw : 메시지비밀번호빠짐
nouser : 유메시지에 가입된 사용자 아님
msgpwerr : 메시지비밀번호 틀림
duplicate : 중복메세지 거절
--------------------------------------------------------
*/
$result=send_umessage("idvalue","password","12312345678",$content,"utf-8");//계정에 맞게 등록하세요
if ($result=="ok")
// {
// echo "전송성공\n";
// }
//else
//{
//echo "전송실패\n";
//}
?>
<!--
$wr_1 = "$gps_lat";
$wr_2 = "$gps_lon";
//$wr_3 = "$get_address";
$sqllat = " update $write_table set wr_1 = '$wr_1' where wr_id = '$wr_id' ";
sql_query($sqllat);
$sqllon = " update $write_table set wr_2 = '$wr_2' where wr_id = '$wr_id' ";
sql_query($sqllon);
//$sqladdres = " update $write_table set wr_3 = '$wr_3' where wr_id = '$wr_id' ";
//sql_query($sqladdres);
-->
이 기능을 쓸대가 있는데 어떻게 쓰는지를 몰라 해매고 있네요 ㅜㅠㅜ
이 파일을 전문이 아래있습니다.
어디를 수정해야 정상적으로 게시물이 등록되고, 문자메시지가 도착할까요?
문자랑 아이디는 그냥 대충 넣었습니다.(실제로는 정상적으로 기입했습니다.)
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
?>
<!--2013-04-21 그누보드 헌이가 exif 위도 경도 추출
<?
$data_path = $g4[path]."/data/file/$bo_table";
$sql = " select * from g4_board_file where wr_id = '$wr_id' and bo_table = '$bo_table'";
$qr = sql_query($sql);
for ($i=0; $row=sql_fetch_array($qr); $i++) {
$bf_file1 = $row[bf_file];
}
$gps_l = $data_path.'/'.$bf_file1; //첨부파일 출력
?>
<?
$exif = @exif_read_data($gps_l, 0, true);//exif 추출
if ($exif) {
$gps_lat = null;
$gps_lon = null;
$gps_ele = null;
if ($exif["GPS"]) { //GPS 정보가 있다면
if ($exif["GPS"]["GPSLatitude"] && $exif["GPS"]["GPSLongitude"]) { //위경도 좌표가 있다면
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSLatitude"][0], "%d/%d"); //문자->숫자로 계산
$gps_lat_d = $temp_d1/$temp_d2;
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSLatitude"][1], "%d/%d");
$gps_lat_m = $temp_d1/$temp_d2;
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSLatitude"][2], "%d/%d");
$gps_lat_s = $temp_d1/$temp_d2;
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSLongitude"][0], "%d/%d"); //문자->숫자로 계산
$gps_lon_d = $temp_d1/$temp_d2;
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSLongitude"][1], "%d/%d");
$gps_lon_m = $temp_d1/$temp_d2;
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSLongitude"][2], "%d/%d");
$gps_lon_s = $temp_d1/$temp_d2;
$gps_lat = $gps_lat_d+$gps_lat_m/60+$gps_lat_s/3600; //도분초를 도로 변환
$gps_lon = $gps_lon_d+$gps_lon_m/60+$gps_lon_s/3600;
list($temp_d1, $temp_d2) = sscanf($exif["GPS"]["GPSAltitude"], "%d/%d"); //문자->숫자로 계산
//$gps_ele = $temp_d1/$temp_d2;
}
}
}
-->
<!--2013-04-24 umsg 모듈 그누보드연동함 헌이가-->
<?
$hostname="http://$_SERVER[SERVER_NAME]";
$link1="$hostname/bbs/board.php?bo_table=$bo_table"; //메세지 확인시 어떠한 게시판에서 새글이 등록이 되었는지 확인하기 위함
$content = "$wr_content,$link1";//글과 URL을 메세지에 첨부토록함 스마트폰에서 링크를 클릭시 해당게시판으로 이동함
function send_umessage($userid,$msgpw,$fromno,$msg,$charset="utf8")
{
$data="userid=$userid&msgpw=$msgpw&fromno=$fromno&msg=$msg&charset=$charset";
$fp=fsockopen("u.ukeypad.com",80);
fputs($fp,"POST /api.php HTTP/1.1\r\n");
fputs($fp,"Host: u.ukeypad.com\r\n");
fputs($fp,"Referer: umessage api\r\n");
fputs($fp,"Content-type: application/x-www-form-urlencoded\r\n");
fputs($fp,"Content-length: ".strlen($data)."\r\n");
fputs($fp,"Connection: close\r\n\r\n");
fputs($fp,$data);
while (!feof($fp))
{
$httpresult.=fgets($fp,128);
}
fclose($fp);
$contentresult=explode("\r\n\r\n",$httpresult,2);
$xml=xml_parser_create();
xml_parse_into_struct($xml,$contentresult[1],$xmlresult);
xml_parser_free($xml);
$params = array();
$level = array();
foreach ($xmlresult as $xml_elem) {
if ($xml_elem['type'] == 'open') {
if (array_key_exists('attributes',$xml_elem)) {
list($level[$xml_elem['level']],$extra) = array_values($xml_elem['attributes']);
} else {
$level[$xml_elem['level']] = $xml_elem['tag'];
}
}
if ($xml_elem['type'] == 'complete') {
$start_level = 1;
$php_stmt = '$params';
while($start_level < $xml_elem['level']) {
$php_stmt .= '[$level['.$start_level.']]';
$start_level++;
}
$php_stmt .= '[$xml_elem[\'tag\']] = $xml_elem[\'value\'];';
eval($php_stmt);
}
}
return $params["RESULT"];
}
/*
--------------------------------------------------------
사용방법
send_umessage(사용자아이디,메세지비밀번호,발신번호,메세지,한글타입);
한글타입이 euc-kr 일경우 euckr로 입력
한글타입이 utf-8 일경우 utf8로 입력
리턴결과
ok : 전송성공
noid : 아이디빠짐
nomsgpw : 메시지비밀번호빠짐
nouser : 유메시지에 가입된 사용자 아님
msgpwerr : 메시지비밀번호 틀림
duplicate : 중복메세지 거절
--------------------------------------------------------
*/
$result=send_umessage("idvalue","password","12312345678",$content,"utf-8");//계정에 맞게 등록하세요
if ($result=="ok")
// {
// echo "전송성공\n";
// }
//else
//{
//echo "전송실패\n";
//}
?>
<!--
$wr_1 = "$gps_lat";
$wr_2 = "$gps_lon";
//$wr_3 = "$get_address";
$sqllat = " update $write_table set wr_1 = '$wr_1' where wr_id = '$wr_id' ";
sql_query($sqllat);
$sqllon = " update $write_table set wr_2 = '$wr_2' where wr_id = '$wr_id' ";
sql_query($sqllon);
//$sqladdres = " update $write_table set wr_3 = '$wr_3' where wr_id = '$wr_id' ";
//sql_query($sqladdres);
-->
이 기능을 쓸대가 있는데 어떻게 쓰는지를 몰라 해매고 있네요 ㅜㅠㅜ
댓글 전체
update할때는 안하셔두 되구요 수정하는 부분이니까요
insert 될때만 넣어주시면 되겠네요
write.update.php 294줄 정도에
// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
이런구문이 나오는데
이부분 아래부분에
send_umessage(사용자아이디,메세지비밀번호,발신번호,메세지,한글타입);
include("send_umessage함수 파일");
이런식으로 불러오시면 될것 같습니다
insert 될때만 넣어주시면 되겠네요
write.update.php 294줄 정도에
// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
이런구문이 나오는데
이부분 아래부분에
send_umessage(사용자아이디,메세지비밀번호,발신번호,메세지,한글타입);
include("send_umessage함수 파일");
이런식으로 불러오시면 될것 같습니다