diff --git a/.gitignore b/.gitignore index 49f00a3..7a0ea96 100644 --- a/.gitignore +++ b/.gitignore @@ -1,63 +1,19 @@ # ---> Java # Compiled class file -*.class +/classes/*.class # Log file *.log -# BlueJ files -*.ctxt - -# Mobile Tools for Java (J2ME) -.mtj.tmp/ - -# Package Files # -*.jar -*.war -*.nar -*.ear -*.zip -*.tar.gz -*.rar - -# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml -hs_err_pid* -replay_pid* - -#Tomcat Ignore -logs -nbproject -output -# Next line commented out, because test/webapp-virtual-library and -# test/webapp-virtual-webapp use it: -# target -work build.properties mvn.properties -.ant-targets-build.xml -.checkstyle .classpath -.externalToolBuilders -.fbprefs -.idea -.pmd .project -.sdkmanrc .settings .vscode -*.asc -*.iml -*.ipr -*.iws -*.jj -*.tmp -maven-resolver-ant-tasks-*.jar -thumbs.db -Thumbs.db -bin/setenv.* -java/org/apache/catalina/startup/catalina.properties -modules/jdbc-pool/bin -modules/jdbc-pool/includes -modules/openssl-java17/target -modules/openssl-foreign/target -webapps/docs/jdbc-pool.xml + +# ---> PHP +vendor +composer.lock +.env +test.php \ No newline at end of file diff --git a/extdbms/NonPaymentList.php b/extdbms/NonPaymentList.php new file mode 100644 index 0000000..c036e12 --- /dev/null +++ b/extdbms/NonPaymentList.php @@ -0,0 +1,209 @@ + + +
+ >전체 + >당일 + >1일전 + >2일전 + >3일전 + + + +
+ $total) {$list_no = $total;} +$total_page = ($total != '0') ? ceil($total / $list_no) : '0'; + +$page = $_GET[curPage]; + +if (!$page) {$page = 1;} elseif ($page >= $total_page) {$page = $total_page;} else { $page = $page;} + +$next_page = ($page-'1') * $list_no; +$next_no = $next_page + $list_no; + +switch ($_GET[mode]) { + case "today": + //당일 + $query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') AND service_payment_date = CURDATE() ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit " . $next_page . "," . $next_no; + break; + case "1day": + //1일전 + $query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') AND service_payment_date = Date_Add(curdate(),INTERVAL 1 DAY) ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit " . $next_page . "," . $next_no; + break; + case "2day": + //2일전 + $query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') AND service_payment_date = Date_Add(curdate(),INTERVAL 2 DAY) ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit " . $next_page . "," . $next_no; + break; + case "3day": + //3일전 + $query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') AND service_payment_date = Date_Add(curdate(),INTERVAL 3 DAY) ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit " . $next_page . "," . $next_no; + break; + + case "custom": + //커스텀 + //$query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') AND service_payment_date = CURDATE() Group By server_code ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit ".$next_page.",".$next_no; + $query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') AND service_payment_date = Date_Add(curdate(),INTERVAL 1 DAY) Group By server_code ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit " . $next_page . "," . $next_no; + break; + + default: + //전체 + $query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit " . $next_page . "," . $next_no; + break; +} + +$result = @mysql_query($query, $db_connect) or die($db_q_error); +?> + + 엑셀 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
고객명종류장비명IP결제일서비스 가격과금상태미납과금비고
+
+ 0) { + + $p_start = (($n_page - 1) * $page_scale)+'1'; + $link = ""; + $link .= "<<"; + $link .= ""; + echo $link . " "; +} +$is = ($n_page * $page_scale)+'1'; +for ($i = $is; $i < $is + $page_scale; $i++) { + + if ($i < $total_page+'1') { + if ($i == $page) {$ib = "$i";} else { $ib = $i;} + $link = ""; + $link .= $ib; + $link .= ""; + echo $link . " "; + } +} +if ($n_page < $page3) { + $link = ""; + $link .= ">>"; + $link .= ""; + echo $link; +} +?> +
+ + + + + diff --git a/extdbms/README.md b/extdbms/README.md new file mode 100644 index 0000000..bd3dc44 --- /dev/null +++ b/extdbms/README.md @@ -0,0 +1,3 @@ +# EXTDBMS + +DBMS용 PHP 소스 \ No newline at end of file diff --git a/extdbms/composer.json b/extdbms/composer.json new file mode 100644 index 0000000..9c8152c --- /dev/null +++ b/extdbms/composer.json @@ -0,0 +1,10 @@ +{ + "require": { + "vlucas/phpdotenv": "^5.6" + }, + "autoload": { + "psr-4": { + "lib\\": "lib/" + } + } +} diff --git a/extdbms/config.php b/extdbms/config.php new file mode 100644 index 0000000..5792480 --- /dev/null +++ b/extdbms/config.php @@ -0,0 +1,3 @@ + + + + + + + +
+ / + +
+ + +
  • + - >수정 +
  • + + + + + + + + diff --git a/extdbms/coupon.php b/extdbms/coupon.php new file mode 100644 index 0000000..49e119b --- /dev/null +++ b/extdbms/coupon.php @@ -0,0 +1,20 @@ +execute($lines, $client_field); +echo "Coupon 설정이 완료되었습니다.\n"; diff --git a/extdbms/customer_memo.php b/extdbms/customer_memo.php new file mode 100644 index 0000000..3e233e6 --- /dev/null +++ b/extdbms/customer_memo.php @@ -0,0 +1,32 @@ + + +
    + + + + + + + +
    비    고
    +
    + diff --git a/extdbms/customer_memo_up.php b/extdbms/customer_memo_up.php new file mode 100644 index 0000000..e895443 --- /dev/null +++ b/extdbms/customer_memo_up.php @@ -0,0 +1,22 @@ + + +:6752/serviceDetail.sev?client_code='" /> + diff --git a/extdbms/deepfinder_list.php b/extdbms/deepfinder_list.php new file mode 100644 index 0000000..2780bb5 --- /dev/null +++ b/extdbms/deepfinder_list.php @@ -0,0 +1,7 @@ +execute("딥파인더"); diff --git a/extdbms/default_alert.php b/extdbms/default_alert.php new file mode 100644 index 0000000..1f948be --- /dev/null +++ b/extdbms/default_alert.php @@ -0,0 +1,240 @@ + + +
    + +
    + + + +" +//if (isset($_SERVER['HTTP_REFERER']) && preg_match('@^[^/]+://[^/]+@', $_SERVER['HTTP_REFERER'], $match)) {} +// var_dump($match[0]); + +?> + + + +
    +
    +
    +
    +
    +
    + +
    +
    +
    +
    새 쪽지 알림
    +
    +
    +
    + + + +
    +
    + + DATE_ADD(now(), INTERVAL -7 DAY) and service_status = 'o' and service_line not in ('test','substitution')"; +$day7_server = mysql_num_rows(mysql_query($day7_server_query, $db_connect)); +?> + +
    +
    +
    +
    +
    + +
    +
    +
    +
    최근 7일간 신규서버 대수
    +
    +
    +
    + + + +
    +
    + + +
    +
    +
    +
    +
    + +
    +
    +
    0
    +
    요청업무 알림
    +
    +
    +
    + + + +
    +
    + + + + +
    +
    +
    +
    +
    + +
    +
    +
    +
    금일 기준 미납 서버
    +
    +
    +
    + + + +
    +
    +
    + + + + + + + + + + +
    + + + + +
    + + diff --git a/extdbms/defense_index.php b/extdbms/defense_index.php new file mode 100644 index 0000000..c37a47c --- /dev/null +++ b/extdbms/defense_index.php @@ -0,0 +1,114 @@ + + + + + + + +
    + / + +
    + + +
  • + - >수정 +
  • + + + + + + + + + diff --git a/extdbms/defense_modify.php b/extdbms/defense_modify.php new file mode 100644 index 0000000..1c4e52c --- /dev/null +++ b/extdbms/defense_modify.php @@ -0,0 +1,120 @@ + + + + + + + + + * - - &parents=>등록
    + + + + - >수정
    + + + + + + + + + + + + +MODIFY + + + + \ No newline at end of file diff --git a/extdbms/defense_new.php b/extdbms/defense_new.php new file mode 100644 index 0000000..98463be --- /dev/null +++ b/extdbms/defense_new.php @@ -0,0 +1,120 @@ + + + + + + + + + * - - &parents=>등록
    + + + + - >수정
    + + + + + + + + + + + + +NEW + + + + \ No newline at end of file diff --git a/extdbms/depositbillpaper.php b/extdbms/depositbillpaper.php new file mode 100644 index 0000000..98489fa --- /dev/null +++ b/extdbms/depositbillpaper.php @@ -0,0 +1,11 @@ +getBillingPaper($_GET); +} catch (\Exception $e) { + die($e->getMessage()); +} diff --git a/extdbms/domain_buy_list.php b/extdbms/domain_buy_list.php new file mode 100644 index 0000000..b273ad7 --- /dev/null +++ b/extdbms/domain_buy_list.php @@ -0,0 +1,133 @@ + $total) {$list_no = $total;} +$total_page = ($total != '0') ? ceil($total / $list_no) : '0'; + +$page = $_GET[page]; + +if (!$page) {$page = 1;} elseif ($page >= $total_page) {$page = $total_page;} else { $page = $page;} + +$next_page = ($page-'1') * $list_no; +$next_no = $next_page + $list_no; + +$result = @mysql_query($query, $db_connect) or die($db_q_error); +?> +
    +2015년 전체구매건수 : +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    고객명서비스코드수량결제금액미납금액신청일비 고담당자
    +
    + + diff --git a/extdbms/domain_coupon.php b/extdbms/domain_coupon.php new file mode 100644 index 0000000..9a25f8e --- /dev/null +++ b/extdbms/domain_coupon.php @@ -0,0 +1,120 @@ + + + $total) {$list_no = $total;} +$total_page = ($total != '0') ? ceil($total / $list_no) : '0'; + +$page = $_GET[curPage]; + +if (!$page) {$page = 1;} elseif ($page >= $total_page) {$page = $total_page;} else { $page = $page;} + +$next_page = ($page-'1') * $list_no; +$next_no = $next_page + $list_no; + +$query = "select servicedb.service_code, servicedb.client_code,servicedb.service_line,servicedb.server_code,servicedb.service_ip,servicedb.service_open_date,servicedb.coupon,servicedb.coupon_use,clientdb.client_code,clientdb.client_name From servicedb Natural Join clientdb where servicedb.service_line NOT IN ( 'vpn', 'test','soloLine','substitution' ) and Client_Code not in ('C219','C116','C012','C497','C464','C526') and service_ip not like '27.125.204%' order by clientdb.client_name,service_open_date asc limit " . $next_page . "," . $next_no; + +//$query="select servicedb.service_code, servicedb.client_code,servicedb.service_line,servicedb.server_code,servicedb.service_ip,servicedb.service_open_date,servicedb.coupon,clientdb.client_code,clientdb.client_name From servicedb Natural Join clientdb where servicedb.service_line NOT IN ( 'vpn', 'test','soloLine','substitution' ) and Client_Code not in ('C219','C116','C012') order by service_code asc"; + +$coupon_data = @mysql_query($query, $db_connect) or die($db_q_error); +$total_coupon = mysql_query("select sum(coupon),sum(coupon_use) from servicedb", $db_connect) or die($db_q_error); +$total_coupon = mysql_fetch_assoc($total_coupon); +?> +
    전체 남은 수량 : / 전체 사용 수량 :

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    No발급쿠폰남은수량사용완료고객명서비스코드장비명서버IP서비스개시일회선종류
    5"; } else { echo "3";}?>
    +
    + +
    + 0) { + + $p_start = (($n_page - 1) * $page_scale)+'1'; + $link = ""; + $link .= "<<"; + $link .= ""; + echo $link . " "; +} +$is = ($n_page * $page_scale)+'1'; +for ($i = $is; $i < $is + $page_scale; $i++) { + + if ($i < $total_page+'1') { + if ($i == $page) {$ib = "$i";} else { $ib = $i;} + $link = ""; + $link .= $ib; + $link .= ""; + echo $link . " "; + } +} +if ($n_page < $page3) { + $link = ""; + $link .= ">>"; + $link .= ""; + echo $link; +} + +?> +
    + diff --git a/extdbms/domain_coupon.php.bak b/extdbms/domain_coupon.php.bak new file mode 100644 index 0000000..85a2de0 --- /dev/null +++ b/extdbms/domain_coupon.php.bak @@ -0,0 +1,125 @@ + + +$total){$list_no=$total;} +$total_page = ($total != '0' ) ? ceil($total/$list_no) : '0'; + +$page = $_GET[curPage]; + +if(!$page) {$page = 1;} +elseif($page >= $total_page){$page=$total_page;} +else {$page=$page;} + +$next_page=($page-'1')*$list_no; +$next_no=$next_page+$list_no; + +$query="select servicedb.service_code, servicedb.client_code,servicedb.service_line,servicedb.server_code,servicedb.service_ip,servicedb.service_open_date,servicedb.coupon,servicedb.coupon_use,clientdb.client_code,clientdb.client_name From servicedb Natural Join clientdb where servicedb.service_line NOT IN ( 'vpn', 'test','soloLine','substitution' ) and Client_Code not in ('C219','C116','C012','C497','C464','C526') and service_ip not like '27.125.204%' order by clientdb.client_name,service_open_date asc limit ".$next_page.",".$next_no; + +//$query="select servicedb.service_code, servicedb.client_code,servicedb.service_line,servicedb.server_code,servicedb.service_ip,servicedb.service_open_date,servicedb.coupon,clientdb.client_code,clientdb.client_name From servicedb Natural Join clientdb where servicedb.service_line NOT IN ( 'vpn', 'test','soloLine','substitution' ) and Client_Code not in ('C219','C116','C012') order by service_code asc"; + + +$coupon_data = @mysql_query($query , $db_connect) or die($db_q_error); +$total_coupon=mysql_query("select sum(coupon),sum(coupon_use) from servicedb" , $db_connect) or die($db_q_error); +$total_coupon=mysql_fetch_assoc($total_coupon); +?> +
    전체 남은 수량 : / 전체 사용 수량 :

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    No발급쿠폰남은수량사용완료고객명서비스코드장비명서버IP서비스개시일회선종류
    5"; } else { echo "3";}?>
    +
    + +
    + 0){ + + $p_start = (($n_page-1)*$page_scale)+'1'; + $link = ""; + $link .= "<<"; + $link .= ""; + echo $link." "; +} +$is = ($n_page*$page_scale)+'1'; +for($i=$is; $i < $is+$page_scale; $i++){ + + + if($i < $total_page+'1'){ + if($i==$page){$ib="$i";}else{$ib=$i;} + $link = ""; + $link .= $ib; + $link .= ""; + echo $link." "; + } +} +if($n_page < $page3){ + $link = ""; + $link .= ">>"; + $link .= ""; + echo $link; +} + +?> +
    + diff --git a/extdbms/domain_coupon_buy.php b/extdbms/domain_coupon_buy.php new file mode 100644 index 0000000..3094457 --- /dev/null +++ b/extdbms/domain_coupon_buy.php @@ -0,0 +1,126 @@ +"; + //echo $onetime_query; + //echo "
    "; + //echo $history_query; + +//echo $_GET[client_code].$_GET[service_code].$_GET[client_name].$_GET[server_code].$_GET[coupon].$_GET[mkworker].$_GET[mkid]; + echo " + +"; +} else { + //$sql = sprintf("select * from servicedb where service_code='%s'", $_GET['service_code']); + //$stmt = @mysql_query($sql, $db_connect) or die($db_q_error); + //$service = mysql_fetch_assoc($stmt); +?> +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    고객코드
    서비스코드
    고객명
    장비번호
    + + 도메인 구매 수량 + + (개별 서버에 할당된 남은 쿠폰 수량 : ) + +
    서비스 금액 + 도메인 쿠폰 사용 + + +
    도메인 신청일 + + 쿠폰 사용일 + +
    도메인 리스트 +
    (공백을 허용하지 않습니다. 예제처럼 붙여쓰기 하세요 / 예제 : test.com/123.com/idcjp.jp) +
    + + +
    +
    +
    + + diff --git a/extdbms/domain_coupon_use.php b/extdbms/domain_coupon_use.php new file mode 100644 index 0000000..b89de3d --- /dev/null +++ b/extdbms/domain_coupon_use.php @@ -0,0 +1,122 @@ + + + $total) {$list_no = $total;} +$total_page = ($total != '0') ? ceil($total / $list_no) : '0'; + +$page = $_GET[curPage]; + +if (!$page) {$page = 1;} elseif ($page >= $total_page) {$page = $total_page;} else { $page = $page;} + +$next_page = ($page-'1') * $list_no; +$next_no = $next_page + $list_no; + +$query = "select servicedb.service_code, servicedb.client_code,servicedb.service_line,servicedb.server_code,servicedb.service_ip,servicedb.service_open_date,coupon,coupon_use,clientdb.client_code,clientdb.client_name From servicedb Natural Join clientdb where servicedb.service_line NOT IN ( 'vpn', 'test','soloLine','substitution' ) and servicedb.client_code = '$client_code' and service_ip not like '27.125.204%' order by service_open_date asc limit " . $next_page . "," . $next_no; +$coupon_data = @mysql_query($query, $db_connect) or die($db_q_error); +?> +

    고객명 : / 쿠폰발급대상 : 대 / 전체 남은 수량 :

    +
    + + + + + + + + + + + + + + + + + + +";} else { $coupon_color = "";} + ?> + + + + + + + + + + + + + + + + + +
    No발급쿠폰남은수량사용완료서비스코드장비명서버IP서비스개시일회선종류사용
    &client_name=&client_code=&server_code=&coupon=&mode=&mkworker=&mkid=>사용하기
    +
    + +
    + 0) { + + $p_start = (($n_page - 1) * $page_scale)+'1'; + $link = ""; + $link .= "<<"; + $link .= ""; + echo $link . " "; +} +$is = ($n_page * $page_scale)+'1'; +for ($i = $is; $i < $is + $page_scale; $i++) { + + if ($i < $total_page+'1') { + if ($i == $page) {$ib = "$i";} else { $ib = $i;} + $link = ""; + $link .= $ib; + $link .= ""; + echo $link . " "; + } +} +if ($n_page < $page3) { + $link = ""; + $link .= ">>"; + $link .= ""; + echo $link; +} + +?> +
    + diff --git a/extdbms/dotdefender_list.php b/extdbms/dotdefender_list.php new file mode 100644 index 0000000..0068fad --- /dev/null +++ b/extdbms/dotdefender_list.php @@ -0,0 +1,7 @@ +execute("닷 디펜더"); diff --git a/extdbms/footer.php b/extdbms/footer.php new file mode 100644 index 0000000..5edb20d --- /dev/null +++ b/extdbms/footer.php @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + diff --git a/extdbms/function.php b/extdbms/function.php new file mode 100644 index 0000000..34a4a17 --- /dev/null +++ b/extdbms/function.php @@ -0,0 +1,225 @@ += $s_len) {$cnt = ($s_len - $i) % 4; + break;} else { + $i += 3; + } + + } else if (($oc & 0xF0) == 0xE0) // 3byte + { + if ($i + 3 >= $s_len) {$cnt = ($s_len - $i) % 3; + break;} else { + $i += 2; + } + + } else if (($oc & 0xE0) == 0xC0) // 2byte + { + if ($i + 2 >= $s_len) {$cnt = ($s_len - $i) % 2; + break;} else { + $i++; + } + + } else // 1byte + { + $cnt = 0; + } + + } + if ($cnt) { + $s = substr($s, 0, $s_len - $cnt); + } + + if (strlen($s) >= strlen($str)) { + $suffix = ""; + } + + return $s . $suffix; +} + +//문자열 처리 trim,htmlspecialchars,addslashes +function mk_trim() +{ + $nums = func_num_args(); + $row = func_get_args(); + for ($i = 0; $i < $nums; $i++) { + $row[$i] = addslashes($row[$i]); + $row[$i] = htmlspecialchars($row[$i]); + $row[$i] = trim($row[$i]); + return $row[$i]; + } +} + +//DB 테이블 생성 확인 +function exist_table($table_name) +{ + $result = mysql_query("show tables like '" . $table_name . "'"); + $row = mysql_fetch_array($result, MYSQL_NUM); + if ($row == false) { + return false; + } + + return true; +} + +// 실행시간 체크 +function getmicrotime() +{ + list($usec, $sec) = explode(' ', microtime()); + return ((float) $usec + (float) $sec); +} + +//패스워드 암호화 +function sha_256($user_passwd) +{ + $return = hash('sha256', $user_passwd); + return $return; +} + +//get response +function get_response($host, $request) +{ + $fp = fsockopen($host, 80); + if (!$fp) {flush(); + } else { + fputs($fp, $request); + flush(); + $response = ""; + while (!feof($fp)) {$response .= fgets($fp, 1024);} + } + fclose($fp); + return $response; +} + +//용량계산 +function size($size) +{ + $unit = array(" Byte", " KB", " MB", " GB"); + if (!$size) { + return "0" . $unit[0]; + } + + if ($size < 1024) // 바이트 + { + return $size . $unit[0]; + } + + if ($size > 1024 && $size < 1024 * 1024) // 킬로바이트 + { + return sprintf("%0.1f " . $unit[1], $size / 1024); + } + + if ($size > 1024 * 1024 && $size < 1024 * 1024 * 1024) // 메가바이트 + { + return sprintf("%0.1f " . $unit[2], $size / (1024 * 1024)); + } + + if ($size > 1024 * 1024 * 1000 && $size < 1024 * 1024 * 1024 * 1024) // 기가바이트 + { + return sprintf("%0.1f " . $unit[3], $size / (1024 * 1024 * 1000)); + } + +} + +//프록시 서버 체크-실제 아이피 가져오기 +function use_ip() +{ + $reverse = 0; + $e = 0; + $hostip = getenv("HTTP_X_FORWARDED_FOR"); + $hostip = $hostip ? $hostip : getenv("REMOTE_ADDR"); + $check = $reverse ? @gethostbyaddr($hostip) : ""; + $hostip = $check ? $check : $hostip; + $gateway_ip = getenv("REMOTE_ADDR"); + return $hostip; +} + +//GMT 시간 표시 +function GMT($time_zone) +{ + switch ($time_zone) { + case 'Kwajalein':$gmt = "-12"; + break; + case 'Pacific/Midway':$gmt = "-11"; + break; + case 'Pacific/Honolulu':$gmt = "-10"; + break; + case 'America/Anchorage':$gmt = "-9"; + break; + case 'America/Los_Angeles':$gmt = "-8"; + break; + case 'America/Denver':$gmt = "-7"; + break; + case 'America/Tegucigalpa':$gmt = "-6"; + break; + case 'America/New_York':$gmt = "-5"; + break; + case 'America/Caracas':$gmt = "-4.30"; + break; + case 'America/Halifax':$gmt = "-4"; + break; + case 'America/St_Johns':$gmt = "-3.30"; + break; + case 'America/Argentina/Buenos_Aires':$gmt = "-3"; + break; + case 'America/Sao_Paulo':$gmt = "-3"; + break; + case 'Atlantic/South_Georgia':$gmt = "-2"; + break; + case 'Atlantic/Azores':$gmt = "-1"; + break; + case 'Europe/Dublin':$gmt = "0"; + break; + case 'Europe/Belgrade':$gmt = "+1"; + break; + case 'Europe/Minsk':$gmt = "+2"; + break; + case 'Asia/Kuwait':$gmt = "+3"; + break; + case 'Asia/Tehran':$gmt = "+3.30"; + break; + case 'Asia/Muscat':$gmt = "+4"; + break; + case 'Asia/Yekaterinburg':$gmt = "+5"; + break; + case 'Asia/Kolkata':$gmt = "+5.30"; + break; + case 'Asia/Katmandu':$gmt = "+5.45"; + break; + case 'Asia/Dhaka':$gmt = "+6"; + break; + case 'Asia/Rangoon':$gmt = "+6.30"; + break; + case 'Asia/Krasnoyarsk':$gmt = "+7"; + break; + case 'Asia/Brunei':$gmt = "+8"; + break; + case 'Asia/Seoul':$gmt = "+9"; + break; + case 'Australia/Darwin':$gmt = "+9.30"; + break; + case 'Australia/Canberra':$gmt = "+10"; + break; + case 'Asia/Magadan':$gmt = "+11"; + break; + case 'Pacific/Fiji':$gmt = "+12"; + break; + case 'Pacific/Tongatapu':$gmt = "+13"; + break; + } + return $gmt; +} diff --git a/extdbms/gear_ready.php b/extdbms/gear_ready.php new file mode 100644 index 0000000..994a29c --- /dev/null +++ b/extdbms/gear_ready.php @@ -0,0 +1,118 @@ + + + +[ 돌아가기 ] + + + + + + + + + + + + + + + +
    CPUHDDOS수량
    +
    +장비번호 : + +OS : +작업자 : + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    가용장비번호CPURAMHDDBRAND포맷보류recieverelease비고DISUSE현재이전READYREADYREADY
    + + + + + +
    + + + diff --git a/extdbms/gear_ready_up.php b/extdbms/gear_ready_up.php new file mode 100644 index 0000000..8c0efe0 --- /dev/null +++ b/extdbms/gear_ready_up.php @@ -0,0 +1,24 @@ + + + + diff --git a/extdbms/header.php b/extdbms/header.php new file mode 100644 index 0000000..3f6658a --- /dev/null +++ b/extdbms/header.php @@ -0,0 +1,51 @@ + + + + + +<?=$site_title?> + + + + + + + + +/style.css' type='text/css' /> + + + + + diff --git a/extdbms/index.html b/extdbms/index.html new file mode 100644 index 0000000..699efb7 --- /dev/null +++ b/extdbms/index.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/extdbms/index.php b/extdbms/index.php new file mode 100644 index 0000000..ff99753 --- /dev/null +++ b/extdbms/index.php @@ -0,0 +1,16 @@ +load(); + $control = new SiteController(); + return $control->dashboard(); +} catch (\Exception $e) { + echo $e->getMessage(); +} diff --git a/extdbms/ipsearch.php b/extdbms/ipsearch.php new file mode 100644 index 0000000..b774d99 --- /dev/null +++ b/extdbms/ipsearch.php @@ -0,0 +1,146 @@ + + + +
    +[ 돌아가기 ] + +
    +IP 입력 : + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    CODENAMESERVERIPSWNOTETELMAIL
    + + + diff --git a/extdbms/jarvis_email.mp3 b/extdbms/jarvis_email.mp3 new file mode 100644 index 0000000..2b2fa63 Binary files /dev/null and b/extdbms/jarvis_email.mp3 differ diff --git a/extdbms/lib.php b/extdbms/lib.php new file mode 100644 index 0000000..fae4a87 --- /dev/null +++ b/extdbms/lib.php @@ -0,0 +1,81 @@ +view->siteinfo = $this->getSiteInfo(); + $this->getClientModel()->where(["Client_Code" => $datas['client_code']]); + $entity = $this->getClientModel()->getEntity(); + if (!$entity) { + throw new \Exception($datas['client_code'] . "에 해당하는 고객이 존재하지 않습니다."); + } + $this->view->client = $entity; + return $this->render('depositbillpaper'); + } +} diff --git a/extdbms/lib/Controllers/CommonController.php b/extdbms/lib/Controllers/CommonController.php new file mode 100644 index 0000000..77757b8 --- /dev/null +++ b/extdbms/lib/Controllers/CommonController.php @@ -0,0 +1,75 @@ +_clientModel === null) { + $this->_clientModel = new ClientModel(); + } + return $this->_clientModel; + } + final protected function getServiceModel(): ServiceModel + { + if ($this->_serviceModel === null) { + $this->_serviceModel = new ServiceModel(); + } + return $this->_serviceModel; + } + + final public function getSiteInfo(): array + { + $domain = array_key_exists("HTTP_HOST", $_SERVER) ? $_SERVER["HTTP_HOST"] : false; + switch ($domain) { + case 'dbms.prime-idc.jp': + $datas = [ + "id" => "PRIMEIDC", + "domain" => "dbms.prime-idc.jp", + "name" => "PrimeIDC", + "email" => "primeidc.jp@gmail.com", + "banks" => [ + ["id" => "331301-04-217387", "name" => '국민은행', "owner" => "주)듀나미스"] + ], + ]; + break; + case "dbms.itsolution-idc.jp": + $datas = [ + "id" => "ITSOLUTION", + "domain" => "dbms.itsolution-idc.jp", + "name" => "Itsolution", + "email" => "support@itsoution-idc.jp", + "banks" => [ + ["id" => "9002-1932-1654-1", "name" => '새마을금고', "owner" => "주식회사 르호봇"], + ["id" => "351-0995-6751-73", "name" => '농협', "owner" => "주식회사 르호봇"], + ], + ]; + break; + case 'dbms.gdidc.jp': + $datas = [ + "id" => "GDIDC", + "domain" => "dbms.gdidc.jp", + "name" => "GDIDC", + "email" => "support@gdidc.jp", + "banks" => [ + ["id" => "1005-204-100758", "name" => '우리은행', "owner" => " (주)브엘라해로이"], + ], + ]; + break; + default: + $datas = []; + break; + } + return $datas; + } +} //Class diff --git a/extdbms/lib/Controllers/SiteController.php b/extdbms/lib/Controllers/SiteController.php new file mode 100644 index 0000000..30aa6ed --- /dev/null +++ b/extdbms/lib/Controllers/SiteController.php @@ -0,0 +1,66 @@ +_service === null) { + $this->_service = new ServiceService(); + } + return $this->_service; + } + + public function dashboard() + { + // 최근7일 신규서버수 + //예외,service_line = "test","substitution" + $excepts = ["test", "substitution"]; + $this->day = intval(getenv("SITE_DASHBOARD_DAY") ?? 7); + $this->newServers = $this->getService()->getNewServerCount($this->day, $excepts); + // 금일기준 미납서버수 + //예외,service_line = "test","substitution",C012:게임윙,C116:WinIDC,C219:IDC-JP + $excepts = ["test", "substitution", 'C116', 'C012', 'C219']; + $this->unPayments = $this->getService()->getUnPaymentCount($excepts); + return $this->render(__FUNCTION__); + } + + //서비스카운팅 , total_counting.php + public function totalcount(string $sitekey): string + { + $this->siteInfo = DBMS_SITEINFOS[$sitekey]; + $this->totalcount = $this->getService()->getTotalCount($this->siteInfo); + // echo $sitekey; + // dd($this->siteInfo); + $summary = array(); + foreach ($this->siteInfo['totalcount_types'] as $type) { + $summary[$type] = array("Tokyo" => 0, "Chiba" => 0); + } + foreach ($this->totalcount as $company => $service) { + $summary[$company] = array("Tokyo" => 0, "Chiba" => 0); + foreach ($service as $name => $location) { + $summary[$company]['Tokyo'] += $location['Tokyo']; + $summary[$name]['Tokyo'] += $location['Tokyo']; + $summary[$company]['Chiba'] += $location['Chiba']; + $summary[$name]['Chiba'] += $location['Chiba']; + } + } + $total = array("Tokyo" => 0, "Chiba" => 0); + foreach ($this->siteInfo['totalcount_types'] as $type) { + $total['Tokyo'] += $summary[$type]['Tokyo']; + $total['Chiba'] += $summary[$type]['Chiba']; + } + $this->summary = $summary; + $this->total = $total; + return $this->render(__FUNCTION__); + } +} //Class diff --git a/extdbms/lib/Core/Constants.php b/extdbms/lib/Core/Constants.php new file mode 100644 index 0000000..e07f751 --- /dev/null +++ b/extdbms/lib/Core/Constants.php @@ -0,0 +1,49 @@ + [ + "id" => "PRIMEIDC", + "domain" => "dbms.prime-idc.jp", + "name" => "PrimeIDC", + "email" => "primeidc.jp@gmail.com", + "totalcount_types" => ["normal", "defence", "solo", "substitution", "test"], + "totalcount_customers" => [ + "idcjp" => "Client_Code NOT IN ('C116','C012','C636')", + "winidc" => "Client_Code='C116'", + "gamewing" => "Client_Code='C012'", + "GDIDC" => "Client_Code='C636'", + ], + "banks" => [ + ["id" => "331301-04-217387", "name" => '국민은행', "owner" => "주)듀나미스"] + ] + ], + 'dbms.itsolution-idc.jp' => [ + "id" => "ITSOLUTION", + "domain" => "dbms.itsolution-idc.jp", + "name" => "Itsolution", + "email" => "support@itsoution-idc.jp", + "totalcount_types" => ["normal", "defence", "solo", "substitution", "test"], + "totalcount_customers" => [ + "winidc" => "Client_Code NOT IN ('C237')", + "bosch" => "Client_Code='C237'", + ], + "banks" => [ + ["id" => "9002-1932-1654-1", "name" => '새마을금고', "owner" => "주식회사 르호봇"], + ["id" => "351-0995-6751-73", "name" => '농협', "owner" => "주식회사 르호봇"], + ], + ], + 'dbms.gdidc.jp' => [ + "id" => "GDIDC", + "domain" => "dbms.gdidc.jp", + "name" => "GDIDC", + "email" => "support@gdidc.jp", + "totalcount_types" => ["normal", "defence", "solo", "substitution", "test"], + "totalcount_customers" => [ + "gdidc" => "", + ], + "banks" => [ + ["id" => "1005-204-100758", "name" => '우리은행', "owner" => " (주)브엘라해로이"], + ], + ] +]); diff --git a/extdbms/lib/Core/Controller.php b/extdbms/lib/Core/Controller.php new file mode 100644 index 0000000..658d487 --- /dev/null +++ b/extdbms/lib/Core/Controller.php @@ -0,0 +1,35 @@ +view = new View(); + } // + final public function setDebug($debug) + { + $this->_debug = $debug; + } + final public function getDebug() + { + return $this->_debug; + } + final public function __get($name) + { + return $this->view->$name; + } + final public function __set($name, $value) + { + $this->view->$name = $value; + } + public function render($file) + { + return $this->view->render($file); + } +} //Class diff --git a/extdbms/lib/Core/Entity.php b/extdbms/lib/Core/Entity.php new file mode 100644 index 0000000..39bfc3a --- /dev/null +++ b/extdbms/lib/Core/Entity.php @@ -0,0 +1,30 @@ +values = $datas; + } // + final public function setDebug($debug) + { + $this->_debug = $debug; + } + final public function getDebug() + { + return $this->_debug; + } + + final public function __get($name) + { + return $this->_values[$name]; + } + final public function __set($name, $value) + { + $this->_values[$name] = $value; + } +} //Class diff --git a/extdbms/lib/Core/Model.php b/extdbms/lib/Core/Model.php new file mode 100644 index 0000000..a6f0d5a --- /dev/null +++ b/extdbms/lib/Core/Model.php @@ -0,0 +1,182 @@ + "SELECT *", "JOIN" => "", "ORDERBY" => "", "LIMIT" => ""]; + private $_wheres = []; + private $_lastQuery = ""; + protected function __construct() {} // + + abstract public function getTable(): string; + abstract public function getPKField(): string; + abstract public function getTitleField(): string; + abstract public function getEntity(): Entity; + abstract public function getEntitys(): mixed; + final public function getConnect(): PDO + { + if ($this->_db === null) { + // $dsn = sprintf("%s:host=%s;dbname=%s;charset=%s", getenv('DATABASE_DRIVER'), getenv('DATABASE_HOST'), getenv('DATABASE_DB'), getenv('DATABASE_CHARSET')); + // $this->_db = new PDO($dsn, getenv('DATABASE_ID'), getenv('DATABASE_PASSWORD')); + $driver = $_ENV['DATABASE_DRIVER'] ?? $_SERVER['DATABASE_DRIVER'] ?? 'mysql'; + $host = $_ENV['DATABASE_HOST'] ?? $_SERVER['DATABASE_HOST'] ?? 'localhost'; + $dbname = $_ENV['DATABASE_DB'] ?? $_SERVER['DATABASE_DB'] ?? 'test'; + $charset = $_ENV['DATABASE_CHARSET'] ?? $_SERVER['DATABASE_CHARSET'] ?? 'utf8'; + $user = $_ENV['DATABASE_ID'] ?? $_SERVER['DATABASE_ID'] ?? 'root'; + $pass = $_ENV['DATABASE_PASSWORD'] ?? $_SERVER['DATABASE_PASSWORD'] ?? ''; + $dsn = sprintf("%s:host=%s;dbname=%s;charset=%s", $driver, $host, $dbname, $charset); + try { + $this->_db = new PDO($dsn, $user, $pass); + $this->_db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); + $this->_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); + } catch (PDOException $e) { + throw new \Exception("❌ DB 연결 실패: " . $e->getMessage()); + } + } + return $this->_db; + } + final public function setDebug($debug) + { + $this->_debug = $debug; + } + final public function getDebug() + { + return $this->_debug; + } + final public function getLastQuery(): string + { + return $this->_lastQuery; + } + private function getValue(mixed $values): string|null + { + if ($values === null) { + return $values; + } + $temps = []; + if (is_array($values)) { + foreach ($values as $value) { + $temps[] = is_string($value) ? "'{$value}'" : $value; + } + } else { + $temps[] = is_string($values) ? "'{$values}'" : $values; + } + return implode(",", $temps); + } + final public function getData(mixed $columns, mixed $values = null, $delimeter = ","): string + { + $temps = []; + if (is_array($columns)) { + foreach ($columns as $column => $value) { + $value = $this->getValue($value); + $temps[] = $column . $value === null ? "" : $value; + } + } else { + $value = $this->getValue($values); + $temps[] = $columns . $value === null ? "" : $value; + } + throw new \Exception("DATA:" . $columns . $value === null ? "NULL" : $value); + var_export($temps); + return implode($delimeter, $temps); + } + final public function where(mixed $columns, mixed $values = null, string $delimeter = "AND"): void + { + $this->_wheres[] = $this->getData($columns, $values, $delimeter); + } + final public function orWhere(mixed $columns, mixed $values = null, string $delimeter = "OR"): void + { + $this->where($columns, $values, $delimeter); + } + final public function whereIn(string $column, array $values, string $delimeter = "AND", $range = "IN") + { + $this->_wheres[] = "{$delimeter} {$column} {$range} (" . $this->getValue($values) . ")"; + } + final public function whereNotIn(string $column, array $values, string $delimeter = "AND", $range = "NOT IN") + { + $this->whereIn($column, $values, $delimeter, $range); + } + final public function getWhere(): string + { + return count($this->_wheres) ? "WHERE " . implode(" ", $this->_wheres) : ""; + } + + final public function execute(string $query): bool|PDOStatement + { + if ($this->_debug) { + echo "\nQuery:" . $query . "\n"; + } + $this->_lastQuery = $query; + $stmt = $this->getConnect()->prepare($query); + $stmt->execute(); + if ($this->_reset) { + $this->_wheres = []; + $this->_querys = ["SELECT" => "SELECT *", "JOIN" => "", "ORDERBY" => "", "LIMIT" => ""]; + } + return $stmt; + } + + //CURD문 + final protected function create_process(mixed $columns, mixed $values = null): bool|PDOStatement + { + $query = sprintf("INSERT INTO %s VALUES(%s) %s", $this->getTable(), $this->getData($columns, $values), $this->getWhere()); + return $this->execute($query); + } // + final protected function modify_process(mixed $columns, mixed $values = null): bool|PDOStatement + { + $query = sprintf("UPDATE %s SET %s %s", $this->getTable(), $this->getData($columns, $values), $this->getWhere()); + return $this->execute($query); + } // + final protected function delete_process(): bool|PDOStatement + { + $query = sprintf("DELETE FROM %s %s", $this->getTable(), $this->getWhere()); + return $this->execute($query); + } // + public function select(mixed $columns = "*"): void + { + $this->_querys["SELECT"] = "SELECT " . is_array($columns) ? implode(",", $columns) : $columns . " FROM {$this->getTable()} WHERE {$this->getWhere()}"; + } + final public function join(string $table, mixed $match = null, $type = ""): void + { + $this->_querys["JOIN"] = " {$type} JOIN {$table} ON {$match}"; + } + final public function orderBy(mixed $columns, mixed $direction = null): void + { + $this->_querys["ORDERBY"] = " ORDERBY " . $this->getData($columns, $direction, " "); + } + final public function limit(int $start, mixed $end = "", bool $offset = false): void + { + $this->_querys["LIMIT"] = " LIMIT {$start} " . $offset ? "OFFSET " : "," . $end; + } + + //Result + protected function getResult($mode = PDO::FETCH_ASSOC): mixed + { + $query = "{$this->_querys['SELECT']} FROM {$this->getTable()} {$this->getWhere()} {$this->_querys['JOIN']} {$this->_querys['ORDERBY']}"; + $stmt = $this->execute($query); + return $stmt->fetch($mode); + } + protected function getResults($mode = PDO::FETCH_ASSOC): mixed + { + $query = "{$this->_querys["SELECT"]} FROM {$this->getTable()} {$this->getWhere()} {$this->_querys['JOIN']} {$this->_querys['ORDERBY']}"; + $query = "{$this->_querys['SELECT']} {$this->_querys['JOIN']} {$this->_querys['ORDERBY']}"; + $stmt = $this->execute($query); + return $stmt->fetchAll($mode); + } + final public function countAllResults(string $column = "*", $reset = true): int + { + $this->_reset = $reset; + $query = "SELECT COUNT({$column}) FROM {$this->getTable()} {$this->getWhere()} {$this->_querys['JOIN']} {$this->_querys['ORDERBY']}"; + $stmt = $this->execute($query); + $count = $stmt->fetchColumn(0); + $this->_reset = true; + return $count; + } +} //Class \ No newline at end of file diff --git a/extdbms/lib/Core/Service.php b/extdbms/lib/Core/Service.php new file mode 100644 index 0000000..4d49872 --- /dev/null +++ b/extdbms/lib/Core/Service.php @@ -0,0 +1,17 @@ +_debug = $debug; + } + final public function getDebug() + { + return $this->_debug; + } +} //Class diff --git a/extdbms/lib/Core/View.php b/extdbms/lib/Core/View.php new file mode 100644 index 0000000..1ac0cb2 --- /dev/null +++ b/extdbms/lib/Core/View.php @@ -0,0 +1,40 @@ +_debug = $debug; + } + final public function getDebug() + { + return $this->_debug; + } + + final public function __get($name) + { + return $this->_values[$name]; + } + final public function __set($name, $value) + { + $this->_values[$name] = $value; + } + + public function render($file) + { + $viewFileName = sprintf("lib/View/%s", $file); + $fullPathFile = "./" . $viewFileName . '.php'; + if (!file_exists($fullPathFile)) { + throw new \Exception(sprintf("%s 파일이 존재하지 않습니다.", $fullPathFile)); + } + ob_start(); + include $fullPathFile; + return ob_end_flush(); + } +} //Class diff --git a/extdbms/lib/Entities/AddDbEntity.php b/extdbms/lib/Entities/AddDbEntity.php new file mode 100644 index 0000000..07e7b06 --- /dev/null +++ b/extdbms/lib/Entities/AddDbEntity.php @@ -0,0 +1,13 @@ +getResult()); + } // + final public function getEntitys(): array + { + $entitys = []; + foreach ($this->getResults() as $row) { + $entitys[] = new Entity($row); + } + return $entitys; + } // +} //Class diff --git a/extdbms/lib/Models/ClientModel.php b/extdbms/lib/Models/ClientModel.php new file mode 100644 index 0000000..eede908 --- /dev/null +++ b/extdbms/lib/Models/ClientModel.php @@ -0,0 +1,42 @@ +getResult()); + } // + final public function getEntitys(): array + { + $entitys = []; + foreach ($this->getResults() as $result) { + $entitys[] = new Entity($result); + } + return $entitys; + } // +} //Class diff --git a/extdbms/lib/Models/CommonModel.php b/extdbms/lib/Models/CommonModel.php new file mode 100644 index 0000000..6b17cfb --- /dev/null +++ b/extdbms/lib/Models/CommonModel.php @@ -0,0 +1,13 @@ +getResult()); + } // + final public function getEntitys(): array + { + $entitys = []; + foreach ($this->getResults() as $result) { + $entitys[] = new Entity($result); + } + return $entitys; + } // +} //Class diff --git a/extdbms/lib/Services/CommonService.php b/extdbms/lib/Services/CommonService.php new file mode 100644 index 0000000..e4d8abc --- /dev/null +++ b/extdbms/lib/Services/CommonService.php @@ -0,0 +1,13 @@ +getClassName(); + } + public function getModel(): ServiceModel + { + if ($this->_model === null) { + $this->_model = new ServiceModel(); + $this->_model->setDebug(true); + } + return $this->_model; + } + final public function getClientModel(): ClientModel + { + if ($this->_clientModel === null) { + $this->_clientModel = new ClientModel(); + } + return $this->_clientModel; + } + public function getAdddbModel(): AdddbModel + { + if ($this->_adddbModel === null) { + $this->_adddbModel = new AdddbModel(); + } + return $this->_adddbModel; + } + + public function getNewServerCount(int $day, array $excepts): int|string + { + $this->getModel()->where("service_open_date > DATE_ADD(now(), INTERVAL -{$day} DAY)"); + $this->getModel()->where("service_status", 'o'); + $this->getModel()->whereNotIn("service_line", $excepts); + $count = $this->getModel()->countAllResults(); + throw new \Exception("TEST"); + // echo "
    " . $this->getModel()->getLastQuery(); + return $count; + } + public function getUnPaymentCount(array $excepts): int|string + { + $this->getModel()->where("service_payment_date > now()"); + $this->getModel()->where("service_status", 'o'); + $this->getModel()->whereNotIn("service_line", $excepts); + $count = $this->getModel()->countAllResults(); + // throw new \Exception($this->getModel()->getLastQuery()); + return $count; + } + + private function getTotalCountByDistriction(string $where, string $type, string $switch_code1, string $switch_code2): int + { + $this->getModel()->where($where); + $this->getModel()->where(["service_line" => $type, "service_status" => 'o']); + $this->getModel()->where("service_sw BETWEEN '{$switch_code1}' AND '{$switch_code2}'"); + $count = $this->getModel()->countAllResults(); + // echo "
    " . $this->getModel()->getLastQuery(); + return $count; + } + final public function getTotalCount(array $siteinfo): array + { + $temps = array(); + foreach ($siteinfo['totalcount_customers'] as $customer => $where) { + $temps[$customer] = []; + foreach ($siteinfo['totalcount_types'] as $type) { + $temps[$customer][$type]['Chiba'] = $this->getTotalCountByDistriction($where, $type, 'C00%', 'C64%'); + $temps[$customer][$type]['Tokyo'] = $this->getTotalCountByDistriction($where, $type, 'C80%', 'C99%'); + } //foreach + // echo var_dump($temps); + } //foreach + return $temps; + } + final public function getExtras(string $addDB_code): mixed + { + $this->getAdddbModel()->select('DISTINCT(service_code) AS service_code'); + $this->getAdddbModel()->where('addDB_code', $addDB_code); + $service_codes = []; + foreach ($this->getAdddbModel()->getEntitys() as $entity) { + $service_codes = $entity->getServiceCode(); + } + // 공백 값 제거 + $service_codes = array_filter($service_codes, function ($value) { + return !empty(trim($value)); // 공백 제거 후 비어있지 않은 값만 필터링 + }); + // 배열 키를 다시 정렬 (선택 사항) + $service_codes = array_values($service_codes); + // echo "
    " . $this->getAdddbModel()->getLastQuery(); + // dd($service_codes); + if (!count($service_codes)) { + // echo $this->getAdddbModel()->getLastQuery(); + return []; + } + $this->getModel()->select("clientdb.Client_Name,{$this->getModel()->getTable()}.server_code,{$this->getModel()->getTable()}.service_ip,{$this->getModel()->getTable()}.service_os,{$this->getModel()->getTable()}.service_sw"); + $this->getModel()->join('clientdb', "{$this->getModel()->getTable()}.client_code=clientdb.Client_Code"); + $this->getModel()->whereIn('service_code', $service_codes); + // $sql = sprintf("SELECT C.Client_Name,S.server_code,S.service_ip,S.service_os,S.service_sw + // FROM servicedb AS S JOIN clientdb AS C ON S.client_code = C.Client_Code + // WHERE S.service_code IN (SELECT service_code FROM adddb WHERE addDB_code ='%s')", $code); + // return $this->getRows($sql); + return $this->getModel()->getEntitys(); + } + + public function getNews(int $limit = 5): array + { + $this->getModel()->orderBy($this->getModel()->getPKField(), direction: 'DESC'); + $this->getModel()->limit($limit); + return $this->getModel()->getEntitys(); + } + + public function getServiceByServiceCode(string $service_code): ServiceEntity|null + { + $this->getModel()->where("service_code", $service_code); + return $this->getModel()->getEntity(); + } +} diff --git a/extdbms/lib/View/dashboard.php b/extdbms/lib/View/dashboard.php new file mode 100644 index 0000000..9715d0e --- /dev/null +++ b/extdbms/lib/View/dashboard.php @@ -0,0 +1,101 @@ + +
    + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    0
    +
    새 쪽지 알림
    +
    +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    newServers ?>
    +
    최근 day ?>일간 신규서버 대수
    +
    +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    0
    +
    요청업무 알림
    +
    +
    +
    + + + +
    +
    +
    +
    +
    +
    +
    + +
    +
    +
    unPayments ?>
    +
    금일 기준 미납 서버
    +
    +
    +
    + + + +
    +
    +
    +
    + + + + +
    + \ No newline at end of file diff --git a/extdbms/lib/View/depositbillpaper.php b/extdbms/lib/View/depositbillpaper.php new file mode 100644 index 0000000..0b80a3d --- /dev/null +++ b/extdbms/lib/View/depositbillpaper.php @@ -0,0 +1,79 @@ +
    +

    ※ 청구서를 받으셨던 서버인 경우에도 발행하는 시점까지 미납인 경우 재 발행됩니다. 입금을 하신 경우에는 연락 부탁드립니다.

    +

    입금 하실 계좌 번호 입니다.

    + accounts as $account) { ?> +
    + 은행명 :
    + 계좌번호 :
    + 예금주: +
    + +

    고객명과 입금자명이 상이한 경우 반드시 확인 연락이 필요합니다.
    + 입금 시 당 청구서에 기재되어 있는 고객명으로 입금해주시면 별도의 입금 확인 전화가 필요없습니다.

    +
    +

    ※ 할인안내
    + - 서버비 입금시 3개월 이상 선납하는 고객분들께 드리는 할인혜택 (중도 해약하시더라도 환불은 되지 않습니다.)
    + 3개월 - 10%, 6개월 - 15%, 12개월 -20% 의 비율로 결제금액을 할인 해 드리고 있습니다.
    + - 장기사용하시는 고객분들께 드리는 할인혜택
    + 1년 이상 10%, 2년 이상 15% 3년 이상 20%, 4년 이상 25%, 최대 5년 이상 30%의 비율로 결제금액을 할인해 드리고 있습니다.
    + 단, 중도 해지 후 신규 가입시 할인혜택은 없습니다.
    +

    +
    + ※ 기타 서비스 요금 안내
    + - 도메인 구매 대행 서비스 : 도메인 1개당 3만원 (1회성 비용으로 구매를 요청하신 달에만 요금이 청구 됩니다)
    + - IP 추가 : 일반회선 10만원 / 보안회선 10만원(추가 하신 날로 부터 사용을 중지 하시는 달까지 매월 요금이 청구 됩니다.)
    + - IP 변경
    + - 단순 IP 변경의 경우(오래 사용하여 변경, 정기적인 변경, 관리자 변경 등)에는 무료로 변경 해 드리고 있습니다.
    + - IP에 문제(KCSC로 연결, 접근(원격접속) 차단, 공격을 받아 다른 IP로 변경 등)가 있어 변경 하실 경우에는 요금이 청구 됩니다.
    + * 청구비용 10만원 (1회성 비용으로 구매를 요청하신 달에만 요금이 청구 됩니다)
    + - 위 서비스는 선입금으로 제공 해 드리고 있습니다.
    + - VPN 결제일의 자정까지 결제처리가 안될시 자동차단처리가 되게됩니다.
    + 이점 양해 부탁드리겠습니다.
    + ※ 이용 해지시에는 사용하셨던 IP에 연결 되어 있는 도메인들은 꼭 연결 해제를 해 주시기 바랍니다. +

    + 보장 트래픽 : 기본 트래픽 사용량은 IN 10Mbps / OUT 10Mbps 입니다
    + 보장 트래픽 이상을 사용할 경우 트래픽 과금이 발생할 수 있습니다
    +

    ※ 알림(필히 숙지 하여 주시기 바랍니다.)
    +
    + 1. site['Title'] ?>에 등록 하신 고객명 / 전화번호 / 메일 주소는 차후 고객님 확인을 위해 사용 되니 고객님께서도 필히 알고 계셔야 합니다.
    + 또한 전화번호와 메일주소 또는 메신져는 site['Title'] ?>에서 고객님에게 연락을 취해야 할 경우 사용됩니다.변동사항이 있을 경우에는
    + 반드시 site['Title'] ?>에 연락을 하여 변경해 주시기 바랍니다. +

    +

    변동사항을 site['Title'] ?>에게 알려 주시지 않거나, site['Title'] ?>에 등록된 연락처로 연락을 해도 연결이 안되어 발생하는 피해에 대해서는
    + 저희 site['Title'] ?>에서 책임을 지지 않습니다.

    +

    2. 결제는 납부기한내에 해 주셔야 합니다.
    + 혹시라도 납부기한내에 결제를 하지 못하실 경우는 미리 연락을 주시면 납부기한 후 최대 3일간은 서버 접속이 유지됩니다.
    + 하지만 납부기한까지 연락을 안주시거나 연락을 하셨더라도 납부기한을 3일 초과하시면 서버 접속이 차단되고 차단후에도
    + 3일동안 연락이 없을 경우 자동 해지 처리 되고 데이터는 삭제처리 되오니 주의 하시기 바랍니다.

    +

    3. 환불정책
    + 월단위 계약(계산)이므로 중도 환불(일할계산)은 안됩니다.
    + 단, 셋팅에 문제가 있거나 기타 문제가 있을 경우 서버를 인계 받으시고 3일 안으로는 환불 요청을 하실 수 있습니다. +

    +

    4. 서버 운영중 해킹으로 발생한 피해는 저희 site['Title'] ?>에서 책임을 지지 않습니다.
    + 서버운영에 있어서 보안에 각별히 주의 부탁드리겠습니다.
    + <해킹 대비 및 보안조치사항>
    + - 주기적인 window 보안 업데이트
    + - linux ,mysql , php, jsp 보안권고
    + - 서버 원격 접속 패스워드 및 mssql 패스워드 변경
    + * 영문,숫자,특수문자 8자리 이상 조합하여 사용 권고
    + * 매월 주기적으로 패스워드 변경
    + * 패스워드 노출 시 즉각 변경
    + - 서버내 방화벽에서 특정IP만 서버에 접속할 수 있도록 방화벽 설정
    + - 원격접속 포트 기본포트에서 변경 설정 (기본 포트 window : 3389 / linux : 22 )
    + + + * 무료 설치 : Microsoft Security Essential 설치
    + + - 웹서비스 보안을 위한 웹방화벽 설치 대행서비스(유료) +

    +

    # 원격포트 변경 및 원격접속 제한 설정은 site['Title'] ?>홈페이지에 등록되어 있습니다.
    + 자세한 사항은 센터로 문의주시기 바랍니다.

    +

    5. 서버 운영중 장비부품 문제(예:하드디스크의 고장 등)로 발생한 피해는 저희 site['Title'] ?>에서 책임을 지지 않습니다.
    + (요청하시면 백업을 위해 무료로 추가 하드를 제공해 드리고 있지만, 추가가 불가능한 경우도 있습니다.
    + 번거로우시더라도 주기적인 데이터백업을 부탁드리겠습니다.)

    +
    \ No newline at end of file diff --git a/extdbms/lib/View/extraservice.php b/extdbms/lib/View/extraservice.php new file mode 100644 index 0000000..3ac39c4 --- /dev/null +++ b/extdbms/lib/View/extraservice.php @@ -0,0 +1,34 @@ + + + + + + + + + + + + + results as $result) {?> + + + + + + + + + +
    고객명장비명IP사용OS위치
    Client_Name ?>server_code ?>service_ip ?>service_os ?>service_sw ?>
    \ No newline at end of file diff --git a/extdbms/lib/View/total_counting.php b/extdbms/lib/View/total_counting.php new file mode 100644 index 0000000..31a16b0 --- /dev/null +++ b/extdbms/lib/View/total_counting.php @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + results as $company => $service) {?> + + + $location) {?> + + + + + + + + + + + + + + _values['types'] as $type) {?> + + + + + + + + + +
    고객명일반방어전용대체테스트합계
    도쿄치바도쿄치바도쿄치바도쿄치바도쿄치바합계도쿄치바합계
    summary[$company]['Tokyo'] - $service['test']['Tokyo']; ?>summary[$company]['Chiba'] - $service['test']['Chiba']; ?>summary[$company]['Tokyo'] - $service['test']['Tokyo'] + $this->summary[$company]['Chiba'] - $service['test']['Chiba']; ?>
    총합계summary[$type]['Tokyo']; ?>summary[$type]['Chiba']; ?>summary['test']['Tokyo'] + $this->summary['test']['Chiba']; ?>total['Tokyo'] - $this->summary['test']['Tokyo']; ?>total['Chiba'] - $this->summary['test']['Chiba']; ?>total['Tokyo'] - $this->summary['test']['Tokyo'] + $this->total['Chiba'] - $this->summary['test']['Chiba']; ?>
    \ No newline at end of file diff --git a/extdbms/lib/autoload.php b/extdbms/lib/autoload.php new file mode 100644 index 0000000..f095ee4 --- /dev/null +++ b/extdbms/lib/autoload.php @@ -0,0 +1,7 @@ +loading. class path : %s
    \n", $class); + //exit(); + require_once $class; +}); diff --git a/extdbms/member_memo.php b/extdbms/member_memo.php new file mode 100644 index 0000000..8a1844e --- /dev/null +++ b/extdbms/member_memo.php @@ -0,0 +1,207 @@ + + $total) {$list_no = $total;} +$total_page = ($total != '0') ? ceil($total / $list_no) : '0'; + +$page = $_GET[page]; + +if (!$page) {$page = 1;} elseif ($page >= $total_page) {$page = $total_page;} else { $page = $page;} + +$next_page = ($page-'1') * $list_no; +$next_no = $next_page + $list_no; + +$result = @mysql_query($query, $db_connect) or die($db_q_error); +?> + + +
    + + + + + + + + + + + + + + + + +긴급'; + break; + case '2':$data[comment_case] = '지시'; + break; + case '3':$data[comment_case] = '전달'; + break; + case '4':$data[comment_case] = '기타'; + break; + default:$data[comment_case] = '일반'; + break; + } + $content = nl2br($data[content]); + if ($_GET[page] == 'default') {$content = cut_str($content, 180, " ... more");} else {} + ?> + + + + + + + + + + + +
    구분보낸사람내용보낸날짜보낸시간받는사람확인
    $data[receiver]";}?> +확인완료"; + } else { + + if ($data[receiver] == '전체' or $data[receiver] == '팀장' or $data[receiver] == '영업' or $data[receiver] == '1팀' or $data[receiver] == '2팀' or $data[receiver] == '시스템' or $data[receiver] == '네트워크' or $data[receiver] == '알바') { + $msg = "
    + + + + + + +
    "; + } else { + $msg = "
    "; + } + } + ?> + +
    + + + + diff --git a/extdbms/member_memo_sent.php b/extdbms/member_memo_sent.php new file mode 100644 index 0000000..5c151bf --- /dev/null +++ b/extdbms/member_memo_sent.php @@ -0,0 +1,190 @@ + + $total) {$list_no = $total;} +$total_page = ($total != '0') ? ceil($total / $list_no) : '0'; + +$page = $_GET[page]; + +if (!$page) {$page = 1;} elseif ($page >= $total_page) {$page = $total_page;} else { $page = $page;} + +$next_page = ($page-'1') * $list_no; +$next_no = $next_page + $list_no; + +$result = @mysql_query($query, $db_connect) or die($db_q_error); +?> + + +
    + + + + + + + + + + + + + + + +긴급'; + break; + case '2':$data[comment_case] = '지시'; + break; + case '3':$data[comment_case] = '전달'; + break; + case '4':$data[comment_case] = '기타'; + break; + default:$data[comment_case] = '일반'; + break; + } + ?> + + + + + + + + + + +
    구분내용보낸날짜보낸시간받는사람확인
    $data[receiver]";}?> + + +
    + + + + + + diff --git a/extdbms/member_memo_up.php b/extdbms/member_memo_up.php new file mode 100644 index 0000000..f5c6d09 --- /dev/null +++ b/extdbms/member_memo_up.php @@ -0,0 +1,29 @@ +"; +} else { + echo ""; +} diff --git a/extdbms/mk3.php b/extdbms/mk3.php new file mode 100644 index 0000000..7faf6d1 --- /dev/null +++ b/extdbms/mk3.php @@ -0,0 +1,245 @@ + + +
    + + + + +
    + + + +
    + >전체
    + >당일
    + >1일전
    + >2일전
    + >3일전
    + >커스텀(수정중)
    + + +
    + + $total) {$list_no = $total;} +$total_page = ($total != '0') ? ceil($total / $list_no) : '0'; + +$page = $_GET[curPage]; + +if (!$page) {$page = 1;} elseif ($page >= $total_page) {$page = $total_page;} else { $page = $page;} + +$next_page = ($page-'1') * $list_no; +$next_no = $next_page + $list_no; + +switch ($_GET[mode]) { + case "today": + //당일 + $query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') AND service_payment_date = CURDATE() ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit " . $next_page . "," . $next_no; + break; + case "1day": + //1일전 + $query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') AND service_payment_date = Date_Add(curdate(),INTERVAL 1 DAY) ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit " . $next_page . "," . $next_no; + break; + case "2day": + //2일전 + $query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') AND service_payment_date = Date_Add(curdate(),INTERVAL 2 DAY) ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit " . $next_page . "," . $next_no; + break; + case "3day": + //3일전 + $query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') AND service_payment_date = Date_Add(curdate(),INTERVAL 3 DAY) ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit " . $next_page . "," . $next_no; + break; + + case "custom": + //커스텀 + //$query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') AND service_payment_date = CURDATE() Group By server_code ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit ".$next_page.",".$next_no; + $query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') AND service_payment_date = Date_Add(curdate(),INTERVAL 1 DAY) Group By server_code ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit " . $next_page . "," . $next_no; + break; + + default: + //전체 + $query = "SELECT clientdb.Client_Code,Client_Name,service_line,server_code,service_ip,service_payment_date,service_amount,service_nonpayment,service_note,adddb_case,adddb.client_code,adddb.service_code,adddb_nonpayment,adddb_payment,adddb_accountStatus,addDB_ip,addDB_payment_date FROM clientdb INNER JOIN servicedb ON clientdb.client_code = servicedb.client_code INNER JOIN adddb ON servicedb.service_code = adddb.service_code WHERE servicedb.service_code = adddb.service_code AND adddb.client_code not in ('C116','C219') AND adddb.adddb_accountStatus not in ('complete') ORDER BY service_payment_date,Client_Name,adddb_accountStatus ASC limit " . $next_page . "," . $next_no; + break; +} + +$result = @mysql_query($query, $db_connect) or die($db_q_error); +?> +
    +미납 서버 대수 : +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    고객명종류장비명결제일서비스 가격과금상태미납과금청구서 발행 대상비고
    ()
    +
    + 0) { + + $p_start = (($n_page - 1) * $page_scale)+'1'; + $link = ""; + $link .= "<<"; + $link .= ""; + echo $link . " "; +} +$is = ($n_page * $page_scale)+'1'; +for ($i = $is; $i < $is + $page_scale; $i++) { + + if ($i < $total_page+'1') { + if ($i == $page) {$ib = "$i";} else { $ib = $i;} + $link = ""; + $link .= $ib; + $link .= ""; + echo $link . " "; + } +} +if ($n_page < $page3) { + $link = ""; + $link .= ">>"; + $link .= ""; + echo $link; +} +?> +
    + + + +
    + + + + +
    + + + diff --git a/extdbms/mkwork.php b/extdbms/mkwork.php new file mode 100644 index 0000000..afac756 --- /dev/null +++ b/extdbms/mkwork.php @@ -0,0 +1,109 @@ + + / / + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    업체명회선장비번호장비사양스위치OS기본IP정상가할인금액서비스가
    + + +
      + +
    • + +
    • + +
    + + + +echo .$mk_q1_data[service_line].$mk_q1_data[server_code].$mk_q1_data[service_sw].$mk_q1_data[service_os].$mk_q1_data[service_ip]; +echo "/"; +echo $mk_default; +echo "/"; +echo $mk_discount; +echo "/"; +echo $mk_service; +echo "
    "; +*/ +?> diff --git a/extdbms/navigation_alert.php b/extdbms/navigation_alert.php new file mode 100644 index 0000000..2f38332 --- /dev/null +++ b/extdbms/navigation_alert.php @@ -0,0 +1,130 @@ + + + + +"; +$result = @mysql_query($query, $db_connect) or die($db_q_error); + +?> +