public function process() { if (!$this->validate()) { return $this->failure(); } $this->resource->fromArray($this->getProperties()); if ($this->resource->save() === false) { return $this->failure($this->modx->lexicon('resource_err_save')); } return $this->success(); }
public function process(array $scriptProperties = array()) { $placeholders = array(); $reloadData = $this->getReloadData(); $loaded = $this->getResource(); if ($loaded !== true) { return $this->failure($loaded); } if (is_array($reloadData) && !empty($reloadData)) { $this->resource->fromArray($reloadData); } /* get context */ $this->setContext(); /* check for locked status */ $this->checkForLocks(); /* set template overrides */ if (isset($scriptProperties['template'])) { $this->resource->set('template', $scriptProperties['template']); } $this->setParent(); /* invoke OnDocFormRender event */ $this->fireOnRenderEvent(); /* check permissions */ $this->setPermissions(); /* register FC rules */ $this->resourceArray = $this->resource->toArray(); $overridden = $this->checkFormCustomizationRules($this->resource); $this->resourceArray = array_merge($this->resourceArray, $overridden); $this->resourceArray['published'] = intval($this->resourceArray['published']) == 1 ? true : false; $this->resourceArray['hidemenu'] = intval($this->resourceArray['hidemenu']) == 1 ? true : false; $this->resourceArray['isfolder'] = intval($this->resourceArray['isfolder']) == 1 ? true : false; $this->resourceArray['richtext'] = intval($this->resourceArray['richtext']) == 1 ? true : false; $this->resourceArray['searchable'] = intval($this->resourceArray['searchable']) == 1 ? true : false; $this->resourceArray['cacheable'] = intval($this->resourceArray['cacheable']) == 1 ? true : false; $this->resourceArray['deleted'] = intval($this->resourceArray['deleted']) == 1 ? true : false; $this->resourceArray['uri_override'] = intval($this->resourceArray['uri_override']) == 1 ? true : false; if (!empty($this->resourceArray['parent'])) { if ($this->parent->get('id') == $this->resourceArray['parent']) { $this->resourceArray['parent_pagetitle'] = $this->parent->get('pagetitle'); } else { $overriddenParent = $this->modx->getObject('modResource', $this->resourceArray['parent']); if ($overriddenParent) { $this->resourceArray['parent_pagetitle'] = $overriddenParent->get('pagetitle'); } } } /* get TVs */ $this->resource->set('template', $this->resourceArray['template']); $this->prepareResource(); $this->loadTVs($reloadData); $this->getPreviewUrl(); /* single-use token for reloading resource */ $this->setResourceToken(); $this->setPlaceholder('resource', $this->resource); return $placeholders; }
public function updateResource($id, $tempDir) { include_once MODX_BASE_PATH . 'assets/lib/MODxAPI/modResource.php'; @rename(MODX_BASE_PATH . 'assets/images/' . $tempDir, MODX_BASE_PATH . 'assets/images/' . $this->params['contentDir'] . '/' . $id); $doc = new \modResource($this->modx); $fields = $doc->edit($id)->toArray(); foreach ($fields as &$field) { if (is_string($field)) { $field = str_replace($tempDir, $this->params['contentDir'] . '/' . $id, $field); } } $doc->fromArray($fields)->save(false, true); }