[RESOLU] Page des plugins : Application Error #200

MantisBT forum for users who prefer to ask and answer questions in French.

Moderators: Developer, Contributor

Stef06
Posts: 73
Joined: Jan 09, 2012 2:52 am

Re: Page des plugins : Application Error #200

Post by Stef06 »

Alors la liste des fichiers modifiés :

config_defaults_inc.php
config_inc.php
custom_constant_inc.php
custom_strings_inc.php
css/default.css
bug_update_advanced_pageback.php
bug_update_advanced_page.php
core/project_api.php
core/print_api.php
core/collapse_api.php
lang/strings_french.txt
manage_proj_create_page.php
manage_proj_page.php
manage_proj_update.php
manage_config_workflow_page.php
manage_config_workflow_set.php
html_api.php
manage_columns_inc.php
bug_report_page.php
manage_user_page.php

C'est tout...... :| :mrgreen:

Lapinkiller
Posts: 408
Joined: Jan 28, 2011 1:47 pm
Location: France
Contact:

Re: Page des plugins : Application Error #200

Post by Lapinkiller »

dans print api, tu n'a pas une référence à plugins_pluginmanager_link ?
Lapinkiller,
French PHP developer
New look for your mantis : http://www.mantisbt.org/forums/viewtopi ... =4&t=20055

Stef06
Posts: 73
Joined: Jan 09, 2012 2:52 am

Re: Page des plugins : Application Error #200

Post by Stef06 »

Hello,

Non je n'ai pas de référence à 'plugins_pluginmanager_link' dans le core/print_api, ni dans toute l'arborescence 1.2.11 (après la recherche "grep -lr 'plugins_pluginmanager_link' *" )...

Toi oui ?

J'ai vérifié dans une arboresence vierge, rien non plus... :(

Stef06
Posts: 73
Joined: Jan 09, 2012 2:52 am

Re: Page des plugins : Application Error #200

Post by Stef06 »

J'ai trouvé cette méthode dans le fichier core/html_api.php :

# Plugin / Event added options
$t_event_menu_options = event_signal( 'EVENT_MENU_MAIN' );
foreach( $t_event_menu_options as $t_plugin => $t_plugin_menu_options ) {
foreach( $t_plugin_menu_options as $t_callback => $t_callback_menu_options ) {
if( is_array( $t_callback_menu_options ) ) {
$t_menu_options = array_merge( $t_menu_options, $t_callback_menu_options );
} else {
if ( !is_null( $t_callback_menu_options ) ) {
$t_menu_options[] = $t_callback_menu_options;
}
}
}
}

Je ne sais pas lire ce code rapidement, mais c'est comme si le event_signal sur le EVENT_MENU_MAIN ne fonctionnait pas, ou un truc du genre, non ?

Dans le core.php, on trouve cela aussi :

# Plugin initialization
require_once( 'plugin_api.php' );
if ( !defined( 'PLUGINS_DISABLED' ) ) {
plugin_init_installed();
}

Ou alors ce sont les données de la table mantis_project_table qui ne lui plaît pas, ou qu'il ne sait pas les interpréter pour les afficher correctement...

Stef06
Posts: 73
Joined: Jan 09, 2012 2:52 am

Re: Page des plugins : Application Error #200

Post by Stef06 »

On trouve la même chose dans le fichier view_all_inc.php :


$t_event_menu_options = $t_links = event_signal( 'EVENT_MENU_FILTER' );

foreach( $t_event_menu_options as $t_plugin => $t_plugin_menu_options ) {
foreach( $t_plugin_menu_options as $t_callback => $t_callback_menu_options ) {
if( !is_array( $t_callback_menu_options ) ) {
$t_callback_menu_options = array( $t_callback_menu_options );
}

foreach( $t_callback_menu_options as $t_menu_option ) {
if( $t_menu_option ) {
print_bracket_link_prepared( $t_menu_option );
}
}
}
}

mais pas dans la 1.1.6...... n'y aurait-il pas redondance ?

Lapinkiller
Posts: 408
Joined: Jan 28, 2011 1:47 pm
Location: France
Contact:

Re: Page des plugins : Application Error #200

Post by Lapinkiller »

ce que je ne comprend pas c'est qu'il essaye de charger des choses d'un plugin qui n'est pas installé...

dans le dossier plugins tu as quoi ?
Lapinkiller,
French PHP developer
New look for your mantis : http://www.mantisbt.org/forums/viewtopi ... =4&t=20055

Stef06
Posts: 73
Joined: Jan 09, 2012 2:52 am

Re: Page des plugins : Application Error #200

Post by Stef06 »

J'ai ça dans le dossier plugins :

[mantis@cnhjdev3 plugins]$ ll
total 12
drwxr-x--- 4 mantis mantis 4096 Jun 9 07:29 MantisCoreFormatting
drwxr-x--- 5 mantis mantis 4096 Jun 9 07:29 MantisGraph
drwxr-x--- 5 mantis mantis 4096 Jun 9 07:29 XmlImportExport

Ce sont les plugins par défaut à l'installation de Mantis visiblement. Dans la table mantis_plugin_table, j'ai uniquement MantisCoreFormatting.

Lapinkiller
Posts: 408
Joined: Jan 28, 2011 1:47 pm
Location: France
Contact:

Re: Page des plugins : Application Error #200

Post by Lapinkiller »

y'a forcément un endroit où cette référence est présente, elle peut pas être apparue comme par magie...
Lapinkiller,
French PHP developer
New look for your mantis : http://www.mantisbt.org/forums/viewtopi ... =4&t=20055

