RE: Infobar [Traduction en Français]
Je vois le problème mais c'est bizarre... Essaye ça...
Code PHP :
<?php
/* Infobar Plugin for MyBB Copyright (C) 2010 Sebastian Wunderlich Traduit par: Rémi
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */
if(!defined('IN_MYBB')) { die(); }
$plugins->add_hook('pre_output_page','infobar');
function infobar_info() { return array ( 'name'=>'Infobar', 'description'=>'Affiche une Infobar en haut du forum aux invités et membres qui n\'ont pas encore activé leur compte.', 'website'=>'http://mods.mybboard.net/view/infobar', 'author'=>'Sebastian Wunderlich', 'version'=>'1.4', 'guid'=>'6615441c6f918c53c3d378e1044ec448', 'compatibility'=>'14*,16*', 'codename'=>'infobar' ); }
function infobar_activate() { global $db; $info=infobar_info(); $setting_group_array=array ( 'name'=>$info['codename'], 'title'=>$info['name'], 'description'=>'Ici vous pouvez éditer les paramètres d\'\''.$info['name'].'.', 'disporder'=>1, 'isdefault'=>0 ); $db->insert_query('settinggroups',$setting_group_array); $group=$db->insert_id(); $settings=array ( 'infobar_guests'=>array ( 'Infobar pour invités', 'Voulez-vous afficher une Inforbar à vos invités ?', 'yesno', 1 ), 'infobar_activate'=>array ( 'Infobar pour utilisateurs non activés', 'Voulez-vous afficher une Infobar à vos membres non activés ?', 'yesno', 1 ) ); $i=1; foreach($settings as $name=>$sinfo) { $insert_array=array ( 'name'=>$name, 'title'=>$db->escape_string($sinfo[0]), 'description'=>$db->escape_string($sinfo[1]), 'optionscode'=>$db->escape_string($sinfo[2]), 'value'=>$db->escape_string($sinfo[3]), 'gid'=>$group, 'disporder'=>$i, 'isdefault'=>0 ); $db->insert_query('settings',$insert_array); $i++; } rebuild_settings(); }
function infobar_deactivate() { global $db; $info=infobar_info(); $result=$db->simple_select('settinggroups','gid','name="'.$info['codename'].'"',array('limit'=>1)); $group=$db->fetch_array($result); if(!empty($group['gid'])) { $db->delete_query('settinggroups','gid="'.$group['gid'].'"'); $db->delete_query('settings','gid="'.$group['gid'].'"'); rebuild_settings(); } }
function infobar_lang() { global $lang; $lang->load('infobar',false,true); $l['infobar_guests_message']='Vous n\'êtes pas connecté ou inscrit. Merci de <strong><a href="{1}/member.php?action=login">vous connecter</a></strong> ou de <strong><a href="{1}/member.php?action=register">vous enregistrer</a></strong> pour profiter de toutes les fonctionnalités de ce forum...'; $l['infobar_activate_message']='Votre compte est toujours en attente d\'activation. Veuillez activer votre compte pour utiliser toutes les fonctionnalités de ce forum (<strong><a href="{1}/member.php?action=resendactivation">renvoyer le code d\'activation</a></strong> ou <strong><a href="{1}/usercp.php?action=email">changer votre adresse de courrier électronique</a></strong> d\'abord)...'; foreach($l as $key=>$val) { if(!$lang->$key) { $lang->$key=$val; } } }
function infobar($page) { global $mybb,$session; if(($mybb->user['usergroup']==1||$mybb->user['usergroup']==5)&&empty($session->is_spider)) { global $lang; infobar_lang(); if($mybb->user['usergroup']==1&&$mybb->settings['infobar_guests']) { $infobar_message=$lang->sprintf($lang->infobar_guests_message,$mybb->settings['bburl']); } elseif($mybb->user['usergroup']==5&&$mybb->settings['infobar_activate']) { $infobar_message=$lang->sprintf($lang->infobar_activate_message,$mybb->settings['bburl']); } if($infobar_message) { $page=str_replace('</head>','<link rel="stylesheet" type="text/css" href="'.$mybb->settings['bburl'].'/themes/infobar.css" /></head>',$page); $page=preg_replace('#<body(.*)>#Usi','<body$1><div id="infobar"><span>'.$infobar_message.'</span></div>',$page); return $page; } } }
?>
Et si ça ne fonctionne toujours pas, j'ai le mode "gros flemmard", qui devrait fonctionner...
Code PHP :
<?php
/* Infobar Plugin for MyBB Copyright (C) 2010 Sebastian Wunderlich Traduit par: Rémi
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */
if(!defined('IN_MYBB')) { die(); }
$plugins->add_hook('pre_output_page','infobar');
function infobar_info() { return array ( 'name'=>'Infobar', 'description'=>'Affiche une Infobar en haut du forum aux invités et membres qui n\'ont pas encore activé leur compte.', 'website'=>'http://mods.mybboard.net/view/infobar', 'author'=>'Sebastian Wunderlich', 'version'=>'1.4', 'guid'=>'6615441c6f918c53c3d378e1044ec448', 'compatibility'=>'14*,16*', 'codename'=>'infobar' ); }
function infobar_activate() { global $db; $info=infobar_info(); $setting_group_array=array ( 'name'=>$info['codename'], 'title'=>$info['name'], 'description'=>'Ici vous pouvez éditer les paramètres de '.$info['name'].'.', 'disporder'=>1, 'isdefault'=>0 ); $db->insert_query('settinggroups',$setting_group_array); $group=$db->insert_id(); $settings=array ( 'infobar_guests'=>array ( 'Infobar pour invités', 'Voulez-vous afficher une Inforbar à vos invités ?', 'yesno', 1 ), 'infobar_activate'=>array ( 'Infobar pour utilisateurs non activés', 'Voulez-vous afficher une Infobar à vos membres non activés ?', 'yesno', 1 ) ); $i=1; foreach($settings as $name=>$sinfo) { $insert_array=array ( 'name'=>$name, 'title'=>$db->escape_string($sinfo[0]), 'description'=>$db->escape_string($sinfo[1]), 'optionscode'=>$db->escape_string($sinfo[2]), 'value'=>$db->escape_string($sinfo[3]), 'gid'=>$group, 'disporder'=>$i, 'isdefault'=>0 ); $db->insert_query('settings',$insert_array); $i++; } rebuild_settings(); }
function infobar_deactivate() { global $db; $info=infobar_info(); $result=$db->simple_select('settinggroups','gid','name="'.$info['codename'].'"',array('limit'=>1)); $group=$db->fetch_array($result); if(!empty($group['gid'])) { $db->delete_query('settinggroups','gid="'.$group['gid'].'"'); $db->delete_query('settings','gid="'.$group['gid'].'"'); rebuild_settings(); } }
function infobar_lang() { global $lang; $lang->load('infobar',false,true); $l['infobar_guests_message']='Vous n\'êtes pas connecté ou inscrit. Merci de <strong><a href="{1}/member.php?action=login">vous connecter</a></strong> ou de <strong><a href="{1}/member.php?action=register">vous enregistrer</a></strong> pour profiter de toutes les fonctionnalités de ce forum...'; $l['infobar_activate_message']='Votre compte est toujours en attente d\'activation. Veuillez activer votre compte pour utiliser toutes les fonctionnalités de ce forum (<strong><a href="{1}/member.php?action=resendactivation">renvoyer le code d\'activation</a></strong> ou <strong><a href="{1}/usercp.php?action=email">changer votre adresse de courrier électronique</a></strong> d\'abord)...'; foreach($l as $key=>$val) { if(!$lang->$key) { $lang->$key=$val; } } }
function infobar($page) { global $mybb,$session; if(($mybb->user['usergroup']==1||$mybb->user['usergroup']==5)&&empty($session->is_spider)) { global $lang; infobar_lang(); if($mybb->user['usergroup']==1&&$mybb->settings['infobar_guests']) { $infobar_message=$lang->sprintf($lang->infobar_guests_message,$mybb->settings['bburl']); } elseif($mybb->user['usergroup']==5&&$mybb->settings['infobar_activate']) { $infobar_message=$lang->sprintf($lang->infobar_activate_message,$mybb->settings['bburl']); } if($infobar_message) { $page=str_replace('</head>','<link rel="stylesheet" type="text/css" href="'.$mybb->settings['bburl'].'/themes/infobar.css" /></head>',$page); $page=preg_replace('#<body(.*)>#Usi','<body$1><div id="infobar"><span>'.$infobar_message.'</span></div>',$page); return $page; } } }
?>
Cordialement,
Saphir,
Modérateur MyBB.support.
|