Skip to content

File common.function.php

Prev edited this page Nov 7, 2013 · 6 revisions

소개

각종 유용한 함수들을 모아둔 파일입니다. engine-pmc/lib/functions에 위치하고 있습니다.

함수

var_dump2(mixed $obj)

var_dump($obj) 함수를 개조한 함수

<pre> 태그가 붙어 소스보기를 안해도 들여쓰기와 줄바꿈이 자동으로 표시되며 DEBUG_MODE시 코드가 하이라이팅되어 표시됨

===========================

getContent([string $moduleID=NULL, string $moduleAction=NULL, object $queryParam=NULL])

모듈의 내용을 가져옴, 다중 모듈 이용시 사용

Context::getModuleContent 메소드와 같으며 $moduleID, $moduleAction 미지정시 글로벌 모듈의 내용을 반환함

===========================

getMenuTag(int $level[, bool $noDeco=true])

menu의 내용을 html

  • 로 가공한 내용을 반환함

    #####Parameter

    • $level 가져올 메뉴의 level을 정의함
    • $noDeco 는
    • 태그 밑 태그에서 class="no-deco" 를 사용할지 말지 결정

    ===========================

    getFilePathClear(string $path)

    C:\\APM_Setup\\pmc/lib/classes/Context.class.php 등의 지저분한 URL을 /lib/classes/Context.class.php 처럼 깨끗하게 정리하여 출력

    #####Parameter

    • $path 원본 경로

    ===========================

    getUpperPath(string $path)

    상위 디렉토리 폴더를 반환함

    #####Examples

    1. getUpperPath('/modules/index/template/') => '/modules/index/'
    2. getUpperPath('/modules/file') => '/module/'

    #####Parameter

    • $path : 원본 경로

    ===========================

    fillZero(string $str[, int $length=2])

    문자의 길이만큼 빈곳에 0을 집어넣음, 시간표시시 주로 사용

    #####Parameter

    • $length 0을 채워넣을 길이를 정의함

    ===========================

    setCookie2(string $name, string $value, [int $expire=0, boolean $secure=false, boolean $httponly=false])

    최상단 uri, 세션으로 쿠키를 심음

    #####Parameter

    • $name 쿠키 이름
    • $value 쿠키에 넣을 내용 이후 인자들은 setcookie 함수와 동일함

    ===========================

    evalCheckbox(mixed $formData)

    form 데이터 수신시 checkbox 내용 체크

    값이 true 이거나 on 일시 true 반환

    #####Parameter

    • $formData 특정 form data (주로 CheckBox의 값을 반환)

    ===========================

    getRelativeTime(string $time)

    상대적 시간 출력

    ex) 2013-06-23 11:32:12 -> 13분 전

    #####Parameter

    • $time timestamp 값

    ===========================

    getLocale([object $compareLocale=NULL])

    현재 설정 언어 정보를 출력

    #####Parameter

    • $compareLocal 값을 지정시 현재 언어정보와 같은지 비교한 값을 반환

    ===========================

    fetchLocale(object $data)

    언어를 파싱함 (다국어)

    #####Parameter

    • $data object, array, string(json), string(raw) 등이 올 수 있음

    #####Note

    • raw string 값이 올 시 그대로 출력함

    • object: (object) array('en' => 'Freeboard', 'kr' => '자유게시판')

    • array: array('en' => 'Freeboard', 'kr' => '자유게시판')

    • string(json): {"en":"Freeboard", "kr":"자유게시판"}

    • string(raw): "자유게시판"

    ===========================

    readFileContent(string $filePath)

    파일 내용을 모두 읽어서 출력함

    #####Parameter

    • $filePath 순수 파일 경로

    ===========================

    json_encode2(mixed $data)

    json_encode와 비슷

    #####Note 유니코드 값을 \ucXXX 로 치환하지 않으며 json_encode가 구현되지 않은서버에서도 사용할 수 있음

    #####Parameter

    • $data encode 할 데이터

    ===========================

    escape(string $string)

    쿼리 데이터 이스케이프 함수

    ######Note mysql_real_ecape_string과 비슷함

    ===========================

    getUrlData(string $url, string $userAgent=NULL)

    해당 url에서 반환한 값에서 헤더를 잘라낸뒤 출력

    ######Note 데이터 로딩에 실패할시 NULL 반환

    #####Parameter

    • $url 정의된 url으로 http 통신을 한 뒤 결과값을 반환함
    • $userAgent 설정시 해당 userAgent를 첨가하여 송신

    ===========================

    getServerInfo()

    config/server-info.json에서 정의된 현재 서버의 정보를 반환

    ===========================

    getRelativeUrl()

    config/server-info.json 를 기반으로 pmc 엔진의 절대 경로를 반환

    ===========================

    getSessionDomain()

    config/server-info.json 에서 정의된 session_domain을 반환

    ######Note config/server-info.json 에서 정의되지 않을 시 현재의 http_host를 반환

    ===========================

    getUrl([string $module=NULL , string $action=NULL, object $queryParam=NULL, string $url=NULL])

    url 관련 정보를 반환

    #####Parameter

    • $module 정의시 해당 모듈의 절대경로를 반환함
    • $action 정의시 action이 포함된 모듈의 절대경로 반환
    • $queryParame 까지 정의시 module, action 파라미터 뒤에 추가 파라미터값을 넣어 반환
    • $url 까지 정의시 RELAVITE_URL이 아닌 $url을 기반으로 파라미터값을 더해서 반환
    • $url에서 미리 정의된 파라미터 이름과 $queryParam 등에서 정의된 파라미터 이름이 겹칠 시 $queryParam 등에서 정의된 파라미터 값이 우선
    • 우선 순위는 module==action > queryParam > url
    • $module이 NULL일시 #####Parameter $action은 무시됨

    ===========================

    getUrlA(object $queryParam, string $url)

    getUrl함수에서 #####Parameter $module, #####Parameter $action이 빠진 하수

    ===========================

    getCurrentUrl()

    현재 url 반환

    ===========================

    gegRealUrl([$module=NULL])

    실제 url 반환 #####Parameter $module NULL일시 현재 url을 반환하며, NULL이 아닐시 해당 모듈의 실제 url을 반환

    ===========================

    unparse_url(string $parsed_url)

    parse_url()의 역함수, getUrlA 함수에서 쓰임

    #####Parameter

    • $parsed_url 파싱된 url 객체

    ===========================

    arrayToUrlQuery(array $array)

    array('param1' => 'val1', 'param2' => 'val2') 같은 배열을 'param1=val1&param2=val2' 의 string값으로 변환함

    #####Parameter

    • $array url 쿼리로 변경 할 배열

    ===========================

    urlQueryToArray(string $query)

    arrayToUrlQuery() 의 역함수

    #####Note 'param1=val1&param2=val2' 같은 문자열을 array('param1' => 'val1', 'param2' => 'val2') 같은 배열 값으로 변환함

    #####Parameter

    • $query 배열로 변경할 url 쿼리

    ===========================

    getBackUrl()

    뒤로가기등으로 사용할 이전 url을 반환함

    ===========================

    redirect()

    url 리다이렉트

    ===========================

    goLogin()

    로그인 페이지로 이동

    ===========================

    goBack($alertMessage=NULL, $clearContents=false)

    뒤로 이동

    #####Parameter

    • $alertMessage : 정의시 해당 메시지로 경고창을 한번 뛰운 뒤 뒤로 이동
    • $clearContents : true일때 이전 내용을 ob_clean 한 후 뒤로 이동

    ===========================

    getClearFileSize($size)

    파일 사이즈를 예쁘게 출력

    ex) 36KB, 11MB, 5GB

    #####Parameter

    • $size : 파일 크키 (정수형, 단위 : 바이트)

    ===========================

    removeXSS($content)

    XSS 태그 제거

    #####Parameter

    • $content : HTML 콘텐츠
  • Clone this wiki locally