Пример #1
0
 /**
  * Checks if sufficient permissions are set to access the resource
  * Source must be readable, temporary read or writable, destination writable
  *
  * @param Model $Model
  * @param array $field
  * @return boolean
  */
 function checkAccess(&$Model, $field)
 {
     extract($this->runtime[$Model->alias]);
     if (MediaValidation::file($source['file'], true)) {
         if (!MediaValidation::access($source['file'], 'r')) {
             return false;
         }
     } else {
         if (!MediaValidation::access($source['permission'], 'r')) {
             return false;
         }
     }
     if (!empty($temporary)) {
         if (MediaValidation::file($temporary['file'], true)) {
             if (!MediaValidation::access($temporary['file'], 'r')) {
                 return false;
             }
         } elseif (MediaValidation::folder($temporary['dirname'], true)) {
             if (!MediaValidation::access($temporary['dirname'], 'w')) {
                 return false;
             }
         }
     }
     if (!MediaValidation::access($destination['dirname'], 'w')) {
         return false;
     }
     return true;
 }
 function testFolder()
 {
     $file = dirname(__FILE__);
     $result = MediaValidation::folder($file);
     $this->assertTrue($result);
     $file = $this->TestData->getFile('image-jpg.jpg');
     $result = MediaValidation::folder($file, false);
     $this->assertTrue($result);
     $file = DS . 'i-am-not-a-file.png';
     $result = MediaValidation::folder($file);
     $this->assertFalse($result);
     $file = DS;
     $result = MediaValidation::folder($file);
     $this->assertTrue($result);
     $file = DS;
     $result = MediaValidation::folder($file, false);
     $this->assertTrue($result);
     $file = DS . DS . DS . DS;
     $result = MediaValidation::folder($file, false);
     $this->assertTrue($result);
 }
Пример #3
0
 /**
  * Checks if sufficient permissions are set to access the resource
  * Source must be readable, temporary read or writable, destination writable
  *
  * @param Model $Model
  * @param array $field
  * @return boolean
  */
 public function checkAccess(Model $Model, $field)
 {
     extract($this->runtime[$Model->alias]);
     /* @var $source array */
     /* @var $temporary string */
     /* @var $destination string */
     /* @var $hasPerformed boolean */
     if (MediaValidation::file($source['file'], true)) {
         if (!MediaValidation::access($source['file'], 'r')) {
             return false;
         }
     } else {
         if (!MediaValidation::access($source['permission'], 'r')) {
             return false;
         }
     }
     if (!empty($temporary)) {
         if (MediaValidation::file($temporary['file'], true)) {
             if (!MediaValidation::access($temporary['file'], 'r')) {
                 return false;
             }
         } elseif (MediaValidation::folder($temporary['dirname'], true)) {
             if (!MediaValidation::access($temporary['dirname'], 'w')) {
                 return false;
             }
         }
     }
     if (!MediaValidation::access($destination['dirname'], 'w')) {
         return false;
     }
     return true;
 }
Пример #4
0
 public function testFolder()
 {
     $file = dirname(__FILE__);
     $result = MediaValidation::folder($file);
     $this->assertTrue($result);
     $file = $this->Data->getFile('image-jpg.jpg');
     $result = MediaValidation::folder($file, false);
     $this->assertTrue($result);
     $file = $this->Data->settings['base'] . 'i-am-not-a-file.png';
     $result = MediaValidation::folder($file);
     $this->assertFalse($result);
     $file = TMP;
     $result = MediaValidation::folder($file);
     $this->assertTrue($result);
     $file = TMP;
     $result = MediaValidation::folder($file, false);
     $this->assertTrue($result);
     $file = TMP . DS . DS . DS;
     $result = MediaValidation::folder($file, false);
     $this->assertTrue($result);
 }