Joomla.it Forum

Joomla! 2.5 (versione con supporto terminato) => Joomla! 1.6/1.7/2.5 => : monigna82 16 Jul 2012, 19:14:05

: [RISOLTO] FATAL ERROR method JInstaller::parseXMLInstallFile()
: monigna82 16 Jul 2012, 19:14:05
salve a tutti,
qualcuno sa cosa può essere successo e come poter correggere??


Se provo ad arrivare al sorgente del Template caricato dal pannello di controllo (cioè dove ti fa modificare CSS e HTML) mi i apre una pagina bianca con scritto:


Fatal error: Call to undefined method JInstaller::parseXMLInstallFile() in /web/htdocs/www.sidos.it/home/administrator/components/com_templates/helpers/templates.php on line 105


e questo errore me lo da a prescindere dal template caricato.
Praticamente mi appare come clicco sulla tendina Template nella sezione Gestione template


Potete darmi una mano? ???
: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: alexdi 16 Jul 2012, 21:41:14
hai per caso aggionato versione joomla ? e se si a quale versione ?
: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: monigna82 16 Jul 2012, 21:57:45
no nessun aggiornamento, istallata ho la versione 2.5.4... anzi mi chiede di aggiornare alla versione 2.5.5
: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: alexdi 16 Jul 2012, 22:04:46
...a beh, figurati, avevo letto che la 2.5.5 dava questo problema... ???

...hai installato qualcosa ultimamente ?

trovi niente nel file error.php in cartella logs ?
: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: monigna82 17 Jul 2012, 11:59:24
in verità non ho istallato nulla di nuovo da tempo, però andando a guardare sul file di log come indicato ho trovato quanto segue


:

#
#<?php die('Forbidden.'); ?>
#Date: 2012-06-14 06:39:52 UTC
#Software: Joomla Platform 11.4.0 Stable [ Brian Kernighan ] 03-Jan-2012 00:00 GMT


#Fields: date time priority clientip category message
2012-06-14 06:39:52 INFO 2.231.45.131 Joomla FAILURE: Nome utente e password non corretti o non hai ancora un account.
2012-06-14 06:40:00 INFO 2.231.45.131 Joomla FAILURE: Nome utente e password non corretti o non hai ancora un account.
2012-06-25 09:02:48 INFO 79.29.20.193 Joomla FAILURE: Nome utente e password non corretti o non hai ancora un account.
2012-06-25 09:03:02 INFO 79.29.20.193 Joomla FAILURE: Nome utente e password non corretti o non hai ancora un account.
2012-07-11 15:16:15 INFO 151.71.210.184 Joomla FAILURE: Nome utente e password non corretti o non hai ancora un account.


Che vuol dire??? io al pannello amministrativo accedo tranquillamente con la mia ID e PASWORDS
: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: alexdi 17 Jul 2012, 21:24:47
non è nulla , non ti preoccupare.

prova così: vai su sito->configurazione globale->server , metti Rapporto errori al massimo e salva.

Poi fai qualche prova e vediamo  se error.php ci da qualche dritta.

