protected function save ($image_data, $username, $timer = 0) { $image_file = $this->get_temp_file($image_data); $image = new Transform_Image($image_file); $format = strtolower($image->get_format()); $time = time(); $save_full = IMAGES.SL.'gallery'.SL.$this->user_id.SL.'full'.SL.$time.'.'.$format; $save_resized = IMAGES.SL.'gallery'.SL.$this->user_id.SL.'resized'.SL.$time.'.jpg'; $save_large_thumbnail = IMAGES.SL.'gallery'.SL.$this->user_id.SL.'large_thumbnail'.SL.$time.'.jpg'; $save_thumbnail = IMAGES.SL.'gallery'.SL.$this->user_id.SL.'thumbnail'.SL.$time.'.jpg'; $this->test_upload_dirs('gallery', $this->user_id, 'full'); $this->test_upload_dirs('gallery', $this->user_id, 'resized'); $this->test_upload_dirs('gallery', $this->user_id, 'large_thumbnail'); $this->test_upload_dirs('gallery', $this->user_id, 'thumbnail'); $resized = 0; $resized_settings = Config::image('resized'); $large_thumbnail_settings = Config::image('large_thumbnail'); $thumbnail_settings = Config::image('thumbnail'); $image->save($save_full); if ( $image->get_width() > $resized_settings['width'] || $image->get_height() > $resized_settings['height'] ) { $resized = min( $resized_settings['width'] / $image->get_width(), $resized_settings['height'] / $image->get_height() ); $image->target($save_resized)->scale( array( $resized_settings['width'], $resized_settings['height'] ), $resized_settings['compression'] ); $image = new Transform_Image($save_resized); } $image->target($save_large_thumbnail)->scale( array( $large_thumbnail_settings['width'], $large_thumbnail_settings['height'] ), $large_thumbnail_settings['compression'], true ); $image = new Transform_Image($save_large_thumbnail); $image->target($save_thumbnail)->scale( array( $thumbnail_settings['width'], $thumbnail_settings['height'] ), $thumbnail_settings['compression'], true ); Art_Input::save($save_full, $username, $resized, $this->user_id, $timer); }