1
0
Fork 0
HANYANG_MES/show_dir/www/ksvc/inc/common.ajax.php

322 lines
10 KiB
PHP

<?php
include_once "{$_SERVER['DOCUMENT_ROOT']}/common.inc.php";
include_once _HOME_INC_PATH_ ."/ajax_init.php";
$apiObj = "";
if( class_exists("SangsengApi") ){
$apiObj = new SangsengApi();
}
$_REQUEST['mode'] = isset($_REQUEST['mode'])?$_REQUEST['mode']:"";
switch ($_REQUEST['mode']) {
case "memberLogin" :
if( csrf_check('memberLogin') ){
$retval['mesg'] = cUtil\Mlang::getText("정상적인 접근이 아닙니다.");
}else if( !$_REQUEST['member_id'] ){
$retval['mesg'] = cUtil\Mlang::getText("아이디를 입력하지 않았습니다.");
}else if( !$_REQUEST['member_auth'] ){
$retval['mesg'] = cUtil\Mlang::getText("비밀번호를 입력하지 않았습니다.");
}else{
$row = $baseObj->login($_REQUEST['member_id'],$_REQUEST['member_auth']);
if( $row ){
if( !array_key_exists($row['member_auth'], array_merge($GLOBALS['_varsAuthMember'],$GLOBALS['_varsAuthAdmin'])) ){
$retval['mesg'] = cUtil\Mlang::getText("아이디나 비밀번호를 확인해 주세요.");
}else if( $row['member_status'] != 1 ){
$retval['mesg'] = cUtil\Mlang::getText("해당 계정은 [{@1}] 상태입니다.", array($GLOBALS['_varsMemStatus'][$row['member_status']]));
}else{
$retval['code'] = 1;
$apiObj && $apiObj->pushApi($_REQUEST['member_id'],"접속");
}
}else{
$retval['mesg'] = cUtil\Mlang::getText("아이디나 비밀번호를 확인해 주세요.");
}
$baseObj->logRec($_REQUEST['member_id'], "service", $retval['code']);
if( $_REQUEST['save_id'] ){
setcookie('kuls_save_session', $_REQUEST['member_id'], strtotime("+1 years"), "/");
}else{
unset($_COOKIE['kuls_save_session']);
}
}
break;
case "memberTokenLogin" :
if( csrf_check('memberLogin') ){
$retval['mesg'] = cUtil\Mlang::getText("정상적인 접근이 아닙니다.");
}else if( !$_REQUEST['member_id'] ){
$retval['mesg'] = cUtil\Mlang::getText("아이디를 입력하지 않았습니다.");
}else if( !$_REQUEST['member_auth'] ){
$retval['mesg'] = cUtil\Mlang::getText("비밀번호를 입력하지 않았습니다.");
}else{
$row = $baseObj->login($_REQUEST['member_id'],$_REQUEST['member_auth']);
if( $row ){
if( !array_key_exists($row['member_auth'], array_merge($GLOBALS['_varsAuthMember'],$GLOBALS['_varsAuthAdmin'])) ){
$retval['mesg'] = cUtil\Mlang::getText("아이디나 비밀번호를 확인해 주세요.");
}else if( $row['member_status'] != 1 ){
$retval['mesg'] = cUtil\Mlang::getText("해당 계정은 [{@1}] 상태입니다.", array($GLOBALS['_varsMemStatus'][$row['member_status']]));
}else{
$retval['code'] = 1;
$apiObj && $apiObj->pushApi($_REQUEST['admin_id'],"접속");
$tkObj = new Token();
$retval['data']['token'] = $tkObj->putToken($_REQUEST['member_id']);
}
}else{
$retval['mesg'] = cUtil\Mlang::getText("아이디나 비밀번호를 확인해 주세요.");
}
$baseObj->logRec($_REQUEST['member_id'], "service", $retval['code']);
if( $_REQUEST['save_id'] ){
$retval['data']['save_id'] = $_REQUEST['member_id'];
}else{
$retval['data']['save_id'] = '';
}
}
break;
case "memberJoin" :
$minfo = $baseObj->getMember($_REQUEST['member_id']);
if( csrf_check('memberJoin') ){
$retval['mesg'] = cUtil\Mlang::getText("정상적인 접근이 아닙니다.");
}else if( !$_REQUEST['member_id'] ){
$retval['mesg'] = cUtil\Mlang::getText("아이디를 입력하지 않았습니다.");
}else if( strlen(preg_replace("/[0-9a-z]/im","",$_REQUEST['member_id'])) > 0 || strlen(preg_replace("/[^0-9a-z]/im","",$_REQUEST['member_id'])) < $GLOBALS['_varsBaseCode']['id_len'] ){
$retval['mesg'] = cUtil\Mlang::getText("아이디는 영문자/숫자 만으로 구성되며, {$GLOBALS['_varsBaseCode']['id_len']}자리 이상이어야 합니다.");
}else if( !$_REQUEST['member_pw'] ){
$retval['mesg'] = cUtil\Mlang::getText("비밀번호를 입력하지 않았습니다.");
}else if( !$_REQUEST['member_pwf'] ){
$retval['mesg'] = cUtil\Mlang::getText("비밀번호 확인을 입력하지 않았습니다.");
}else if( strlen($_REQUEST['member_pw']) < $GLOBALS['_varsBaseCode']['pw_len'] ){
$retval['mesg'] = cUtil\Mlang::getText("비밀번호는 {$GLOBALS['_varsBaseCode']['pw_len']}자 이상이어야 합니다.");
}else if( $_REQUEST['member_pw'] != $_REQUEST['member_pwf'] ){
$retval['mesg'] = cUtil\Mlang::getText("비밀번호가 일치하지 않습니다.");
}else if( $minfo['member_id'] || in_array($_REQUEST['member_id'], array("admin","root")) ){
$retval['mesg'] = cUtil\Mlang::getText("이미 존재하는 아이디 또는 사용 불가능한 아이디 입니다.");
}else if( !$_REQUEST['member_name'] ){
$retval['mesg'] = cUtil\Mlang::getText("관리자명을 입력하지 않았습니다.");
}else{
$ins_row = Array(
"member_id" => $_REQUEST['member_id'],
"member_pw" => $_REQUEST['member_pw'],
"member_name" => $_REQUEST['member_name'],
"member_auth" => "M",
"member_status" => 2,
);
$retval['code'] = $baseObj->join($ins_row);
$retval['mesg'] = cUtil\Mlang::getText("등록에 실패하였습니다.");
}
break;
case "memberLogout" :
$apiObj->pushApi($GLOBALS['_Umem']['member_id'],"종료");
$retval['code'] = $baseObj->logout();
break;
case "getSiteMenuList":
$mnuObj = new Menu(TB_menu_list);
// $mnuObj->cate_area = "service";
$rows = $mnuObj->getTreeListForTreeView("",$_REQUEST['menu_code']);
if( $rows ){
$retval['code'] = 1;
$retval['data'] = $rows;
$_SESSION['menu_info'] = $rows;
}else{
$retval['mesg'] = "불러오지 못하였습니다.";
}
break;
case "getPartnerList":
$sql = "USP_B_BIZ_PARTNER_S10";
$params = Array("USE_FLG" => "Y");
$rst = $baseObj->DB->exec($sql,$params);
$rows = array();
if( $rst ){
$retval['code'] = 1;
while( $row = $baseObj->DB->fetch_array($rst) ){
$row['BP_PRSN_CELL_NO'] = $baseObj->lcrypt->dec_secure($row['BP_PRSN_CELL_NO']);
$row['BP_PRSN_EMAIL'] = $baseObj->lcrypt->dec_secure($row['BP_PRSN_EMAIL']);
$row['BP_PRSN_TEL_NO'] = $baseObj->lcrypt->dec_secure($row['BP_PRSN_TEL_NO']);
$rows[] = $row;
}
$retval['data'] = $rows;
}
break;
case "getBizareaList":
$sql = "USP_B_BIZ_AREA_S10";
$params = Array(
"",
"USE_FLG" => "Y"
);
$rst = $baseObj->DB->exec($sql,$params);
$rows = array();
if( $rst ){
$retval['code'] = 1;
while( $row = $baseObj->DB->fetch_array($rst) ){
$row['WORK_STD_TIME'] = getDT_datetime($row['WORK_STD_TIME'],"H:i");
$rows[] = $row;
}
$retval['data'] = $rows;
}
break;
case "getDeptTree":
$sql = "USP_B_DEPT_HISTORY_S11";
$params = Array(
$_REQUEST['BIZ_AREA_CD'],
"",
"",
"USE_FLG" => "Y"
);
$rst = $baseObj->DB->exec($sql,$params);
$rows = array();
if( $rst ){
$retval['code'] = 1;
while( $row = $baseObj->DB->fetch_array($rst) ){
$row['WORK_STD_TIME'] = getDT_datetime($row['WORK_STD_TIME'],"H:i");
$rows[] = $row;
}
$retval['data'] = $rows;
/* 스크립트에서 처리
$mnuObj = new Menu(TB_menu_list);
$retval['data'] = $mnuObj->tree_by_parent($rows, 'DEPT_CD', 'PAR_DEPT_CD', '');
*/
}
break;
case "getEmployeeList":
$sql = "USP_B_EMPLOYEE_S30";
$params = Array(
$_REQUEST['BIZ_AREA_CD'],
$_REQUEST['EMP_NM']?:"",
"RET_FLG" => "N"
);
$rst = $baseObj->DB->exec($sql,$params);
$rows = array();
if( $rst ){
$retval['code'] = 1;
while( $row = $baseObj->DB->fetch_array($rst) ){
$rows[] = $row;
}
$retval['data'] = $rows;
}
break;
case "getBasecodeList":
$where = new DB_Where();
$where->add("CD.Code_Uid <> ?",$_REQUEST['Bran_Uid']);
if( $_REQUEST['Group_Uid'] ){
$where->add("CD.Code_Uid <> ?",$_REQUEST['Group_Uid']);
}
$where->add("BR.Active = ?","Y");
$where->add("GR.Active = ?","Y");
$rows = $baseObj->getAllBaseCodeList($_REQUEST['Bran_Uid'],$_REQUEST['Group_Uid']?:"","",$where);
for( $a=0 ; $a<count($rows) ; $a++ ){
$rows[$a]['Code_Uid_Old'] = $rows[$a]['Code_Uid'];
}
$retval['code'] = 1;
$retval['data'] = $rows;
break;
case "putBasecode":
$_REQUEST['reqdata'] = json_decode($_REQUEST['reqdata']);
$rst = true;
foreach( $_REQUEST['reqdata'] as $data ){
$data = (array)$data;
$cdata = $data;
unset($cdata['_STATUS_']);
unset($cdata['USE_FLG']);
if( empty(array_filter($cdata)) ){
if( $data['_STATUS_'] == 'I' ) continue; //빈열제거
if( $data['_STATUS_'] == 'U' ) $data['_STATUS_'] = 'D'; //빈열제거
}
if( $data['ITEM_CD'] && $data['_STATUS_'] == 'D' ){
$rst = $rst && $baseObj->delBaseCode($data['Bran_Uid'],$data['Group_Uid'],$data['Code_Uid_Old']);
}else{
$sqldata = Array(
'Bran_Uid' => isset($data['Bran_Uid']) ? $data['Bran_Uid'] : "",
'Group_Uid' => isset($data['Group_Uid']) ? $data['Group_Uid'] : "",
'Code_Uid' => isset($data['Code_Uid']) ? $data['Code_Uid'] : "",
'Code_Val' => isset($data['Code_Val']) ? $data['Code_Val'] : "",
'Code_Exp' => isset($data['Code_Exp']) ? $data['Code_Exp'] : $data['Code_Val'],
'Code_Idx' => isset($data['Code_Idx']) ? $data['Code_Idx'] : "",
'Active' => $data['Code_Active'],
);
if( $data['_STATUS_'] == 'I' ) {
$row = $baseObj->getBaseCode($data['Bran_Uid'],$data['Group_Uid'],$data['Code_Uid']);
if( $row['Code_Uid'] && $row['Code_Uid'] == $data['Code_Uid'] ){
$retval['mesg'] = cUtil\Mlang::getText("{@1} 는 이미 사용중인 코드입니다.",array($data['ITEM_CD'])); break;
}
if( !$sqldata['Code_Idx'] ){
$midx = $baseObj->getMaxBaseCodeIdx($data['Bran_Uid'], $data['Group_Uid']) + 1;
$sqldata['Code_Idx'] = $midx;
}
$rst = $rst && $baseObj->putBaseCode($sqldata);
}else{
$rst = $rst && $baseObj->setBaseCode($sqldata, $data['Bran_Uid'],$data['Group_Uid'],$data['Code_Uid_Old']);
}
}
}
if( $rst ){
$retval['code'] = 1;
}
break;
}
if( !$_REQUEST['no_echo'] ){
echo json_encode($retval);
}