mirror of
https://codeberg.org/icewind/SMB.git
synced 2026-06-03 17:24:07 +02:00
adjust modified dates to the correct timezone
This commit is contained in:
parent
cb96c44176
commit
f8bc64f097
4 changed files with 33 additions and 2 deletions
|
|
@ -130,4 +130,12 @@ class Server {
|
|||
return new Share($this, $name);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
public function getTimeZone() {
|
||||
$command = 'net time zone -S ' . escapeshellarg($this->getHost());
|
||||
return exec($command);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,8 @@ class Share {
|
|||
*/
|
||||
private $connection;
|
||||
|
||||
private $serverTimezone;
|
||||
|
||||
/**
|
||||
* @param Server $server
|
||||
* @param string $name
|
||||
|
|
@ -58,6 +60,13 @@ class Share {
|
|||
return $this->parseOutput($output);
|
||||
}
|
||||
|
||||
private function getServerTimeZone() {
|
||||
if (!$this->serverTimezone) {
|
||||
$this->serverTimezone = $this->server->getTimeZone();
|
||||
}
|
||||
return $this->serverTimezone;
|
||||
}
|
||||
|
||||
/**
|
||||
* List the content of a remote folder
|
||||
*
|
||||
|
|
@ -84,7 +93,7 @@ class Share {
|
|||
$content[$name] = array(
|
||||
'size' => intval(trim($size)),
|
||||
'type' => (strpos($type, 'D') !== false) ? 'dir' : 'file',
|
||||
'time' => strtotime($time)
|
||||
'time' => strtotime($time . ' ' . $this->getServerTimeZone())
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,4 +48,9 @@ class Server extends \PHPUnit_Framework_TestCase {
|
|||
$server = new \SMB\Server(uniqid(), $this->config->user, $this->config->password);
|
||||
$server->listShares();
|
||||
}
|
||||
|
||||
public function testGetTimeZone() {
|
||||
$timeZone = $this->server->getTimeZone();
|
||||
$this->assertEquals('+0200', $timeZone);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -266,7 +266,16 @@ class Share extends \PHPUnit_Framework_TestCase {
|
|||
/**
|
||||
* @expectedException \SMB\NotFoundException
|
||||
*/
|
||||
public function testRmDirNonExisting(){
|
||||
public function testRmDirNonExisting() {
|
||||
$this->share->rmdir('/foobar/asd');
|
||||
}
|
||||
|
||||
public function testModifiedDate() {
|
||||
$now = time();
|
||||
$this->share->put($this->getTextFile(), $this->root . '/foo.txt');
|
||||
$dir = $this->share->dir($this->root);
|
||||
$mtime = $dir['foo.txt']['time'];
|
||||
$this->assertTrue(abs($now - $mtime) <= 1, 'Modified time differs by ' . abs($now - $mtime) . ' seconds');
|
||||
$this->share->del($this->root . '/foo.txt');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue