Just getting my first geeklog site up and running, and I encountered the following error:
Text Formatted Code
if( $fp = @fopen( $rdfurl, 'r' ))
{
$startoffeed = true;
while( $data = fread( $fp, 4096 ))
{
if( $startoffeed )
{
$data = ltrim( $data );
if( empty( $data ))
{
break;
}
$startoffeed = false;
}
if( !xml_parse( $xml_parser, $data, feof( $fp )))
{
$errmsg = sprintf(
'Parse error in %s: %s at line %d',
$rdfurl,
xml_error_string( xml_get_error_code( $xml_parser )),
xml_get_current_line_number( $xml_parser )
);
COM_errorLog( $errmsg, 1 );
$rdferror = true;
$result = DB_change( $_TABLES['blocks'], 'content',
addslashes( $LANG21[4] ), 'bid', $bid );
break;
}
}
if( $startoffeed && empty( $data ))
{
$errmsg = sprintf( 'The feed at %s exists but is currently empty.',
$rdfurl );
COM_errorLog( $errmsg, 1 );
$rdferror = true;
$result = DB_change( $_TABLES['blocks'], 'content',
addslashes( $LANG21[4] ), 'bid', $bid );
}
fclose( $fp );
xml_parser_free( $xml_parser );
if( !$rdferror )
{
if( $maxheadlines > 0 )
{
$RDFheadlines = array_slice( $RDFheadlines, 0, $maxheadlines );
}
$blockcontent = COM_makeList( $RDFheadlines, 'list-feed' );
$RDFheadlines = array();
$blockcontent = preg_replace( "/(1512)|(15)|(12)/", '',
$blockcontent );
$result = DB_change( $_TABLES['blocks'], 'content', $blockcontent,
'bid', $bid);
}
}
else
{
$errmsg = sprintf( 'Geeklog can not reach the feed at %s.', $rdfurl );
if( !@ini_get( 'allow_url_fopen' ))
{
$errmsg = 'Sorry, your webserver configuration does not allow reading of remote files (allow_url_fopen = off).';
}
COM_errorLog( $errmsg, 1 );
$rdferror = true;
$result = DB_change( $_TABLES['blocks'], 'content',
addslashes( $LANG21[4] ), 'bid', $bid );
}
Line 4026 is the IF() statement nested in the last ELSE clause...
Text Formatted Code
if( !@ini_get( 'allow_url_fopen' ))
I've found two solutions... For a real kludge fix, I simply commented out that final IF() statement. However, after consulting with a friend, he suggested I try adding:
Text Formatted Code
php_value register_globals 1
php_value allow_url_fopen 1
directory, in order to reenable those features. (Apparently my hosting provider does not enable these by default.) Seems to have done the trick, as I've uncommented the code and the site
to be running...
Just thought I'd pass along my findings in case it might help someone else.