forked from HANYANG/HANYANG_MES
322 lines
10 KiB
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);
|
|
} |