반응형


요즘 인스타그램 아이디 연동은 거의 당연시되는 분위기라
종종 이미지 가져오기를 하고있는데

오랜만에 들어가보니 인스타 api가 많이 바뀌었더라
기존에 쓰던 코드가 작동은하는데
뭔가 안되는 경우가 생긴듯?

그래서 이것저것 찾아보다가
조금 바꿔서 사용했다

이 방식도 php 7 버전 이상에서
오류가 잠깐 나는것같긴하던데...

더 확인해봥야겠다

            $tagetedInstaUrl = 'https://www.instagram.com/s_zone___/';
            $data = file_get_contents($tagetedInstaUrl);

            if (preg_match('#_sharedData = (.*);</script#', $data, $m)) {
              $json = json_decode($m[1], 1);


              if(!$json) {die ("Can't decode json.");}
              $ppage = $json['entry_data']['ProfilePage'];
              $edges = $ppage[0]['graphql']['user']['edge_owner_to_timeline_media']['edges'];
                $cnt_ins = 0;
                foreach ($edges as $edge) {


                    $node = $edge['node'];
                    $image = $node['thumbnail_src'];
                    $shortcodeForEachPictureUrl = $node['shortcode'];
                    echo '<div class="insta_con col-12 col-sm-12 col-md-4 col-lg-4">';
                    echo '<a href="'.$tagetedInstaUrl.'p/'.$shortcodeForEachPictureUrl.'" target="_blank">';
                    echo '<img id="instagramFeed" src="'.$image.'">';
                    echo '</a>';
                    echo '</div>';

                    $cnt_ins++;
                    if($cnt_ins == 3) //3장만가져오자
                    {
                        break;
                    }

                  }
            }
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
반응형
반응형

그누보드 게시판 유튜브 연결하기

동영상 업로드 게시판을 만드는데 유튜브링크를 올려서

링크의 동영상을 게시해달란 요청이있었다

작업내용은 크게 힘든편은 아니었는데

브라우저나 버전에 따라서 약간 귀찮은 부분이 있었다

그누보드 게시판을 기준으로 진행

1. -- 등록

그누보드 기본 링크 입력칸에 유튜브 주소를 입력한다.

www.youtube.com/watch?v=tz0xtif_ODM <-- 이런식으로 형식은 맞아야되는듯

2. 리스트 표출

제일 중점인 부분이다 .php와 javascript 둘다필요하다

$youtube = preg_replace('/^.((youtu.be/)|(v/)|(/u/\w/)|(embed/)|(watch?))??v?=?([^#&?]).*/', '$7', $video_op['wr_link1']);

php로 주소를 적당히 변환시켜준다 오류방지로

div id="player" style="width:100%; height:400px; " iframe width='100%' height='400px' src='https://youtube.com/embed/?rel=0&playsinline=1&autoplay=0' allow='accelerometer; gyroscope; picture-in-picture; encrypted-media' allowfullscreen style='position: absolute;'> /div

 

아이프레임이 틀어져버려서 앞뒤나 슬래쉬를 제거했다.... 쓰실때 div 잘 체크하시길

그후 아이프레임으로 출력

728x90
반응형
반응형

게시판이외에 따로 페이지생성시에

체크박스를 체크하는기능을 사용하고있었는데

이제 리스트 하단부에 선택수정과 삭제등등 옵션을추가하면서

내가 몇개를 체크했는지와 하단에서도 전체체크를 추가하면서 약간 스크립트를 추가했다

별건아닌데 체크한 숫자가 눈에보이니까 좀 편한거같기도하고 쓸데없는거같기도하고

$('[name="chk[]"]').on('click',function(){ var $this = $(this), $number = $(".number").val(); var tmp; if($this.is(':checked')){ $tmp = parseInt($number)+1; }else{ $tmp = parseInt($number)-1; if(tmp<0){ $tmp = 0; } } $('.number').val($tmp); }) // 모두선택 $('#chkall').on('click', function() { var $this = $(this), $that = $this.closest('table').find('tr[data-bunch]'), check = $('[name="db_id[]"]:enabled'); check.prop('checked', $this.is(':checked') ? true : false); if ($this.is(':checked')) { $that.addClass('checked'); //선택된갯수추가 $(".number").val($that.length); } else { $that.removeClass('checked'); $('[data-proto]').val(function() { return $(this).data('proto') }); //선택된갯수추가 $(".number").val('0'); } });

엥 스크립트가 한줄로들어가보리네

html 관련은 뭐 input 쪽 네임정도와 클래스만 보고 따로 추가하면 될거같다

728x90
반응형
반응형

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

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

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

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

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

불러오는 for문 안에다가

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

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

코드 추가!

728x90
반응형
반응형

그누보드 관련사항

그누보드로 만들어진 홈페이지에서 일대일게시판을 만들어달라는 내용이있다

관리자와 작성자만 볼수있는게시판이라는건데

기본적으로 게시판은 bbs 와 theme 두개의 폴더로 구성되어있다

모든게시판을 변경하거나 영향을 주기 싫으니 bbs 보단 theme에서 수정해야겠다

일단 테마 board로 들어가서 해당 스킨폴더에 list.php 파일을 추가한다

그리고 bbs/list.php 를 모두 복사해서 추가한 list.php 에 붙여넣기

그다음에 스킨폴더 list.skin.php 로 들어가서

php 상단부분에

include_once($board_skin_path.'/list.php');

로 추가한 파일을 불러와준다

그리고 include_once 윗부분에

변수를 추가해준다

예를들어서 $sql_search2 = " and mb_id = '{$member['mb_id']}' ";

이렇게 추가하고

스킨폴더에서 처음 추가해줬던 list.php로 들어가서

쿼리부분에다가 추가한 변수를 넣어주면 끝!

728x90
반응형
반응형


lib/thumbnail.lib.php 파일 $is_crop=false 를 true로 하면 여백안생김.

// 게시글리스트 썸네일 생성
function get_list_thumbnail($bo_table, $wr_id, $thumb_width, $thumb_height, $is_create=false, $is_crop=false, $crop_mode='center', $is_sharpen=false, $um_value='80/0.5/3')
{

$is_crop=true 로 변경하면 여백안생김
수정 캐시지우는건

관리자페이지 > 환경설정 > 썸네일파일 일괄삭제 (//주석처리되있을수도)

함수자체 변경이아니라 사용할때만 변경하려면

$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_gallery_width'], $board['bo_gallery_height'], false, true);

여기서  false를 true로 변경해주면 됨

728x90
반응형

+ Recent posts