mirror of
https://github.com/friendica/friendica
synced 2025-11-12 13:32:43 +01:00
Merge branch '2018.08-rc'
This commit is contained in:
commit
71ec84f6dc
659 changed files with 91067 additions and 75932 deletions
36
.codecov.yml
Normal file
36
.codecov.yml
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
codecov:
|
||||
branch: develop
|
||||
|
||||
comment: off
|
||||
|
||||
coverage:
|
||||
status:
|
||||
patch:
|
||||
default: off
|
||||
source:
|
||||
target: 80%
|
||||
flags: source
|
||||
backend:
|
||||
target: 80%
|
||||
flags: backend
|
||||
project:
|
||||
default: off
|
||||
source:
|
||||
flags: source
|
||||
backend:
|
||||
flags: backend
|
||||
|
||||
flags:
|
||||
source:
|
||||
paths:
|
||||
- src/
|
||||
backend:
|
||||
paths:
|
||||
- mod/
|
||||
- include/
|
||||
binary:
|
||||
paths:
|
||||
- bin/
|
||||
tests:
|
||||
paths:
|
||||
- tests/
|
||||
4
.gitattributes
vendored
4
.gitattributes
vendored
|
|
@ -1,2 +1,2 @@
|
|||
# Disable LF normalization for all files
|
||||
* -text
|
||||
# Disable LF normalization for all files
|
||||
* -text
|
||||
|
|
|
|||
132
.gitignore
vendored
132
.gitignore
vendored
|
|
@ -1,61 +1,71 @@
|
|||
favicon.*
|
||||
.htconfig.php
|
||||
.htpreconfig.php
|
||||
\#*
|
||||
include/jquery-1.4.2.min.js
|
||||
*.log
|
||||
*.out
|
||||
*.version*
|
||||
favicon.*
|
||||
home.html
|
||||
addon
|
||||
*.orig
|
||||
*~
|
||||
robots.txt
|
||||
|
||||
#ignore documentation, it should be newly built
|
||||
doc/html
|
||||
|
||||
#ignore reports, should be generted with every build
|
||||
report/
|
||||
|
||||
#ignore config files from eclipse, we don't want IDE files in our repository
|
||||
.project
|
||||
.buildpath
|
||||
.externalToolBuilders
|
||||
.settings
|
||||
#ignore OSX .DS_Store files
|
||||
.DS_Store
|
||||
|
||||
/nbproject/private/
|
||||
|
||||
#ignore smarty cache
|
||||
/view/smarty3/compiled/
|
||||
|
||||
#ignore cache folders
|
||||
/privacy_image_cache/
|
||||
/photo/
|
||||
/proxy/
|
||||
nbproject
|
||||
|
||||
#ignore vagrant dir
|
||||
.vagrant/
|
||||
|
||||
#ignore local folder
|
||||
/local/
|
||||
|
||||
#ignore config files from Visual Studio
|
||||
/.vs/
|
||||
/php_friendica.phpproj
|
||||
/php_friendica.sln
|
||||
/php_friendica.phpproj.user
|
||||
|
||||
#ignore things from transifex-client
|
||||
venv/
|
||||
|
||||
#ignore Composer dependencies
|
||||
/vendor
|
||||
/view/asset
|
||||
|
||||
#ignore config files from JetBrains
|
||||
/.idea
|
||||
favicon.*
|
||||
.htconfig.php
|
||||
.htpreconfig.php
|
||||
\#*
|
||||
*.log
|
||||
*.out
|
||||
*.version*
|
||||
home.html
|
||||
|
||||
*~
|
||||
robots.txt
|
||||
|
||||
#ignore local config
|
||||
/config/local.ini.php
|
||||
/config/addon.ini.php
|
||||
|
||||
#ignore documentation, it should be newly built
|
||||
/doc/html
|
||||
|
||||
#ignore reports, should be generated with every build
|
||||
report/
|
||||
|
||||
#ignore config files from eclipse, we don't want IDE files in our repository
|
||||
.project
|
||||
.buildpath
|
||||
.externalToolBuilders
|
||||
.settings
|
||||
|
||||
#ignore OSX .DS_Store files
|
||||
.DS_Store
|
||||
|
||||
#ignore NetBeans IDE's private files (at least)
|
||||
/nbproject/private/
|
||||
|
||||
#ignore smarty cache
|
||||
/view/smarty3/compiled/
|
||||
|
||||
#ignore cache folders
|
||||
/privacy_image_cache/
|
||||
/photo/
|
||||
/proxy/
|
||||
nbproject
|
||||
|
||||
#ignore vagrant dir
|
||||
.vagrant/
|
||||
|
||||
#ignore local folder
|
||||
/local/
|
||||
|
||||
#ignore config files from Visual Studio
|
||||
/.vs/
|
||||
/php_friendica.phpproj
|
||||
/php_friendica.sln
|
||||
/php_friendica.phpproj.user
|
||||
|
||||
#ignore things from transifex-client
|
||||
venv/
|
||||
|
||||
#ignore Composer dependencies
|
||||
/vendor
|
||||
/view/asset
|
||||
|
||||
#ignore config files from JetBrains
|
||||
/.idea
|
||||
|
||||
#ignore addons directory
|
||||
/addons
|
||||
/addon
|
||||
|
||||
#ignore .htaccess
|
||||
.htaccess
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ AddType audio/ogg .oga
|
|||
#AddHandler php53-cgi .php
|
||||
|
||||
<FilesMatch "\.(out|log)$">
|
||||
<IfModule authz_host_module>
|
||||
<IfModule authz_host_module>
|
||||
#Apache 2.4
|
||||
Require all denied
|
||||
</IfModule>
|
||||
|
|
@ -38,4 +38,3 @@ AddType audio/ogg .oga
|
|||
RewriteRule ^(.*)$ index.php?pagename=$1 [E=REMOTE_USER:%{HTTP:Authorization},L,QSA]
|
||||
|
||||
</IfModule>
|
||||
|
||||
19
.travis.yml
19
.travis.yml
|
|
@ -1,10 +1,25 @@
|
|||
---
|
||||
language: php
|
||||
## Friendica supports PHP version >= 5.6
|
||||
## Friendica supports PHP version >= 5.6.1
|
||||
php:
|
||||
- 5.6
|
||||
- 7.0
|
||||
- 7.1
|
||||
- 7.2
|
||||
|
||||
install: composer install
|
||||
services:
|
||||
- mysql
|
||||
- redis-server
|
||||
- memcached
|
||||
env:
|
||||
- MYSQL_HOST=localhost MYSQL_PORT=3306 MYSQL_USERNAME=travis MYSQL_PASSWORD= MYSQL_DATABASE=test
|
||||
|
||||
install:
|
||||
- composer install
|
||||
before_script:
|
||||
- cp config/local-sample.ini.php config/local.ini.php
|
||||
- mysql -e 'CREATE DATABASE IF NOT EXISTS test;'
|
||||
- mysql -utravis test < database.sql
|
||||
- echo "extension=redis.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
- echo "extension=memcached.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||
after_success: bash <(curl -s https://codecov.io/bash)
|
||||
|
|
|
|||
131
CHANGELOG
131
CHANGELOG
|
|
@ -1,3 +1,134 @@
|
|||
Version 2018.09 (2018-09-23)
|
||||
Friendica Core:
|
||||
Update to the translation (CS, DE, EN-US, FI, IT, NL, PL, ZH-CN) [translation teams]
|
||||
Update to the documentation [Aditoo17, annando, astifter, rebeka-catalina, fabrixxm, M-arcus, microgroove, nupplaphil, tobiasd]
|
||||
Enhancements to the database structure, handling and documentation [abanink, Angristan, annando, miqrogroove, tobiasd]
|
||||
Enhancements of unit testing [abanink, nupplaphil, rudloff]
|
||||
Enhancements to labelling of UI elements [andyhee, tobiasd]
|
||||
Enhancements to the background workers [annando, miqrogroove, rabuzarus]
|
||||
Enhancements to the PHP7.2 compatibility [annando, miqrogroove, MrPetovan]
|
||||
Enhancements to the content filter [MrPetovan]
|
||||
Enhancements to the hooks provided for addons [abanink]
|
||||
Enhancements to the interaction with public postings [annando]
|
||||
Enhancements to the config storage [frabrixxm]
|
||||
Enhancements to the themes (frio, quattro, smoothly, vier) [annando, astifter, hoergen, MrPetovan, rabuzarus, tobiasd]
|
||||
Enhancements to the handling of locks [nupplaphil]
|
||||
Enhancements to the redis integration [nupplaphil]
|
||||
Enhancements to the admin panel [JeroenED, tobiasd]
|
||||
Enhancements to the user import process [annando]
|
||||
Enhancements to the display of invitation information [JeroenED]
|
||||
Enhancements to the automatic installation process [nupplaphil]
|
||||
Enhancements to the contact group UI [annando, astifter]
|
||||
Enhancements to the call of JS [hypolite]
|
||||
Enhancements to the storage of items in the database [annando]
|
||||
Enhancements to the process of changing relationships [annando]
|
||||
Enhancements to the OEmbed of data [MrPetovan]
|
||||
Fixed various PHP notice occurrences [annando, MrPetovan]
|
||||
Fixed a bug that could lead to the display of posts from deleted accounts on the community page for a short period [annando]
|
||||
Fixed a bug that prevented email notification to be send out [annando]
|
||||
Fixed a bug in database optimisation [annando]
|
||||
Fixed a bug during removing contacts [annando]
|
||||
Fixed a bug in the tag-cloud widget [annando]
|
||||
Fixed a bug in the daemon mode of the background worker [annando]
|
||||
Fixed a bug in the frio theme that contact filtering [rabuzarus]
|
||||
Fixed a bug that mangled the display of some additional smileys [abanink]
|
||||
Fixed a bug in generating registration mails [MrPetovan]
|
||||
Fixed a bug that caused blank re-share bodies [MrPetovon]
|
||||
Fixed a bug in the API handling of private mails [fabrixxm]
|
||||
Fixed a bug when calling the mail() function [miqrogroove]
|
||||
Fixed a bug that caused deleted accounts being displayed in the local directory [miqrogroove]
|
||||
Fixed a bug when checking the domain of an email address [VVelox]
|
||||
Fixed a bug that prevented re-shares from Twitter to be shown as this [annando]
|
||||
Fixed a bug that caused broken profile links [miqrogroove]
|
||||
Fixed a bug that caused content from unknown accounts appearing in the timeline [annando]
|
||||
Fixed a bug with the ignoring and blocking of contacts [annando]
|
||||
Fixed a bug with showing hidden contacts in some places [annando]
|
||||
Fixed a bug that prevented the deletion of events by contacts [annando]
|
||||
Fixed a bug that prevented email contacts from being added [annando]
|
||||
Fixed a bug in the notification/seen API call [fabrixxm]
|
||||
Fixed a bug that prevented a refresh after un-/ignoring a conversation [annando]
|
||||
Fixed a bug in the handling of some language translations [anndno]
|
||||
Fixed a bug in the hook handling [annando]
|
||||
Fixed the handling of too long tags [annando]
|
||||
Fixed a bug that prevented the unliking of dis-/likes [annando]
|
||||
Fixed bugs with the handling of private nodes [annando]
|
||||
Fixed a bug in the session initialisation [annando]
|
||||
Fixed bugs in the execution of the background processes [annando, Quix0r]
|
||||
Fixed a problem with the notification page [MrPetovan]
|
||||
Fixed a bug with wrong dates in importing some Atom feeds [annando]
|
||||
Fixed forum exclusive distribution of postings using the !notation [annando]
|
||||
Fixed a bug that lead to empty notifications [MrPetovan]
|
||||
Fixed a problem that could sometimes prevent the execution of the relocation [annando]
|
||||
Fixed a bug with the handling of images in postings over the connectors [annando]
|
||||
Added conversation cleanup configuration [miqrogroove]
|
||||
Added support of the usage of internal diaspora links to accounts [annando]
|
||||
Added the possibility for admins to block certain nicknames (e.g. role names) [tobiasd]
|
||||
Added the generation of system guid [nupplaphil]
|
||||
Added the possibility for admins to mark a node for explicit content [tobiasd]
|
||||
Added filter by account type to the community page [annando]
|
||||
Added private flag to API results [fabrixxm]
|
||||
Added post update checks to the console utility [annando]
|
||||
Added codecov analysis [nupplaphil]
|
||||
Added access-keys to the frio theme [tobiasd]
|
||||
Added the profile settings to the user settings [tobiasd]
|
||||
General code refactoring and beautification work [annando, MrPetovan, Quix0r, tobiasd]
|
||||
Fixation of the position on the network page when new posts arrive [rabuzarus]
|
||||
Ported OpenWebAuth from Hubzilla [annando, rabuzarus]
|
||||
Removed hard coded syntax highlighting from code blocks [MrPetovan]
|
||||
Removed (temporarily) the possibility to add pictures to private messages [annando]
|
||||
New INI style config file format in /config [MrPetovan, tobiasd]
|
||||
The .htaccess file is not part of the git repository anymore [annando, Quix0r]
|
||||
|
||||
Friendica Addons:
|
||||
Update to the translations (CS, DE, EN-US, NL, PL, ZH-CN) [translation teams]
|
||||
General update to adopt changes in core [annando, MrPetovan, Quix0r, tobiasd]
|
||||
advancedcontentfilter:
|
||||
Enhancement to the error handling [MrPetovan]
|
||||
Honour the CSP settings [MrPetovan]
|
||||
Fixed translation problems [annando]
|
||||
blockem:
|
||||
Enhancement of the settings [AlfredSK]
|
||||
buffer:
|
||||
support for app.net removed [annando]
|
||||
js_upload:
|
||||
Enhancement of the album name handling [rabuzarus]
|
||||
Enhancement to the wording of the labels [astifter]
|
||||
langfilter:
|
||||
Fixed a problem with default values of the filtered languages [tobiasd]
|
||||
libravatar:
|
||||
The service wont shutdown, so we can keep the addon [tobiasd]
|
||||
pumpio:
|
||||
Fixed a problem that prevented new connections [annando]
|
||||
superblock:
|
||||
Fixed a bug that prevented the addon to block accounts [annando]
|
||||
Enhancements of the settings [AlfredSK]
|
||||
twitter:
|
||||
Use rich text for quote tweets [MrPetovan]
|
||||
Prevent empty quotes from being created [annando]
|
||||
Fixed a problem with re-shares from remote_self contacts [annando]
|
||||
Changed URL display after link expansion [MrPetovan]
|
||||
Fixed a problem with EXIF handling [MrPetovan]
|
||||
added addons:
|
||||
mastodoncustomemojis [MrPetovan]
|
||||
deprecated addons:
|
||||
notimeline, retriver, remote_permissions, widgets
|
||||
|
||||
Directory:
|
||||
Enhancements of the health summary [andyhee]
|
||||
Enhancements of the PHP7 compatibility [MrPetovan]
|
||||
|
||||
Closed Issues:
|
||||
901, 1034, 1074, 1303, 1308, 1391, 1490, 1470, 1559, 2093, 2337,
|
||||
2340, 2381, 2396, 2675, 3291, 3299, 3493, 3501, 3535, 3643, 3840,
|
||||
4148, 4419, 4475, 4507, 4655, 4659, 4710, 4726, 4739, 4753, 4814,
|
||||
4830, 4868, 4889, 4923, 4971, 4950, 4985, 5066, 5099, 5137, 5148,
|
||||
5158, 5168, 5188, 5202, 5211, 5222, 5233, 5243, 5247, 5252, 5257,
|
||||
5260, 5262, 5268, 5274, 5275, 5276, 5278, 5298, 5318, 5319, 5320,
|
||||
5321, 5322, 5330, 5333, 5341, 5365, 5405, 5407, 5411, 5423, 5432,
|
||||
5434, 5436, 5443, 5455, 5464, 5467, 5469, 5486, 5496, 5497, 5514,
|
||||
5539, 5524, 5541, 5544, 5550, 5564, 5566, 5605, 5630, 5638, 5651,
|
||||
5653, 5660, 5670, 5691, 5733, 5745, 5768
|
||||
|
||||
Version 2018.05 (2018-06-01)
|
||||
Friendica Core:
|
||||
Update to the translations (DE, EN-GB, EN-US, FI, IS, IT, NL, PL, RU, ZN CH) [translation teams]
|
||||
|
|
|
|||
63
INSTALL.txt
63
INSTALL.txt
|
|
@ -32,7 +32,7 @@ link if your cert is self-signed).
|
|||
- Apache with mod-rewrite enabled and "Options All" so you can use a
|
||||
local .htaccess file
|
||||
|
||||
- PHP 5.6+ (PHP 7 recommended for performance).
|
||||
- PHP 5.6.1+ (PHP 7 recommended for performance).
|
||||
|
||||
- PHP *command line* access with register_argc_argv set to true in the
|
||||
php.ini file [or see 'poormancron' in section 8]
|
||||
|
|
@ -66,10 +66,39 @@ OR
|
|||
|
||||
2b. Clone the friendica/friendica GitHub repository and import dependencies
|
||||
|
||||
git clone https://github.com/friendica/friendica [web server folder]
|
||||
git clone https://github.com/friendica/friendica -b master [web server folder]
|
||||
cd [web server folder]
|
||||
php bin/composer.phar install
|
||||
|
||||
Make sure the folder view/smarty3 exists and is writable by the webserver
|
||||
user, in this case `www-data`
|
||||
|
||||
mkdir view/smarty3
|
||||
chown www-data:www-data view/smarty3
|
||||
chmod 775 view/smarty3
|
||||
|
||||
Get the addons by going into your website folder.
|
||||
|
||||
cd mywebsite
|
||||
|
||||
Clone the addon repository (separately):
|
||||
|
||||
git clone https://github.com/friendica/friendica-addons.git -b master addon
|
||||
|
||||
If you copy the directory tree to your webserver, make sure that you also
|
||||
copy .htaccess - as "dot" files are often hidden and aren't normally copied.
|
||||
|
||||
If you want to use the development version of Friendica you can switch to
|
||||
the devel branch in the repository by running
|
||||
|
||||
git checkout develop
|
||||
bin/composer.phar install
|
||||
cd addon
|
||||
git checkout develop
|
||||
|
||||
please be aware that the develop branch may break your Friendica node at any
|
||||
time. If you encounter a bug, please let us know.
|
||||
|
||||
3. Create an empty database and note the access details (hostname, username,
|
||||
password, database name).
|
||||
|
||||
|
|
@ -77,8 +106,8 @@ password, database name).
|
|||
- Please check the additional notes if running on MySQ 5.7.17 or newer
|
||||
|
||||
4. If you know in advance that it will be impossible for the web server to
|
||||
write or create files in your web directory, create an empty file called
|
||||
.htconfig.php and make it writable by the web server.
|
||||
write or create files in the config/ subfolder, create an empty file called
|
||||
local.ini.php and make it writable by the web server.
|
||||
|
||||
5. Visit your website with a web browser and follow the instructions. Please
|
||||
note any error messages and correct these before continuing.
|
||||
|
|
@ -92,9 +121,9 @@ so in the host name setting for the database.
|
|||
|
||||
6. *If* the automated installation fails for any reason, check the following:
|
||||
|
||||
- ".htconfig.php" exists
|
||||
If not, edit htconfig.php and change system settings. Rename
|
||||
to .htconfig.php
|
||||
- "config/local.ini.php" exists
|
||||
If not, edit local-sample.ini.php and change system settings. Rename
|
||||
to local.ini.php
|
||||
- Database is populated.
|
||||
If not, import the contents of "database.sql" with phpmyadmin
|
||||
or mysql command line
|
||||
|
|
@ -103,7 +132,7 @@ or mysql command line
|
|||
Registration errors should all be recoverable automatically.
|
||||
If you get any *critical* failure at this point, it generally indicates the
|
||||
database was not installed correctly. You might wish to move/rename
|
||||
.htconfig.php to another name and empty (called 'dropping') the database
|
||||
local.ini.php to another name and empty (called 'dropping') the database
|
||||
tables, so that you can start fresh.
|
||||
|
||||
****************************************************************************
|
||||
|
|
@ -148,7 +177,7 @@ Bad things will happen. Let there be a hardware failure, a corrupted
|
|||
database or whatever you can think of. So once the installation of your
|
||||
Friendica node is done, you should make yoursef a backup plan.
|
||||
|
||||
The most important file is the `.htconfig.php` file in the base directory.
|
||||
The most important file is the `config/local.ini.php` file in the base directory.
|
||||
As it stores all your data, you should also have a recent dump of your
|
||||
Friendica database at hand, should you have to recover your node.
|
||||
|
||||
|
|
@ -245,21 +274,21 @@ Windows).
|
|||
|
||||
|
||||
#####################################################################
|
||||
- If you are unable to write the file .htconfig.php during installation
|
||||
- If you are unable to write the file config/local.ini.php during installation
|
||||
due to permissions issues:
|
||||
#####################################################################
|
||||
|
||||
create an empty file with that name and give it world-write permission.
|
||||
For Linux:
|
||||
|
||||
% touch .htconfig.php
|
||||
% chmod 777 .htconfig.php
|
||||
% touch config/local.ini.php
|
||||
% chmod 664 config/local.ini.php
|
||||
|
||||
Retry the installation. As soon as the database has been created,
|
||||
|
||||
******* this is important *********
|
||||
|
||||
% chmod 755 .htconfig.php
|
||||
% chmod 644 config/local.ini.php
|
||||
|
||||
#####################################################################
|
||||
- Some configurations with "suhosin" security are configured without
|
||||
|
|
@ -298,11 +327,11 @@ After a while I noticed, that bin/worker.php calls further php script via
|
|||
proc_open. These scripts themselves also use proc_open and fail, because they
|
||||
are NOT called with -d suhosin.executor.func.blacklist=none.
|
||||
|
||||
So the simple solution is to put the correct parameters into .htconfig.php:
|
||||
// Location of PHP command line processor
|
||||
$a->config['php_path'] = '/usr/bin/php -d suhosin.executor.func.blacklist=none
|
||||
-d suhosin.executor.eval.blacklist=none';
|
||||
So the simple solution is to put the correct parameters into config/local.ini.php:
|
||||
|
||||
[config]
|
||||
; Location of PHP command line processor
|
||||
php_path = "/usr/bin/php -d suhosin.executor.func.blacklist=none -d suhosin.executor.eval.blacklist=none"
|
||||
|
||||
This is obvious as soon as you notice that the friendica-cron uses proc_open to
|
||||
execute php-scripts that also use proc_open, but it took me quite some time to
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
2018.05
|
||||
2018.08-rc
|
||||
|
|
|
|||
|
|
@ -33,8 +33,6 @@
|
|||
*/
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\BaseObject;
|
||||
use Friendica\Core\Config;
|
||||
use Friendica\Util\ExAuth;
|
||||
|
||||
if (sizeof($_SERVER["argv"]) == 0) {
|
||||
|
|
@ -55,12 +53,8 @@ require_once "boot.php";
|
|||
require_once "include/dba.php";
|
||||
|
||||
$a = new App(dirname(__DIR__));
|
||||
BaseObject::setApp($a);
|
||||
|
||||
@include ".htconfig.php";
|
||||
dba::connect($db_host, $db_user, $db_pass, $db_data);
|
||||
unset($db_host, $db_user, $db_pass, $db_data);
|
||||
|
||||
$oAuth = new ExAuth();
|
||||
|
||||
$oAuth->readStdin();
|
||||
if ($a->mode === App::MODE_NORMAL) {
|
||||
$oAuth = new ExAuth();
|
||||
$oAuth->readStdin();
|
||||
}
|
||||
188
bin/daemon.php
188
bin/daemon.php
|
|
@ -6,10 +6,48 @@
|
|||
*
|
||||
* This script was taken from http://php.net/manual/en/function.pcntl-fork.php
|
||||
*/
|
||||
function shutdown() {
|
||||
posix_kill(posix_getpid(), SIGHUP);
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\Core\Config;
|
||||
use Friendica\Core\Worker;
|
||||
use Friendica\Database\DBA;
|
||||
|
||||
// Get options
|
||||
$shortopts = 'f';
|
||||
$longopts = ['foreground'];
|
||||
$options = getopt($shortopts, $longopts);
|
||||
|
||||
// Ensure that daemon.php is executed from the base path of the installation
|
||||
if (!file_exists("boot.php") && (sizeof($_SERVER["argv"]) != 0)) {
|
||||
$directory = dirname($_SERVER["argv"][0]);
|
||||
|
||||
if (substr($directory, 0, 1) != "/") {
|
||||
$directory = $_SERVER["PWD"] . "/" . $directory;
|
||||
}
|
||||
$directory = realpath($directory . "/..");
|
||||
|
||||
chdir($directory);
|
||||
}
|
||||
|
||||
require_once "boot.php";
|
||||
require_once "include/dba.php";
|
||||
|
||||
$a = new App(dirname(__DIR__));
|
||||
|
||||
if ($a->isInstallMode()) {
|
||||
die("Friendica isn't properly installed yet.\n");
|
||||
}
|
||||
|
||||
Config::load();
|
||||
|
||||
if (empty(Config::get('system', 'pidfile'))) {
|
||||
die('Please set system.pidfile in config/local.ini.php. For example:'."\n".
|
||||
'[system]'."\n".
|
||||
'pidfile = /path/to/daemon.pid'."\n");
|
||||
}
|
||||
|
||||
$pidfile = Config::get('system', 'pidfile');
|
||||
|
||||
if (in_array("start", $_SERVER["argv"])) {
|
||||
$mode = "start";
|
||||
}
|
||||
|
|
@ -22,6 +60,8 @@ if (in_array("status", $_SERVER["argv"])) {
|
|||
$mode = "status";
|
||||
}
|
||||
|
||||
$foreground = array_key_exists('f', $options) || array_key_exists('foreground', $options);
|
||||
|
||||
if (!isset($mode)) {
|
||||
die("Please use either 'start', 'stop' or 'status'.\n");
|
||||
}
|
||||
|
|
@ -30,27 +70,15 @@ if (empty($_SERVER["argv"][0])) {
|
|||
die("Unexpected script behaviour. This message should never occur.\n");
|
||||
}
|
||||
|
||||
// Fetch the base directory
|
||||
$directory = dirname($_SERVER["argv"][0]);
|
||||
$pid = null;
|
||||
|
||||
if (substr($directory, 0, 1) != "/") {
|
||||
$directory = $_SERVER["PWD"]."/".$directory;
|
||||
}
|
||||
$directory = realpath($directory."/..");
|
||||
|
||||
@include($directory."/.htconfig.php");
|
||||
|
||||
if (!isset($pidfile)) {
|
||||
die('Please specify a pid file in the variable $pidfile in the .htconfig.php. For example:'."\n".
|
||||
'$pidfile = "/path/to/daemon.pid";'."\n");
|
||||
if (is_readable($pidfile)) {
|
||||
$pid = intval(file_get_contents($pidfile));
|
||||
}
|
||||
|
||||
if (in_array($mode, array("stop", "status"))) {
|
||||
$pid = @file_get_contents($pidfile);
|
||||
|
||||
if (!$pid) {
|
||||
die("Pidfile wasn't found. Is the daemon running?\n");
|
||||
}
|
||||
if (empty($pid) && in_array($mode, ["stop", "status"])) {
|
||||
Config::set('system', 'worker_daemon_mode', false);
|
||||
die("Pidfile wasn't found. Is the daemon running?\n");
|
||||
}
|
||||
|
||||
if ($mode == "status") {
|
||||
|
|
@ -60,6 +88,7 @@ if ($mode == "status") {
|
|||
|
||||
unlink($pidfile);
|
||||
|
||||
Config::set('system', 'worker_daemon_mode', false);
|
||||
die("Daemon process $pid isn't running.\n");
|
||||
}
|
||||
|
||||
|
|
@ -68,59 +97,102 @@ if ($mode == "stop") {
|
|||
|
||||
unlink($pidfile);
|
||||
|
||||
logger("Worker daemon process $pid was killed.", LOGGER_DEBUG);
|
||||
|
||||
Config::set('system', 'worker_daemon_mode', false);
|
||||
die("Worker daemon process $pid was killed.\n");
|
||||
}
|
||||
|
||||
echo "Starting worker daemon.\n";
|
||||
|
||||
if (isset($a->config['php_path'])) {
|
||||
$php = $a->config['php_path'];
|
||||
} else {
|
||||
$php = "php";
|
||||
if (!empty($pid) && posix_kill($pid, 0)) {
|
||||
die("Daemon process $pid is already running.\n");
|
||||
}
|
||||
|
||||
// Switch over to daemon mode.
|
||||
if ($pid = pcntl_fork())
|
||||
return; // Parent
|
||||
logger('Starting worker daemon.', LOGGER_DEBUG);
|
||||
|
||||
fclose(STDIN); // Close all of the standard
|
||||
fclose(STDOUT); // file descriptors as we
|
||||
fclose(STDERR); // are running as a daemon.
|
||||
if (!$foreground) {
|
||||
echo "Starting worker daemon.\n";
|
||||
|
||||
register_shutdown_function('shutdown');
|
||||
// Switch over to daemon mode.
|
||||
if ($pid = pcntl_fork()) {
|
||||
return; // Parent
|
||||
}
|
||||
|
||||
if (posix_setsid() < 0)
|
||||
return;
|
||||
fclose(STDIN); // Close all of the standard
|
||||
|
||||
if ($pid = pcntl_fork())
|
||||
return; // Parent
|
||||
// Enabling this seem to block a running php process with 100% CPU usage when there is an outpout
|
||||
// fclose(STDOUT); // file descriptors as we
|
||||
// fclose(STDERR); // are running as a daemon.
|
||||
|
||||
$pid = getmypid();
|
||||
file_put_contents($pidfile, $pid);
|
||||
DBA::disconnect();
|
||||
|
||||
register_shutdown_function('shutdown');
|
||||
|
||||
if (posix_setsid() < 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($pid = pcntl_fork()) {
|
||||
return; // Parent
|
||||
}
|
||||
|
||||
$pid = getmypid();
|
||||
file_put_contents($pidfile, $pid);
|
||||
|
||||
// We lose the database connection upon forking
|
||||
$a->loadDatabase();
|
||||
}
|
||||
|
||||
Config::set('system', 'worker_daemon_mode', true);
|
||||
|
||||
// Just to be sure that this script really runs endlessly
|
||||
set_time_limit(0);
|
||||
|
||||
$wait_interval = intval(Config::get('system', 'cron_interval', 5)) * 60;
|
||||
|
||||
$do_cron = true;
|
||||
$last_cron = 0;
|
||||
|
||||
// Now running as a daemon.
|
||||
while (true) {
|
||||
// Just to be sure that this script really runs endlessly
|
||||
set_time_limit(0);
|
||||
|
||||
// Call the worker
|
||||
$cmdline = $php.' bin/worker.php';
|
||||
|
||||
$executed = false;
|
||||
|
||||
if (function_exists('proc_open')) {
|
||||
$resource = proc_open($cmdline . ' &', array(), $foo, $directory);
|
||||
|
||||
if (is_resource($resource)) {
|
||||
$executed = true;
|
||||
proc_close($resource);
|
||||
}
|
||||
if (!$do_cron && ($last_cron + $wait_interval) < time()) {
|
||||
logger('Forcing cron worker call.', LOGGER_DEBUG);
|
||||
$do_cron = true;
|
||||
}
|
||||
|
||||
if (!$executed) {
|
||||
exec($cmdline.' spawn');
|
||||
Worker::spawnWorker($do_cron);
|
||||
|
||||
if ($do_cron) {
|
||||
// We force a reconnect of the database connection.
|
||||
// This is done to ensure that the connection don't get lost over time.
|
||||
DBA::reconnect();
|
||||
|
||||
$last_cron = time();
|
||||
}
|
||||
|
||||
// Now sleep for 5 minutes
|
||||
sleep(300);
|
||||
logger("Sleeping", LOGGER_DEBUG);
|
||||
$start = time();
|
||||
do {
|
||||
$seconds = (time() - $start);
|
||||
|
||||
// logarithmic wait time calculation.
|
||||
// Background: After jobs had been started, they often fork many workers.
|
||||
// To not waste too much time, the sleep period increases.
|
||||
$arg = (($seconds + 1) / ($wait_interval / 9)) + 1;
|
||||
$sleep = round(log10($arg) * 1000000, 0);
|
||||
usleep($sleep);
|
||||
|
||||
$timeout = ($seconds >= $wait_interval);
|
||||
} while (!$timeout && !Worker::IPCJobsExists());
|
||||
|
||||
if ($timeout) {
|
||||
$do_cron = true;
|
||||
logger("Woke up after $wait_interval seconds.", LOGGER_DEBUG);
|
||||
} else {
|
||||
$do_cron = false;
|
||||
logger("Worker jobs are calling to be forked.", LOGGER_DEBUG);
|
||||
}
|
||||
}
|
||||
|
||||
function shutdown() {
|
||||
posix_kill(posix_getpid(), SIGHUP);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@ def fix_element(element):
|
|||
element += ldelim + parts[first+1].rstrip('}') + rdelim
|
||||
else:
|
||||
# This takes care of elements where the filename is a path, e.g. {{ inc file.tpl }}
|
||||
element += parts[first+1].rstrip('}')
|
||||
element += parts[first+1].rstrip('}')
|
||||
|
||||
element += '"'
|
||||
|
||||
|
|
@ -205,7 +205,7 @@ try:
|
|||
except getopt.GetoptError:
|
||||
help(sys.argv[0])
|
||||
sys.exit(2)
|
||||
|
||||
|
||||
|
||||
if path == '':
|
||||
path = raw_input('Path to template folder to convert: ')
|
||||
|
|
@ -220,7 +220,7 @@ if not os.path.exists(outpath):
|
|||
|
||||
files = os.listdir(path)
|
||||
for a_file in files:
|
||||
if a_file == 'htconfig.tpl':
|
||||
if a_file == 'local.ini.tpl':
|
||||
php_tpl = True
|
||||
else:
|
||||
php_tpl = False
|
||||
|
|
|
|||
|
|
@ -86,7 +86,8 @@ cd /var/www
|
|||
php bin/composer.phar install
|
||||
|
||||
# initial config file for friendica in vagrant
|
||||
cp /vagrant/util/htconfig.vagrant.php /vagrant/.htconfig.php
|
||||
#cp /vagrant/util/htconfig.vagrant.php /vagrant/.htconfig.php
|
||||
cp /vagrant/util/local.ini.vagrant.php /vagrant/config/local.ini.php
|
||||
|
||||
# create the friendica database
|
||||
echo "create database friendica DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci" | $MYSQL -u root -proot
|
||||
|
|
|
|||
|
|
@ -6,10 +6,15 @@
|
|||
*/
|
||||
|
||||
use Friendica\App;
|
||||
use Friendica\BaseObject;
|
||||
use Friendica\Core\Addon;
|
||||
use Friendica\Core\Config;
|
||||
use Friendica\Core\Worker;
|
||||
use Friendica\Core\L10n;
|
||||
|
||||
// Get options
|
||||
$shortopts = 'sn';
|
||||
$longopts = ['spawn', 'no_cron'];
|
||||
$options = getopt($shortopts, $longopts);
|
||||
|
||||
// Ensure that worker.php is executed from the base path of the installation
|
||||
if (!file_exists("boot.php") && (sizeof($_SERVER["argv"]) != 0)) {
|
||||
|
|
@ -24,17 +29,14 @@ if (!file_exists("boot.php") && (sizeof($_SERVER["argv"]) != 0)) {
|
|||
}
|
||||
|
||||
require_once "boot.php";
|
||||
require_once "include/dba.php";
|
||||
|
||||
$a = new App(dirname(__DIR__));
|
||||
BaseObject::setApp($a);
|
||||
|
||||
require_once ".htconfig.php";
|
||||
dba::connect($db_host, $db_user, $db_pass, $db_data);
|
||||
unset($db_host, $db_user, $db_pass, $db_data);
|
||||
|
||||
Config::load();
|
||||
|
||||
$lang = L10n::getBrowserLanguage();
|
||||
L10n::loadTranslationTable($lang);
|
||||
|
||||
// Check the database structure and possibly fixes it
|
||||
check_db(true);
|
||||
|
||||
|
|
@ -47,14 +49,14 @@ $a->set_baseurl(Config::get('system', 'url'));
|
|||
|
||||
Addon::loadHooks();
|
||||
|
||||
$spawn = (($_SERVER["argc"] == 2) && ($_SERVER["argv"][1] == "spawn"));
|
||||
$spawn = array_key_exists('s', $options) || array_key_exists('spawn', $options);
|
||||
|
||||
if ($spawn) {
|
||||
Worker::spawnWorker();
|
||||
killme();
|
||||
}
|
||||
|
||||
$run_cron = (($_SERVER["argc"] <= 1) || ($_SERVER["argv"][1] != "no_cron"));
|
||||
$run_cron = !array_key_exists('n', $options) && !array_key_exists('no_cron', $options);
|
||||
|
||||
Worker::processQueue($run_cron);
|
||||
|
||||
|
|
@ -63,4 +65,3 @@ Worker::unclaimProcess();
|
|||
Worker::endProcess();
|
||||
|
||||
killme();
|
||||
|
||||
|
|
|
|||
351
boot.php
351
boot.php
|
|
@ -29,7 +29,7 @@ use Friendica\Core\PConfig;
|
|||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\System;
|
||||
use Friendica\Core\Worker;
|
||||
use Friendica\Database\DBM;
|
||||
use Friendica\Database\DBA;
|
||||
use Friendica\Database\DBStructure;
|
||||
use Friendica\Model\Contact;
|
||||
use Friendica\Model\Conversation;
|
||||
|
|
@ -39,9 +39,9 @@ require_once 'include/text.php';
|
|||
|
||||
define('FRIENDICA_PLATFORM', 'Friendica');
|
||||
define('FRIENDICA_CODENAME', 'The Tazmans Flax-lily');
|
||||
define('FRIENDICA_VERSION', '2018.05');
|
||||
define('FRIENDICA_VERSION', '2018.08-rc');
|
||||
define('DFRN_PROTOCOL_VERSION', '2.23');
|
||||
define('DB_UPDATE_VERSION', 1266);
|
||||
define('DB_UPDATE_VERSION', 1283);
|
||||
define('NEW_UPDATE_ROUTINE_VERSION', 1170);
|
||||
|
||||
/**
|
||||
|
|
@ -64,15 +64,13 @@ define('EOL', "<br />\r\n");
|
|||
* @brief Image storage quality.
|
||||
*
|
||||
* Lower numbers save space at cost of image detail.
|
||||
* For ease of upgrade, please do not change here. Change jpeg quality with
|
||||
* $a->config['system']['jpeg_quality'] = n;
|
||||
* in .htconfig.php, where n is netween 1 and 100, and with very poor results
|
||||
* below about 50
|
||||
* For ease of upgrade, please do not change here. Set [system] jpegquality = n in config/local.ini.php,
|
||||
* where n is between 1 and 100, and with very poor results below about 50
|
||||
*/
|
||||
define('JPEG_QUALITY', 100);
|
||||
|
||||
/**
|
||||
* $a->config['system']['png_quality'] from 0 (uncompressed) to 9
|
||||
* [system] png_quality = n where is between 0 (uncompressed) to 9
|
||||
*/
|
||||
define('PNG_QUALITY', 8);
|
||||
|
||||
|
|
@ -83,9 +81,10 @@ define('PNG_QUALITY', 8);
|
|||
* this length (on the longest side, the other side will be scaled appropriately).
|
||||
* Modify this value using
|
||||
*
|
||||
* $a->config['system']['max_image_length'] = n;
|
||||
* [system]
|
||||
* max_image_length = n;
|
||||
*
|
||||
* in .htconfig.php
|
||||
* in config/local.ini.php
|
||||
*
|
||||
* If you don't want to set a maximum length, set to -1. The default value is
|
||||
* defined by 'MAX_IMAGE_LENGTH' below.
|
||||
|
|
@ -114,11 +113,12 @@ define('SSL_POLICY_SELFSIGN', 2);
|
|||
* log levels
|
||||
* @{
|
||||
*/
|
||||
define('LOGGER_NORMAL', 0);
|
||||
define('LOGGER_TRACE', 1);
|
||||
define('LOGGER_DEBUG', 2);
|
||||
define('LOGGER_DATA', 3);
|
||||
define('LOGGER_ALL', 4);
|
||||
define('LOGGER_WARNING', 0);
|
||||
define('LOGGER_INFO', 1);
|
||||
define('LOGGER_TRACE', 2);
|
||||
define('LOGGER_DEBUG', 3);
|
||||
define('LOGGER_DATA', 4);
|
||||
define('LOGGER_ALL', 5);
|
||||
/* @}*/
|
||||
|
||||
/**
|
||||
|
|
@ -152,19 +152,6 @@ define('REGISTER_OPEN', 2);
|
|||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @name Contact_is
|
||||
*
|
||||
* Relationship types
|
||||
* @{
|
||||
*/
|
||||
define('CONTACT_IS_FOLLOWER', 1);
|
||||
define('CONTACT_IS_SHARING', 2);
|
||||
define('CONTACT_IS_FRIEND', 3);
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @name Update
|
||||
*
|
||||
|
|
@ -177,55 +164,6 @@ define('UPDATE_FAILED', 1);
|
|||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @name page/profile types
|
||||
*
|
||||
* PAGE_NORMAL is a typical personal profile account
|
||||
* PAGE_SOAPBOX automatically approves all friend requests as CONTACT_IS_SHARING, (readonly)
|
||||
* PAGE_COMMUNITY automatically approves all friend requests as CONTACT_IS_SHARING, but with
|
||||
* write access to wall and comments (no email and not included in page owner's ACL lists)
|
||||
* PAGE_FREELOVE automatically approves all friend requests as full friends (CONTACT_IS_FRIEND).
|
||||
*
|
||||
* @{
|
||||
*/
|
||||
define('PAGE_NORMAL', 0);
|
||||
define('PAGE_SOAPBOX', 1);
|
||||
define('PAGE_COMMUNITY', 2);
|
||||
define('PAGE_FREELOVE', 3);
|
||||
define('PAGE_BLOG', 4);
|
||||
define('PAGE_PRVGROUP', 5);
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @name account types
|
||||
*
|
||||
* ACCOUNT_TYPE_PERSON - the account belongs to a person
|
||||
* Associated page types: PAGE_NORMAL, PAGE_SOAPBOX, PAGE_FREELOVE
|
||||
*
|
||||
* ACCOUNT_TYPE_ORGANISATION - the account belongs to an organisation
|
||||
* Associated page type: PAGE_SOAPBOX
|
||||
*
|
||||
* ACCOUNT_TYPE_NEWS - the account is a news reflector
|
||||
* Associated page type: PAGE_SOAPBOX
|
||||
*
|
||||
* ACCOUNT_TYPE_COMMUNITY - the account is community forum
|
||||
* Associated page types: PAGE_COMMUNITY, PAGE_PRVGROUP
|
||||
*
|
||||
* ACCOUNT_TYPE_RELAY - the account is a relay
|
||||
* This will only be assigned to contacts, not to user accounts
|
||||
* @{
|
||||
*/
|
||||
define('ACCOUNT_TYPE_PERSON', 0);
|
||||
define('ACCOUNT_TYPE_ORGANISATION', 1);
|
||||
define('ACCOUNT_TYPE_NEWS', 2);
|
||||
define('ACCOUNT_TYPE_COMMUNITY', 3);
|
||||
define('ACCOUNT_TYPE_RELAY', 4);
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @name CP
|
||||
*
|
||||
|
|
@ -241,84 +179,32 @@ define('CP_USERS_AND_GLOBAL', 2);
|
|||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @name Protocols
|
||||
* @deprecated since version 3.6
|
||||
* @see Conversation
|
||||
*
|
||||
* Different protocols that we are storing
|
||||
* @{
|
||||
*/
|
||||
define('PROTOCOL_UNKNOWN' , Conversation::PROTOCOL_UNKNOWN);
|
||||
define('PROTOCOL_DFRN' , Conversation::PROTOCOL_DFRN);
|
||||
define('PROTOCOL_DIASPORA' , Conversation::PROTOCOL_DIASPORA);
|
||||
define('PROTOCOL_OSTATUS_SALMON' , Conversation::PROTOCOL_OSTATUS_SALMON);
|
||||
define('PROTOCOL_OSTATUS_FEED' , Conversation::PROTOCOL_OSTATUS_FEED); // Deprecated
|
||||
define('PROTOCOL_GS_CONVERSATION', Conversation::PROTOCOL_GS_CONVERSATION); // Deprecated
|
||||
define('PROTOCOL_SPLITTED_CONV' , Conversation::PROTOCOL_SPLITTED_CONV);
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* @name Network constants
|
||||
* @deprecated since version 3.6
|
||||
* @see Protocol
|
||||
*
|
||||
* Network and protocol family types
|
||||
* @{
|
||||
*/
|
||||
define('NETWORK_DFRN' , Protocol::DFRN); // Friendica, Mistpark, other DFRN implementations
|
||||
define('NETWORK_ZOT' , Protocol::ZOT); // Zot! - Currently unsupported
|
||||
define('NETWORK_OSTATUS' , Protocol::OSTATUS); // GNU-social, Pleroma, Mastodon, other OStatus implementations
|
||||
define('NETWORK_FEED' , Protocol::FEED); // RSS/Atom feeds with no known "post/notify" protocol
|
||||
define('NETWORK_DIASPORA' , Protocol::DIASPORA); // Diaspora
|
||||
define('NETWORK_MAIL' , Protocol::MAIL); // IMAP/POP
|
||||
define('NETWORK_FACEBOOK' , Protocol::FACEBOOK); // Facebook API
|
||||
define('NETWORK_LINKEDIN' , Protocol::LINKEDIN); // LinkedIn
|
||||
define('NETWORK_XMPP' , Protocol::XMPP); // XMPP - Currently unsupported
|
||||
define('NETWORK_MYSPACE' , Protocol::MYSPACE); // MySpace - Currently unsupported
|
||||
define('NETWORK_GPLUS' , Protocol::GPLUS); // Google+
|
||||
define('NETWORK_PUMPIO' , Protocol::PUMPIO); // pump.io
|
||||
define('NETWORK_TWITTER' , Protocol::TWITTER); // Twitter
|
||||
define('NETWORK_DIASPORA2', Protocol::DIASPORA2); // Diaspora connector
|
||||
define('NETWORK_STATUSNET', Protocol::STATUSNET); // Statusnet connector
|
||||
define('NETWORK_APPNET' , Protocol::APPNET); // app.net - Dead protocol
|
||||
define('NETWORK_NEWS' , Protocol::NEWS); // Network News Transfer Protocol - Currently unsupported
|
||||
define('NETWORK_ICALENDAR', Protocol::ICALENDAR); // iCalendar - Currently unsupported
|
||||
define('NETWORK_PNUT' , Protocol::PNUT); // pnut.io - Currently unsupported
|
||||
define('NETWORK_PHANTOM' , Protocol::PHANTOM); // Place holder
|
||||
/**
|
||||
* @}
|
||||
*/
|
||||
|
||||
/**
|
||||
* These numbers are used in stored permissions
|
||||
* and existing allocations MUST NEVER BE CHANGED
|
||||
* OR RE-ASSIGNED! You may only add to them.
|
||||
*/
|
||||
$netgroup_ids = [
|
||||
NETWORK_DFRN => (-1),
|
||||
NETWORK_ZOT => (-2),
|
||||
NETWORK_OSTATUS => (-3),
|
||||
NETWORK_FEED => (-4),
|
||||
NETWORK_DIASPORA => (-5),
|
||||
NETWORK_MAIL => (-6),
|
||||
NETWORK_FACEBOOK => (-8),
|
||||
NETWORK_LINKEDIN => (-9),
|
||||
NETWORK_XMPP => (-10),
|
||||
NETWORK_MYSPACE => (-11),
|
||||
NETWORK_GPLUS => (-12),
|
||||
NETWORK_PUMPIO => (-13),
|
||||
NETWORK_TWITTER => (-14),
|
||||
NETWORK_DIASPORA2 => (-15),
|
||||
NETWORK_STATUSNET => (-16),
|
||||
NETWORK_APPNET => (-17),
|
||||
NETWORK_NEWS => (-18),
|
||||
NETWORK_ICALENDAR => (-19),
|
||||
NETWORK_PNUT => (-20),
|
||||
Protocol::DFRN => (-1),
|
||||
Protocol::ZOT => (-2),
|
||||
Protocol::OSTATUS => (-3),
|
||||
Protocol::FEED => (-4),
|
||||
Protocol::DIASPORA => (-5),
|
||||
Protocol::MAIL => (-6),
|
||||
Protocol::FACEBOOK => (-8),
|
||||
Protocol::LINKEDIN => (-9),
|
||||
Protocol::XMPP => (-10),
|
||||
Protocol::MYSPACE => (-11),
|
||||
Protocol::GPLUS => (-12),
|
||||
Protocol::PUMPIO => (-13),
|
||||
Protocol::TWITTER => (-14),
|
||||
Protocol::DIASPORA2 => (-15),
|
||||
Protocol::STATUSNET => (-16),
|
||||
Protocol::NEWS => (-18),
|
||||
Protocol::ICALENDAR => (-19),
|
||||
Protocol::PNUT => (-20),
|
||||
|
||||
NETWORK_PHANTOM => (-127),
|
||||
Protocol::PHANTOM => (-127),
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
@ -451,8 +337,9 @@ define('ACTIVITY_OBJ_QUESTION', 'http://activityschema.org/object/question');
|
|||
* @{
|
||||
*/
|
||||
define('GRAVITY_PARENT', 0);
|
||||
define('GRAVITY_LIKE', 3);
|
||||
define('GRAVITY_ACTIVITY', 3);
|
||||
define('GRAVITY_COMMENT', 6);
|
||||
define('GRAVITY_UNKNOWN', 9);
|
||||
/* @}*/
|
||||
|
||||
/**
|
||||
|
|
@ -498,36 +385,6 @@ if (!defined("SIGTERM")) {
|
|||
if (!defined('CURLE_OPERATION_TIMEDOUT')) {
|
||||
define('CURLE_OPERATION_TIMEDOUT', CURLE_OPERATION_TIMEOUTED);
|
||||
}
|
||||
/**
|
||||
* Reverse the effect of magic_quotes_gpc if it is enabled.
|
||||
* Please disable magic_quotes_gpc so we don't have to do this.
|
||||
* See http://php.net/manual/en/security.magicquotes.disabling.php
|
||||
*/
|
||||
function startup()
|
||||
{
|
||||
error_reporting(E_ERROR | E_WARNING | E_PARSE);
|
||||
|
||||
set_time_limit(0);
|
||||
|
||||
// This has to be quite large to deal with embedded private photos
|
||||
ini_set('pcre.backtrack_limit', 500000);
|
||||
|
||||
if (get_magic_quotes_gpc()) {
|
||||
$process = [&$_GET, &$_POST, &$_COOKIE, &$_REQUEST];
|
||||
while (list($key, $val) = each($process)) {
|
||||
foreach ($val as $k => $v) {
|
||||
unset($process[$key][$k]);
|
||||
if (is_array($v)) {
|
||||
$process[$key][stripslashes($k)] = $v;
|
||||
$process[] = &$process[$key][stripslashes($k)];
|
||||
} else {
|
||||
$process[$key][stripslashes($k)] = stripslashes($v);
|
||||
}
|
||||
}
|
||||
}
|
||||
unset($process);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Retrieve the App structure
|
||||
|
|
@ -538,14 +395,7 @@ function startup()
|
|||
*/
|
||||
function get_app()
|
||||
{
|
||||
global $a;
|
||||
|
||||
if (empty($a)) {
|
||||
$a = new App(dirname(__DIR__));
|
||||
BaseObject::setApp($a);
|
||||
}
|
||||
|
||||
return $a;
|
||||
return BaseObject::getApp();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -706,7 +556,7 @@ function check_url(App $a)
|
|||
// and www.example.com vs example.com.
|
||||
// We will only change the url to an ip address if there is no existing setting
|
||||
|
||||
if (empty($url) || (!link_compare($url, System::baseUrl())) && (!preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/", $a->get_hostname))) {
|
||||
if (empty($url) || (!link_compare($url, System::baseUrl())) && (!preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/", $a->get_hostname()))) {
|
||||
Config::set('system', 'url', System::baseUrl());
|
||||
}
|
||||
|
||||
|
|
@ -740,10 +590,17 @@ function update_db()
|
|||
return;
|
||||
}
|
||||
|
||||
// run the pre_update_nnnn functions in update.php
|
||||
for ($x = $stored + 1; $x <= $current; $x++) {
|
||||
$r = run_update_function($x, 'pre_update');
|
||||
if (!$r) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Config::set('database', 'dbupdate_' . DB_UPDATE_VERSION, time());
|
||||
|
||||
// run update routine
|
||||
// it update the structure in one call
|
||||
// update the structure in one call
|
||||
$retval = DBStructure::update(false, true);
|
||||
if ($retval) {
|
||||
DBStructure::updateFail(
|
||||
|
|
@ -755,9 +612,9 @@ function update_db()
|
|||
Config::set('database', 'dbupdate_' . DB_UPDATE_VERSION, 'success');
|
||||
}
|
||||
|
||||
// run any left update_nnnn functions in update.php
|
||||
// run the update_nnnn functions in update.php
|
||||
for ($x = $stored + 1; $x <= $current; $x++) {
|
||||
$r = run_update_function($x);
|
||||
$r = run_update_function($x, 'update');
|
||||
if (!$r) {
|
||||
break;
|
||||
}
|
||||
|
|
@ -768,9 +625,11 @@ function update_db()
|
|||
return;
|
||||
}
|
||||
|
||||
function run_update_function($x)
|
||||
function run_update_function($x, $prefix)
|
||||
{
|
||||
if (function_exists('update_' . $x)) {
|
||||
$funcname = $prefix . '_' . $x;
|
||||
|
||||
if (function_exists($funcname)) {
|
||||
// There could be a lot of processes running or about to run.
|
||||
// We want exactly one process to run the update command.
|
||||
// So store the fact that we're taking responsibility
|
||||
|
|
@ -778,16 +637,14 @@ function run_update_function($x)
|
|||
// If the update fails or times-out completely you may need to
|
||||
// delete the config entry to try again.
|
||||
|
||||
$t = Config::get('database', 'update_' . $x);
|
||||
$t = Config::get('database', $funcname);
|
||||
if (!is_null($t)) {
|
||||
return false;
|
||||
}
|
||||
Config::set('database', 'update_' . $x, time());
|
||||
Config::set('database', $funcname, time());
|
||||
|
||||
// call the specific update
|
||||
|
||||
$func = 'update_' . $x;
|
||||
$retval = $func();
|
||||
$retval = $funcname();
|
||||
|
||||
if ($retval) {
|
||||
//send the administrator an e-mail
|
||||
|
|
@ -797,13 +654,21 @@ function run_update_function($x)
|
|||
);
|
||||
return false;
|
||||
} else {
|
||||
Config::set('database', 'update_' . $x, 'success');
|
||||
Config::set('system', 'build', $x);
|
||||
Config::set('database', $funcname, 'success');
|
||||
|
||||
if ($prefix == 'update') {
|
||||
Config::set('system', 'build', $x);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
} else {
|
||||
Config::set('database', 'update_' . $x, 'success');
|
||||
Config::set('system', 'build', $x);
|
||||
Config::set('database', $funcname, 'success');
|
||||
|
||||
if ($prefix == 'update') {
|
||||
Config::set('system', 'build', $x);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
@ -811,7 +676,7 @@ function run_update_function($x)
|
|||
/**
|
||||
* @brief Synchronise addons:
|
||||
*
|
||||
* $a->config['system']['addon'] contains a comma-separated list of names
|
||||
* system.addon contains a comma-separated list of names
|
||||
* of addons which are used on this system.
|
||||
* Go through the database list of already installed addons, and if we have
|
||||
* an entry, but it isn't in the config list, call the uninstall procedure
|
||||
|
|
@ -824,7 +689,7 @@ function run_update_function($x)
|
|||
function check_addons(App $a)
|
||||
{
|
||||
$r = q("SELECT * FROM `addon` WHERE `installed` = 1");
|
||||
if (DBM::is_result($r)) {
|
||||
if (DBA::isResult($r)) {
|
||||
$installed = $r;
|
||||
} else {
|
||||
$installed = [];
|
||||
|
|
@ -864,28 +729,6 @@ function check_addons(App $a)
|
|||
return;
|
||||
}
|
||||
|
||||
function get_guid($size = 16, $prefix = '')
|
||||
{
|
||||
if (is_bool($prefix) && !$prefix) {
|
||||
$prefix = '';
|
||||
} elseif ($prefix == '') {
|
||||
$a = get_app();
|
||||
$prefix = hash('crc32', $a->get_hostname());
|
||||
}
|
||||
|
||||
while (strlen($prefix) < ($size - 13)) {
|
||||
$prefix .= mt_rand();
|
||||
}
|
||||
|
||||
if ($size >= 24) {
|
||||
$prefix = substr($prefix, 0, $size - 22);
|
||||
return str_replace('.', '', uniqid($prefix, true));
|
||||
} else {
|
||||
$prefix = substr($prefix, 0, max($size - 13, 0));
|
||||
return uniqid($prefix);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Used to end the current process, after saving session state.
|
||||
* @deprecated
|
||||
|
|
@ -917,7 +760,7 @@ function goaway($path)
|
|||
*/
|
||||
function local_user()
|
||||
{
|
||||
if (x($_SESSION, 'authenticated') && x($_SESSION, 'uid')) {
|
||||
if (!empty($_SESSION['authenticated']) && !empty($_SESSION['uid'])) {
|
||||
return intval($_SESSION['uid']);
|
||||
}
|
||||
return false;
|
||||
|
|
@ -960,6 +803,11 @@ function remote_user()
|
|||
// if (local_user()) {
|
||||
// return false;
|
||||
// }
|
||||
|
||||
if (empty($_SESSION)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (x($_SESSION, 'authenticated') && x($_SESSION, 'visitor_id')) {
|
||||
return intval($_SESSION['visitor_id']);
|
||||
}
|
||||
|
|
@ -975,6 +823,10 @@ function remote_user()
|
|||
*/
|
||||
function notice($s)
|
||||
{
|
||||
if (empty($_SESSION)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$a = get_app();
|
||||
if (!x($_SESSION, 'sysmsg')) {
|
||||
$_SESSION['sysmsg'] = [];
|
||||
|
|
@ -1007,17 +859,6 @@ function info($s)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Wrapper around config to limit the text length of an incoming message
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
function get_max_import_size()
|
||||
{
|
||||
$a = get_app();
|
||||
return (x($a->config, 'max_import_size') ? $a->config['max_import_size'] : 0);
|
||||
}
|
||||
|
||||
function feed_birthday($uid, $tz)
|
||||
{
|
||||
/**
|
||||
|
|
@ -1042,13 +883,9 @@ function feed_birthday($uid, $tz)
|
|||
$tz = 'UTC';
|
||||
}
|
||||
|
||||
$p = q(
|
||||
"SELECT `dob` FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1",
|
||||
intval($uid)
|
||||
);
|
||||
|
||||
if (DBM::is_result($p)) {
|
||||
$tmp_dob = substr($p[0]['dob'], 5);
|
||||
$profile = DBA::selectFirst('profile', ['dob'], ['is-default' => true, 'uid' => $uid]);
|
||||
if (DBA::isResult($profile)) {
|
||||
$tmp_dob = substr($profile['dob'], 5);
|
||||
if (intval($tmp_dob)) {
|
||||
$y = DateTimeFormat::timezoneNow($tz, 'Y');
|
||||
$bd = $y . '-' . $tmp_dob . ' 00:00';
|
||||
|
|
@ -1073,13 +910,11 @@ function is_site_admin()
|
|||
{
|
||||
$a = get_app();
|
||||
|
||||
$adminlist = explode(",", str_replace(" ", "", $a->config['admin_email']));
|
||||
$admin_email = Config::get('config', 'admin_email');
|
||||
|
||||
//if(local_user() && x($a->user,'email') && x($a->config,'admin_email') && ($a->user['email'] === $a->config['admin_email']))
|
||||
if (local_user() && x($a->user, 'email') && x($a->config, 'admin_email') && in_array($a->user['email'], $adminlist)) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
$adminlist = explode(',', str_replace(' ', '', $admin_email));
|
||||
|
||||
return local_user() && $admin_email && in_array(defaults($a->user, 'email', ''), $adminlist);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1155,7 +990,7 @@ function explode_querystring($query)
|
|||
function curPageURL()
|
||||
{
|
||||
$pageURL = 'http';
|
||||
if ($_SERVER["HTTPS"] == "on") {
|
||||
if (!empty($_SERVER["HTTPS"]) && ($_SERVER["HTTPS"] == "on")) {
|
||||
$pageURL .= "s";
|
||||
}
|
||||
|
||||
|
|
@ -1173,7 +1008,7 @@ function random_digits($digits)
|
|||
{
|
||||
$rn = '';
|
||||
for ($i = 0; $i < $digits; $i++) {
|
||||
/// @TODO rand() is different to mt_rand() and maybe lesser "random"
|
||||
/// @TODO Avoid rand/mt_rand, when it comes to cryptography, they are generating predictable (seedable) numbers.
|
||||
$rn .= rand(0, 9);
|
||||
}
|
||||
return $rn;
|
||||
|
|
@ -1187,7 +1022,7 @@ function get_server()
|
|||
$server = "https://dir.friendica.social";
|
||||
}
|
||||
|
||||
return($server);
|
||||
return $server;
|
||||
}
|
||||
|
||||
function get_temppath()
|
||||
|
|
@ -1236,7 +1071,7 @@ function get_cachefile($file, $writemode = true)
|
|||
$cache = get_itemcachepath();
|
||||
|
||||
if ((!$cache) || (!is_dir($cache))) {
|
||||
return("");
|
||||
return "";
|
||||
}
|
||||
|
||||
$subfolder = $cache . "/" . substr($file, 0, 2);
|
||||
|
|
@ -1250,7 +1085,6 @@ function get_cachefile($file, $writemode = true)
|
|||
}
|
||||
}
|
||||
|
||||
/// @TODO no need to put braces here
|
||||
return $cachepath;
|
||||
}
|
||||
|
||||
|
|
@ -1357,7 +1191,6 @@ function get_spoolpath()
|
|||
return "";
|
||||
}
|
||||
|
||||
|
||||
if (!function_exists('exif_imagetype')) {
|
||||
function exif_imagetype($file)
|
||||
{
|
||||
|
|
@ -1395,7 +1228,7 @@ function validate_include(&$file)
|
|||
}
|
||||
|
||||
// Simply return flag
|
||||
return ($valid);
|
||||
return $valid;
|
||||
}
|
||||
|
||||
function current_load()
|
||||
|
|
|
|||
|
|
@ -13,18 +13,17 @@
|
|||
"issues": "https://github.com/friendica/friendica/issues"
|
||||
},
|
||||
"require": {
|
||||
"php": ">5.6",
|
||||
"php": ">=5.6.1",
|
||||
"ext-xml": "*",
|
||||
"asika/simple-console": "^1.0",
|
||||
"divineomega/password_exposed": "^2.4",
|
||||
"ezyang/htmlpurifier": "~4.7.0",
|
||||
"league/html-to-markdown": "~4.4.1",
|
||||
"league/html-to-markdown": "~4.8.0",
|
||||
"lightopenid/lightopenid": "dev-master",
|
||||
"michelf/php-markdown": "^1.7",
|
||||
"mobiledetect/mobiledetectlib": "2.8.*",
|
||||
"paragonie/random_compat": "^2.0",
|
||||
"pear/Text_LanguageDetect": "1.*",
|
||||
"pear/Text_Highlighter": "dev-master",
|
||||
"seld/cli-prompt": "^1.0",
|
||||
"smarty/smarty": "^3.1",
|
||||
"fxp/composer-asset-plugin": "~1.3",
|
||||
|
|
@ -37,7 +36,8 @@
|
|||
"npm-asset/jquery-datetimepicker": "^2.4.0",
|
||||
"npm-asset/jgrowl": "^1.4",
|
||||
"npm-asset/fullcalendar": "^3.0.1",
|
||||
"npm-asset/cropperjs": "1.2.2"
|
||||
"npm-asset/cropperjs": "1.2.2",
|
||||
"npm-asset/imagesloaded": "4.1.4"
|
||||
},
|
||||
"repositories": [
|
||||
{
|
||||
|
|
@ -47,7 +47,8 @@
|
|||
],
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Friendica\\": "src/"
|
||||
"Friendica\\": "src/",
|
||||
"Friendica\\Test\\": "tests/"
|
||||
},
|
||||
"psr-0": {
|
||||
"": "library/"
|
||||
|
|
@ -68,5 +69,14 @@
|
|||
"exclude": [
|
||||
"log", "cache", "/photo", "/proxy"
|
||||
]
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/dbunit": "^2.0",
|
||||
"phpdocumentor/reflection-docblock": "^3.0.2",
|
||||
"phpunit/php-token-stream": "^1.4.2",
|
||||
"mikey179/vfsStream": "^1.6"
|
||||
},
|
||||
"scripts": {
|
||||
"test": "phpunit"
|
||||
}
|
||||
}
|
||||
|
|
|
|||
1806
composer.lock
generated
1806
composer.lock
generated
|
|
@ -4,7 +4,7 @@
|
|||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"content-hash": "f97245142e60a521f048a667bec4e436",
|
||||
"content-hash": "5f6a43237dc52758484cd21cd76e8ce6",
|
||||
"packages": [
|
||||
{
|
||||
"name": "asika/simple-console",
|
||||
|
|
@ -483,16 +483,16 @@
|
|||
},
|
||||
{
|
||||
"name": "league/html-to-markdown",
|
||||
"version": "4.4.1",
|
||||
"version": "4.8.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/thephpleague/html-to-markdown.git",
|
||||
"reference": "82ea375b5b2b1da1da222644c0565c695bf88186"
|
||||
"reference": "f9a879a068c68ff47b722de63f58bec79e448f9d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/82ea375b5b2b1da1da222644c0565c695bf88186",
|
||||
"reference": "82ea375b5b2b1da1da222644c0565c695bf88186",
|
||||
"url": "https://api.github.com/repos/thephpleague/html-to-markdown/zipball/f9a879a068c68ff47b722de63f58bec79e448f9d",
|
||||
"reference": "f9a879a068c68ff47b722de63f58bec79e448f9d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
|
|
@ -511,7 +511,7 @@
|
|||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "4.5-dev"
|
||||
"dev-master": "4.9-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
|
|
@ -524,17 +524,17 @@
|
|||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Colin O'Dell",
|
||||
"email": "colinodell@gmail.com",
|
||||
"homepage": "http://www.colinodell.com",
|
||||
"role": "Lead Developer"
|
||||
},
|
||||
{
|
||||
"name": "Nick Cernis",
|
||||
"email": "nick@cern.is",
|
||||
"homepage": "http://modernnerd.net",
|
||||
"role": "Original Author"
|
||||
},
|
||||
{
|
||||
"name": "Colin O'Dell",
|
||||
"email": "colinodell@gmail.com",
|
||||
"homepage": "https://www.colinodell.com",
|
||||
"role": "Lead Developer"
|
||||
}
|
||||
],
|
||||
"description": "An HTML-to-markdown conversion helper for PHP",
|
||||
|
|
@ -543,7 +543,7 @@
|
|||
"html",
|
||||
"markdown"
|
||||
],
|
||||
"time": "2017-03-16T00:45:59+00:00"
|
||||
"time": "2018-09-18T12:18:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "lightopenid/lightopenid",
|
||||
|
|
@ -770,6 +770,49 @@
|
|||
],
|
||||
"time": "2018-01-03T13:39:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "npm-asset/ev-emitter",
|
||||
"version": "1.1.1",
|
||||
"dist": {
|
||||
"type": "tar",
|
||||
"url": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-1.1.1.tgz",
|
||||
"reference": null,
|
||||
"shasum": "8f18b0ce5c76a5d18017f71c0a795c65b9138f2a"
|
||||
},
|
||||
"type": "npm-asset-library",
|
||||
"extra": {
|
||||
"npm-asset-bugs": {
|
||||
"url": "https://github.com/metafizzy/ev-emitter/issues"
|
||||
},
|
||||
"npm-asset-main": "ev-emitter.js",
|
||||
"npm-asset-directories": {
|
||||
"test": "test"
|
||||
},
|
||||
"npm-asset-repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/metafizzy/ev-emitter.git"
|
||||
},
|
||||
"npm-asset-scripts": {
|
||||
"test": "mocha test/test"
|
||||
}
|
||||
},
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "David DeSandro"
|
||||
}
|
||||
],
|
||||
"description": "lil' event emitter",
|
||||
"homepage": "https://github.com/metafizzy/ev-emitter#readme",
|
||||
"keywords": [
|
||||
"emitter",
|
||||
"event",
|
||||
"pubsub"
|
||||
],
|
||||
"time": "2017-07-06T13:46:38+00:00"
|
||||
},
|
||||
{
|
||||
"name": "npm-asset/fullcalendar",
|
||||
"version": "3.8.2",
|
||||
|
|
@ -882,6 +925,70 @@
|
|||
],
|
||||
"time": "2018-01-30T23:49:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "npm-asset/imagesloaded",
|
||||
"version": "4.1.4",
|
||||
"dist": {
|
||||
"type": "tar",
|
||||
"url": "https://registry.npmjs.org/imagesloaded/-/imagesloaded-4.1.4.tgz",
|
||||
"reference": null,
|
||||
"shasum": "1376efcd162bb768c34c3727ac89cc04051f3cc7"
|
||||
},
|
||||
"require": {
|
||||
"npm-asset/ev-emitter": ">=1.0.0,<2.0.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"npm-asset/chalk": ">=1.1.1,<2.0.0",
|
||||
"npm-asset/cheerio": ">=0.19.0,<0.20.0",
|
||||
"npm-asset/gulp": ">=3.9.0,<4.0.0",
|
||||
"npm-asset/gulp-jshint": ">=1.11.2,<2.0.0",
|
||||
"npm-asset/gulp-json-lint": ">=0.1.0,<0.2.0",
|
||||
"npm-asset/gulp-rename": ">=1.2.2,<2.0.0",
|
||||
"npm-asset/gulp-replace": ">=0.5.4,<0.6.0",
|
||||
"npm-asset/gulp-requirejs-optimize": "dev-github:metafizzy/gulp-requirejs-optimize",
|
||||
"npm-asset/gulp-uglify": ">=1.4.2,<2.0.0",
|
||||
"npm-asset/gulp-util": ">=3.0.7,<4.0.0",
|
||||
"npm-asset/highlight.js": ">=8.9.1,<9.0.0",
|
||||
"npm-asset/marked": ">=0.3.5,<0.4.0",
|
||||
"npm-asset/minimist": ">=1.2.0,<2.0.0",
|
||||
"npm-asset/transfob": ">=1.0.0,<2.0.0"
|
||||
},
|
||||
"type": "npm-asset-library",
|
||||
"extra": {
|
||||
"npm-asset-bugs": {
|
||||
"url": "https://github.com/desandro/imagesloaded/issues"
|
||||
},
|
||||
"npm-asset-main": "imagesloaded.js",
|
||||
"npm-asset-directories": {
|
||||
"test": "test"
|
||||
},
|
||||
"npm-asset-repository": {
|
||||
"type": "git",
|
||||
"url": "git://github.com/desandro/imagesloaded.git"
|
||||
},
|
||||
"npm-asset-scripts": {
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
}
|
||||
},
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "David DeSandro"
|
||||
}
|
||||
],
|
||||
"description": "JavaScript is all like _You images done yet or what?_",
|
||||
"homepage": "https://github.com/desandro/imagesloaded",
|
||||
"keywords": [
|
||||
"dom",
|
||||
"images",
|
||||
"jquery-plugin",
|
||||
"loaded",
|
||||
"ui"
|
||||
],
|
||||
"time": "2018-01-02T16:56:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "npm-asset/jgrowl",
|
||||
"version": "1.4.6",
|
||||
|
|
@ -1562,204 +1669,6 @@
|
|||
],
|
||||
"time": "2018-02-15T05:50:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pear/console_getopt",
|
||||
"version": "v1.4.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pear/Console_Getopt.git",
|
||||
"reference": "82f05cd1aa3edf34e19aa7c8ca312ce13a6a577f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pear/Console_Getopt/zipball/82f05cd1aa3edf34e19aa7c8ca312ce13a6a577f",
|
||||
"reference": "82f05cd1aa3edf34e19aa7c8ca312ce13a6a577f",
|
||||
"shasum": ""
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Console": "./"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"include-path": [
|
||||
"./"
|
||||
],
|
||||
"license": [
|
||||
"BSD-2-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Greg Beaver",
|
||||
"email": "cellog@php.net",
|
||||
"role": "Helper"
|
||||
},
|
||||
{
|
||||
"name": "Andrei Zmievski",
|
||||
"email": "andrei@php.net",
|
||||
"role": "Lead"
|
||||
},
|
||||
{
|
||||
"name": "Stig Bakken",
|
||||
"email": "stig@php.net",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "More info available on: http://pear.php.net/package/Console_Getopt",
|
||||
"time": "2015-07-20T20:28:12+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pear/pear-core-minimal",
|
||||
"version": "v1.10.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pear/pear-core-minimal.git",
|
||||
"reference": "070f0b600b2caca2501e2c9b7e553016e4b0d115"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pear/pear-core-minimal/zipball/070f0b600b2caca2501e2c9b7e553016e4b0d115",
|
||||
"reference": "070f0b600b2caca2501e2c9b7e553016e4b0d115",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"pear/console_getopt": "~1.4",
|
||||
"pear/pear_exception": "~1.0"
|
||||
},
|
||||
"replace": {
|
||||
"rsky/pear-core-min": "self.version"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"include-path": [
|
||||
"src/"
|
||||
],
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Christian Weiske",
|
||||
"email": "cweiske@php.net",
|
||||
"role": "Lead"
|
||||
}
|
||||
],
|
||||
"description": "Minimal set of PEAR core files to be used as composer dependency",
|
||||
"time": "2017-02-28T16:46:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pear/pear_exception",
|
||||
"version": "v1.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pear/PEAR_Exception.git",
|
||||
"reference": "8c18719fdae000b690e3912be401c76e406dd13b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/8c18719fdae000b690e3912be401c76e406dd13b",
|
||||
"reference": "8c18719fdae000b690e3912be401c76e406dd13b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=4.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "*"
|
||||
},
|
||||
"type": "class",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"PEAR": ""
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"include-path": [
|
||||
"."
|
||||
],
|
||||
"license": [
|
||||
"BSD-2-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Helgi Thormar",
|
||||
"email": "dufuz@php.net"
|
||||
},
|
||||
{
|
||||
"name": "Greg Beaver",
|
||||
"email": "cellog@php.net"
|
||||
}
|
||||
],
|
||||
"description": "The PEAR Exception base class.",
|
||||
"homepage": "https://github.com/pear/PEAR_Exception",
|
||||
"keywords": [
|
||||
"exception"
|
||||
],
|
||||
"time": "2015-02-10T20:07:52+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pear/text_highlighter",
|
||||
"version": "dev-master",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/pear/Text_Highlighter.git",
|
||||
"reference": "2ccac2d9eaf55dc08bbbdb7136c93fb399d0f855"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/pear/Text_Highlighter/zipball/2ccac2d9eaf55dc08bbbdb7136c93fb399d0f855",
|
||||
"reference": "2ccac2d9eaf55dc08bbbdb7136c93fb399d0f855",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"pear/pear-core-minimal": "~1.10.0",
|
||||
"php": ">=5.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "@stable"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Text": "./"
|
||||
}
|
||||
},
|
||||
"include-path": [
|
||||
"./"
|
||||
],
|
||||
"license": [
|
||||
"PHP-3.01"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"email": "ssttoo@gmail.com",
|
||||
"name": "Stoyan Stefanov",
|
||||
"role": "Lead"
|
||||
},
|
||||
{
|
||||
"email": "demenev@gmail.com",
|
||||
"name": "Andrey Demenev",
|
||||
"role": "Lead"
|
||||
}
|
||||
],
|
||||
"description": "More info available on: http://pear.php.net/package/Text_Highlighter",
|
||||
"support": {
|
||||
"issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Text_Highlighter",
|
||||
"source": "https://github.com/pear/Text_Highlighter"
|
||||
},
|
||||
"time": "2018-01-27T08:24:15+00:00"
|
||||
},
|
||||
{
|
||||
"name": "pear/text_languagedetect",
|
||||
"version": "v1.0.0",
|
||||
|
|
@ -2090,17 +1999,1484 @@
|
|||
"time": "2016-12-14T21:57:25+00:00"
|
||||
}
|
||||
],
|
||||
"packages-dev": [],
|
||||
"packages-dev": [
|
||||
{
|
||||
"name": "doctrine/instantiator",
|
||||
"version": "1.0.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/doctrine/instantiator.git",
|
||||
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/doctrine/instantiator/zipball/8e884e78f9f0eb1329e445619e04456e64d8051d",
|
||||
"reference": "8e884e78f9f0eb1329e445619e04456e64d8051d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3,<8.0-DEV"
|
||||
},
|
||||
"require-dev": {
|
||||
"athletic/athletic": "~0.1.8",
|
||||
"ext-pdo": "*",
|
||||
"ext-phar": "*",
|
||||
"phpunit/phpunit": "~4.0",
|
||||
"squizlabs/php_codesniffer": "~2.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Marco Pivetta",
|
||||
"email": "ocramius@gmail.com",
|
||||
"homepage": "http://ocramius.github.com/"
|
||||
}
|
||||
],
|
||||
"description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
|
||||
"homepage": "https://github.com/doctrine/instantiator",
|
||||
"keywords": [
|
||||
"constructor",
|
||||
"instantiate"
|
||||
],
|
||||
"time": "2015-06-14T21:17:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "mikey179/vfsStream",
|
||||
"version": "v1.6.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/mikey179/vfsStream.git",
|
||||
"reference": "d5fec95f541d4d71c4823bb5e30cf9b9e5b96145"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/mikey179/vfsStream/zipball/d5fec95f541d4d71c4823bb5e30cf9b9e5b96145",
|
||||
"reference": "d5fec95f541d4d71c4823bb5e30cf9b9e5b96145",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.5"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.6.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"org\\bovigo\\vfs\\": "src/main/php"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Frank Kleine",
|
||||
"homepage": "http://frankkleine.de/",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Virtual file system to mock the real file system in unit tests.",
|
||||
"homepage": "http://vfs.bovigo.org/",
|
||||
"time": "2017-08-01T08:02:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "myclabs/deep-copy",
|
||||
"version": "1.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/myclabs/DeepCopy.git",
|
||||
"reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
|
||||
"reference": "3b8a3a99ba1f6a3952ac2747d989303cbd6b7a3e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.6 || ^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"doctrine/collections": "^1.0",
|
||||
"doctrine/common": "^2.6",
|
||||
"phpunit/phpunit": "^4.1"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"DeepCopy\\": "src/DeepCopy/"
|
||||
},
|
||||
"files": [
|
||||
"src/DeepCopy/deep_copy.php"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"description": "Create deep copies (clones) of your objects",
|
||||
"keywords": [
|
||||
"clone",
|
||||
"copy",
|
||||
"duplicate",
|
||||
"object",
|
||||
"object graph"
|
||||
],
|
||||
"time": "2017-10-19T19:58:43+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phar-io/version",
|
||||
"version": "1.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phar-io/version.git",
|
||||
"reference": "a70c0ced4be299a63d32fa96d9281d03e94041df"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phar-io/version/zipball/a70c0ced4be299a63d32fa96d9281d03e94041df",
|
||||
"reference": "a70c0ced4be299a63d32fa96d9281d03e94041df",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.6 || ^7.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Arne Blankerts",
|
||||
"email": "arne@blankerts.de",
|
||||
"role": "Developer"
|
||||
},
|
||||
{
|
||||
"name": "Sebastian Heuer",
|
||||
"email": "sebastian@phpeople.de",
|
||||
"role": "Developer"
|
||||
},
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "Library for handling version information and constraints",
|
||||
"time": "2017-03-05T17:38:23+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-common",
|
||||
"version": "1.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/ReflectionCommon.git",
|
||||
"reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
|
||||
"reference": "21bdeb5f65d7ebf9f43b1b25d404f87deab5bfb6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.5"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.6"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"phpDocumentor\\Reflection\\": [
|
||||
"src"
|
||||
]
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jaap van Otterdijk",
|
||||
"email": "opensource@ijaap.nl"
|
||||
}
|
||||
],
|
||||
"description": "Common reflection classes used by phpdocumentor to reflect the code structure",
|
||||
"homepage": "http://www.phpdoc.org",
|
||||
"keywords": [
|
||||
"FQSEN",
|
||||
"phpDocumentor",
|
||||
"phpdoc",
|
||||
"reflection",
|
||||
"static analysis"
|
||||
],
|
||||
"time": "2017-09-11T18:02:19+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/reflection-docblock",
|
||||
"version": "3.3.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
|
||||
"reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/bf329f6c1aadea3299f08ee804682b7c45b326a2",
|
||||
"reference": "bf329f6c1aadea3299f08ee804682b7c45b326a2",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.6 || ^7.0",
|
||||
"phpdocumentor/reflection-common": "^1.0.0",
|
||||
"phpdocumentor/type-resolver": "^0.4.0",
|
||||
"webmozart/assert": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^0.9.4",
|
||||
"phpunit/phpunit": "^4.4"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"phpDocumentor\\Reflection\\": [
|
||||
"src/"
|
||||
]
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Mike van Riel",
|
||||
"email": "me@mikevanriel.com"
|
||||
}
|
||||
],
|
||||
"description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
|
||||
"time": "2017-11-10T14:09:06+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpdocumentor/type-resolver",
|
||||
"version": "0.4.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpDocumentor/TypeResolver.git",
|
||||
"reference": "9c977708995954784726e25d0cd1dddf4e65b0f7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/9c977708995954784726e25d0cd1dddf4e65b0f7",
|
||||
"reference": "9c977708995954784726e25d0cd1dddf4e65b0f7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.5 || ^7.0",
|
||||
"phpdocumentor/reflection-common": "^1.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"mockery/mockery": "^0.9.4",
|
||||
"phpunit/phpunit": "^5.2||^4.8.24"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"phpDocumentor\\Reflection\\": [
|
||||
"src/"
|
||||
]
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Mike van Riel",
|
||||
"email": "me@mikevanriel.com"
|
||||
}
|
||||
],
|
||||
"time": "2017-07-14T14:27:02+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpspec/prophecy",
|
||||
"version": "1.7.6",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpspec/prophecy.git",
|
||||
"reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpspec/prophecy/zipball/33a7e3c4fda54e912ff6338c48823bd5c0f0b712",
|
||||
"reference": "33a7e3c4fda54e912ff6338c48823bd5c0f0b712",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/instantiator": "^1.0.2",
|
||||
"php": "^5.3|^7.0",
|
||||
"phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0",
|
||||
"sebastian/comparator": "^1.1|^2.0|^3.0",
|
||||
"sebastian/recursion-context": "^1.0|^2.0|^3.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpspec/phpspec": "^2.5|^3.2",
|
||||
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.7.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Prophecy\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Konstantin Kudryashov",
|
||||
"email": "ever.zet@gmail.com",
|
||||
"homepage": "http://everzet.com"
|
||||
},
|
||||
{
|
||||
"name": "Marcello Duarte",
|
||||
"email": "marcello.duarte@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Highly opinionated mocking framework for PHP 5.3+",
|
||||
"homepage": "https://github.com/phpspec/prophecy",
|
||||
"keywords": [
|
||||
"Double",
|
||||
"Dummy",
|
||||
"fake",
|
||||
"mock",
|
||||
"spy",
|
||||
"stub"
|
||||
],
|
||||
"time": "2018-04-18T13:57:24+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/dbunit",
|
||||
"version": "2.0.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/dbunit.git",
|
||||
"reference": "5c35d74549c21ba55d0ea74ba89d191a51f8cf25"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/dbunit/zipball/5c35d74549c21ba55d0ea74ba89d191a51f8cf25",
|
||||
"reference": "5c35d74549c21ba55d0ea74ba89d191a51f8cf25",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-pdo": "*",
|
||||
"ext-simplexml": "*",
|
||||
"php": "^5.4 || ^7.0",
|
||||
"phpunit/phpunit": "^4.0 || ^5.0 || ^6.0",
|
||||
"symfony/yaml": "^2.1 || ^3.0"
|
||||
},
|
||||
"bin": [
|
||||
"dbunit"
|
||||
],
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sb@sebastian-bergmann.de",
|
||||
"role": "lead"
|
||||
}
|
||||
],
|
||||
"description": "DbUnit port for PHP/PHPUnit to support database interaction testing.",
|
||||
"homepage": "https://github.com/sebastianbergmann/dbunit/",
|
||||
"keywords": [
|
||||
"database",
|
||||
"testing",
|
||||
"xunit"
|
||||
],
|
||||
"time": "2016-12-02T14:39:14+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
"version": "4.0.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||
"reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
|
||||
"reference": "ef7b2f56815df854e66ceaee8ebe9393ae36a40d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-dom": "*",
|
||||
"ext-xmlwriter": "*",
|
||||
"php": "^5.6 || ^7.0",
|
||||
"phpunit/php-file-iterator": "^1.3",
|
||||
"phpunit/php-text-template": "^1.2",
|
||||
"phpunit/php-token-stream": "^1.4.2 || ^2.0",
|
||||
"sebastian/code-unit-reverse-lookup": "^1.0",
|
||||
"sebastian/environment": "^1.3.2 || ^2.0",
|
||||
"sebastian/version": "^1.0 || ^2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-xdebug": "^2.1.4",
|
||||
"phpunit/phpunit": "^5.7"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-xdebug": "^2.5.1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "4.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sb@sebastian-bergmann.de",
|
||||
"role": "lead"
|
||||
}
|
||||
],
|
||||
"description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
|
||||
"homepage": "https://github.com/sebastianbergmann/php-code-coverage",
|
||||
"keywords": [
|
||||
"coverage",
|
||||
"testing",
|
||||
"xunit"
|
||||
],
|
||||
"time": "2017-04-02T07:44:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-file-iterator",
|
||||
"version": "1.4.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
|
||||
"reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/730b01bc3e867237eaac355e06a36b85dd93a8b4",
|
||||
"reference": "730b01bc3e867237eaac355e06a36b85dd93a8b4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.4.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sb@sebastian-bergmann.de",
|
||||
"role": "lead"
|
||||
}
|
||||
],
|
||||
"description": "FilterIterator implementation that filters files based on a list of suffixes.",
|
||||
"homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
|
||||
"keywords": [
|
||||
"filesystem",
|
||||
"iterator"
|
||||
],
|
||||
"time": "2017-11-27T13:52:08+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-text-template",
|
||||
"version": "1.2.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-text-template.git",
|
||||
"reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
|
||||
"reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de",
|
||||
"role": "lead"
|
||||
}
|
||||
],
|
||||
"description": "Simple template engine.",
|
||||
"homepage": "https://github.com/sebastianbergmann/php-text-template/",
|
||||
"keywords": [
|
||||
"template"
|
||||
],
|
||||
"time": "2015-06-21T13:50:34+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-timer",
|
||||
"version": "1.0.9",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-timer.git",
|
||||
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
|
||||
"reference": "3dcf38ca72b158baf0bc245e9184d3fdffa9c46f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.3.3 || ^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sb@sebastian-bergmann.de",
|
||||
"role": "lead"
|
||||
}
|
||||
],
|
||||
"description": "Utility class for timing",
|
||||
"homepage": "https://github.com/sebastianbergmann/php-timer/",
|
||||
"keywords": [
|
||||
"timer"
|
||||
],
|
||||
"time": "2017-02-26T11:10:40+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-token-stream",
|
||||
"version": "1.4.12",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/php-token-stream.git",
|
||||
"reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/1ce90ba27c42e4e44e6d8458241466380b51fa16",
|
||||
"reference": "1ce90ba27c42e4e44e6d8458241466380b51fa16",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-tokenizer": "*",
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.2"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.4-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de"
|
||||
}
|
||||
],
|
||||
"description": "Wrapper around PHP's tokenizer extension.",
|
||||
"homepage": "https://github.com/sebastianbergmann/php-token-stream/",
|
||||
"keywords": [
|
||||
"tokenizer"
|
||||
],
|
||||
"time": "2017-12-04T08:55:13+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "5.7.27",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c",
|
||||
"reference": "b7803aeca3ccb99ad0a506fa80b64cd6a56bbc0c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-dom": "*",
|
||||
"ext-json": "*",
|
||||
"ext-libxml": "*",
|
||||
"ext-mbstring": "*",
|
||||
"ext-xml": "*",
|
||||
"myclabs/deep-copy": "~1.3",
|
||||
"php": "^5.6 || ^7.0",
|
||||
"phpspec/prophecy": "^1.6.2",
|
||||
"phpunit/php-code-coverage": "^4.0.4",
|
||||
"phpunit/php-file-iterator": "~1.4",
|
||||
"phpunit/php-text-template": "~1.2",
|
||||
"phpunit/php-timer": "^1.0.6",
|
||||
"phpunit/phpunit-mock-objects": "^3.2",
|
||||
"sebastian/comparator": "^1.2.4",
|
||||
"sebastian/diff": "^1.4.3",
|
||||
"sebastian/environment": "^1.3.4 || ^2.0",
|
||||
"sebastian/exporter": "~2.0",
|
||||
"sebastian/global-state": "^1.1",
|
||||
"sebastian/object-enumerator": "~2.0",
|
||||
"sebastian/resource-operations": "~1.0",
|
||||
"sebastian/version": "^1.0.6|^2.0.1",
|
||||
"symfony/yaml": "~2.1|~3.0|~4.0"
|
||||
},
|
||||
"conflict": {
|
||||
"phpdocumentor/reflection-docblock": "3.0.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-pdo": "*"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-xdebug": "*",
|
||||
"phpunit/php-invoker": "~1.1"
|
||||
},
|
||||
"bin": [
|
||||
"phpunit"
|
||||
],
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "5.7.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de",
|
||||
"role": "lead"
|
||||
}
|
||||
],
|
||||
"description": "The PHP Unit Testing framework.",
|
||||
"homepage": "https://phpunit.de/",
|
||||
"keywords": [
|
||||
"phpunit",
|
||||
"testing",
|
||||
"xunit"
|
||||
],
|
||||
"time": "2018-02-01T05:50:59+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit-mock-objects",
|
||||
"version": "3.4.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit-mock-objects.git",
|
||||
"reference": "a23b761686d50a560cc56233b9ecf49597cc9118"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit-mock-objects/zipball/a23b761686d50a560cc56233b9ecf49597cc9118",
|
||||
"reference": "a23b761686d50a560cc56233b9ecf49597cc9118",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"doctrine/instantiator": "^1.0.2",
|
||||
"php": "^5.6 || ^7.0",
|
||||
"phpunit/php-text-template": "^1.2",
|
||||
"sebastian/exporter": "^1.2 || ^2.0"
|
||||
},
|
||||
"conflict": {
|
||||
"phpunit/phpunit": "<5.4.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^5.4"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-soap": "*"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.2.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sb@sebastian-bergmann.de",
|
||||
"role": "lead"
|
||||
}
|
||||
],
|
||||
"description": "Mock Object library for PHPUnit",
|
||||
"homepage": "https://github.com/sebastianbergmann/phpunit-mock-objects/",
|
||||
"keywords": [
|
||||
"mock",
|
||||
"xunit"
|
||||
],
|
||||
"time": "2017-06-30T09:13:00+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/code-unit-reverse-lookup",
|
||||
"version": "1.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
|
||||
"reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
|
||||
"reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.6 || ^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^5.7 || ^6.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de"
|
||||
}
|
||||
],
|
||||
"description": "Looks up which function or method a line of code belongs to",
|
||||
"homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
|
||||
"time": "2017-03-04T06:30:41+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/comparator",
|
||||
"version": "1.2.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/comparator.git",
|
||||
"reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
|
||||
"reference": "2b7424b55f5047b47ac6e5ccb20b2aea4011d9be",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3",
|
||||
"sebastian/diff": "~1.2",
|
||||
"sebastian/exporter": "~1.2 || ~2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.4"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.2.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jeff Welch",
|
||||
"email": "whatthejeff@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Volker Dusch",
|
||||
"email": "github@wallbash.com"
|
||||
},
|
||||
{
|
||||
"name": "Bernhard Schussek",
|
||||
"email": "bschussek@2bepublished.at"
|
||||
},
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de"
|
||||
}
|
||||
],
|
||||
"description": "Provides the functionality to compare PHP values for equality",
|
||||
"homepage": "http://www.github.com/sebastianbergmann/comparator",
|
||||
"keywords": [
|
||||
"comparator",
|
||||
"compare",
|
||||
"equality"
|
||||
],
|
||||
"time": "2017-01-29T09:50:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/diff",
|
||||
"version": "1.4.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/diff.git",
|
||||
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7f066a26a962dbe58ddea9f72a4e82874a3975a4",
|
||||
"reference": "7f066a26a962dbe58ddea9f72a4e82874a3975a4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.3.3 || ^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.4-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Kore Nordmann",
|
||||
"email": "mail@kore-nordmann.de"
|
||||
},
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de"
|
||||
}
|
||||
],
|
||||
"description": "Diff implementation",
|
||||
"homepage": "https://github.com/sebastianbergmann/diff",
|
||||
"keywords": [
|
||||
"diff"
|
||||
],
|
||||
"time": "2017-05-22T07:24:03+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/environment",
|
||||
"version": "2.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/environment.git",
|
||||
"reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
|
||||
"reference": "5795ffe5dc5b02460c3e34222fee8cbe245d8fac",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.6 || ^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^5.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de"
|
||||
}
|
||||
],
|
||||
"description": "Provides functionality to handle HHVM/PHP environments",
|
||||
"homepage": "http://www.github.com/sebastianbergmann/environment",
|
||||
"keywords": [
|
||||
"Xdebug",
|
||||
"environment",
|
||||
"hhvm"
|
||||
],
|
||||
"time": "2016-11-26T07:53:53+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/exporter",
|
||||
"version": "2.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/exporter.git",
|
||||
"reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
|
||||
"reference": "ce474bdd1a34744d7ac5d6aad3a46d48d9bac4c4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3",
|
||||
"sebastian/recursion-context": "~2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-mbstring": "*",
|
||||
"phpunit/phpunit": "~4.4"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jeff Welch",
|
||||
"email": "whatthejeff@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Volker Dusch",
|
||||
"email": "github@wallbash.com"
|
||||
},
|
||||
{
|
||||
"name": "Bernhard Schussek",
|
||||
"email": "bschussek@2bepublished.at"
|
||||
},
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de"
|
||||
},
|
||||
{
|
||||
"name": "Adam Harvey",
|
||||
"email": "aharvey@php.net"
|
||||
}
|
||||
],
|
||||
"description": "Provides the functionality to export PHP variables for visualization",
|
||||
"homepage": "http://www.github.com/sebastianbergmann/exporter",
|
||||
"keywords": [
|
||||
"export",
|
||||
"exporter"
|
||||
],
|
||||
"time": "2016-11-19T08:54:04+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/global-state",
|
||||
"version": "1.1.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/global-state.git",
|
||||
"reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bc37d50fea7d017d3d340f230811c9f1d7280af4",
|
||||
"reference": "bc37d50fea7d017d3d340f230811c9f1d7280af4",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.2"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-uopz": "*"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de"
|
||||
}
|
||||
],
|
||||
"description": "Snapshotting of global state",
|
||||
"homepage": "http://www.github.com/sebastianbergmann/global-state",
|
||||
"keywords": [
|
||||
"global state"
|
||||
],
|
||||
"time": "2015-10-12T03:26:01+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/object-enumerator",
|
||||
"version": "2.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
|
||||
"reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1311872ac850040a79c3c058bea3e22d0f09cbb7",
|
||||
"reference": "1311872ac850040a79c3c058bea3e22d0f09cbb7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.6",
|
||||
"sebastian/recursion-context": "~2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~5"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de"
|
||||
}
|
||||
],
|
||||
"description": "Traverses array structures and object graphs to enumerate all referenced objects",
|
||||
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
|
||||
"time": "2017-02-18T15:18:39+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/recursion-context",
|
||||
"version": "2.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/recursion-context.git",
|
||||
"reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/2c3ba150cbec723aa057506e73a8d33bdb286c9a",
|
||||
"reference": "2c3ba150cbec723aa057506e73a8d33bdb286c9a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "~4.4"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jeff Welch",
|
||||
"email": "whatthejeff@gmail.com"
|
||||
},
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de"
|
||||
},
|
||||
{
|
||||
"name": "Adam Harvey",
|
||||
"email": "aharvey@php.net"
|
||||
}
|
||||
],
|
||||
"description": "Provides functionality to recursively process PHP variables",
|
||||
"homepage": "http://www.github.com/sebastianbergmann/recursion-context",
|
||||
"time": "2016-11-19T07:33:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/resource-operations",
|
||||
"version": "1.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/resource-operations.git",
|
||||
"reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
|
||||
"reference": "ce990bb21759f94aeafd30209e8cfcdfa8bc3f52",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.6.0"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de"
|
||||
}
|
||||
],
|
||||
"description": "Provides a list of PHP built-in functions that operate on resources",
|
||||
"homepage": "https://www.github.com/sebastianbergmann/resource-operations",
|
||||
"time": "2015-07-28T20:34:47+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/version",
|
||||
"version": "2.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/version.git",
|
||||
"reference": "99732be0ddb3361e16ad77b68ba41efc8e979019"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019",
|
||||
"reference": "99732be0ddb3361e16ad77b68ba41efc8e979019",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.6"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "2.0.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
"src/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"BSD-3-Clause"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Sebastian Bergmann",
|
||||
"email": "sebastian@phpunit.de",
|
||||
"role": "lead"
|
||||
}
|
||||
],
|
||||
"description": "Library that helps with managing the version number of Git-hosted PHP projects",
|
||||
"homepage": "https://github.com/sebastianbergmann/version",
|
||||
"time": "2016-10-03T07:35:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v3.4.8",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "a42f9da85c7c38d59f5e53f076fe81a091f894d0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/a42f9da85c7c38d59f5e53f076fe81a091f894d0",
|
||||
"reference": "a42f9da85c7c38d59f5e53f076fe81a091f894d0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.5.9|>=7.0.8"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/console": "<3.4"
|
||||
},
|
||||
"require-dev": {
|
||||
"symfony/console": "~3.4|~4.0"
|
||||
},
|
||||
"suggest": {
|
||||
"symfony/console": "For validating YAML files using the lint command"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "3.4-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Symfony\\Component\\Yaml\\": ""
|
||||
},
|
||||
"exclude-from-classmap": [
|
||||
"/Tests/"
|
||||
]
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Fabien Potencier",
|
||||
"email": "fabien@symfony.com"
|
||||
},
|
||||
{
|
||||
"name": "Symfony Community",
|
||||
"homepage": "https://symfony.com/contributors"
|
||||
}
|
||||
],
|
||||
"description": "Symfony Yaml Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2018-04-03T05:14:20+00:00"
|
||||
},
|
||||
{
|
||||
"name": "webmozart/assert",
|
||||
"version": "1.3.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/webmozart/assert.git",
|
||||
"reference": "0df1908962e7a3071564e857d86874dad1ef204a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/webmozart/assert/zipball/0df1908962e7a3071564e857d86874dad1ef204a",
|
||||
"reference": "0df1908962e7a3071564e857d86874dad1ef204a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": "^5.3.3 || ^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^4.6",
|
||||
"sebastian/version": "^1.0.1"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.3-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Webmozart\\Assert\\": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Bernhard Schussek",
|
||||
"email": "bschussek@gmail.com"
|
||||
}
|
||||
],
|
||||
"description": "Assertions to validate method input/output with nice error messages.",
|
||||
"keywords": [
|
||||
"assert",
|
||||
"check",
|
||||
"validate"
|
||||
],
|
||||
"time": "2018-01-29T19:49:41+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
"minimum-stability": "stable",
|
||||
"stability-flags": {
|
||||
"lightopenid/lightopenid": 20,
|
||||
"pear/text_highlighter": 20
|
||||
"lightopenid/lightopenid": 20
|
||||
},
|
||||
"prefer-stable": false,
|
||||
"prefer-lowest": false,
|
||||
"platform": {
|
||||
"php": ">5.6",
|
||||
"php": ">=5.6.1",
|
||||
"ext-xml": "*"
|
||||
},
|
||||
"platform-dev": []
|
||||
|
|
|
|||
10
config/addon-sample.ini.php
Normal file
10
config/addon-sample.ini.php
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
<?php return <<<INI
|
||||
|
||||
; Copy this configuration file to addon.ini.php and edit it if you want to configure addons, see below example for the twitter addon
|
||||
|
||||
;[twitter]
|
||||
;consumerkey = localhost
|
||||
;consumersecret = mysqlusername
|
||||
|
||||
INI;
|
||||
// Keep this line
|
||||
408
config/config.ini.php
Normal file
408
config/config.ini.php
Normal file
|
|
@ -0,0 +1,408 @@
|
|||
<?php return <<<INI
|
||||
|
||||
; CONFIG.INI.PHP
|
||||
|
||||
; This file declares the default values for the base config of Friendica.
|
||||
; These configuration values aren't accessible from the admin settings page and custom values must be set in config/local.ini.php
|
||||
|
||||
; Please don't edit this file directly as its content may change in the upcoming versions.
|
||||
|
||||
[database]
|
||||
|
||||
; host (String)
|
||||
; Hostname or IP address of the database server.
|
||||
; Can contain the port number with the syntax "hostname:port".
|
||||
hostname =
|
||||
|
||||
; user (String)
|
||||
; Database user name. Please don't use "root".
|
||||
username =
|
||||
|
||||
; pass (String)
|
||||
; Database user password. Please don't use empty passwords.
|
||||
password =
|
||||
|
||||
; base (String)
|
||||
; Database name.
|
||||
database =
|
||||
|
||||
; charset (String)
|
||||
; Database connexion charset. Changing this value will likely corrupt special characters.
|
||||
charset = utf8mb4
|
||||
|
||||
[config]
|
||||
|
||||
; admin_email (Comma-separated list)
|
||||
; In order to perform system administration via the admin panel, this must precisely match the email address of the person logged in.
|
||||
admin_email =
|
||||
|
||||
; admin_nickname (String)
|
||||
; Nickname of the main admin user, used if there are more than one admin user defined in config.admin_email.
|
||||
admin_nickname =
|
||||
|
||||
; max_import_size (Integer)
|
||||
; Maximum body size of DFRN and Mail messages in characters. 0 is unlimited.
|
||||
max_import_size = 200000
|
||||
|
||||
; php_path (String)
|
||||
; Location of PHP command line processor.
|
||||
php_path = php
|
||||
|
||||
[system]
|
||||
|
||||
; allowed_link_protocols (Array)
|
||||
; Allowed protocols in links URLs, add at your own risk. http is always allowed.
|
||||
allowed_link_protocols[0] = ftp
|
||||
allowed_link_protocols[1] = ftps
|
||||
allowed_link_protocols[2] = mailto
|
||||
allowed_link_protocols[3] = cid
|
||||
allowed_link_protocols[4] = gopher
|
||||
|
||||
; always_show_preview (Boolean)
|
||||
; Only show small preview picures.
|
||||
always_show_preview = false
|
||||
|
||||
; archival_days (Integer)
|
||||
; Number of days that we try to deliver content before we archive a contact.
|
||||
archival_days = 32
|
||||
|
||||
; auth_cookie_lifetime (Integer)
|
||||
; Number of days that should pass without any activity before a user who chose "Remember me" when logging in is considered logged out.
|
||||
auth_cookie_lifetime = 7
|
||||
|
||||
; block_local_dir (Boolean)
|
||||
; Deny public access to the local user directory.
|
||||
block_local_dir = false
|
||||
|
||||
; cache_driver (database|memcache|memcached|redis)
|
||||
; Whether to use Memcache or Memcached or Redis to store temporary cache.
|
||||
cache_driver = database
|
||||
|
||||
; config_adapter (jit|preload)
|
||||
; Allow to switch the configuration adapter to improve performances at the cost of memory consumption.
|
||||
config_adapter = jit
|
||||
|
||||
; curl_range_bytes (Integer)
|
||||
; Maximum number of bytes that should be fetched. Default is 0, which mean "no limit".
|
||||
curl_range_bytes = 0
|
||||
|
||||
; crawl_permit_period (Integer)
|
||||
; Period in seconds between allowed searches when the number of free searches is reached and "permit_crawling" is activated.
|
||||
crawl_permit_period = 60
|
||||
|
||||
; db_log (Path)
|
||||
; Name of a logfile to log slow database queries.
|
||||
db_log =
|
||||
|
||||
; db_log_index (Path)
|
||||
; Name of a logfile to log queries with bad indexes.
|
||||
db_log_index =
|
||||
|
||||
; db_log_index_watch (Comma-separated list)
|
||||
; Watchlist of indexes to watch.
|
||||
db_log_index_watch =
|
||||
|
||||
; db_log_index_blacklist (Comma-separated list)
|
||||
; Blacklist of indexes that shouldn't be watched.
|
||||
db_log_index_blacklist =
|
||||
|
||||
; db_loglimit (Integer)
|
||||
; If a database call lasts longer than this value in seconds it is logged.
|
||||
; Inactive if system.db_log is empty.
|
||||
db_loglimit = 10
|
||||
|
||||
; db_loglimit_index (Integer)
|
||||
; Number of index rows needed to be logged for indexes on the watchlist. 0 to disable.
|
||||
db_loglimit_index = 0
|
||||
|
||||
; db_loglimit_index_high (Integer)
|
||||
; Number of index rows to be logged anyway (for any index). 0 to disable.
|
||||
db_loglimit_index_high = 0
|
||||
|
||||
; dbclean_expire_conversation (Integer)
|
||||
; When DBClean is enabled, any entry in the conversation table will be deleted after this many days.
|
||||
; These data are normally needed only for debugging purposes and they are safe to delete.
|
||||
dbclean_expire_conversation = 90
|
||||
|
||||
; diaspora_test (Boolean)
|
||||
; For development only. Disables the message transfer.
|
||||
diaspora_test = false
|
||||
|
||||
; disable_email_validation (Boolean)
|
||||
; Disables the check if a mail address is in a valid format and can be resolved via DNS.
|
||||
disable_email_validation = false
|
||||
|
||||
; disable_url_validation (Boolean)
|
||||
; Disables the DNS lookup of an URL.
|
||||
disable_url_validation = false
|
||||
|
||||
; disable_password_exposed (Boolean)
|
||||
; Disable the exposition check against the remote haveibeenpwned API on password change.
|
||||
disable_password_exposed = false
|
||||
|
||||
; dlogfile (Path)
|
||||
; location of the developer log file.
|
||||
dlogfile =
|
||||
|
||||
; dlogip (String)
|
||||
; restricts develop log writes to requests originating from this IP address.
|
||||
dlogip =
|
||||
|
||||
; free_crawls (Integer)
|
||||
; Number of "free" searches when system.permit_crawling is activated.
|
||||
free_crawls = 10
|
||||
|
||||
; frontend_worker_timeout (Integer)
|
||||
; Value in minutes after we think that a frontend task was killed by the webserver.
|
||||
frontend_worker_timeout = 10
|
||||
|
||||
; groupedit_image_limit (Integer)
|
||||
; Number of contacts at which the group editor should switch from display the profile pictures of the contacts to only display the names.
|
||||
; This can alternatively be set on a per account basis in the pconfig table.
|
||||
groupedit_image_limit = 400
|
||||
|
||||
; hsts (Boolean)
|
||||
; Enables the sending of HTTP Strict Transport Security headers.
|
||||
hsts = false
|
||||
|
||||
; ignore_cache (Boolean)
|
||||
; For development only. Disables the item cache.
|
||||
ignore_cache = false
|
||||
|
||||
; instances_social_key (String)
|
||||
; Key to the API of https://instances.social which retrieves data about mastodon servers.
|
||||
; See https://instances.social/api/token to get an API key.
|
||||
instances_social_key =
|
||||
|
||||
; ipv4_resolve (Boolean)
|
||||
; Resolve IPV4 addresses only. Don't resolve to IPV6.
|
||||
ipv4_resolve = false
|
||||
|
||||
; invitation_only (Boolean)
|
||||
; If set true registration is only possible after a current member of the node has send an invitation.
|
||||
invitation_only = false
|
||||
|
||||
; like_no_comment (Boolean)
|
||||
; Don't update the "commented" value of an item when it is liked.
|
||||
like_no_comment = false
|
||||
|
||||
; local_block (Boolean)
|
||||
; Used in conjunction with "block_public".
|
||||
local_block = false
|
||||
|
||||
; local_search (Boolean)
|
||||
; Blocks search for users who are not logged in to prevent crawlers from blocking your system.
|
||||
local_search = false
|
||||
|
||||
; local_tags (Boolean)
|
||||
; If activated, all hashtags will point to the local server.
|
||||
local_tags = false
|
||||
|
||||
; max_batch_queue (Integer)
|
||||
; Maximum number of batched queue items for a single contact before subsequent messages are discarded.
|
||||
max_batch_queue = 1000
|
||||
|
||||
; max_connections (Integer)
|
||||
; The maximum number of database connections which can be in use before the worker process is deferred to its next interval.
|
||||
; When the system can't detect the maximum numbers of connection then this value can be used. Use 0 for auto-detection.
|
||||
max_connections = 0
|
||||
|
||||
; max_connections_level (Integer 0-100)
|
||||
; The maximum percentage of connections that are allowed to let the worker start.
|
||||
max_connections_level = 75
|
||||
|
||||
; max_contact_queue (Integer)
|
||||
; Maximum number of queue items for a single contact before subsequent messages are discarded.
|
||||
max_contact_queue = 500
|
||||
|
||||
; max_image_length (Integer)
|
||||
; An alternate way of limiting picture upload sizes.
|
||||
; Specify the maximum pixel length that pictures are allowed to be (for non-square pictures, it will apply to the longest side).
|
||||
; Pictures longer than this length will be resized to be this length (on the longest side, the other side will be scaled appropriately).
|
||||
; If you don't want to set a maximum length, set to -1.
|
||||
max_image_length = -1
|
||||
|
||||
; max_processes_backend (Integer)
|
||||
; Maximum number of concurrent database processes for background tasks.
|
||||
max_processes_backend = 5
|
||||
|
||||
; max_processes_frontend (Integer)
|
||||
; Maximum number of concurrent database processes for foreground tasks.
|
||||
max_processes_frontend = 20
|
||||
|
||||
; maximagesize (Integer)
|
||||
; Maximum size in bytes of an uploaded photo.
|
||||
maximagesize = 800000
|
||||
|
||||
; memcache_host (String)
|
||||
; Host name of the memcache daemon.
|
||||
memcache_host = 127.0.0.1
|
||||
|
||||
; memcache_port (Integer)
|
||||
; Port number of the memcache daemon.
|
||||
memcache_port = 11211
|
||||
|
||||
; memcached_hosts (Array)
|
||||
; Array of Memcached servers info "host, port(, weight)".
|
||||
memcached_hosts[0] = 127.0.0.1,11211
|
||||
|
||||
; min_poll_interval (Integer)
|
||||
; minimal distance in minutes between two polls for a contact. Reasonable values are between 1 and 59.
|
||||
min_poll_interval = 1
|
||||
|
||||
; no_count (Boolean)
|
||||
; Don't do count calculations (currently only when showing albums).
|
||||
no_count = false
|
||||
|
||||
; no_oembed (Boolean)
|
||||
; Don't use OEmbed to fetch more information about a link.
|
||||
no_oembed = false
|
||||
|
||||
; no_smilies (Boolean)
|
||||
; Don't show smilies.
|
||||
no_smilies = false
|
||||
|
||||
; no_view_full_size (Boolean)
|
||||
; Don't add the link "View full size" under a resized image.
|
||||
no_view_full_size = false
|
||||
|
||||
; optimize_items (Boolean)
|
||||
; Triggers an SQL command to optimize the item table before expiring items.
|
||||
optimize_items = false
|
||||
|
||||
; paranoia (Boolean)
|
||||
; Log out users if their IP address changed.
|
||||
paranoia = false
|
||||
|
||||
; permit_crawling (Boolean)
|
||||
; Restricts the search for not logged in users to one search per minute.
|
||||
permit_crawling = false
|
||||
|
||||
; pidfile (Path)
|
||||
; Daemon pid file path. For example: pidfile = /path/to/daemon.pid
|
||||
pidfile =
|
||||
|
||||
; png_quality (Integer)
|
||||
; Sets the ImageMagick compression level for PNG images. Values ranges from 0 (uncompressed) to 9 (most compressed).
|
||||
png_quality = 8
|
||||
|
||||
; profiler (Boolean)
|
||||
; Enable internal timings to help optimize code. Needed for "rendertime" addon.
|
||||
profiler = false
|
||||
|
||||
; proxy_cache_time (Integer)
|
||||
; Period in seconds after which the cache is cleared.
|
||||
proxy_cache_time = 86400
|
||||
|
||||
; pushpoll_frequency (Integer)
|
||||
; Frequency of contact poll for subhub contact using the DFRM or OStatus network.
|
||||
; Available values:
|
||||
; - 5 = every month
|
||||
; - 4 = every week
|
||||
; - 3 = every day
|
||||
; - 2 = twice a day
|
||||
; - 1 = every hour
|
||||
; - 0 = every minute
|
||||
pushpoll_frequency = 3
|
||||
|
||||
; queue_no_dead_check (Boolean)
|
||||
; Ignore if the target contact or server seems to be dead during queue delivery.
|
||||
queue_no_dead_check = false
|
||||
|
||||
; redis_host (String)
|
||||
; Host name of the redis daemon.
|
||||
redis_host = 127.0.0.1
|
||||
|
||||
; redis_port (String)
|
||||
; Port number of the redis daemon.
|
||||
redis_port = 6379
|
||||
|
||||
; session_handler (database|cache|native)
|
||||
; Whether to use Cache to store session data or to use PHP native session storage.
|
||||
session_handler = database
|
||||
|
||||
; remove_multiplicated_lines (Boolean)
|
||||
; If enabled, multiple linefeeds in items are stripped to a single one.
|
||||
remove_multiplicated_lines = false
|
||||
|
||||
; sendmail_params (Boolean)
|
||||
; Normal sendmail command parameters will be added when the PHP mail() function is called for sending e-mails.
|
||||
; This ensures the Sender Email address setting is applied to the message envelope rather than the host's default address.
|
||||
; Set to false if your non-sendmail agent is incompatible, or to restore old behavior of using the host address.
|
||||
sendmail_params = true
|
||||
|
||||
; show_global_community_hint (Boolean)
|
||||
; When the global community page is enabled, use this option to display a hint above the stream, that this is a collection of all public top-level postings that arrive on your node.
|
||||
show_global_community_hint = false
|
||||
|
||||
; show_unsupported_addons (Boolean)
|
||||
; Show all addons including the unsupported ones.
|
||||
show_unsupported_addons = false
|
||||
|
||||
; show_unsupported_themes (Boolean)
|
||||
; Show all themes including the unsupported ones.
|
||||
show_unsupported_themes = false
|
||||
|
||||
; throttle_limit_day (Integer)
|
||||
; Maximum number of posts that a user can send per day with the API. 0 to disable daily throttling.
|
||||
throttle_limit_day = 0
|
||||
|
||||
; throttle_limit_week (Integer)
|
||||
; Maximum number of posts that a user can send per week with the API. 0 to disable weekly throttling.
|
||||
throttle_limit_week = 0
|
||||
|
||||
; throttle_limit_month (Integer)
|
||||
; Maximum number of posts that a user can send per month with the API. 0 to disable monthly throttling.
|
||||
throttle_limit_month = 0
|
||||
|
||||
; urlpath (String)
|
||||
; If you are using a subdirectory of your domain you will need to put the relative path (from the root of your domain) here.
|
||||
; For instance if your URL is 'http://example.com/directory/subdirectory', set urlpath to 'directory/subdirectory'.
|
||||
urlpath =
|
||||
|
||||
; worker_cooldown (Integer)
|
||||
; Cooldown period in seconds after each worker function call.
|
||||
worker_cooldown = 0
|
||||
|
||||
; worker_debug (Boolean)
|
||||
; If enabled, it prints out the number of running processes split by priority.
|
||||
worker_debug = false
|
||||
|
||||
; worker_fetch_limit (Integer)
|
||||
; Number of worker tasks that are fetched in a single query.
|
||||
worker_fetch_limit = 1
|
||||
|
||||
; worker_load_exponent (Integer)
|
||||
; Default 3, which allows only 25% of the maximum worker queues when server load reaches around 37% of maximum load.
|
||||
; For a linear response where 25% of worker queues are allowed at 75% of maximum load, set this to 1.
|
||||
; Setting 0 would allow maximum worker queues at all times, which is not recommended.
|
||||
worker_load_exponent = 3
|
||||
|
||||
; xrd_timeout (Integer)
|
||||
; Timeout in seconds for fetching the XRD links.
|
||||
xrd_timeout = 20
|
||||
|
||||
[experimental]
|
||||
|
||||
; exp_themes (Boolean)
|
||||
; Show experimental themes in user settings.
|
||||
exp_themes = false
|
||||
|
||||
[theme]
|
||||
|
||||
; hide_eventlist (Boolean)
|
||||
; Don't show the birthdays and events on the profile and network page.
|
||||
hide_eventlist = false
|
||||
|
||||
[jabber]
|
||||
|
||||
; debug (Boolean)
|
||||
; Enable debug level for the jabber account synchronisation.
|
||||
debug = false
|
||||
|
||||
; lockpath (Path)
|
||||
; Must be writable by the ejabberd process. if set then it will prevent the running of multiple processes.
|
||||
lockpath =
|
||||
|
||||
INI;
|
||||
// Keep this line
|
||||
1282
config/dbstructure.json
Normal file
1282
config/dbstructure.json
Normal file
|
|
@ -0,0 +1,1282 @@
|
|||
{
|
||||
"addon": {
|
||||
"comment": "registered addons",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": ""},
|
||||
"name": {"type": "varchar(50)", "not null": "1", "default": "", "comment": "addon base (file)name"},
|
||||
"version": {"type": "varchar(50)", "not null": "1", "default": "", "comment": "currently unused"},
|
||||
"installed": {"type": "boolean", "not null": "1", "default": "0", "comment": "currently always 1"},
|
||||
"hidden": {"type": "boolean", "not null": "1", "default": "0", "comment": "currently unused"},
|
||||
"timestamp": {"type": "int unsigned", "not null": "1", "default": "0", "comment": "file timestamp to check for reloads"},
|
||||
"plugin_admin": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 = has admin config, 0 = has no admin config"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"name": ["UNIQUE", "name"]
|
||||
}
|
||||
},
|
||||
"attach": {
|
||||
"comment": "file attachments",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "generated index"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"},
|
||||
"hash": {"type": "varchar(64)", "not null": "1", "default": "", "comment": "hash"},
|
||||
"filename": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "filename of original"},
|
||||
"filetype": {"type": "varchar(64)", "not null": "1", "default": "", "comment": "mimetype"},
|
||||
"filesize": {"type": "int unsigned", "not null": "1", "default": "0", "comment": "size in bytes"},
|
||||
"data": {"type": "longblob", "not null": "1", "comment": "file data"},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "creation time"},
|
||||
"edited": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "last edit time"},
|
||||
"allow_cid": {"type": "mediumtext", "comment": "Access Control - list of allowed contact.id '<19><78>"},
|
||||
"allow_gid": {"type": "mediumtext", "comment": "Access Control - list of allowed groups"},
|
||||
"deny_cid": {"type": "mediumtext", "comment": "Access Control - list of denied contact.id"},
|
||||
"deny_gid": {"type": "mediumtext", "comment": "Access Control - list of denied groups"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"]
|
||||
}
|
||||
},
|
||||
"auth_codes": {
|
||||
"comment": "OAuth usage",
|
||||
"fields": {
|
||||
"id": {"type": "varchar(40)", "not null": "1", "primary": "1", "comment": ""},
|
||||
"client_id": {"type": "varchar(20)", "not null": "1", "default": "", "relation": {"clients": "client_id"}, "comment": ""},
|
||||
"redirect_uri": {"type": "varchar(200)", "not null": "1", "default": "", "comment": ""},
|
||||
"expires": {"type": "int", "not null": "1", "default": "0", "comment": ""},
|
||||
"scope": {"type": "varchar(250)", "not null": "1", "default": "", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"]
|
||||
}
|
||||
},
|
||||
"cache": {
|
||||
"comment": "Stores temporary data",
|
||||
"fields": {
|
||||
"k": {"type": "varbinary(255)", "not null": "1", "primary": "1", "comment": "cache key"},
|
||||
"v": {"type": "mediumtext", "comment": "cached serialized value"},
|
||||
"expires": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime of cache expiration"},
|
||||
"updated": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime of cache insertion"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["k"],
|
||||
"k_expires": ["k", "expires"]
|
||||
}
|
||||
},
|
||||
"challenge": {
|
||||
"comment": "",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"challenge": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"dfrn-id": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"expire": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"type": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"last_update": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"]
|
||||
}
|
||||
},
|
||||
"clients": {
|
||||
"comment": "OAuth usage",
|
||||
"fields": {
|
||||
"client_id": {"type": "varchar(20)", "not null": "1", "primary": "1", "comment": ""},
|
||||
"pw": {"type": "varchar(20)", "not null": "1", "default": "", "comment": ""},
|
||||
"redirect_uri": {"type": "varchar(200)", "not null": "1", "default": "", "comment": ""},
|
||||
"name": {"type": "text", "comment": ""},
|
||||
"icon": {"type": "text", "comment": ""},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["client_id"]
|
||||
}
|
||||
},
|
||||
"config": {
|
||||
"comment": "main configuration storage",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": ""},
|
||||
"cat": {"type": "varbinary(50)", "not null": "1", "default": "", "comment": ""},
|
||||
"k": {"type": "varbinary(50)", "not null": "1", "default": "", "comment": ""},
|
||||
"v": {"type": "mediumtext", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"cat_k": ["UNIQUE", "cat", "k"]
|
||||
}
|
||||
},
|
||||
"contact": {
|
||||
"comment": "contact table",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"self": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 if the contact is the user him/her self"},
|
||||
"remote_self": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"rel": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": "The kind of the relation between the user and the contact"},
|
||||
"duplex": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"network": {"type": "char(4)", "not null": "1", "default": "", "comment": "Network protocol of the contact"},
|
||||
"name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Name that this contact is known by"},
|
||||
"nick": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Nick- and user name of the contact"},
|
||||
"location": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"about": {"type": "text", "comment": ""},
|
||||
"keywords": {"type": "text", "comment": "public keywords (interests) of the contact"},
|
||||
"gender": {"type": "varchar(32)", "not null": "1", "default": "", "comment": ""},
|
||||
"xmpp": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"attag": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"avatar": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"photo": {"type": "varchar(255)", "default": "", "comment": "Link to the profile photo of the contact"},
|
||||
"thumb": {"type": "varchar(255)", "default": "", "comment": "Link to the profile photo (thumb size)"},
|
||||
"micro": {"type": "varchar(255)", "default": "", "comment": "Link to the profile photo (micro size)"},
|
||||
"site-pubkey": {"type": "text", "comment": ""},
|
||||
"issued-id": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"dfrn-id": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"nurl": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"addr": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"alias": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"pubkey": {"type": "text", "comment": "RSA public key 4096 bit"},
|
||||
"prvkey": {"type": "text", "comment": "RSA private key 4096 bit"},
|
||||
"batch": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"request": {"type": "varchar(255)", "comment": ""},
|
||||
"notify": {"type": "varchar(255)", "comment": ""},
|
||||
"poll": {"type": "varchar(255)", "comment": ""},
|
||||
"confirm": {"type": "varchar(255)", "comment": ""},
|
||||
"poco": {"type": "varchar(255)", "comment": ""},
|
||||
"aes_allow": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"ret-aes": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"usehub": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"subhub": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"hub-verify": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"last-update": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of the last try to update the contact info"},
|
||||
"success_update": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of the last successful contact update"},
|
||||
"failure_update": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of the last failed update"},
|
||||
"name-date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"uri-date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"avatar-date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"term-date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"last-item": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "date of the last post"},
|
||||
"priority": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"blocked": {"type": "boolean", "not null": "1", "default": "1", "comment": ""},
|
||||
"readonly": {"type": "boolean", "not null": "1", "default": "0", "comment": "posts of the contact are readonly"},
|
||||
"writable": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"forum": {"type": "boolean", "not null": "1", "default": "0", "comment": "contact is a forum"},
|
||||
"prv": {"type": "boolean", "not null": "1", "default": "0", "comment": "contact is a private group"},
|
||||
"contact-type": {"type": "tinyint", "not null": "1", "default": "0", "comment": ""},
|
||||
"hidden": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"archive": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"pending": {"type": "boolean", "not null": "1", "default": "1", "comment": ""},
|
||||
"rating": {"type": "tinyint", "not null": "1", "default": "0", "comment": ""},
|
||||
"reason": {"type": "text", "comment": ""},
|
||||
"closeness": {"type": "tinyint unsigned", "not null": "1", "default": "99", "comment": ""},
|
||||
"info": {"type": "mediumtext", "comment": ""},
|
||||
"profile-id": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"bdyear": {"type": "varchar(4)", "not null": "1", "default": "", "comment": ""},
|
||||
"bd": {"type": "date", "not null": "1", "default": "0001-01-01", "comment": ""},
|
||||
"notify_new_posts": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"fetch_further_information": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"ffi_keyword_blacklist": {"type": "text", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uid_name": ["uid", "name(190)"],
|
||||
"self_uid": ["self", "uid"],
|
||||
"alias_uid": ["alias(32)", "uid"],
|
||||
"pending_uid": ["pending", "uid"],
|
||||
"blocked_uid": ["blocked", "uid"],
|
||||
"uid_rel_network_poll": ["uid", "rel", "network", "poll(64)", "archive"],
|
||||
"uid_network_batch": ["uid", "network", "batch(64)"],
|
||||
"addr_uid": ["addr(32)", "uid"],
|
||||
"nurl_uid": ["nurl(32)", "uid"],
|
||||
"nick_uid": ["nick(32)", "uid"],
|
||||
"dfrn-id": ["dfrn-id(64)"],
|
||||
"issued-id": ["issued-id(64)"]
|
||||
}
|
||||
},
|
||||
"conv": {
|
||||
"comment": "private messages",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "A unique identifier for this conversation"},
|
||||
"recips": {"type": "text", "comment": "sender_handle;recipient_handle"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"},
|
||||
"creator": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "handle of creator"},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "creation timestamp"},
|
||||
"updated": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "edited timestamp"},
|
||||
"subject": {"type": "text", "comment": "subject of initial message"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uid": ["uid"]
|
||||
}
|
||||
},
|
||||
"conversation": {
|
||||
"comment": "Raw data and structure information for messages",
|
||||
"fields": {
|
||||
"item-uri": {"type": "varbinary(255)", "not null": "1", "primary": "1", "comment": "Original URI of the item - unrelated to the table with the same name"},
|
||||
"reply-to-uri": {"type": "varbinary(255)", "not null": "1", "default": "", "comment": "URI to which this item is a reply"},
|
||||
"conversation-uri": {"type": "varbinary(255)", "not null": "1", "default": "", "comment": "GNU Social conversation URI"},
|
||||
"conversation-href": {"type": "varbinary(255)", "not null": "1", "default": "", "comment": "GNU Social conversation link"},
|
||||
"protocol": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": "The protocol of the item"},
|
||||
"source": {"type": "mediumtext", "comment": "Original source"},
|
||||
"received": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Receiving date"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["item-uri"],
|
||||
"conversation-uri": ["conversation-uri"],
|
||||
"received": ["received"]
|
||||
}
|
||||
},
|
||||
"event": {
|
||||
"comment": "Events",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"},
|
||||
"cid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "contact_id (ID of the contact in contact table)"},
|
||||
"uri": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "creation time"},
|
||||
"edited": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "last edit time"},
|
||||
"start": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "event start time"},
|
||||
"finish": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "event end time"},
|
||||
"summary": {"type": "text", "comment": "short description or title of the event"},
|
||||
"desc": {"type": "text", "comment": "event description"},
|
||||
"location": {"type": "text", "comment": "event location"},
|
||||
"type": {"type": "varchar(20)", "not null": "1", "default": "", "comment": "event or birthday"},
|
||||
"nofinish": {"type": "boolean", "not null": "1", "default": "0", "comment": "if event does have no end this is 1"},
|
||||
"adjust": {"type": "boolean", "not null": "1", "default": "1", "comment": "adjust to timezone of the recipient (0 or 1)"},
|
||||
"ignore": {"type": "boolean", "not null": "1", "default": "0", "comment": "0 or 1"},
|
||||
"allow_cid": {"type": "mediumtext", "comment": "Access Control - list of allowed contact.id '<19><78>'"},
|
||||
"allow_gid": {"type": "mediumtext", "comment": "Access Control - list of allowed groups"},
|
||||
"deny_cid": {"type": "mediumtext", "comment": "Access Control - list of denied contact.id"},
|
||||
"deny_gid": {"type": "mediumtext", "comment": "Access Control - list of denied groups"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uid_start": ["uid", "start"]
|
||||
}
|
||||
},
|
||||
"fcontact": {
|
||||
"comment": "Diaspora compatible contacts - used in the Diaspora implementation",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "unique id"},
|
||||
"url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"photo": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"request": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"nick": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"addr": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"batch": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"notify": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"poll": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"confirm": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"priority": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"network": {"type": "char(4)", "not null": "1", "default": "", "comment": ""},
|
||||
"alias": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"pubkey": {"type": "text", "comment": ""},
|
||||
"updated": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"addr": ["addr(32)"],
|
||||
"url": ["UNIQUE", "url(190)"]
|
||||
}
|
||||
},
|
||||
"fsuggest": {
|
||||
"comment": "friend suggestion stuff",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": ""},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"cid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": ""},
|
||||
"name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"request": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"photo": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"note": {"type": "text", "comment": ""},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"]
|
||||
}
|
||||
},
|
||||
"gcign": {
|
||||
"comment": "contacts ignored by friend suggestions",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Local User id"},
|
||||
"gcid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"gcontact": "id"}, "comment": "gcontact.id of ignored contact"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uid": ["uid"],
|
||||
"gcid": ["gcid"]
|
||||
}
|
||||
},
|
||||
"gcontact": {
|
||||
"comment": "global contacts",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Name that this contact is known by"},
|
||||
"nick": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Nick- and user name of the contact"},
|
||||
"url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Link to the contacts profile page"},
|
||||
"nurl": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"photo": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Link to the profile photo"},
|
||||
"connect": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"updated": {"type": "datetime", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"last_contact": {"type": "datetime", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"last_failure": {"type": "datetime", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"location": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"about": {"type": "text", "comment": ""},
|
||||
"keywords": {"type": "text", "comment": "puplic keywords (interests)"},
|
||||
"gender": {"type": "varchar(32)", "not null": "1", "default": "", "comment": ""},
|
||||
"birthday": {"type": "varchar(32)", "not null": "1", "default": "0001-01-01", "comment": ""},
|
||||
"community": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 if contact is forum account"},
|
||||
"contact-type": {"type": "tinyint", "not null": "1", "default": "-1", "comment": ""},
|
||||
"hide": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 = should be hidden from search"},
|
||||
"nsfw": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 = contact posts nsfw content"},
|
||||
"network": {"type": "char(4)", "not null": "1", "default": "", "comment": "social network protocol"},
|
||||
"addr": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"notify": {"type": "varchar(255)", "comment": ""},
|
||||
"alias": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"generation": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"server_url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "baseurl of the contacts server"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"nurl": ["UNIQUE", "nurl(190)"],
|
||||
"name": ["name(64)"],
|
||||
"nick": ["nick(32)"],
|
||||
"addr": ["addr(64)"],
|
||||
"hide_network_updated": ["hide", "network", "updated"],
|
||||
"updated": ["updated"]
|
||||
}
|
||||
},
|
||||
"glink": {
|
||||
"comment": "'friends of friends' linkages derived from poco",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"cid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": ""},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"gcid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"gcontact": "id"}, "comment": ""},
|
||||
"zcid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"gcontact": "id"}, "comment": ""},
|
||||
"updated": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"cid_uid_gcid_zcid": ["UNIQUE", "cid", "uid", "gcid", "zcid"],
|
||||
"gcid": ["gcid"]
|
||||
}
|
||||
},
|
||||
"group": {
|
||||
"comment": "privacy groups, group info",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"},
|
||||
"visible": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 indicates the member list is not private"},
|
||||
"deleted": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 indicates the group has been deleted"},
|
||||
"name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "human readable name of group"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uid": ["uid"]
|
||||
}
|
||||
},
|
||||
"group_member": {
|
||||
"comment": "privacy groups, member info",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"gid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"group": "id"}, "comment": "groups.id of the associated group"},
|
||||
"contact-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "contact.id of the member assigned to the associated group"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"contactid": ["contact-id"],
|
||||
"gid_contactid": ["UNIQUE", "gid", "contact-id"]
|
||||
}
|
||||
},
|
||||
"gserver": {
|
||||
"comment": "Global servers",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"nurl": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"version": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"site_name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"info": {"type": "text", "comment": ""},
|
||||
"register_policy": {"type": "tinyint", "not null": "1", "default": "0", "comment": ""},
|
||||
"registered-users": {"type": "int unsigned", "not null": "1", "default": "0", "comment": "Number of registered users"},
|
||||
"poco": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"noscrape": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"network": {"type": "char(4)", "not null": "1", "default": "", "comment": ""},
|
||||
"platform": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"relay-subscribe": {"type": "boolean", "not null": "1", "default": "0", "comment": "Has the server subscribed to the relay system"},
|
||||
"relay-scope": {"type": "varchar(10)", "not null": "1", "default": "", "comment": "The scope of messages that the server wants to get"},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"last_poco_query": {"type": "datetime", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"last_contact": {"type": "datetime", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"last_failure": {"type": "datetime", "default": "0001-01-01 00:00:00", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"nurl": ["UNIQUE", "nurl(190)"]
|
||||
}
|
||||
},
|
||||
"gserver-tag": {
|
||||
"comment": "Tags that the server has subscribed",
|
||||
"fields": {
|
||||
"gserver-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"gserver": "id"}, "primary": "1", "comment": "The id of the gserver"},
|
||||
"tag": {"type": "varchar(100)", "not null": "1", "default": "", "primary": "1", "comment": "Tag that the server has subscribed"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["gserver-id", "tag"],
|
||||
"tag": ["tag"]
|
||||
}
|
||||
},
|
||||
"hook": {
|
||||
"comment": "addon hook registry",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"hook": {"type": "varbinary(100)", "not null": "1", "default": "", "comment": "name of hook"},
|
||||
"file": {"type": "varbinary(200)", "not null": "1", "default": "", "comment": "relative filename of hook handler"},
|
||||
"function": {"type": "varbinary(200)", "not null": "1", "default": "", "comment": "function name of hook handler"},
|
||||
"priority": {"type": "smallint unsigned", "not null": "1", "default": "0", "comment": "not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"hook_file_function": ["UNIQUE", "hook", "file", "function"]
|
||||
}
|
||||
},
|
||||
"intro": {
|
||||
"comment": "",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"fid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"fcontact": "id"}, "comment": ""},
|
||||
"contact-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": ""},
|
||||
"knowyou": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"duplex": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"note": {"type": "text", "comment": ""},
|
||||
"hash": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"datetime": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"blocked": {"type": "boolean", "not null": "1", "default": "1", "comment": ""},
|
||||
"ignore": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"]
|
||||
}
|
||||
},
|
||||
"item": {
|
||||
"comment": "Structure for all posts",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "relation": {"thread": "iid"}},
|
||||
"guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "A unique identifier for this item"},
|
||||
"uri": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"uri-id": {"type": "int unsigned", "relation": {"item-uri": "id"}, "comment": "Id of the item-uri table entry that contains the item uri"},
|
||||
"uri-hash": {"type": "varchar(80)", "not null": "1", "default": "", "comment": "RIPEMD-128 hash from uri"},
|
||||
"parent": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"item": "id"}, "comment": "item.id of the parent to this item if it is a reply of some form; otherwise this must be set to the id of this item"},
|
||||
"parent-uri": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "uri of the parent to this item"},
|
||||
"parent-uri-id": {"type": "int unsigned", "relation": {"item-uri": "id"}, "comment": "Id of the item-uri table that contains the parent uri"},
|
||||
"thr-parent": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "If the parent of this item is not the top-level item in the conversation, the uri of the immediate parent; otherwise set to parent-uri"},
|
||||
"thr-parent-id": {"type": "int unsigned", "relation": {"item-uri": "id"}, "comment": "Id of the item-uri table that contains the thread parent uri"},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Creation timestamp."},
|
||||
"edited": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of last edit (default is created)"},
|
||||
"commented": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of last comment/reply to this item"},
|
||||
"received": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime"},
|
||||
"changed": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date that something in the conversation changed, indicating clients should fetch the conversation again"},
|
||||
"gravity": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"network": {"type": "char(4)", "not null": "1", "default": "", "comment": "Network from where the item comes from"},
|
||||
"owner-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "Link to the contact table with uid=0 of the owner of this item"},
|
||||
"author-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "Link to the contact table with uid=0 of the author of this item"},
|
||||
"icid": {"type": "int unsigned", "relation": {"item-content": "id"}, "comment": "Id of the item-content table entry that contains the whole item content"},
|
||||
"iaid": {"type": "int unsigned", "relation": {"item-activity": "id"}, "comment": "Id of the item-activity table entry that contains the activity data"},
|
||||
"extid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"post-type": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": "Post type (personal note, bookmark, ...)"},
|
||||
"global": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"private": {"type": "boolean", "not null": "1", "default": "0", "comment": "distribution is restricted"},
|
||||
"visible": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"moderated": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"deleted": {"type": "boolean", "not null": "1", "default": "0", "comment": "item has been deleted"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner id which owns this copy of the item"},
|
||||
"contact-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "contact.id"},
|
||||
"wall": {"type": "boolean", "not null": "1", "default": "0", "comment": "This item was posted to the wall of uid"},
|
||||
"origin": {"type": "boolean", "not null": "1", "default": "0", "comment": "item originated at this site"},
|
||||
"pubmail": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"starred": {"type": "boolean", "not null": "1", "default": "0", "comment": "item has been favourited"},
|
||||
"unseen": {"type": "boolean", "not null": "1", "default": "1", "comment": "item has not been seen"},
|
||||
"mention": {"type": "boolean", "not null": "1", "default": "0", "comment": "The owner of this item was mentioned in it"},
|
||||
"forum_mode": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"psid": {"type": "int unsigned", "relation": {"permissionset": "id"}, "comment": "ID of the permission set of this post"},
|
||||
"resource-id": {"type": "varchar(32)", "not null": "1", "default": "", "comment": "Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type"},
|
||||
"event-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"event": "id"}, "comment": "Used to link to the event.id"},
|
||||
"attach": {"type": "mediumtext", "comment": "JSON structure representing attachments to this item"},
|
||||
"allow_cid": {"type": "mediumtext", "comment": "Deprecated"},
|
||||
"allow_gid": {"type": "mediumtext", "comment": "Deprecated"},
|
||||
"deny_cid": {"type": "mediumtext", "comment": "Deprecated"},
|
||||
"deny_gid": {"type": "mediumtext", "comment": "Deprecated"},
|
||||
"postopts": {"type": "text", "comment": "Deprecated"},
|
||||
"inform": {"type": "mediumtext", "comment": "Deprecated"},
|
||||
"type": {"type": "varchar(20)", "comment": "Deprecated"},
|
||||
"bookmark": {"type": "boolean", "comment": "Deprecated"},
|
||||
"file": {"type": "mediumtext", "comment": "Deprecated"},
|
||||
"location": {"type": "varchar(255)", "comment": "Deprecated"},
|
||||
"coord": {"type": "varchar(255)", "comment": "Deprecated"},
|
||||
"tag": {"type": "mediumtext", "comment": "Deprecated"},
|
||||
"plink": {"type": "varchar(255)", "comment": "Deprecated"},
|
||||
"title": {"type": "varchar(255)", "comment": "Deprecated"},
|
||||
"content-warning": {"type": "varchar(255)", "comment": "Deprecated"},
|
||||
"body": {"type": "mediumtext", "comment": "Deprecated"},
|
||||
"app": {"type": "varchar(255)", "comment": "Deprecated"},
|
||||
"verb": {"type": "varchar(100)", "comment": "Deprecated"},
|
||||
"object-type": {"type": "varchar(100)", "comment": "Deprecated"},
|
||||
"object": {"type": "text", "comment": "Deprecated"},
|
||||
"target-type": {"type": "varchar(100)", "comment": "Deprecated"},
|
||||
"target": {"type": "text", "comment": "Deprecated"},
|
||||
"author-name": {"type": "varchar(255)", "comment": "Deprecated"},
|
||||
"author-link": {"type": "varchar(255)", "comment": "Deprecated"},
|
||||
"author-avatar": {"type": "varchar(255)", "comment": "Deprecated"},
|
||||
"owner-name": {"type": "varchar(255)", "comment": "Deprecated"},
|
||||
"owner-link": {"type": "varchar(255)", "comment": "Deprecated"},
|
||||
"owner-avatar": {"type": "varchar(255)", "comment": "Deprecated"},
|
||||
"rendered-hash": {"type": "varchar(32)", "comment": "Deprecated"},
|
||||
"rendered-html": {"type": "mediumtext", "comment": "Deprecated"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"guid": ["guid(191)"],
|
||||
"uri": ["uri(191)"],
|
||||
"parent": ["parent"],
|
||||
"parent-uri": ["parent-uri(191)"],
|
||||
"extid": ["extid(191)"],
|
||||
"uid_id": ["uid", "id"],
|
||||
"uid_contactid_id": ["uid", "contact-id", "id"],
|
||||
"uid_created": ["uid", "created"],
|
||||
"uid_commented": ["uid", "commented"],
|
||||
"uid_unseen_contactid": ["uid", "unseen", "contact-id"],
|
||||
"uid_network_received": ["uid", "network", "received"],
|
||||
"uid_network_commented": ["uid", "network", "commented"],
|
||||
"uid_thrparent": ["uid", "thr-parent(190)"],
|
||||
"uid_parenturi": ["uid", "parent-uri(190)"],
|
||||
"uid_contactid_created": ["uid", "contact-id", "created"],
|
||||
"authorid_created": ["author-id", "created"],
|
||||
"ownerid": ["owner-id"],
|
||||
"uid_uri": ["uid", "uri(190)"],
|
||||
"resource-id": ["resource-id"],
|
||||
"deleted_changed": ["deleted", "changed"],
|
||||
"uid_wall_changed": ["uid", "wall", "changed"],
|
||||
"uid_eventid": ["uid", "event-id"],
|
||||
"icid": ["icid"],
|
||||
"iaid": ["iaid"],
|
||||
"psid_wall": ["psid", "wall"]
|
||||
}
|
||||
},
|
||||
"item-activity": {
|
||||
"comment": "Activities for items",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "relation": {"thread": "iid"}},
|
||||
"uri": {"type": "varchar(255)", "comment": ""},
|
||||
"uri-id": {"type": "int unsigned", "relation": {"item-uri": "id"}, "comment": "Id of the item-uri table entry that contains the item uri"},
|
||||
"uri-hash": {"type": "varchar(80)", "not null": "1", "default": "", "comment": "RIPEMD-128 hash from uri"},
|
||||
"activity": {"type": "smallint unsigned", "not null": "1", "default": "0", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uri-hash": ["UNIQUE", "uri-hash"],
|
||||
"uri": ["uri(191)"]
|
||||
}
|
||||
},
|
||||
"item-content": {
|
||||
"comment": "Content for all posts",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "relation": {"thread": "iid"}},
|
||||
"uri": {"type": "varchar(255)", "comment": ""},
|
||||
"uri-id": {"type": "int unsigned", "relation": {"item-uri": "id"}, "comment": "Id of the item-uri table entry that contains the item uri"},
|
||||
"uri-plink-hash": {"type": "varchar(80)", "not null": "1", "default": "", "comment": "RIPEMD-128 hash from uri"},
|
||||
"title": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "item title"},
|
||||
"content-warning": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"body": {"type": "mediumtext", "comment": "item body content"},
|
||||
"location": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "text location where this item originated"},
|
||||
"coord": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "longitude/latitude pair representing location where this item originated"},
|
||||
"language": {"type": "text", "comment": "Language information about this post"},
|
||||
"app": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "application which generated this item"},
|
||||
"rendered-hash": {"type": "varchar(32)", "not null": "1", "default": "", "comment": ""},
|
||||
"rendered-html": {"type": "mediumtext", "comment": "item.body converted to html"},
|
||||
"object-type": {"type": "varchar(100)", "not null": "1", "default": "", "comment": "ActivityStreams object type"},
|
||||
"object": {"type": "text", "comment": "JSON encoded object structure unless it is an implied object (normal post)"},
|
||||
"target-type": {"type": "varchar(100)", "not null": "1", "default": "", "comment": "ActivityStreams target type if applicable (URI)"},
|
||||
"target": {"type": "text", "comment": "JSON encoded target structure if used"},
|
||||
"plink": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "permalink or URL to a displayable copy of the message at its source"},
|
||||
"verb": {"type": "varchar(100)", "not null": "1", "default": "", "comment": "ActivityStreams verb"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uri-plink-hash": ["UNIQUE", "uri-plink-hash"],
|
||||
"uri": ["uri(191)"]
|
||||
}
|
||||
},
|
||||
"item-delivery-data": {
|
||||
"comment": "Delivery data for items",
|
||||
"fields": {
|
||||
"iid": {"type": "int unsigned", "not null": "1", "primary": "1", "relation": {"item": "id"}, "comment": "Item id"},
|
||||
"postopts": {"type": "text", "comment": "External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery"},
|
||||
"inform": {"type": "mediumtext", "comment": "Additional receivers of the linked item"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["iid"]
|
||||
}
|
||||
},
|
||||
"item-uri": {
|
||||
"comment": "URI and GUID for items",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1"},
|
||||
"uri": {"type": "varbinary(255)", "not null": "1", "comment": "URI of an item"},
|
||||
"guid": {"type": "varbinary(255)", "comment": "A unique identifier for an item"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uri": ["UNIQUE", "uri"],
|
||||
"guid": ["guid"]
|
||||
}
|
||||
},
|
||||
"locks": {
|
||||
"comment": "",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"name": {"type": "varchar(128)", "not null": "1", "default": "", "comment": ""},
|
||||
"locked": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"pid": {"type": "int unsigned", "not null": "1", "default": "0", "comment": "Process ID"},
|
||||
"expires": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime of cache expiration"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"name_expires": ["name", "expires"]
|
||||
}
|
||||
},
|
||||
"mail": {
|
||||
"comment": "private messages",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"},
|
||||
"guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "A unique identifier for this private message"},
|
||||
"from-name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "name of the sender"},
|
||||
"from-photo": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "contact photo link of the sender"},
|
||||
"from-url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "profile linke of the sender"},
|
||||
"contact-id": {"type": "varchar(255)", "not null": "1", "default": "", "relation": {"contact": "id"}, "comment": "contact.id"},
|
||||
"convid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"conv": "id"}, "comment": "conv.id"},
|
||||
"title": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"body": {"type": "mediumtext", "comment": ""},
|
||||
"seen": {"type": "boolean", "not null": "1", "default": "0", "comment": "if message visited it is 1"},
|
||||
"reply": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"replied": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"unknown": {"type": "boolean", "not null": "1", "default": "0", "comment": "if sender not in the contact table this is 1"},
|
||||
"uri": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"parent-uri": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "creation time of the private message"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uid_seen": ["uid", "seen"],
|
||||
"convid": ["convid"],
|
||||
"uri": ["uri(64)"],
|
||||
"parent-uri": ["parent-uri(64)"],
|
||||
"contactid": ["contact-id(32)"]
|
||||
}
|
||||
},
|
||||
"mailacct": {
|
||||
"comment": "Mail account data for fetching mails",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"server": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"port": {"type": "smallint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"ssltype": {"type": "varchar(16)", "not null": "1", "default": "", "comment": ""},
|
||||
"mailbox": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"user": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"pass": {"type": "text", "comment": ""},
|
||||
"reply_to": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"action": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"movetofolder": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"pubmail": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"last_check": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"]
|
||||
}
|
||||
},
|
||||
"manage": {
|
||||
"comment": "table of accounts that can manage each other",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"mid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uid_mid": ["UNIQUE", "uid", "mid"]
|
||||
}
|
||||
},
|
||||
"notify": {
|
||||
"comment": "notifications",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"hash": {"type": "varchar(64)", "not null": "1", "default": "", "comment": ""},
|
||||
"type": {"type": "smallint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"photo": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"msg": {"type": "mediumtext", "comment": ""},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"},
|
||||
"link": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"iid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"item": "id"}, "comment": "item.id"},
|
||||
"parent": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"item": "id"}, "comment": ""},
|
||||
"seen": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"verb": {"type": "varchar(100)", "not null": "1", "default": "", "comment": ""},
|
||||
"otype": {"type": "varchar(10)", "not null": "1", "default": "", "comment": ""},
|
||||
"name_cache": {"type": "tinytext", "comment": "Cached bbcode parsing of name"},
|
||||
"msg_cache": {"type": "mediumtext", "comment": "Cached bbcode parsing of msg"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"hash_uid": ["hash", "uid"],
|
||||
"seen_uid_date": ["seen", "uid", "date"],
|
||||
"uid_date": ["uid", "date"],
|
||||
"uid_type_link": ["uid", "type", "link(190)"]
|
||||
}
|
||||
},
|
||||
"notify-threads": {
|
||||
"comment": "",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"notify-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"notify": "id"}, "comment": ""},
|
||||
"master-parent-item": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"item": "id"}, "comment": ""},
|
||||
"parent-item": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"receiver-uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"]
|
||||
}
|
||||
},
|
||||
"oembed": {
|
||||
"comment": "cache for OEmbed queries",
|
||||
"fields": {
|
||||
"url": {"type": "varbinary(255)", "not null": "1", "primary": "1", "comment": "page url"},
|
||||
"maxwidth": {"type": "mediumint unsigned", "not null": "1", "primary": "1", "comment": "Maximum width passed to Oembed"},
|
||||
"content": {"type": "mediumtext", "comment": "OEmbed data of the page"},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime of creation"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["url", "maxwidth"],
|
||||
"created": ["created"]
|
||||
}
|
||||
},
|
||||
"openwebauth-token": {
|
||||
"comment": "Store OpenWebAuth token to verify contacts",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"type": {"type": "varchar(32)", "not null": "1", "default": "", "comment": "Verify type"},
|
||||
"token": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "A generated token"},
|
||||
"meta": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime of creation"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"]
|
||||
}
|
||||
},
|
||||
"parsed_url": {
|
||||
"comment": "cache for 'parse_url' queries",
|
||||
"fields": {
|
||||
"url": {"type": "varbinary(255)", "not null": "1", "primary": "1", "comment": "page url"},
|
||||
"guessing": {"type": "boolean", "not null": "1", "default": "0", "primary": "1", "comment": "is the 'guessing' mode active?"},
|
||||
"oembed": {"type": "boolean", "not null": "1", "default": "0", "primary": "1", "comment": "is the data the result of oembed?"},
|
||||
"content": {"type": "mediumtext", "comment": "page data"},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "datetime of creation"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["url", "guessing", "oembed"],
|
||||
"created": ["created"]
|
||||
}
|
||||
},
|
||||
"participation": {
|
||||
"comment": "Storage for participation messages from Diaspora",
|
||||
"fields": {
|
||||
"iid": {"type": "int unsigned", "not null": "1", "primary": "1", "relation": {"item": "id"}, "comment": ""},
|
||||
"server": {"type": "varchar(60)", "not null": "1", "primary": "1", "comment": ""},
|
||||
"cid": {"type": "int unsigned", "not null": "1", "relation": {"contact": "id"}, "comment": ""},
|
||||
"fid": {"type": "int unsigned", "not null": "1", "relation": {"fcontact": "id"}, "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["iid", "server"]
|
||||
}
|
||||
},
|
||||
"pconfig": {
|
||||
"comment": "personal (per user) configuration storage",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": ""},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"cat": {"type": "varbinary(50)", "not null": "1", "default": "", "comment": ""},
|
||||
"k": {"type": "varbinary(100)", "not null": "1", "default": "", "comment": ""},
|
||||
"v": {"type": "mediumtext", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uid_cat_k": ["UNIQUE", "uid", "cat", "k"]
|
||||
}
|
||||
},
|
||||
"permissionset": {
|
||||
"comment": "",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner id of this permission set"},
|
||||
"allow_cid": {"type": "mediumtext", "comment": "Access Control - list of allowed contact.id '<19><78>'"},
|
||||
"allow_gid": {"type": "mediumtext", "comment": "Access Control - list of allowed groups"},
|
||||
"deny_cid": {"type": "mediumtext", "comment": "Access Control - list of denied contact.id"},
|
||||
"deny_gid": {"type": "mediumtext", "comment": "Access Control - list of denied groups"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uid_allow_cid_allow_gid_deny_cid_deny_gid": ["allow_cid(50)", "allow_gid(30)", "deny_cid(50)", "deny_gid(30)"]
|
||||
}
|
||||
},
|
||||
"photo": {
|
||||
"comment": "photo storage",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"},
|
||||
"contact-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "contact.id"},
|
||||
"guid": {"type": "char(16)", "not null": "1", "default": "", "comment": "A unique identifier for this photo"},
|
||||
"resource-id": {"type": "char(32)", "not null": "1", "default": "", "comment": ""},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "creation date"},
|
||||
"edited": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "last edited date"},
|
||||
"title": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"desc": {"type": "text", "comment": ""},
|
||||
"album": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "The name of the album to which the photo belongs"},
|
||||
"filename": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"type": {"type": "varchar(30)", "not null": "1", "default": "image/jpeg"},
|
||||
"height": {"type": "smallint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"width": {"type": "smallint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"datasize": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"data": {"type": "mediumblob", "not null": "1", "comment": ""},
|
||||
"scale": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"profile": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"allow_cid": {"type": "mediumtext", "comment": "Access Control - list of allowed contact.id '<19><78>'"},
|
||||
"allow_gid": {"type": "mediumtext", "comment": "Access Control - list of allowed groups"},
|
||||
"deny_cid": {"type": "mediumtext", "comment": "Access Control - list of denied contact.id"},
|
||||
"deny_gid": {"type": "mediumtext", "comment": "Access Control - list of denied groups"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"contactid": ["contact-id"],
|
||||
"uid_contactid": ["uid", "contact-id"],
|
||||
"uid_profile": ["uid", "profile"],
|
||||
"uid_album_scale_created": ["uid", "album(32)", "scale", "created"],
|
||||
"uid_album_resource-id_created": ["uid", "album(32)", "resource-id", "created"],
|
||||
"resource-id": ["resource-id"]
|
||||
}
|
||||
},
|
||||
"poll": {
|
||||
"comment": "Currently unused table for storing poll results",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": ""},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"q0": {"type": "text", "comment": ""},
|
||||
"q1": {"type": "text", "comment": ""},
|
||||
"q2": {"type": "text", "comment": ""},
|
||||
"q3": {"type": "text", "comment": ""},
|
||||
"q4": {"type": "text", "comment": ""},
|
||||
"q5": {"type": "text", "comment": ""},
|
||||
"q6": {"type": "text", "comment": ""},
|
||||
"q7": {"type": "text", "comment": ""},
|
||||
"q8": {"type": "text", "comment": ""},
|
||||
"q9": {"type": "text", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uid": ["uid"]
|
||||
}
|
||||
},
|
||||
"poll_result": {
|
||||
"comment": "data for polls - currently unused",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"poll_id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"poll": "id"}},
|
||||
"choice": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"poll_id": ["poll_id"]
|
||||
}
|
||||
},
|
||||
"process": {
|
||||
"comment": "Currently running system processes",
|
||||
"fields": {
|
||||
"pid": {"type": "int unsigned", "not null": "1", "primary": "1", "comment": ""},
|
||||
"command": {"type": "varbinary(32)", "not null": "1", "default": "", "comment": ""},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["pid"],
|
||||
"command": ["command"]
|
||||
}
|
||||
},
|
||||
"profile": {
|
||||
"comment": "user profiles data",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "Owner User id"},
|
||||
"profile-name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Name of the profile"},
|
||||
"is-default": {"type": "boolean", "not null": "1", "default": "0", "comment": "Mark this profile as default profile"},
|
||||
"hide-friends": {"type": "boolean", "not null": "1", "default": "0", "comment": "Hide friend list from viewers of this profile"},
|
||||
"name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"pdesc": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Title or description"},
|
||||
"dob": {"type": "varchar(32)", "not null": "1", "default": "0000-00-00", "comment": "Day of birth"},
|
||||
"address": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"locality": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"region": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"postal-code": {"type": "varchar(32)", "not null": "1", "default": "", "comment": ""},
|
||||
"country-name": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"hometown": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"gender": {"type": "varchar(32)", "not null": "1", "default": "", "comment": ""},
|
||||
"marital": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"with": {"type": "text", "comment": ""},
|
||||
"howlong": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"sexual": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"politic": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"religion": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"pub_keywords": {"type": "text", "comment": ""},
|
||||
"prv_keywords": {"type": "text", "comment": ""},
|
||||
"likes": {"type": "text", "comment": ""},
|
||||
"dislikes": {"type": "text", "comment": ""},
|
||||
"about": {"type": "text", "comment": ""},
|
||||
"summary": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"music": {"type": "text", "comment": ""},
|
||||
"book": {"type": "text", "comment": ""},
|
||||
"tv": {"type": "text", "comment": ""},
|
||||
"film": {"type": "text", "comment": ""},
|
||||
"interest": {"type": "text", "comment": ""},
|
||||
"romance": {"type": "text", "comment": ""},
|
||||
"work": {"type": "text", "comment": ""},
|
||||
"education": {"type": "text", "comment": ""},
|
||||
"contact": {"type": "text", "comment": ""},
|
||||
"homepage": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"xmpp": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"photo": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"thumb": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"publish": {"type": "boolean", "not null": "1", "default": "0", "comment": "publish default profile in local directory"},
|
||||
"net-publish": {"type": "boolean", "not null": "1", "default": "0", "comment": "publish profile in global directory"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uid_is-default": ["uid", "is-default"]
|
||||
}
|
||||
},
|
||||
"profile_check": {
|
||||
"comment": "DFRN remote auth use",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"cid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "contact.id"},
|
||||
"dfrn_id": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"sec": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"expire": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"]
|
||||
}
|
||||
},
|
||||
"push_subscriber": {
|
||||
"comment": "Used for OStatus: Contains feed subscribers",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"callback_url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"topic": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"nickname": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"push": {"type": "tinyint", "not null": "1", "default": "0", "comment": "Retrial counter"},
|
||||
"last_update": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of last successful trial"},
|
||||
"next_try": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Next retrial date"},
|
||||
"renewed": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of last subscription renewal"},
|
||||
"secret": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"next_try": ["next_try"]
|
||||
}
|
||||
},
|
||||
"queue": {
|
||||
"comment": "Queue for messages that couldn't be delivered",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"cid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "Message receiver"},
|
||||
"network": {"type": "char(4)", "not null": "1", "default": "", "comment": "Receiver's network"},
|
||||
"guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Unique GUID of the message"},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date, when the message was created"},
|
||||
"last": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Date of last trial"},
|
||||
"next": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Next retrial date"},
|
||||
"retrial": {"type": "tinyint", "not null": "1", "default": "0", "comment": "Retrial counter"},
|
||||
"content": {"type": "mediumtext", "comment": ""},
|
||||
"batch": {"type": "boolean", "not null": "1", "default": "0", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"last": ["last"],
|
||||
"next": ["next"]
|
||||
}
|
||||
},
|
||||
"register": {
|
||||
"comment": "registrations requiring admin approval",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"hash": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"password": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"language": {"type": "varchar(16)", "not null": "1", "default": "", "comment": ""},
|
||||
"note": {"type": "text", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"]
|
||||
}
|
||||
},
|
||||
"search": {
|
||||
"comment": "",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"term": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"uid": ["uid"]
|
||||
}
|
||||
},
|
||||
"session": {
|
||||
"comment": "web session storage",
|
||||
"fields": {
|
||||
"id": {"type": "bigint unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"sid": {"type": "varbinary(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"data": {"type": "text", "comment": ""},
|
||||
"expire": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"sid": ["sid(64)"],
|
||||
"expire": ["expire"]
|
||||
}
|
||||
},
|
||||
"sign": {
|
||||
"comment": "Diaspora signatures",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"iid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"item": "id"}, "comment": "item.id"},
|
||||
"signed_text": {"type": "mediumtext", "comment": ""},
|
||||
"signature": {"type": "text", "comment": ""},
|
||||
"signer": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"iid": ["UNIQUE", "iid"]
|
||||
}
|
||||
},
|
||||
"term": {
|
||||
"comment": "item taxonomy (categories, tags, etc.) table",
|
||||
"fields": {
|
||||
"tid": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": ""},
|
||||
"oid": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"item": "id"}, "comment": ""},
|
||||
"otype": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"type": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"term": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"url": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"guid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"received": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"global": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["tid"],
|
||||
"oid_otype_type_term": ["oid", "otype", "type", "term(32)"],
|
||||
"uid_otype_type_term_global_created": ["uid", "otype", "type", "term(32)", "global", "created"],
|
||||
"uid_otype_type_url": ["uid", "otype", "type", "url(64)"],
|
||||
"guid": ["guid(64)"]
|
||||
}
|
||||
},
|
||||
"thread": {
|
||||
"comment": "Thread related data",
|
||||
"fields": {
|
||||
"iid": {"type": "int unsigned", "not null": "1", "default": "0", "primary": "1", "relation": {"item": "id"}, "comment": "sequential ID"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"contact-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": ""},
|
||||
"owner-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "Item owner"},
|
||||
"author-id": {"type": "int unsigned", "not null": "1", "default": "0", "relation": {"contact": "id"}, "comment": "Item author"},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"edited": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"commented": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"received": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"changed": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": ""},
|
||||
"wall": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"private": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"pubmail": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"moderated": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"visible": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"starred": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"ignored": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"post-type": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": "Post type (personal note, bookmark, ...)"},
|
||||
"unseen": {"type": "boolean", "not null": "1", "default": "1", "comment": ""},
|
||||
"deleted": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"origin": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"forum_mode": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"mention": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"network": {"type": "char(4)", "not null": "1", "default": "", "comment": ""},
|
||||
"bookmark": {"type": "boolean", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["iid"],
|
||||
"uid_network_commented": ["uid", "network", "commented"],
|
||||
"uid_network_created": ["uid", "network", "created"],
|
||||
"uid_contactid_commented": ["uid", "contact-id", "commented"],
|
||||
"uid_contactid_created": ["uid", "contact-id", "created"],
|
||||
"contactid": ["contact-id"],
|
||||
"ownerid": ["owner-id"],
|
||||
"authorid": ["author-id"],
|
||||
"uid_created": ["uid", "created"],
|
||||
"uid_commented": ["uid", "commented"],
|
||||
"uid_wall_created": ["uid", "wall", "created"],
|
||||
"private_wall_origin_commented": ["private", "wall", "origin", "commented"]
|
||||
}
|
||||
},
|
||||
"tokens": {
|
||||
"comment": "OAuth usage",
|
||||
"fields": {
|
||||
"id": {"type": "varchar(40)", "not null": "1", "primary": "1", "comment": ""},
|
||||
"secret": {"type": "text", "comment": ""},
|
||||
"client_id": {"type": "varchar(20)", "not null": "1", "default": "", "relation": {"clients": "client_id"}},
|
||||
"expires": {"type": "int", "not null": "1", "default": "0", "comment": ""},
|
||||
"scope": {"type": "varchar(200)", "not null": "1", "default": "", "comment": ""},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "User id"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"]
|
||||
}
|
||||
},
|
||||
"user": {
|
||||
"comment": "The local users",
|
||||
"fields": {
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"parent-uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "relation": {"user": "uid"}, "comment": "The parent user that has full control about this user"},
|
||||
"guid": {"type": "varchar(64)", "not null": "1", "default": "", "comment": "A unique identifier for this user"},
|
||||
"username": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Name that this user is known by"},
|
||||
"password": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "encrypted password"},
|
||||
"legacy_password": {"type": "boolean", "not null": "1", "default": "0", "comment": "Is the password hash double-hashed?"},
|
||||
"nickname": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "nick- and user name"},
|
||||
"email": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "the users email address"},
|
||||
"openid": {"type": "varchar(255)", "not null": "1", "default": "", "comment": ""},
|
||||
"timezone": {"type": "varchar(128)", "not null": "1", "default": "", "comment": "PHP-legal timezone"},
|
||||
"language": {"type": "varchar(32)", "not null": "1", "default": "en", "comment": "default language"},
|
||||
"register_date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "timestamp of registration"},
|
||||
"login_date": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "timestamp of last login"},
|
||||
"default-location": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "Default for item.location"},
|
||||
"allow_location": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 allows to display the location"},
|
||||
"theme": {"type": "varchar(255)", "not null": "1", "default": "", "comment": "user theme preference"},
|
||||
"pubkey": {"type": "text", "comment": "RSA public key 4096 bit"},
|
||||
"prvkey": {"type": "text", "comment": "RSA private key 4096 bit"},
|
||||
"spubkey": {"type": "text", "comment": ""},
|
||||
"sprvkey": {"type": "text", "comment": ""},
|
||||
"verified": {"type": "boolean", "not null": "1", "default": "0", "comment": "user is verified through email"},
|
||||
"blocked": {"type": "boolean", "not null": "1", "default": "0", "comment": "1 for user is blocked"},
|
||||
"blockwall": {"type": "boolean", "not null": "1", "default": "0", "comment": "Prohibit contacts to post to the profile page of the user"},
|
||||
"hidewall": {"type": "boolean", "not null": "1", "default": "0", "comment": "Hide profile details from unkown viewers"},
|
||||
"blocktags": {"type": "boolean", "not null": "1", "default": "0", "comment": "Prohibit contacts to tag the post of this user"},
|
||||
"unkmail": {"type": "boolean", "not null": "1", "default": "0", "comment": "Permit unknown people to send private mails to this user"},
|
||||
"cntunkmail": {"type": "int unsigned", "not null": "1", "default": "10", "comment": ""},
|
||||
"notify-flags": {"type": "smallint unsigned", "not null": "1", "default": "65535", "comment": "email notification options"},
|
||||
"page-flags": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": "page/profile type"},
|
||||
"account-type": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"prvnets": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"pwdreset": {"type": "varchar(255)", "comment": "Password reset request token"},
|
||||
"pwdreset_time": {"type": "datetime", "comment": "Timestamp of the last password reset request"},
|
||||
"maxreq": {"type": "int unsigned", "not null": "1", "default": "10", "comment": ""},
|
||||
"expire": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"account_removed": {"type": "boolean", "not null": "1", "default": "0", "comment": "if 1 the account is removed"},
|
||||
"account_expired": {"type": "boolean", "not null": "1", "default": "0", "comment": ""},
|
||||
"account_expires_on": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "timestamp when account expires and will be deleted"},
|
||||
"expire_notification_sent": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "timestamp of last warning of account expiration"},
|
||||
"def_gid": {"type": "int unsigned", "not null": "1", "default": "0", "comment": ""},
|
||||
"allow_cid": {"type": "mediumtext", "comment": "default permission for this user"},
|
||||
"allow_gid": {"type": "mediumtext", "comment": "default permission for this user"},
|
||||
"deny_cid": {"type": "mediumtext", "comment": "default permission for this user"},
|
||||
"deny_gid": {"type": "mediumtext", "comment": "default permission for this user"},
|
||||
"openidserver": {"type": "text", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["uid"],
|
||||
"nickname": ["nickname(32)"]
|
||||
}
|
||||
},
|
||||
"userd": {
|
||||
"comment": "Deleted usernames",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "sequential ID"},
|
||||
"username": {"type": "varchar(255)", "not null": "1", "comment": ""}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"username": ["username(32)"]
|
||||
}
|
||||
},
|
||||
"user-contact": {
|
||||
"comment": "User specific public contact data",
|
||||
"fields": {
|
||||
"cid": {"type": "int unsigned", "not null": "1", "default": "0", "primary": "1", "relation": {"contact": "id"}, "comment": "Contact id of the linked public contact"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "primary": "1", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"blocked": {"type": "boolean", "comment": "Contact is completely blocked for this user"},
|
||||
"ignored": {"type": "boolean", "comment": "Posts from this contact are ignored"},
|
||||
"collapsed": {"type": "boolean", "comment": "Posts from this contact are collapsed"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["uid", "cid"]
|
||||
}
|
||||
},
|
||||
"user-item": {
|
||||
"comment": "User specific item data",
|
||||
"fields": {
|
||||
"iid": {"type": "int unsigned", "not null": "1", "default": "0", "primary": "1", "relation": {"item": "id"}, "comment": "Item id"},
|
||||
"uid": {"type": "mediumint unsigned", "not null": "1", "default": "0", "primary": "1", "relation": {"user": "uid"}, "comment": "User id"},
|
||||
"hidden": {"type": "boolean", "not null": "1", "default": "0", "comment": "Marker to hide an item from the user"},
|
||||
"ignored": {"type": "boolean", "comment": "Ignore this thread if set"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["uid", "iid"]
|
||||
}
|
||||
},
|
||||
"worker-ipc": {
|
||||
"comment": "Inter process communication between the frontend and the worker",
|
||||
"fields": {
|
||||
"key": {"type": "int", "not null": "1", "primary": "1", "comment": ""},
|
||||
"jobs": {"type": "boolean", "comment": "Flag for outstanding jobs"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["key"]
|
||||
},
|
||||
"engine": "MEMORY"
|
||||
},
|
||||
"workerqueue": {
|
||||
"comment": "Background tasks queue entries",
|
||||
"fields": {
|
||||
"id": {"type": "int unsigned", "not null": "1", "extra": "auto_increment", "primary": "1", "comment": "Auto incremented worker task id"},
|
||||
"parameter": {"type": "mediumblob", "comment": "Task command"},
|
||||
"priority": {"type": "tinyint unsigned", "not null": "1", "default": "0", "comment": "Task priority"},
|
||||
"created": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Creation date"},
|
||||
"pid": {"type": "int unsigned", "not null": "1", "default": "0", "comment": "Process id of the worker"},
|
||||
"executed": {"type": "datetime", "not null": "1", "default": "0001-01-01 00:00:00", "comment": "Execution date"},
|
||||
"done": {"type": "boolean", "not null": "1", "default": "0", "comment": "Marked 1 when the task was done - will be deleted later"}
|
||||
},
|
||||
"indexes": {
|
||||
"PRIMARY": ["id"],
|
||||
"pid": ["pid"],
|
||||
"parameter": ["parameter(64)"],
|
||||
"priority_created": ["priority", "created"],
|
||||
"done_executed": ["done", "executed"]
|
||||
}
|
||||
}
|
||||
}
|
||||
41
config/local-sample.ini.php
Normal file
41
config/local-sample.ini.php
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<?php return <<<INI
|
||||
|
||||
; If automatic system installation fails:
|
||||
|
||||
; Copy this file to local.ini.php
|
||||
|
||||
; Why local.ini.php? Because it contains sensitive information which could
|
||||
; give somebody complete control of your database. Apache's default
|
||||
; configuration will interpret any .php file as a script and won't show the values
|
||||
|
||||
; Then set the following for your MySQL installation
|
||||
|
||||
[database]
|
||||
hostname = localhost
|
||||
username = mysqlusername
|
||||
password = mysqlpassword
|
||||
database = mysqldatabasename
|
||||
charset = utf8mb4
|
||||
|
||||
|
||||
; ****************************************************************
|
||||
; The configuration below will be overruled by the admin panel.
|
||||
; Changes made below will only have an effect if the database does
|
||||
; not contain any configuration for the friendica system.
|
||||
; ****************************************************************
|
||||
|
||||
[config]
|
||||
admin_email =
|
||||
|
||||
sitename = Friendica Social Network
|
||||
|
||||
register_policy = REGISTER_OPEN
|
||||
register_text =
|
||||
|
||||
[system]
|
||||
default_timezone = UTC
|
||||
|
||||
language = en
|
||||
|
||||
INI;
|
||||
// Keep this line
|
||||
108
config/settings.ini.php
Normal file
108
config/settings.ini.php
Normal file
|
|
@ -0,0 +1,108 @@
|
|||
<?php return <<<INI
|
||||
|
||||
; SETTINGS.INI.PHP
|
||||
|
||||
; This file declares the default values for the admin settings of Friendica.
|
||||
; These values will be overriden by the admin settings page.
|
||||
|
||||
; Please don't edit this file directly as its content may change in the upcoming versions.
|
||||
|
||||
[config]
|
||||
|
||||
; info (String)
|
||||
; Plaintext description of this node, used in the /friendica module.
|
||||
info =
|
||||
|
||||
; register_policy (Constant)
|
||||
; Your choices are REGISTER_OPEN, REGISTER_APPROVE, or REGISTER_CLOSED.
|
||||
; Be certain to create your own personal account before setting REGISTER_CLOSED.
|
||||
; REGISTER_APPROVE requires you set system.admin_email to the email address of an already registered person who can authorize and/or approve/deny the request.
|
||||
register_policy = REGISTER_CLOSED
|
||||
|
||||
; register_text (String)
|
||||
; Will be displayed prominently on the registration page.
|
||||
register_text = ''
|
||||
|
||||
; sitename (String)
|
||||
; Displayed server name.
|
||||
sitename = "Friendica Social Network"
|
||||
|
||||
[system]
|
||||
|
||||
; account_abandon_days (Integer)
|
||||
; Will not waste system resources polling external sites for abandonded accounts.
|
||||
; Enter 0 for no time limit.
|
||||
account_abandon_days = 0
|
||||
|
||||
; addon (Comma-separated list)
|
||||
; Manual list of addons which are enabled on this system.
|
||||
addon =
|
||||
|
||||
; allowed_themes (Comma-separated list)
|
||||
; Themes users can change to in their settings.
|
||||
allowed_themes = 'quattro,vier,duepuntozero,smoothly'
|
||||
|
||||
; default_timezone (String)
|
||||
; Choose a default timezone. See https://secure.php.net/manual/en/timezones.php
|
||||
; It only applies to timestamps for anonymous viewers.
|
||||
default_timezone = UTC
|
||||
|
||||
; directory (String)
|
||||
; URL of the global directory.
|
||||
directory = https://dir.friendica.social
|
||||
|
||||
; forbidden_nicknames (Comma-separated list)
|
||||
; Prevents users from registering the specified nicknames on this node.
|
||||
; Default value comprises classic role names from RFC 2142.
|
||||
forbidden_nicknames = info, marketing, sales, support, abuse, noc, security, postmaster, hostmaster, usenet, news, webmaster, www, uucp, ftp, root, sysop
|
||||
|
||||
; jpeg_quality (Integer)
|
||||
; Sets the ImageMagick quality level for JPEG images. Values ranges from 50 (awful) to 100 (near perfect).
|
||||
jpeg_quality = 100
|
||||
|
||||
; language (String)
|
||||
; System default languague, inluding admin-created user default language.
|
||||
; Two-letters ISO 639-1 code.
|
||||
language = en
|
||||
|
||||
; max_image_length (Integer)
|
||||
; An alternate way of limiting picture upload sizes.
|
||||
; Specify the maximum pixel length that pictures are allowed to be (for non-square pictures, it will apply to the longest side).
|
||||
; Pictures longer than this length will be resized to be this length (on the longest side, the other side will be scaled appropriately).
|
||||
; If you don't want to set a maximum length, set to -1.
|
||||
max_image_length = -1
|
||||
|
||||
; maximagesize (Integer)
|
||||
; Maximum size in bytes of an uploaded photo.
|
||||
maximagesize = 800000
|
||||
|
||||
; no_regfullname (Boolean)
|
||||
; Allow pseudonyms (true) or enforce a space between firstname and lastname in Full name, as an antispam measure (false).
|
||||
no_regfullname = true
|
||||
|
||||
; optimize_max_tablesize (Integer)
|
||||
; Maximum table size (in MB) for the automatic optimization.
|
||||
; -1 to disable automatic optimization.
|
||||
; 0 to use internal default (100MB)
|
||||
optimize_max_tablesize = -1
|
||||
|
||||
; rino_encrypt (Integer)
|
||||
; Server-to-server private message encryption (RINO).
|
||||
; Encryption will only be provided if this setting is set to a non zero value on both servers.
|
||||
; Set to 0 to disable, 2 to enable, 1 is deprecated but wont need mcrypt.
|
||||
rino_encrypt = 2
|
||||
|
||||
; theme (String)
|
||||
; System theme name.
|
||||
theme = vier
|
||||
|
||||
; url (String)
|
||||
; The fully-qualified URL of this Friendica node.
|
||||
; Used by the worker in a non-HTTP execution environment.
|
||||
url =
|
||||
|
||||
; Used in the admin settings to lock certain features
|
||||
[featurelock]
|
||||
|
||||
INI;
|
||||
// Keep this line
|
||||
767
database.sql
767
database.sql
|
|
@ -1,6 +1,6 @@
|
|||
-- ------------------------------------------
|
||||
-- Friendica 2018.05 (The Tazmans Flax-lily)
|
||||
-- DB_UPDATE_VERSION 1266
|
||||
-- Friendica 2018.08-dev (The Tazmans Flax-lily)
|
||||
-- DB_UPDATE_VERSION 1283
|
||||
-- ------------------------------------------
|
||||
|
||||
|
||||
|
|
@ -9,35 +9,35 @@
|
|||
--
|
||||
CREATE TABLE IF NOT EXISTS `addon` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`name` varchar(50) NOT NULL DEFAULT '' COMMENT '',
|
||||
`version` varchar(50) NOT NULL DEFAULT '' COMMENT '',
|
||||
`installed` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`hidden` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`timestamp` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`plugin_admin` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`name` varchar(50) NOT NULL DEFAULT '' COMMENT 'addon base (file)name',
|
||||
`version` varchar(50) NOT NULL DEFAULT '' COMMENT 'currently unused',
|
||||
`installed` boolean NOT NULL DEFAULT '0' COMMENT 'currently always 1',
|
||||
`hidden` boolean NOT NULL DEFAULT '0' COMMENT 'currently unused',
|
||||
`timestamp` int unsigned NOT NULL DEFAULT 0 COMMENT 'file timestamp to check for reloads',
|
||||
`plugin_admin` boolean NOT NULL DEFAULT '0' COMMENT '1 = has admin config, 0 = has no admin config',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `name` (`name`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='registered addons';
|
||||
|
||||
--
|
||||
-- TABLE attach
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `attach` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`hash` varchar(64) NOT NULL DEFAULT '' COMMENT '',
|
||||
`filename` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`filetype` varchar(64) NOT NULL DEFAULT '' COMMENT '',
|
||||
`filesize` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`data` longblob NOT NULL COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`allow_cid` mediumtext COMMENT '',
|
||||
`allow_gid` mediumtext COMMENT '',
|
||||
`deny_cid` mediumtext COMMENT '',
|
||||
`deny_gid` mediumtext COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'generated index',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner User id',
|
||||
`hash` varchar(64) NOT NULL DEFAULT '' COMMENT 'hash',
|
||||
`filename` varchar(255) NOT NULL DEFAULT '' COMMENT 'filename of original',
|
||||
`filetype` varchar(64) NOT NULL DEFAULT '' COMMENT 'mimetype',
|
||||
`filesize` int unsigned NOT NULL DEFAULT 0 COMMENT 'size in bytes',
|
||||
`data` longblob NOT NULL COMMENT 'file data',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'creation time',
|
||||
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'last edit time',
|
||||
`allow_cid` mediumtext COMMENT 'Access Control - list of allowed contact.id \'<19><78>',
|
||||
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed groups',
|
||||
`deny_cid` mediumtext COMMENT 'Access Control - list of denied contact.id',
|
||||
`deny_gid` mediumtext COMMENT 'Access Control - list of denied groups',
|
||||
PRIMARY KEY(`id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='file attachments';
|
||||
|
||||
--
|
||||
-- TABLE auth_codes
|
||||
|
|
@ -49,7 +49,7 @@ CREATE TABLE IF NOT EXISTS `auth_codes` (
|
|||
`expires` int NOT NULL DEFAULT 0 COMMENT '',
|
||||
`scope` varchar(250) NOT NULL DEFAULT '' COMMENT '',
|
||||
PRIMARY KEY(`id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='OAuth usage';
|
||||
|
||||
--
|
||||
-- TABLE cache
|
||||
|
|
@ -61,20 +61,20 @@ CREATE TABLE IF NOT EXISTS `cache` (
|
|||
`updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'datetime of cache insertion',
|
||||
PRIMARY KEY(`k`),
|
||||
INDEX `k_expires` (`k`,`expires`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Stores temporary data';
|
||||
|
||||
--
|
||||
-- TABLE challenge
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `challenge` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`challenge` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`dfrn-id` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`expire` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`type` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`last_update` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
PRIMARY KEY(`id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
|
||||
|
||||
--
|
||||
-- TABLE clients
|
||||
|
|
@ -87,7 +87,7 @@ CREATE TABLE IF NOT EXISTS `clients` (
|
|||
`icon` text COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
PRIMARY KEY(`client_id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='OAuth usage';
|
||||
|
||||
--
|
||||
-- TABLE config
|
||||
|
|
@ -99,32 +99,32 @@ CREATE TABLE IF NOT EXISTS `config` (
|
|||
`v` mediumtext COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `cat_k` (`cat`,`k`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='main configuration storage';
|
||||
|
||||
--
|
||||
-- TABLE contact
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `contact` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner User id',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`self` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`self` boolean NOT NULL DEFAULT '0' COMMENT '1 if the contact is the user him/her self',
|
||||
`remote_self` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`rel` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`rel` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'The kind of the relation between the user and the contact',
|
||||
`duplex` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`network` char(4) NOT NULL DEFAULT '' COMMENT '',
|
||||
`name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`nick` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`network` char(4) NOT NULL DEFAULT '' COMMENT 'Network protocol of the contact',
|
||||
`name` varchar(255) NOT NULL DEFAULT '' COMMENT 'Name that this contact is known by',
|
||||
`nick` varchar(255) NOT NULL DEFAULT '' COMMENT 'Nick- and user name of the contact',
|
||||
`location` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`about` text COMMENT '',
|
||||
`keywords` text COMMENT '',
|
||||
`keywords` text COMMENT 'public keywords (interests) of the contact',
|
||||
`gender` varchar(32) NOT NULL DEFAULT '' COMMENT '',
|
||||
`xmpp` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`attag` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`avatar` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`photo` varchar(255) DEFAULT '' COMMENT '',
|
||||
`thumb` varchar(255) DEFAULT '' COMMENT '',
|
||||
`micro` varchar(255) DEFAULT '' COMMENT '',
|
||||
`photo` varchar(255) DEFAULT '' COMMENT 'Link to the profile photo of the contact',
|
||||
`thumb` varchar(255) DEFAULT '' COMMENT 'Link to the profile photo (thumb size)',
|
||||
`micro` varchar(255) DEFAULT '' COMMENT 'Link to the profile photo (micro size)',
|
||||
`site-pubkey` text COMMENT '',
|
||||
`issued-id` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`dfrn-id` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
|
|
@ -132,8 +132,8 @@ CREATE TABLE IF NOT EXISTS `contact` (
|
|||
`nurl` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`addr` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`alias` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`pubkey` text COMMENT '',
|
||||
`prvkey` text COMMENT '',
|
||||
`pubkey` text COMMENT 'RSA public key 4096 bit',
|
||||
`prvkey` text COMMENT 'RSA private key 4096 bit',
|
||||
`batch` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`request` varchar(255) COMMENT '',
|
||||
`notify` varchar(255) COMMENT '',
|
||||
|
|
@ -145,20 +145,20 @@ CREATE TABLE IF NOT EXISTS `contact` (
|
|||
`usehub` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`subhub` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`hub-verify` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`last-update` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`success_update` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`failure_update` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`last-update` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of the last try to update the contact info',
|
||||
`success_update` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of the last successful contact update',
|
||||
`failure_update` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of the last failed update',
|
||||
`name-date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`uri-date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`avatar-date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`term-date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`last-item` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`last-item` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'date of the last post',
|
||||
`priority` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`blocked` boolean NOT NULL DEFAULT '1' COMMENT '',
|
||||
`readonly` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`readonly` boolean NOT NULL DEFAULT '0' COMMENT 'posts of the contact are readonly',
|
||||
`writable` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`forum` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`prv` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`forum` boolean NOT NULL DEFAULT '0' COMMENT 'contact is a forum',
|
||||
`prv` boolean NOT NULL DEFAULT '0' COMMENT 'contact is a private group',
|
||||
`contact-type` tinyint NOT NULL DEFAULT 0 COMMENT '',
|
||||
`hidden` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`archive` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
|
|
@ -186,74 +186,74 @@ CREATE TABLE IF NOT EXISTS `contact` (
|
|||
INDEX `nick_uid` (`nick`(32),`uid`),
|
||||
INDEX `dfrn-id` (`dfrn-id`(64)),
|
||||
INDEX `issued-id` (`issued-id`(64))
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='contact table';
|
||||
|
||||
--
|
||||
-- TABLE conv
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `conv` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`guid` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`recips` text COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`creator` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`subject` text COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`guid` varchar(255) NOT NULL DEFAULT '' COMMENT 'A unique identifier for this conversation',
|
||||
`recips` text COMMENT 'sender_handle;recipient_handle',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner User id',
|
||||
`creator` varchar(255) NOT NULL DEFAULT '' COMMENT 'handle of creator',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'creation timestamp',
|
||||
`updated` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'edited timestamp',
|
||||
`subject` text COMMENT 'subject of initial message',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `uid` (`uid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='private messages';
|
||||
|
||||
--
|
||||
-- TABLE conversation
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `conversation` (
|
||||
`item-uri` varbinary(255) NOT NULL COMMENT '',
|
||||
`reply-to-uri` varbinary(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`conversation-uri` varbinary(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`conversation-href` varbinary(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`protocol` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`source` mediumtext COMMENT '',
|
||||
`received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`item-uri` varbinary(255) NOT NULL COMMENT 'Original URI of the item - unrelated to the table with the same name',
|
||||
`reply-to-uri` varbinary(255) NOT NULL DEFAULT '' COMMENT 'URI to which this item is a reply',
|
||||
`conversation-uri` varbinary(255) NOT NULL DEFAULT '' COMMENT 'GNU Social conversation URI',
|
||||
`conversation-href` varbinary(255) NOT NULL DEFAULT '' COMMENT 'GNU Social conversation link',
|
||||
`protocol` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'The protocol of the item',
|
||||
`source` mediumtext COMMENT 'Original source',
|
||||
`received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Receiving date',
|
||||
PRIMARY KEY(`item-uri`),
|
||||
INDEX `conversation-uri` (`conversation-uri`),
|
||||
INDEX `received` (`received`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Raw data and structure information for messages';
|
||||
|
||||
--
|
||||
-- TABLE event
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `event` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`guid` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`cid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner User id',
|
||||
`cid` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact_id (ID of the contact in contact table)',
|
||||
`uri` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`start` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`finish` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`summary` text COMMENT '',
|
||||
`desc` text COMMENT '',
|
||||
`location` text COMMENT '',
|
||||
`type` varchar(20) NOT NULL DEFAULT '' COMMENT '',
|
||||
`nofinish` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`adjust` boolean NOT NULL DEFAULT '1' COMMENT '',
|
||||
`ignore` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`allow_cid` mediumtext COMMENT '',
|
||||
`allow_gid` mediumtext COMMENT '',
|
||||
`deny_cid` mediumtext COMMENT '',
|
||||
`deny_gid` mediumtext COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'creation time',
|
||||
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'last edit time',
|
||||
`start` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'event start time',
|
||||
`finish` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'event end time',
|
||||
`summary` text COMMENT 'short description or title of the event',
|
||||
`desc` text COMMENT 'event description',
|
||||
`location` text COMMENT 'event location',
|
||||
`type` varchar(20) NOT NULL DEFAULT '' COMMENT 'event or birthday',
|
||||
`nofinish` boolean NOT NULL DEFAULT '0' COMMENT 'if event does have no end this is 1',
|
||||
`adjust` boolean NOT NULL DEFAULT '1' COMMENT 'adjust to timezone of the recipient (0 or 1)',
|
||||
`ignore` boolean NOT NULL DEFAULT '0' COMMENT '0 or 1',
|
||||
`allow_cid` mediumtext COMMENT 'Access Control - list of allowed contact.id \'<19><78>\'',
|
||||
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed groups',
|
||||
`deny_cid` mediumtext COMMENT 'Access Control - list of denied contact.id',
|
||||
`deny_gid` mediumtext COMMENT 'Access Control - list of denied groups',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `uid_start` (`uid`,`start`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Events';
|
||||
|
||||
--
|
||||
-- TABLE fcontact
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `fcontact` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`guid` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`guid` varchar(255) NOT NULL DEFAULT '' COMMENT 'unique id',
|
||||
`url` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`photo` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
|
|
@ -272,7 +272,7 @@ CREATE TABLE IF NOT EXISTS `fcontact` (
|
|||
PRIMARY KEY(`id`),
|
||||
INDEX `addr` (`addr`(32)),
|
||||
UNIQUE INDEX `url` (`url`(190))
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Diaspora compatible contacts - used in the Diaspora implementation';
|
||||
|
||||
--
|
||||
-- TABLE fsuggest
|
||||
|
|
@ -288,30 +288,30 @@ CREATE TABLE IF NOT EXISTS `fsuggest` (
|
|||
`note` text COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
PRIMARY KEY(`id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='friend suggestion stuff';
|
||||
|
||||
--
|
||||
-- TABLE gcign
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `gcign` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`gcid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Local User id',
|
||||
`gcid` int unsigned NOT NULL DEFAULT 0 COMMENT 'gcontact.id of ignored contact',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `uid` (`uid`),
|
||||
INDEX `gcid` (`gcid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='contacts ignored by friend suggestions';
|
||||
|
||||
--
|
||||
-- TABLE gcontact
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `gcontact` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`nick` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`url` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`name` varchar(255) NOT NULL DEFAULT '' COMMENT 'Name that this contact is known by',
|
||||
`nick` varchar(255) NOT NULL DEFAULT '' COMMENT 'Nick- and user name of the contact',
|
||||
`url` varchar(255) NOT NULL DEFAULT '' COMMENT 'Link to the contacts profile page',
|
||||
`nurl` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`photo` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`photo` varchar(255) NOT NULL DEFAULT '' COMMENT 'Link to the profile photo',
|
||||
`connect` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`updated` datetime DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
|
|
@ -319,19 +319,19 @@ CREATE TABLE IF NOT EXISTS `gcontact` (
|
|||
`last_failure` datetime DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`location` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`about` text COMMENT '',
|
||||
`keywords` text COMMENT '',
|
||||
`keywords` text COMMENT 'puplic keywords (interests)',
|
||||
`gender` varchar(32) NOT NULL DEFAULT '' COMMENT '',
|
||||
`birthday` varchar(32) NOT NULL DEFAULT '0001-01-01' COMMENT '',
|
||||
`community` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`community` boolean NOT NULL DEFAULT '0' COMMENT '1 if contact is forum account',
|
||||
`contact-type` tinyint NOT NULL DEFAULT -1 COMMENT '',
|
||||
`hide` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`nsfw` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`network` char(4) NOT NULL DEFAULT '' COMMENT '',
|
||||
`hide` boolean NOT NULL DEFAULT '0' COMMENT '1 = should be hidden from search',
|
||||
`nsfw` boolean NOT NULL DEFAULT '0' COMMENT '1 = contact posts nsfw content',
|
||||
`network` char(4) NOT NULL DEFAULT '' COMMENT 'social network protocol',
|
||||
`addr` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`notify` varchar(255) COMMENT '',
|
||||
`alias` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`generation` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`server_url` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`server_url` varchar(255) NOT NULL DEFAULT '' COMMENT 'baseurl of the contacts server',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `nurl` (`nurl`(190)),
|
||||
INDEX `name` (`name`(64)),
|
||||
|
|
@ -339,13 +339,13 @@ CREATE TABLE IF NOT EXISTS `gcontact` (
|
|||
INDEX `addr` (`addr`(64)),
|
||||
INDEX `hide_network_updated` (`hide`,`network`,`updated`),
|
||||
INDEX `updated` (`updated`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='global contacts';
|
||||
|
||||
--
|
||||
-- TABLE glink
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `glink` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`cid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`gcid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
|
|
@ -354,45 +354,45 @@ CREATE TABLE IF NOT EXISTS `glink` (
|
|||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `cid_uid_gcid_zcid` (`cid`,`uid`,`gcid`,`zcid`),
|
||||
INDEX `gcid` (`gcid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='\'friends of friends\' linkages derived from poco';
|
||||
|
||||
--
|
||||
-- TABLE group
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `group` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`visible` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`deleted` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner User id',
|
||||
`visible` boolean NOT NULL DEFAULT '0' COMMENT '1 indicates the member list is not private',
|
||||
`deleted` boolean NOT NULL DEFAULT '0' COMMENT '1 indicates the group has been deleted',
|
||||
`name` varchar(255) NOT NULL DEFAULT '' COMMENT 'human readable name of group',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `uid` (`uid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='privacy groups, group info';
|
||||
|
||||
--
|
||||
-- TABLE group_member
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `group_member` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`gid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`gid` int unsigned NOT NULL DEFAULT 0 COMMENT 'groups.id of the associated group',
|
||||
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact.id of the member assigned to the associated group',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `contactid` (`contact-id`),
|
||||
UNIQUE INDEX `gid_contactid` (`gid`,`contact-id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='privacy groups, member info';
|
||||
|
||||
--
|
||||
-- TABLE gserver
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `gserver` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`url` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`nurl` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`version` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`site_name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`info` text COMMENT '',
|
||||
`register_policy` tinyint NOT NULL DEFAULT 0 COMMENT '',
|
||||
`registered-users` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`registered-users` int unsigned NOT NULL DEFAULT 0 COMMENT 'Number of registered users',
|
||||
`poco` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`noscrape` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`network` char(4) NOT NULL DEFAULT '' COMMENT '',
|
||||
|
|
@ -405,7 +405,7 @@ CREATE TABLE IF NOT EXISTS `gserver` (
|
|||
`last_failure` datetime DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `nurl` (`nurl`(190))
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Global servers';
|
||||
|
||||
--
|
||||
-- TABLE gserver-tag
|
||||
|
|
@ -415,26 +415,26 @@ CREATE TABLE IF NOT EXISTS `gserver-tag` (
|
|||
`tag` varchar(100) NOT NULL DEFAULT '' COMMENT 'Tag that the server has subscribed',
|
||||
PRIMARY KEY(`gserver-id`,`tag`),
|
||||
INDEX `tag` (`tag`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Tags that the server has subscribed';
|
||||
|
||||
--
|
||||
-- TABLE hook
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `hook` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`hook` varbinary(100) NOT NULL DEFAULT '' COMMENT '',
|
||||
`file` varbinary(200) NOT NULL DEFAULT '' COMMENT '',
|
||||
`function` varbinary(200) NOT NULL DEFAULT '' COMMENT '',
|
||||
`priority` smallint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`hook` varbinary(100) NOT NULL DEFAULT '' COMMENT 'name of hook',
|
||||
`file` varbinary(200) NOT NULL DEFAULT '' COMMENT 'relative filename of hook handler',
|
||||
`function` varbinary(200) NOT NULL DEFAULT '' COMMENT 'function name of hook handler',
|
||||
`priority` smallint unsigned NOT NULL DEFAULT 0 COMMENT 'not yet implemented - can be used to sort conflicts in hook handling by calling handlers in priority order',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `hook_file_function` (`hook`,`file`,`function`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='addon hook registry';
|
||||
|
||||
--
|
||||
-- TABLE intro
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `intro` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`fid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
|
|
@ -446,76 +446,83 @@ CREATE TABLE IF NOT EXISTS `intro` (
|
|||
`blocked` boolean NOT NULL DEFAULT '1' COMMENT '',
|
||||
`ignore` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
PRIMARY KEY(`id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
|
||||
|
||||
--
|
||||
-- TABLE item
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `item` (
|
||||
`id` int unsigned NOT NULL auto_increment,
|
||||
`guid` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`guid` varchar(255) NOT NULL DEFAULT '' COMMENT 'A unique identifier for this item',
|
||||
`uri` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`type` varchar(20) NOT NULL DEFAULT '' COMMENT '',
|
||||
`wall` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`uri-id` int unsigned COMMENT 'Id of the item-uri table entry that contains the item uri',
|
||||
`uri-hash` varchar(80) NOT NULL DEFAULT '' COMMENT 'RIPEMD-128 hash from uri',
|
||||
`parent` int unsigned NOT NULL DEFAULT 0 COMMENT 'item.id of the parent to this item if it is a reply of some form; otherwise this must be set to the id of this item',
|
||||
`parent-uri` varchar(255) NOT NULL DEFAULT '' COMMENT 'uri of the parent to this item',
|
||||
`parent-uri-id` int unsigned COMMENT 'Id of the item-uri table that contains the parent uri',
|
||||
`thr-parent` varchar(255) NOT NULL DEFAULT '' COMMENT 'If the parent of this item is not the top-level item in the conversation, the uri of the immediate parent; otherwise set to parent-uri',
|
||||
`thr-parent-id` int unsigned COMMENT 'Id of the item-uri table that contains the thread parent uri',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Creation timestamp.',
|
||||
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of last edit (default is created)',
|
||||
`commented` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date of last comment/reply to this item',
|
||||
`received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'datetime',
|
||||
`changed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Date that something in the conversation changed, indicating clients should fetch the conversation again',
|
||||
`gravity` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`parent` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`parent-uri` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`network` char(4) NOT NULL DEFAULT '' COMMENT 'Network from where the item comes from',
|
||||
`owner-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Link to the contact table with uid=0 of the owner of this item',
|
||||
`author-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Link to the contact table with uid=0 of the author of this item',
|
||||
`icid` int unsigned COMMENT 'Id of the item-content table entry that contains the whole item content',
|
||||
`iaid` int unsigned COMMENT 'Id of the item-activity table entry that contains the activity data',
|
||||
`extid` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`thr-parent` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`commented` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`changed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`owner-id` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`owner-name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`owner-link` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`owner-avatar` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`author-id` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`author-name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`author-link` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`author-avatar` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`content-warning` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`body` mediumtext COMMENT '',
|
||||
`app` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`verb` varchar(100) NOT NULL DEFAULT '' COMMENT '',
|
||||
`object-type` varchar(100) NOT NULL DEFAULT '' COMMENT '',
|
||||
`object` text COMMENT '',
|
||||
`target-type` varchar(100) NOT NULL DEFAULT '' COMMENT '',
|
||||
`target` text COMMENT '',
|
||||
`postopts` text COMMENT '',
|
||||
`plink` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`resource-id` varchar(32) NOT NULL DEFAULT '' COMMENT '',
|
||||
`event-id` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`tag` mediumtext COMMENT '',
|
||||
`attach` mediumtext COMMENT '',
|
||||
`inform` mediumtext COMMENT '',
|
||||
`file` mediumtext COMMENT '',
|
||||
`location` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`coord` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`allow_cid` mediumtext COMMENT '',
|
||||
`allow_gid` mediumtext COMMENT '',
|
||||
`deny_cid` mediumtext COMMENT '',
|
||||
`deny_gid` mediumtext COMMENT '',
|
||||
`private` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`pubmail` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`moderated` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`visible` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`spam` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`starred` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`bookmark` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`unseen` boolean NOT NULL DEFAULT '1' COMMENT '',
|
||||
`deleted` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`origin` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`forum_mode` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`mention` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`network` char(4) NOT NULL DEFAULT '' COMMENT '',
|
||||
`rendered-hash` varchar(32) NOT NULL DEFAULT '' COMMENT '',
|
||||
`rendered-html` mediumtext COMMENT '',
|
||||
`post-type` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'Post type (personal note, bookmark, ...)',
|
||||
`global` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`private` boolean NOT NULL DEFAULT '0' COMMENT 'distribution is restricted',
|
||||
`visible` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`moderated` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`deleted` boolean NOT NULL DEFAULT '0' COMMENT 'item has been deleted',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner id which owns this copy of the item',
|
||||
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact.id',
|
||||
`wall` boolean NOT NULL DEFAULT '0' COMMENT 'This item was posted to the wall of uid',
|
||||
`origin` boolean NOT NULL DEFAULT '0' COMMENT 'item originated at this site',
|
||||
`pubmail` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`starred` boolean NOT NULL DEFAULT '0' COMMENT 'item has been favourited',
|
||||
`unseen` boolean NOT NULL DEFAULT '1' COMMENT 'item has not been seen',
|
||||
`mention` boolean NOT NULL DEFAULT '0' COMMENT 'The owner of this item was mentioned in it',
|
||||
`forum_mode` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`psid` int unsigned COMMENT 'ID of the permission set of this post',
|
||||
`resource-id` varchar(32) NOT NULL DEFAULT '' COMMENT 'Used to link other tables to items, it identifies the linked resource (e.g. photo) and if set must also set resource_type',
|
||||
`event-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Used to link to the event.id',
|
||||
`attach` mediumtext COMMENT 'JSON structure representing attachments to this item',
|
||||
`allow_cid` mediumtext COMMENT 'Deprecated',
|
||||
`allow_gid` mediumtext COMMENT 'Deprecated',
|
||||
`deny_cid` mediumtext COMMENT 'Deprecated',
|
||||
`deny_gid` mediumtext COMMENT 'Deprecated',
|
||||
`postopts` text COMMENT 'Deprecated',
|
||||
`inform` mediumtext COMMENT 'Deprecated',
|
||||
`type` varchar(20) COMMENT 'Deprecated',
|
||||
`bookmark` boolean COMMENT 'Deprecated',
|
||||
`file` mediumtext COMMENT 'Deprecated',
|
||||
`location` varchar(255) COMMENT 'Deprecated',
|
||||
`coord` varchar(255) COMMENT 'Deprecated',
|
||||
`tag` mediumtext COMMENT 'Deprecated',
|
||||
`plink` varchar(255) COMMENT 'Deprecated',
|
||||
`title` varchar(255) COMMENT 'Deprecated',
|
||||
`content-warning` varchar(255) COMMENT 'Deprecated',
|
||||
`body` mediumtext COMMENT 'Deprecated',
|
||||
`app` varchar(255) COMMENT 'Deprecated',
|
||||
`verb` varchar(100) COMMENT 'Deprecated',
|
||||
`object-type` varchar(100) COMMENT 'Deprecated',
|
||||
`object` text COMMENT 'Deprecated',
|
||||
`target-type` varchar(100) COMMENT 'Deprecated',
|
||||
`target` text COMMENT 'Deprecated',
|
||||
`author-name` varchar(255) COMMENT 'Deprecated',
|
||||
`author-link` varchar(255) COMMENT 'Deprecated',
|
||||
`author-avatar` varchar(255) COMMENT 'Deprecated',
|
||||
`owner-name` varchar(255) COMMENT 'Deprecated',
|
||||
`owner-link` varchar(255) COMMENT 'Deprecated',
|
||||
`owner-avatar` varchar(255) COMMENT 'Deprecated',
|
||||
`rendered-hash` varchar(32) COMMENT 'Deprecated',
|
||||
`rendered-html` mediumtext COMMENT 'Deprecated',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `guid` (`guid`(191)),
|
||||
INDEX `uri` (`uri`(191)),
|
||||
|
|
@ -536,61 +543,125 @@ CREATE TABLE IF NOT EXISTS `item` (
|
|||
INDEX `ownerid` (`owner-id`),
|
||||
INDEX `uid_uri` (`uid`,`uri`(190)),
|
||||
INDEX `resource-id` (`resource-id`),
|
||||
INDEX `contactid_allowcid_allowpid_denycid_denygid` (`contact-id`,`allow_cid`(10),`allow_gid`(10),`deny_cid`(10),`deny_gid`(10)),
|
||||
INDEX `uid_type_changed` (`uid`,`type`,`changed`),
|
||||
INDEX `contactid_verb` (`contact-id`,`verb`),
|
||||
INDEX `deleted_changed` (`deleted`,`changed`),
|
||||
INDEX `uid_wall_changed` (`uid`,`wall`,`changed`),
|
||||
INDEX `uid_eventid` (`uid`,`event-id`),
|
||||
INDEX `uid_authorlink` (`uid`,`author-link`(190)),
|
||||
INDEX `uid_ownerlink` (`uid`,`owner-link`(190))
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
INDEX `icid` (`icid`),
|
||||
INDEX `iaid` (`iaid`),
|
||||
INDEX `psid_wall` (`psid`,`wall`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Structure for all posts';
|
||||
|
||||
--
|
||||
-- TABLE item-activity
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `item-activity` (
|
||||
`id` int unsigned NOT NULL auto_increment,
|
||||
`uri` varchar(255) COMMENT '',
|
||||
`uri-id` int unsigned COMMENT 'Id of the item-uri table entry that contains the item uri',
|
||||
`uri-hash` varchar(80) NOT NULL DEFAULT '' COMMENT 'RIPEMD-128 hash from uri',
|
||||
`activity` smallint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `uri-hash` (`uri-hash`),
|
||||
INDEX `uri` (`uri`(191))
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Activities for items';
|
||||
|
||||
--
|
||||
-- TABLE item-content
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `item-content` (
|
||||
`id` int unsigned NOT NULL auto_increment,
|
||||
`uri` varchar(255) COMMENT '',
|
||||
`uri-id` int unsigned COMMENT 'Id of the item-uri table entry that contains the item uri',
|
||||
`uri-plink-hash` varchar(80) NOT NULL DEFAULT '' COMMENT 'RIPEMD-128 hash from uri',
|
||||
`title` varchar(255) NOT NULL DEFAULT '' COMMENT 'item title',
|
||||
`content-warning` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`body` mediumtext COMMENT 'item body content',
|
||||
`location` varchar(255) NOT NULL DEFAULT '' COMMENT 'text location where this item originated',
|
||||
`coord` varchar(255) NOT NULL DEFAULT '' COMMENT 'longitude/latitude pair representing location where this item originated',
|
||||
`language` text COMMENT 'Language information about this post',
|
||||
`app` varchar(255) NOT NULL DEFAULT '' COMMENT 'application which generated this item',
|
||||
`rendered-hash` varchar(32) NOT NULL DEFAULT '' COMMENT '',
|
||||
`rendered-html` mediumtext COMMENT 'item.body converted to html',
|
||||
`object-type` varchar(100) NOT NULL DEFAULT '' COMMENT 'ActivityStreams object type',
|
||||
`object` text COMMENT 'JSON encoded object structure unless it is an implied object (normal post)',
|
||||
`target-type` varchar(100) NOT NULL DEFAULT '' COMMENT 'ActivityStreams target type if applicable (URI)',
|
||||
`target` text COMMENT 'JSON encoded target structure if used',
|
||||
`plink` varchar(255) NOT NULL DEFAULT '' COMMENT 'permalink or URL to a displayable copy of the message at its source',
|
||||
`verb` varchar(100) NOT NULL DEFAULT '' COMMENT 'ActivityStreams verb',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `uri-plink-hash` (`uri-plink-hash`),
|
||||
INDEX `uri` (`uri`(191))
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Content for all posts';
|
||||
|
||||
--
|
||||
-- TABLE item-delivery-data
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `item-delivery-data` (
|
||||
`iid` int unsigned NOT NULL COMMENT 'Item id',
|
||||
`postopts` text COMMENT 'External post connectors add their network name to this comma-separated string to identify that they should be delivered to these networks during delivery',
|
||||
`inform` mediumtext COMMENT 'Additional receivers of the linked item',
|
||||
PRIMARY KEY(`iid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Delivery data for items';
|
||||
|
||||
--
|
||||
-- TABLE item-uri
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `item-uri` (
|
||||
`id` int unsigned NOT NULL auto_increment,
|
||||
`uri` varbinary(255) NOT NULL COMMENT 'URI of an item',
|
||||
`guid` varbinary(255) COMMENT 'A unique identifier for an item',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `uri` (`uri`),
|
||||
INDEX `guid` (`guid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='URI and GUID for items';
|
||||
|
||||
--
|
||||
-- TABLE locks
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `locks` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`name` varchar(128) NOT NULL DEFAULT '' COMMENT '',
|
||||
`locked` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`pid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
PRIMARY KEY(`id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
`pid` int unsigned NOT NULL DEFAULT 0 COMMENT 'Process ID',
|
||||
`expires` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'datetime of cache expiration',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `name_expires` (`name`,`expires`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
|
||||
|
||||
--
|
||||
-- TABLE mail
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `mail` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`guid` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`from-name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`from-photo` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`from-url` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`contact-id` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`convid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner User id',
|
||||
`guid` varchar(255) NOT NULL DEFAULT '' COMMENT 'A unique identifier for this private message',
|
||||
`from-name` varchar(255) NOT NULL DEFAULT '' COMMENT 'name of the sender',
|
||||
`from-photo` varchar(255) NOT NULL DEFAULT '' COMMENT 'contact photo link of the sender',
|
||||
`from-url` varchar(255) NOT NULL DEFAULT '' COMMENT 'profile linke of the sender',
|
||||
`contact-id` varchar(255) NOT NULL DEFAULT '' COMMENT 'contact.id',
|
||||
`convid` int unsigned NOT NULL DEFAULT 0 COMMENT 'conv.id',
|
||||
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`body` mediumtext COMMENT '',
|
||||
`seen` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`seen` boolean NOT NULL DEFAULT '0' COMMENT 'if message visited it is 1',
|
||||
`reply` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`replied` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`unknown` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`unknown` boolean NOT NULL DEFAULT '0' COMMENT 'if sender not in the contact table this is 1',
|
||||
`uri` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`parent-uri` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'creation time of the private message',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `uid_seen` (`uid`,`seen`),
|
||||
INDEX `convid` (`convid`),
|
||||
INDEX `uri` (`uri`(64)),
|
||||
INDEX `parent-uri` (`parent-uri`(64)),
|
||||
INDEX `contactid` (`contact-id`(32))
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='private messages';
|
||||
|
||||
--
|
||||
-- TABLE mailacct
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `mailacct` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`server` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`port` smallint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
|
|
@ -604,24 +675,24 @@ CREATE TABLE IF NOT EXISTS `mailacct` (
|
|||
`pubmail` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`last_check` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
PRIMARY KEY(`id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Mail account data for fetching mails';
|
||||
|
||||
--
|
||||
-- TABLE manage
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `manage` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`mid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `uid_mid` (`uid`,`mid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='table of accounts that can manage each other';
|
||||
|
||||
--
|
||||
-- TABLE notify
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `notify` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`hash` varchar(64) NOT NULL DEFAULT '' COMMENT '',
|
||||
`type` smallint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
|
|
@ -629,58 +700,71 @@ CREATE TABLE IF NOT EXISTS `notify` (
|
|||
`photo` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`msg` mediumtext COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner User id',
|
||||
`link` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`iid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`iid` int unsigned NOT NULL DEFAULT 0 COMMENT 'item.id',
|
||||
`parent` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`seen` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`verb` varchar(100) NOT NULL DEFAULT '' COMMENT '',
|
||||
`otype` varchar(10) NOT NULL DEFAULT '' COMMENT '',
|
||||
`name_cache` tinytext COMMENT '',
|
||||
`msg_cache` mediumtext COMMENT '',
|
||||
`name_cache` tinytext COMMENT 'Cached bbcode parsing of name',
|
||||
`msg_cache` mediumtext COMMENT 'Cached bbcode parsing of msg',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `hash_uid` (`hash`,`uid`),
|
||||
INDEX `seen_uid_date` (`seen`,`uid`,`date`),
|
||||
INDEX `uid_date` (`uid`,`date`),
|
||||
INDEX `uid_type_link` (`uid`,`type`,`link`(190))
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='notifications';
|
||||
|
||||
--
|
||||
-- TABLE notify-threads
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `notify-threads` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`notify-id` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`master-parent-item` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`parent-item` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`receiver-uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
PRIMARY KEY(`id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
|
||||
|
||||
--
|
||||
-- TABLE oembed
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `oembed` (
|
||||
`url` varbinary(255) NOT NULL COMMENT '',
|
||||
`maxwidth` mediumint unsigned NOT NULL COMMENT '',
|
||||
`content` mediumtext COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`url` varbinary(255) NOT NULL COMMENT 'page url',
|
||||
`maxwidth` mediumint unsigned NOT NULL COMMENT 'Maximum width passed to Oembed',
|
||||
`content` mediumtext COMMENT 'OEmbed data of the page',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'datetime of creation',
|
||||
PRIMARY KEY(`url`,`maxwidth`),
|
||||
INDEX `created` (`created`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='cache for OEmbed queries';
|
||||
|
||||
--
|
||||
-- TABLE openwebauth-token
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `openwebauth-token` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`type` varchar(32) NOT NULL DEFAULT '' COMMENT 'Verify type',
|
||||
`token` varchar(255) NOT NULL DEFAULT '' COMMENT 'A generated token',
|
||||
`meta` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'datetime of creation',
|
||||
PRIMARY KEY(`id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Store OpenWebAuth token to verify contacts';
|
||||
|
||||
--
|
||||
-- TABLE parsed_url
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `parsed_url` (
|
||||
`url` varbinary(255) NOT NULL COMMENT '',
|
||||
`guessing` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`oembed` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`content` mediumtext COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`url` varbinary(255) NOT NULL COMMENT 'page url',
|
||||
`guessing` boolean NOT NULL DEFAULT '0' COMMENT 'is the \'guessing\' mode active?',
|
||||
`oembed` boolean NOT NULL DEFAULT '0' COMMENT 'is the data the result of oembed?',
|
||||
`content` mediumtext COMMENT 'page data',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'datetime of creation',
|
||||
PRIMARY KEY(`url`,`guessing`,`oembed`),
|
||||
INDEX `created` (`created`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='cache for \'parse_url\' queries';
|
||||
|
||||
--
|
||||
-- TABLE participation
|
||||
|
|
@ -691,7 +775,7 @@ CREATE TABLE IF NOT EXISTS `participation` (
|
|||
`cid` int unsigned NOT NULL COMMENT '',
|
||||
`fid` int unsigned NOT NULL COMMENT '',
|
||||
PRIMARY KEY(`iid`,`server`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Storage for participation messages from Diaspora';
|
||||
|
||||
--
|
||||
-- TABLE pconfig
|
||||
|
|
@ -704,22 +788,36 @@ CREATE TABLE IF NOT EXISTS `pconfig` (
|
|||
`v` mediumtext COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `uid_cat_k` (`uid`,`cat`,`k`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='personal (per user) configuration storage';
|
||||
|
||||
--
|
||||
-- TABLE permissionset
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `permissionset` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner id of this permission set',
|
||||
`allow_cid` mediumtext COMMENT 'Access Control - list of allowed contact.id \'<19><78>\'',
|
||||
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed groups',
|
||||
`deny_cid` mediumtext COMMENT 'Access Control - list of denied contact.id',
|
||||
`deny_gid` mediumtext COMMENT 'Access Control - list of denied groups',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `uid_allow_cid_allow_gid_deny_cid_deny_gid` (`allow_cid`(50),`allow_gid`(30),`deny_cid`(50),`deny_gid`(30))
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
|
||||
|
||||
--
|
||||
-- TABLE photo
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `photo` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`guid` char(16) NOT NULL DEFAULT '' COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner User id',
|
||||
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact.id',
|
||||
`guid` char(16) NOT NULL DEFAULT '' COMMENT 'A unique identifier for this photo',
|
||||
`resource-id` char(32) NOT NULL DEFAULT '' COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'creation date',
|
||||
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'last edited date',
|
||||
`title` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`desc` text COMMENT '',
|
||||
`album` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`album` varchar(255) NOT NULL DEFAULT '' COMMENT 'The name of the album to which the photo belongs',
|
||||
`filename` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`type` varchar(30) NOT NULL DEFAULT 'image/jpeg',
|
||||
`height` smallint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
|
|
@ -728,10 +826,10 @@ CREATE TABLE IF NOT EXISTS `photo` (
|
|||
`data` mediumblob NOT NULL COMMENT '',
|
||||
`scale` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`profile` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`allow_cid` mediumtext COMMENT '',
|
||||
`allow_gid` mediumtext COMMENT '',
|
||||
`deny_cid` mediumtext COMMENT '',
|
||||
`deny_gid` mediumtext COMMENT '',
|
||||
`allow_cid` mediumtext COMMENT 'Access Control - list of allowed contact.id \'<19><78>\'',
|
||||
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed groups',
|
||||
`deny_cid` mediumtext COMMENT 'Access Control - list of denied contact.id',
|
||||
`deny_gid` mediumtext COMMENT 'Access Control - list of denied groups',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `contactid` (`contact-id`),
|
||||
INDEX `uid_contactid` (`uid`,`contact-id`),
|
||||
|
|
@ -739,7 +837,7 @@ CREATE TABLE IF NOT EXISTS `photo` (
|
|||
INDEX `uid_album_scale_created` (`uid`,`album`(32),`scale`,`created`),
|
||||
INDEX `uid_album_resource-id_created` (`uid`,`album`(32),`resource-id`,`created`),
|
||||
INDEX `resource-id` (`resource-id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='photo storage';
|
||||
|
||||
--
|
||||
-- TABLE poll
|
||||
|
|
@ -759,18 +857,18 @@ CREATE TABLE IF NOT EXISTS `poll` (
|
|||
`q9` text COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `uid` (`uid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Currently unused table for storing poll results';
|
||||
|
||||
--
|
||||
-- TABLE poll_result
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `poll_result` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`poll_id` int unsigned NOT NULL DEFAULT 0,
|
||||
`choice` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `poll_id` (`poll_id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='data for polls - currently unused';
|
||||
|
||||
--
|
||||
-- TABLE process
|
||||
|
|
@ -781,20 +879,20 @@ CREATE TABLE IF NOT EXISTS `process` (
|
|||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
PRIMARY KEY(`pid`),
|
||||
INDEX `command` (`command`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Currently running system processes';
|
||||
|
||||
--
|
||||
-- TABLE profile
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `profile` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`profile-name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`is-default` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`hide-friends` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'Owner User id',
|
||||
`profile-name` varchar(255) NOT NULL DEFAULT '' COMMENT 'Name of the profile',
|
||||
`is-default` boolean NOT NULL DEFAULT '0' COMMENT 'Mark this profile as default profile',
|
||||
`hide-friends` boolean NOT NULL DEFAULT '0' COMMENT 'Hide friend list from viewers of this profile',
|
||||
`name` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`pdesc` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`dob` varchar(32) NOT NULL DEFAULT '0000-00-00' COMMENT '',
|
||||
`pdesc` varchar(255) NOT NULL DEFAULT '' COMMENT 'Title or description',
|
||||
`dob` varchar(32) NOT NULL DEFAULT '0000-00-00' COMMENT 'Day of birth',
|
||||
`address` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`locality` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`region` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
|
|
@ -827,30 +925,30 @@ CREATE TABLE IF NOT EXISTS `profile` (
|
|||
`xmpp` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`photo` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`thumb` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`publish` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`net-publish` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`publish` boolean NOT NULL DEFAULT '0' COMMENT 'publish default profile in local directory',
|
||||
`net-publish` boolean NOT NULL DEFAULT '0' COMMENT 'publish profile in global directory',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `uid_is-default` (`uid`,`is-default`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='user profiles data';
|
||||
|
||||
--
|
||||
-- TABLE profile_check
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `profile_check` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`cid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`cid` int unsigned NOT NULL DEFAULT 0 COMMENT 'contact.id',
|
||||
`dfrn_id` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`sec` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`expire` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
PRIMARY KEY(`id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='DFRN remote auth use';
|
||||
|
||||
--
|
||||
-- TABLE push_subscriber
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `push_subscriber` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`callback_url` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`topic` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
|
|
@ -862,13 +960,13 @@ CREATE TABLE IF NOT EXISTS `push_subscriber` (
|
|||
`secret` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `next_try` (`next_try`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Used for OStatus: Contains feed subscribers';
|
||||
|
||||
--
|
||||
-- TABLE queue
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `queue` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`cid` int unsigned NOT NULL DEFAULT 0 COMMENT 'Message receiver',
|
||||
`network` char(4) NOT NULL DEFAULT '' COMMENT 'Receiver\'s network',
|
||||
`guid` varchar(255) NOT NULL DEFAULT '' COMMENT 'Unique GUID of the message',
|
||||
|
|
@ -881,13 +979,13 @@ CREATE TABLE IF NOT EXISTS `queue` (
|
|||
PRIMARY KEY(`id`),
|
||||
INDEX `last` (`last`),
|
||||
INDEX `next` (`next`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Queue for messages that couldn\'t be delivered';
|
||||
|
||||
--
|
||||
-- TABLE register
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `register` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`hash` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
|
|
@ -895,44 +993,44 @@ CREATE TABLE IF NOT EXISTS `register` (
|
|||
`language` varchar(16) NOT NULL DEFAULT '' COMMENT '',
|
||||
`note` text COMMENT '',
|
||||
PRIMARY KEY(`id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='registrations requiring admin approval';
|
||||
|
||||
--
|
||||
-- TABLE search
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `search` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`term` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `uid` (`uid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='';
|
||||
|
||||
--
|
||||
-- TABLE session
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `session` (
|
||||
`id` bigint unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` bigint unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`sid` varbinary(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`data` text COMMENT '',
|
||||
`expire` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `sid` (`sid`(64)),
|
||||
INDEX `expire` (`expire`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='web session storage';
|
||||
|
||||
--
|
||||
-- TABLE sign
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `sign` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`iid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`iid` int unsigned NOT NULL DEFAULT 0 COMMENT 'item.id',
|
||||
`signed_text` mediumtext COMMENT '',
|
||||
`signature` text COMMENT '',
|
||||
`signer` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `iid` (`iid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Diaspora signatures';
|
||||
|
||||
--
|
||||
-- TABLE term
|
||||
|
|
@ -948,24 +1046,23 @@ CREATE TABLE IF NOT EXISTS `term` (
|
|||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`received` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`global` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`aid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
PRIMARY KEY(`tid`),
|
||||
INDEX `oid_otype_type_term` (`oid`,`otype`,`type`,`term`(32)),
|
||||
INDEX `uid_otype_type_term_global_created` (`uid`,`otype`,`type`,`term`(32),`global`,`created`),
|
||||
INDEX `uid_otype_type_url` (`uid`,`otype`,`type`,`url`(64)),
|
||||
INDEX `guid` (`guid`(64))
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='item taxonomy (categories, tags, etc.) table';
|
||||
|
||||
--
|
||||
-- TABLE thread
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `thread` (
|
||||
`iid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`iid` int unsigned NOT NULL DEFAULT 0 COMMENT 'sequential ID',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`contact-id` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`owner-id` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`author-id` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`owner-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Item owner',
|
||||
`author-id` int unsigned NOT NULL DEFAULT 0 COMMENT 'Item author',
|
||||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`edited` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`commented` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
|
|
@ -976,16 +1073,16 @@ CREATE TABLE IF NOT EXISTS `thread` (
|
|||
`pubmail` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`moderated` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`visible` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`spam` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`starred` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`ignored` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`bookmark` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`post-type` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'Post type (personal note, bookmark, ...)',
|
||||
`unseen` boolean NOT NULL DEFAULT '1' COMMENT '',
|
||||
`deleted` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`origin` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`forum_mode` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`mention` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`network` char(4) NOT NULL DEFAULT '' COMMENT '',
|
||||
`bookmark` boolean COMMENT '',
|
||||
PRIMARY KEY(`iid`),
|
||||
INDEX `uid_network_commented` (`uid`,`network`,`commented`),
|
||||
INDEX `uid_network_created` (`uid`,`network`,`created`),
|
||||
|
|
@ -998,7 +1095,7 @@ CREATE TABLE IF NOT EXISTS `thread` (
|
|||
INDEX `uid_commented` (`uid`,`commented`),
|
||||
INDEX `uid_wall_created` (`uid`,`wall`,`created`),
|
||||
INDEX `private_wall_origin_commented` (`private`,`wall`,`origin`,`commented`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Thread related data';
|
||||
|
||||
--
|
||||
-- TABLE tokens
|
||||
|
|
@ -1011,70 +1108,82 @@ CREATE TABLE IF NOT EXISTS `tokens` (
|
|||
`scope` varchar(200) NOT NULL DEFAULT '' COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
PRIMARY KEY(`id`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='OAuth usage';
|
||||
|
||||
--
|
||||
-- TABLE user
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `user` (
|
||||
`uid` mediumint unsigned NOT NULL auto_increment COMMENT '',
|
||||
`uid` mediumint unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`parent-uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'The parent user that has full control about this user',
|
||||
`guid` varchar(64) NOT NULL DEFAULT '' COMMENT '',
|
||||
`username` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`password` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`guid` varchar(64) NOT NULL DEFAULT '' COMMENT 'A unique identifier for this user',
|
||||
`username` varchar(255) NOT NULL DEFAULT '' COMMENT 'Name that this user is known by',
|
||||
`password` varchar(255) NOT NULL DEFAULT '' COMMENT 'encrypted password',
|
||||
`legacy_password` boolean NOT NULL DEFAULT '0' COMMENT 'Is the password hash double-hashed?',
|
||||
`nickname` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`email` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`nickname` varchar(255) NOT NULL DEFAULT '' COMMENT 'nick- and user name',
|
||||
`email` varchar(255) NOT NULL DEFAULT '' COMMENT 'the users email address',
|
||||
`openid` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`timezone` varchar(128) NOT NULL DEFAULT '' COMMENT '',
|
||||
`language` varchar(32) NOT NULL DEFAULT 'en' COMMENT '',
|
||||
`register_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`login_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`default-location` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`allow_location` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`theme` varchar(255) NOT NULL DEFAULT '' COMMENT '',
|
||||
`pubkey` text COMMENT '',
|
||||
`prvkey` text COMMENT '',
|
||||
`timezone` varchar(128) NOT NULL DEFAULT '' COMMENT 'PHP-legal timezone',
|
||||
`language` varchar(32) NOT NULL DEFAULT 'en' COMMENT 'default language',
|
||||
`register_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'timestamp of registration',
|
||||
`login_date` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'timestamp of last login',
|
||||
`default-location` varchar(255) NOT NULL DEFAULT '' COMMENT 'Default for item.location',
|
||||
`allow_location` boolean NOT NULL DEFAULT '0' COMMENT '1 allows to display the location',
|
||||
`theme` varchar(255) NOT NULL DEFAULT '' COMMENT 'user theme preference',
|
||||
`pubkey` text COMMENT 'RSA public key 4096 bit',
|
||||
`prvkey` text COMMENT 'RSA private key 4096 bit',
|
||||
`spubkey` text COMMENT '',
|
||||
`sprvkey` text COMMENT '',
|
||||
`verified` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`blocked` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`blockwall` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`hidewall` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`blocktags` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`unkmail` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`verified` boolean NOT NULL DEFAULT '0' COMMENT 'user is verified through email',
|
||||
`blocked` boolean NOT NULL DEFAULT '0' COMMENT '1 for user is blocked',
|
||||
`blockwall` boolean NOT NULL DEFAULT '0' COMMENT 'Prohibit contacts to post to the profile page of the user',
|
||||
`hidewall` boolean NOT NULL DEFAULT '0' COMMENT 'Hide profile details from unkown viewers',
|
||||
`blocktags` boolean NOT NULL DEFAULT '0' COMMENT 'Prohibit contacts to tag the post of this user',
|
||||
`unkmail` boolean NOT NULL DEFAULT '0' COMMENT 'Permit unknown people to send private mails to this user',
|
||||
`cntunkmail` int unsigned NOT NULL DEFAULT 10 COMMENT '',
|
||||
`notify-flags` smallint unsigned NOT NULL DEFAULT 65535 COMMENT '',
|
||||
`page-flags` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`notify-flags` smallint unsigned NOT NULL DEFAULT 65535 COMMENT 'email notification options',
|
||||
`page-flags` tinyint unsigned NOT NULL DEFAULT 0 COMMENT 'page/profile type',
|
||||
`account-type` tinyint unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`prvnets` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`pwdreset` varchar(255) COMMENT 'Password reset request token',
|
||||
`pwdreset_time` datetime COMMENT 'Timestamp of the last password reset request',
|
||||
`maxreq` int unsigned NOT NULL DEFAULT 10 COMMENT '',
|
||||
`expire` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`account_removed` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`account_removed` boolean NOT NULL DEFAULT '0' COMMENT 'if 1 the account is removed',
|
||||
`account_expired` boolean NOT NULL DEFAULT '0' COMMENT '',
|
||||
`account_expires_on` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`expire_notification_sent` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT '',
|
||||
`account_expires_on` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'timestamp when account expires and will be deleted',
|
||||
`expire_notification_sent` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'timestamp of last warning of account expiration',
|
||||
`def_gid` int unsigned NOT NULL DEFAULT 0 COMMENT '',
|
||||
`allow_cid` mediumtext COMMENT '',
|
||||
`allow_gid` mediumtext COMMENT '',
|
||||
`deny_cid` mediumtext COMMENT '',
|
||||
`deny_gid` mediumtext COMMENT '',
|
||||
`allow_cid` mediumtext COMMENT 'default permission for this user',
|
||||
`allow_gid` mediumtext COMMENT 'default permission for this user',
|
||||
`deny_cid` mediumtext COMMENT 'default permission for this user',
|
||||
`deny_gid` mediumtext COMMENT 'default permission for this user',
|
||||
`openidserver` text COMMENT '',
|
||||
PRIMARY KEY(`uid`),
|
||||
INDEX `nickname` (`nickname`(32))
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='The local users';
|
||||
|
||||
--
|
||||
-- TABLE userd
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `userd` (
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT '',
|
||||
`id` int unsigned NOT NULL auto_increment COMMENT 'sequential ID',
|
||||
`username` varchar(255) NOT NULL COMMENT '',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `username` (`username`(32))
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Deleted usernames';
|
||||
|
||||
--
|
||||
-- TABLE user-contact
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `user-contact` (
|
||||
`cid` int unsigned NOT NULL DEFAULT 0 COMMENT 'Contact id of the linked public contact',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`blocked` boolean COMMENT 'Contact is completely blocked for this user',
|
||||
`ignored` boolean COMMENT 'Posts from this contact are ignored',
|
||||
`collapsed` boolean COMMENT 'Posts from this contact are collapsed',
|
||||
PRIMARY KEY(`uid`,`cid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='User specific public contact data';
|
||||
|
||||
--
|
||||
-- TABLE user-item
|
||||
|
|
@ -1082,9 +1191,19 @@ CREATE TABLE IF NOT EXISTS `userd` (
|
|||
CREATE TABLE IF NOT EXISTS `user-item` (
|
||||
`iid` int unsigned NOT NULL DEFAULT 0 COMMENT 'Item id',
|
||||
`uid` mediumint unsigned NOT NULL DEFAULT 0 COMMENT 'User id',
|
||||
`hidden` boolean NOT NULL DEFAULT '0' COMMENT 'Hidden marker',
|
||||
`hidden` boolean NOT NULL DEFAULT '0' COMMENT 'Marker to hide an item from the user',
|
||||
`ignored` boolean COMMENT 'Ignore this thread if set',
|
||||
PRIMARY KEY(`uid`,`iid`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='User specific item data';
|
||||
|
||||
--
|
||||
-- TABLE worker-ipc
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `worker-ipc` (
|
||||
`key` int NOT NULL COMMENT '',
|
||||
`jobs` boolean COMMENT 'Flag for outstanding jobs',
|
||||
PRIMARY KEY(`key`)
|
||||
) ENGINE=MEMORY DEFAULT COLLATE utf8mb4_general_ci COMMENT='Inter process communication between the frontend and the worker';
|
||||
|
||||
--
|
||||
-- TABLE workerqueue
|
||||
|
|
@ -1096,12 +1215,12 @@ CREATE TABLE IF NOT EXISTS `workerqueue` (
|
|||
`created` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Creation date',
|
||||
`pid` int unsigned NOT NULL DEFAULT 0 COMMENT 'Process id of the worker',
|
||||
`executed` datetime NOT NULL DEFAULT '0001-01-01 00:00:00' COMMENT 'Execution date',
|
||||
`done` boolean NOT NULL DEFAULT '0' COMMENT 'Marked when the task was done, will be deleted later',
|
||||
`done` boolean NOT NULL DEFAULT '0' COMMENT 'Marked 1 when the task was done - will be deleted later',
|
||||
PRIMARY KEY(`id`),
|
||||
INDEX `pid` (`pid`),
|
||||
INDEX `parameter` (`parameter`(64)),
|
||||
INDEX `priority_created` (`priority`,`created`),
|
||||
INDEX `done_executed` (`done`,`executed`)
|
||||
) DEFAULT COLLATE utf8mb4_general_ci;
|
||||
) DEFAULT COLLATE utf8mb4_general_ci COMMENT='Background tasks queue entries';
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ General
|
|||
../settings
|
||||
---------
|
||||
* o - Account
|
||||
* p - Profiles
|
||||
* t - Additional features
|
||||
* w - Social Networks
|
||||
* l - Addons
|
||||
|
|
|
|||
483
doc/Addons.md
483
doc/Addons.md
|
|
@ -25,22 +25,23 @@ Addons should contain a comment block with the four following parameters:
|
|||
* Author: John Q. Public <john@myfriendicasite.com>
|
||||
*/
|
||||
|
||||
Please also add a README or README.md file to the addon directory.
|
||||
It will be displayed in the admin panel and should include some further information in addition to the header information.
|
||||
|
||||
## PHP addon hooks
|
||||
|
||||
Register your addon hooks during installation.
|
||||
|
||||
Addon::registerHook($hookname, $file, $function);
|
||||
|
||||
$hookname is a string and corresponds to a known Friendica hook.
|
||||
$hookname is a string and corresponds to a known Friendica PHP hook.
|
||||
|
||||
$file is a pathname relative to the top-level Friendica directory.
|
||||
This *should* be 'addon/addon_name/addon_name.php' in most cases.
|
||||
This *should* be 'addon/*addon_name*/*addon_name*.php' in most cases.
|
||||
|
||||
$function is a string and is the name of the function which will be executed when the hook is called.
|
||||
|
||||
Please also add a README or README.md file to the addon directory.
|
||||
It will be displayed in the admin panel and should include some further information in addition to the header information.
|
||||
|
||||
Arguments
|
||||
---
|
||||
### Arguments
|
||||
Your hook callback functions will be called with at least one and possibly two arguments
|
||||
|
||||
function myhook_function(App $a, &$b) {
|
||||
|
|
@ -48,10 +49,10 @@ Your hook callback functions will be called with at least one and possibly two a
|
|||
}
|
||||
|
||||
|
||||
If you wish to make changes to the calling data, you must declare them as reference variables (with '&') during function declaration.
|
||||
If you wish to make changes to the calling data, you must declare them as reference variables (with `&`) during function declaration.
|
||||
|
||||
#### $a
|
||||
$a is the Friendica 'App' class.
|
||||
$a is the Friendica `App` class.
|
||||
It contains a wealth of information about the current state of Friendica:
|
||||
|
||||
* which module has been called,
|
||||
|
|
@ -59,15 +60,64 @@ It contains a wealth of information about the current state of Friendica:
|
|||
* the page contents at the point the hook was invoked,
|
||||
* profile and user information, etc.
|
||||
|
||||
It is recommeded you call this '$a' to match its usage elsewhere.
|
||||
It is recommeded you call this `$a` to match its usage elsewhere.
|
||||
|
||||
#### $b
|
||||
$b can be called anything you like.
|
||||
This is information specific to the hook currently being processed, and generally contains information that is being immediately processed or acted on that you can use, display, or alter.
|
||||
Remember to declare it with '&' if you wish to alter it.
|
||||
Remember to declare it with `&` if you wish to alter it.
|
||||
|
||||
Modules
|
||||
---
|
||||
## JavaScript addon hooks
|
||||
|
||||
### PHP part
|
||||
|
||||
Make sure your JavaScript addon file (addon/*addon_name*/*addon_name*.js) is listed in the document response.
|
||||
|
||||
In your addon install function, add:
|
||||
|
||||
```php
|
||||
Addon::registerHook('template_vars', __FILE__, '<addon_name>_template_vars');
|
||||
```
|
||||