1
0

sign_in.xml 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. require_once '../myMyPlex.inc';
  3. # Bail if we're not happy with the auth provied by the HTTP server
  4. $username = '';
  5. if (array_key_exists('PHP_AUTH_USER', $_SERVER) && strlen($_SERVER['PHP_AUTH_USER'])) {
  6. $username = preg_replace('/\W/', '', $_SERVER['PHP_AUTH_USER']);
  7. }
  8. if ($username == '' || $username != $_SERVER['PHP_AUTH_USER']) {
  9. header('HTTP/1.1 401 Authorization Required');
  10. die("Invalid username/password\n");
  11. }
  12. # Lookup or generate an auth token
  13. $user = get_user($username);
  14. if (! $user['auth']) {
  15. $user['username'] = $username;
  16. $user['auth'] = generate_auth();
  17. save_user($user);
  18. }
  19. # Build an XML document
  20. $doc = new DomDocument('1.0');
  21. $root = $doc->createElement('user');
  22. $root = $doc->appendChild($root);
  23. $elm = $doc->createElement('joined-at', date('c'));
  24. $elm->setAttribute('type', 'datetime');
  25. $elm = $root->appendChild($elm);
  26. $elm = $doc->createElement('username', $username);
  27. $elm = $root->appendChild($elm);
  28. $elm = $doc->createElement('email', $username . '@localhost');
  29. $elm = $root->appendChild($elm);
  30. $elm = $doc->createElement('authentication-token', $user['auth']);
  31. $elm = $root->appendChild($elm);
  32. # Send our XML to the PMS
  33. header('HTTP/1.1 201 Created');
  34. print $doc->saveXML();
  35. ?>