Web Study/킴스큐 Rb

[킴스큐 Rb]킴스큐Rb 개발자를 위한 기초 활용노트 - 미리 정의된 함수

파노카페 2012. 9. 28. 19:08

URL: http://www.kimsq.com/?m=forum&bid=devGuide&p=3&uid=17


내용: 

킴스큐Rb는 주로 사용되는 함수들을 목적별로 구분하여 _core/function/ 폴더안에 함수파일로 내장하고 있습니다.

이 중 sys.func.php 는 기본함수 파일로서 모든 곳에서 별도의 정의없이 사용할 수 있으며 나머지 파일들은 목적에 따라 인클루드 후 사용할 수 있습니다.


기본함수 묶음 (sys.func.php)

 

이 함수들은 항상 자동으로 정의되므로 모든 곳에서 사용할 수 있습니다.

매우 자주 사용되는 함수들이므로 숙지할 것을 권합니다.

 

 

// 현재의 타임값을 얻습니다.

string getNowTimes()


// 페이지를 이동시킵니다.

void getLink($url,$target,$alert,$history)

string $url : 주어진 링크로 이동

string $target : $url이 있을 경우 주어진 타겟에 적용

string $alert : 알러트창에 $alert 메세지를 띄움

string/int $history : 값이 있을 경우 history.go($history); 를 실행

 

// 새창을 열면서 페이지를 이동시킵니다.

void getWindow($url,$alert,$option,$backurl,$target)
string $url : 주어진 링크의 창을 띄움

string $alert : 알러트창에 $alert 메세지를 띄움

string $option : 창의 옵션

string $backurl : 창을 띄울때 이동시킬 주소

string $target : $backurl이 있을 경우 주어진 타겟에 적용


// 검색을 위한 SQL코드를 얻습니다.

string getSearchSql($w,$k,$ik,$h)
string $w : 검색할 필드(복수일 경우 | 으로 구분)s

string $k : 검색어

string $ik : 검색결과내 검색어

string $h : 검색방식(or , and , not)

 

// 페이징영역을 출력합니다.

void getPageLink($lnum,$p,$tpage,$img)

int $lnum : 넘버출력수

int $p : 현재페이지

int $tpage : 총페이지수

string $img : 이미지경로

 

// 문자열을 지정된 글자수에서 끊습니다.

string getStrCut($long_str,$cutting_len,$cutting_str)

string $long_str : 끊을 문자열

int $cutting_len : 끊을글자수

string $cutting_str : 끊겼을 경우 마지막에 붙힐 문자열

 

// 파라미터값으로 링크주소를 얻습니다.

string getLinkFilter($default,$arr)

string $default : 기본링크

array $arr : 링크에 추가할 파라미터


// 총페이지 수를 얻습니다.

int getTotalPage($num,$rec)

int $num : 총갯수

int $rec : 한페이지에 출력시킬 갯수

 

// 날짜값으로 날짜포맷을 얻습니다.
string getDateFormat($d,$f)

string $d : 날짜코드(YYYYMMDDHHIISS)

string $f : date 포맷


// 지정된 날짜값에 특정시간을 가감한 날짜포맷을 얻습니다.
string getDateCal($f,$d,$h)

string $f : date 포맷

string $d : 날짜코드(YYYYMMDDHHIISS)

int $h : 조정시간


// $date 배열을 구합니다.
string getVDate($t)

int $t : 조정시간

 

// 지정된 날짜까지 남은날짜를 얻습니다.
int getRemainDate($d)

string $d : 날짜코드(YYYYMMDDHHIISS)

 

// 지난시간을 얻습니다.
array getOverTime($d1,$d2)

string $d1 : 현재시간

string $d2 : 비교시간

 

// 요일을 얻습니다.
string getWeekday($n)

int $h : 요일값

 

// 지정된 범위내에 포함되는 시간인지 구합니다.
boolean getNew($time,$term)

string $time : 비교시간(YYYYMMDDHHIISS)

int $term : 비교기간(H단위)

 

// 백분율을 구합니다.
float getPercent($a,$b,$flag)

int $a : 대상수량

int $b : 총수량

int $flag : 소수점이하 갯수


// 문자열을 필터링하여 숫자로 만듭니다.
int filterstr($str)

string $str : 문자열

 

// 문자열을 지정된 문자로 복사합니다.
string strCopy($str1,$str2)

string $str1 : 대상문자열

string $str2 : 복사할문자

 

// 출력내용을 필터링합니다.
string getContents($str,$html)

string $str : 문자열

sting $html : HTML/TEXT 구분

 

// 쿠키에 기록된 지정배열의 인자를 얻습니다.
string getArra$ck,$split,$n)

string $ck : 쿠키데이터

string $split : 구분자

int $n : 반환할 배열순번

 

// 대괄호형 코드를 배열로 얻습니다.
array getArrayString($str)

