Added markdown form

This commit is contained in:
Eldad Fux
2020-04-24 20:09:09 +03:00
parent 17347440d1
commit e3104cd84c
4 changed files with 82 additions and 38 deletions
@@ -241,6 +241,7 @@
<option value="email">Email</option>
<option value="url">URL</option>
<option value="ip">IP</option>
<option value="markdown">Markdown</option>
<option value="document">Document</option>
</optgroup>
</select>
@@ -367,6 +368,7 @@
<option value="email">Email</option>
<option value="url">URL</option>
<option value="ip">IP</option>
<option value="markdown">Markdown</option>
<option value="document">Document</option>
</optgroup>
</select>
@@ -0,0 +1,7 @@
<?php
$key = $this->getParam('key', '');
$required = $this->getParam('required', '');
$namespace = $this->getParam('namespace', '');
?>
<textarea type="text" name="<?php echo $this->escape($key); ?>" data-forms-pell data-ls-bind="{{<?php echo $this->escape($namespace); ?>}}"<?php if($required): ?> required<?php endif; ?>></textarea>
+30 -11
View File
@@ -57,7 +57,7 @@ services:
depends_on:
- mariadb
- redis
- smtp
# - smtp
- clamav
- influxdb
- telegraf
@@ -99,14 +99,22 @@ services:
- MYSQL_PASSWORD=password
command: 'mysqld --innodb-flush-method=fsync'
smtp:
image: appwrite/smtp:1.0.1
maildev:
image: djfarrelly/maildev
restart: unless-stopped
ports:
- '1080:80'
networks:
- appwrite
environment:
- MAILNAME=appwrite
- RELAY_NETWORKS=:192.168.0.0/24:10.0.0.0/16
# smtp:
# image: appwrite/smtp:1.0.1
# restart: unless-stopped
# networks:
# - appwrite
# environment:
# - MAILNAME=appwrite
# - RELAY_NETWORKS=:192.168.0.0/24:10.0.0.0/16
redis:
image: redis:5.0
@@ -161,13 +169,23 @@ services:
# - RESQUE_WEB_HTTP_BASIC_AUTH_USER=user
# - RESQUE_WEB_HTTP_BASIC_AUTH_PASSWORD=password
maildev:
image: djfarrelly/maildev
chronograf:
image: chronograf:1.5
restart: unless-stopped
ports:
- '1080:80'
networks:
- appwrite
- appwrite
volumes:
- appwrite-chronograf:/var/lib/chronograf
ports:
- "8888:8888"
environment:
- INFLUXDB_URL=http://influxdb:8086
- KAPACITOR_URL=http://kapacitor:9092
- AUTH_DURATION=48h
- TOKEN_SECRET=duperduper5674829!jwt
- GH_CLIENT_ID=d86f7145a41eacfc52cc
- GH_CLIENT_SECRET=9e0081062367a2134e7f2ea95ba1a32d08b6c8ab
- GH_ORGS=appwrite
networks:
gateway:
@@ -180,4 +198,5 @@ volumes:
appwrite-uploads:
appwrite-certificates:
appwrite-influxdb:
appwrite-chronograf:
appwrite-config:
+43 -27
View File
@@ -8,6 +8,21 @@ use Utopia\Validator;
class Structure extends Validator
{
const RULE_TYPE_ID = 'id';
const RULE_TYPE_PERMISSIONS = 'permissions';
const RULE_TYPE_KEY = 'key';
const RULE_TYPE_TEXT = 'text';
const RULE_TYPE_MARKDOWN = 'markdown';
const RULE_TYPE_NUMERIC = 'numeric';
const RULE_TYPE_BOOLEAN = 'boolean';
const RULE_TYPE_EMAIL = 'email';
const RULE_TYPE_URL = 'url';
const RULE_TYPE_IP = 'ip';
const RULE_TYPE_WILDCARD = 'wildcard';
const RULE_TYPE_DOCUMENT = 'document';
const RULE_TYPE_DOCUMENTID = 'documentId';
const RULE_TYPE_FILEID = 'fileId';
/**
* @var Database
*/
@@ -147,45 +162,46 @@ class Structure extends Validator
$validator = null;
switch ($ruleType) {
case 'id':
case self::RULE_TYPE_ID:
$validator = new UID();
break;
case 'text':
$validator = new Validator\Text(0);
break;
case 'numeric':
$validator = new Validator\Numeric();
break;
case 'boolean':
$validator = new Validator\Boolean();
break;
case 'email':
$validator = new Validator\Email();
break;
case 'url':
$validator = new Validator\URL();
break;
case 'ip':
$validator = new Validator\IP();
break;
case 'wildcard':
$validator = new Validator\Mock();
break;
case 'permissions':
case self::RULE_TYPE_PERMISSIONS:
$validator = new Permissions($document); //$validator = ($this->forcePermissions) ? new Authorization($original, 'write') : new Validator\Mock();
break;
case 'key':
case self::RULE_TYPE_KEY:
$validator = new Key();
break;
case 'document':
case self::RULE_TYPE_TEXT:
case self::RULE_TYPE_MARKDOWN:
$validator = new Validator\Text(0);
break;
case self::RULE_TYPE_NUMERIC:
$validator = new Validator\Numeric();
break;
case self::RULE_TYPE_BOOLEAN:
$validator = new Validator\Boolean();
break;
case self::RULE_TYPE_EMAIL:
$validator = new Validator\Email();
break;
case self::RULE_TYPE_URL:
$validator = new Validator\URL();
break;
case self::RULE_TYPE_IP:
$validator = new Validator\IP();
break;
case self::RULE_TYPE_WILDCARD:
$validator = new Validator\Mock();
break;
case self::RULE_TYPE_DOCUMENT:
$validator = new Collection($this->database, (isset($rule['list'])) ? $rule['list'] : []);
$value = $document->getAttribute($key);
break;
case 'documentId':
case self::RULE_TYPE_DOCUMENTID:
$validator = new DocumentId($this->database, (isset($rule['list'])) ? $rule['list'] : []);
$value = $document->getAttribute($key);
break;
case 'fileId':
case self::RULE_TYPE_FILEID:
$validator = new DocumentId($this->database, [Database::SYSTEM_COLLECTION_FILES]);
$value = $document->getAttribute($key);
break;