SinPolY

SYSTÈME DE MISE À JOUR DYNAMIQUE

Feb 12th, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.11 KB | None | 0 0
  1. <h1> SYSTÈME DE MISE À JOUR DYNAMIQUE </ h1>
  2. <?
  3. ini_set ( 'max_execution_time', 60);
  4.  
  5.  
  6. // Vérifier une mise à jour. Nous avons un simple fichier qui a une nouvelle version de libération sur chaque ligne. (1.00, 1.02, 1.03, etc.)
  7. $ getVersions = file_get_contents ( 'http://your-server.com/CMS-UPDATE-PACKAGES/current-release-versions.php') or die ( 'ERROR');
  8. if ($ getVersions! = '')
  9. {
  10.     // Si nous avons réussi à accéder à ce fichier, puis laisse briser ces versions de libération dans un tableau.
  11.     echo '<p> VERSION ACTUELLE:' .get_siteInfo ( «CMS-Version ')' </ p> ';.
  12.    echo '<p> Lecture actuelle publie la liste </ p>';
  13.    $ versionList = explode ( "n", $ getVersions);    
  14.    foreach ($ versionList que $ aV)
  15.    {
  16.        if ($ aV> get_siteInfo ( «CMS-Version ')) {
  17.             echo' <p> Nouvelle mise à jour Trouvé: v '.. $ aV' </ p> ';
  18.             $ trouvé = true;
  19.            
  20.             // Télécharger le fichier si nous ne l' avons pas
  21.             si (is_file (_ENV $ [ 'site'] [ 'fichiers'] [ 'inclut-dir'] '/ MISES À JOUR / MMD-CMS -'!.. $ AV '. .zip ')) {
  22.                 echo' <p> Téléchargement Nouvelle mise à jour </ p> ';
  23.                 $ newUpdate = file_get_contents ( 'http://your-server.com/CMS-UPDATE-PACKAGES/MMD-CMS-'.$aV.'.zip');
  24.                 if (! is_dir (_ENV $ [ 'site'] [ 'fichier'] [ 'inclut-dir']. '/ MISES À JOUR /')) mkdir (_ENV $ [ 'site'] [ 'fichiers'] [ 'comprend - dir '].' / MISES À JOUR / ');
  25.                 $ dlHandler = fopen ($ _ ENV [ 'site'] [ 'fichier'] [ 'inclut-dir'] '/ MISES À JOUR / MMD-CMS -' $ aV, 'w'... 'zip.');
  26.                 if (! fwrite ($ dlHandler, $ newUpdate)) {echo '<p> Impossible d' enregistrer une nouvelle mise à jour. Opération annulée </ p>. '; Sortie(); }
  27.                Fclose ($ dlHandler);
  28.                echo '<p> Mise à jour téléchargées et sauvegardées </ p>';
  29.            } Else echo '<p> Mise à jour déjà téléchargé </ p>.';    
  30.          
  31.            if ($ _GET [ 'DoUpdate'] == true) {
  32.                // ouvrir le fichier et Do Stuff
  33.                $ zipHandle = zip_open ($ _ ENV [ 'site'] [ 'fichier'] [ 'inclut-dir']. '/ MISES À JOUR /MMD-CMS-'.$aV.'.zip ');
  34.                echo '<ul>';
  35.                while ($ aF = zip_read ($ zipHandle))
  36.                {
  37.                    $ thisFileName = zip_entry_name ($ aF);
  38.                    $ thisFileDir = dirname ($ thisFileName);
  39.                  
  40.                    // Continuer si son pas un fichier
  41.                    si (substr ($ thisFileName, -1,1) == '/') continue;
  42.                  
  43.    
  44.                    // Faire le répertoire si nous devons ...
  45.                    if (! Is_dir (_ENV $ [ 'site'] [ 'fichier'] [ 'server-root']. '/'. $ ThisFileDir))
  46.                    {
  47.                         _ENV mkdir ($ [ 'site'] [ 'fichier'] [ 'server-root'] '/' $ thisFileDir)..;
  48.                         echo '<li> Répertoire Créé' $ thisFileDir '</ li>'..;
  49.                    }
  50.                  
  51.                    // Ecraser le fichier
  52.                    if (! Is_dir ($ _ ENV [ 'site'] [ 'fichiers'] [ 'server-root']. '/'. $ ThisFileName)) {
  53.                        echo '<li>'. $ ThisFileName. '...........';
  54.                        $ contents = zip_entry_read ($ aF, zip_entry_filesize ($ aF));
  55.                        $ contents = str_replace ( "rn", "n", le contenu $);
  56.                        $ updateThis = '';
  57.                      
  58.                        // Si nous avons besoin d'exécuter des commandes, puis le faire.
  59.                         if ($ thisFileName == 'upgrade.php')
  60.                         {
  61.                             $ upgradeExec = fopen ( 'upgrade.php', 'w');
  62.                             fwrite ($ upgradeExec, contenu $);
  63.                             fclose ($ upgradeExec);
  64.                             include ( 'upgrade.php');
  65.                             unlink ( 'upgrade.php');
  66.                             echo 'SIGNÉ </ li>';
  67.                         }
  68.                         Autre
  69.                         {
  70.                             $ updateThis = fopen ($ _ ENV [ 'site'] [ 'fichier'] [ 'server-root'] '/' $ thisFileName, 'w'..);
  71.                             fwrite ($ updateThis, contenu $);
  72.                             fclose ($ updateThis);
  73.                             unset ($ contenu);
  74.                             echo 'MISE À JOUR </ li>';
  75.                         }
  76.                     }
  77.                 }
  78.                 Echo '</ ul>';
  79.                 $ mis à jour = TRUE;
  80.             }
  81.             Else echo '<p> Mettre à jour prête. <a href="?doUpdate=true"> & raquo; Installer maintenant </a> </ p> ';
  82.             Pause;
  83.         }
  84.     }
  85.    
  86.     If (mise à jour $ == true)
  87.     {
  88.         set_setting ( 'site', 'CMS', $ aV);
  89.         echo '<p class = "succès"> & raquo; CMS Mis à jour à v </ p> '' $ aV.. ';
  90.     }
  91.     Else if ($ trouvé = true!) Echo '<p> & raquo; Aucune mise à jour est disponible </ p>. ';
  92.  
  93.    
  94. }
  95. Else echo '<p> Impossible de trouver les dernières realeases </ p>.';
Add Comment
Please, Sign In to add comment