当前位置: 首页>>代码示例>>PHP>>正文


PHP modMediaSource::checkPolicy方法代码示例

本文整理汇总了PHP中modMediaSource::checkPolicy方法的典型用法代码示例。如果您正苦于以下问题:PHP modMediaSource::checkPolicy方法的具体用法?PHP modMediaSource::checkPolicy怎么用?PHP modMediaSource::checkPolicy使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在modMediaSource的用法示例。


在下文中一共展示了modMediaSource::checkPolicy方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: process

 public function process()
 {
     // Even though we're not using media sources, it seems like the
     // easiest way to check permissions (and waste time/effort/memory)
     $this->source->initialize();
     if (!$this->source->checkPolicy('create')) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     // Prepare the upload path and check it exists
     $destination = $this->modx->getOption('core_path') . 'packages/';
     if (!is_dir($destination)) {
         return $this->failure("Packages directory doesnt appear to exist!");
         //@TODO Lexiconize
     }
     // Grab the file
     $file = array_shift($this->getProperty('files'));
     // Check MIME type of file
     if (!in_array(strtolower($file['type']), array('application/zip', 'application/x-zip-compressed', 'application/x-zip', 'application/octet-stream'))) {
         return $this->failure("1 This file does not appear to be a transport package");
         //@TODO Lexiconize
     }
     // Check valid name of file
     if (!preg_match("/.+\\.transport\\.zip\$/i", $file['name'])) {
         return $this->failure("2 This file [{$file['name']}] does not appear to be a transport package");
         //@TODO Lexiconize
     }
     // Return response
     if (move_uploaded_file($file['tmp_name'], $destination . $file['name'])) {
         return $this->success();
     } else {
         return $this->failure($this->modx->lexicon('unknown_error'));
     }
 }
开发者ID:ChrstnMgcn,项目名称:revolution,代码行数:33,代码来源:upload.class.php

示例2: process

 public function process()
 {
     $sources = $this->getProperty('sources');
     if (empty($sources)) {
         return $this->failure($this->modx->lexicon('source_err_ns'));
     }
     $sourceIds = explode(',', $sources);
     foreach ($sourceIds as $sourceId) {
         /** @var modMediaSource $source */
         $this->source = $this->modx->getObject('sources.modMediaSource', $sourceId);
         if (empty($this->source)) {
             continue;
         }
         if ($this->source->get('id') == 1) {
             continue;
         }
         if (!$this->source->checkPolicy('remove')) {
             continue;
         }
         if ($this->source->remove() == false) {
             $this->modx->log(modX::LOG_LEVEL_ERROR, $this->modx->lexicon('source_err_remove'));
             continue;
         }
         $this->logManagerAction();
     }
     return $this->success();
 }
开发者ID:ChrstnMgcn,项目名称:revolution,代码行数:27,代码来源:removemultiple.class.php

示例3: process

 public function process()
 {
     /* get base paths and sanitize incoming paths */
     $directory = rawurldecode($this->getProperty('directory', ''));
     $directory = ltrim(strip_tags(str_replace(array('../', './'), '', $directory)), '/');
     $name = $this->getProperty('name');
     $name = ltrim(strip_tags(str_replace(array('../', './'), '', $name)), '/');
     $loaded = $this->getSource();
     if (!$this->source instanceof modMediaSource) {
         return $loaded;
     }
     if (!$this->source->checkPolicy('create')) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $path = $this->source->createObject($directory, $name, $this->getProperty('content'));
     if (empty($path)) {
         $msg = '';
         $errors = $this->source->getErrors();
         foreach ($errors as $k => $msg) {
             $this->addFieldError($k, $msg);
         }
         return $this->failure($msg);
     }
     return $this->success('', array('file' => $directory . ltrim($name, '/')));
 }
开发者ID:ChrstnMgcn,项目名称:revolution,代码行数:25,代码来源:create.class.php

示例4: process

 public function process()
 {
     if (!$this->getSource()) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $this->source->setRequestProperties($this->getProperties());
     $this->source->initialize();
     if (!$this->source->checkPolicy('create')) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $this->ensureSavePathExists($_POST['path']);
     $success = $this->source->uploadObjectsToContainer($_POST['path'], $_FILES);
     /* Check for upload errors
      * Remove 'directory already exists' error
      */
     $errors = array();
     if (empty($success)) {
         $msg = '';
         $errors = $this->source->getErrors();
         if (isset($errors['name'])) {
             unset($errors['name']);
         }
     }
     if (count($errors) > 0) {
         foreach ($errors as $k => $msg) {
             $this->modx->error->addField($k, $msg);
         }
         return $this->failure($msg);
     }
     return $this->success();
 }
