From 7c275a1f2b3043e057dc6de76b3b050ab8602da7 Mon Sep 17 00:00:00 2001 From: Silvio Date: Fri, 18 Nov 2011 15:29:11 -0200 Subject: Check if maximum number of presets was reached --- imagecache_auto.inc | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'imagecache_auto.inc') diff --git a/imagecache_auto.inc b/imagecache_auto.inc index 3541ba3..1b0fe7d 100644 --- a/imagecache_auto.inc +++ b/imagecache_auto.inc @@ -39,6 +39,14 @@ function imagecache_auto_create_preset($options) { return; } + // Check if maximum number of presets was reached. + $max_presets = (int) variable_get('imagecache_auto_max_presets', '250'); + if (imagecache_auto_count_presets() > $max_presets + 1) { + $message = 'Maximum number of imagecache presets reached. Please consider increasing the max number of presets.'; + watchdog('imagecache_auto', $message, array(), WATCHDOG_ERROR); + return; + } + // Create a preset. $preset = imagecache_preset_save(array('presetname' => $name)); @@ -120,3 +128,16 @@ function imagecache_auto_presets() { return $presets; } + +/** + * Count number of existing imagecache presets. + * + * @return + * Number of existing presets. + */ +function imagecache_auto_count_presets() { + $query = 'SELECT COUNT(presetid) AS count FROM imagecache_preset'; + $result = db_query($query); + $count = db_fetch_object($result); + return $count->count; +} -- cgit v1.2.3