@@ -332,6 +332,7 @@ public function updateNodesIndex($oldNode = null, $newNode = null, $copy = false
332
332
if (!dibi::isConnected ()) {
333
333
dibi::connect ($ this ->sqlDriver );
334
334
}
335
+ $ this ->logInfo ("Syncable index " , array ($ oldNode == null ?'null ' :$ oldNode ->getUrl (), $ newNode == null ?'null ' :$ newNode ->getUrl ()));
335
336
try {
336
337
if ($ newNode != null && $ this ->excludeNode ($ newNode )) {
337
338
// CREATE
@@ -349,11 +350,21 @@ public function updateNodesIndex($oldNode = null, $newNode = null, $copy = false
349
350
dibi::query ("DELETE FROM [ajxp_index] WHERE [node_path] LIKE %like~ AND [repository_identifier] = %s " , $ oldNode ->getPath (), $ repoId );
350
351
} else if ($ oldNode == null || $ copy ) {
351
352
// CREATE
352
- $ stat = stat ($ newNode ->getUrl ());
353
+ $ newNode ->loadNodeInfo ();
354
+ $ mtime = $ newNode ->ajxp_modiftime ;
355
+ $ size = $ newNode ->bytesize ;
356
+ if (!isSet ($ mtime )){
357
+ $ stat = @stat ($ newNode ->getUrl ());
358
+ if ($ stat === false ){
359
+ throw new Exception ('Error while trying to sync node ' .$ newNode ->getUrl ());
360
+ }
361
+ $ mtime = $ stat ["mtime " ];
362
+ $ size = $ stat ["size " ];
363
+ }
353
364
$ res = dibi::query ("INSERT INTO [ajxp_index] " , array (
354
365
"node_path " => $ newNode ->getPath (),
355
- "bytesize " => $ stat [ " size " ] ,
356
- "mtime " => $ stat [ " mtime " ] ,
366
+ "bytesize " => $ size ,
367
+ "mtime " => $ mtime ,
357
368
"md5 " => $ newNode ->isLeaf ()? md5_file ($ newNode ->getUrl ()):"directory " ,
358
369
"repository_identifier " => $ repoId = $ this ->computeIdentifier ($ newNode ->getRepository (), $ newNode ->getUser ())
359
370
));
@@ -386,6 +397,7 @@ public function updateNodesIndex($oldNode = null, $newNode = null, $copy = false
386
397
}
387
398
}
388
399
} catch (Exception $ e ) {
400
+ AJXP_Logger::error ("[meta.syncable] " , "Exception " , $ e ->getTraceAsString ());
389
401
AJXP_Logger::error ("[meta.syncable] " , "Indexation " , $ e ->getMessage ());
390
402
}
391
403
0 commit comments