~hexmode/+junk/main

« back to all changes in this revision

Viewing changes to install-files/scripts/wampserver.lib.php

  • Committer: Mark A. Hershberger
  • Date: 2008-01-05 19:38:56 UTC
  • Revision ID: hershberger@spawn-xp-20080105193856-6rnzgwa4nehue3qj
initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
 
 
3
 
 
4
function wampIniSet($iniFile, $params)
 
5
{
 
6
    $iniFileContents = @file_get_contents($iniFile);
 
7
    foreach ($params as $param => $value)
 
8
        $iniFileContents = preg_replace('|'.$param.' = .*|',$param.' = '.'"'.$value.'"',$iniFileContents);
 
9
    $fp = fopen($iniFile,'w');
 
10
    fwrite($fp,$iniFileContents);
 
11
    fclose($fp);
 
12
}
 
13
 
 
14
 
 
15
function listDir($dir,$toCheck = '')
 
16
{
 
17
    if ($handle = opendir($dir)) 
 
18
    {    
 
19
        while (false !== ($file = readdir($handle))) 
 
20
        {
 
21
            if ($file != "." && $file != ".." && is_dir($dir.'/'.$file)) 
 
22
            {
 
23
                if ($toCheck != '')
 
24
                {
 
25
                    eval('$result ='." $toCheck('$dir','$file');");
 
26
                }
 
27
                if (!isset($result) || $result == 1)
 
28
                    $list[] = $file;
 
29
            }
 
30
        }
 
31
    closedir($handle);
 
32
    }
 
33
    return($list);
 
34
}
 
35
 
 
36
 
 
37
function checkPhpConf($baseDir,$version)
 
38
{
 
39
    global $wampBinConfFiles;
 
40
    global $phpConfFileForApache;
 
41
    
 
42
    if (!is_file($baseDir.'/'.$version.'/'.$wampBinConfFiles))
 
43
        return (0);
 
44
    if (!is_file($baseDir.'/'.$version.'/'.$phpConfFileForApache))
 
45
        return (0);    
 
46
    return(1);
 
47
}
 
48
 
 
49
function checkApacheConf($baseDir,$version)
 
50
{
 
51
    global $wampBinConfFiles;
 
52
    
 
53
    if (!is_file($baseDir.'/'.$version.'/'.$wampBinConfFiles))
 
54
        return (0);    
 
55
    return(1);
 
56
}
 
57
 
 
58
function checkMysqlConf($baseDir,$version)
 
59
{
 
60
    global $wampBinConfFiles;
 
61
    
 
62
    if (!is_file($baseDir.'/'.$version.'/'.$wampBinConfFiles))
 
63
        return (0);    
 
64
    return(1);
 
65
}
 
66
 
 
67
 
 
68
function switchPhpVersion($newPhpVersion)
 
69
{
 
70
    require 'config.inc.php';
 
71
    
 
72
    //on charge le fichier de conf de la nouvelle version
 
73
    require $c_phpVersionDir.'/php'.$newPhpVersion.'/'.$wampBinConfFiles;
 
74
    
 
75
    
 
76
    
 
77
    //on determine les textes httpd.conf en fonction de la version d'apache
 
78
    $apacheVersion = $wampConf['apacheVersion'];
 
79
    while (!isset($phpConf['apache'][$apacheVersion]) && $apacheVersion != '')
 
80
    {
 
81
        $pos = strrpos($apacheVersion,'.');
 
82
        $apacheVersion = substr($apacheVersion,0,$pos);
 
83
 
 
84
    }
 
85
    
 
86
    // on sauvegarde le php.ini courant
 
87
    copy($c_phpConfFile,$c_phpVersionDir.'/php'.$wampConf['phpVersion'].'/'.$phpConfFileForApache);
 
88
    
 
89
    //on place le nouveau php.ini
 
90
    copy($c_phpVersionDir.'/php'.$newPhpVersion.'/'.$phpConfFileForApache,$c_phpConfFile);
 
91
    
 
92
    
 
93
    // on modifie le fichier de conf d'apache  
 
94
    $httpdContents = file($c_apacheConfFile);
 
95
    foreach ($httpdContents as $line)
 
96
    {
 
97
        if (strstr($line,'LoadModule') && strstr($line,'php'))
 
98
        {
 
99
            $newHttpdContents .= 'LoadModule '.$phpConf['apache'][$apacheVersion]['LoadModuleName'].' "'.$c_phpVersionDir.'/php'.$newPhpVersion.'/'.$phpConf['apache'][$apacheVersion]['LoadModuleFile'].'"'."\r\n";
 
100
        }
 
101
        elseif ($phpConf['apache'][$apacheVersion]['AddModule'] != '' && strstr($line,'AddModule') && strstr($line,'php'))
 
102
            $newHttpdContents .= 'AddModule '.$phpConf['apache'][$apacheVersion]['AddModule']."\r\n";
 
103
        else
 
104
            $newHttpdContents .= $line;
 
105
    }
 
106
    file_put_contents($c_apacheConfFile,$newHttpdContents);
 
107
    
 
108
    
 
109
    //on copie des dll
 
110
    foreach ($phpDllToCopy as $dll)
 
111
    {
 
112
        if (is_file($c_phpVersionDir.'/php'.$newPhpVersion.'/'.$dll))
 
113
        {
 
114
            unlink($c_apacheVersionDir.'/apache'.$wampConf['apacheVersion'].'/'.$wampConf['apacheExeDir'].'/'.$dll);
 
115
            copy($c_phpVersionDir.'/php'.$newPhpVersion.'/'.$dll,$c_apacheVersionDir.'/apache'.$wampConf['apacheVersion'].'/'.$wampConf['apacheExeDir'].'/'.$dll);
 
116
        }
 
117
    }
 
118
    
 
119
    //on modifie la conf de wampserver
 
120
    $wampIniNewContents['phpIniDir'] = $phpConf['phpIniDir'];
 
121
    $wampIniNewContents['phpExeDir'] = $phpConf['phpExeDir'];
 
122
    $wampIniNewContents['phpConfFile'] = $phpConf['phpConfFile'];
 
123
    $wampIniNewContents['phpVersion'] = $newPhpVersion;
 
124
    wampIniSet($configurationFile, $wampIniNewContents);
 
125
    
 
126
 
 
127
}
 
128
 
 
129
 
 
130
?>
 
 
b'\\ No newline at end of file'