Members: 16,996
Threads: 38,844
Posts: 159,383
Online: 24

Newest Member: Kl_broka@rediffmail.com


Odoo.tv - Outdoor Television


Sedo - Domains kaufen und verkaufen das Projekt mambers.com steht zum Verkauf Besucherstatistiken von mambers.com etracker® Web-Controlling statt Logfile-Analyse

Go Back   Mambers.com > International > Italian - Italiano > Problematiche generali

Reply
 
LinkBack Thread Tools Display Modes
Old 16.03.2005, 05:37   #1 (permalink)
Silver_confusion
Guest
 
Posts: n/a
Exclamation 2 Piccoli Bug in Mambo - Ecco le possibili soluzioni

Ciao ragazzi, dato che ormai conosco il codice di mambo a memoria e non sto scherzando, vi do due cosigli su come risolvere due errori che ho incontrato oggi.<br>
Se poi qualcuno lo facesse notare a programmatori di mambo sarebbe meglio.


# ERRORE 1
1 - Se non avete inserito l'indirizzo e-mail e il nome dell'utente, che invia le email da mambo, nella configurazione globale di mambo nella sezione mail (Menu: Sito>Configurazione>Mail), fate attenzione perkè al momento che registrate un utente dal pannello di amministrazione non viene inviata l'email con la login e la password all'utente registrato.


Ecco il perkè dell'errore:
File: administrator\components\com_users\admin.users.php ;
Riga: 290;
Cercate questo parte di codice:

PHP Code:
// for new users, email username and password
    
if ($isNew) {
        
$query "SELECT email FROM #__users WHERE id=$my->id";
        
$database->setQuery$query );
        
$adminEmail $database->loadResult();

        
$subject _NEW_USER_MESSAGE_SUBJECT;
        
$message sprintf _NEW_USER_MESSAGE$row->name$mosConfig_sitename$mosConfig_live_site$row->username$pwd );

        if (
$mosConfig_mailfrom != "" && $mosConfig_fromname != "") {
            
$adminName $mosConfig_fromname;
            
$adminEmail $mosConfig_mailfrom;
        } else {
            
$query "SELECT name, email FROM #__users WHERE usertype='superadministrator'";
            
$database->setQuery$query );
            
$rows $database->loadObjectList();
            
$row $rows[0]; // Ecco l'errore
            
$adminName $row->name// Ecco l'errore
            
$adminEmail $row->email// Ecco l'errore
        
}
        
mosMail$adminEmail$adminName$row->email$subject$message );
    } 
L'errore sta nel rimpiazzo l'oggetto $row, poichè è gia utilizzato per la registrazione dell'utente attraverso la classe:
PHP Code:
Riga 226: [b]$row = new mosUser$database );[/b
con quello che viene caricato per recuperare il nome e la mail di un super administrator dalla tabella mos_user:
Riga 305: $rows = $database->loadObjectList();
Riga 306: $row = $rows[0]; // Ecco l'errore
Riga 307: $adminName = $row->name; // Ecco l'errore
Riga 308: $adminEmail = $row->email; // Ecco l'errore

Infatti al punto:
Riga 310: mosMail( $adminEmail, $adminName, $row->email, $subject, $message );

Che vi tradurro cosi:
$adminEmail = Email di chi Invia,
$adminName = Nome di chi Invia,
$row->email = Email di destinazione,
$subject = Oggetto dell'email,
$message = Messaggio dell'email;

La variabile $row->email ha come valore l'indirizzo e-mail dell'amministratore

Io ho risolto cosi:

PHP Code:
    if ($isNew) {
        
$query "SELECT email FROM #__users WHERE id=$my->id";
        
$database->setQuery$query );
        
$adminEmail $database->loadResult();

        
$subject _NEW_USER_MESSAGE_SUBJECT;
        
$message sprintf _NEW_USER_MESSAGE$row->name$mosConfig_sitename$mosConfig_live_site$row->username$pwd );

        if (
$mosConfig_mailfrom != "" && $mosConfig_fromname != "") {
            
$adminName $mosConfig_fromname;
            
$adminEmail $mosConfig_mailfrom;
        } else {
            
$query "SELECT name, email FROM #__users WHERE usertype='superadministrator'";
            
$database->setQuery$query );
            
$rows $database->loadObjectList();
            
$rowmail $rows[0];
            
$adminName $rowmail->name;
            
$adminEmail $rowmail->email;
        }
        
mosMail$adminEmail$adminName$row->email$subject$message );
    } 
Infatti funziona, l'email arriva.
------------------------------------------

# ERRORE 2
2- Nel caso creiate due voci di menu (anche in due menu diversi) che linkino ad un stesso contenuto dinamico, ("content_item_link" da codice, nella procedura di creazione della voce del menu in italiano si chiama: Link - Contenuto), il modulo mod_mainmenu va in panne.

Se avete creato le due voci, e cliccate prima su una e poi sull'altra, verra sempre considerata active, la voce del menu che viene prima nella tabella del database.

Ecco il perkè dell'errore:

