Problème de sauvegarde avec JoomlaPack

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Problème de sauvegarde avec JoomlaPack

    Bonsoir à tous,

    Je rencontre un problème en utilisant JoomlaPack, et j'ai intérêt à le résoudre car je dois migrer mon site chez un autre hébergeur...

    1) J'utilise Joomla version 1.5.14 et JoomlaPack version 1.1.4.31

    2) Lorsque je lance la sauvegarde tout se passe bien apparemment. Aucun message d'erreur

    3) Mais lorsque j'essaye de décompresser en local mon fichier archive (fichier zip), j'obtiens ce genre de message :

    Le CRC a échoué dans includes\mamboxml.php. Le fichier est corrompu.

    4) J'ai essayé de forcer la sauvegarde au format jpa, mais je ne trouve pas l'endroit où l'on peut choisir entre jpa et zip...

    Comment régler le problème s'il vous plait ?

  • #2
    Salut crav13,

    Pour changer l'archivage en .jpa, tu vas dans Joomlapack, confguration, avancé, puis dans l'item Archiveur, tu choisis JPA au lieu de zip.

    Commentaire


    • #3
      Merci Pilou ! Nickel.

      Quand tout se passe bien lors de la compression en JPA, ça signifie que la restauration va se dérouler sans problème ? Parce qu'en ZIP ce n'est pas le cas visiblement...

      Commentaire


      • #4
        Normalement oui ...

        Commentaire


        • #5
          Procédure de restauration effectuée avec succès sur un nouveau serveur !

          Enfin presque...

          Ca m'a généré une erreur avec mon template "JA_Rochea" :

          Warning: Invalid argument supplied for foreach() in /htdocs/public/www/templates/ja_rochea/ja_menus/Base.class.php on line 60

          Voici le code source de Base.class.php. Où est le problème selon vous ?

          Code:
          <?php
          /*------------------------------------------------------------------------
          # JA Rochea for Joomla 1.5 - Version 1.4 - Licence Owner JA126426
          # ------------------------------------------------------------------------
          # Copyright (C) 2004-2008 J.O.O.M Solutions Co., Ltd. All Rights Reserved.
          # @license - Copyrighted Commercial Software
          # Author: J.O.O.M Solutions Co., Ltd
          # Websites:  http://www.joomlart.com -  http://www.joomlancers.com
          # This file may not be redistributed in whole or significant part.
          -------------------------------------------------------------------------*/
          
          defined( '_VALID_MOS' ) or defined('_JEXEC') or die('Restricted access');
          
          if (!defined ('_JA_BASE_MENU_CLASS')) {
          	define ('_JA_BASE_MENU_CLASS', 1);
          
          	class JA_Base{
          		var $_params = null;
          		var $children = null;
          		var $open = null;
          		var $items = null;
          		var $Itemid = 0;
          		var $_db = null;
          		var $showSeparatedSub = false;
          
          		function JA_Base( &$params ){
          			global $Itemid;
          			$this->_params = $params;
          			$this->Itemid = $Itemid;
          			
          			$this->loadMenu();
          		}
          
          		function  loadMenu(){
          			
          			$this->loadMenu_15();
          		}
          
          		function createParameterObject($param, $path='', $type='menu') {
          			
          			return new JParameter($param, $path);
          		}
          
          		
          
          	    function  loadMenu_15(){
              	    $menu = @JMenu :: getInstance();
              	    if(strtolower(get_class($menu)) == 'jexception') {
              	    	$menu = @JMenu :: getInstance('site');
              	    }
              	    $user =& JFactory::getUser();
          			$children = array ();
          			$aid=$user->get('aid',0);
          			// Get Menu Items
          			$items = &JSite::getMenu();
          			$rows = $items->getItems('menutype', $this->getParam('menutype'));
              	    // first pass - collect children
              	    $cacheIndex = array();
           		    $this->items = array();
             	    	foreach ($rows as $index => $v) {
              		    if ($v->access <= $aid) {
              			    $pt = $v->parent;
              			    $list = @ $children[$pt] ? $children[$pt] : array ();
          
          					switch ($v->type)
          					{
          						case 'url' :
          							if ((strpos($v->link, 'index.php?') !== false) && (strpos($v->link, 'Itemid=') === false)) {
          								$v->url = $v->link.'&Itemid='.$v->id;
          							} else {
          								$v->url = $v->link;
          							}
          							break;
          
          						default :
          							$v->url = 'index.php?Itemid='.$v->id;
          							break;
          					}
          					if (strcasecmp(substr($v->url, 0, 4), 'http') && (strpos($v->link, 'index.php?') !== false)) {
          						$iParams = $this->createParameterObject($v->params);
          						$iSecure = $iParams->def('secure', 0);
          						$v->url = JRoute::_($v->url, true, $iSecure);
          					}else{
          						//$v->url = urlencode($v->url);
          						$v->url = str_replace('&', '&amp;', $v->url);
          					}
          					array_push($list, $v);
              			    $children[$pt] = $list;
              		    }
              		    $cacheIndex[$v->id] = $index;
          				$this->items[$v->id] = $v;
              	    }
          
                      $this->children = $children;
              	    // second pass - collect 'open' menus
              	    $open = array (
              		    $this->Itemid
              	    );
              	    $count = 20; // maximum levels - to prevent runaway loop
              	    $id = $this->Itemid;
          
              	    while (-- $count)
              	    {
              		    if (isset($cacheIndex[$id])) {
              			    $index = $cacheIndex[$id];
              			    if (isset ($rows[$index]) && $rows[$index]->parent > 0) {
              				    $id = $rows[$index]->parent;
              				    $open[] = $id;
              			    } else {
              				    break;
              			    }
              		    }
              	    }
                      $this->open = $open;
          		   // $this->items = $rows;
          	    }
          
          		function genMenuItem($item, $level = 0, $pos = '', $ret = 0)
          		{
          			$data = null;
          			$tmp = $item;
          
          			if ($tmp->type == 'separator')
          			{
          				$data = '<a href="#" title=""><span class="separator">'.$tmp->name.'</span></a>';
          				if (!$ret) echo $data;
          				return $data; 
          			}
          
          			// Print a link if it exists
          			$active = $this->genClass ($tmp, $level, $pos);
          
          			$id='id="menu' . $tmp->id . '"';
          			$iParams = $this->createParameterObject( $item->params );
          			//$iParams =& new JParameter($tmp->params);
          
          			$itembg = '';
          			if ($this->getParam('menu_images') && $iParams->get('menu_image') && $iParams->get('menu_image') != -1) {
          				if ($this->getParam('menu_background')) {
          					$itembg = ' style="background:url(images/stories/'.$iParams->get('menu_image').') top left no-repeat;"';
          					$txt = '<span>' . $tmp->name . '</span>';
          				} else {
          					$txt = '<img src="images/stories/'.$iParams->get('menu_image').'" alt="'.$tmp->name.'" title="'.$tmp->name.'" /><span>' . $tmp->name . '</span>';
          				}
          			} else {
          				$txt = '<span>' . $tmp->name . '</span>';
          			}
          			$title = "title=\"$tmp->name\"";
          
          			if ($tmp->url != null)
          			{
          				switch ($tmp->browserNav)
          				{
          					default:
          					case 0:
          						// _top
          						$data = '<a href="'.$tmp->url.'" '.$active.' '.$id.' '.$title.$itembg.'>'.$txt.'</a>';
          						break;
          					case 1:
          						// _blank
          						$data = '<a href="'.$tmp->url.'" target="_blank" '.$active.' '.$id.' '.$title.$itembg.'>'.$txt.'</a>';
          						break;
          					case 2:
          						// window.open
          						$attribs = 'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'.$this->getParam('window_open');
          
          						// hrm...this is a bit dickey
          						$link = str_replace('index.php', 'index2.php', $tmp->url);
          						$data = '<a href="'.$link.'" onclick="window.open(this.href,\'targetWindow\',\''.$attribs.'\');return false;" '.$active.' '.$id.' '.$title.$itembg.'>'.$txt.'</a>';
          						break;
          				}
          			} else {
          				$data = '<a '.$active.' '.$id.' '.$title.$itembg.'>'.$txt.'</a>';
          			}
          				
          			if ($ret) return $data; else echo $data;
          		}
          
          		function getParam($paramName, $default=''){
          			return $this->_params->get($paramName, $default);
          		}
          
          		function setParam($paramName, $paramValue){
          			return $this->_params->set($paramName, $paramValue);
          		}
          
          		function beginMenu($startlevel=0, $endlevel = 10){
          			echo "<div>";
          		}
          		function endMenu($startlevel=0, $endlevel = 10){
          			echo "</div>";
          		}
          
          		function beginMenuItems($pid=0, $level=0){
          			echo "<ul>";
          		}
          		function endMenuItems($pid=0, $level=0){
          			echo "</ul>";
          		}
          
          		function beginMenuItem($mitem=null, $level = 0, $pos = ''){
          			echo "<li>";
          		}
          		function endMenuItem($mitem=null, $level = 0, $pos = ''){
          			echo "</li>";
          		}
          
          		function genClass ($mitem, $level, $pos) {
          			$active = in_array($mitem->id, $this->open);
          			if ($active) $active = ($pos) ? "class=\"active $pos-item\"" : "class = \"active\"";
          			else $active = ($pos) ? "class=\"$pos-item\"" : "";
          				
          			return $active;
          		}
          
          		function hasSubMenu($level) {
          			$pid = $this->getParentId ($level);
          			if (!$pid) return false;
          			return $this->hasSubItems ($pid);
          		}
          		function hasSubItems($id){
          			if (@$this->children[$id]) return true;
          			return false;
          		}
          		function genMenu($startlevel=0, $endlevel = 10){
          			$this->setParam('startlevel', $startlevel);
          			$this->setParam('endlevel', $endlevel);
          			$this->beginMenu($startlevel, $endlevel);
          
          			if ($this->getParam('startlevel') == 0) {
          				//First level
          				$this->genMenuItems (0, 0);
          			}else{
          				//Sub level
          				$pid = $this->getParentId($this->getParam('startlevel'));
          				if ($pid)
          				$this->genMenuItems ($pid, $this->getParam('startlevel'));
          			}
          			$this->endMenu($startlevel, $endlevel);
          		}
          
          		/*
          		 $pid: parent id
          		 $level: menu level
          		 $pos: position of parent
          		 */
          
          		function genMenuItems($pid, $level) {
          
          			if (@$this->children[$pid]) {
          				$this->beginMenuItems($pid, $level);
          				$i = 0;
          				foreach ($this->children[$pid] as $row) {
          					$pos = ($i == 0 ) ? 'first' : (($i == count($this->children[$pid])-1) ? 'last' :'');
          
          					$this->beginMenuItem($row, $level, $pos);
          					$this->genMenuItem( $row, $level, $pos);
          
          					// show menu with menu expanded - submenus visible
          					if ($level < $this->getParam('endlevel')) $this->genMenuItems( $row->id, $level+1 );
          					$i++;
          
          					if ($level == 0 && $pos == 'last' && in_array($row->id, $this->open)) {
          						global $jaMainmenuLastItemActive;
          						$jaMainmenuLastItemActive = true;
          					}
          					$this->endMenuItem($row, $level, $pos);
          				}
          				$this->endMenuItems($pid, $level);
          			}
          		}
          
          		function indentText($level, $text) {
          			echo "\n";
          			for ($i=0;$i<$level;++$i) echo "   ";
          			echo $text;
          		}
          
          		function getParentId ($level) {
          			if (!$level || (count($this->open) < $level)) return 0;
          			return $this->open[count($this->open)-$level];
          		}
          
          		function getParentText ($level) {
          			$pid = $this->getParentId ($level);
          			if ($pid) {
          				return $this->items[$pid]->name;
          			}else return "";
          		}
          
          		function genMenuHead () {
          		}
          	}
          }
          ?>

          Commentaire


          • #6
            Je me permets d'actualiser ma demande, mon problème n'étant pas réglé.

            Si quelqu'un peut m'aider, même à titre onéreux...

            Merci d'avance !

            Commentaire


            • #7
              Salut,

              As-tu essayé de restaurer ta sauvegarde en local ?
              (juste pour voir si la sauvegarde s'est bien passée)

              2e idée: transférer la sauvegarde (le fichier.jpa) + kickstart.php sur le nouveau serveur et lancer kickstart.php pour désarchiver ta sauvegarde.

              Kickstart se trouve dans le pack Joomlapack proposé par Daneel : http://www.joomlafrance.org/telechar...k_complet.html

              Commentaire


              • #8
                Je développe le site en ligne directement, sans le faire d'abord en local.

                Le problème vient peut-être du serveur lui-même (version de PHP peut-être ? C'est hébergé chez Amen). Je dis ça car j'ai tenté un truc :

                - Effacement sur le serveur de tous les fichiers et de la base de données
                - Installation de Joomla 1.5.15 avec création d'une nouvelle BDD
                - Installation du template JA_Rochea (sans personnalisation)

                Ca semblait être la solution, mais lorsque j'ai cliqué sur un menu le message d'erreur est réapparu comme s'il s'agissait de mon site en cours de développement. Ca signifie qu'avec un site vierge le problème apparaît de lui-même...

                Commentaire

                Annonce

                Réduire
                1 sur 2 < >

                C'est [Réglé] et on n'en parle plus ?

                A quoi ça sert ?
                La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                Comment ajouter la mention [Réglé] à votre discussion ?
                1 - Aller sur votre discussion et éditer votre premier message :


                2 - Cliquer sur la liste déroulante Préfixe.

                3 - Choisir le préfixe [Réglé].


                4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                2 sur 2 < >

                Assistance au forum - Outil de publication d'infos de votre site

                Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                UTILISER À VOS PROPRES RISQUES :
                L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                Problèmes connus :
                FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                Installation :

                1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                Archive zip : https://github.com/AFUJ/FPA/zipball/master

                2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                et remplacer www. votresite .com par votre nom de domaine


                Exemples:
                Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                Télécharger le script fpa-fr.php dans: /public_html/
                Pour executer le script: http://www..com/fpa-fr.php

                Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                Télécharger le script fpa-fr.php dans: /public_html/cms/
                Pour executer le script: http://www..com/cms/fpa-fr.php

                En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                Voir plus
                Voir moins
                Travaille ...
                X