opt
/
alt
/
php72
/
usr
/
share
/
pear
/
PEAR
/
Installer
/
Role
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
Cfg.php
3.87 KB
Rename
Delete
Cfg.xml
421 bytes
Rename
Delete
Common.php
6.07 KB
Rename
Delete
Data.php
783 bytes
Rename
Delete
Data.xml
402 bytes
Rename
Delete
Doc.php
781 bytes
Rename
Delete
Doc.xml
401 bytes
Rename
Delete
Ext.php
781 bytes
Rename
Delete
Ext.xml
322 bytes
Rename
Delete
Man.php
805 bytes
Rename
Delete
Man.xml
421 bytes
Rename
Delete
Php.php
781 bytes
Rename
Delete
Php.xml
429 bytes
Rename
Delete
Script.php
787 bytes
Rename
Delete
Script.xml
432 bytes
Rename
Delete
Src.php
882 bytes
Rename
Delete
Src.xml
290 bytes
Rename
Delete
Test.php
783 bytes
Rename
Delete
Test.xml
402 bytes
Rename
Delete
Www.php
777 bytes
Rename
Delete
Www.xml
420 bytes
Rename
Delete
<?php /** * PEAR_Installer_Role_Cfg * * PHP versions 4 and 5 * * @category pear * @package PEAR * @author Greg Beaver <cellog@php.net> * @copyright 2007-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License * @link http://pear.php.net/package/PEAR * @since File available since Release 1.7.0 */ /** * @category pear * @package PEAR * @author Greg Beaver <cellog@php.net> * @copyright 2007-2009 The Authors * @license http://opensource.org/licenses/bsd-license.php New BSD License * @version Release: 1.10.16 * @link http://pear.php.net/package/PEAR * @since Class available since Release 1.7.0 */ class PEAR_Installer_Role_Cfg extends PEAR_Installer_Role_Common { /** * @var PEAR_Installer */ var $installer; /** * the md5 of the original file * * @var unknown_type */ var $md5 = null; /** * Do any unusual setup here * @param PEAR_Installer * @param PEAR_PackageFile_v2 * @param array file attributes * @param string file name */ function setup(&$installer, $pkg, $atts, $file) { $this->installer = &$installer; $reg = &$this->installer->config->getRegistry(); $package = $reg->getPackage($pkg->getPackage(), $pkg->getChannel()); if ($package) { $filelist = $package->getFilelist(); if (isset($filelist[$file]) && isset($filelist[$file]['md5sum'])) { $this->md5 = $filelist[$file]['md5sum']; } } } function processInstallation($pkg, $atts, $file, $tmp_path, $layer = null) { $test = parent::processInstallation($pkg, $atts, $file, $tmp_path, $layer); if (@file_exists($test[2]) && @file_exists($test[3])) { $md5 = md5_file($test[2]); // configuration has already been installed, check for mods if ($md5 !== $this->md5 && $md5 !== md5_file($test[3])) { // configuration has been modified, so save our version as // configfile-version $old = $test[2]; $test[2] .= '.new-' . $pkg->getVersion(); // backup original and re-install it PEAR::pushErrorHandling(PEAR_ERROR_RETURN); $tmpcfg = $this->config->get('temp_dir'); $newloc = System::mkdir(array('-p', $tmpcfg)); if (!$newloc) { // try temp_dir $newloc = System::mktemp(array('-d')); if (!$newloc || PEAR::isError($newloc)) { PEAR::popErrorHandling(); return PEAR::raiseError('Could not save existing configuration file '. $old . ', unable to install. Please set temp_dir ' . 'configuration variable to a writeable location and try again'); } } else { $newloc = $tmpcfg; } $temp_file = $newloc . DIRECTORY_SEPARATOR . uniqid('savefile'); if (!@copy($old, $temp_file)) { PEAR::popErrorHandling(); return PEAR::raiseError('Could not save existing configuration file '. $old . ', unable to install. Please set temp_dir ' . 'configuration variable to a writeable location and try again'); } PEAR::popErrorHandling(); $this->installer->log(0, "WARNING: configuration file $old is being installed as $test[2], you should manually merge in changes to the existing configuration file"); $this->installer->addFileOperation('rename', array($temp_file, $old, false)); $this->installer->addFileOperation('delete', array($temp_file)); } } return $test; } }
Save