Page 2 of 3

Re: Page des plugins : Application Error #200

Posted: 01 Oct 2012, 15:25
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:

Re: Page des plugins : Application Error #200

Posted: 02 Oct 2012, 06:45
by Lapinkiller
dans print api, tu n'a pas une référence à plugins_pluginmanager_link ?

Re: Page des plugins : Application Error #200

Posted: 02 Oct 2012, 07:04
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... :(

Re: Page des plugins : Application Error #200

Posted: 02 Oct 2012, 08:33
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...

Re: Page des plugins : Application Error #200

Posted: 02 Oct 2012, 08:42
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 ?

Re: Page des plugins : Application Error #200

Posted: 02 Oct 2012, 11:48
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 ?

Re: Page des plugins : Application Error #200

Posted: 02 Oct 2012, 12:38
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.

Re: Page des plugins : Application Error #200

Posted: 02 Oct 2012, 13:40
by Lapinkiller
y'a forcément un endroit où cette référence est présente, elle peut pas être apparue comme par magie...

Re: Page des plugins : Application Error #200

Posted: 02 Oct 2012, 14:11
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 ?

Re: Page des plugins : Application Error #200

Posted: 02 Oct 2012, 14:15
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 ;)

Re: Page des plugins : Application Error #200

Posted: 02 Oct 2012, 14:41
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)...

Re: Page des plugins : Application Error #200

Posted: 02 Oct 2012, 15:02
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 ^^

Re: Page des plugins : Application Error #200

Posted: 03 Oct 2012, 06:55
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 ?

Re: Page des plugins : Application Error #200

Posted: 03 Oct 2012, 09:03
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...

Re: Page des plugins : Application Error #200

Posted: 03 Oct 2012, 09:19
by Lapinkiller
ah ben là ca parait plus logique... :D

la gestion des plugins se fait dans Administration > Gérer les plugiciels