Message générique dans le bandeau d'entête

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

Moderators: Developer, Contributor

Post Reply
achabb
Posts: 15
Joined: 23 May 2014, 06:50

Message générique dans le bandeau d'entête

Post by achabb »

Bonjour,

je voudrais pouvoir mettre un message à droite du logo pour des information générique à tous les projets est-ce possible simplement ?
j'ai trouvé la possibilité de mettre un texte dans $g_page_title, mais il apparaît au-dessus du logo et je voudrais pouvoir le formater

Merci pour vos idées et solutions, je préviens : je ne suis pas développeur php, donc je ne comprends pas toutes les subtilités du langage, par contre je connais les langages perl et python.

Merci d'avance
AC
achabb
Posts: 15
Joined: 23 May 2014, 06:50

[RÉSOLU] Message générique dans le bandeau d'entête

Post by achabb »

Bonjour,

j'ai trouvé une solution qui fonctionne pas trop mal : j'utilise la variable $g_page_title, j'ai un peu modifié le code PHP de config_defaults_inc.php et core/html_api.php et j'utilise un fichier text à déposer dans /tmp du serveur linux.

Pour un peu plus de détails voici les modifications dans config_defaults_inc.php
A l'origine :

Code: Select all

  /**
   * title at top of html page (empty by default, since there is a logo now)
   * @global string $g_page_title
   */
    $g_page_title      = '';
modifié : recherche d'un fichier en utf-8 (avec ou sans BOM) dans /tmp de nom MessageGenerique.txt, s'il est présent on met le texte dans $g_page_title, sinon on laisse le fonctionnement standard de pouvoir mettre un titre aux pages du site (pour information le texte s'affiche centré en haut de chaque page, au-dessus de tout => décale la page vers le bas lors de l'affichage).
le fichier contient du texte à la norme html : <BR> pour les retours à la ligne et possibilité d'ajouter des balises <span> pour changer le style de tout ou parti du texte

Code: Select all

  /**
   * title at top of html page (empty by default, since there is a logo now)
   * @global string $g_page_title
   */
  $fileMessages= '/tmp/MessageGenerique.txt'; 
  if (file_exists($fileMessages)) {
    $handleMessages = fopen($fileMessages,"rb");
    $ChaineHtm = fread($handleMessages,filesize($fileMessages));
    if (substr($ChaineHtm,0,3) == chr(239) . chr(187) . chr(191)) {
      $g_page_title      = substr($ChaineHtm,3);
    } else {   
      $g_page_title      = $ChaineHtm;
    }  
  } else { 
    $g_page_title      = '';
  }
modification dans core/html_api.php
à l'origine :

Code: Select all

/**
 * (9) Print the title displayed at the top of the page
 * @return null
 */
function html_header() {
  $t_title = config_get( 'page_title' );

  echo '<div class="center"><span class="pagetitle">', string_display( $t_title ), '</span></div>', "\n";
}
modification, j'ai ajouté 2 images dans le répertoire images : "Alerte.png" et "Information.png" pour améliorer la visualisation (exemples plus loin), l'image contient le petit triagle avec le "!" et soit "Alerte : ", soit "Information : ", le reste de l'image est "transparent".
J'utilise le premier caractère du texte pour définir si c'est une alerte ("0") ou si c'est de l'information ("1")

Code: Select all

/**
 * (9) Print the title displayed at the top of the page
 * @return null
 */
function html_header() {
  $t_title = config_get( 'page_title' );
  if( !is_blank( $t_title ) ) {
    if ( substr( $t_title, 0, 1 ) == "0") {
      echo '<div style="padding: 5px; background-color:#ffaca3; border:2px solid #ff3924; -moz-border-radius:9px; -khtml-border-radius:9px; -webkit-border-radius:9px; border-radius:9px;">';
      echo '<div style="padding: 0px; font-size: 3em; float: left; width: 210px; text-align: center; margin-right: 5px; height: 55px;"><img src="images/Alerte.png"></div>' ; 
      echo substr($t_title,1) ;
      echo '</div>';
    } elseif ( substr( $t_title, 0, 1 ) == "1") {
      echo '<div style="padding:5px; background-color:#c5ddf6; border:2px solid #656ab0; -moz-border-radius:9px; -khtml-border-radius:9px; -webkit-border-radius:9px; border-radius:9px;">';
      echo '<div style=" padding:3px; font-size: 3em; float: left; width: 300px; text-align: left; margin-right: 5px; height: 55px;"><img src="images/Information.png"></div>';
      echo substr($t_title,1);
      echo '</div>' ;
    } else { 
      echo '<div class="center"><span class="pagetitle">', string_display( $t_title ), '</span></div>', "\n";
    }  
  }
}
voici un exemple de fichier :

Code: Select all

0<strong>Problème réseau</strong> : <span style="background-color:#FFFF00;color:#FF0000;">Le Réseau sera en Maintenance de 13h00 à 14h00</span><BR>Tous les sites seront inaccessibles, ainsi que l'accès Mantis<BR>Merci de votre compréhension
le rendu est pas trop mal et correspond bien à ce que je recherchais

