From 77baa7974ade41e55d85de22e7d7a54273dd442f Mon Sep 17 00:00:00 2001 From: Christopher Burger Date: Mon, 17 Sep 2018 07:57:32 -0400 Subject: RT# 39340 - removed min_selfservice dir and merged into ng_selfservice --- ng_selfservice/elements/header.php | 18 +++++++ ng_selfservice/index.php | 8 ++- ng_selfservice/ip_login.php | 105 +++++++++++++++++++++++++++++++++++++ ng_selfservice/no_access.php | 34 ++++++++++++ ng_selfservice/process_login.php | 15 ++++-- 5 files changed, 174 insertions(+), 6 deletions(-) create mode 100644 ng_selfservice/ip_login.php create mode 100644 ng_selfservice/no_access.php (limited to 'ng_selfservice') diff --git a/ng_selfservice/elements/header.php b/ng_selfservice/elements/header.php index 633996515..3ef5c6e12 100644 --- a/ng_selfservice/elements/header.php +++ b/ng_selfservice/elements/header.php @@ -1,3 +1,21 @@ +check_access( array( + 'session_id' => $_COOKIE['session_id'], + 'page' => $page, +) ); + +if ($access['error']) { + header('Location:no_access.php?error='. urlencode($access['error'])); + die(); +} + +?> + diff --git a/ng_selfservice/index.php b/ng_selfservice/index.php index 62b6562c8..06e8fc13b 100644 --- a/ng_selfservice/index.php +++ b/ng_selfservice/index.php @@ -3,7 +3,7 @@ require('freeside.class.php'); $freeside = new FreesideSelfService(); -$login_info = $freeside->login_info(); +$login_info = $freeside->login_info( array('session_id' => $_COOKIE['session_id'],)); extract($login_info); @@ -60,7 +60,7 @@ if ( $error ) { OR

- +
@@ -85,6 +85,10 @@ if ( $error ) { + + diff --git a/ng_selfservice/ip_login.php b/ng_selfservice/ip_login.php new file mode 100644 index 000000000..153065767 --- /dev/null +++ b/ng_selfservice/ip_login.php @@ -0,0 +1,105 @@ +get_mac_address( array('ip' => $ip, ) ); + +$response = $freeside->login( array( + 'username' => $mac['mac_address'], + 'domain' => 'ip_mac', +) ); + +$error = $response['error']; + +if ( $error ) { + + $title ='Login'; include('elements/header.php'); + include('elements/error.php'); + echo "Sorry "+$error; + + // header('Location:index.php?username='. urlencode($mac). + // '&domain='. urlencode($domain). + // '&email='. urlencode($email). + // '&error='. urlencode($error) + // ); + +} +else { +// sucessful login + +$session_id = $response['session_id']; + +error_log("[login] logged into freeside with session_id=$session_id, setting cookie"); + +// now what? for now, always redirect to the main page (or the select a +// customer diversion). +// eventually, other options? + +setcookie('session_id', $session_id); + +if ( $response['custnum'] || $response['svcnum'] ) { + + header("Location:main.php"); + die(); + //1; + +} elseif ( $response['customers'] ) { + //var_dump($response['customers']); +?> + + + + + + + +
+ + + + + + + + + + +
Customer + +
+
+ + + + + + diff --git a/ng_selfservice/no_access.php b/ng_selfservice/no_access.php new file mode 100644 index 000000000..b13cca93c --- /dev/null +++ b/ng_selfservice/no_access.php @@ -0,0 +1,34 @@ + + + + + Access Denied + + + + + + + Access Denied +

+ +customer_info_short( array( + 'session_id' => $_COOKIE['session_id'], +) ); + +if ( isset($customer_info['error']) && $customer_info['error'] ) { + $error = $customer_info['error']; + header('Location:index.php?error='. urlencode($error)); + die(); +} + +extract($customer_info); + +?> + +

Sorry you do not have access to the page you are trying to reach.

+ + + \ No newline at end of file diff --git a/ng_selfservice/process_login.php b/ng_selfservice/process_login.php index 15b000b14..d98281a1a 100644 --- a/ng_selfservice/process_login.php +++ b/ng_selfservice/process_login.php @@ -3,6 +3,13 @@ require('freeside.class.php'); $freeside = new FreesideSelfService(); +$ip = $_SERVER['REMOTE_ADDR']; + +if ($_POST['domain'] == "ip_mac") { + $mac_addr = $freeside->get_mac_address( array('ip' => $ip, ) ); + $_POST['username'] = $mac_addr['mac_address']; +} + $response = $freeside->login( array( 'email' => strtolower($_POST['email']), 'username' => strtolower($_POST['username']), @@ -16,9 +23,9 @@ $error = $response['error']; if ( $error ) { - header('Location:index.php?username='. urlencode($username). - '&domain='. urlencode($domain). - '&email='. urlencode($email). + header('Location:index.php?username='. urlencode($_POST['username']). + '&domain='. urlencode($_POST['domain']). + '&email='. urlencode($_POST['email']). '&error='. urlencode($error) ); die(); @@ -43,7 +50,7 @@ if ( $response['custnum'] || $response['svcnum'] ) { die(); } elseif ( $response['customers'] ) { -var_dump($response['customers']); + //var_dump($response['customers']); ?> -- cgit v1.2.1