开发者ID:neonoviy,项目名称:CET_AssetsTV,代码行数:31,代码来源:upload.class.php

示例5: process

 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);
 }
开发者ID:ChrstnMgcn,项目名称:revolution,代码行数:13,代码来源:getlist.class.php

示例6: process

 public function process()
 {
     if (!$this->getSource()) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $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);
 }
开发者ID:e-gob,项目名称:apps.gob.cl,代码行数:13,代码来源:getfiles.class.php

示例7: process

 public function process()
 {
     $source = $this->getSource();
     if ($source !== true) {
         return $source;
     }
     if (!$this->source->checkPolicy('view')) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     if ($this->getProperty('download', false)) {
         return $this->download();
     } else {
         return $this->getObjectUrl();
     }
 }
开发者ID:ChrstnMgcn,项目名称:revolution,代码行数:15,代码来源:download.class.php

示例8: process

 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);
 }
开发者ID:neonoviy,项目名称:CET_AssetsTV,代码行数:48,代码来源:getlist.class.php

示例9: process

 public function process()
 {
     if (!$this->getSource()) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $this->source->setRequestProperties($this->getProperties());
     $this->source->initialize();
     if (!$this->source->checkPolicy('save')) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $fields = $this->getProperties();
     if (!$this->validate($fields)) {
         return $this->failure();
     }
     $response = $this->source->renameContainer($fields['path'], $fields['name']);
     return $this->handleResponse($response);
 }
开发者ID:ChrstnMgcn,项目名称:revolution,代码行数:17,代码来源:rename.class.php

示例10: process

 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);
 }
开发者ID:ChrstnMgcn,项目名称:revolution,代码行数:18,代码来源:getfiles.class.php

示例11: process

 public function process()
 {
     $file = $this->getProperty('file');
     if (empty($file)) {
         return $this->modx->error->failure($this->modx->lexicon('file_err_ns'));
     }
     $loaded = $this->getSource();
     if (!$this->source instanceof modMediaSource) {
         return $loaded;
     }
     if (!$this->source->checkPolicy('remove')) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $success = $this->source->removeObject($file);
     if (empty($success)) {
         $errors = $this->source->getErrors();
         $msg = implode("\n", $errors);
         return $this->failure($msg);
     }
     return $this->success();
 }
开发者ID:ChrstnMgcn,项目名称:revolution,代码行数:21,代码来源:remove.class.php

示例12: process

 public function process()
 {
     /* get base paths and sanitize incoming paths */
     $filePath = rawurldecode($this->getProperty('file', ''));
     $loaded = $this->getSource();
     if (!$this->source instanceof modMediaSource) {
         return $loaded;
     }
     if (!$this->source->checkPolicy('save')) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $path = $this->source->updateObject($filePath, $this->getProperty('content'));
     if (empty($path)) {
         $msg = '';
         $errors = $this->source->getErrors();
         foreach ($errors as $k => $msg) {
             $this->addFieldError($k, $msg);
         }
         return $this->failure($msg);
     }
     return $this->success('', array('file' => $path));
 }
开发者ID:ChrstnMgcn,项目名称:revolution,代码行数:22,代码来源:update.class.php

示例13: process

 public function process()
 {
     /* format filename */
     $file = rawurldecode($this->getProperty('file', ''));
     $loaded = $this->getSource();
     if ($loaded !== true) {
         return $loaded;
     }
     if (!$this->source->checkPolicy('delete')) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $fileArray = $this->source->getObjectContents($file);
     if (empty($fileArray)) {
         $msg = '';
         $errors = $this->source->getErrors();
         foreach ($errors as $k => $msg) {
             $this->addFieldError($k, $msg);
         }
         return $this->failure($msg);
     }
     return $this->success('', $fileArray);
 }
开发者ID:ChrstnMgcn,项目名称:revolution,代码行数:22,代码来源:get.class.php

示例14: process

 public function process()
 {
     $file = $this->getProperty('file');
     if (empty($file)) {
         return $this->modx->error->failure($this->modx->lexicon('file_err_ns'));
     }
     $loaded = $this->getSource();
     if (!$this->source instanceof modMediaSource) {
         return $loaded;
     }
     if (!$this->source->checkPolicy('remove')) {
         return $this->failure($this->modx->lexicon('permission_denied'));
     }
     $success = $this->source->removeObject($file);
     if (empty($success)) {
         $msg = '';
         $errors = $this->source->getErrors();
         foreach ($errors as $k => $msg) {
             $this->addFieldError($k, $msg);
         }
         return $this->failure();
     }
     return $this->success();
 }
开发者ID:e-gob,项目名称:apps.gob.cl,代码行数:24,代码来源:remove.class.php


注:本文中的modMediaSource::checkPolicy方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。