summaryrefslogtreecommitdiffstats
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
parent4b6d493593b7400b7fa81d976fd3dc07ad30fe86 (diff)
added some better error checking for saving files with GD
-rw-r--r--system/language/english/imglib_lang.php1
-rw-r--r--system/libraries/Image_lib.php18
-rw-r--r--user_guide/changelog.html1
3 files changed, 17 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'));
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 3dd056d06..9c09fabf2 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -69,6 +69,7 @@ SVN Revision: </p>
<li>Added &lt;big&gt;, &lt;small&gt;, &lt;q&gt;, and &lt;tt&gt; to the Typography parser's inline elements.</li>
<li>Added more accurate error reporting for the Email library when using sendmail.</li>
<li>Removed a strict type check from the <kbd>rotate()</kbd> function of the <a href="libraries/image_lib.html">Image Manipulation Class</a>.</li>
+ <li>Added enhanced error checking in file saving in the Image library when using the GD lib.</li>
</ul>
</li>
<li>Database