Index: includes/bootstrap.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/bootstrap.inc,v
retrieving revision 1.69
diff -u -r1.69 bootstrap.inc
--- includes/bootstrap.inc	9 Oct 2005 21:51:43 -0000	1.69
+++ includes/bootstrap.inc	22 Oct 2005 05:02:22 -0000
@@ -148,14 +148,14 @@
 function drupal_get_filename($type, $name, $filename = NULL) {
   static $files = array();
 
-  if (!$files[$type]) {
+  if (!isset($files[$type])) {
     $files[$type] = array();
   }
 
-  if ($filename && file_exists($filename)) {
+  if (!empty($filename) && file_exists($filename)) {
     $files[$type][$name] = $filename;
   }
-  elseif ($files[$type][$name]) {
+  elseif (isset($files[$type][$name])) {
     // nothing
   }
   elseif (($file = db_result(db_query("SELECT filename FROM {system} WHERE name = '%s' AND type = '%s'", $name, $type))) && file_exists($file)) {
@@ -788,7 +788,8 @@
     $_SESSION['messages'][$type][] = $message;
   }
 
-  return $_SESSION['messages'];
+  // messages not set when DB connection fails
+  return isset($_SESSION['messages']) ? $_SESSION['messages'] : NULL;
 }
 
 /**
@@ -867,7 +868,7 @@
       // deny access to hosts which were banned. t() is not yet available.
       if (drupal_is_denied('host', $_SERVER['REMOTE_ADDR'])) {
         header('HTTP/1.0 403 Forbidden');
-        print "Sorry, ". $_SERVER['REMOTE_ADDR']. " has been banned.";
+        print 'Sorry, '. $_SERVER['REMOTE_ADDR']. ' has been banned.';
         exit();
       }
 
Index: includes/common.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/common.inc,v
retrieving revision 1.487
diff -u -r1.487 common.inc
--- includes/common.inc	21 Oct 2005 11:14:28 -0000	1.487
+++ includes/common.inc	22 Oct 2005 05:02:23 -0000
@@ -53,10 +53,8 @@
  */
 function drupal_get_content($region = null, $delimiter = ' ') {
   $content = drupal_set_content();
-  if (isset($region)) {
-    if (is_array($content[$region])) {
+  if (isset($region) && isset($content[$region]) && is_array($content[$region])) {
       return implode ($delimiter, $content[$region]);
-    }
   }
   else {
     foreach (array_keys($content) as $region) {
@@ -78,7 +76,7 @@
 function drupal_set_breadcrumb($breadcrumb = NULL) {
   static $stored_breadcrumb;
 
-  if (isset($breadcrumb)) {
+  if (!is_null($breadcrumb)) {
     $stored_breadcrumb = $breadcrumb;
   }
   return $stored_breadcrumb;
@@ -90,7 +88,7 @@
 function drupal_get_breadcrumb() {
   $breadcrumb = drupal_set_breadcrumb();
 
-  if (!isset($breadcrumb)) {
+  if (is_null($breadcrumb)) {
     $breadcrumb = menu_get_active_breadcrumb();
   }
 
@@ -569,7 +567,7 @@
     // Useful for e.g. XML/HTML 'lang' attributes.
     $languages = array('en' => 'English');
   }
-  if ($user->uid && $languages[$user->language]) {
+  if ($user->uid && isset($languages[$user->language])) {
     return $user->language;
   }
   else {
Index: includes/menu.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/menu.inc,v
retrieving revision 1.86
diff -u -r1.86 menu.inc
--- includes/menu.inc	8 Oct 2005 12:38:20 -0000	1.86
+++ includes/menu.inc	22 Oct 2005 05:02:24 -0000
@@ -742,7 +742,18 @@
   $a = &$menu['items'][$a];
   $b = &$menu['items'][$b];
 
-  return $a['weight'] < $b['weight'] ? -1 : ($a['weight'] > $b['weight'] ? 1 : ($a['title'] < $b['title'] ? -1 : 1));
+  if ($a['weight'] < $b['weight']) {
+    return -1;
+  }
+  elseif ($a['weight'] > $b['weight']) {
+    return 1;
+  }
+  elseif (isset($a['title']) && isset($b['title']) && ($a['title'] < $b['title'])) {
+    return -1;
+  }
+  else {
+    return 1;
+  }
 }
 
 /**
Index: includes/pager.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/pager.inc,v
retrieving revision 1.48
diff -u -r1.48 pager.inc
--- includes/pager.inc	21 Oct 2005 10:58:15 -0000	1.48
+++ includes/pager.inc	22 Oct 2005 05:02:24 -0000
@@ -50,13 +50,13 @@
  */
 function pager_query($query, $limit = 10, $element = 0, $count_query = NULL) {
   global $pager_page_array, $pager_total, $pager_total_items;
-  $page = $_GET['page'];
+  $page = isset($_GET['page']) ? $_GET['page'] : '';
 
   // Substitute in query arguments.
   $args = func_get_args();
   $args = array_slice($args, 4);
   // Alternative syntax for '...'
-  if (is_array($args[0])) {
+  if (isset($args[0]) && is_array($args[0])) {
     $args = $args[0];
   }
 
@@ -72,13 +72,13 @@
   if (count($args)) {
     $pager_total_items[$element] = db_result(db_query($count_query, $args));
     $pager_total[$element] = ceil($pager_total_items[$element] / $limit);
-    $pager_page_array[$element] = max(0, min($pager_page_array[$element], ((int)$pager_total[$element]) - 1));
+    $pager_page_array[$element] = max(0, min((int)$pager_page_array[$element], ((int)$pager_total[$element]) - 1));
     return db_query_range($query, $args, $pager_page_array[$element] * $limit, $limit);
   }
   else {
     $pager_total_items[$element] = db_result(db_query($count_query));
     $pager_total[$element] = ceil($pager_total_items[$element] / $limit);
-    $pager_page_array[$element] = max(0, min($pager_page_array[$element], ((int)$pager_total[$element]) - 1));
+    $pager_page_array[$element] = max(0, min((int)$pager_page_array[$element], ((int)$pager_total[$element]) - 1));
     return db_query_range($query, $pager_page_array[$element] * $limit, $limit);
   }
 }
Index: includes/theme.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/theme.inc,v
retrieving revision 1.262
diff -u -r1.262 theme.inc
--- includes/theme.inc	18 Oct 2005 14:45:09 -0000	1.262
+++ includes/theme.inc	22 Oct 2005 05:02:25 -0000
@@ -316,7 +316,9 @@
 
       // Get the amount of links to show, possibly expanding if there are more links defined than the count specifies.
       $count = variable_get($type . '_link_count', 5);
-      $count = ($count > sizeof($value['link'])) ? $count : sizeof($value['link']);
+      if(isset($value['link']) && $count > sizeof($value['link'])) {
+        $count = sizeof($value['link']);
+      }
 
       if ($settings['toggle_' . $type . '_links']) {
         for ($i =0; $i < $count; $i++) {
Index: modules/block.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/block.module,v
retrieving revision 1.183
diff -u -r1.183 block.module
--- modules/block.module	11 Oct 2005 19:44:34 -0000	1.183
+++ modules/block.module	22 Oct 2005 05:02:26 -0000
@@ -96,6 +96,8 @@
 function block_block($op = 'list', $delta = 0, $edit = array()) {
   switch ($op) {
     case 'list':
+      $blocks = array();
+
       $result = db_query('SELECT bid, title, info FROM {boxes} ORDER BY title');
       while ($block = db_fetch_object($result)) {
         $blocks[$block->bid]['info'] = $block->info ? check_plain($block->info) : check_plain($block->title);
@@ -455,8 +457,8 @@
  * Menu callback; displays the block overview page.
  */
 function block_admin() {
-  $edit = $_POST['edit'];
-  $op = $_POST['op'];
+  $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
+  $op = isset($_POST['op']) ? $_POST['op'] : '';
 
   if ($op == t('Save blocks')) {
     block_admin_save($edit);
Index: modules/menu.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/menu.module,v
retrieving revision 1.39
diff -u -r1.39 menu.module
--- modules/menu.module	18 Oct 2005 14:40:00 -0000	1.39
+++ modules/menu.module	22 Oct 2005 05:02:26 -0000
@@ -99,8 +99,8 @@
   if (user_access('administer menu')) {
     switch ($op) {
       case 'form':
-        $edit = $_POST['edit'];
-        $edit['nid'] = $node->nid;
+        $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
+        $edit['nid'] = isset($node->nid) ? $node->nid : '';
         return menu_node_form($edit);
         break;
 
@@ -145,7 +145,7 @@
  * Menu callback; clear the database, resetting the menu to factory defaults.
  */
 function menu_reset() {
-  $op = $_POST['op'];
+  $op = isset($_POST['op']) ? $_POST['op'] : '';
   switch ($op) {
     case t('Reset all'):
       db_query('DELETE FROM {menu}');
@@ -164,8 +164,8 @@
  * Menu callback; handle the adding of a new menu.
  */
 function menu_add_menu() {
-  $op = $_POST['op'];
-  $edit = $_POST['edit'];
+  $op = isset($_POST['op']) ? $_POST['op'] : '';
+  $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
   $output = '';
 
   switch ($op) {
@@ -189,7 +189,7 @@
  * Menu callback; reset a single modified item.
  */
 function menu_reset_item($mid) {
-  $op = $_POST['op'];
+  $op = isset($_POST['op']) ? $_POST['op'] : '';
   switch ($op) {
     case t('Reset'):
       db_query('DELETE FROM {menu} WHERE mid = %d', $mid);
@@ -209,7 +209,7 @@
  * Menu callback; delete a single custom item.
  */
 function menu_delete_item($mid) {
-  $op = $_POST['op'];
+  $op = isset($_POST['op']) ? $_POST['op'] : '';
   $result = db_query('SELECT type, title FROM {menu} WHERE mid = %d', $mid);
   $menu = db_fetch_object($result);
   if (!$menu) {
@@ -255,8 +255,8 @@
  * Menu callback; dispatch to the appropriate menu item edit function.
  */
 function menu_edit_item($mid = 0) {
-  $op = $_POST['op'];
-  $edit = $_POST['edit'];
+  $op = isset($_POST['op']) ? $_POST['op'] : '';
+  $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
 
   $output = '';
 
@@ -419,7 +419,7 @@
 
   $rows = array();
 
-  if (isset($menu['items'][$pid]) && $menu['items'][$pid]['children']) {
+  if (isset($menu['items'][$pid]) && isset($menu['items'][$pid]['children'])) {
 
     usort($menu['items'][$pid]['children'], '_menu_sort');
     foreach ($menu['items'][$pid]['children'] as $mid) {
Index: modules/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node.module,v
retrieving revision 1.537
diff -u -r1.537 node.module
--- modules/node.module	18 Oct 2005 14:41:27 -0000	1.537
+++ modules/node.module	22 Oct 2005 05:02:29 -0000
@@ -120,7 +120,7 @@
     $history[$nid] = db_fetch_object(db_query("SELECT timestamp FROM {history} WHERE uid = '$user->uid' AND nid = %d", $nid));
   }
 
-  return ($history[$nid]->timestamp ? $history[$nid]->timestamp : 0);
+  return (isset($history[$nid]->timestamp) ? $history[$nid]->timestamp : 0);
 }
 
 /**
@@ -353,7 +353,7 @@
 
   if (is_numeric($param)) {
     $cachable = $revision == NULL;
-    if ($cachable && $nodes[$param]) {
+    if ($cachable && isset($nodes[$param])) {
       return $nodes[$param];
     }
     $cond = 'n.nid = '. $param;
@@ -1362,8 +1362,8 @@
  * Menu callback; presents the content administration overview.
  */
 function node_admin() {
-  $op = $_POST['op'];
-  $edit = $_POST['edit'];
+  $op = isset($_POST['op']) ? $_POST['op'] : '';
+  $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
 
   if (empty($op)) {
     $op = arg(2);
@@ -1500,20 +1500,20 @@
   // Auto-generate the teaser, but only if it hasn't been set (e.g. by a
   // module-provided 'teaser' form item).
   if (!isset($node->teaser)) {
-    $node->teaser = node_teaser($node->body, $node->format);
+    $node->teaser = isset($node->body) ? node_teaser($node->body, isset($node->format) ? $node->format : NULL) : '';
   }
 
-  if (node_last_changed($node->nid) > $node->changed) {
+  if (isset($node->nid) && (node_last_changed($node->nid) > $node->changed)) {
     form_set_error('changed', t('This content has been modified by another user, unable to save changes.'));
   }
 
   if (user_access('administer nodes')) {
     // Set up default values, if required.
-    if (!$node->created) {
+    if (!isset($node->created)) {
       $node->created = time();
     }
 
-    if (!$node->date) {
+    if (!isset($node->date)) {
       $node->date = format_date($node->created, 'custom', 'Y-m-d H:i:s O');
     }
 
@@ -1578,9 +1578,9 @@
  * Generate the node editing form.
  */
 function node_form($node) {
-  $op = $_POST['op'];
+  $op = isset($_POST['op']) ? $_POST['op'] : '';
 
-  if (!$node->validated) {
+  if (!isset($node) || !isset($node->validated) || !$node->validated) {
     $node = node_validate($node);
   }
 
@@ -1664,7 +1664,7 @@
 }
 
 function theme_node_form($form) {
-  $output .= '<div class="node-form">';
+  $output = '<div class="node-form">';
   if (isset($form['node_preview'])) {
     $output .= form_render($form['node_preview']);
   }
@@ -1690,7 +1690,7 @@
 function node_add($type) {
   global $user;
 
-  $edit = $_POST['edit'];
+  $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
 
   // If a node type has been specified, validate its existence.
   if (array_key_exists($type, node_get_types()) && node_access('create', $type)) {
@@ -1733,7 +1733,7 @@
  * Generate a node preview.
  */
 function node_preview($node) {
-  if (!$node->validated) {
+  if (!isset($node) || !isset($node->validated) || !$node->validated) {
     $node = node_validate($node);
   }
 
Index: modules/system.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/system.module,v
retrieving revision 1.243
diff -u -r1.243 system.module
--- modules/system.module	19 Oct 2005 09:28:21 -0000	1.243
+++ modules/system.module	22 Oct 2005 05:02:30 -0000
@@ -524,7 +524,7 @@
   foreach ($themes as $theme) {
     foreach (file_scan_directory(dirname($theme->filename), 'style.css$') as $style) {
       $style->style = TRUE;
-      $style->template = $theme->template;
+      $style->template = isset($theme->template) ? $theme->template : FALSE;
       $style->name = basename(dirname($style->filename));
       $style->owner = $theme->filename;
       $style->prefix = $theme->template ? $theme->prefix : $theme->name;
Index: modules/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user.module,v
retrieving revision 1.522
diff -u -r1.522 user.module
--- modules/user.module	21 Oct 2005 09:30:14 -0000	1.522
+++ modules/user.module	22 Oct 2005 05:02:33 -0000
@@ -601,10 +601,10 @@
       $picture = variable_get('user_picture_default', '');
     }
 
-    if ($picture) {
+    if (isset($picture)) {
       $alt = t('%user\'s picture', array('%user' => $account->name ? $account->name : variable_get('anonymous', 'Anonymous')));
       $picture = theme('image', $picture, $alt, $alt, '', false);
-      if ($account->uid) {
+      if (!empty($account->uid)) {
         $picture = l($picture, "user/$account->uid", array('title' => t('View user profile.')), NULL, NULL, FALSE, TRUE);
       }
 
@@ -963,7 +963,7 @@
 
 function user_pass() {
   global $base_url;
-  $edit = $_POST['edit'];
+  $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
 
   if ($edit['name'] && !($account = user_load(array('name' => $edit['name'], 'status' => 1)))) {
     form_set_error('name', t('Sorry. The username %name is not recognized.', array('%name' => theme('placeholder', $edit['name']))));
@@ -1310,8 +1310,8 @@
 function user_page() {
   global $user;
 
-  $edit = $_POST['edit'];
-  $op = $_POST['op'];
+  $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
+  $op = isset($_POST['op']) ? $_POST['op'] : '';
 
   if (empty($op)) {
     $op = arg(2) ? arg(2) : arg(1);
@@ -1372,13 +1372,11 @@
  * Menu callback: check an access rule
  */
 function user_admin_access_check() {
-  if ($_POST['op']) {
-    $op = $_POST['op'];
-  }
-  $edit = $_POST['edit'];
+  $op = isset($_POST['op']) ? $_POST['op'] : '';
+  $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
 
-  if ($op) {
-    if ($edit['user']) {
+  if (!empty($op)) {
+    if (!empty($edit['user']['test'])) {
       if (drupal_is_denied('user', $edit['user']['test'])) {
         drupal_set_message(t('The username %name is not allowed.', array('%name' => theme('placeholder', $edit['user']['test']))));
       }
@@ -1386,7 +1384,7 @@
         drupal_set_message(t('The username %name is allowed.', array('%name' => theme('placeholder', $edit['user']['test']))));
       }
     }
-    if ($edit['mail']) {
+    if (!empty($edit['mail']['test'])) {
       if (drupal_is_denied('mail', $edit['mail']['test'])) {
         drupal_set_message(t('The e-mail address %mail is not allowed.', array('%mail' => theme('placeholder', $edit['mail']['test']))));
       }
@@ -1394,7 +1392,7 @@
         drupal_set_message(t('The e-mail address %mail is allowed.', array('%mail' => theme('placeholder', $edit['mail']['test']))));
       }
     }
-    if ($edit['host']) {
+    if (!empty($edit['host']['test'])) {
       if (drupal_is_denied('host', $edit['host']['test'])) {
         drupal_set_message(t('The hostname %host is not allowed.', array('%host' => theme('placeholder', $edit['host']['test']))));
       }
@@ -1652,8 +1650,8 @@
  * Menu callback: administer roles.
  */
 function user_admin_role() {
-  $edit = $_POST['edit'];
-  $op = $_POST['op'];
+  $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
+  $op = isset($_POST['op']) ? $_POST['op'] : '';
   $id = arg(4);
 
   if ($op == t('Save role')) {
@@ -1788,8 +1786,8 @@
 }
 
 function user_admin() {
-  $op = $_POST['op'];
-  $edit = $_POST['edit'];
+  $edit = isset($_POST['edit']) ? $_POST['edit'] : '';
+  $op = isset($_POST['op']) ? $_POST['op'] : '';
 
   if (empty($op)) {
     $op = arg(2);
Index: themes/engines/phptemplate/phptemplate.engine
===================================================================
RCS file: /cvs/drupal/drupal/themes/engines/phptemplate/phptemplate.engine,v
retrieving revision 1.19
diff -u -r1.19 phptemplate.engine
--- themes/engines/phptemplate/phptemplate.engine	20 Oct 2005 09:27:36 -0000	1.19
+++ themes/engines/phptemplate/phptemplate.engine	22 Oct 2005 05:02:33 -0000
@@ -60,7 +60,7 @@
     $variables = array_merge($variables, _phptemplate_variables($hook, $variables));
   }
 
-  if ($variables['template_file']) {
+  if (isset($variables['template_file'])) {
     $file = $variables['template_file'];
   }
 
@@ -86,13 +86,13 @@
 function _phptemplate_default_variables($hook, $variables) {
   global $theme;
   static $count = array();
-  $count[$hook] = is_int($count[$hook]) ? $count[$hook] : 1;
+  $count[$hook] = isset($count[$hook]) && is_int($count[$hook]) ? $count[$hook] : 1;
   $variables['zebra'] = ($count[$hook] % 2) ? 'odd' : 'even';
   $variables['id'] = $count[$hook]++;
 
   global $sidebar_indicator;
   if ($hook == 'block') {
-    $count['block_counter'][$sidebar_indicator] = is_int($count['block_counter'][$sidebar_indicator]) ? $count['block_counter'][$sidebar_indicator] : 1;
+    $count['block_counter'][$sidebar_indicator] = isset($count['block_counter'][$sidebar_indicator]) && is_int($count['block_counter'][$sidebar_indicator]) ? $count['block_counter'][$sidebar_indicator] : 1;
     $variables['block_zebra'] = ($count['block_counter'][$sidebar_indicator] % 2) ? 'odd' : 'even';
     $variables['block_id'] = $count['block_counter'][$sidebar_indicator]++;
   }
@@ -104,7 +104,7 @@
       // This pre-loading is necessary because phptemplate uses variable names different from
       // the region names, e.g., 'sidebar_left' instead of 'left'.
       if (!in_array($region, array('left', 'right', 'footer'))) {
-        $variables[$region] .= theme('blocks', $region);
+        isset($variables[$region]) ? $variables[$region] .= theme('blocks', $region) : $variables[$region] = theme('blocks', $region);
       }
     }
   }
@@ -118,6 +118,10 @@
   return $variables;
 }
 
+/**
+ * @return
+ *  Array of template features
+ */
 function phptemplate_features() {
   return array(
     'logo',
@@ -194,7 +198,7 @@
     'layout'              => $layout,
     'logo'                => theme_get_setting('logo'),
     'messages'            => theme('status_messages'),
-    'mission'             => $mission,
+    'mission'             => isset($mission) ? $mission : '',
     'onload_attributes'   => theme('onload_attribute'),
     'primary_links'       => theme_get_setting('primary_links'),
     'site_name'           => (theme_get_setting('toggle_name') ? variable_get('site_name', 'Drupal') : ''),
@@ -263,7 +267,7 @@
     'comment'   => $comment,
     'content'   => $comment->comment,
     'date'      => format_date($comment->timestamp),
-    'links'     => $links ? theme('links', $links) : '',
+    'links'     => isset($links) ? theme('links', $links) : '',
     'new'       => $comment->new ? t('new') : '',
     'picture'   => theme_get_setting('toggle_comment_user_picture') ? theme('user_picture', $comment) : '',
     'submitted' => t('Submitted by %a on %b.',
@@ -309,7 +313,7 @@
  *   A suggested template file to use.
  */
 function _phptemplate_default($hook, $variables, $file = NULL) {
-  if ($file && file_exists(path_to_theme() . "/$file.tpl.php")) {
+  if (!empty($file) && file_exists(path_to_theme() . "/$file.tpl.php")) {
     $file = path_to_theme() . "/$file.tpl.php";
   }
   else {
@@ -328,7 +332,7 @@
     }
   }
 
-  if ($file) {
+  if (isset($file)) {
     extract($variables, EXTR_SKIP);  // Extract the vars to local namespace
     ob_start();                      // Start output buffering
     include "./$file";               // Include the file