Stef06
Posts: 73
Joined: Jan 09, 2012 2:52 am

Re: Page des plugins : Application Error #200

Post by Stef06 »

Alors voilà la situation que j'ai pu éclaircir :

V1.1.6 => contenu du répertoire plugins : htmlmail importexport longcf pluginmanager
V1.2.11 => contenu du répertoire plugins : MantisCoreFormatting MantisGraph XmlImportExport

V1.1.6 => contenu du répertoire pluginmanager :
core plugins_file_package_page.php
core.php plugins_install_page.php
index.php plugins_list_page.php
info.php plugins_mantis_upgrade_page.php
install_inc.php plugins_package_page.php
install_manual_inc.php plugins_page.php
lang plugins_uninstall_page.php
lang_inc.php plugins_upgrade_page.php

Or, dans la v1.2.11 j'ai un fichier "custom_strings_inc.php" (hérité de la v1.1.6) qui fait un appel au fichier lang_inc.php, et qu'il ne trouve pas, forcément car il n'existe pas (ou plus) dans la nouvelle arborescence V1.2.11...

Ce fichier commence par :
<?php
if ( file_exists( dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR . 'pluginmanager' . DIRECTORY_SEPARATOR . 'lang_inc.php' ) )
{
require( dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR . 'pluginmanager' . DIRECTORY_SEPARATOR . 'lang_inc.php' );
global $g_plugins_manager_lang;
$g_plugins_manager_lang = ON;
}

Une piste sérieuse ?

Lapinkiller
Posts: 408
Joined: Jan 28, 2011 1:47 pm
Location: France
Contact:

Re: Page des plugins : Application Error #200

Post by Lapinkiller »

oui il faut que tu supprimes ces référence au pluginmanager

je t'invite à faire une recherche dans tout ton code 1.2.11 à la recherche de référence à pluginmanager ;)
Lapinkiller,
French PHP developer
New look for your mantis : http://www.mantisbt.org/forums/viewtopi ... =4&t=20055

Stef06
Posts: 73
Joined: Jan 09, 2012 2:52 am

Re: Page des plugins : Application Error #200

Post by Stef06 »

Alors je n'avais de référence à pluginmanager que dans ce fichier custom_strings_inc.php, mais j'ai toujours le même message d'erreur.

Tu m'avais dis que je pouvais supprimer toutes les tables mantis_plugins_pm_*, ça pourrait avoir aussi un rapport ? (je les avais supprimées mais j'ai refait un restore de mon dump depuis)...

Lapinkiller
Posts: 408
Joined: Jan 28, 2011 1:47 pm
Location: France
Contact:

Re: Page des plugins : Application Error #200

Post by Lapinkiller »

il y'a forcément un ou plusieurs endroits où il est fait appel à ce pluginmanager ;) essaye de comparer (avec winmerge par exemple) ta version 1.2.11 et la version non modifiée de mantis 1.2.11 pour trouver les morceaux de code...

sinon si atrol tu passes dans le coin et que tu as une idée ^^
Lapinkiller,
French PHP developer
New look for your mantis : http://www.mantisbt.org/forums/viewtopi ... =4&t=20055

Stef06
Posts: 73
Joined: Jan 09, 2012 2:52 am

Re: Page des plugins : Application Error #200

Post by Stef06 »

Alors, j'ai sollicité l'aide d'un collègue qui touche sa bille en php, et après moult var_dump($t_options) et divers echo('youhou!') pour isoler les appels des diverses fonctions impactées dans les plugins, nous avons (à priori) isolé ZE problème : dans la base de données, table 'mantis_config_table', la ligne 'main_menu_custom_options' a une 'value' à :

a:1:{i:0;a:3:{i:0;s:26:"plugins_pluginmanager_link";i:1;i:10;i:2;s:16:"plugins_page.php";}}........ GRRRRRRRRRRRRRRR !!!!!!!!!! :evil: :evil:

Alors, je supprime cette valeur de 'value' => je me retrouve avec toute une série de pipe '||||' en lieu et place du menu "Plugins"... :(

Je crée une nouvelle chaîne de caractère dans le fichier de langue ($s_plugins_link = 'Plugins';), que je mets à la place de "plugins_pluginmanager_link" dans la value du 'main_menu_custom_options' => le enu n'apparaît toujours pas et le message "SYSTEM WARNING: 'Invalid argument supplied for foreach()' in '/USR/mantis/test/mantisbt-1.2.11/core/html_api.php' line 696" s'affiche en rouge au-dessus du bandeau de menu...

Je supprime la ligne entière ?

Stef06
Posts: 73
Joined: Jan 09, 2012 2:52 am

Re: Page des plugins : Application Error #200

Post by Stef06 »

Donc j'ai supprimé les tables mantis_plugins_pm_* : pas de changement.

Après j'ai supprimé la ligne 'main_menu_custom_option' : le menu 'Plugins' n'apparaît plus... du tout... :(... au moins ça c'est fait :D ..

Je sais plus quoi faire now...

Lapinkiller
Posts: 408
Joined: Jan 28, 2011 1:47 pm
Location: France
Contact:

Re: Page des plugins : Application Error #200

Post by Lapinkiller »

ah ben là ca parait plus logique... :D

la gestion des plugins se fait dans Administration > Gérer les plugiciels
Lapinkiller,
French PHP developer
New look for your mantis : http://www.mantisbt.org/forums/viewtopi ... =4&t=20055

Post Reply