1
tatane
Multimenu : link color
  • 2008/11/28 13:09

  • tatane

  • Just can't stay away

  • Posts: 649

  • Since: 2008/5/6 1


hello,

in MultiMenu 1.9 ,I created a standard link as follows:
Resized Image


This gives " Messages [0] "


what I want, for example when a member receive a private message that the figure "1" is in red!
exemple : "Messages [1]"


I do not know if I was clear enough

Thank you

2
trabis
Re: Multimenu : link color
  • 2008/11/28 18:50

  • trabis

  • Core Developer

  • Posts: 2269

  • Since: 2006/9/1 1


file: multiMenu/blocks/block.php
Around line 168(not sure) use this:
le="color: #000000"><?php $title = preg_replace('/{pm_new}/', '<span style="color:#ff0000; font-weight: bold;">'.$new_messages.'</span>', $title);//hacked line $title = preg_replace('/{pm_readed}/', $old_messages, $title); $title = preg_replace('/{pm_total}/', $som, $title); $title = preg_replace('/{user_id}/', $user_id, $title);

3
tatane
Re: Multimenu : link color
  • 2008/11/29 8:15

  • tatane

  • Just can't stay away

  • Posts: 649

  • Since: 2008/5/6 1


there is no line 168 in Multimenu / blocks / block.php!!


I want to do is: when there is an MP, the figure must be marked in red or a picture like that

Resized Image
. I wrote it

le="color: #000000"><?php Message[<font color="red">{pm_new}</font>]


but even when there is no MP is the figure in red

4
ghia
Re: Multimenu : link color
  • 2008/11/29 10:38

  • ghia

  • Community Support Member

  • Posts: 4953

  • Since: 2008/7/3 1


Quote:
there is no line 168 in Multimenu / blocks / block.php!!
Maybe it's a different version and trabis was not sure about the exact line, but you must be able to locate the other lines of the code snippet.

5
tatane
Re: Multimenu : link color
  • 2008/11/29 11:16

  • tatane

  • Just can't stay away

  • Posts: 649

  • Since: 2008/5/6 1


the bloc "User Menu" of XOOPS 2.0.18.2
has this kind of system! Where there is no MP, zero is black and where there is a 1 is the message in red

I looked into this block and that's what I found:
le="color: #000000"><?php <{if $block.new_messages> 0}> <a class="highlight" href="<{$xoops_url}>/viewpmsg.php"><{$block.lang_inbox}> (<span style="color:#ff0000; font-weight: bold;"><{$block.new_messages}></span>)</a> <{else}> <a href="<{$xoops_url}>/viewpmsg.php"><{$block.lang_inbox}></a> <{/if}>



how to adapt to Multimenu or in a custom block?

6
trabis
Re: Multimenu : link color
  • 2008/11/29 12:12

  • trabis

  • Core Developer

  • Posts: 2269

  • Since: 2006/9/1 1


Hi tatane, I took the above lines from usermenu! My version of multimenu is 1.8.somethinghere.

I´m not sure if is line 168 because it is not the same version and because I also did some changes there myself.
If you could post the block.php here maybe I could find the line for you.

7
tatane
Re: Multimenu : link color
  • 2008/11/29 12:21

  • tatane

  • Just can't stay away

  • Posts: 649

  • Since: 2008/5/6 1



Here is the block.php of version 1.9

