Beispiel #1
0
 /**
  * Ensures that the validator follows expected behavior
  *
  * @return void
  */
 public function testBasic()
 {
     $valuesExpected = array(array(null, true), array('jpeg', true), array('test/notype', false), array('image/gif, image/jpeg', true), array(array('image/vasa', 'image/jpeg'), true), array(array('image/jpeg', 'gif'), true), array(array('image/gif', 'gif'), false));
     $files = array('name' => 'picture.jpg', 'type' => 'image/jpeg', 'size' => 200, 'tmp_name' => dirname(__FILE__) . '/_files/picture.jpg', 'error' => 0);
     foreach ($valuesExpected as $element) {
         $validator = new Zend_Validate_File_IsImage($element[0]);
         $this->assertEquals($element[1], $validator->isValid(dirname(__FILE__) . '/_files/picture.jpg', $files));
     }
 }
 /**
  * @ZF-8111
  */
 public function testErrorMessages()
 {
     $files = array('name' => 'picture.jpg', 'type' => 'image/jpeg', 'size' => 200, 'tmp_name' => dirname(__FILE__) . '/_files/picture.jpg', 'error' => 0);
     $validator = new Zend_Validate_File_IsImage('test/notype');
     $validator->enableHeaderCheck();
     $this->assertFalse($validator->isValid(dirname(__FILE__) . '/_files/picture.jpg', $files));
     $error = $validator->getMessages();
     $this->assertTrue(array_key_exists('fileIsImageFalseType', $error));
 }
Beispiel #3
0
 public function photoAction()
 {
     $this->_helper->viewRenderer->setNoRender(true);
     $uri = $this->getRequest()->getRequestUri();
     $regex = '#^(.+)/photo/(.+).png$#i';
     if (preg_match($regex, $uri, $v)) {
         $de = str_split($this->_params['user']);
         $file = SYS_ENTRY . '/data/user/' . $de[0] . '/' . $de[1] . '/' . $de[2];
         $file .= '/' . $this->_params['user'] . '/' . $v[2] . '.png';
         if (!file_exists($file)) {
             $file = SYS_ENTRY . '/data/user/' . $v[2] . '.png';
             if (!file_exists($file)) {
                 die;
             }
         }
     } else {
         die;
     }
     ob_end_clean();
     $ims = getimagesize($file);
     header("Cache-Control: private");
     header("Pragma: cache");
     header("Expires: " . gmdate("D, d M Y H:i:s", time() + 31536000) . " GMT");
     header("Content-type: image/png");
     $validator = new Zend_Validate_File_IsImage();
     if ($validator->isValid($file, array('type' => 'image/png'))) {
         header("Content-Disposition: inline; filename=photo");
     } else {
         header('Content-Disposition: attachment; filename=photo');
     }
     header("Content-Length: " . filesize($file));
     $fp = fopen($file, "rb");
     fpassthru($fp);
     fclose($fp);
     die;
 }