PageRenderTime 58ms CodeModel.GetById 16ms RepoModel.GetById 1ms app.codeStats 0ms

/core/model/modx/processors/security/documentgroup/updatedocumentsin.php

http://github.com/modxcms/revolution
PHP | 51 lines | 22 code | 9 blank | 20 comment | 10 complexity | 14ecd9d4ad6f472bfe557dd7f6928de5 MD5 | raw file
Possible License(s): GPL-2.0, Apache-2.0, BSD-3-Clause, LGPL-2.1
  1. <?php
  2. /*
  3. * This file is part of MODX Revolution.
  4. *
  5. * Copyright (c) MODX, LLC. All Rights Reserved.
  6. *
  7. * For complete copyright and license information, see the COPYRIGHT and LICENSE
  8. * files found in the top-level directory of this distribution.
  9. */
  10. /**
  11. * Update documents in a resource group
  12. *
  13. *
  14. * @package modx
  15. * @subpackage processors.security.documentgroup
  16. */
  17. if (!$modx->hasPermission('access_permissions')) return $modx->error->failure($modx->lexicon('permission_denied'));
  18. $modx->lexicon->load('resource','access');
  19. /* format data */
  20. $scriptProperties['resource'] = substr(strrchr($scriptProperties['resource'],'_'),1);
  21. $scriptProperties['resource_group'] = substr(strrchr($scriptProperties['resource_group'],'_'),1);
  22. if (empty($scriptProperties['resource']) || empty($scriptProperties['resource_group'])) return $modx->error->failure('Invalid data.');
  23. /* get resource */
  24. $resource = $modx->getObject('modResource',$scriptProperties['resource']);
  25. if ($resource == null) return $modx->error->failure($modx->lexicon('resource_err_nfs',array('id' => $scriptProperties['resource'])));
  26. /* get resource group */
  27. $resourceGroup = $modx->getObject('modResourceGroup',$scriptProperties['resource_group']);
  28. if ($resourceGroup == null) return $modx->error->failure($modx->lexicon('resource_group_err_ns'));
  29. /* check to make sure already isnt in group */
  30. $alreadyExists = $modx->getObject('modResourceGroupResource',array(
  31. 'document' => $resource->get('id'),
  32. 'document_group' => $resourceGroup->get('id'),
  33. ));
  34. if ($alreadyExists) return $modx->error->failure($modx->lexicon('resource_group_resource_err_ae'));
  35. /* create resource group -> resource pairing */
  36. $resourceGroupResource = $modx->newObject('modResourceGroupResource');
  37. $resourceGroupResource->set('document',$resource->get('id'));
  38. $resourceGroupResource->set('document_group',$resourceGroup->get('id'));
  39. if ($resourceGroupResource->save() == false) {
  40. return $modx->error->failure($modx->lexicon('resource_group_resource_err_create'));
  41. }
  42. return $modx->error->success('',$resourceGroupResource);