Ok, I realized this much. The error is triggered by this sentence, at the very beginning of the code:
define('WP_QUOTES_TABLE', $wpdb->prefix . 'quotes');
define('WP_STRAY_QUOTES_TABLE', $wpdb->prefix . 'stray_quotes');
define('WP_QUOTES_PAGE', '<!--wp_quotes_page-->');
$dir = basename(dirname(__FILE__));
if ($dir == 'plugins') $dir = '';
else $dir = $dir . '/';
define('WP_STRAY_QUOTES_PATH', get_option('siteurl') . '/wp-content/plugins/' . $dir);
if this is commented, the plugin gets activated. The functions would trigger an error, because of the variables undefined, but it gets activated nonetheless.
So it seems that the error is somewhere in the use of “define” or in the paths. Or… I don’t know.
Any idea?
Thanks.