File: modules\mod_mainmenu.php;
Riga: 28;
Cercate questo parte di codice:


PHP Code:
case 'content_item_link';
        
$temp split("&task=view&id="$mitem->link); 
        
$mitem->link .= '&Itemid='$mainframe->getItemid($temp[1]); 
Che ha questo significato:

PHP Code:
        case 'content_item_link';
        
// Recupera solamente l'id del content estrapolandolo dal link della voce del menu
        
$temp split("&task=view&id="$mitem->link); 
        
        
// Lo passa alla funzione $mainframe->getItemid($temp[1]) che ne restituisce l'id del menu
        
$mitem->link .= '&Itemid='$mainframe->getItemid($temp[1]); 

Questa:
$mainframe->getItemid($temp[1]);

Richiama la funzione "function getItemid" che si trova nel file "includes\mambo.php"

File: includes\mambo.php;
Riga: 746;
Cercate questo parte di codice:


PHP Code:
        if ($_Itemid == '' && $link) {
            
// Search for item link
            
$this->_db->setQuery"SELECT id "
            
."\nFROM #__menu "
            
."\nWHERE type='content_item_link' AND published='1' AND link='index.php?option=com_content&task=view&id=$id'" );
            
$_Itemid $this->_db->loadResult();
        } 
Come potete vedere, chi conosce la struttura di mambo, sa che la funzione loadResult() della classe database, che in questo caso è chiamata "$this->_db->loadResult()", restituisce il primo valore dell'array che ne deriva da una Select di un solo campo in Mysql.
In parole povere restituisce il valore array[0]; quindi in caso di più voci di menu, Mysql restituirà sempre la prima voce caricata nel db.

Per adesso io risolto facendo un piccolo hack sul modulo mod_mainmenu:

PHP Code:
        case 'content_item_link';
        
// $temp = split("&task=view&id=", $mitem->link); 
        // $mitem->link .= '&Itemid='. $mainframe->getItemid($temp[1]); 
        // Ma noi l'id del menu l'abbiamo di già, perkè viene passato con l'oggetto $mitem quindi:
        
$mitem->link .= $mitem->id
E funziona.


Un grazie a tutti e ci sentiamo.

Last edited by Silver_confusion; 16.03.2005 at 14:29.
 
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Sponsored Links
Old 16.03.2005, 09:06   #2 (permalink)
Elite Mamber
 
andreadesign's Avatar
 
Join Date: Apr 2004
Location: Milan, Italy
Posts: 2,041
andreadesign is on a distinguished road
Default Re: 2 Piccoli Bug in Mambo - Ecco le possibili soluzioni

ehm...
non puoi indicare queste cosine sul forum di mamboserver.com?
in teoria quello è il forum che leggono gli sviluppatori
andreadesign is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 16.03.2005, 10:18   #3 (permalink)
gin
Elite Mamber
 
gin's Avatar
 
Join Date: Sep 2004
Location: Reggio Calabria (Italy)
Posts: 1,990
gin has a spectacular aura about
Default Re: 2 Piccoli Bug in Mambo - Ecco le possibili soluzioni

Grazie Silver!
E' molto interessante ed utile per tutti anche qui su questo forum, soprattutto il secondo errore, però non sono sicuro di aver capito bene dove hai inserito l'ultima riga (subito dopo le due commentate?). Potresti inserire l'hack nel suo contesto, magari usando anche il tag [php] (la seconda iconcina da destra nella toolbar in alto)?
A presto e buon lavoro,
Giorgio
__________________

gin is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 16.03.2005, 12:25   #4 (permalink)
Silver_confusion
Guest
 
Posts: n/a
Default Re: 2 Piccoli Bug in Mambo - Ecco le possibili soluzioni

Allora per essere chiari per risolvere il secondo errore:

File: modules\mod_mainmenu.php;
Riga: 28;
Cercate questa parte di codice:

PHP Code:
case 'content_item_link';
$temp split("&task=view&id="$mitem->link); 
$mitem->link .= '&Itemid='$mainframe->getItemid($temp[1]); 
Sostituitelo con questo:
PHP Code:
case 'content_item_link';
// $temp = split("&task=view&id=", $mitem->link); 
// $mitem->link .= '&Itemid='. $mainframe->getItemid($temp[1]); 
$mitem->link .= $mitem->id
Ciao a tutti!

Last edited by Silver_confusion; 16.03.2005 at 14:22.
 
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 16.03.2005, 13:08   #5 (permalink)
gin
Elite Mamber
 
gin's Avatar
 
Join Date: Sep 2004
Location: Reggio Calabria (Italy)
Posts: 1,990
gin has a spectacular aura about
Default Re: 2 Piccoli Bug in Mambo - Ecco le possibili soluzioni

