Moving to GitHub.
[platal.git] / htdocs / webredirect.php
index fd83b8d..8ba42f9 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2007 Polytechnique.org                              *
+ *  Copyright (C) 2003-2014 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-require_once dirname(__FILE__).'/../include/xorg.inc.php';
+require_once 'xorg.inc.php';
+
+$platal = new Xorg('core');
 
 global $globals;
-list($username, $path) = preg_split('/\//', $_SERVER["REQUEST_URI"], 2, PREG_SPLIT_NO_EMPTY);
-$res = XDB::query(
-        "SELECT  redirecturl
-           FROM  auth_user_quick AS a
-     INNER JOIN  aliases         AS al ON (al.id = a.user_id AND (al.type='a_vie' OR al.type='alias'))
-      LEFT JOIN  virtuals_redirect AS vr ON (vr.redirect LIKE CONCAT(al.alias, '@%')
-     INNER JOIN  virtuals        AS v ON (v.vid = vr.vid)
-          WHERE  al.alias = {?} OR v.alias = CONCAT({?}, '@', {?})
-       GROUP BY  redirecturl", $username, $username, $globals->mail->alias_dom);
+$path = ltrim($platal->pl_self(), '/');
+@list($username, $path) = explode('/', $path, 2);
 
-if ($url = $res->fetchOneCell()) {
-    $url = preg_replace('@/+$@', '', $url);
-    if ($path) {
-        http_redirect("http://$url/$path");
-    } else {
-        http_redirect("http://$url");
+if ($username && !is_null($user = User::getSilent($username))) {
+    $url = XDB::fetchOneCell('SELECT  url
+                                FROM  carvas
+                               WHERE  uid = {?}', $user->id());
+    if ($url) {
+        $url = preg_replace('@/+$@', '', $url);
+        if ($path) {
+            http_redirect("http://$url/$path");
+        } else {
+            http_redirect("http://$url");
+        }
     }
 }
 
-header("HTTP/1.0 404 Not Found");
-
+header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
 ?>
 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
 <html>
@@ -55,5 +54,7 @@ header("HTTP/1.0 404 Not Found");
     <hr>
     <address>Apache Server at www.carva.org Port 80</address>
   </body>
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
+</html>
+<?php
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8:
 ?>