FluxBB.fr

Le site des utilisateurs francophones de FluxBB.

Recherche rapide

Vous n'êtes pas identifié(e).

Version 1.4.2 : [.tar.gz][.zip] (maj 09/08/2010)
Pack langue française pour 1.4.2 : [.zip] (maj 14/08/2010)

Ancienne version :

Version 1.2.23 fr (entièrement en français) : [.zip] (maj 16/08/2010)
Pack langue française pour 1.2.x : [.zip] [.rar] (maj 15/10/2006)

Vous avez un problème ?
Avant de poser votre question sur les forums d'entraide nous vous invitons à consulter :

#1 07-02-2010 00:49:05

CreativeCity
Régulier
Inscription : 05-02-2010
Messages : 54

Brdmenu en flash ?

Rebonjour à tous smile,

Voila j'ai une autre question à propos de mon forum: je veux remplacer les liens de menu dans .brdmenu par une animation flash en .swf.

J'ai réalisé 3 menus en flash pour les 3 situations différentes: connecté en invité, en membre, en admin.

J'ai reperé dans le code les passages à modifier dans les fichiers: header.php et functions.php:

// Pour header.php (ligne 179)
// START SUBST - <pun_navlinks>
$tpl_main = str_replace('<pun_navlinks>','<div id="brdmenu" class="inbox">'."\n\t\t\t". generate_navlinks()."\n\t\t".'</div>', $tpl_main);
// END SUBST - <pun_navlinks>
// Pour functions.php (ligne 274)

//
// Generate the "navigator" that appears at the top of every page
//
function generate_navlinks()
{
    global $pun_config, $lang_common, $pun_user;

    // Index and Userlist should always be displayed
    $links[] = '<li id="navindex"><a href="index.php">'.$lang_common['Index'].'</a>';
    $links[] = '<li id="navuserlist"><a href="userlist.php">'.$lang_common['User list'].'</a>';

    if ($pun_config['o_rules'] == '1')
        $links[] = '<li id="navrules"><a href="misc.php?action=rules">'.$lang_common['Rules'].'</a>';

    if ($pun_user['is_guest'])
    {
        if ($pun_user['g_search'] == '1')
            $links[] = '<li id="navsearch"><a href="search.php">'.$lang_common['Search'].'</a>';

        $links[] = '<li id="navregister"><a href="register.php">'.$lang_common['Register'].'</a>';
        $links[] = '<li id="navlogin"><a href="login.php">'.$lang_common['Login'].'</a>';

        $info = $lang_common['Not logged in'];
    }
    else
    {
if ($pun_user['g_id'] > PUN_MOD)
        {
            if ($pun_user['g_search'] == '1')
                $links[] = '<li id="navsearch"><a href="search.php">'.$lang_common['Search'].'</a>';

            $links[] = '<li id="navprofile"><a href="profile.php?id='.$pun_user['id'].'">'.$lang_common['Profile'].'</a>';
            /* Start MOD PM */
            if ($pun_config['o_pms_enabled'] == '1' && $pun_user['g_pm'] == 1 && $pun_user['use_pm'] == 1)
                $links[] = '<li id="navpm"><a href="pms_list.php">'.$GLOBALS['lang_pms']['PM'].'</a>';    
            /* End MOD PM */
            $links[] = '<li id="navlogout"><a href="login.php?action=out&id='.$pun_user['id'].'&csrf_token='.sha1($pun_user['id'].sha1(get_remote_address())).'">'.$lang_common['Logout'].'</a>';
        }
        else
        {
            $links[] = '<li id="navsearch"><a href="search.php">'.$lang_common['Search'].'</a>';
            $links[] = '<li id="navprofile"><a href="profile.php?id='.$pun_user['id'].'">'.$lang_common['Profile'].'</a>';
            /* Start MOD PM */
            if ($pun_config['o_pms_enabled'] == '1' && $pun_user['g_pm'] == 1 && $pun_user['use_pm'] == 1)
                $links[] = '<li id="navpm"><a href="pms_list.php">'.$GLOBALS['lang_pms']['PM'].'</a>';    
            /* End MOD PM */
            $links[] = '<li id="navadmin"><a href="admin_index.php">'.$lang_common['Admin'].'</a>';
            $links[] = '<li id="navlogout"><a href="login.php?action=out&id='.$pun_user['id'].'&csrf_token='.sha1($pun_user['id'].sha1(get_remote_address())).'">'.$lang_common['Logout'].'</a>';
        }
    }

    // Are there any additional navlinks we should insert into the array before imploding it?
    if ($pun_config['o_additional_navlinks'] != '')
    {
        if (preg_match_all('#([0-9]+)\s*=\s*(.*?)\n#s', $pun_config['o_additional_navlinks']."\n", $extra_links))
        {
            // Insert any additional links into the $links array (at the correct index)
            for ($i = 0; $i < count($extra_links[1]); ++$i)
                array_splice($links, $extra_links[1][$i], 0, array('<li id="navextra'.($i + 1).'">'.$extra_links[2][$i]));
        }
    }

    return '<ul>'."\n\t\t\t\t".implode($lang_common['Link separator'].'</li>'."\n\t\t\t\t", $links).'</li>'."\n\t\t\t".'</ul>';
}