<?php /** * XOOPS - PHP Content Management System * Copyright (c) 2001 - 2006 <https://xoops.org/> * * Module: multiMenu 1.90 * Licence : GPL * Authors : * - solo (http://www.wolfpackclan.com/wolfactory) * - herve (http://www.herve-thouzard.com) * - blueteen (http://myxoops.romanais.info) * - DuGris (http://www.dugris.info) */ global $xoopsDB, $xoopsUser, $xoopsConfig, $xoopsModule; $myts =& MyTextSanitizer::getInstance(); $group = is_object($xoopsUser) ? $xoopsUser->getGroups() : array(XOOPS_GROUP_ANONYMOUS); $current_page = $_SERVER['SCRIPT_NAME']; $mainid = ''; $rand = ''; $randlimit = ''; $columns_limit = 0; $columns_limit_drop = 0; $block = array(); $block['css_file'] = $xoopsConfig['theme_set']; // Check user agent (SEO). If Spider, display list style if ( eregi( "bot", getenv("HTTP_USER_AGENT") ) || eregi( "spider", getenv("HTTP_USER_AGENT") ) || eregi( "robot", getenv("HTTP_USER_AGENT") ) || eregi( "crawler", getenv("HTTP_USER_AGENT") ) ) { $block['format'] = "ul"; } else { $block['format'] = $options[0]; } // General options regarding block type $width = ''; $block['marquee'] = ''; $block['columns'] = $options[2]; $block['block_size'] = $options[8]; $block['marquee_height'] = $options[9]; $block['submenu_color'] = $options[10]; $block['latency'] = $options[11]; $block['marquee_delay'] = $options[12]; $block['mm'] = $options[15]; if ($options[1] != "all" ) {$where = "hide = 1 AND submenu = ".$options[1]."";} else {$where = "hide = 1";} if ($options[0] == "scrollist") {$block['marquee'] = 'behavior="scroll" direction="up"'; $block['format'] = "ul";} if ($options[0] == "slidelist") {$block['marquee'] = 'behavior="slide" direction="up"'; $block['format'] = "ul";} if ($options[0] == "picscroll" ) {$block['marquee'] = 'behavior="scroll" direction="up"';} if ($options[0] == 'menu' OR $options[0] == 'ul' OR $options[0] == 'ol' OR $options[0] == 'scrollist' OR $options[0] == 'slidelist' ) {$align = 'align="absmiddle" ';} else { $align= ''; } // Random function if ($options[0] != "droplist" or $options[0] != "selectlist") { $randresult = $xoopsDB -> queryF( " SELECT COUNT(*) FROM " .$xoopsDB->prefix("multimenu") . $options[15] . " WHERE $where"); list( $total )=$xoopsDB->fetchRow($randresult); } if ($options[13]) { $randlimit = $options[14]; $total = $total-1-$randlimit; $rand = rand(0,$total); } ///////////////////////// Create Links ///////////////////////// // SQL query $sql = "SELECT id, pid, groups, link, submenu, title, target, imageurl, weight FROM ".$xoopsDB->prefix('multimenu').$options[15]." WHERE $where ORDER BY ".$options[3]; $result = $xoopsDB->queryF($sql ,$randlimit ,$rand); while ( $myrow = $xoopsDB->fetchArray($result) ) { // Group access $groups = explode(" ",$myrow['groups']); if (count(array_intersect($group,$groups)) > 0) { // Sub link Display if ( $myrow['link'] ) { $link = $myrow['link']; } else { $link = ''; } if ($options[16]) { // Contextual menu if ( empty($xoopsModule) ) { if ( $myrow['submenu'] == 4 ) { $mainid = $myrow['id']; } } else { switch ($myrow['submenu']) { case 0: if ( eregi( "/".$xoopsModule->getVar('dirname')."/", $myrow['link'] )) { $mainid = $myrow['id']; } break; case 3: if ( eregi( "/".$xoopsModule->getVar('dirname')."/", $myrow['link'] )) { $mainid = $myrow['id']; } break; case 4: $mainid = $myrow['id']; break; } } // Test : link is sub of a main link and do we display it if ( $myrow['pid'] == $mainid ) { $block['contents'][] = multimenu_makelink($options, $myrow); } // Test : link is sub of a main link and do we display it } else { // Not contextual menu if ( !empty($xoopsModule) && eregi( "/".$xoopsModule->getVar('dirname')."/", $myrow['link'] ) && ( $myrow['submenu'] < 1 || $myrow['submenu'] > 2 ) ) { $mainid = $myrow['id']; } // Test : link is sub of a main link and do we display it if ( $myrow['pid'] == $mainid && ( $myrow['submenu'] == 2 ) || ( $myrow['submenu'] != 2 ) ) { $block['contents'][] = multimenu_makelink($options, $myrow); } // Test : link is sub of a main link and do we display it } // end Contextual menu or Not contextual menu } // Groups } return $block; ?>

8
trabis
Re: Multimenu : link color
  • 2008/11/29 12:33

  • trabis

  • Core Developer

  • Posts: 2269

  • Since: 2006/9/1 1


multimenu_makelink($options, $myrow);

Can you find this function for me and paste it here? Thanks!

9
tatane
Re: Multimenu : link color
  • 2008/11/29 12:42

  • tatane

  • Just can't stay away

  • Posts: 649

  • Since: 2008/5/6 1


sorry, I is not understood, I find this function where?

10
trabis
Re: Multimenu : link color
  • 2008/11/29 12:51

  • trabis

  • Core Developer

  • Posts: 2269

  • Since: 2006/9/1 1


Quote:

tatane wrote:
sorry, I is not understood, I find this function where?


I don´t know, maybe in multimenu/include/functions.php or whatever. Maybe you could point me where to download the module.