thank you! (anche per l'uso della sintassi colorata )
Ciao e buon lavoro,
Giorgio
__________________


Last edited by gin; 16.03.2005 at 14:47.
gin is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 16.03.2005, 14:31   #6 (permalink)
Silver_confusion
Guest
 
Posts: n/a
Arrow Re: 2 Piccoli Bug in Mambo - Ecco le possibili soluzioni

Quote:
Originally Posted by gin
thank you!
L'uso della sintassi colorata (col famoso tag [php]) mi avrebbe fatto più contento ma va benissimo anche così..
Ciao e buon lavoro,
Giorgio
Per gin, ho riscritto tutti i messaggi con il tag Php... Cosi si legge meglio
 
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 17.03.2005, 01:40   #7 (permalink)
Senior Mamber
 
Join Date: Jan 2005
Posts: 178
Gabryk is an unknown quantity at this point
Default Re: 2 Piccoli Bug in Mambo - Ecco le possibili soluzioni

Scusate, non trovo nel mio file admin.user.php quello che dovrebbe esserci alla riga 290. Nel mio file trovo

* @param integer 0 if unblock, 1 if blocking

Boh? Qualcuno può dirmi dove sbaglio? Il file è in /administrator/components/com_user/admin.user.php, giusto no?

Ah, mi riferisco al 1° errore, perchè dal sito non partono le mail di conferma, perciò mi serve una grossa mano! Grazie
Gabryk is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 17.03.2005, 11:56   #8 (permalink)
Senior Mamber
 
Join Date: Jan 2005
Posts: 178
Gabryk is an unknown quantity at this point
Default Re: 2 Piccoli Bug in Mambo - Ecco le possibili soluzioni

Confermo, nel mio file non c'è traccia di quel codice...
Allego il txt del file, qualcuno mi sa dire come possono modificarlo per far funzionare l'invio delle mail? Vi ringrazio.
Gabryk is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 18.03.2005, 01:02   #9 (permalink)
Senior Mamber
 
Join Date: Jan 2005
Posts: 178
Gabryk is an unknown quantity at this point
Default Re: 2 Piccoli Bug in Mambo - Ecco le possibili soluzioni

Problema risolto grazie.
Però, più o meno legato a questo, c'è quest'altro problema:

l'email generata in automatico col link d'attivazione ha qualche errore. Ad es

=========
Grazie per esserti registrato su MetalZena - Unione Defenders Genovesi.
Il tuo account è stato creato, ma deve essere attivato prima che tu
possa utilizzarlo.
Per attivarlo clicca sul link seguente o copialo e incollalo nel tuo
browser:
http://metalzena.freeownhost.com/ind...m_registration&task=activate&activation=757a9e83ba8dd71e97b02969 e11ee7f2
Dopo averlo attivato, puoi loggarti in http://metalzena.freeownhost.com
usando la seguente username e password:
==========

(Notate che il primo link è attivo solo a metà?)

La parte in grassetto a mio avviso nn dovrebbe vedersi, xkè sarebbero parametri del collegamento. Quindi andando a vedere registration.php in /components/com_registration ho trovato questo:

if ($mosConfig_useractivation=="1"){
$message = sprintf (_USEND_MSG_ACTIVATE, $name, $mosConfig_sitename, $mosConfig_live_site."/index.php?option=com_registration&task=activate&activation=".$row->activation, $mosConfig_live_site, $username, $pwd);

secondo me la parte in grassetto andrebbe messa in modo diverso, separata dal resto con virgole o non so cosa (nn me ne intendo molto di php).
Qualcuno conferma o sto vaneggiando?
Gabryk is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Old 18.03.2005, 01:09   #10 (permalink)
gin
Elite Mamber
 
gin's Avatar
 
Join Date: Sep 2004
Location: Reggio Calabria (Italy)
Posts: 1,990
gin has a spectacular aura about
Default Re: 2 Piccoli Bug in Mambo - Ecco le possibili soluzioni

Quote:
Originally Posted by Gabryk
Qualcuno conferma o sto vaneggiando?
ehm.. ehm...
diciamo che non possiamo confermare...
La parte che hai indicato (ma non evidenziato perchè qui sul forum viene solo riconosciuto il tag <b> e non <strong>) sono i parametri che specificano l'azione da eseguire e la chiave di registrazione generata casualmente (niente di potenzialmente pericoloso, quindi..) ma non c'è modo di mimetizzarli in una mail.
In una pagina html si potrebbe usare un form col metodo post quantomeno per non renderli visibili ma in una mail in formato testo non c'è proprio altro modo.
Ciao,
Giorgio
__________________

gin is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Mambo Open Source 5.0 Book Series mmx Community Announcements 13 19.09.2005 09:35
Mambo OS Performance; Experienced Mambo Developers required Ritchie Development Discussions 7 14.06.2004 15:23
Bug in TFSfor MAMBO svend Mambo 4.5 General Talk 3 13.06.2004 00:14
Mambo and mysite loom001 Mambo 5.0 General Talk 8 28.05.2004 07:49
New mambo fork xMambo scheurer Community Announcements 24 16.05.2004 09:52


All times are GMT +2. The time now is 13:37.

Powered by vBulletin® Version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.1.0
A vBSkinworks Design
© Copyright 2004-2008 by Arthur Konze Webdesign.