public function process()
 {
     if (!$this->getSource()) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $this->source->setRequestProperties($this->getProperties());
     $this->source->initialize();
     $list = $this->source->getObjectsInContainer($this->getProperty('dir'));
     return $this->outputArray($list);
 }
Beispiel #2
0
 /**
  * @return boolean|string
  */
 public function getSource()
 {
     /** @var modMediaSource $source */
     $this->modx->loadClass('sources.modMediaSource');
     $this->source = $this->modx->getObject('modMediaSource', $_POST['sourceID']);
     if (!$this->source->getWorkingContext()) {
         return $this->modx->lexicon('permission_denied');
     }
     $this->source->setRequestProperties($this->getProperties());
     return $this->source->initialize();
 }
Beispiel #3
0
 /**
  * @return boolean|string
  */
 public function getSource()
 {
     $source = $this->getProperty('source', 1);
     /** @var modMediaSource $source */
     $this->modx->loadClass('sources.modMediaSource');
     $this->source = modMediaSource::getDefaultSource($this->modx, $source);
     if (!$this->source->getWorkingContext()) {
         return $this->modx->lexicon('permission_denied');
     }
     $this->source->setRequestProperties($this->getProperties());
     return $this->source->initialize();
 }
 public function process()
 {
     if (!$this->getSource()) {
         return $this->modx->toJSON(array());
     }
     if (!$this->source->checkPolicy('list')) {
         return $this->modx->toJSON(array());
     }
     $this->source->setRequestProperties($this->getProperties());
     $this->source->initialize();
     $list = $this->source->getContainerList($this->getProperty('dir'));
     return $this->modx->toJSON($list);
 }
Beispiel #5
0
 public function process()
 {
     if (!$this->getSource()) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $this->source->setRequestProperties($this->getProperties());
     $this->source->initialize();
     $fields = $this->getProperties();
     if (!$this->validate($fields)) {
         return $this->failure();
     }
     $response = $this->source->renameContainer($fields['path'], $fields['name']);
     return $this->handleResponse($response);
 }
 /**
  * Test getBases with a provided file and default settings
  */
 public function testGetBasesWithProvidedFile()
 {
     $this->source->initialize();
     $bases = $this->source->getBases('assets/images/logo.png');
     $this->assertEquals('', $bases['path'], 'Index "path" does not match expected.');
     $this->assertEquals(true, $bases['pathIsRelative'], 'Index "pathIsRelative" does not match expected.');
     $this->assertEquals(MODX_BASE_PATH, $bases['pathAbsolute'], 'Index "pathAbsolute" does not match expected.');
     $this->assertEquals(MODX_BASE_PATH . 'assets/images/logo.png', $bases['pathAbsoluteWithPath'], 'Index "pathAbsoluteFull" does not match expected.');
     $this->assertEquals('assets/images/logo.png', $bases['pathRelative'], 'Index "pathRelative" does not match expected.');
     $this->assertEquals('', $bases['url'], 'Index "url" does not match expected.');
     $this->assertEquals(true, $bases['urlIsRelative'], 'Index "urlIsRelative" does not match expected.');
     $this->assertEquals('/', $bases['urlAbsolute'], 'Index "urlAbsolute" does not match expected.');
     $this->assertEquals('/assets/images/logo.png', $bases['urlAbsoluteWithPath'], 'Index "urlAbsoluteWithPath" does not match expected.');
     $this->assertEquals('assets/images/logo.png', $bases['urlRelative'], 'Index "urlRelative" does not match expected.');
 }
 /**
  * Get the source to load the paths from
  * 
  * @param int $sourceId
  * @return modMediaSource|modFileMediaSource
  */
 public function getSource($sourceId)
 {
     /** @var modMediaSource|modFileMediaSource $source */
     $this->modx->loadClass('sources.modMediaSource');
     $this->source = modMediaSource::getDefaultSource($this->modx, $sourceId, false);
     if (empty($this->source)) {
         return false;
     }
     if (!$this->source->getWorkingContext()) {
         return false;
     }
     $this->source->setRequestProperties($this->getProperties());
     $this->source->initialize();
     return $this->source;
 }
 public function process()
 {
     $tv = $_POST['tv_id'];
     $resId = $_POST['resource_id'];
     $page = $this->modx->getObject('modResource', $resId);
     $tvvalue = $page->getTVValue($tv);
     $nowTVarray = json_decode($tvvalue, true);
     if (!$this->getSource()) {
         return $this->modx->toJSON(array());
     }
     if (!$this->source->checkPolicy('list')) {
         return $this->modx->toJSON(array());
     }
     $this->source->setRequestProperties($this->getProperties());
     $this->source->initialize();
     $list = $this->source->getContainerList($this->getProperty('dir'));
     foreach ($list as $file) {
         if ('.' != $file && '..' != $file && '.DS_Store' != $file && '.htaccess' != $file && is_dir($storeFolder . $file) != true) {
             //If there is no file in TV, it was uploaded another way. Let it be in the end of the list.
             $obj['index'] = '9999';
             foreach ($nowTVarray as $key => $value) {
                 if ($key == $file['text']) {
                     $obj['index'] = $value['index'];
                 }
             }
             //Define picture size
             $path_info = pathinfo($file['url']);
             $extension = strtolower($path_info['extension']);
             if ($extension == 'jpg' || $extension == 'png' || $extension == 'gif' || $extension == 'jpeg') {
                 list($width, $height, $type, $attr) = getimagesize($file['path']);
                 $obj['width'] = $width;
                 $obj['height'] = $height;
             }
             $obj['name'] = $file['text'];
             $obj['url'] = $file['url'];
             $obj['obj'] = $file;
             $obj['ext'] = $path_info['extension'];
             $obj['size'] = filesize($file['path']);
             $result[] = $obj;
         }
     }
     foreach ($result as $key => $row) {
         $index[$key] = $row['index'];
         $name[$key] = $row['name'];
     }
     array_multisort($index, SORT_ASC, $name, SORT_ASC, $result);
     return $this->modx->toJSON($result);
 }
Beispiel #9
0
 public function process()
 {
     if (!$this->getSource()) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $this->source->setRequestProperties($this->getProperties());
     $this->source->initialize();
     $success = $this->source->createContainer($this->getProperty('name'), $this->getProperty('parent'));
     if (empty($success)) {
         $msg = '';
         $errors = $this->source->getErrors();
         foreach ($errors as $k => $msg) {
             $this->modx->error->addField($k, $msg);
         }
         return $this->failure($msg);
     }
     return $this->success();
 }
 public function process()
 {
     if (!$this->getSource()) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $allowedFileTypes = $this->getProperty('allowedFileTypes');
     if (empty($allowedFileTypes)) {
         // Prevent overriding media source configuration
         unset($this->properties['allowedFileTypes']);
     }
     $this->source->setRequestProperties($this->getProperties());
     $this->source->initialize();
     if (!$this->source->checkPolicy('list')) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $list = $this->source->getObjectsInContainer($this->getProperty('dir'));
     return $this->outputArray($list);
 }