public static function create($args) { $uid = self::preDispatch(); $view = new \OC\Files\View('/' . $uid . '/files'); $dir = \OCP\Config::getUserValue(\OCP\User::getUser(), 'documents', 'save_path', '/'); $path = Helper::getNewFileName($view, $dir . '/New Document.odt'); $content = base64_decode(self::ODT_TEMPLATE); if (class_exists('\\OC\\Files\\Type\\TemplateManager')) { $manager = \OC_Helper::getFileTemplateManager(); $templateContent = $manager->getTemplate('application/vnd.oasis.opendocument.text'); if ($templateContent) { $content = $templateContent; } } $view->file_put_contents($path, $content); }
/** * @NoAdminRequired */ public function create() { $view = new View('/' . $this->uid . '/files'); $dir = $this->settings->getUserValue($this->uid, $this->appName, 'save_path', '/'); if (!$view->is_dir($dir)) { $dir = '/'; } $path = Helper::getNewFileName($view, $dir . '/New Document.odt'); $content = ''; if (class_exists('\\OC\\Files\\Type\\TemplateManager')) { $manager = \OC_Helper::getFileTemplateManager(); $content = $manager->getTemplate(Storage::MIMETYPE_LIBREOFFICE_WORDPROCESSOR); } if (!$content) { $content = file_get_contents(dirname(__DIR__) . self::ODT_TEMPLATE_PATH); } if ($content && $view->file_put_contents($path, $content)) { $info = $view->getFileInfo($path); $response = array('status' => 'success', 'fileid' => $info['fileid']); } else { $response = array('status' => 'error', 'message' => (string) $this->l10n->t('Can\'t create document')); } return $response; }
public static function create($args) { $uid = self::preDispatch(); $view = new \OC\Files\View('/' . $uid . '/files'); $dir = \OCP\Config::getUserValue(\OCP\User::getUser(), 'documents', 'save_path', '/'); if (!$view->is_dir($dir)) { $dir = '/'; } $path = Helper::getNewFileName($view, $dir . '/New Document.odt'); $content = base64_decode(self::ODT_TEMPLATE); if (class_exists('\\OC\\Files\\Type\\TemplateManager')) { $manager = \OC_Helper::getFileTemplateManager(); $templateContent = $manager->getTemplate(Storage::MIMETYPE_LIBREOFFICE_WORDPROCESSOR); if ($templateContent) { $content = $templateContent; } } if ($view->file_put_contents($path, $content)) { $info = $view->getFileInfo($path); \OCP\JSON::success(array('fileid' => $info['fileid'])); } else { \OCP\JSON::error(array('message' => Config::getL10n()->t('Can\'t create document'))); } }
OCP\JSON::error($result); return; } if (!\OC\Files\Filesystem::file_exists($dir . '/')) { $result['data'] = array('message' => (string) $l10n->t('The target folder has been moved or deleted.'), 'code' => 'targetnotfound'); OCP\JSON::error($result); exit; } $target = $dir . '/' . $fileName; if (\OC\Files\Filesystem::file_exists($target)) { $result['data'] = array('message' => (string) $l10n->t('The name %s is already used in the folder %s. Please choose a different name.', array($fileName, $dir))); OCP\JSON::error($result); exit; } $success = false; $templateManager = OC_Helper::getFileTemplateManager(); $mimeType = OC_Helper::getMimetypeDetector()->detectPath($target); $content = $templateManager->getTemplate($mimeType); try { if ($content) { $success = \OC\Files\Filesystem::file_put_contents($target, $content); } else { $success = \OC\Files\Filesystem::touch($target); } } catch (\Exception $e) { $result = ['success' => false, 'data' => ['message' => $e->getMessage()]]; OCP\JSON::error($result); exit; } if ($success) { $meta = \OC\Files\Filesystem::getFileInfo($target);
/** * @NoAdminRequired */ public function create() { $mimetype = $this->request->post['mimetype']; $view = new View('/' . $this->uid . '/files'); $dir = $this->settings->getUserValue($this->uid, $this->appName, 'save_path', '/'); if (!$view->is_dir($dir)) { $dir = '/'; } $basename = $this->l10n->t('New Document.odt'); switch ($mimetype) { case 'application/vnd.oasis.opendocument.spreadsheet': $basename = $this->l10n->t('New Spreadsheet.ods'); break; case 'application/vnd.oasis.opendocument.presentation': $basename = $this->l10n->t('New Presentation.odp'); break; default: // to be safe $mimetype = 'application/vnd.oasis.opendocument.text'; break; } $path = Helper::getNewFileName($view, $dir . '/' . $basename); $content = ''; if (class_exists('\\OC\\Files\\Type\\TemplateManager')) { $manager = \OC_Helper::getFileTemplateManager(); $content = $manager->getTemplate($mimetype); } if (!$content) { $content = file_get_contents(dirname(__DIR__) . self::ODT_TEMPLATE_PATH); } if ($content && $view->file_put_contents($path, $content)) { $info = $view->getFileInfo($path); $response = array('status' => 'success', 'fileid' => $info['fileid']); } else { $response = array('status' => 'error', 'message' => (string) $this->l10n->t('Can\'t create document')); } return $response; }
/** * @NoAdminRequired */ public function create() { $mimetype = $this->request->post['mimetype']; $filename = $this->request->post['filename']; $dir = $this->request->post['dir']; $view = new View('/' . $this->uid . '/files'); if (!$dir) { $dir = '/'; } $basename = $this->l10n->t('New Document.odt'); switch ($mimetype) { case 'application/vnd.oasis.opendocument.spreadsheet': $basename = $this->l10n->t('New Spreadsheet.ods'); break; case 'application/vnd.oasis.opendocument.presentation': $basename = $this->l10n->t('New Presentation.odp'); break; default: // to be safe $mimetype = 'application/vnd.oasis.opendocument.text'; break; } if (!$filename) { $path = Helper::getNewFileName($view, $dir . '/' . $basename); } else { $path = $dir . '/' . $filename; } $content = ''; if (class_exists('\\OC\\Files\\Type\\TemplateManager')) { $manager = \OC_Helper::getFileTemplateManager(); $content = $manager->getTemplate($mimetype); } if (!$content) { $content = file_get_contents(dirname(__DIR__) . self::ODT_TEMPLATE_PATH); } $discovery_parsed = null; try { $discovery = $this->getDiscovery(); $loadEntities = libxml_disable_entity_loader(true); $discovery_parsed = simplexml_load_string($discovery); libxml_disable_entity_loader($loadEntities); if ($discovery_parsed === false) { $this->cache->remove('discovery.xml'); $wopiRemote = $this->appConfig->getAppValue('wopi_url'); return array('status' => 'error', 'message' => $this->l10n->t('Collabora Online: discovery.xml from "%s" is not a well-formed XML string.', array($wopiRemote)), 'hint' => $this->l10n->t('Please contact the "%s" administrator.', array($wopiRemote))); } } catch (ResponseException $e) { return array('status' => 'error', 'message' => $e->getMessage(), 'hint' => $e->getHint()); } if ($content && $view->file_put_contents($path, $content)) { $info = $view->getFileInfo($path); $ret = $this->getWopiSrcUrl($discovery_parsed, $mimetype); $response = array('status' => 'success', 'fileid' => $info['fileid'], 'urlsrc' => $ret['urlsrc'], 'action' => $ret['action'], 'lolang' => $this->settings->getUserValue($this->uid, 'core', 'lang', 'en'), 'data' => \OCA\Files\Helper::formatFileInfo($info)); } else { $response = array('status' => 'error', 'message' => (string) $this->l10n->t('Can\'t create document')); } return $response; }