projects
/
GITManagedWebpage.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed variable error
[GITManagedWebpage.git]
/
GITManagedWebpage.class.php
diff --git
a/GITManagedWebpage.class.php
b/GITManagedWebpage.class.php
index 2c429f96ed1a047e76a7f5c0f42739f078984cd9..fee826c0e284d0d24d0bdabac4961f04140e3d49 100644
(file)
--- a/
GITManagedWebpage.class.php
+++ b/
GITManagedWebpage.class.php
@@
-103,6
+103,16
@@
class GITManagedWebpage {
$this->config_changed = true;
}
$this->config_changed = true;
}
+ private function checkConfigIntegrity() {
+ foreach($this->config as $key => $value) {
+ if(substr($key, 0, strlen('branch_')) == 'branch_') {
+ if(!file_exists($this->workdir.$key)) {
+ unset($this->config['key']);
+ }
+ }
+ }
+ }
+
/* private function getConfig($name)
* get an option from the configuration
*/
/* private function getConfig($name)
* get an option from the configuration
*/
@@
-113,6
+123,7
@@
class GITManagedWebpage {
if(file_exists($this->workdir."config.txt")) {
$config_txt = @file_get_contents($this->workdir."config.txt");
$this->config = unserialize($config_txt);
if(file_exists($this->workdir."config.txt")) {
$config_txt = @file_get_contents($this->workdir."config.txt");
$this->config = unserialize($config_txt);
+ $this->checkConfigIntegrity();
} else {
$this->config = array();
return null;
} else {
$this->config = array();
return null;
@@
-228,7
+239,7
@@
class GITManagedWebpage {
return false;
}
return false;
}
- private function updateBranch($branch, $path) {
+ private function updateBranch($branch, $path
, $force = false
) {
if(substr($path, -1) != '/')
$path .= '/';
$current_branch = str_replace(array("\r", "\n"), array("", ""), $this->gitcmd("rev-parse", "--abbrev-ref", "HEAD"));
if(substr($path, -1) != '/')
$path .= '/';
$current_branch = str_replace(array("\r", "\n"), array("", ""), $this->gitcmd("rev-parse", "--abbrev-ref", "HEAD"));
@@
-241,7
+252,7
@@
class GITManagedWebpage {
$deleted_files = array();
if(($current_version = $this->getConfig('version_'.$branch))) {
$deleted_files = array();
if(($current_version = $this->getConfig('version_'.$branch))) {
- if($current_version == $newest_version)
+ if($current_version == $newest_version
&& !$force
)
return;
else {
$override_all = true;
return;
else {
$override_all = true;
@@
-298,11
+309,11
@@
class GITManagedWebpage {
if(!$this->localBranchPath($branch)) {
$dir = $this->localBranchPath($branch, true);
if(!$this->localBranchPath($branch)) {
$dir = $this->localBranchPath($branch, true);
- $this->updateBranch($branch, $dir);
+ $this->updateBranch($branch, $dir
, true
);
}
}
}
}
- public function
execut
e($file = null) {
+ public function
getExecFil
e($file = null) {
if($this->loopedcall)
return;
define("GITMANAGED_EXECUTED", true);
if($this->loopedcall)
return;
define("GITMANAGED_EXECUTED", true);
@@
-315,12
+326,14
@@
class GITManagedWebpage {
$default_branch = $this->getConfig("defaultbranch");
$active_branch = $this->getActiveBranch();
if($active_branch != $default_branch) {
$default_branch = $this->getConfig("defaultbranch");
$active_branch = $this->getActiveBranch();
if($active_branch != $default_branch) {
- if(!($dir = $this->localBranchPath($branch))) {
+ if(!($dir = $this->localBranchPath($
active_
branch))) {
$dir = $this->localBranchPath($active_branch, true);
$dir = $this->localBranchPath($active_branch, true);
- $this->updateBranch($active_branch, $dir);
+ $this->updateBranch($active_branch, $dir
, true
);
}
}
- include_once($dir.$file);
- die();
+ chdir($dir);
+ return $dir.$file;
+ } else {
+ return $file;
}
}
}
}