• 북마크
  • 1:1문의
  • 출석부
  • 전체 태그 배경화면 유머 동영상 짤방 움짤 이슈

[이윰] 이윰빌더 짧은주소를 그누보드 짧은주소로 교체하기

페이지 정보

shadow2fox 2 287 2 2021.08.26 21:46

평점

  • - 평점 : 5점 (2명 참여)

본문

📝이윰빌더 짧은주소를 그누보드 짧은주소로 교체하기
그누보드가 짧은주소를 채택하기 전 발표되었던 이윰빌더 버전을 이용 중이라면 게시글 보기 시 이윰빌더만의 짧은주소를 생성, DB에 저장하고 그 정보를 불러와 짧은주소(Short URL)로 보여주는데 서버 리소스 낭비와 불필요한 기능이라 판단되어 이윰빌더 짧은주소를 그누보드 짧은주소로 변경해 보자.

1. 그누보드5/eyoom/core/board/view.skin.php를 열어 // 짤은주소 체크 및 생성을 검색하여 주석처리한다.

수정 전

// 짤은주소 체크 및 생성
if(!($short_url = $eb->get_short_url())) {
    $short_url = $eb->make_short_url();
}
수정 후

// 짤은주소 체크 및 생성
/*
if(!($short_url = $eb->get_short_url())) {
    $short_url = $eb->make_short_url();
}
*/

바로 아래쪽에 다음과 같은 소스를 추가한다.

//이윰빌더 짧은주소를 그누보드 짧은주소로 교체하기
$explode_url = explode('?', $view['href']);
$short_url = $explode_url[0];

위 수정만으로 게시글 보기 시 이윰빌더의 짧은주소가 그누보드의 짧은주소로 교체가 된다.

2. 구글과 같은 검색엔진에 의해 과거에 색인되었던 이윰빌더의 짧은주소 기능이 필요치 않거나 향후 재수집되어 그누보드 짧은주소로 갱신되기를 원한다면 아래 설명을 보고 추가 작업을 실시한다.
그누보드5/eyoom/classes/eyoom.class.php를 열어 // 10진수를 62진수 변환 - PHP스쿨 마냐님 소스를 검색하여 base62_encode function부터 make_short_url function까지 주석처리한다.

/*
// 10진수를 62진수 변환 - PHP스쿨 마냐님 소스 : http://www.phpschool.com/link/tipntech/79695 참조
public function base62_encode($val, $base=62) {
    // can't handle numbers larger than 2^31-1 = 2147483647
    $str = '';
    do {
        $i = $val % $base;
        $str = $this->chars[$i] . $str;
        //$val = ($val - $i) / $base;
        $val = (int)($val - $i) / (int)$base;
    } while($val > 0);
    return $str;
}
...
...
...
// 짧은주소 생성하기
public function make_short_url() {
    global $g5, $bo_table, $wr_id, $theme;
    $sql = "insert into {$g5['eyoom_link']} set bo_table='{$bo_table}', wr_id = '{$wr_id}', theme = '{$theme}'";
    sql_query($sql,false);
    $s_no = sql_insert_id();
    $t = $this->base62_encode($s_no);
    return G5_BBS_URL . "/?t=".$t;
}
*/
이윰빌더의 메뉴 링크로 부터 메뉴속성 추출하기 증 짧은글 주소(?t=파일명)가 올바르게 작동하도록 하려면 // 62진수를 10진수로 변환// 짧은주소에서 게시판 기본정보 추출하기 함수를 이용할 수 있도록 주석해제 한다.

3. 그누보드5/extend/xeyoom.extend.php를 열어 // 짧은주소 적용을 검색하고 주석처리한다.

/* 이윰빌더 짧은주소를 그누보드 짧은주소로 교체하기
// 짧은주소 적용
if(defined('_LINK_')) {
    $link = array();
    $link = $eb->short_url_data($t);
    $bo_table = $link['bo_table'];
    $write_table = $link['write_table'];
    $wr_id = $link['wr_id'];
    $board = $link['board'];
    $gr_id = $link['gr_id'];
    $group = $link['group'];
    $write = $link['write'];
    $theme = $link['theme'];
    unset($link);
}
*/


4. 이윰빌더의 짧은주소의 정보가 담긴 DB 테이블인 g5_eyoom_link도 삭제한다.

DROP TABLE IF EXISTS `g5_eyoom_link`;

5. 그누보드5/eyoom/install/eyoom.table.sql을 열어 Table structure for table `g5_eyoom_link`를 검색하고 아래 라인들을 삭제한다.

--
-- Table structure for table `g5_eyoom_link`
--

DROP TABLE IF EXISTS `g5_eyoom_link`;
CREATE TABLE IF NOT EXISTS `g5_eyoom_link` (
  `s_no` int(11) unsigned NOT NULL auto_increment,
  `bo_table` varchar(20) collate utf8_unicode_ci NOT NULL,
  `wr_id` int(11) unsigned NOT NULL default '0',
  `theme` varchar(40) collate utf8_unicode_ci NOT NULL,
  PRIMARY KEY  (`s_no`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

-- --------------------------------------------------------

📌xeyoom.extend.php 파일 내 // 짧은주소 적용 주석처리함
📌이윰빌더 메뉴 링크로 부터 메뉴속성 추출하기 증 짧은글 주소(?t=파일명)가 포함되었을 경우 오류 수정

끌어올림|2021.08.26 21:46|횟수 2

9
shadow2fox - 회원등급 : 숲/Level 131 - 포인트 : 2,254,011
레벨 131
경험치 2,558,561

Progress Bar 11%

- 가입일 : 2015-03-10 12:21:44
- 서명 : 인간에게 가장 큰 선물은 자기 자신에게 기회를 주는 것이다. - 크리스 가드너, Chris Gardner -
- 자기소개 : There's never a shortcut to happiness.

댓글2

하늘구장님의 댓글

하늘구장 2021.07.02 21:50

추천이요
그누보드에서 짧은주소를 지원하기 때문에 이윰빌더만의 짧은주소는 필요치 않는 것 같아요

축하합니다. 첫 댓글로 7경험치를 획득하였습니다.

내사랑님의 댓글

내사랑 2021.07.03 00:10

동감이에요
저도 잘 사용하겠습니다