uawdijnntqw1x1x1
IP : 216.73.216.20
Hostname : webm001.cluster110.gra.hosting.ovh.net
Kernel : Linux webm001.cluster110.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
OS : Linux
PATH:
/
home
/
etiennec
/
www
/
plugins
/
auto
/
..
/
..
/
plugins
/
..
/
plugins-dist
/
svp
/
prive
/
..
/
teleporter
/
svn.php
/
/
<?php /** * Gestion du téléporteur HTTP. * * @plugin SVP pour SPIP * @license GPL * @package SPIP\SVP\Teleporteur */ /** * Téléporter et déballer un composant SVN * * Déployer un repository SVN depuis une source et une révision données * * @param string $methode * Méthode de téléportation : http|git|svn|... * @param string $source * URL de la source SVN * @param string $dest * Chemin du répertoire de destination * @param array $options * Tableau d'options. Index possibles : * - revision => 'nnn' * - literal => --ignore-externals * @return bool * True si l'opération réussie, false sinon. */ function teleporter_svn_dist($methode,$source,$dest,$options=array()){ if (is_dir($dest)){ $infos = teleporter_svn_read($dest); if (!$infos){ spip_log("Suppression de $dest qui n'est pas au format SVN","teleport"); $old = teleporter_nettoyer_vieille_version($dest); } elseif ($infos['source']!==$source) { spip_log("Suppression de $dest qui n'est pas sur le bon repository SVN","teleport"); $old = teleporter_nettoyer_vieille_version($dest); } elseif (!isset($options['revision']) OR $options['revision']!=$infos['revision']){ $command = "svn up "; if (isset($options['revision'])) $command .= escapeshellarg("-r".$options['revision'])." "; if (isset($options['ignore-externals'])) $command .= "--ignore-externals "; $command .= escapeshellarg($dest); spip_log($command,"teleport"); exec($command); } else { // Rien a faire ! spip_log("$dest deja a jour (Revision ".$options['revision']." SVN de $source)","teleport"); } } if (!is_dir($dest)){ $command = "svn co "; if (isset($options['revision'])) $command .= escapeshellarg("-r".$options['revision'])." "; if (isset($options['ignore-externals'])) $command .= "--ignore-externals "; $command .= escapeshellarg($source)." ".escapeshellarg($dest); spip_log($command,"teleport"); exec($command); } // verifier que tout a bien marche $infos = teleporter_svn_read($dest); if (!$infos) return false; return true; } /** * Lire source et révision d'un répertoire SVN * et reconstruire la ligne de commande * * @param string $dest * Chemin du répertoire SVN * @param array $options * Options * @return array|string * Chaîne vide si pas SVN ou erreur de lecture, * Tableau sinon avec les index : * - source : URL de la source SVN * - revision : numéro de la révision SVN * - dest : Chemin du répertoire */ function teleporter_svn_read($dest,$options=array()){ if (!is_dir("$dest/.svn")) return ""; // on veut lire ce qui est actuellement deploye // et reconstituer la ligne de commande pour le deployer exec("svn info ".escapeshellarg($dest),$output); $output = implode("\n",$output); // URL // URL: svn://trac.rezo.net/spip/spip if (!preg_match(",^URL[^:\w]*:\s+(.*)$,Uims",$output,$m)) return ""; $source = $m[1]; // Revision // Revision: 18763 if (!preg_match(",^R..?vision[^:\w]*:\s+(\d+)$,Uims",$output,$m)) return ""; $revision = $m[1]; return array( 'source' => $source, 'revision' => $revision, 'dest' => $dest ); }
/home/etiennec/www/plugins/auto/../../plugins/../plugins-dist/svp/prive/../teleporter/svn.php