public function add() { $filesystem = new Filesystem(); if ($this->request->request->has('currentFolder')) { $node = Node::getByID($this->request->request->get('currentFolder')); if (is_object($node) && $node instanceof FileFolder) { $folder = $node; } } if (!isset($folder)) { $folder = $filesystem->getRootFolder(); } $permissions = new \Permissions($folder); $error = $this->app->make('error'); $response = new EditResponse(); $response->setError($error); if (!$permissions->canAddTreeSubNode()) { $error->add(t('You do not have permission to add a folder here.')); } if (!$error->has()) { $folder = $filesystem->addFolder($folder, $this->request->request->get('folderName')); $response->setMessage(t('Folder added.')); $response->setAdditionalDataAttribute('folder', $folder); } $response->outputJSON(); }
public function remove_tree_node() { $node = $this->getNode(); $tree = $node->getTreeObject(); $treeNodeID = $node->getTreeNodeID(); $error = \Core::make('error'); if (!\Core::make('token')->validate("remove_tree_node")) { $error->add(\Core::make('token')->getErrorMessage()); } if (!is_object($node)) { $error->add(t('Invalid node.')); } if ($node->getTreeNodeParentID() == 0) { $error->add(t('You may not remove the top level node.')); } if (!$error->has()) { $response = new EditResponse(); $response->setMessage(t('%s deleted successfully.', $node->getTreeNodeDisplayName())); $response->setAdditionalDataAttribute('treeNodeID', $treeNodeID); $node->delete(); return new JsonResponse($response); } else { return new JsonResponse($error); } }
public function unsubscribe($cnvID) { $this->loadConversation($cnvID); $this->conversation->unsubscribeUser($this->user); $o = new EditResponse(); $o->setAdditionalDataAttribute('subscribed', false); $o->outputJSON(); }
public function getJSONObject() { $o = parent::getBaseJSONObject(); foreach ($this->files as $file) { $o->files[] = $file->getJSONObject(); } return $o; }
public function clear_attribute($ptID = false) { $this->setupPageType($ptID); $sr = new EditResponse(); if (Loader::helper('validation/token')->validate()) { $ak = CollectionKey::getByID(Loader::helper('security')->sanitizeInt($_REQUEST['akID'])); if (is_object($ak)) { $this->defaultPage->clearAttribute($ak); } } else { $this->error->add(Loader::helper('validation/token')->getErrorMessage()); } if ($this->error->has()) { $sr->setError($this->error); } else { $sr->setMessage(t('Attribute cleared successfully.')); } $sr->outputJSON(); }
public function getJSONObject() { $o = parent::getBaseJSONObject(); foreach ($this->users as $user) { $uo = new stdClass(); $uo->uID = $user->getUserID(); $uo->displayName = $user->getUserDisplayName(); $o->users[] = $uo; } return $o; }
public function execute() { $message = new EditResponse(); list($sourceNodes, $destNode) = $this->getNodes(); if (is_array($sourceNodes)) { foreach ($sourceNodes as $sourceNode) { if ($_REQUEST['copyNodes']) { $sourceNode->duplicate($destNode); $message->setMessage(t('Item copied successfully.')); } else { $sourceNode->move($destNode); $message->setMessage(t('Item moved successfully.')); } } } if (isset($_POST['treeNodeID'])) { $destNode->saveChildOrder($_POST['treeNodeID']); } $message->setAdditionalDataAttribute('destination', $destNode->getTreeNodeJSON()); return new JsonResponse($message); }
public function getJSONObject() { $o = parent::getBaseJSONObject(); if ($this->cID > 0) { $o->cID = $this->cID; } else { if (count($this->cIDs) > 0) { foreach ($this->cIDs as $cID) { $o->cID[] = $cID; } } } return $o; }
public function view() { // we also perform the "does the user need to buy it?" query here to save some requests $r = new EditResponse(); $r->setAdditionalDataAttribute('isConnected', $this->marketplace->isConnected()); $r->setAdditionalDataAttribute('connectionError', $this->marketplace->getConnectionError()); if (is_object($this->item)) { $r->setAdditionalDataAttribute('purchaseRequired', $this->item->purchaseRequired()); $r->setAdditionalDataAttribute('remoteURL', $this->item->getRemoteURL()); $r->setAdditionalDataAttribute('localURL', $this->item->getLocalURL()); if (!$this->item->purchaseRequired()) { $this->item->enableFreeLicense(); } } $r->outputJSON(); }
public function getJSONObject() { $o = parent::getBaseJSONObject(); if ($this->cID > 0) { $o->cID = $this->cID; } elseif (count($this->cIDs) > 0) { foreach ($this->cIDs as $cID) { $o->cID[] = $cID; } } if (isset($o->cID)) { if (!is_array($o->cID)) { $o->pages[] = Page::getByID($o->cID)->getJSONObject(); } else { foreach ($o->cID as $cID) { $o->pages[] = Page::getByID($cID)->getJSONObject(); } } } return $o; }
public function getJSONObject() { $o = parent::getBaseJSONObject(); $o->result = $this->result->getJSONObject(); return $o; }
public function undelete_message() { $e = Core::make('error'); $message = ConversationMessage::getByID($this->post('cnvMessageID')); if (!is_object($message)) { $e->add(t('Invalid message')); } else { $mp = new \Permissions($message); if (!$mp->canDeleteConversationMessage()) { $e->add(t('You do not have permission to restore this message.')); } } $er = new EditResponse($e); if (!$e->has()) { $message->restore(); $er->setMessage(t('Message restored.')); } $er->outputJSON(); }
public function add_items_to_batch() { if (!$this->token->validate('add_items_to_batch')) { $this->error->add($this->token->getErrorMessage()); } $exporters = \Core::make('migration/manager/exporters'); $r = $this->entityManager->getRepository('\\PortlandLabs\\Concrete5\\MigrationTool\\Entity\\Export\\Batch'); $batch = $r->findOneById($this->request->request->get('batch_id')); if (!is_object($batch)) { $this->error->add(t('Invalid batch.')); } $selectedItemType = false; if ($this->request->request->has('item_type') && $this->request->request->get('item_type')) { $selectedItemType = $exporters->driver($this->request->request->get('item_type')); } if (!is_object($selectedItemType)) { $this->error->add(t('Invalid item type.')); } if (!$this->error->has()) { $values = $this->request->request->get('id'); $exportItems = $selectedItemType->getItemsFromRequest($values[$selectedItemType->getHandle()]); $collection = $batch->getObjectCollection($selectedItemType->getHandle()); if (!is_object($collection)) { $collection = new ObjectCollection(); $collection->setType($selectedItemType->getHandle()); $batch->getObjectCollections()->add($collection); } foreach ($exportItems as $item) { if (!$collection->contains($item)) { $item->setCollection($collection); $collection->getItems()->add($item); } } $this->entityManager->persist($batch); $this->entityManager->flush(); $response = new JsonResponse($exportItems); return $response; } $r = new EditResponse(); $r->setError($this->error); $r->outputJSON(); }
public function export_translations($localeCode) { $result = new EditResponse(); try { if (!Core::make('token')->validate('export_translations')) { throw new \Exception(Core::make('token')->getErrorMessage()); } $section = Section::getByLocale($localeCode); if (is_object($section) && !$section->isError()) { if ($section->getLocale() == Config::get('concrete.multilingual.default_source_locale')) { $section = null; } } else { $section = null; } if (!isset($section)) { throw new \Exception(t('Invalid language identifier')); } $translations = $section->getSectionInterfaceTranslations(); $extractor = Core::make('multilingual/extractor'); $extractor->mergeTranslationsWithSectionFile($section, $translations); $extractor->saveSectionTranslationsToFile($section, $translations); \Localization::clearCache(); $result->setAdditionalDataAttribute('newToken', Core::make('token')->generate('export_translations')); $result->message = t('The translations have been exported to file and will be used by the website.'); } catch (\Exception $x) { $result->setError($x); } $result->outputJSON(); }