diff options
-rw-r--r-- | config.inc.php.example | 3 | ||||
-rw-r--r-- | constants.inc.php | 28 | ||||
-rw-r--r-- | debug.inc.php | 16 | ||||
-rw-r--r-- | functions.inc.php | 12 | ||||
-rw-r--r-- | gsearch/context.php | 2 | ||||
-rw-r--r-- | gsearch/index.php | 2 | ||||
-rw-r--r-- | header.inc.php | 44 | ||||
-rw-r--r-- | index.php | 1 | ||||
-rw-r--r-- | jsScuttle.php | 12 | ||||
-rw-r--r-- | rss.php | 2 | ||||
-rw-r--r-- | services/userservice.php | 13 | ||||
-rw-r--r-- | templates/bookmarks.tpl.php | 2 | ||||
-rw-r--r-- | templates/editbookmark.tpl.php | 2 | ||||
-rw-r--r-- | templates/login.tpl.php | 2 | ||||
-rw-r--r-- | templates/sidebar.block.recent.php | 7 | ||||
-rw-r--r-- | templates/toolbar.inc.php | 2 | ||||
-rw-r--r-- | templates/top.inc.php | 8 | ||||
-rw-r--r-- | upgrade.txt | 12 |
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(); ?> @@ -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; } @@ -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>← <?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>» <a href="<?php echo $GLOBALS['root'] ?>password.php"><?php echo T_('Forgotten your password?') ?></p> + <p>» <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}: |