Example #1
0
 public function attach_image($input, $orig_filename = '')
 {
     global $C;
     if (isset($this->attached['image'])) {
         unset($this->attached['image']);
     }
     $types = array(IMAGETYPE_GIF => 'gif', IMAGETYPE_JPEG => 'jpg', IMAGETYPE_PNG => 'png');
     list($w, $h, $tp) = @getimagesize($input);
     if ($w == 0 || $h == 0) {
         return FALSE;
     }
     if (!isset($types[$tp])) {
         return FALSE;
     }
     $fn = time() . rand(100000, 999999);
     $data = (object) array('in_tmpdir' => TRUE, 'title' => $orig_filename, 'file_original' => $fn . '_orig.' . $types[$tp], 'file_preview' => $fn . '_large.' . $types[$tp], 'file_thumbnail' => $fn . '_thumb.' . $types[$tp], 'size_original' => '', 'size_preview' => '', 'filesize' => 0, 'hits' => 0);
     $data = copy_attachment_image($input, $data);
     if (!$data) {
         return FALSE;
     }
     return $this->attached['image'] = $data;
 }
Example #2
0
 public function attach_image($input, $orig_filename = '')
 {
     global $C;
     if (isset($this->attached['image'])) {
         unset($this->attached['image']);
     }
     $types = array(IMAGETYPE_GIF => 'gif', IMAGETYPE_JPEG => 'jpg', IMAGETYPE_PNG => 'png');
     if (preg_match('/^(http|https|ftp)\\:\\/\\//u', $input)) {
         $tmp = $C->TMP_DIR . 'tmp' . md5(time() . rand()) . '.' . pathinfo($input, PATHINFO_EXTENSION);
         $res = my_copy($input, $tmp);
         if (!$res) {
             return FALSE;
         }
         chmod($tmp, 0666);
         $input = $tmp;
     }
     list($w, $h, $tp) = @getimagesize($input);
     if ($w == 0 || $h == 0) {
         return FALSE;
     }
     if (!isset($types[$tp])) {
         return FALSE;
     }
     $fn = time() . rand(100000, 999999);
     $data = (object) array('in_tmpdir' => TRUE, 'title' => $orig_filename, 'file_original' => $fn . '_orig.' . $types[$tp], 'file_preview' => $fn . '_large.' . $types[$tp], 'file_thumbnail' => $fn . '_thumb.' . $types[$tp], 'size_original' => '', 'size_preview' => '', 'filesize' => 0, 'hits' => 0);
     $data = copy_attachment_image($input, $data);
     if (!$data) {
         return FALSE;
     }
     rm($input);
     return $this->attached['image'] = $data;
 }