brilliant_gallery_cron.inc in Brilliant Gallery 7
File
brilliant_gallery_cron.inc
View source
<?php
function brilliant_gallery_cron() {
$last_bg_cron = variable_get('brilliant_gallery_last_cron', 0);
if (REQUEST_TIME - $last_bg_cron > brilliant_gallery_get_days_in_seconds(variable_get('brilliant_gallery_cache_duration', 90))) {
variable_set('brilliant_gallery_last_cron', REQUEST_TIME);
brilliant_gallery_cleantmpdir();
brilliant_gallery_clean_table_image_arrays();
}
}
function brilliant_gallery_clean_table_image_arrays() {
$deletecreatedbeforethistime = REQUEST_TIME - brilliant_gallery_get_days_in_seconds(variable_get('brilliant_gallery_cache_duration', 90));
$dbres = db_query("DELETE FROM {brilliant_gallery_image_arrays} WHERE datetime < :deletecreatedbeforethistime", array(
':deletecreatedbeforethistime' => $deletecreatedbeforethistime,
));
foreach ($dbres as $node) {
}
}
function brilliant_gallery_cleantmpdir() {
$timenow = REQUEST_TIME;
$bgcachexpire = brilliant_gallery_get_days_in_seconds(variable_get('brilliant_gallery_cache_duration', 90));
$timestampexpired = REQUEST_TIME - $bgcachexpire;
$cachetempdirectory = variable_get('brilliant_gallery_pcache', BRILLIANT_GALLERY_DEFAULT_CACHE_DIR);
$cachetempdirectory = realpath(FILE_DIRECTORY_PATH) . '/' . $cachetempdirectory;
$GLOBALS['bg_removedcnt'] = 0;
brilliant_gallery_rmdir_recursive($cachetempdirectory, $timestampexpired);
cache_clear_all();
watchdog('Brilliant Gal', 'Cleared ' . $GLOBALS['bg_removedcnt'] . ' files from the temp directory ' . $cachetempdirectory . ' after ' . variable_get('brilliant_gallery_cache_duration', 90) . ' days. Elapsed time: ' . (REQUEST_TIME - $timenow) . ' seconds.');
}
function brilliant_gallery_rmdir_recursive($dir, $timestampexpired) {
$slash = '/';
if (substr($dir, -1) == '/') {
$slash = '';
}
$files = scandir($dir);
array_shift($files);
array_shift($files);
foreach ($files as $file) {
$filename = $file;
$file = $dir . $slash . $file;
if (is_dir($file)) {
if (substr(strtolower($filename), 0, strlen('bg_picasa_orig_')) == 'bg_picasa_orig_') {
@rmdir($file);
}
}
else {
$suffix = strtolower(brilliant_gallery_get_extension($filename));
if ($suffix == 'jpg' or $suffix == 'jpeg' or $suffix == 'png' or $suffix == 'gif') {
if (@filemtime($file) < $timestampexpired) {
$unlinked = unlink($file);
if ($unlinked) {
$GLOBALS['bg_removedcnt']++;
}
}
}
}
}
}