Mon menu flash se présente sous cette forme:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="800" height="25" id="menu_flash">
                    <param name="allowScriptAccess" value="sameDomain" />
                    <param name="movie" value="./flash/menu.swf" />
                    <param name="quality" value="high" />
                    <param name="salign" value="t" />
                    <embed src="./flash/menu.swf" quality="high" salign="t" width="800" height="25" name="1112" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
                </object>

J'avais fait un premier essai en modifier le code functions.php pour placer mon menu en flash, voila ce que j'avais fait:

//
// Generate the "navigator" that appears at the top of every page
//
function generate_navlinks()
{
    global $pun_config, $lang_common, $pun_user;

    if ($pun_user['is_guest'])
    {
            echo '<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="800" height="25" id="menu_flash">
                    <param name="allowScriptAccess" value="sameDomain" />
                    <param name="movie" value="./flash/menu.swf" />
                    <param name="quality" value="high" />
                    <param name="salign" value="t" />
                    <embed src="./flash/menu.swf" quality="high" salign="t" width="800" height="25" name="1112" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
                </object>';
    }
    else
    {
if ($pun_user['g_id'] > PUN_MOD)
        {
            if ($pun_user['g_search'] == '1')
                $links[] = '<li id="navsearch"><a href="search.php">'.$lang_common['Search'].'</a>';

            $links[] = '<li id="navprofile"><a href="profile.php?id='.$pun_user['id'].'">'.$lang_common['Profile'].'</a>';
            /* Start MOD PM */
            if ($pun_config['o_pms_enabled'] == '1' && $pun_user['g_pm'] == 1 && $pun_user['use_pm'] == 1)
                $links[] = '<li id="navpm"><a href="pms_list.php">'.$GLOBALS['lang_pms']['PM'].'</a>';    
            /* End MOD PM */
            $links[] = '<li id="navlogout"><a href="login.php?action=out&id='.$pun_user['id'].'&csrf_token='.sha1($pun_user['id'].sha1(get_remote_address())).'">'.$lang_common['Logout'].'</a>';
        }
        else
        {
            $links[] = '<li id="navsearch"><a href="search.php">'.$lang_common['Search'].'</a>';
            $links[] = '<li id="navprofile"><a href="profile.php?id='.$pun_user['id'].'">'.$lang_common['Profile'].'</a>';
            /* Start MOD PM */
            if ($pun_config['o_pms_enabled'] == '1' && $pun_user['g_pm'] == 1 && $pun_user['use_pm'] == 1)
                $links[] = '<li id="navpm"><a href="pms_list.php">'.$GLOBALS['lang_pms']['PM'].'</a>';    
            /* End MOD PM */
            $links[] = '<li id="navadmin"><a href="admin_index.php">'.$lang_common['Admin'].'</a>';
            $links[] = '<li id="navlogout"><a href="login.php?action=out&id='.$pun_user['id'].'&csrf_token='.sha1($pun_user['id'].sha1(get_remote_address())).'">'.$lang_common['Logout'].'</a>';
        }
    }

    // Are there any additional navlinks we should insert into the array before imploding it?
    if ($pun_config['o_additional_navlinks'] != '')
    {
        if (preg_match_all('#([0-9]+)\s*=\s*(.*?)\n#s', $pun_config['o_additional_navlinks']."\n", $extra_links))
        {
            // Insert any additional links into the $links array (at the correct index)
            for ($i = 0; $i < count($extra_links[1]); ++$i)
                array_splice($links, $extra_links[1][$i], 0, array('<li id="navextra'.($i + 1).'">'.$extra_links[2][$i]));
        }
    }

    return '<ul>'."\n\t\t\t\t".implode($lang_common['Link separator'].'</li>'."\n\t\t\t\t", $links).'</li>'."\n\t\t\t".'</ul>';
}

Mais sa ne marche pas à cause la fonction str_replace dans le fichier header.php je pense. Je ne vois pas trop comment faire. Vous avez des idées ?

Merci d'avance pour votre aide smile

Dernière modification par CreativeCity (07-02-2010 18:30:32)

Hors ligne

#2 07-02-2010 18:25:51

Xtrem-AW
Habitué
Inscription : 19-08-2009
Messages : 188

Re : Brdmenu en flash ?

n'oublie pas de metre les balises : [code ] et [ /code]

Hors ligne

#3 07-02-2010 18:31:07

CreativeCity
Régulier
Inscription : 05-02-2010
Messages : 54

Re : Brdmenu en flash ?

Désolé, j'avais utilisé les balises [ c ] et [ /c ] ...

Hors ligne

#4 07-02-2010 23:37:13

CreativeCity
Régulier
Inscription : 05-02-2010
Messages : 54

Re : Brdmenu en flash ?

Bon je pense que c'est un peu dur à réaliser ... le lien pour le bouton déconnexion dépend de l'utilisateur connecté, je ne vois pas comment je peut gérer sa en flash ... alors je laisse tomber. Mais si vous savez comment faire, n'hésitez pas smile

Hors ligne

Pied de page des forums