migrate therinaldos.com data
Build & Deploy to DigitalOcean Space / build (push) Failing after 2m38s

This commit is contained in:
2024-05-05 15:50:45 -04:00
commit ef1ff240d4
23182 changed files with 3801898 additions and 0 deletions
@@ -0,0 +1,63 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2021 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCP\Files\Template;
use OCP\EventDispatcher\Event;
use OCP\Files\File;
/**
* @since 21.0.0
*/
class FileCreatedFromTemplateEvent extends Event {
private $template;
private $target;
/**
* @param File|null $template
* @param File $target
* @since 21.0.0
*/
public function __construct(?File $template, File $target) {
$this->template = $template;
$this->target = $target;
}
/**
* @return File|null
* @since 21.0.0
*/
public function getTemplate(): ?File {
return $this->template;
}
/**
* @return File
* @since 21.0.0
*/
public function getTarget(): File {
return $this->target;
}
}
@@ -0,0 +1,50 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2021 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCP\Files\Template;
use OCP\Files\File;
/**
* @since 21.0.0
*/
interface ICustomTemplateProvider {
/**
* Return a list of additional templates that the template provider is offering
*
* @return File[]
* @since 21.0.0
*/
public function getCustomTemplates(string $mimetype): array;
/**
* Return the file for a given template id
*
* @param string $template identifier of the template
* @return File
* @since 21.0.0
*/
public function getCustomTemplate(string $template): File;
}
@@ -0,0 +1,93 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2021 Julius Härtl <jus@bitgrid.net>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCP\Files\Template;
use OCP\Files\GenericFileException;
/**
* @since 21.0.0
*/
interface ITemplateManager {
/**
* Register a template type support
*
* @param callable(): TemplateFileCreator $callback A callback which returns the TemplateFileCreator instance to register
* @since 21.0.0
*/
public function registerTemplateFileCreator(callable $callback): void;
/**
* Get a list of available file creators
*
* @return array
* @since 21.0.0
*/
public function listCreators(): array;
/**
* Get a list of available file creators and their offered templates
*
* @return array
* @since 21.0.0
*/
public function listTemplates(): array;
/**
* @return bool
* @since 21.0.0
*/
public function hasTemplateDirectory(): bool;
/**
* @param string $path
* @return void
* @since 21.0.0
*/
public function setTemplatePath(string $path): void;
/**
* @return string
* @since 21.0.0
*/
public function getTemplatePath(): string;
/**
* @param string|null $path
* @param string|null $userId
* @since 21.0.0
*/
public function initializeTemplateDirectory(string $path = null, string $userId = null, $copyTemplates = true): string;
/**
* @param string $filePath
* @param string $templateId
* @return array
* @throws GenericFileException
* @since 21.0.0
*/
public function createFromTemplate(string $filePath, string $templateId = '', string $templateType = 'user'): array;
}
@@ -0,0 +1,87 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2021 Julius Härtl <jus@bitgrid.net>
*
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCP\Files\Template;
use OCP\Files\File;
/**
* @since 21.0.0
*/
final class Template implements \JsonSerializable {
/** @var string */
private $templateType;
/** @var string */
private $templateId;
/** @var File */
private $file;
/** @var bool */
private $hasPreview = false;
/** @var string|null */
private $previewUrl = null;
/**
* @since 21.0.0
*/
public function __construct(string $templateType, string $templateId, File $file) {
$this->templateType = $templateType;
$this->templateId = $templateId;
$this->file = $file;
}
/**
* @since 21.0.0
*/
public function setCustomPreviewUrl(string $previewUrl): void {
$this->previewUrl = $previewUrl;
}
/**
* @since 21.0.0
*/
public function setHasPreview(bool $hasPreview): void {
$this->hasPreview = $hasPreview;
}
/**
* @since 21.0.0
*/
public function jsonSerialize(): array {
return [
'templateType' => $this->templateType,
'templateId' => $this->templateId,
'basename' => $this->file->getName(),
'etag' => $this->file->getEtag(),
'fileid' => $this->file->getId(),
'filename' => $this->templateId,
'lastmod' => $this->file->getMTime(),
'mime' => $this->file->getMimetype(),
'size' => $this->file->getSize(),
'type' => $this->file->getType(),
'hasPreview' => $this->hasPreview,
'previewUrl' => $this->previewUrl
];
}
}
@@ -0,0 +1,144 @@
<?php
declare(strict_types=1);
/**
* @copyright Copyright (c) 2021 Julius Härtl <jus@bitgrid.net>
*
* @author John Molakvoæ <skjnldsv@protonmail.com>
* @author Julius Härtl <jus@bitgrid.net>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCP\Files\Template;
/**
* @since 21.0.0
*/
final class TemplateFileCreator implements \JsonSerializable {
protected $appId;
/** @var string[] $mimetypes */
protected $mimetypes = [];
protected $actionName;
protected $fileExtension;
/** @var ?string $iconClass */
protected $iconClass;
/** @var ?float $ratio */
protected $ratio = null;
protected $order = 100;
/**
* @since 27.0.0
* @deprecated 28.0.0
*/
protected string $actionLabel = '';
/**
* @since 21.0.0
*/
public function __construct(
string $appId, string $actionName, string $fileExtension
) {
$this->appId = $appId;
$this->actionName = $actionName;
$this->fileExtension = $fileExtension;
}
/**
* @since 21.0.0
*/
public function getAppId(): string {
return $this->appId;
}
/**
* @since 21.0.0
*/
public function setIconClass(string $iconClass): TemplateFileCreator {
$this->iconClass = $iconClass;
return $this;
}
/**
* @since 21.0.0
*/
public function addMimetype(string $mimetype): TemplateFileCreator {
$this->mimetypes[] = $mimetype;
return $this;
}
/**
* @since 21.0.0
*/
public function getMimetypes(): array {
return $this->mimetypes;
}
/**
* @since 21.0.0
*/
public function setRatio(float $ratio): TemplateFileCreator {
$this->ratio = $ratio;
return $this;
}
/**
* @param int $order order in which the create action shall be listed
* @since 21.0.0
*/
public function setOrder(int $order): TemplateFileCreator {
$this->order = $order;
return $this;
}
/**
* @since 21.0.0
*/
public function getOrder(): int {
return $this->order;
}
/**
* @since 27.0.0
*/
public function setActionLabel(string $actionLabel): TemplateFileCreator {
$this->actionLabel = $actionLabel;
return $this;
}
/**
* @since 27.0.0
*/
public function getActionLabel(): string {
return $this->actionLabel;
}
/**
* @since 21.0.0
* @return array{app: string, label: string, extension: string, iconClass: ?string, mimetypes: string[], ratio: ?float, actionLabel: string}
*/
public function jsonSerialize(): array {
return [
'app' => $this->appId,
'label' => $this->actionName,
'extension' => $this->fileExtension,
'iconClass' => $this->iconClass,
'mimetypes' => $this->mimetypes,
'ratio' => $this->ratio,
'actionLabel' => $this->actionLabel,
];
}
}