반응형

이번에 작업한것은 메일시스템이었다

기본 그누보드에 달려있는 메일 함수는 뭔가 오류가많이 나왔다

스팸으로 들어간다던가 아예 차단을 해버려서 전송이 안된다던가

그래서 새로운 메일시스템을 입히는 과정에서

php로 구성되어있는 코드를

메일 api 리턴받고 그러면서 ajax처럼 써야 되는 상황이나와서

이것저것 써보다가 완료했다

일단 php 에서

curl_setopt 란 기능을 이용하는것이 주요 요소였고

구성은

$_data = array(
'fname' => $fname, // 발신자 이름
'fmail' => $fmail, // 발신자 이메일
'to' => $to, // 수신자 이메일
'subject' => $subject, // 제목
'content' => $content, // 내용
);

    $ch1 = curl_init();
    curl_setopt($ch1, CURLOPT_URL, G5_BBS_URL.'/testetstest.php');
    curl_setopt($ch1, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch1, CURLOPT_HEADER, FALSE);
    curl_setopt($ch1, CURLOPT_POST, 1);

    curl_setopt($ch1, CURLOPT_POSTFIELDS, http_build_query($_data));

    curl_setopt($ch1, CURLOPT_POSTFIELDSIZE, 0);
    curl_setopt($ch1, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch1, CURLOPT_SSLVERSION,3);
    $response = curl_exec($ch1);

    curl_close($ch1);

    return $_data;

    이런느낌으로 함수를 만들어서 쏜다음
    해당 페이지로가서 $_POST 로 받아서 따따따 넣어주면 되었다
    생각보다 간단하게 끝나고 만족스
728x90
반응형
반응형

코딩할때 javascript나 jquery 에서 여러가지 슬라이더를 사용한다

자주 사용하는 스위퍼 슬라이더는 

옵션 자체에 반응형을 지원해서

간편하게 사용하고는한다

일단 js 파일들을 추가한다 css도 추가하던가

swiper.min.css

swiper.min.js

 

공홈이나 여러군데 돌아다니는걸로 다운받아서 선언해주고 

var swiper1 = new Swiper('#main-visual', {    
            //pagination: {
            //el: '.swiper-pagination',
            //    clickable: true,
            //    renderBullet: function (index, className) {
            //    return '<span class="' + className + '">' + (menu[index]) + '</span>';
            //    }
            //},
            navigation: {
                nextEl: '.swiper-button-next',
                prevEl: '.swiper-button-prev',
            },
            spaceBetween: 0, //30
            loop: true,
            autoHeight : true,
            autoplay: {
                delay:5000,
                disableOnInteraction: true
            },
        });

이렇게 기본형태로 사용하고있다

반응형 옵션이 필요할때는

breakpoints: { 

  320: { slidesPerView: 2, spaceBetween: 20 },

  640: { slidesPerView: 4, spaceBetween: 40 }

}

이렇게 옵션을 추가해준다

728x90
반응형
반응형

키오스크나 대형스크린 프로그램 작업시

키보드를 띄워서 입력받는 경우가 종종있다

기존에 사용하던 키보드를 사용해서 작업을 했지만~?

휴대폰 번호를 입력받아야해서

숫자만 띄워달라고 한다

후움

css로 억지로 조정하면 되기야하겠지만

그게더 귀찮을거같기도하고

혹시몰라 찾아보니 숫자용이 따로있더라

numberKeypad.js

이 플러그인을 사용해서 처리했다

css파일도 있고 두개를 추가한후에

//숫자 키보드 따로생성
$('.number_keyboard').numberKeypad({
wrap: '.number_input'
});

//스타일조정
$('.number_keyboard').on('click',function(){
$(".keypad").addClass('d-block');
});

//숫자키보드 닫기기능추가
$('.keypad .back, .keypad .ok, .back_bg').on('click',function(){
$(".keypad").removeClass('d-block');
});

열고닫고 기능 추가한다음에 끝

사용법은 간단하더라

728x90
반응형
반응형

후 그누보드기반으로 관리자페이지를 만드는데

참 난감? 신선? 한 구간이 있었다

db 테이블별로 날짜칼럼명도 데이터칼럼명도 전부 다른 테이블을

싹 모아서 날짜순 정렬을 해달라는....

그중에 userid는 같아서 그나마 다행이긴했는데

참;

이렇게 저렇게 해보다가

union 해야겟다 결정하고 나서보니

테이블마다 필요한 칼럼갯수가 다 틀린거;

게다가 테이블마다 표출해야할것도달라서 테이블명도 넣어야햇다

아무튼

" SELECT * FROM
(
SELECT id, receiptdate, Complete_id, User_id, reward_ap, 'reward' AS table_name FROM reward
UNION ALL
SELECT id, completedate, Course_id, User_id, '' AS ap, 'complete' AS table_name FROM complete
UNION ALL
SELECT id, visit, Local_id, User_id, '' AS ap, 'stemp' AS table_name FROM stemp
UNION ALL
SELECT id, startDate, Arcontents_id, User_id, '' AS ap, 'arplaylog' AS table_name FROM arplaylog
UNION ALL
SELECT id, date, Local_id, User_id, '' AS ap, 'arphotoplaylog' AS table_name FROM arphotoplaylog
)
AS U where U.User_id = '{$row['id']}' order by U.receiptdate desc "

일단 나온 코드가 이건데

칼럼을 억지로 맞췄다.

아직까지 union은 완벽히 이해는 못한거같다

나중에 한번더 봐봐야지

728x90
반응형
반응형

작업중에 유튜브게시판을쓰고 

기타 유튜브 영상을 끌어오는 작업을할때

