aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.inc.php.example3
-rw-r--r--constants.inc.php28
-rw-r--r--debug.inc.php16
-rw-r--r--functions.inc.php12
-rw-r--r--gsearch/context.php2
-rw-r--r--gsearch/index.php2
-rw-r--r--header.inc.php44
-rw-r--r--index.php1
-rw-r--r--jsScuttle.php12
-rw-r--r--rss.php2
-rw-r--r--services/userservice.php13
-rw-r--r--templates/bookmarks.tpl.php2
-rw-r--r--templates/editbookmark.tpl.php2
-rw-r--r--templates/login.tpl.php2
-rw-r--r--templates/sidebar.block.recent.php7
-rw-r--r--templates/toolbar.inc.php2
-rw-r--r--templates/top.inc.php8
-rw-r--r--upgrade.txt12
18 files changed, 95 insertions, 75 deletions
diff --git a/config.inc.php.example b/config.inc.php.example
index 47e314e..a8aa847 100644
--- a/config.inc.php.example
+++ b/config.inc.php.example
@@ -15,6 +15,7 @@ $usecache = false; # use cache ? {true,false}
$dir_cache = dirname(__FILE__) .'/cache/'; # directory where cache files will be stored
$cleanurls = false; # Use mod_rewrite to hide PHP extensions {true,false[default]}
# be cautious, doesn't work for all hosts, you may need to modify the .htaccess file
+$debugMode = false; # if true, show debug messages
#### Database ####
$dbtype = 'mysql4'; # Database driver {mysql, mysqli, mysql4, oracle, postgres, sqlite, db2, firebird, mssql, mssq-odbc}
@@ -85,5 +86,5 @@ $menu2Tags = array('example', 'of', 'menu', 'tags'); # list of tags used by menu
$sizeSearchHistory = 10; # number of users' searches that are saved {1..10[Default]..-1[Unlimited]}
$enableGoogleCustomSearch = true; #Enable Google Search Engine into "gsearch/" folder
-include_once('debug.inc.php');
+
?>
diff --git a/constants.inc.php b/constants.inc.php
index 824561f..e779852 100644
--- a/constants.inc.php
+++ b/constants.inc.php
@@ -1,4 +1,30 @@
<?php
+/*
+ * Define constants use in all the application.
+ * Some constants are based on variables from configuration file.
+ */
+
+// Debug managament
+if(isset($GLOBALS['debugMode'])) {
+ define('DEBUG_MODE', $GLOBALS['debugMode']);
+ define('DEBUG_EXTRA', $GLOBALS['debugMode']); // Constant used exclusively into db/ directory
+}
+
+// Determine the base URL as ROOT
+if (!isset($GLOBALS['root'])) {
+ $pieces = explode('/', $_SERVER['SCRIPT_NAME']);
+ $rootTmp = '/';
+ foreach($pieces as $piece) {
+ if ($piece != '' && !strstr($piece, '.php')) {
+ $rootTmp .= $piece .'/';
+ }
+ }
+ if (($rootTmp != '/') && (substr($rootTmp, -1, 1) != '/')) {
+ $rootTmp .= '/';
+ }
+
+ define('ROOT', 'http://'. $_SERVER['HTTP_HOST'] . $rootTmp);
+}
// Error codes
define('GENERAL_MESSAGE', 200);
@@ -19,7 +45,7 @@ define('INSTALLATION_ID', md5($GLOBALS['dbname'].$GLOBALS['tableprefix']));
// Correct bug with PATH_INFO (maybe for Apache 1)
if(strlen($_SERVER["PATH_INFO"])<strlen($_SERVER["ORIG_PATH_INFO"])) {
- $_SERVER["PATH_INFO"] = $_SERVER["ORIG_PATH_INFO"];
+ $_SERVER["PATH_INFO"] = $_SERVER["ORIG_PATH_INFO"];
}
?>
diff --git a/debug.inc.php b/debug.inc.php
deleted file mode 100644
index 8bd7f33..0000000
--- a/debug.inc.php
+++ /dev/null
@@ -1,16 +0,0 @@
-<?php
-// Turn debugging on
-define('SCUTTLE_DEBUG',true);
-
-// generic debugging function
-// Sample:
-// pc_debug(__FILE__, __LINE__, "This is a debug message.");
-
-function pc_debug($file, $line, $message) {
- if (defined('SCUTTLE_DEBUG') && SCUTTLE_DEBUG) {
- error_log("---DEBUG-". $sitename .": [$file][$line]: $message");
- } else {
- error_log("SCUTTLE_DEBUG disabled");
- }
-}
-?> \ No newline at end of file
diff --git a/functions.inc.php b/functions.inc.php
index 35f0fed..93821fd 100644
--- a/functions.inc.php
+++ b/functions.inc.php
@@ -85,11 +85,11 @@ function multi_array_search($needle, $haystack) {
}
function createURL($page = '', $ending = '') {
- global $cleanurls, $root;
+ global $cleanurls;
if (!$cleanurls && $page != '') {
$page .= '.php';
}
- return $root . $page .'/'. $ending;
+ return ROOT . $page .'/'. $ending;
}
/* Shorten a string like a URL for example by cutting the middle of it */
@@ -112,7 +112,7 @@ function message_die($msg_code, $msg_text = '', $msg_title = '', $err_line = '',
// Get SQL error if we are debugging. Do this as soon as possible to prevent
// subsequent queries from overwriting the status of sql_error()
- if (DEBUG && ($msg_code == GENERAL_ERROR || $msg_code == CRITICAL_ERROR)) {
+ if (DEBUG_MODE && ($msg_code == GENERAL_ERROR || $msg_code == CRITICAL_ERROR)) {
$sql_error = is_null($db) ? '' : $db->sql_error();
$debug_text = '';
@@ -157,10 +157,10 @@ function message_die($msg_code, $msg_text = '', $msg_title = '', $err_line = '',
break;
}
- // Add on DEBUG info if we've enabled debug mode and this is an error. This
- // prevents debug info being output for general messages should DEBUG be
+ // Add on DEBUG_MODE info if we've enabled debug mode and this is an error. This
+ // prevents debug info being output for general messages should DEBUG_MODE be
// set TRUE by accident (preventing confusion for the end user!)
- if (DEBUG && ($msg_code == GENERAL_ERROR || $msg_code == CRITICAL_ERROR)) {
+ if (DEBUG_MODE && ($msg_code == GENERAL_ERROR || $msg_code == CRITICAL_ERROR)) {
if ($debug_text != '')
$msg_text = $msg_text . '<br /><br /><strong>'. T_('DEBUG MODE') .'</strong>'. $debug_text;
}
diff --git a/gsearch/context.php b/gsearch/context.php
index a48179f..1a65063 100644
--- a/gsearch/context.php
+++ b/gsearch/context.php
@@ -14,7 +14,7 @@
</LookAndFeel>
</CustomSearchEngine>
- <Include type="Annotations" href="<?php echo $GLOBALS['root'];?>api/export_gcs.php?xml=1" />
+ <Include type="Annotations" href="<?php echo ROOT;?>api/export_gcs.php?xml=1" />
</GoogleCustomizations>
diff --git a/gsearch/index.php b/gsearch/index.php
index d4f596d..e7011bf 100644
--- a/gsearch/index.php
+++ b/gsearch/index.php
@@ -14,7 +14,7 @@ if($GLOBALS['enableGoogleCustomSearch']==false) {
<!-- Google CSE Search Box Begins -->
<form id="cref" action="http://www.google.com/cse">
- <input type="hidden" name="cref" value="<?php echo $GLOBALS['root']?>gsearch/context.php" />
+ <input type="hidden" name="cref" value="<?php echo ROOT;?>gsearch/context.php" />
<input type="text" name="q" size="40" />
<input type="submit" name="sa" value="Search" />
</form>
diff --git a/header.inc.php b/header.inc.php
index 820b5f9..f94ce0d 100644
--- a/header.inc.php
+++ b/header.inc.php
@@ -1,35 +1,31 @@
<?php
-ini_set('display_errors', '1');
-ini_set('mysql.trace_mode', '0');
+if(!file_exists(dirname(__FILE__) .'/config.inc.php')) {
+ die("Please, create the 'config.inc.php' file. You can copy the 'config.inc.php.example' file.");
+}
-error_reporting(E_ALL ^ E_NOTICE);
-//error_reporting(E_ALL);
+// First requirements part (before debug management)
+require_once(dirname(__FILE__) .'/config.inc.php');
+require_once(dirname(__FILE__) .'/constants.inc.php'); // some constants are based on variables from config file
-define('DEBUG', true);
-session_start();
-if(!file_exists(dirname(__FILE__) .'/config.inc.php')) {
- die("Please, create the 'config.inc.php' file. You can copy the 'config.inc.php.example' file.");
+// Debug Management using constants
+if(DEBUG_MODE) {
+ ini_set('display_errors', '1');
+ ini_set('mysql.trace_mode', '1');
+ error_reporting(E_ALL);
+ //error_reporting(E_ALL^E_NOTICE);
+} else {
+ ini_set('display_errors', '0');
+ ini_set('mysql.trace_mode', '0');
+ error_reporting(0);
}
+
+// Second requirements part which could display bugs (must come after debug management)
require_once(dirname(__FILE__) .'/services/servicefactory.php');
-require_once(dirname(__FILE__) .'/config.inc.php');
-require_once(dirname(__FILE__) .'/constants.inc.php');
require_once(dirname(__FILE__) .'/functions.inc.php');
-// Determine the base URL
-if (!isset($root)) {
- $pieces = explode('/', $_SERVER['SCRIPT_NAME']);
- $root = '/';
- foreach($pieces as $piece) {
- if ($piece != '' && !strstr($piece, '.php')) {
- $root .= $piece .'/';
- }
- }
- if (($root != '/') && (substr($root, -1, 1) != '/')) {
- $root .= '/';
- }
- $root = 'http://'. $_SERVER['HTTP_HOST'] . $root;
-}
+
+session_start();
?>
diff --git a/index.php b/index.php
index 2b5eda2..0a2b483 100644
--- a/index.php
+++ b/index.php
@@ -20,6 +20,7 @@
***************************************************************************/
require_once('header.inc.php');
+
$bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService');
$templateservice =& ServiceFactory::getServiceInstance('TemplateService');
$userservice =& ServiceFactory::getServiceInstance('UserService');
diff --git a/jsScuttle.php b/jsScuttle.php
index 53356aa..222b91d 100644
--- a/jsScuttle.php
+++ b/jsScuttle.php
@@ -2,7 +2,7 @@
header('Content-Type: text/javascript');
require_once('header.inc.php');
require_once('functions.inc.php');
-$player_root = $root .'includes/player/';
+$player_root = ROOT .'includes/player/';
?>
function _playerAdd(anchor) {
@@ -41,7 +41,7 @@ function deleteConfirmed(ele, input, response) {
post.style.display = 'none';
deleted = false;
} else {
- loadXMLDoc('<?php echo $root; ?>ajaxDelete.php?id=' + input);
+ loadXMLDoc('<?php echo ROOT; ?>ajaxDelete.php?id=' + input);
post.style.display = 'none';
}
@@ -62,7 +62,7 @@ function isAvailable(input, response){
username = username.trim();
var availability = document.getElementById("availability");
if (username != '') {
- usernameField.style.backgroundImage = 'url(<?php echo $root; ?>images/loading.gif)';
+ usernameField.style.backgroundImage = 'url(<?php echo ROOT; ?>images/loading.gif)';
if (response != '') {
usernameField.style.backgroundImage = 'none';
if (response == 'true') {
@@ -73,7 +73,7 @@ function isAvailable(input, response){
availability.innerHTML = '<?php echo T_('Not Available'); ?>';
}
} else {
- loadXMLDoc('<?php echo $root; ?>ajaxIsAvailable.php?username=' + username);
+ loadXMLDoc('<?php echo ROOT; ?>ajaxIsAvailable.php?username=' + username);
}
}
}
@@ -92,12 +92,12 @@ function useAddress(ele) {
function getTitle(input, response){
var title = document.getElementById('titleField');
if (title.value == '') {
- title.style.backgroundImage = 'url(<?php echo $root; ?>images/loading.gif)';
+ title.style.backgroundImage = 'url(<?php echo ROOT; ?>images/loading.gif)';
if (response != null) {
title.style.backgroundImage = 'none';
title.value = response;
} else if (input.indexOf('http') > -1) {
- loadXMLDoc('<?php echo $root; ?>ajaxGetTitle.php?url=' + input);
+ loadXMLDoc('<?php echo ROOT; ?>ajaxGetTitle.php?url=' + input);
} else {
return false;
}
diff --git a/rss.php b/rss.php
index fc35e40..476a28d 100644
--- a/rss.php
+++ b/rss.php
@@ -75,7 +75,7 @@ if ($cat) {
}
$tplVars['feedtitle'] = filter($GLOBALS['sitename'] . (isset($pagetitle) ? $pagetitle : ''));
-$tplVars['feedlink'] = $GLOBALS['root'];
+$tplVars['feedlink'] = ROOT;
$tplVars['feeddescription'] = sprintf(T_('Recent bookmarks posted to %s'), $GLOBALS['sitename']);
$bookmarks =& $bookmarkservice->getBookmarks(0, 15, $userid, $cat, NULL, getSortOrder(), $watchlist);
diff --git a/services/userservice.php b/services/userservice.php
index 9b295da..e611cb8 100644
--- a/services/userservice.php
+++ b/services/userservice.php
@@ -23,8 +23,8 @@ class UserService {
function UserService(& $db) {
$this->db =& $db;
$this->tablename = $GLOBALS['tableprefix'] .'users';
- $this->sessionkey = $GLOBALS['cookieprefix'].INSTALLATION_ID.'-currentuserid';
- $this->cookiekey = $GLOBALS['cookieprefix'].INSTALLATION_ID.'-login';
+ $this->sessionkey = INSTALLATION_ID.'-currentuserid';
+ $this->cookiekey = INSTALLATION_ID.'-login';
$this->profileurl = createURL('profile', '%2$s');
}
@@ -124,10 +124,11 @@ class UserService {
if (!is_null($newval)) //internal use only: reset currentuser
$currentuser = $newval;
else if ($refresh || !isset($currentuser)) {
- if ($id = $this->getCurrentUserId())
- $currentuser = $this->getUser($id);
- else
- return null;
+ if ($id = $this->getCurrentUserId()) {
+ $currentuser = $this->getUser($id);
+ } else {
+ $currentuser = null;
+ }
}
return $currentuser;
}
diff --git a/templates/bookmarks.tpl.php b/templates/bookmarks.tpl.php
index 27dfb6e..5567d7b 100644
--- a/templates/bookmarks.tpl.php
+++ b/templates/bookmarks.tpl.php
@@ -257,7 +257,7 @@ window.onload = playerLoad;
$brss = '';
$size = count($rsschannels);
for ($i = 0; $i < $size; $i++) {
- $brss = '<a style="background:#FFFFFF" href="'. $rsschannels[$i][1] .'" title="'. $rsschannels[$i][0] .'"><img src="'. $GLOBALS['root'] .'images/rss.gif" width="16" height="16" alt="'. $rsschannels[$i][0] .'" /></a>';
+ $brss = '<a style="background:#FFFFFF" href="'. $rsschannels[$i][1] .'" title="'. $rsschannels[$i][0] .'"><img src="'. ROOT .'images/rss.gif" width="16" height="16" alt="'. $rsschannels[$i][0] .'" /></a>';
}
echo '<p class="paging">'. $bfirst .'<span> / </span>'. $bprev .'<span> / </span>'. $bnext .'<span> / </span>'. $blast .'<span> / </span>'. sprintf(T_('Page %d of %d'), $page, $totalpages) ." ". $brss ." </p>\n";
diff --git a/templates/editbookmark.tpl.php b/templates/editbookmark.tpl.php
index f6affc4..c947ec3 100644
--- a/templates/editbookmark.tpl.php
+++ b/templates/editbookmark.tpl.php
@@ -43,7 +43,7 @@ switch ($row['bStatus']) {
<tr>
<th align="left"><?php echo T_('Tags'); ?></th>
<td class="scuttletheme">
- <span dojoType="dojo.data.ItemFileReadStore" jsId="memberTagStore" url="<?php echo $GLOBALS['root']?>ajax/gettags.php"></span>
+ <span dojoType="dojo.data.ItemFileReadStore" jsId="memberTagStore" url="<?php echo ROOT?>ajax/gettags.php"></span>
<input type="text" dojoType="dojox.form.MultiComboBox" id="tags" name="tags" size="75" value="<?php echo filter(implode(', ', $row['tags']), 'xml'); ?>" store="memberTagStore" delimiter="," searchAttr="tag" hasDownArrow="false"/></td>
<td>&larr; <?php echo T_('Comma-separated'); ?></td>
</tr>
diff --git a/templates/login.tpl.php b/templates/login.tpl.php
index 6137dc0..def2d72 100644
--- a/templates/login.tpl.php
+++ b/templates/login.tpl.php
@@ -27,7 +27,7 @@ window.onload = function() {
<td></td>
</tr>
</table>
- <p>&raquo; <a href="<?php echo $GLOBALS['root'] ?>password.php"><?php echo T_('Forgotten your password?') ?></p>
+ <p>&raquo; <a href="<?php echo ROOT ?>password.php"><?php echo T_('Forgotten your password?') ?></p>
</form>
<?php
diff --git a/templates/sidebar.block.recent.php b/templates/sidebar.block.recent.php
index a128e70..fef85f2 100644
--- a/templates/sidebar.block.recent.php
+++ b/templates/sidebar.block.recent.php
@@ -20,11 +20,12 @@ if ($recentTags && count($recentTags) > 0) {
<?php
$contents = '<p class="tags">';
- if(strlen($user)==0) {
- $cat_url = createURL('tags', '%2$s');
+ if(!isset($user)) {
+ $user = '';
+ $cat_url = createURL('tags', '%2$s');
}
- foreach ($recentTags as $row) {
+ foreach ($recentTags as $row) {
$entries = T_ngettext('bookmark', 'bookmarks', $row['bCount']);
$contents .= '<a href="'. sprintf($cat_url, $user, filter($row['tag'], 'url')) .'" title="'. $row['bCount'] .' '. $entries .'" rel="tag" style="font-size:'. $row['size'] .'">'. filter($row['tag']) .'</a> ';
}
diff --git a/templates/toolbar.inc.php b/templates/toolbar.inc.php
index 92d8d59..0b052e0 100644
--- a/templates/toolbar.inc.php
+++ b/templates/toolbar.inc.php
@@ -13,7 +13,7 @@ if ($userservice->isLoggedOn()) {
<li><a href="<?php echo createURL('watchlist', $cUsername); ?>"><?php echo T_('Watchlist'); ?></a></li>
<li><a href="<?php echo $userservice->getProfileUrl($cUserId, $cUsername); ?>"><?php echo T_('Profile'); ?></a></li>
<li><a href="<?php echo createURL('bookmarks', $cUsername . '?action=add'); ?>"><?php echo T_('Add a Bookmark'); ?></a></li>
- <li class="access"><?php echo $cUsername?><a href="<?php echo $GLOBALS['root']; ?>?action=logout">(<?php echo T_('Log Out'); ?>)</a></li>
+ <li class="access"><?php echo $cUsername?><a href="<?php echo ROOT ?>?action=logout">(<?php echo T_('Log Out'); ?>)</a></li>
<li><a href="<?php echo createURL('about'); ?>"><?php echo T_('About'); ?></a></li>
<?php if($isAdmin): ?>
<li><a href="<?php echo createURL('admin', ''); ?>"><?php echo '['.T_('Admin').']'; ?></a></li>
diff --git a/templates/top.inc.php b/templates/top.inc.php
index 88a949a..0d59dfb 100644
--- a/templates/top.inc.php
+++ b/templates/top.inc.php
@@ -5,9 +5,9 @@
<title><?php echo filter($GLOBALS['sitename'] . (isset($pagetitle) ? ': ' . $pagetitle : '')); ?></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="icon" type="image/png"
- href="<?php echo $GLOBALS['root']; ?>icon.png" />
+ href="<?php echo ROOT ?>icon.png" />
<link rel="stylesheet" type="text/css"
- href="<?php echo $GLOBALS['root']; ?>scuttle.css" />
+ href="<?php echo ROOT ?>scuttle.css" />
<?php
if(isset($rsschannels)) {
$size = count($rsschannels);
@@ -20,7 +20,7 @@ if(isset($rsschannels)) {
<?php if (isset($loadjs)) :?>
<script type="text/javascript"
- src="<?php echo $GLOBALS['root']; ?>jsScuttle.php"></script>
+ src="<?php echo ROOT ?>jsScuttle.php"></script>
<link rel="stylesheet" type="text/css"
href="http://ajax.googleapis.com/ajax/libs/dojo/1.2/dijit/themes/nihilo/nihilo.css">
@@ -50,7 +50,7 @@ if(isset($_GET['popup'])) {
?>
<div id="header" <?php echo $headerstyle; ?>>
-<h1><a href="<?php echo $GLOBALS['root']; ?>"><?php echo $GLOBALS['sitename']; ?></a></h1>
+<h1><a href="<?php echo ROOT ?>"><?php echo $GLOBALS['sitename']; ?></a></h1>
<?php
if(!isset($_GET['popup'])) {
$this->includeTemplate('toolbar.inc');
diff --git a/upgrade.txt b/upgrade.txt
index 6b54428..acf6a96 100644
--- a/upgrade.txt
+++ b/upgrade.txt
@@ -1,9 +1,19 @@
==== UPGRADE instructions ====
-=== From version 0.89 to 0.90 ===
+
+=== From version 0.90 to 0.91 ===
- Backup you database
- Make a copy from your SemanticScuttle Web directory
- Upgrade your database by following instructions ONE after ONE (order is important) :
+ * No intructions
+- Upgrade your current configuration file (config.inc.php) with respect to config.inc.php.example
+ * Delete last line : include_once('debug.inc.php');
+ * Add variable: $menu2Tags = array();
+ * Add variable: $debugMode = true; # if true, show debug messages
+
+=== From version 0.89 to 0.90 ===
+- Backup you database
+- Make a copy from your SemanticScuttle Web directory
- Upgrade your current configuration file (config.inc.php) with respect to config.inc.php.example
# add these lines under $enableWebsiteThumbnails = false; # enableWebsiteThumbnails {true|false}: