summaryrefslogtreecommitdiff
path: root/src/SemanticScuttle/constants.php
blob: f8567d9625dc210b93c55dd939e5994427f2037d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
/**
 * Define constants used in all the application.
 * Some constants are based on variables from configuration file.
 *
 * SemanticScuttle - your social bookmark manager.
 *
 * PHP version 5.
 *
 * @category    Bookmarking
 * @package     SemanticScuttle
 * @subcategory Base
 * @author      Benjamin Huynh-Kim-Bang <mensonge@users.sourceforge.net>
 * @author      Christian Weiske <cweiske@cweiske.de>
 * @author      Eric Dane <ericdane@users.sourceforge.net>
 * @license     GPL http://www.gnu.org/licenses/gpl.html
 * @link        http://sourceforge.net/projects/semanticscuttle
 */

// Debug managament
if (isset($GLOBALS['debugMode'])) {
    define('DEBUG_MODE', $GLOBALS['debugMode']);
    // Constant used exclusively into db/ directory
    define('DEBUG_EXTRA', $GLOBALS['debugMode']);
}

// Determine the base URL as ROOT
if (!isset($GLOBALS['root'])) {
    $pieces = explode('/', $_SERVER['SCRIPT_NAME']);

    $rootTmp = '/';
    foreach ($pieces as $piece) {
        //we eliminate possible sscuttle subfolders (like gsearch for example)
        if ($piece != '' && !strstr($piece, '.php')
            && $piece != 'gsearch' && $piece != 'ajax'
        ) {
            $rootTmp .= $piece .'/';
        }
    }
    if (($rootTmp != '/') && (substr($rootTmp, -1, 1) != '/')) {
        $rootTmp .= '/';
    }

    //we do not prepend http since we also want to support https connections
    // "http" is not required; it's automatically determined by the browser
    // depending on the current connection.
    define('ROOT', '//'. $_SERVER['HTTP_HOST'] . $rootTmp);
} else {
    define('ROOT', $GLOBALS['root']);
}
define('ROOT_JS', ROOT . 'js/jstree-1.0-rc2/');

// Error codes
define('GENERAL_MESSAGE', 200);
define('GENERAL_ERROR', 202);
define('CRITICAL_MESSAGE', 203);
define('CRITICAL_ERROR', 204);

// Page name
define('PAGE_INDEX', "index");
define('PAGE_BOOKMARKS', "bookmarks");
define('PAGE_WATCHLIST', "watchlist");


// Miscellanous

// INSTALLATION_ID is based on directory DB and used as prefix
// (in session and cookie) to prevent mutual login for different
// installations on the same host server
define('INSTALLATION_ID', md5($GLOBALS['dbname'].$GLOBALS['tableprefix']));

// Correct bugs with PATH_INFO (maybe for Apache 1 or CGI) -- for 1&1 host...
if (isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO'])) {
    if (strlen($_SERVER["PATH_INFO"])<strlen($_SERVER["ORIG_PATH_INFO"])) {
        $_SERVER["PATH_INFO"] = $_SERVER["ORIG_PATH_INFO"];
    }
    if (strcasecmp($_SERVER["PATH_INFO"], $_SERVER["SCRIPT_NAME "]) == 0) {
        unset($_SERVER["PATH_INFO"]);
    }
    if (strpos($_SERVER["PATH_INFO"], '.php') !== false) {
        unset($_SERVER["PATH_INFO"]);
    }
}
?>