Tryag File Manager
Home
||
Turbo Force
||
B-F Config_Cpanel
Current Path :
/
home
/
ltman.eemo.co.kr
/
public_html
/
www
/
Or
Select Your Path :
Upload File :
New :
File
Dir
/home/ltman.eemo.co.kr/public_html/www/farm_ipcamera_list.php
<? session_cache_limiter('no-cache, must-revalidate'); session_start(); header("Pragma: no-cache"); header("Cache-Control: no-cache,must-revalidate"); header("Content-Type: text/html; charset=utf-8"); include_once("dbconn.php"); include_once("lib.php"); foreach($_GET as $key => $value) { ${$key}=mysql_real_escape_string(trim($value)); } foreach($_POST as $key => $value) { ${$key}=mysql_real_escape_string(trim($value)); } $rs_my=RS("select * from member where no='{$_COOKIE[umem_no]}' "); if($rs_my[mtype]==1 || $rs_my[mtype]==2) { $rs_farm=RS("select * from farm where no='{$rs_my[farm_no]}' "); $farm_code=$rs_farm[farm_code]; } $rs_farm=RS("select * from farm where no='{$rs_my[farm_no]}' "); $farm_no=$rs_my[farm_no]; if($farm_no) { $result=mysql_query("select * from farm_ipcamera where farm_no='$farm_no' order by no desc ") or die(mysql_error()); } else if($farm_code) { $rs_farm=RS("select * from farm where farm_code='$farm_code' "); $result=mysql_query("select * from farm_ipcamera where farm_no='{$rs_farm[no]}' order by no asc ") or die(mysql_error()); } $arr_model=array(); $result_model=mysql_query("select * from ipcamera_model order by model asc ") or die(); while($rs_model=mysql_fetch_array($result_model)) { $arr_model[$rs_model[model]]=$rs_model[type]; } $arr_dong=array(); $result_dong=mysql_query("select * from farm_dong_info where farm_no='$farm_no' order by CAST(dong_name AS DECIMAL(10,2)) asc ") or die(); while($rs_dong=mysql_fetch_array($result_dong)) { $arr_dong[]=$rs_dong[dong_name]; } $arr_dong[]="외부"; $arr_dong[]="출입구"; ?> <!DOCTYPE html> <html lang="en" class="default-style layout-navbar-fixed layout-fixed-offcanvas"> <head> <title><?=$_TITLE?></title> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="IE=edge,chrome=1"> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> <link rel="icon" type="image/x-icon" href="favicon.ico"> <link href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,500,500i,700,700i,900" rel="stylesheet"> <!-- Icon fonts --> <link rel="stylesheet" href="assets/vendor/fonts/fontawesome.css"> <link rel="stylesheet" href="assets/vendor/fonts/ionicons.css"> <link rel="stylesheet" href="assets/vendor/fonts/linearicons.css"> <link rel="stylesheet" href="assets/vendor/fonts/open-iconic.css"> <link rel="stylesheet" href="assets/vendor/fonts/pe-icon-7-stroke.css"> <!-- Core stylesheets --> <link rel="stylesheet" href="assets/vendor/css/rtl/bootstrap.css" class="theme-settings-bootstrap-css"> <link rel="stylesheet" href="assets/vendor/css/rtl/appwork.css" class="theme-settings-appwork-css"> <link rel="stylesheet" href="assets/vendor/css/rtl/theme-corporate.css" class="theme-settings-theme-css"> <link rel="stylesheet" href="assets/vendor/css/rtl/colors.css" class="theme-settings-colors-css"> <link rel="stylesheet" href="assets/vendor/css/rtl/uikit.css"> <link rel="stylesheet" href="assets/css/demo.css"> <script src="assets/vendor/js/material-ripple.js"></script> <script src="assets/vendor/js/layout-helpers.js"></script> <link rel="stylesheet" href="assets/vendor/libs/bootstrap-select/bootstrap-select.css"> <link rel="stylesheet" href="assets/vendor/libs/bootstrap-multiselect/bootstrap-multiselect.css"> <link rel="stylesheet" href="assets/vendor/libs/select2/select2.css"> <!-- Core scripts --> <script src="assets/vendor/js/pace.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <!-- Libs --> <link rel="stylesheet" href="assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css"> <link rel="stylesheet" href="assets/vendor/libs/bootstrap-datepicker/bootstrap-datepicker.css"> <script src="assets/jquery.number.js"></script> <script src="assets/jquery.number.js"></script> <link href="https://unpkg.com/video.js/dist/video-js.css" rel="stylesheet"> <script src="https://unpkg.com/video.js/dist/video.js"></script> <script src="assets/videojs-http-streaming.js"></script> </head> <body> <div class="page-loader"> <div class="bg-primary"></div> </div> <!-- Layout wrapper --> <div class="layout-wrapper layout-2"> <div class="layout-inner"> <!-- Layout sidenav --> <?include_once("inc_sidenav.php");?> <!-- / Layout sidenav --> <!-- Layout container --> <div class="layout-container"> <!-- Layout navbar --> <?include_once("inc_navbar.php");?> <!-- / Layout navbar --> <!-- Layout content --> <div class="layout-content"> <!-- Content --> <div class="container-fluid flex-grow-1 container-p-y"> <h4 class="font-weight-bold py-1 mb-4"> <span class="text-muted font-weight-light">CCTV 설정 /</span> IP카메라 설정 </h4> <? if(!mysql_num_rows($result)) { ?> <div class="alert alert-dark-warning alert-dismissible fade show"> <button type="button" class="close" data-dismiss="alert">×</button> 현재 카메라 정보가 <strong>업습니다.</strong> </div> <? } ?> <!-- <div class="text-center" style='margin-top:0px;margin-bottom:30px;'> <button type="button" class="btn btn-round btn-success mt-4" onclick="fn_add()" style='margin-bottom:20px'>카메라 등록</button> <button type="button" class="btn btn-success btn-round" onclick="fn_scan('add_scan')"><i class="fas fa-lg fa-fw m-r-10 fa-barcode"></i> 바코드등록</button> </div> --> <? while($rs=mysql_fetch_array($result)) { $rs_nvr=RS("select * from farm_nvr where no='{$rs[nvr_no]}' "); ?> <div class="card mb-4"> <div class="card-body d-flex justify-content-between align-items-start pb-3"> <div> <a href="javascript:void(0)" class="text-dark text-big font-weight-semibold"><?=$rs[ca_ip]?></a> </div> <div class="btn-group project-actions"> <button type="button" class="btn btn-sm btn-default icon-btn borderless btn-round md-btn-flat dropdown-toggle hide-arrow" data-toggle="dropdown"> <i class="ion ion-ios-more"></i> </button> <div class="dropdown-menu dropdown-menu-right"> <a class="dropdown-item" href="javascript:go_mody('<?=$rs[no]?>')">수정</a> <!--<a class="dropdown-item" href="javascript:go_del('<?=urlencode(base64_encode($rs[no]))?>','<?=$rs[ca_ip]?>')">삭제</a>--> </div> </div> </div> <div class="progress rounded-0" style="height: 3px;"> <div class="progress-bar" style="width: 100%;"></div> </div> <div class="card-body small pt-2 pb-0"> 연결 NVR : <strong><?=$rs_nvr[nvr_ip]?></strong> 채널번호 : <strong><?=$rs[ch_no]?></strong> </div> <div class="card-body pt-0" style='margin-top:20px'> <div class="row"> <div class="col"> <div class="text-muted small">모델명</div> <div class="font-weight-bold"><?=$rs[model]?></div> </div> <div class="col"> <div class="text-muted small">종류</div> <div class="font-weight-bold"><?=$rs[type]?></div> </div> <div class="col"> <div class="text-muted small">PORT</div> <div class="font-weight-bold"><?=$rs[port]?></div> </div> </div> <div class="row"> <div class="col"> <div class="text-muted small">S/N</div> <div class="font-weight-bold"><?=$rs[sn]?></div> </div> <div class="col"> <div class="text-muted small">설치동</div> <div class="font-weight-bold"><?=$rs[dong_info]?></div> </div> <div class="col"> <div class="text-muted small">위치</div> <div class="font-weight-bold"><?=$rs[pos]?></div> </div> </div> </div> <div class="card-body pt-0" style='margin-top:-10px'> <div class="text-muted small mt-2"><button type="button" class="btn btn-xs btn-success" onclick="fn_live('<?=$rs[ca_ip]?>','<?=$rs[hls_url]?>')">카메라 영상 보기</button></div> </div> <hr class="m-0"> </div> <div id="myModal<?=$rs[no]?>" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title">IP카메라 수정</h4> </div> <div class="modal-body"> <form> <div class="form-group"> <label for="recipient-name" class="control-label">IP:</label> <input type="text" class="form-control" id="frm<?=$rs[no]?>_ip" name="frm<?=$rs[no]?>_ip" value="<?=$rs[ca_ip]?>"> </div> <div class="form-group"> <label for="message-text" class="control-label">모델명:</label> <select class="custom-select flex-grow-1" name='frm<?=$rs[no]?>_model' id='frm<?=$rs[no]?>_model' onchange="fn_type('<?=$rs[no]?>')"> <option value=''>모델선택</option> <? foreach($arr_model as $ak => $av) { ?><option value="<?=$ak?>" <?if($rs[model]==$ak) echo "selected";?>><?=$ak?></option><? } ?> </select> </div> <div class="form-group"> <label for="recipient-name" class="control-label">종류:</label> <input type="text" class="form-control" id="frm<?=$rs[no]?>_type" name="frm<?=$rs[no]?>_type" readonly value="<?=$rs[type]?>"> </div> <!-- <div class="form-group"> <label for="recipient-name" class="control-label">PORT:</label> <input type="tel" class="form-control" id="frm<?=$rs[no]?>_port" name="frm<?=$rs[no]?>_port" onfocus="fn_resize(300)" value="<?=$rs[port]?>"> </div> --> <div class="form-group"> <label for="recipient-name" class="control-label">S/N:</label> <input type="text" class="form-control" id="frm<?=$rs[no]?>_sn" name="frm<?=$rs[no]?>_sn" onfocus="fn_resize(400)" value="<?=$rs[sn]?>"> </div> <div class="form-group"> <label for="message-text" class="control-label">동번호:</label> <select class="custom-select flex-grow-1" name='frm<?=$rs[no]?>_dong' id='frm<?=$rs[no]?>_dong'> <option value=''>동선택</option> <? foreach($arr_dong as $ak => $av) { ?><option value="<?=$av?>" <?if($rs[dong_info]==$av) echo "selected";?>><?=$av?></option><? } ?> </select> </div> <div class="form-group"> <label for="recipient-name" class="control-label">위치:</label> <input type="text" class="form-control" id="frm<?=$rs[no]?>_pos" name="frm<?=$rs[no]?>_pos" onfocus="fn_resize(500)" value="<?=$rs[pos]?>"> </div> <!-- <div class="form-group"> <label for="recipient-name" class="control-label">RTSP URL(옵션):</label> <input type="text" class="form-control" id="rtsp<?=$rs[no]?>_url" name="rtsp<?=$rs[no]?>_url" onfocus="fn_resize(500)" value="<?=$rs[rtsp_url]?>"> </div> <div class="form-group"> <label for="recipient-name" class="control-label">HLS URL(옵션):</label> <input type="text" class="form-control" id="hls<?=$rs[no]?>_url" name="hls<?=$rs[no]?>_url" onfocus="fn_resize(600)" value="<?=$rs[hls_url]?>"> </div> --> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-primary" onclick="fn_mody('<?=$rs[no]?>')">수정</button> </div> <div id='dv_test' style='height:0px'></div> </div> </div> </div> <? } ?> <form name='frm_reg'> <input type='hidden' name='farm_code' value="<?=$farm_code?>"> </form> <!-- / Form --> </div> <div class="card-footer d-flex justify-content-between align-items-center bg-200 border-top-0"> <button class="btn btn-outline border-2" type="button" onclick="history.back()">← 뒤로</button> </div> <!-- / Content --> <!-- Layout footer --> <?include_once("inc_footer.php");?> <!-- / Layout footer --> </div> <!-- Layout content --> </div> <!-- / Layout container --> </div> <!-- Overlay --> <div class="layout-overlay layout-sidenav-toggle"></div> </div> <!-- / Layout wrapper --> <!-- Core scripts --> <script src="assets/vendor/libs/popper/popper.js"></script> <script src="assets/vendor/js/bootstrap.js"></script> <script src="assets/vendor/js/sidenav.js"></script> <!-- Libs --> <script src="assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js"></script> <!-- Demo --> <script src="assets/js/demo.js"></script> <!-- Libs --> <script src="assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js"></script> <script src="assets/vendor/libs/bootstrap-select/bootstrap-select.js"></script> <script src="assets/vendor/libs/bootstrap-multiselect/bootstrap-multiselect.js"></script> <script src="assets/vendor/libs/select2/select2.js"></script> <script src="assets/vendor/libs/bootstrap-tagsinput/bootstrap-tagsinput.js"></script> <!-- Demo --> <script src="assets/js/forms_selects.js"></script> <script src="assets/vendor/libs/bootbox/bootbox.js"></script> <div id="myModal" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title">IP카메라 등록</h4> </div> <div class="modal-body"> <form> <div class="form-group"> <label for="recipient-name" class="control-label">IP:</label> <input type="text" class="form-control" id="frm_ip" name="frm_ip"> </div> <div class="form-group"> <label for="message-text" class="control-label">모델명:</label> <select class="custom-select flex-grow-1" name='frm_model' id='frm_model' onchange="fn_type()"> <option value=''>모델선택</option> <? foreach($arr_model as $ak => $av) { ?><option value="<?=$ak?>"><?=$ak?></option><? } ?> </select> </div> <div class="form-group"> <label for="recipient-name" class="control-label">종류:</label> <input type="text" class="form-control" id="frm_type" name="frm_type" readonly> </div> <!-- <div class="form-group"> <label for="recipient-name" class="control-label">PORT:</label> <input type="tel" class="form-control" id="frm_port" name="frm_port" onfocus="fn_resize(300)" value='554'> </div> --> <div class="form-group"> <label for="recipient-name" class="control-label">S/N:</label> <input type="text" class="form-control" id="frm_sn" name="frm_sn" onfocus="fn_resize(400)" > </div> <div class="form-group"> <label for="message-text" class="control-label">동번호:</label> <select class="custom-select flex-grow-1" name='frm_dong' id='frm_dong'> <option value=''>동선택</option> <? foreach($arr_dong as $ak => $av) { ?><option value="<?=$av?>"><?=$av?></option><? } ?> </select> </div> <div class="form-group"> <label for="recipient-name" class="control-label">위치:</label> <input type="text" class="form-control" id="frm_pos" name="frm_pos" onfocus="fn_resize(500)" > </div> <!-- <div class="form-group"> <label for="recipient-name" class="control-label">RTSP URL(옵션):</label> <input type="text" class="form-control" id="rtsp_url" name="rtsp_url" onfocus="fn_resize(500)" > </div> <div class="form-group"> <label for="recipient-name" class="control-label">HLS URL(옵션):</label> <input type="text" class="form-control" id="hls_url" name="hls_url" onfocus="fn_resize(500)" > </div> --> </form> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> <button type="button" class="btn btn-primary" onclick="fn_save()">저장</button> </div> <div id='dv_test' style='height:0px'></div> </div> </div> </div> <div id="myModal_live" class="modal fade"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <h4 class="modal-title" id='title_live'>IP카메라 영상</h4> </div> <div class="modal-body" id='live_body'> <video style='width:100%;height:200px' id='hlsPlayEx' playsinline class="video-js vjs-default-skin vjs-16-9"> <source src="" id='hls_src' type="application/x-mpegURL"> </video> </div> </div> </div> </div> </body> </html> <script> function fn_resize(vv) { $('#dv_test').css('height',vv+'px'); $( '#myModal' ).animate( { scrollTop : vv }, 400 ); } function fn_scan(action) { if(typeof(window.Android) !== 'undefined') { window.Android.scan_code128(action); } } function scan_result(action,vcode) { //bootbox.alert("action : "+action+"<br>vcode : "+vcode); if(action=='add_scan') { if(vcode) { $('#frm_ip').val('192.168.0.'); $('#frm_model').val(''); $('#frm_type').val(''); $('#frm_port').val('554'); $('#frm_sn').val(vcode); $('#frm_dong').val(''); $('#frm_pos').val(''); $('#myModal').modal('show'); } else { bootbox.alert("스캔 오류입니다."); } } } var arr_model=new Array(); <? foreach($arr_model as $ak => $av) { ?>arr_model['<?=$ak?>']='<?=$av?>';<? } ?> function fn_type(no) { if(no) { var cc=arr_model[$('#frm'+no+'_model').val()]; $('#frm'+no+'_type').val(cc); } else { var cc=arr_model[$('#frm_model').val()]; $('#frm_type').val(cc); } } function fn_add() { $('#frm_ip').val(''); $('#frm_model').val(''); $('#frm_type').val(''); $('#frm_port').val(''); $('#frm_sn').val(''); $('#frm_dong').val(''); $('#frm_pos').val(''); $('#myModal').modal('show'); } function fn_save() { if(!$('#frm_ip').val()) { bootbox.alert("IP를 입력하세요."); return; } if(!$('#frm_model').val()) { bootbox.alert("모델명을 선택하세요."); return; } /* if(!$('#frm_port').val()) { bootbox.alert("포트번호를 입력하세요."); return; } */ if(!$('#frm_sn').val()) { bootbox.alert("S/N 을 입력하세요."); return; } if(!$('#frm_dong').val()) { bootbox.alert("동번호를 선택하세요."); return; } if(!$('#frm_pos').val()) { bootbox.alert("위치정보를 입력하세요."); return; } var formdata = new FormData(); formdata.append("ca_ip", $('#frm_ip').val()); formdata.append("type", $('#frm_type').val()); formdata.append("model", $('#frm_model').val()); //formdata.append("port", $('#frm_port').val()); formdata.append("sn", $('#frm_sn').val()); formdata.append("dong_info", $('#frm_dong').val()); formdata.append("pos", $('#frm_pos').val()); //formdata.append("rtsp_url", $('#rtsp_url').val()); //formdata.append("hls_url", $('#hls_url').val()); formdata.append("farm_no", '<?=$farm_no?>'); if (formdata) { jQuery.ajax({ url: "farm_ipcamera_add_do.php", type: "POST", data: formdata, processData: false, contentType: false, success: function (res) { //var json = jQuery.parseJSON(res); var json = eval("(" + res + ")"); if(json.rst=='double') { bootbox.alert("해당 IP가 이미 존재합니다."); } else if(json.rst=='double2') { bootbox.alert("동일한 S/N이 이미 존재합니다."); } else if(json.rst=='1') { window.location.reload(true); } } }); } } function fn_mody(no) { if(!$('#frm'+no+'_ip').val()) { bootbox.alert("IP를 입력하세요."); return; } if(!$('#frm'+no+'_model').val()) { bootbox.alert("모델명을 선택하세요."); return; } /* if(!$('#frm'+no+'_port').val()) { bootbox.alert("포트번호를 입력하세요."); return; } */ if(!$('#frm'+no+'_sn').val()) { bootbox.alert("S/N 을 입력하세요."); return; } if(!$('#frm'+no+'_dong').val()) { bootbox.alert("동번호를 선택하세요."); return; } if(!$('#frm'+no+'_pos').val()) { bootbox.alert("위치정보를 입력하세요."); return; } var formdata = new FormData(); formdata.append("ca_ip", $('#frm'+no+'_ip').val()); formdata.append("type", $('#frm'+no+'_type').val()); formdata.append("model", $('#frm'+no+'_model').val()); //formdata.append("port", $('#frm'+no+'_port').val()); formdata.append("sn", $('#frm'+no+'_sn').val()); formdata.append("dong_info", $('#frm'+no+'_dong').val()); formdata.append("pos", $('#frm'+no+'_pos').val()); //formdata.append("rtsp_url", $('#rtsp'+no+'_url').val()); //formdata.append("hls_url", $('#hls'+no+'_url').val()); formdata.append("farm_no", '<?=$farm_no?>'); formdata.append("v_no", no); if (formdata) { jQuery.ajax({ url: "farm_ipcamera_mody_do.php", type: "POST", data: formdata, processData: false, contentType: false, success: function (res) { //var json = jQuery.parseJSON(res); //alert(res); var json = eval("(" + res + ")"); if(json.rst=='double') { bootbox.alert("해당 IP가 이미 존재합니다."); } else if(json.rst=='double2') { bootbox.alert("동일한 S/N이 이미 존재합니다."); } else if(json.rst=='1') { window.location.reload(true); } } }); } } function go_mody(no) { $('#myModal'+no).modal('show'); } function go_del(no,dname) { bootbox.confirm({ message: "<strong>"+dname+"</strong> 을 삭제하시겠습니까?", buttons: { confirm: { label: '예', className: 'btn-success' }, cancel: { label: '아니오', className: 'btn-danger' } }, callback: function (result) { if(result==true) { var par="?no="+no; $.post( "farm_ipcamera_del_do.php"+par, function( res ) { var json=eval("("+res+")"); if(json.rst=='1') { window.location.reload(true); } }); } } }); } function fn_live(ip,url) { if(!url) { bootbox.alert("수정단에서 HLS URL 을입력하세요."); return; } $('#title_live').html(ip+'번 카메라'); $('#hls_src').attr('src',url); var player = videojs('hlsPlayEx'); player.play(); $('#myModal_live').modal('show'); } </script>