string $str : 문자열 [n1][n2]...[nn] 형식

 

// 성별을 얻습니다.
string getSex($flag)

int $flag : 구분키 (1=남,2=여)

 

// 생일을 나이로 얻습니다.
int getAge($birth)

int $birth : 생년월일

 

//나이를  출생년도로 얻습니다.
int getAgeToYear($age)
int $age : 나이

 

// 사이즈를 GB/MB/KB/B 로 구합니다.
float getSizeFormat($size,$flag)
int $site : 바이트값

int $flag : 소수점 이하단위

 

// 파일의 확장자로 파일의 형식을 얻습니다.
int getFileType($ext)
string $ext : 확장자

 

// 파일명에서 확장자를 얻습니다.
string getExt($name)
string $name : 파일명

 

// 문자열에서 이미지를 추출합니다.
array getImgs($code,$type) 
string $code : 문자열

string $type : 확장자 (복수일 경우 | 으로 구분)

 

// 썸네일 이미지를 찾습니다.
string getThumbImg($img)
string $img : 이미지주소

 

// 내용물에 삽입된 이미지를 찾습니다.

string getUploadImage($upfiles,$d,$content,$ext)
string $upfiles : 내용에 삽입된 첨부파일코드

string $d : 첨부날짜

string $content : 내용물

string $ext : 내용물에서 임의로 추려낼 확장자 (복수일 경우 | 으로 구분)

 

// 주소에서 도메인을 얻습니다.
string getDomain($url)
string $url : url

 

// 주소에서 키워드를 얻습니다.
string getKeyword($url)
string $url : 검색어를 추출할 url

 

// 주소에서 검색엔진을 얻습니다.
string getSearchEngine($url)
string $url : url

 

//에이젼트로 브라우져를 얻습니다.
string getBrowzer($agent)
string $agent : 에이젼트

 

// 파일명으로 소속폴더명을 얻습니다.
string getFolderName($file)
string $file : 파일경로

 

// euc-kr -> utf-8

function getKRtoUTF($str)
string $str : 대상문자열

 

// utf-8 -> euc-kr

function getUTFtoKR($str)
string $str : 대상문자열

 

// utf-8 -> utf-8

function getUTFtoUTF($str)
string $str : 대상문자열

 

// 관리자 여부를 체크합니다.
void checkAdmin($n)
string $n : 관리자가 아닐 경우 이동시킬 history 값

 

// 모바일접속 여부를 체크하고 모바일os종류를 얻습니다.
string isMobileConnect($agent)
string $agent : 에이젼트

 

// 주소를 rewrite 적용여부에 따라 처리합니다.
string RW($rewrite)
string $rewrite : rewrite 적용전 코드

 

// 동기화코드를 주소로 변환합니다.
string getCyncUrl($cync)
string $cync : 동기화코드

 

// 게시물데이터를 게시물주소로 변환합니다.
string getPostLink($arr)
array $arr : 게시물데이터 배열

 

// 위젯을 출력합니다.
void getWidget($widget,$wdgvar)
string $widget : 위젯코드

array $widgvar : 위젯변수

 

 

 

 

 

 

기타 함수들

 

이 함수들은 각각 정의된 함수파일을 미리 인클루드해 주어야 사용할 수 있습니다.

다음과 같이 인클루드를 해준 후 사용하세요.

 

include_once $g['path_core'].'function/목적별.func.php';

 

 

 

// 디렉토리를 복사합니다.(dir.func.php)

vod DirCopy($dir1 , $dir2)

string $dir1 : 복사할 디렉토리경로

string $dir2 : 복사될 디렉토리경로


// 디렉토리를 삭제합니다.(dir.func.php)
vod DirDelete($t_dir)

string $t_dir : 삭제할 디렉토리경로


// 디렉토리내의 파일사이즈와 파일갯수를 얻습니다.(dir.func.php)
array DirSizeNum($t_dir)

string $t_dir : 디렉토리경로


// 퍼미션을 변경합니다.(dir.func.php)
void DirChmod($t_dir,$mode)

string $t_dir : 디렉토리경로

int $mod : 퍼미션


// 디렉토리를 압축합니다.(dir.func.php)
void DirZip($t_dir,$n_dir,$zipfile)

string $d_dir : 압축할 디렉토리경로

string $n_dir : 현재 디렉토리경로

object $zipfile : 압축객체

이 함수를 사용하려면 반드시 다음의 코드가 미리 선언되어야 합니다.

require $g['path_core'].'function/zip.class.php';

$zipfile = new zipfile();


// 디렉토리를 생성합니다.(dir.func.php)
function DirMake($dir)

string $dir : 생성할 디렉토리경로

 

// 이메일을 전송합니다.(email.func.php)
boolean getSendMail($to,$from,$subject,$content,$html) 
string $to : 받는사람

string $from : 보내는사람

string $subject : 제목

string $content : 내용