voici les 2 exemples en image de bandeau ajouté :
Exemple d'alerte (correspond à l'exemple de fichier ci-dessus)
Exemple d'alerte (correspond à l'exemple de fichier ci-dessus)
Mantis1.jpg (20.45 KiB) Viewed 9614 times
Exemple d'information (rien de spécial dans le fichier seul des &lt;BR&gt; ont été insérrés pour le même texte que l'alerte, permier caractère = &quot;1&quot;)
Exemple d'information (rien de spécial dans le fichier seul des <BR> ont été insérrés pour le même texte que l'alerte, permier caractère = "1")
Mantis2.jpg (22.69 KiB) Viewed 9614 times
J'espère que ça pourra servir à quelqu'un, en tout cas ça répond à ce que je recherchais.

AC
aurelie94
Posts: 1
Joined: 16 Aug 2015, 08:57

Re: Message générique dans le bandeau d'entête

Post by aurelie94 »

Bonjour,

Je viens d'installer mantisbt sous windows avec xamp.

Ma question est la suivante après avoir modifier le fichier conf.inc.php et mis les inforamtion suivantes :

<?php
$g_hostname = 'localhost';
$g_db_username = '<myUser>';
$g_db_password = '<myPass>';
$g_database_name = 'bugtracker';
$g_db_type = 'mysql';

$g_allow_signup = ON;
$g_allow_anonymous_login = OFF;
$g_anonymous_account = '';

$g_phpMailer_method = PHPMAILER_METHOD_SMTP;
$g_smtp_host = 'smtp.gmail.com';
$g_smtp_username = '<myUser@gmail.com>';
$g_smtp_password = '<myPass>';
$g_administrator_email = '<myUser@gmail.com>';
$g_webmaster_email = '<myUser@gmail.com>';
$g_from_name = 'Mantis Bug Tracker';
$g_from_email = '<myUser@gmail.com>';
$g_return_path_email = '<myUser@gmail.com>';
$g_email_receive_own = OFF;
$g_email_send_using_cronjob = OFF;

$g_allow_file_upload = ON;
$g_file_upload_method = DATABASE;
$g_absolute_path_default_upload_folder = '';
$g_max_file_size = 5000000;
$g_preview_attachments_inline_max_size = 256 * 1024;
$g_allowed_files = '';
$g_disallowed_files = '';

$g_window_title = 'MantisBT';
$g_logo_image = 'images/mantis_logo.gif';
$g_favicon_image = 'images/favicon.ico';

$g_show_realname = OFF;
$g_show_user_realname_threshold = NOBODY;


Apres avoir fait le copier coller, et bien je ne peux plus accéder à l'application mantibt via mon mot de passe administrateur et le mot de passe root.

en fait j'ai enlever ce qui avait avant et j'ai mis ce fichier.

Pouvez vous m'aider ?

Merci

Aurélie94.
achabb
Posts: 15
Joined: 23 May 2014, 06:50

Re: Message générique dans le bandeau d'entête

Post by achabb »

Bonjour,

je pense que ce n'est pas forcement une bonne idée de mettre ta demande dans un ticket "Résolu" qui est en fait une explication que j'ai faite sur un cas sans rapport avec ton rpoblème, je pense que tu aurais dû créer une nouvelle discution.

je vais essayer de te répondre, mais je ne suis pas un expert "Mantis", dans ton config.inc, tu as beaucoupe plus de lignes que dans le mien, voici le contenu du mien si ça peut t'aider (juste une question : est-ce un oubli de ta part lors de la création de la note ou est-ce absent de ton fichier le "?>" qui doit cloturer un fichier source php ?) :

<?php
$g_hostname = 'localhost';
$g_db_type = 'mysql';
$g_database_name = 'xxxxx';
$g_db_username = 'xxxxx';
$g_db_password = 'xxxxxxxxx';

# --- Email Configuration ---
$g_enable_email_notification = ON;
$g_send_reset_password = ON;
$g_log_level = LOG_EMAIL | LOG_EMAIL_RECIPIENT;
$g_log_destination = 'file:_maDestination_';
$g_phpMailer_method = PHPMAILER_METHOD_SMTP;

$g_smtp_host = 'smtp.xxxxxxx';
$g_smtp_username = '';
$g_smtp_passoword = '';
$g_from_name = 'Mantisbt xxxxxxxx';
$g_smtp_connection_mode = '';
$g_smtp_port = 25 ;
$g_administrator_email = 'xxxxx@xxxx.fr';
$g_webmaster_email = 'xxxxxx@xxxxx.fr';
$g_from_email = 'Mantisbt@xxxxx.fr';
$g_return_path_email = 'Mantisbt@xxxxxx.fr';

$g_allow_blank_email = ON;
$g_validate_email = ON;
$g_email_send_using_cronjob = OFF;
?>
Cordialement,
Alain
Post Reply