Skip to content

Commit c5d5cf9

Browse files
kmazariegosKarla Mazariegos
andauthored
UI changes for PHP example applications (#31)
* UI changes for PHP example applications * revisions for php ui changes * PHP ui changes dsync pretty print change --------- Co-authored-by: Karla Mazariegos <karlamazariegos@karlas-mbp.lan>
1 parent 175d41c commit c5d5cf9

32 files changed

Lines changed: 1370 additions & 1203 deletions

php-admin-portal-example/router.php

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ function objectToArray($d)
6464

6565
// Routing
6666
switch (strtok($_SERVER["REQUEST_URI"], "?")) {
67-
case (preg_match("/\.css$/", $_SERVER["REQUEST_URI"]) ? true : false):
67+
case (preg_match("/\.css$/", $_SERVER["REQUEST_URI"]) ? true : false):
6868
$path = __DIR__ . "/static/css" .$_SERVER["REQUEST_URI"];
6969
if (is_file($path)) {
7070
// header("Content-Type: text/css");
@@ -85,34 +85,45 @@ function objectToArray($d)
8585

8686
//Declare main and /login routes which renders templates/generate.html
8787
case ("/"):
88-
echo $twig->render("generate.html");
88+
echo $twig->render("index.html");
8989
return true;
90-
case ("/portal"):
91-
$sessionIntent = $_POST['intent_selector'];
92-
$domain = $_POST['domain'];
93-
$domainArray = explode(" ", $domain);
94-
$orgName = $_POST['org'];
95-
96-
//check if the organization name exists, otherwise create a new organization
97-
$orgs = (new \WorkOS\Organizations()) -> listOrganizations($domainArray);
98-
99-
if ($orgs[2] != null) {
100-
echo count($orgs);
101-
$orgId = $orgs[2][0]->raw["id"];
90+
91+
case ("/provision_enterprise"):
92+
//use a session for the org_id
93+
session_start();
94+
$org_id;
95+
$organization_name = $_POST["org"] ?? null;
96+
$organization_domains = $_POST["domain"] ?? null;
97+
98+
$orgs = (new \WorkOS\Organizations())->listOrganizations(domains: [$organization_domains]);
99+
100+
if (!empty($orgs["data"])) {
101+
$org_id = $orgs["data"][0]["id"];
102102
} else {
103-
$newOrganization = (new \WorkOS\Organizations()) -> createOrganization($orgName, $domainArray);
104-
$orgId = $newOrganization->id;
103+
$organization = (new \WorkOS\Organizations())->createOrganization(
104+
name: $organization_name,
105+
domains: [$organization_domains]
106+
);
107+
// $org_id = $organization["id"];
108+
$organizationArr = objectToArray($organization);
109+
$organizationArrRaw = $organizationArr['raw'];
110+
$org_id = $organizationArrRaw["id"];
105111
}
112+
$_SESSION['org_id'] = $org_id;
113+
echo $twig->render("org_logged_in.html");
114+
return true;
106115

107-
//generate portal link
108-
$linkPayloadObject = (new \WorkOS\Portal()) -> generateLink($orgId, $sessionIntent);
116+
case ("/launch_admin_portal"):
117+
$value = $_GET['value'];
118+
session_start();
119+
$linkPayloadObject = (new \WorkOS\Portal()) -> generateLink($_SESSION['org_id'], $value);
109120
$linkPayloadArray = objectToArray($linkPayloadObject);
110121
$linkPayloadArrayRawData = $linkPayloadArray['raw'];
111122
$finalLink = $linkPayloadArrayRawData['link'];
112123
Redirect($finalLink, false);
113-
114124
return true;
115125
//else return HTTP 404 Error
126+
116127
default:
117128
return httpNotFound();
118129
}

0 commit comments

Comments
 (0)