Ejemplo n.º 1
0
 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();
 }
Ejemplo n.º 2
0
 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();
 }
Ejemplo n.º 3
0
 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);
     }
 }
Ejemplo n.º 4
0
 public function unsubscribe($cnvID)
 {
     $this->loadConversation($cnvID);
     $this->conversation->unsubscribeUser($this->user);
     $o = new EditResponse();
     $o->setAdditionalDataAttribute('subscribed', false);
     $o->outputJSON();
 }
Ejemplo n.º 5
0
 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);
 }
Ejemplo n.º 6
0
 public function update_attribute($ptID = false)
 {
     $this->setupPageType($ptID);
     $sr = new EditResponse();
     if (Loader::helper('validation/token')->validate()) {
         $ak = CollectionKey::getByID(Loader::helper('security')->sanitizeInt($_REQUEST['name']));
         if (is_object($ak)) {
             $ak->saveAttributeForm($this->defaultPage);
             $val = $this->defaultPage->getAttributeValueObject($ak);
         }
     } else {
         $this->error->add(Loader::helper('validation/token')->getErrorMessage());
     }
     if ($this->error->has()) {
         $sr->setError($this->error);
     } else {
         $sr->setMessage(t('Attribute saved successfully.'));
         $sr->setAdditionalDataAttribute('value', $val->getValue('displaySanitized', 'display'));
     }
     $sr->outputJSON();
 }
Ejemplo n.º 7
0
 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();
 }