I was just working on my documentation for my IP allow/deny code, and noticed the commit of the PDF code. I see a major error in it. This was the sample code for creating the table to get used:
CREATE TABLE `pdf_table_position` ( `table_name` varchar(50) NOT NULL default '', `x` float unsigned NOT NULL default '0', `y` float unsigned NOT NULL default '0', PRIMARY KEY (`table_name`) ) TYPE=MyISAM COMMENT='Table positions for PDF schema';
In this, the first bug is that the table name might be longer than 50 characters. Secondly, could we possibly change the default name to indicate that this is linked to PMA ? Possibly rename the default table to 'phpMyAdmin_pdf_table_position'?
I don't know how in depth the PDF code is, but in the configuration file, could we please have a variable to disable it, such as $cfg['PDF_schema_dump']? The code should check for that being set before doing anything, and ideally after that there should be a check for the PDF extension being loaded. (And try to load it as well).
The reason I want the configuration variable above all else, is that for a long time I have had problems with a few PHP extensions, that have compiled fine on my system, but if I tried to use them, they would totally corrupt the output. So I had to disable them and not load the extensions, but there were still a few scripts that caused problems when they loaded the extensions on their own.
The main extensions to cause problems for me have been PDF, BZIP, GZIP, IMAP, mcrypt and pspell.