public function createTar($root, $name, $separate = null) { if (file_exists($root . '/' . $name . "_" . date('Ymd') . ".tar.bz2")) { $filename = $name . "_" . date('Ymd_H_i_s') . '.tar'; } else { $filename = $name . "_" . date('Ymd') . '.tar'; } //$cmd="tar -cvf ".$root."/".$filename." ".$root." --exclude='*web*' --exclude='*~'"; chdir($root); IO::out('Packing main... ' . "\t", false); if ($this->all) { $cmd = "tar --exclude='.svn' --exclude='*~' -cvf " . $root . "/" . $filename . " * 2>&1"; } else { $cmd = "tar --exclude='web' --exclude='.svn' --exclude='*~' -cvf " . $root . "/" . $filename . " * 2>&1"; } exec($cmd, $out, $return); if ($return == 0) { io::done(); } if (IO::getVerboseLevel() == IO::MESSAGE_INFO || $return) { foreach ($out as $o) { io::out($o); } } if ($return) { io::out('Return code ' . $return, IO::MESSAGE_FAIL); io::out('Executed command: ' . $cmd); return; } if (!$this->all) { $cmd = "tar --exclude='*~' --exclude='.svn' -uvf " . $root . "/" . $filename . " ./web/css/ ./web/js/ 2>&1"; io::out('Adding web/css, web/js...', false); exec($cmd, $out, $return); if ($return == 0 && !$this->all) { io::done(); } if (IO::getVerboseLevel() == IO::MESSAGE_INFO || $return) { foreach ($out as $o) { io::out($o); } } if ($return) { io::out('Return code ' . $return, IO::MESSAGE_FAIL); io::out('Executed command: ' . $cmd); return; } } io::out('Bzip ' . $filename . '...', false); $cmd = "bzip2 -9 " . $root . "/" . $filename; exec($cmd, $out, $return); if ($return == 0) { io::done(); } if (IO::getVerboseLevel() == IO::MESSAGE_INFO || $return) { foreach ($out as $o) { io::out($o); } } if ($return) { io::out('Return code ' . $return, IO::MESSAGE_FAIL); io::out('Executed command: ' . $cmd); return; } return $filename . ".bz2"; }