示例#1
0
 public function valid()
 {
     $value = $this->value;
     $isValid = parent::valid();
     if ($isValid && (count($this->max_dimensions) || count($this->min_dimensions))) {
         $this->mkdir(Ki_PUBLIC . '/tmp');
         $name_tmp = date('h-m-s', time()) . '-' . $this->new_name;
         // Copia la imagen en el directorio temporal dentro de public_html/
         \Kodazzi\Tools\File::copy($value->getPathname(), Ki_PUBLIC . '/tmp/' . $name_tmp);
         if (is_file(Ki_PUBLIC . '/tmp/' . $name_tmp)) {
             $return = true;
             list($width, $height, $type) = getimagesize(Ki_PUBLIC . '/tmp/' . $name_tmp);
             if (count($this->min_dimensions)) {
                 /* Compara el ancho y alto de la imagen */
                 if ($width < $this->min_dimensions['width'] || $height < $this->min_dimensions['height']) {
                     $this->msg_error = strtr($this->I18n->get('form.min_dimensions'), array('%width%' => "{$this->min_dimensions['width']}", '%height%' => $this->min_dimensions['height']));
                     $return = false;
                 }
             }
             if (count($this->max_dimensions)) {
                 /* Compara el ancho y alto de la imagen */
                 if ($width > $this->max_dimensions['width'] || $height > $this->max_dimensions['height']) {
                     $this->msg_error = strtr($this->I18n->get('form.max_dimensions'), array('%width%' => $this->max_dimensions['width'], '%height%' => $this->max_dimensions['height']));
                     $return = false;
                 }
             }
             /* Elimina la imagen temporarl */
             unlink(Ki_PUBLIC . '/tmp/' . $name_tmp);
             return $return;
         } else {
             $this->msg_error = $this->I18n->get('form.upload');
             return false;
         }
         return false;
     }
     return $isValid;
 }