/**
 * Locate the actual Drupal root. Based on drush_locate_root().
 */
function locate_root()
{
    $drupal_root = FALSE;
    $start_path = isset($_SERVER['PWD']) ? $_SERVER['PWD'] : '';
    if (empty($start_path)) {
        $start_path = getcwd();
    }
    foreach (array(TRUE, FALSE) as $follow_symlinks) {
        $path = $start_path;
        if ($follow_symlinks && is_link($path)) {
            $path = realpath($path);
        }
        // Check the start path.
        if (valid_root($path)) {
            $drupal_root = $path;
            break;
        } else {
            // Move up dir by dir and check each.
            while ($path = shift_path_up($path)) {
                if ($follow_symlinks && is_link($path)) {
                    $path = realpath($path);
                }
                if (valid_root($path)) {
                    $drupal_root = $path;
                    break 2;
                }
            }
        }
    }
    return $drupal_root;
}
Пример #2
0
        ?><html>
            <head><title>Login required</title></head>
            <body><p>You need to <a href="<?php 
echo htmlspecialchars($url);
?>
">log in</a> to be authenticated.</p></body>
        </html><?
        exit;
    }
}

$id = $_REQUEST["openid_identity"];
#if ($id != "http://taral.net/") badreq("Unrecognized identity");

$root = $_REQUEST["openid_trust_root"];
if (!$root || !valid_root($root, $ret)) {
    $root = $ret;
}
switch ($root) {
    case "http://www.lifewiki.net/":
    case "http://*.danga.com/openid/demo/":
        break;
    default:
        badreq("Requester not trusted");
}

$resp = array(
    "mode" => "id_res",
    "identity" => $id,
    "valid_to" => gmdate("Y-m-d\\TH:i:s\\Z", time() + VALID_TIME),
    "return_to" => $ret,