poi ho visto qualcosa quì  (http://joomlacode.org/gf/project/joomla/tracker/?action=TrackerItemEdit&tracker_item_id=28698%7C)ma non so ......

: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: monigna82 18 Jul 2012, 12:08:59
Situazione nettamente pegiorata...
ora visualizzo un errore anche on-line:


:
Notice: Undefined variable: currentitemcount in /web/htdocs/www.sidos.it/home/templates/fjt004_j25/html/mod_menu/default.php on line 36 Notice: Undefined variable: lastdeeper in /web/htdocs/www.sidos.it/home/templates/fjt004_j25/html/mod_menu/default.php on line 41[/font][/color]

Che cosa sta succedendo?
Perchè con joomla 2.5 sto avendo su più siti notevoli problemi?? Ma siamo sicuri sia una versione stabile?
Con la 1.5 e la 1.7 non ho mai avuto alcun problema di questo tipo!


AIUTOOOOOOOOOO non può impazzire un sito finito e pronto per la consegna!
: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: monigna82 18 Jul 2012, 17:25:15
     Allora rimettendo il Rapporto Errori da massima a default (tanto il file logs non era variato di nulla) l'errore

Notice: Undefined variable: currentitemcount in /web/htdocs/www.sidos.it/home/templates/fjt004_j25/html/mod_menu/default.php on line 36 Notice: Undefined variable: lastdeeper in /web/htdocs/www.sidos.it/home/templates/fjt004_j25/html/mod_menu/default.php on line 41

è sparito dalla pagina online, però rimane il famoso errore aprendo la tendina dei Template

Fatal error: Call to undefined method JInstaller::parseXMLInstallFile() in /web/htdocs/www.sidos.it/home/administrator/components/com_templates/helpers/templates.php on line 105

Così mi sono presa la briga di andare a spulciare il codice dove mi dice esserci l'errore e lo script relativo è il seguente, ma a me non dice proprio nulla:

[size=0pt]public static function parseXMLTemplateFile($templateBaseDir, $templateDir)[/size]
[size=0pt]   [/size]{
      $data = new JObject;
      // Check of the xml file exists
      $filePath = JPath::clean($templateBaseDir.'/templates/'.$templateDir.'/templateDetails.xml');
      if (is_file($filePath))
      {
         $xml = JInstaller::parseXMLInstallFile($filePath); <<---- questa è la riga 105
[size=78%]         if ($xml['type'] != 'template') {[/size]
            return false;
         }
         foreach ($xml as $key => $value) {
            $data->set($key, $value);
         }
      }
      return $data;
[/size][size=78%]   }[/size]

 
: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: alexdi 18 Jul 2012, 17:45:07
La riga 105 punta ad una funzione (parseXMLInstallFile()) che sta dentro al file in  /libraries/joomla/installer/installer.php. (http://api.joomla.org/Joomla-Platform/Installer/_libraries---joomla---installer---installer.php.html)

Qundi, potrebbe essere che si è "rovinato" questo file oppure il tempaltes.php.

Potresti provare a rinominarli e rimpiazzare i singoli file dal pacchetto di installazione di joomla (file compresso).
Quando fai queste operazioni, fai in modo sempre di poter tornare indietro (non si sa mai...)

fjt004_j25
è per caso il template che stai utilizzando ?

nel qual caso proverei a cambiare template e/o disinstallarlo.

poi, non ho capito bene quali sono i passi che fai sul menù e che ti generano l' errore....
: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: monigna82 18 Jul 2012, 18:20:58
Allora ho provato a sostituire sia il file template.php che istaller.php come mi hai suggerito ma non è cambiato nulla!


Provo a spiegare meglio cosa mi succede anche con delle immagini.


1) Accedo al pannello amministrativo correttamente con login e pas.
2) Vado su Estensioni -> Gestione Template
3) Dentro Gestione Template, ci sono due tendine Stili e Template.
Se sto su stili e clicco sul template prescelto, tutto bene, mi fa vedere correttamente la pagina del mio template:
(http://www.sidos.it/web2.jpg)


(http://www.sidos.it/web1.jpg)
: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: alexdi 18 Jul 2012, 18:29:55
ok.

Guarda cosa c'è scritto dentro al mio templates.php (versione 2.5.3 però):

:
<?php
/**
 * @copyright    Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
 * @license        GNU General Public License version 2 or later; see LICENSE.txt
 */

// No direct access.
defined('_JEXEC') or die;

/**
 * Templates component helper.
 *
 * @package        Joomla.Administrator
 * @subpackage    com_templates
 * @since        1.6
 */
class TemplatesHelper
{
    
/**
     * Configure the Linkbar.
     *
     * @param    string    The name of the active view.
     */
    
public static function addSubmenu($vName)
    {
        
JSubMenuHelper::addEntry(
            
JText::_('COM_TEMPLATES_SUBMENU_STYLES'),
            
'index.php?option=com_templates&view=styles',
            
$vName == 'styles'
        
);
        
JSubMenuHelper::addEntry(
            
JText::_('COM_TEMPLATES_SUBMENU_TEMPLATES'),
            
'index.php?option=com_templates&view=templates',
            
$vName == 'templates'
        
);
    }

    
/**
     * Gets a list of the actions that can be performed.
     *
     * @return    JObject
     */
    
public static function getActions()
    {
        
$user    JFactory::getUser();
        
$result    = new JObject;

        
$actions = array(
            
'core.admin''core.manage''core.create''core.edit''core.edit.state''core.delete'
        
);

        foreach (
$actions as $action) {
            
$result->set($action$user->authorise($action'com_templates'));
        }

        return 
$result;
    }

    
/**
     * Get a list of filter options for the application clients.
     *
     * @return    array    An array of JHtmlOption elements.
     */
    
public static function getClientOptions()
    {
        
// Build the filter options.
        
$options    = array();
        
$options[]    = JHtml::_('select.option''0'JText::_('JSITE'));
        
$options[]    = JHtml::_('select.option''1'JText::_('JADMINISTRATOR'));

        return 
$options;
    }

    
/**
     * Get a list of filter options for the templates with styles.
     *
     * @return    array    An array of JHtmlOption elements.
     */
    
public static function getTemplateOptions($clientId '*')
    {
        
// Build the filter options.
        
$db JFactory::getDbo();
        
$query $db->getQuery(true);

        if (
$clientId != '*') {
            
$query->where('client_id='.(int) $clientId);
        }

        
$query->select('element as value, name as text, extension_id as e_id');
        
$query->from('#__extensions');
        
$query->where('type='.$db->quote('template'));
        
$query->where('enabled=1');
        
$query->order('client_id');
        
$query->order('name');
        
$db->setQuery($query);
        
$options $db->loadObjectList();
        return 
$options;
    }

    public static function 
parseXMLTemplateFile($templateBaseDir$templateDir)
    {
        
$data = new JObject;

        
// Check of the xml file exists
        
$filePath JPath::clean($templateBaseDir.'/templates/'.$templateDir.'/templateDetails.xml');
        if (
is_file($filePath))
        {
            
$xml JApplicationHelper::parseXMLInstallFile($filePath);  <-----------------------------------

            if (
$xml['type'] != 'template') {
                return 
false;
            }

            foreach (
$xml as $key => $value) {
                
$data->set($key$value);
            }
        }

        return 
$data;
    }
}
$xml = JApplicationHelper::parseXMLInstallFile($filePath);Boh

sai cosa ti dico, prova pure a sostituire con la funzione che ho io , giusto per prova, poi rimetti a pasto.

Poi, io proverei pure ad aggiornare alla 2.5.6.

L' errore te lo fa solo con quel template ?
: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: monigna82 18 Jul 2012, 18:40:09
l'errore me lo fa con tutti i template!
Ora provo a modificare la parte di codice che mi hai dato e vediamo cosa succede!


Ho stentato ammetto di aggiornare perchè temevo ulteriori problemi.


Ora provo!
: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: monigna82 18 Jul 2012, 18:51:51
Allora la prova della sostituzione del codice non è andata bene, mi era sparito tutto, nel senso che cliccando Estensioni -> Gestione template non appariva più nulla, quindi ho rimesso il mio template!


Ma una cosa... il file template.php che dovevo sostituire era quella in
 administrator/components/com_templates???? O mi sono sbagliata file????
: Re:FATAL ERROR method JInstaller::parseXMLInstallFile()
: alexdi 18 Jul 2012, 19:05:40
in /web/htdocs/www.sidos.it/home/administrator/components/com_templates/helpers/templates.php on line 105 :)

quello dentro helper da l' errore.

comunque se aggiorni alla 2.5.6 per me va, ho visto che hanno fatto delle modifiche proprio su questi file ed hanno aggiunto quello che mancava.

Ad ogni modo prova uguale se vuoi, è tutta esperienza. ;)
: Re:[RISOLTO] FATAL ERROR method JInstaller::parseXMLInstallFile()
: monigna82 19 Jul 2012, 16:01:16
incredibile ma vero... ho aggiornato alla 2.5.6 e tutto si è risolto!
Grazie comunque per l'assistenza passo passo!
: Re:[RISOLTO] FATAL ERROR method JInstaller::parseXMLInstallFile()
: alexdi 19 Jul 2012, 17:10:06
per me era un bug.

su templates.php veniva richiamata la funzione JInstaller::parseXMLInstallFile() che non era presente sulla libreria installer.php

nella 2.5.3, infatti, veniva richiamata la funzione JApplicationHelper::parseXMLInstallFile() .

nella 2.5.6 hanno aggiornato installer.php inserendo JInstaller::parseXMLInstallFile()
: Re:[RISOLTO] FATAL ERROR method JInstaller::parseXMLInstallFile()
: monigna82 19 Jul 2012, 17:30:56
Sicuramente sarà come dici te!
Non ci capisco così tanto da seguirti nel dettaglio!


Ora ad ogni modo funziona tutto, tranne una cosette che però per fortuna non mi crea problemi, ovvero nonostante io abbia fatto l'aggiornamento al 2.5.6 quando accedo al pannello di controllo, nella sezione aggiornamenti mi chiede ancora di aggiornre alla 2.5.6


Bha?!?
Ad ogni modo grazie mille