string $html : 내용의 HTML여부(HTML/TEXT)

 

// 문자열에 포함된 주소에 링크를 겁니다.(autolink.func.php)

string getAutoLink($str)

string $str : 문자열

 

// tree.js에서 사용가능한 트리메뉴용 코드를 생성합니다.(menu.func.php)
void getMenuShow($site,$table,$j,$parent,$depth,$uid,$CXA,$hidden)

int $site : 사이트 UID

string $table : 메뉴 테이블명

static int $j : 재귀호출 구분코드

int $parent : 부모메뉴 UID

int $depth : 메뉴깊이

int $uid : 현재메뉴 UID

array $CXA : 메뉴경로의 배열값

string $code : 메뉴코드


// 메뉴코드를 로케이션 경로로 변환합니다.(menu.func.php)
array getMenuCodeToPath($table,$cat,$j)

string $table : 메뉴 테이블명

int $cat : 선택메뉴 UID

static int $j : 재귀호출 구분코드


// 메뉴코드를 검색용 SQL로 변환합니다.(menu.func.php)
string getMenuCodeToSql($table,$cat,$f)

string $table : 메뉴 테이블명

int $cat : 선택메뉴 UID

string $f : 지정필드

 

// 카테고리를 콤보박스 형식으로 출력합니다.(menu1.func.php)
void getMenuShowSelect($site,$table,$j,$parent,$depth,$uid,$hidden,$id)

int $site : 사이트 UID

string $table : 메뉴 테이블명

static int $j : 재귀호출 구분코드

int $parent : 부모메뉴 UID

int $depth : 메뉴깊이

int $uid : 현재메뉴 UID

int $hidden : 숨김메뉴 출력여부

string $id : 메뉴코드

 

// 메뉴데이터를 XML파일로 출력/저장합니다.(menu.dump.func.php)
void getMenuXml($site,$table,$j,$parent,$depth,$uid,$code)

int $site : 사이트 UID

string $table : 메뉴 테이블명

static int $j : 재귀호출 구분코드

int $parent : 부모메뉴 UID

int $depth : 메뉴깊이

int $uid : 현재메뉴 UID

string $code : 메뉴코드


// 메뉴데이터를 엑셀파일로 저장합니다.(menu.dump.func.php)

void getMenuXls($site,$table,$j,$parent,$depth,$uid,$mset,$code)

int $site : 사이트 UID

string $table : 메뉴 테이블명

static int $j : 재귀호출 구분코드

int $parent : 부모메뉴 UID

int $depth : 메뉴깊이

int $uid : 현재메뉴 UID

array $mset : 메뉴형식

string $code : 메뉴코드

 

// 메뉴데이터를 텍스트파일로 저장합니다.(menu.dump.func.php)
void getMenuTxt($site,$table,$j,$parent,$depth,$uid,$code)

int $site : 사이트 UID

string $table : 메뉴 테이블명

static int $j : 재귀호출 구분코드

int $parent : 부모메뉴 UID

int $depth : 메뉴깊이

int $uid : 현재메뉴 UID

string $code : 메뉴코드

 

// URL에서 XML데이터를 얻습니다.(rss.func.php)

string getUrlData($url,$sec)

string $url : 주소

int $sec : 연결시도 시간(초)

 

// URL에서 XML데이터를 얻고 지정된 태그로 분리한 배열을 얻습니다.(rss.func.php)

array getRssArray($url,$tag)

string $url : 주소

string $tag : 태그

 

// 문자열에서 태그에 해당되는 문자열을 얻습니다.(rss.func.php)

string getRssTagValue($str,$tag)

string $str : 문자열

string $tag : 태그

 

// 문자열에서 태그에 해당되는 타이틀을 얻습니다.(rss.func.php)
string getRssPageTitle($str,$tag)

string $str : 문자열

string $tag : 태그

 

// 문자열에서 태그에 해다오디는 내용을 얻습니다.(rss.func.php)
string getRssContent($str,$tag)

string $str : 문자열

string $tag : 태그

 

// 주소에서 도메인을 얻습니다.(rss.func.php)
string getRssDomain($url)

string $url : 주소


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


변수명이나 함수명을 선언할 때 영어 단어의 선택이나 조합이 아쉬운 부분이 있다. 코드를 혼자만 보면 상관이 없겠으나 함께 공유하는 오픈 소스의 경우 최대한 다른 사람들도 변수명/함수명만 보고 뜻을 유추할 수 있는 것이 중요한데 아직 킴스큐는 그런 부분에서는 분명히 아쉬운 점이 있다. 걱정되는 점은 버전 업데이트 할 때 그때 네이밍 룰을 바꿔서 업데이트 하면 기존 버전과 호환성 문제가 발생하지 않을까하는 것이다. DB 테이블명 필드 명도 오타나 일관성이 결여되는 부분이 있는데 빠른 시일내에 보완이 되었으면 좋겠다.