In v2.1d STABLE FINAL r172 (yes I have to use the v2.1d line of code), I was using Eclipse PHP debugger to track down something else and got the following Console notice:
Notice: /catalog/includes/classes/seo.class.php line 583 - Undefined variable: aID
If you ask me, this looks like a copy/paste bug from using the previous function (get_article_name) as a template.
The current function is:
function get_topic_name( $tID ) {
switch( true ) {
case ( $this->attributes['USE_SEO_CACHE_GLOBAL'] == 'true' && defined( 'TOPIC_NAME_' . $tID ) ):
$return = constant( 'TOPIC_NAME_' . $tID );
$this->cache['TOPICS'][$tID] = $return;
break;
case ( $this->attributes['USE_SEO_CACHE_GLOBAL'] == 'true' && isset( $this->cache['TOPICS'][$tID] ) ):
$return = $this->cache['TOPICS'][$tID];
break;
default:
$sql = "SELECT topics_name as tName FROM " . TABLE_TOPICS_DESCRIPTION . " WHERE topics_id='" . (int)$tID . "' AND language_id='" . (int)$this->languages_id . "' LIMIT 1";
$result = $this->usu_db_query( $sql );
$row = tep_db_fetch_array( $result );
tep_db_free_result( $result );
$tName = $this->strip( $row['tName'] );
583-> $this->cache['ARTICLES'][$aID] = $tName;
$return = $tName;
break;
} # end switch
return $return;
} # end function
Shouldn't line 583 be:
$this->cache['TOPICS'][$tID] = $tName;
Otherwise, some random article is going to get a topic name.
Agreed?