Try the below code to see what the problem is. First go to "admin->groups->static pages admin->edit" and tick near "staticpages.PHP" to enable the parsing of PHP in static pages. Then create a static page and set "PHP:" to "execute php" and add the below code as the content of the static page. Save and go to this new page and it should tell you what the problem is. Let me know how you get on.
Text Formatted Code
global $_CONF;
$FOO = array(
65 => 'The plugin upload function has been disabled due to the following errors:',
66 => 'File uploads are disabled in your PHP configuration.',
67 => 'The directory "%s" is not writable.',
68 => 'You do not have the required permissions to install plugins.',
69 => 'You do not have the required permissions to upload plugins.'
);
$path_admin = $_CONF['path_html'] . substr($_CONF['site_admin_url'],
strlen($_CONF['site_url']) + 1) . '/';
$errors = array();
if (!ini_get('file_uploads')) {
$errors[] = $FOO[66];
}
if (!is_writable($_CONF['path'] . 'plugins/')) {
$errors[] = sprintf($FOO[67], $_CONF['path'] . 'plugins/');
}
if (!is_writable($_CONF['path_html'])) {
$errors[] = sprintf($FOO[67], $_CONF['path_html']);
}
if (!is_writable($path_admin . 'plugins/')) {
$errors[] = sprintf($FOO[67], $path_admin . 'plugins/');
}
if (!SEC_hasRights('plugin.install')) {
$errors[] = $FOO[68];
}
if (!SEC_hasRights('plugin.upload')) {
$errors[] = $FOO[69];
}
if (count($errors)) {
$retval = '<p>' . $FOO[65] . '</p>' . LB . '<div><ul>' . LB;
foreach ($errors as $key => $value) {
$retval .= "<li>$value</li>";
}
} else {
$retval .= "<div><ul><li>no errors</li>";
}
$retval .= '</ul></div>' . LB;
echo $retval;