주요변수 및 함수
1. 개요
Rb는 익스텐션들의 개발에 필요한 주요변수와 함수들을 포함하고 있습니다. 익스텐션을 개발하면서 필요에 따라서 직접 추가할 수도 있지만 이미 포함된 Rb 전용 변수와 함수들을 사용하면 더 쉽게 접근할 수 있습니다.
다음은 Rb내에서 사용할 수 있는 가장 기본적인 변수와 함수들입니다.
2. 주요변수
$r = '사이트코드';
$_HS['id'] 와 동일
$s = '사이트 UID';
$_HS['uid'] 와 동일
$m = '모듈 아이디(폴더명)';
$_HMD['id'] 와 동일
$a = '액션요청';
$c = '메뉴코드';
depth 가 있을 경우 메뉴코드1/메뉴코드2/메뉴코드3 과 같은 형식으로 슬래쉬(/)로 구분됨
$p = '페이지번호';
$mod = '페이지코드';
$module = '관리자페이지에서 호출되는 모듈아이디';
$MD['id'] 와 동일
Array ( [path_root] => ./ [path_core] => ./_core/ [path_var] => ./_var/ [path_tmp] => ./_tmp/ [path_layout] => ./layouts/ [path_module] => ./modules/ [path_widget] => ./widgets/ [path_switch] => ./switches/ [path_plugin] => ./plugins/ [path_page] => ./pages/ [path_file] => ./files/ [time_split] => Array ( [0] => 0.97734500 [1] => 1679364664 ) [time_start] => 1679364664.9773 [time_srnad] => 1679364664977345 [sysvar] => ./_var//system.var.php [url_file] => [url_host] => https://kimsq.com [url_http] => https://kimsq.com [url_sslp] => https://kimsq.com [url_root] => https://kimsq.com [ssl_root] => https://kimsq.com [mobile] => [device] => [broswer] => [deviceType] => desktop [s] => [r] => /docs [img_core] => /_core/images [meta_tit] => [meta_key] => [meta_des] => [meta_bot] => ALL [meta_img] => /_core/images/noimage_kimsq.png [sys_module] => site [sys_action] => [switch_1] => Array ( ) [switch_2] => Array ( ) [switch_3] => Array ( ) [switch_4] => Array ( ) [memberVarForSite] => ./_var/site/docs/member.var.php [postVarForSite] => ./_var/site/docs/post.var.php [bbsVarForSite] => ./_var/site/docs/bbs.var.php [commentVarForSite] => ./_var/site/docs/comment.var.php [pwa_supported] => 1 [push_active] => 1 [displaySet] => Array ( [label] => Array ( [0] => [1] => 비공개 [2] => 일부공개 [3] => 미등록 [4] => 회원공개 [5] => 전체공개 ) [icon] => Array ( [0] => [1] => lock [2] => how_to_reg [3] => insert_link [4] => people_alt [5] => public ) ) [dir_module] => ./modules/site/ [url_module] => /modules/site [url_var] => /_var [dir_var_site] => ./_var/site/docs/ [url_var_site] => /_var/site/docs [location] => [browtitle] => 주요변수 및 함수 | 도움말 [dir_module_skin] => ./pages/docs-menus/ [url_module_skin] => /pages/docs-menus [img_module_skin] => /pages/docs-menus/images [dir_module_mode] => ./pages/docs-menus/function [url_module_mode] => /pages/docs-menus/function [main] => ./pages/docs-menus/function.php [dir_layout] => ./layouts/bs4-kimsqcom/ [url_layout] => /layouts/bs4-kimsqcom [img_layout] => /layouts/bs4-kimsqcom/_images [layoutVarForSite] => ./_var/site/docs/layout.bs4-kimsqcom.var.php [manifestForSite] => ./_var/site/docs/manifest.json [url_manifest] => /_var/site/docs/manifest.json [grade] => Array ( [m1] => 비기너 [m2] => 비기너 [m3] => 비기너 [m4] => 비기너 [m5] => 비기너+ [m6] => 비기너+ [m7] => 비기너+ [m8] => 비기너++ [m9] => 비기너++ [m10] => 비기너++ [m11] => 파워유저 [m12] => 파워유저 [m13] => 파워유저 [m14] => 파워유저+ [m15] => 파워유저+ [m16] => 파워유저+ [m17] => 파워유저+ [m18] => 파워유저++ [m19] => 파워유저++ [m20] => 파워유저++ [m21] => 엑스퍼트 [m22] => 엑스퍼트 [m23] => 엑스퍼트 [m24] => 엑스퍼트 [m25] => 엑스퍼트 [m26] => 엑스퍼트+ [m27] => 엑스퍼트+ [m28] => 엑스퍼트+ [m29] => 엑스퍼트++ [m30] => 엑스퍼트++ ) [incdir] => ./layouts/bs4-kimsqcom/_includes/ [wcache] => [cssset] => Array ( [./modules/site/_main] => /modules/site/_main [./pages/docs-menus/_main] => /pages/docs-menus/_main [] => [./pages/docs-menus/function] => /pages/docs-menus/function ) [widget_cssjs] => [codhead] => ./pages/docs-menus/function.header.php )
Array ( [switch] => Array ( [start] => Array ( [filterip] => ) [foot] => Array ( [popup] => [home] ) [end] => Array ( [visitorcheck] => ) ) [ov] => Array ( [is-loading] => 1.0.6 [smooth-scroll] => 16.1.0 [codemirror] => 5.37.0 [photoswipe] => 4.0.6 [swiper] => 4.5.0 [rc] => 1.0.0 [autosize] => 3.0.14 [jquery-markdown] => 0.0.10 [nestable] => 1.0 [mediaelement] => 4.1.3 [bootstrap-tagsinput] => 0.7.1 [jquery-form] => 4.2.2 [snap] => 1.9.3 [bootstrap-switch] => 3.0.2 [clipboard] => 2.0.4 [bootstrap] => 4.1.0 [bootstrap-maxlength] => 1.5.5 [font-awesome] => 4.7.0 [popper.js] => 1.14.0 [summernote] => 0.8.9 [bootstrap-datepicker] => 1.3.0 [bootstrap-colorpicker] => 2.0.0-beta3 [jquery] => 3.3.1 [js-cookie] => 2.2.1 [jquery-timeago] => 1.6.7 [bootstrap-validator] => 0.5.0 [simplemde] => 1.11.2 [font-kimsq] => 1.0.0 [bootstrap-notify] => 3.1.3 [ckeditor5] => 21.0.0 ) [admin] => Array ( [version] => 2.4.5.24 [themepc] => kimsq-white [pannellink] => kimsq-light.css [cache_flag] => [smtp_host] => [smtp_port] => 465 [smtp_auth] => [smtp_user] => [smtp_pass] => [ftp_use] => [ftp_type] => [ftp_host] => [ftp_port] => 21 [ftp_pasv] => [ftp_user] => [ftp_pass] => [smtp_use] => 1 [email] => 1 [smtp] => 1 [ftp] => [ftp_rb] => [http_port] => [ssl_type] => [ssl_port] => [ssl_menu] => [ssl_page] => [ssl_bbs] => [ssl_module] => [secu_tags] => img[src|alt|title|width|height|style], figure[class], figcaption, oembed[url], video[src|type|width|height|poster|preload|controls], source[src|type], a[href|target], iframe[width|height|src|frameborder|allowfullscreen], strong, b, i, s, mark, code, u, em, br, font, h1[style], h2[style], h3[style], h4[style], h5[style], h6[style], p[style], div[style], center, address[style], span[style], pre[style], ul, ol, li, table[width|height|border|style], th[width|height|border|style], tr[width|height|border|style], td[width|height|border|style], hr, blockquote [secu_flash] => [secu_domain] => youtube.com,vimeo.com, [secu_param] => ;a=,&a=,?a=,m=admin,system=, [smtp_ssl] => [uninstall] => [dblclick] => 1 [editor] => ckeditor5 [syslang] => DEFAULT [sysmail] => noreply@kimsq.com [sysmodule] => site [codeeidt] => monokai [sms_tel] => [sms_id] => [sms_key] => [fcm_key] => AAAAY1nJHcA:APA91bES_2dhJ-x40GBRecR4UTR9758gTSsyZsCPoB2oQMMtBVvRbFO8PbOWAjvqy3F83kq1VOEzd2HBYqFSZYv4HngzbW5qIt9ducamus74xfzb9Ot5tl8VMnNxl-eEeoP2YS_B_NzS [fcm_SenderId] => 426708114880 [fcm_VAPID] => BJJ5xs0t0LOQP-05SIOdSHKvvDHNQ3FaEhmWPlxzJGQnMEmZ89UcQqyftSqS5CoauLIidLwJz5y70lpspQcCWlY [site_cutid] => admin,logout,files,dashboard,post,avatar,cover,list [mailer] => ses [ses_key] => AKIAU753OV45TDL5REFJ [ses_sec] => 89rcxDwgO7yAnGUBOJUPkLsh/MzyNCUcx41qqiLk [ses_region] => ap-northeast-2 ) [member] => Array ( [theme_main] => _desktop/bs4-kimsqpotal [theme_mobile] => _mobile/rc-default [sosokmenu_join] => [sosokmenu_login] => [sosokmenu_profile] => [sosokmenu_settings] => [sosokmenu_saved] => [sosokmenu_noti] => [login_emailid] => 1 [login_social] => [login_expire] => 15 [login_cookie] => 1 [login_ssl] => [join_enable] => 1 [join_byEmail] => 1 [join_byPhone] => [join_bySocial] => [join_auth] => 3 [join_out] => 2 [join_rejoin] => 1 [join_level] => 1 [join_group] => 1 [join_point] => 1000 [join_pointmsg] => [가입축하포인트]회원가입을 축하합니다. [join_cutid] => admin,root,webmaster [join_cutnic] => 관리자,운영자,마스터,웹마스터 [join_cutemail] => [join_cutphone] => [join_email] => notifications@kimsq.com [join_tel] => [join_email_send] => 1 [join_noti_send] => 1 [join_keyexpire] => 30 [join_daysms] => 2 [join_joint_privacy] => [join_joint_policy] => [form_join_avatar] => [form_join_bio] => [form_join_home] => [form_join_phone] => [form_join_tel] => [form_join_location] => [form_join_job] => [form_join_marr] => [form_join_add] => [form_join_avatar_required] => [form_join_bio_required] => [form_join_home_required] => [form_join_phone_required] => [form_join_tel_required] => [form_join_location_required] => [form_join_job_required] => [form_join_marr_required] => [form_join_nic] => [form_join_nic_required] => [form_join_birth] => [form_join_birth_required] => [form_join_sex] => [form_join_sex_required] => [form_join_add_required] => [form_settings_nic] => 1 [form_settings_email_profile] => 1 [form_settings_birth] => [form_settings_sex] => [form_settings_avatar] => 1 [form_settings_bio] => 1 [form_settings_home] => [form_settings_phone] => [form_settings_tel] => [form_settings_location] => [form_settings_job] => [form_settings_marr] => [form_settings_add] => [form_settings_nic_required] => [form_settings_email_profile_required] => [form_settings_birth_required] => [form_settings_sex_required] => [form_settings_avatar_required] => [form_settings_bio_required] => [form_settings_home_required] => [form_settings_phone_required] => [form_settings_tel_required] => [form_settings_location_required] => [form_settings_job_required] => [form_settings_marr_required] => [form_settings_add_required] => [settings_expire] => 30 [settings_keyexpire] => 30 [mytab_post] => [mytab_comment] => [mytab_oneline] => [mytab_avatar] => [mytab_covimg] => [mytab_scrap] => [mytab_friend] => [mytab_paper] => [mytab_point] => [mytab_log] => [mytab_info] => [mytab_pw] => [mytab_out] => [mytab_recnum] => ) [post] => Array ( [layout] => bs4-kimsqcom/default.php [m_layout] => rc-starter/blank-drawer.php [skin_main] => _desktop/bs4-kimsqcom [skin_mobile] => _mobile/rc-default [comment_main] => [comment_mobile] => [perm_g_write] => [perm_l_write] => 30 [perm_g_category] => [perm_l_category] => 1 [perm_g_goods] => [perm_l_goods] => 1 [denylikemy] => [hitcount] => 0 [badword] => [badword_action] => 0 [badword_escape] => [singo_del] => [singo_del_num] => [singo_del_act] => 1 [recnum] => 15 [rownum] => 4 [newtime] => 12 [writeperm] => [categoryperm] => [goodsperm] => ) [bbs] => Array ( [layout] => [m_layout] => rc-starter/blank-drawer.php [skin_main] => _desktop/bs4-default [skin_mobile] => _mobile/rc-default [skin_total] => _desktop/bs4-default [editor_main] => ckeditor5 [editor_mobile] => [attach_main] => _desktop/bs4-default-attach [attach_mobile] => _mobile/rc-post-file [comment_main] => _desktop/bs4-default [comment_mobile] => _mobile/rc-default [rss] => [restr] => RE : [denylikemy] => [replydel] => [commentdel] => [badword] => 바보,병신,멍청이, [badword_action] => 1 [badword_escape] => * [singo_del] => 1 [singo_del_num] => 10 [singo_del_act] => 2 [recnum] => 15 [sbjcut] => 35 [newtime] => 24 ) [comment] => Array ( [skin_main] => _desktop/bs4-default [skin_mobile] => _mobile/rc-default [skin_total] => _desktop/bs4-default [rss] => [restr] => [commentdel] => 1 [badword] => 바보,병신 [badword_action] => 2 [badword_escape] => * [report_del] => [report_del_num] => [report_del_act] => 1 [recnum] => 20 [newtime] => 24 [give_point] => [give_opoint] => ) [displaySet] => ||비공개,lock||일부공개,how_to_reg||미등록,insert_link||회원공개,people_alt||전체공개,public [page] => Array ( [cctime] => ./pages/docs-menus/function.txt [source] => ./pages/docs-menus/function.php ) [layout] => Array ( [php] => bs4-kimsqcom/docs_tree.php [dir] => bs4-kimsqcom [header_type] => type1 [header_title] => 마이홈 [header_logo] => [header_logo_size] => 70 [header_logo_position] => 0 [header_position] => static [header_container] => container [header_menu] => dropdown-hover [header_menu_limit] => 3 [header_allcat] => false [header_search] => button [header_login] => true [footer_container] => container [footer_type] => type1 [footer_theme] => white [home_type] => postAllFeed [home_container] => container [home_dashboard] => false [default_container] => container [default_bgcolor] => bg-white [default_breadcrumb] => false [default_titlebar] => type1 [default_menutitle] => type1 [sidebar_container] => container [sidebar_bgcolor] => bg-white [sidebar_breadcrumb] => false [sidebar_titlebar] => false [sidebar_menutitle] => type1 [docs_container] => container [docs_bgcolor] => bg-light [docs_footer] => type3 [company_name] => 파머스코드 [company_ceo] => 권기택 [company_num] => 759-21-01090 [company_num2] => [company_manager] => 권기택 [company_addr] => [contact_tel] => 1234-1234 [contact_email] => farmerscoding@gmail.com [contact_fax] => 02-123-4567 [contact_hours] => 월-금 9:00-18:00 / 주말, 공휴일 휴무 [sns_youtube] => [sns_instagram] => [sns_facebook] => [sns_nblog] => ) [cachetime] => 0 [location] => )
Array ( [uid] => 사이트 UID = $s [gid] => 사이트 GID (출력순서) [id] => 사이트코드 = $r [name] => 사이트명(라벨) [title] => 타이틀 구성코드 [titlefix] => 타이틀 고정(고정일 경우 1) [icon] => 사이트 아이콘 class [layout] => 레이아웃 [startpage] => 메인 페이지(미지정시 레이아웃 포함 메인페이지로 대체) [m_layout] => 레이아웃(Mobile Only) [m_startpage] => 메인 페이지 - Mobile Only (미지정시 레이아웃 포함 메인페이지로 대체) [lang] => 사이트 지정언어 [open] => 서비스 상태 [dtd] => 구글 웹로그 아이디 [nametype] => 이름출력 형식 [timecal] => 시간조정값 [rewrite] => rewrite 사용여부 [buffer] => 버퍼전송 사용여부 [usescode] => 사이트코드 사용여부 [headercode] => 사이트용 헤더코드 [footercode] => 사이트용 풋터코드 )
Array ( [uid] => 메뉴 UID [gid] => 메뉴 GID (출력순서) [site] => 사이트 UID [is_child] => 자식메뉴 존재여부 [parent] => 부모메뉴 UID [depth] => 메뉴깊이 [id] => 메뉴코드(아이디) [menutype] => 메뉴형식 [mobile] => 모바일페이지 메뉴 출력옵션 [hidden] => 메뉴숨김 [reject] => 메뉴차단 [name] => 메뉴명 [target] => 메뉴링크시 TARGET [redirect] => 메뉴형식 모듈콘텐츠일 경우 리다이렉트 옵션 [joint] => 메뉴형식 모듈콘텐츠일 경우 연결모듈 URL [perm_g] => 차단 회원그룹 [perm_l] => 허용 회원레벨 [layout] => 레이아웃 [imghead] => 헤더 이미지 [imgfoot] => 풋터 이미지 [addattr] => 메뉴링크 추가속성 [num] => 메뉴에 등록된 콘텐츠수 [d_last] => 최근 업데이트 [addinfo] => 추가데이터 [mediaset] => 미디어셋 코드 )
Array ( [uid] => 메뉴 UID [gid] => 메뉴 GID (출력순서) [site] => 사이트 UID [is_child] => 자식메뉴 존재여부 [parent] => 부모메뉴 UID [depth] => 메뉴깊이 [id] => 메뉴코드(아이디) [menutype] => 메뉴형식 [mobile] => 모바일페이지 메뉴 출력옵션 [hidden] => 메뉴숨김 [reject] => 메뉴차단 [name] => 메뉴명 [target] => 메뉴링크시 TARGET [redirect] => 메뉴형식 모듈콘텐츠일 경우 리다이렉트 옵션 [joint] => 메뉴형식 모듈콘텐츠일 경우 연결모듈 URL [perm_g] => 차단 회원그룹 [perm_l] => 허용 회원레벨 [layout] => 레이아웃 [imghead] => 헤더 이미지 [imgfoot] => 풋터 이미지 [addattr] => 메뉴링크 추가속성 [num] => 메뉴에 등록된 콘텐츠수 [d_last] => 최근 업데이트 [addinfo] => 추가데이터 [mediaset] => 미디어셋 코드 )
Array ( [uid] => 페이지 UID [site] => 사이트 UID [pagetype] => 페이지형식 [ismain] => 메인 페이지용 페이지여부 [mobile] => 모바일 페이지용 페이지여부 [id] => 페이지 코드 [category] => 페이지 분류 [name] => 페이지명 [perm_g] => 차단 회원그룹 [perm_l] => 허용 회원레벨 [layout] => 레이아웃 [joint] => 페이지형식 모듈콘텐츠일 경우 연결모듈 URL [hit] => 조회수 [linkedmenu] => 소속메뉴 [d_regis] => 등록일시 [d_update] => 최근 수정일시 [mediaset] => 미디어셋 코드 )
Array ( [uid] => SEO UID [rel] => 연결관계(0 = 사이트 , 1 = 메뉴 , 2 = 페이지) [parent] => 연결 UID [title] => meta title [keywords] => meta keywords [description] => meta description [classification] => meta robots [image_src] => link rel [replyto] => 사용안됨 [language] => 사용안됨 [build] => 사용안됨 )
Array ( [gid] => 모듈 출력순서 [system] => 시스템모듈 여부 [hidden] => 관리패널 출력여부 [mobile] => 모바일페이지 출력여부 [name] => 모듈명 [id] => 모듈아디디 [tblnum] => TABLE 생성수 [icon] => 모듈 아이콘 class [d_regis] => 모듈등록일시 [lang] => 모듈 전용언어 )
Array ( [uid] => 회원 UID = memberuid 와 동일 [site] => 가입 사이트 UID [id] => 아이디 [pw] => 패스워드 [memberuid] => 회원 UID [auth] => 가입상태 [mygroup] => 소속그룹 [level] => 레벨 [comp] => 기업회원 여부 [admin] => 관리자 여부 [adm_view] => 과리자일 경우 차단페이지 [email] => 이메일 [name] => 이름 [nic] => 닉네임 [grade] => 등급 [photo] => 아바타 [home] => 홈페이지 [sex] => 성별 [birth1] => 생일(년) [birth2] => 생일(월일) [birthtype] => 양/음력 [tel1] => 전화번호 [tel2] => 휴대폰 [zip] => 우편번호 [addr0] => 주소(광역단체) [addr1] => 주소1 [addr2] => 주소2 [job] => 직업 [marr1] => 결혼기념일(년) [marr2] => 결혼기념일(월일) [sms] => 문자수신 여부 [mailing] => 이메일수신 여부 [smail] => 이메일 수신실패 이력 [point] => 현재 보유 포인트 [usepoint] => 누적 사용 포인트 [money] => 현재 보유 적립금 [cash] => 현재 보유 예치금 [num_login] => 누적 로그인 수 [pw_q] => 패스워드 찾기 질문 [pw_a] => 패스워드 찾기 답변 [now_log] => 현재 로그인 여부 [last_log] => 최종 로그인 일시 [last_pw] => 최종 패스워드 변경일 [is_paper] => 새 쪽지 수시 여부 [d_regis] => 회원가입 일시 [tmpcode] => 임시코드 [sns] => SNS 연결코드 [noticeconf] => 알림 설정데이터 [num_notice] => 새 알림 수 [addfield] => 여분필드 )
메뉴코드가 Docs/Dev/Module 일 경우 다음과 같이 담깁니다. 메뉴 Depth에는 제한이 없습니다.
Array ( [0] => Docs [1] => Dev [2] => Module )
Array ( ['totime'] => YYYYmmddHHiiss ['year'] => YYYY ['month'] => YYYYmm ['today'] => YYYYmmdd ['nhour'] => YYYYmmddHH ['tohour'] => HHiiss ['toweek'] => w )
$DB = array();
DB 연결정보 데이터를 담는 배열
$table = array();
DB table 데이터를 담는 배열
3. 주요함수
Rb의 내장함수들은 _core/function/ 폴더내의 파일들에 포함되어 있습니다. 이중 sys.func.php 에서 정의된 함수들은 별도의 인클루드 없이 아무곳에서나 사용할 수 있으며 그외의 함수들은 반드시 사용하고자 하는 곳에서 해당 함수파일을 인클루드 후 사용해야 합니다.
예를들어 이메일 전송을 위해 getSendMail()
함수를 사용하려면 <?php include $g['path_core'].'function/email.func.php'?>
처럼 인클루드가 선행되어야 합니다.
4. _core/function/sys.func.php 의 이해
다음은 sys.func.php 파일입니다. 이 파일에서 정의된 함수들은 매우 빈번하게 사용되기 때문에 숙지하시길 권장합니다.