동영상링크를 그대로 가져와서 썸네일을 쓰면 무난하지만

영상이 많으면 속도문제가 생긴다

그래서 썸네일만 따로 빼야하는경우, 리스트페이지일경우

추출함수가있길래 써봤다

일단 기본적인 난이도는 쉬움!

함수는 가져와놓고 링크 넣어주면 끝난다

필요한건

유튜브 동영상 ID 와

썸네일 품질형식? 해상도? <- 이게 정해져있더라

일단 함수는

저기 동영상링크부분 youtu.be/ 이후에 나열되는 이상한 문자가 필요하다

그 문자가 바로 동영상 ID

썸네일 주소는 두가지

http://img.youtube.com/vi/동영상ID/이미지형식.jpg

http://i.ytimg.com/vi/동영상ID/이미지형식.jpg

이미지형식이 해상도와 품질쪽인데

- 고품질 (480 x 360) : hqdefault.jpg

- 중간품질 (320 x 180) : mqdefault.jpg

- 보통품질 (120 x 90) : default.jpg

동영상 배경이미지 (480 x 360) : 0.jpg

구간별은 1.jpg , 2.jpg 등으로 설정할수도있다

 

가장 중요한 함수는

그누보드기준 lib.service.php 에 붙여넣어서 사용했다


//유튜브썸네일
if ( ! function_exists('get_youtube_code')) {
    function get_youtube_code($url) { 

        if (empty($url) || !$url) { 
            return;
        } 

        preg_match('@https?://(?:www\.)?youtube\.com/(?:watch\?|\?)[^>]*v[/=]([a-zA-Z0-9-_]+)@', $url, $matches);
        $code = $matches[1];

        if (!$code) { 
            preg_match('@https?://(?:www\.)?youtu\.be/([a-zA-Z0-9-_]+)@', $url, $matches);
            $code = $matches[1];
        }

        return $code;

    } 
}

아래는 적용모습!

728x90
반응형
반응형

후 그누보드기초로 홈페이지 제작중에

게시판이아닌 신규페이지에서 검색을 활용하는경우가 많다

보통 일반적인 db구조와 검색에서는 그냥 form 안에 넣고 submit 해서 검색을 만드는편인데

두테이블을 join 하고있는 상황에서

다른테이블까지 검색을 해야하는 경우가 생겼다

참... 귀찮

아예 세 테이블을 join 해버릴까하다가 db에 칼럼이 얼추 겹치게 만들어놔서

그냥 따로 추가하기로햇다 귀찬키도하고

일반적인 경우 form 안에 넣어버리면 따로 주소를 건드리거나 그럴필요는 크게없는데

이번경우에는 복수검색이 있고 배열로 넘기는 상황이라

$_SERVER['REQUEST_URI'] 을 사용하게되었다

$_SERVER['REQUEST_URI'] 은 현재 내 주소창을 그대로 가져오는데

여기서 만약 내가 검색할 input name이 ss_url 이라면

$ss_url = $_SERVER['REQUEST_URI'];
$ss_url = explode('&s_sc_id',$ss_url);
$result_url = $ss_url[0];

이런식으로 주소를가져왔다

검색값을 제외시킨이유는

리셋을 시키지않으면 계속 누적해서 주소창에 붙길래 할때마다 뜯고 새로붙이는식으로했다

얼추 잘돌아간다 일단은

다음난관이 기다리긴하지만;

728x90
반응형
반응형

일반적인 리스트 , 뷰  페이지를 작업하게됬다

학교관련 페이지여서 지역과 계열등등의 검색옵션이 필요했다

하나씩하나씩 검색했으면 참 좋았겠지만 역시나 추가요청이 나왔다

여러지역을 눌러서 검색하고싶다고한다

어찌보면 당연한 기능이기도한데 훔

어쨋든 전에는 쿼리문에서 in array 같은 내용으로 작업을했던것 같은데

속도문제도있고 등등 패스하고 

find_in_set 을 써보기로했다

일단 find_in_set 은 특정칼럼에서 내가 원하는 값이 있는지 체크하는? 그정도로 이해했다

근데 이게 검색하는값이 배열이여버렸다 

그래서 다른방법을 찾을까하다가

find_in_set 자체가 쿼리문이 크게 무겁지않다는 내용이 있어서

그냥 배열수로 for문 돌려서 쿼리를 날려버렸다

일단 쿼리문은 

if($_GET['wr_1'])
{
    $wr_1_cnt = count($_GET['wr_1']);
    
    $sql_search.= " and ( ";
    
    for($t=0; $t<$wr_1_cnt; $t++)
    {
        if($t == 0)
        {
            $or = '';    
        }
        else
        {
            $or = 'or';
        }
        
        $sql_search.= " {$or} find_in_set('{$_GET['wr_1'][$t]}', local) ";
    }
    
    $sql_search.= " ) ";
}

 

이런식으로 local 칼럼에 wr_1값이 있으면~~~ 식으로 작성했다

왠만큼 잘나오니 일단 만족~!

728x90
반응형
반응형

그누보드 게시판 첨부파일을

메인이나 리스트에서 바로 다운로드하게 하고싶어서 링크를 바로연결햇을시

잘못된접근이라고 에러메세지가 출력된다

첨부파일다운시 세션을 구워서 그 세션값 체크를 하는것으로보여서

메인에서 게시물을 불러올때 세션도 구워줘야겠다

불러오는 for문 안에다가

$ss_name = "ss_view_{$bo_table}_{$list[ $i]['wr_id']}";

if (!get_session($ss_name)); set_session($ss_name, TRUE);

코드 추가!

728x90
반응형

+ Recent posts