summaryrefslogtreecommitdiffstats
path: root/system
diff options
context:
space:
mode:
authorDerek Jones <derek.jones@ellislab.com>2008-12-09 16:25:31 +0100
committerDerek Jones <derek.jones@ellislab.com>2008-12-09 16:25:31 +0100
commit541ddbd6f3c0231f0e7fc0a18d9d54670a808958 (patch)
tree36dffaea51566829906e4cb322c1991742117a1c /system
parent4b6d493593b7400b7fa81d976fd3dc07ad30fe86 (diff)
added some better error checking for saving files with GD
Diffstat (limited to 'system')
-rw-r--r--system/language/english/imglib_lang.php1
-rw-r--r--system/libraries/Image_lib.php18
2 files changed, 16 insertions, 3 deletions
diff --git a/system/language/english/imglib_lang.php b/system/language/english/imglib_lang.php
index a587c0b9e..66505da07 100644
--- a/system/language/english/imglib_lang.php
+++ b/system/language/english/imglib_lang.php
@@ -17,6 +17,7 @@ $lang['imglib_writing_failed_gif'] = "GIF image.";
$lang['imglib_invalid_path'] = "The path to the image is not correct.";
$lang['imglib_copy_failed'] = "The image copy routine failed.";
$lang['imglib_missing_font'] = "Unable to find a font to use.";
+$lang['imglib_save_failed'] = "Unable to save the image. Please make sure the image and file directory are writable.";
/* End of file imglib_lang.php */
diff --git a/system/libraries/Image_lib.php b/system/libraries/Image_lib.php
index 1b2d33de8..0e7f21435 100644
--- a/system/libraries/Image_lib.php
+++ b/system/libraries/Image_lib.php
@@ -1195,7 +1195,11 @@ class CI_Image_lib {
return FALSE;
}
- @imagegif($resource, $this->full_dst_path);
+ if ( ! @imagegif($resource, $this->full_dst_path))
+ {
+ $this->set_error('imglib_save_failed');
+ return FALSE;
+ }
break;
case 2 :
if ( ! function_exists('imagejpeg'))
@@ -1209,7 +1213,11 @@ class CI_Image_lib {
@touch($this->full_dst_path); // PHP 4.4.1 bug #35060 - workaround
}
- @imagejpeg($resource, $this->full_dst_path, $this->quality);
+ if ( ! @imagejpeg($resource, $this->full_dst_path, $this->quality))
+ {
+ $this->set_error('imglib_save_failed');
+ return FALSE;
+ }
break;
case 3 :
if ( ! function_exists('imagepng'))
@@ -1218,7 +1226,11 @@ class CI_Image_lib {
return FALSE;
}
- @imagepng($resource, $this->full_dst_path);
+ if ( ! @imagepng($resource, $this->full_dst_path))
+ {
+ $this->set_error('imglib_save_failed');
+ return FALSE;
+ }
break;
default :
$this->set_error(array('imglib_unsupported_imagecreate'));