comparison mgtool.php @ 15:805f93962cf9

Factorize gallery cache file writing to a separate function.
author Matti Hamalainen <ccr@tnsp.org>
date Mon, 14 Sep 2015 09:54:01 +0300
parents 0b097770061d
children 3491ab93630e
comparison
equal deleted inserted replaced
14:c9fad00199f9 15:805f93962cf9
324 return TRUE; 324 return TRUE;
325 325
326 return ($entry[$field] < $cvalue); 326 return ($entry[$field] < $cvalue);
327 } 327 }
328 328
329
330 function mgWriteGalleryCache($cacheFilename, &$gallery, &$entries)
331 {
332 // Store gallery cache for this directory
333 $images = array();
334 $albums = array();
335 foreach ($entries as $ename => &$edata)
336 {
337 if ($edata["hide"])
338 continue;
339
340 unset($edata["hide"]);
341 if ($edata["type"] == 0)
342 $images[$ename] = &$edata;
343 else
344 $albums[$ename] = &$edata;
345 }
346 ksort($images);
347 ksort($albums);
348
349 $str =
350 "<?\n".
351 "\$galData = ".var_export($gallery, TRUE).";\n".
352 "\$galAlbumsIndex = ".var_export(array_keys($albums), TRUE).";\n".
353 "\$galImagesIndex = ".var_export(array_keys($images), TRUE).";\n".
354 "\$galEntries = ".var_export($entries, TRUE).";\n".
355 "?>";
356
357 if (@file_put_contents($cacheFilename, $str, LOCK_EX) === FALSE)
358 return mgError("Error writing '".$cacheFilename."'\n");
359
360 return TRUE;
361 }
329 362
330 function mgHandleDirectory($mode, $basepath, $path, $parentData, $parentEntry, $writeMode, $startAt) 363 function mgHandleDirectory($mode, $basepath, $path, $parentData, $parentEntry, $writeMode, $startAt)
331 { 364 {
332 global $galExifConversions, $galTNPath, $galCleanFlags; 365 global $galExifConversions, $galTNPath, $galCleanFlags;
333 366
507 echo "\r".$path." ..... DONE\n"; 540 echo "\r".$path." ..... DONE\n";
508 541
509 mgCheckQuit(TRUE); 542 mgCheckQuit(TRUE);
510 543
511 // Store gallery cache for this directory 544 // Store gallery cache for this directory
512 if ($writeMode) 545 if ($writeMode && !mgWriteGalleryCache($cacheFilename, $gallery, $entries))
513 { 546 return FALSE;
514 $images = array(); 547 {
515 $albums = array();
516 foreach ($entries as $ename => &$edata)
517 { 548 {
518 if ($edata["hide"])
519 continue;
520
521 unset($edata["hide"]);
522 if ($edata["type"] == 0)
523 $images[$ename] = &$edata;
524 else
525 $albums[$ename] = &$edata;
526 } 549 }
527 ksort($images);
528 ksort($albums);
529
530 $str =
531 "<?\n".
532 "\$galData = ".var_export($gallery, TRUE).";\n".
533 "\$galAlbumsIndex = ".var_export(array_keys($albums), TRUE).";\n".
534 "\$galImagesIndex = ".var_export(array_keys($images), TRUE).";\n".
535 "\$galEntries = ".var_export($entries, TRUE).";\n".
536 "?>";
537
538 if (@file_put_contents($cacheFilename, $str, LOCK_EX) === FALSE)
539 return mgError("Error writing '".$cacheFilename."'\n");
540 } 550 }
541 } 551 }
542 else 552 else
543 mgFatal("Invalid work mode '".$mode."'.\n"); 553 mgFatal("Invalid work mode '".$mode."'.\n");
544 554