|
Re: nombre de message sur le menu message de multimenu |
|
Régulier
Inscrit: 01/04/2006 16:55
De IDF - RP
|
bon ca a l'air de fonctionner ...
mais j'aurais aimé tel que sur ce site xoops avoir le nombre de message que lorqu'il y en a ....
y'a un code special ?
Posté le : 17/10/2006 08:37
|
J'suis nul en php mais j'ai d'autres talents . Cherche pro php xoops (et sympa) pour coup de main ... (help (help (help (help
|
|
Re: nombre de message sur le menu message de multimenu |
|
Xoops accro
Inscrit: 15/07/2004 11:16
|
Citation : jml a écrit: Notre ami coincoin est hébergé chez OVH ce qui explique cela, les balises fournies dans multimenu ne fonctionne pas avec OVH
vraiment ? pour le cas que tu présentes, les symptômes sont plutôt : on a l'affichage de la balise (ou des balises) au lieu du résultat. tu fais sans doute référence au topic où tu as participé, et le problème a été résolu : https://www.frxoops.org/modules/newbb/ ... t_id=97250#forumpost97250problème résolu également à partir de la version 1.9rc1 sinon, c'est faisable de masquer le chiffre lorsqu'il y a aucun message, mais il faudrait modifier le fichier /modules/multiMenu/blocks/block.php vers la ligne 160, après :
$new_messages = $pm_handler->getCount($criteria_new);
ajouter :
if ( $new_messages == 0) {$new_messages = "";}
attention, si tu utilises des parenthèses dans ton titre, tu n'auras plus que les parenthèses d'affichées. donc à la rigueur, je te conseille de modifier encore un peu le code pour que les parenthèses soient gérées dans le code, ce qui n'est pas parfait, mais bon... ce qui donnerait en code à utiliser :
$new_messages = "(".$pm_handler->getCount($criteria_new).")";
if ( $new_messages == 0) {$new_messages = "";}
de cette façon, s'il y a des nouveaux messages, tu obtiens le nombre, directement entre parenthèses (il ne te reste plus que la couleur a gérer comme indiquée plus tôt dans ce sujet) et s'il n'y a pas de nouveaux messages, alors le contenu de cette variable est vide, et tu n'auras rien d'affiché. je te laisse essayer.
Posté le : 17/10/2006 08:48
|
|
|
Re: nombre de message sur le menu message de multimenu |
|
Régulier
Inscrit: 01/04/2006 16:55
De IDF - RP
|
encore merci toutefois si j'utilise le dernier code apres avoir testé rien n'apparait quand j'ai un nouveau message ! par contre avec le premier code j'ai toujours les parentheses rouge meme quand j'ai rien et ca fait ca : () en rouge donc pas interessant car la seule difference avec avant c'est qu'avant c'etait marqué : (0) donc je remet comme c'etait
Posté le : 17/10/2006 10:07
|
J'suis nul en php mais j'ai d'autres talents . Cherche pro php xoops (et sympa) pour coup de main ... (help (help (help (help
|
|
Re: nombre de message sur le menu message de multimenu |
|
Xoops accro
Inscrit: 15/07/2004 11:16
|
pour le premier, c'est ce que je t'ai dit, que ça laissait les (). donc voici le 2nd code corrigé. ça n'affiche rien, s'il n'y a pas de nouveaux PM. et ça affiche les PM entre () quand il y en a. ligne 160, juste sous :
$new_messages = $pm_handler->getCount($criteria_new);
ajouter :
if ( $new_messages == 0) {$new_messages = "";}
else {$new_messages = "(".$new_messages.")";}
Posté le : 17/10/2006 10:23
|
|
|
Re: nombre de message sur le menu message de multimenu |
|
Régulier
Inscrit: 01/04/2006 16:55
De IDF - RP
|
encore merci
avec ce code quand j'ai un message c'est ok
mais j'ai compris mon probleme
j'avais laissé
<span style="color:#ff0000; font-weight: bold;">({pm_new})</span>
au lieu de
<span style="color:#ff0000; font-weight: bold;">{pm_new}</span> dans mon menu principal de multimenu de ce fait j'avais toujours des ( et ) !!!
ca marche super !!!!
encore merci .... des fois je vous admire lol
Posté le : 17/10/2006 10:34
|
J'suis nul en php mais j'ai d'autres talents . Cherche pro php xoops (et sympa) pour coup de main ... (help (help (help (help
|
|
Re: nombre de message sur le menu message de multimenu |
|
Régulier
Inscrit: 27/01/2006 23:21
De Puteaux
|
Blueteen tu parles de la version 1.9rc1 Sur mon site de test la liste des liens va vers la droite et pas en dessous !!! et pourtant après beaucoup de tests et de réglages!
Xavier xoops 2.0.15FR
Posté le : 17/10/2006 14:43
Edité par svn sur 18/10/2006 20:31:00
|
|
|
Re: nombre de message sur le menu message de multimenu |
|
Xoops accro
Inscrit: 15/07/2004 11:16
|
ah oui j'avais oublié ton post. je vais regarder ça sur un site de test tu as utilisé quel type de menu ? standard ?
Posté le : 17/10/2006 15:26
|
|
|
Re: nombre de message sur le menu message de multimenu |
|
Régulier
Inscrit: 27/01/2006 23:21
De Puteaux
|
Le premier dans la liste: [Menu]
Posté le : 17/10/2006 15:36
|
|
|
Re: nombre de message sur le menu message de multimenu |
|
Xoops accro
Inscrit: 15/07/2004 11:16
|
voilà, d'autres menus étaient aussi touchés en fait. DuGris a été plus prompt que moi pour résoudre ce souci, et voici les 2 fichiers qu'il m'a fait passer. donc pour la version 1.9, recopiez le contenu du code ci-dessous, dans les bons fichiers. contenu de modules/multiMenu/blocks/block.php
<?php
/**
* XOOPS - PHP Content Management System
* Copyright (c) 2001 - 2006 <http://www.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['columns_limit'] = $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
///////////////////////// Create columns for tables /////////////////////////
// Count column limits for category and mainlink
if ( $myrow['submenu'] != 1 AND $myrow['submenu'] != 2 ) {
$columns_limit++;
}
$block['columns_limit'] = $columns_limit/$options[2];
// Count column for dropdown menu or category only
if ( $myrow['submenu'] == 4 AND ( $options[0] == 'droplist' OR $options[0] == 'selectlist' ) ) {
$columns_limit_drop++;
}
$block['columns_limit_drop'] = $columns_limit_drop/$options[2];
} // Groups
}
return $block;
?>
contenu de modules/multiMenu/blocks/multimenu_functions.php
<?php
/**
* XOOPS - PHP Content Management System
* Copyright (c) 2001 - 2006 <http://www.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)
*/
function multimenu_makelink( $options, $myrow ) {
global $xoopsUser, $xoopsConfig;
global $columns_limit, $columns_limit_drop, $align;
$myts =& MyTextSanitizer::getInstance();
$imenu['submenu'] = $myrow['submenu'];
///////////////////////// Create Titles /////////////////////////
// Link title
if ( eregi('{alt}', $myrow['title']) ) {
$titles = explode( '{alt}', $myrow['title'] );
$title = $myts->makeTareaData4Show($titles[0]);
$alt_title = strip_tags( $myts->makeTareaData4Show( $titles[1] ) );
} else {
$title = $myts->makeTareaData4Show($myrow['title']);
$alt_title = strip_tags($myts->makeTareaData4Show($myrow['title']));
}
if ( (($options[0] == 'dyn_02' OR $options[0] == 'dyn_03' )
AND ( $myrow['submenu'] == 1 OR $myrow['submenu'] == 2 ) ) OR $options[0] == 'dyn_06' OR $options[0] == 'dyn_07' OR $options[0] == 'dyn_10' )
{ $title = addslashes($title); $alt_title = addslashes($alt_title); } // Get ride of special characters which cause dynamic's menu crash
// If link title is too long...
if ( $options[4] ) {
//if ( $options[0] == 'dyn_06') { $title = strip_tags($title); } //Get ride of html if context menu
if (strlen($title) >= $options[5]) {
$mm_title = $myts->makeTboxData4Show(substr($title,0,($options[5]-1)))."...";
} else {
$mm_title = $myts->makeTareaData4Show($title);
}
$imenu['title'] = $mm_title;
} else {
$imenu['title'] = '';
}
// PM detection and conversion
if ( eregi("{pm_new}", $title) || eregi("{pm_readed}", $title) || eregi("{pm_total}", $title) || eregi("{user_id}", $title) ) {
$new_messages = 0;
$old_messages = 0;
$som = 0;
$user_id = 0;
if (is_object($xoopsUser)) {
$user_id = $xoopsUser->getVar('uid');
$pm_handler =& xoops_gethandler('privmessage');
$uid = $xoopsUser->getVar('uid');
$criteria_new = new CriteriaCompo(new Criteria('read_msg', 0));
$criteria_new->add(new Criteria('to_userid', $xoopsUser->getVar('uid')));
$new_messages = $pm_handler->getCount($criteria_new);
$criteria_old = new CriteriaCompo(new Criteria('read_msg', 1));
$criteria_old->add(new Criteria('to_userid', $xoopsUser->getVar('uid')));
$old_messages = $pm_handler->getCount($criteria_old);
$som = $old_messages + $new_messages;
$title = preg_replace('/{pm_new}/', $new_messages, $title);
$title = preg_replace('/{pm_readed}/', $old_messages, $title);
$title = preg_replace('/{pm_total}/', $som, $title);
$title = preg_replace('/{user_id}/', $user_id, $title);
$imenu['title'] = $title;
} else {
$imenu['title'] = 'Message';
}
// $links = XOOPS_URL."/viewpmsg.php"; // Unquote if you want to automatically send to the PM box
}
// Create and remove html for alt title
// $alt_title = strip_tags($myts->makeTareaData4Show($title));
$imenu['alt_title'] = $alt_title;
if (is_object($xoopsUser)) {
$user_id = $xoopsUser->getVar('uid');
}
//gère ces balises PM dans le title et le alt (pour les blocs)
if ( eregi("{pm_new}", $imenu['alt_title']) || eregi("{pm_readed}", $imenu['alt_title']) ||
eregi("{pm_total}", $imenu['alt_title']) || eregi("{user_id}", $imenu['alt_title']) ) {
$imenu['alt_title'] = preg_replace('/{pm_new}/', $new_messages, $imenu['alt_title']);
$imenu['alt_title'] = preg_replace('/{pm_readed}/', $old_messages, $imenu['alt_title']);
$imenu['alt_title'] = preg_replace('/{pm_total}/', $som, $imenu['alt_title']);
$imenu['alt_title'] = preg_replace('/{user_id}/', $user_id, $imenu['alt_title']);
}
//fin gestion de ces balises PM dans le title et le alt (pour les blocs)
///////////////////////// Create urls /////////////////////////
// Link url
if ($myrow['link']) {
$user_id = 0;
if (is_object($xoopsUser)) {
$user_id = $xoopsUser->getVar('uid');
}
// Link Type
if ((eregi("mailto:", $myrow['link'])) || (eregi("http://", $myrow['link'])) ||
(eregi("https://", $myrow['link'])) || (eregi("file://", $myrow['link'])) || (eregi("ftp://", $myrow['link']))) {
$link = $myrow['link'];
$link = preg_replace('/{user_id}/', $user_id, $link);
} else {
$link = XOOPS_URL."/".$myrow['link'];
$link = preg_replace('/{user_id}/', $user_id, $link);
}
// Target function
if ($myrow['target'] != '_self') {
$target = 'target="'.$myrow['target'].'" ';
} else {
$target = ' ';
}
$imenu['target'] = $target;
$imenu['target_context'] = $myrow['target']; // utilisé dans le menu contextuel 2
// Create link
$imenu['link'] = '<a href="'.$link.'" '.$target.'title="'.$alt_title.'">';
$imenu['linkurl'] = $link;
$imenu['a'] = '</a>';
} else {
$imenu['link'] = '';
$imenu['linkurl'] = '';
$imenu['a'] = '';
}
///////////////////////// Create images /////////////////////////
// Create image
if( $myrow['imageurl'] AND $options[6] ) {
// Image type : relative or absolute link
/*
if ((eregi("http://", $myrow['imageurl'])) || (eregi("file://", $myrow['imageurl'])) || (eregi("https://", $myrow['imageurl']))) {
$image = $myrow['imageurl'];
} else {
*/
$image = XOOPS_URL.'/uploads/multiMenu/'.$myrow['imageurl'];
/*
}
*/
// Theme and module tag replace
$image = str_replace('{theme}', $xoopsConfig['theme_set'], $image);
if ( !empty($xoopsModule) ) {
$image = str_replace('{module}', $xoopsModule->getVar('dirname'), $image); } else { $image = str_replace('{module}', 'default', $image);
}
// Image resize if bigger
if ( $options[7] == '' ) {
$image_width = '';
$width = '1';
} else {
$image_size = getimagesize("$image");
$width = $image_size[0];
if ($options[1] <= $width) {
$image_width = 'width="'.$options[7].'" ';
} else {
$image_width = 'width="'.$width.'" ';
}
}
// Create image
$imenu['image'] = '<img src="'.$image.'" '.$image_width.'alt="'.$alt_title.'" '.$align.' style="vertical-align:middle;" />';
$imenu['imageurl'] = $image;
if ( !$width ) {
$imenu['image'] = '<img src="'.XOOPS_URL.'/modules/multiMenu/images/error.gif" '.$image_width.'alt="'.$alt_title.'" '.$align.' style="vertical-align:middle;" />';
}
} else {
$imenu['image'] = "";
}
return $imenu;
}
?>
Posté le : 18/10/2006 13:53
|
|
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|