diff --git a/.gitignore b/.gitignore
index d4f21bbfd0..f95b1a4b7e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -59,4 +59,3 @@ behat.yml
# Exclude crossdomain.xml file it's generated
/www/crossdomain.xml
-
diff --git a/Vagrantfile b/Vagrantfile
index 2b68429209..15e6f9d388 100644
--- a/Vagrantfile
+++ b/Vagrantfile
@@ -7,7 +7,7 @@ end
root = File.dirname(File.expand_path(__FILE__))
Vagrant.configure("2") do |config|
- Dir.glob(root+"/resources/vagrant/vms/**/puphpet/config.yaml").each do|f|
+ Dir.glob(root+"/vagrant/vms/**/puphpet/config.yaml").each do|f|
dir = File.dirname(File.expand_path(f+"/.."))
base_path = dir
configValues = YAML.load_file(f)
diff --git a/bin/console b/bin/console
index a619a404b6..9a3d2317e7 100755
--- a/bin/console
+++ b/bin/console
@@ -12,7 +12,6 @@
namespace KonsoleKommander;
use Alchemy\Phrasea\Command\Plugin\ListPlugin;
-use Alchemy\Phrasea\Command\Setup\CrossDomainGenerator;
use Alchemy\Phrasea\Command\Setup\H264ConfigurationDumper;
use Alchemy\Phrasea\Command\Setup\H264MappingGenerator;
use Alchemy\Phrasea\Command\SearchEngine\IndexFull;
@@ -115,7 +114,6 @@ $cli->command(new H264ConfigurationDumper());
$cli->command(new H264MappingGenerator());
$cli->command(new XSendFileConfigurationDumper());
$cli->command(new XSendFileMappingGenerator());
-$cli->command(new CrossDomainGenerator());
if ($cli['phraseanet.SE']->getName() === 'ElasticSearch') {
$cli->command(new IndexFull('searchengine:index'));
diff --git a/bin/setup b/bin/setup
index a1f4c8a4e2..ea2a4ecc03 100755
--- a/bin/setup
+++ b/bin/setup
@@ -14,6 +14,7 @@ namespace KonsoleKommander;
use Alchemy\Phrasea\Core\Version;
use Alchemy\Phrasea\Command\UpgradeDBDatas;
use Alchemy\Phrasea\Command\Setup\Install;
+use Alchemy\Phrasea\Command\Setup\CrossDomainGenerator;
use Alchemy\Phrasea\Command\Setup\PluginsReset;
use Alchemy\Phrasea\Command\Plugin\ListPlugin;
use Alchemy\Phrasea\Command\Plugin\AddPlugin;
@@ -71,5 +72,6 @@ $app->command(new EnablePlugin());
$app->command(new DisablePlugin());
$app->command(new CheckEnvironment('check:system'));
$app->command(new Install('system:install'));
+$app->command(new CrossDomainGenerator());
exit(is_int($app->run()) ? : 1);
diff --git a/lib/Alchemy/Phrasea/Command/Setup/CrossDomainGenerator.php b/lib/Alchemy/Phrasea/Command/Setup/CrossDomainGenerator.php
index 6e54a4b1f2..636824f1a9 100644
--- a/lib/Alchemy/Phrasea/Command/Setup/CrossDomainGenerator.php
+++ b/lib/Alchemy/Phrasea/Command/Setup/CrossDomainGenerator.php
@@ -15,6 +15,7 @@ use Alchemy\Phrasea\Command\Command;
use Alchemy\Phrasea\Utilities\CrossDomainDumper;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
+use Symfony\Component\Yaml\Yaml;
class CrossDomainGenerator extends Command
{
@@ -30,13 +31,16 @@ class CrossDomainGenerator extends Command
*/
protected function doExecute(InputInterface $input, OutputInterface $output)
{
- $configuration = $this->container['phraseanet.configuration']['crossdomain'];
+ if ($this->container['phraseanet.configuration-tester']->isInstalled()) {
+ $configuration = $this->container['phraseanet.configuration']['crossdomain'];
+ } else {
+ $default = Yaml::parse($this->container['root.path'].'/lib/conf.d/configuration.yml');
+ $configuration = $default['crossdomain'];
+ }
$dumper = new CrossDomainDumper();
-
$xml = $dumper->dump($configuration);
-
- $output->writeln($xml);
+ $output->writeln("Generating crossdomain.xml");
$this->container['filesystem']->dumpFile($this->container['root.path'].'/www/crossdomain.xml', $xml);
diff --git a/lib/Alchemy/Phrasea/Controller/Setup.php b/lib/Alchemy/Phrasea/Controller/Setup.php
index 043affcf01..d82110d7b0 100644
--- a/lib/Alchemy/Phrasea/Controller/Setup.php
+++ b/lib/Alchemy/Phrasea/Controller/Setup.php
@@ -139,20 +139,20 @@ class Setup implements ControllerProviderInterface
$abConn = $dbConn = null;
- $hostname = $request->request->get('ab_hostname');
- $port = $request->request->get('ab_port');
- $user_ab = $request->request->get('ab_user');
- $ab_password = $request->request->get('ab_password');
+ $database_host = $request->request->get('hostname');
+ $database_port = $request->request->get('port');
+ $database_user = $request->request->get('user');
+ $database_password = $request->request->get('password');
$appbox_name = $request->request->get('ab_name');
$databox_name = $request->request->get('db_name');
try {
$abConn = $app['dbal.provider']->get([
- 'host' => $hostname,
- 'port' => $port,
- 'user' => $user_ab,
- 'password' => $ab_password,
+ 'host' => $database_host,
+ 'port' => $database_port,
+ 'user' => $database_user,
+ 'password' => $database_password,
'dbname' => $appbox_name,
]);
$abConn->connect();
@@ -165,10 +165,10 @@ class Setup implements ControllerProviderInterface
try {
if ($databox_name) {
$dbConn = $app['dbal.provider']->get([
- 'host' => $hostname,
- 'port' => $port,
- 'user' => $user_ab,
- 'password' => $ab_password,
+ 'host' => $database_host,
+ 'port' => $database_port,
+ 'user' => $database_user,
+ 'password' => $database_password,
'dbname' => $databox_name,
]);
$dbConn->connect();
diff --git a/lib/Alchemy/Phrasea/Helper/DatabaseHelper.php b/lib/Alchemy/Phrasea/Helper/DatabaseHelper.php
index 90cdc4a17c..aea4dc2989 100644
--- a/lib/Alchemy/Phrasea/Helper/DatabaseHelper.php
+++ b/lib/Alchemy/Phrasea/Helper/DatabaseHelper.php
@@ -28,7 +28,8 @@ class DatabaseHelper extends Helper
'host' => $hostname,
'port' => $port,
'user' => $user,
- 'password' => $password
+ 'password' => $password,
+ 'dbname' => $dbname
]);
$conn->connect();
$connection_ok = true;
diff --git a/lib/Alchemy/Phrasea/TaskManager/Editor/WriteMetadataEditor.php b/lib/Alchemy/Phrasea/TaskManager/Editor/WriteMetadataEditor.php
index 08ee5711c6..20d77c2397 100644
--- a/lib/Alchemy/Phrasea/TaskManager/Editor/WriteMetadataEditor.php
+++ b/lib/Alchemy/Phrasea/TaskManager/Editor/WriteMetadataEditor.php
@@ -40,6 +40,7 @@ class WriteMetadataEditor extends AbstractEditor
0
+ 0
EOF;
}
@@ -51,6 +52,7 @@ EOF;
{
return [
'cleardoc' => static::FORM_TYPE_BOOLEAN,
+ 'mwg' => static::FORM_TYPE_BOOLEAN,
];
}
}
diff --git a/lib/Alchemy/Phrasea/TaskManager/Job/SubdefsJob.php b/lib/Alchemy/Phrasea/TaskManager/Job/SubdefsJob.php
index 7a13af869d..3a7f0e0626 100644
--- a/lib/Alchemy/Phrasea/TaskManager/Job/SubdefsJob.php
+++ b/lib/Alchemy/Phrasea/TaskManager/Job/SubdefsJob.php
@@ -63,13 +63,13 @@ class SubdefsJob extends AbstractJob
if (!$this->isStarted()) {
break;
}
- $connbas = $databox->get_connection();
+ $conn = $databox->get_connection();
$sql = 'SELECT coll_id, record_id
- FROM record
- WHERE jeton & ' . JETON_MAKE_SUBDEF . ' > 0
- ORDER BY record_id DESC LIMIT 0, 30';
- $stmt = $connbas->prepare($sql);
+ FROM record
+ WHERE jeton & ' . JETON_MAKE_SUBDEF . ' > 0
+ ORDER BY record_id DESC LIMIT 0, 30';
+ $stmt = $conn->prepare($sql);
$stmt->execute();
$rs = $stmt->fetchAll(\PDO::FETCH_ASSOC);
$stmt->closeCursor();
@@ -91,7 +91,7 @@ class SubdefsJob extends AbstractJob
SET jeton=(jeton & ~' . JETON_MAKE_SUBDEF . '), moddate=NOW()
WHERE record_id=:record_id';
- $stmt = $connbas->prepare($sql);
+ $stmt = $conn->prepare($sql);
$stmt->execute([':record_id' => $row['record_id']]);
$stmt->closeCursor();
@@ -100,7 +100,7 @@ class SubdefsJob extends AbstractJob
SET status=(status & ~0x03),
jeton=(jeton | ' . JETON_WRITE_META_SUBDEF . ')
WHERE record_id=:record_id';
- $stmt = $connbas->prepare($sql);
+ $stmt = $conn->prepare($sql);
$stmt->execute([':record_id' => $row['record_id']]);
$stmt->closeCursor();
diff --git a/lib/Alchemy/Phrasea/TaskManager/Job/WriteMetadataJob.php b/lib/Alchemy/Phrasea/TaskManager/Job/WriteMetadataJob.php
index 7fea5b999e..bcd90b38f5 100644
--- a/lib/Alchemy/Phrasea/TaskManager/Job/WriteMetadataJob.php
+++ b/lib/Alchemy/Phrasea/TaskManager/Job/WriteMetadataJob.php
@@ -17,6 +17,9 @@ use PHPExiftool\Driver\Value;
use PHPExiftool\Driver\Tag;
use PHPExiftool\Exception\ExceptionInterface as PHPExiftoolException;
use PHPExiftool\Writer;
+use PHPExiftool\Driver\TagFactory;
+use PHPExiftool\Writer as ExifWriter;
+use PHPExiftool\Exception\TagUnknown;
class WriteMetadataJob extends AbstractJob
{
@@ -60,69 +63,65 @@ class WriteMetadataJob extends AbstractJob
$app = $data->getApplication();
$settings = simplexml_load_string($data->getTask()->getSettings());
$clearDoc = (Boolean) (string) $settings->cleardoc;
+ $MWG = (Boolean) (string) $settings->mwg;
// move this in service provider configuration
- $app['exiftool.writer']->setModule(Writer::MODULE_MWG, true);
+ // $app['exiftool.writer']->setModule(Writer::MODULE_MWG, true);
foreach ($app['phraseanet.appbox']->get_databoxes() as $databox) {
- $connbas = $databox->get_connection();
- $subdefgroups = $databox->get_subdef_structure();
- $metasubdefs = [];
+ $conn = $databox->get_connection();
+ $metaSubdefs = [];
- foreach ($subdefgroups as $type => $subdefs) {
- foreach ($subdefs as $sub) {
+ foreach ($databox->get_subdef_structure() as $type => $definitions) {
+ foreach ($definitions as $sub) {
$name = $sub->get_name();
if ($sub->meta_writeable()) {
- $metasubdefs[$name . '_' . $type] = true;
+ $metaSubdefs[$name . '_' . $type] = true;
}
}
}
- $sql = 'SELECT record_id, coll_id, jeton
- FROM record WHERE (jeton & ' . JETON_WRITE_META . ' > 0)';
+ $sql = 'SELECT record_id, coll_id, jeton FROM record WHERE (jeton & ' . JETON_WRITE_META . ' > 0)';
- $stmt = $connbas->prepare($sql);
+ $stmt = $conn->prepare($sql);
$stmt->execute();
$rs = $stmt->fetchAll(\PDO::FETCH_ASSOC);
$stmt->closeCursor();
foreach ($rs as $row) {
$record_id = $row['record_id'];
- $jeton = $row['jeton'];
+ $token = $row['jeton'];
$record = $databox->get_record($record_id);
-
$type = $record->get_type();
- $subdefs = $record->get_subdefs();
- $tsub = [];
-
- foreach ($subdefs as $name => $subdef) {
- $write_document = (($jeton & JETON_WRITE_META_DOC) && $name == 'document');
- $write_subdef = (($jeton & JETON_WRITE_META_SUBDEF) && isset($metasubdefs[$name . '_' . $type]));
+ $subdefs = [];
+ foreach ($record->get_subdefs() as $name => $subdef) {
+ $write_document = (($token & JETON_WRITE_META_DOC) && $name == 'document');
+ $write_subdef = (($token & JETON_WRITE_META_SUBDEF) && isset($metaSubdefs[$name . '_' . $type]));
if (($write_document || $write_subdef) && $subdef->is_physically_present()) {
- $tsub[$name] = $subdef->get_pathfile();
+ $subdefs[$name] = $subdef->get_pathfile();
}
}
- $metadatas = new Metadata\MetadataBag();
+ $metadata = new Metadata\MetadataBag();
if ($record->get_uuid()) {
- $metadatas->add(
+ $metadata->add(
new Metadata\Metadata(
new Tag\XMPExif\ImageUniqueID(),
new Value\Mono($record->get_uuid())
)
);
- $metadatas->add(
+ $metadata->add(
new Metadata\Metadata(
new Tag\ExifIFD\ImageUniqueID(),
new Value\Mono($record->get_uuid())
)
);
- $metadatas->add(
+ $metadata->add(
new Metadata\Metadata(
new Tag\IPTC\UniqueDocumentID(),
new Value\Mono($record->get_uuid())
@@ -130,44 +129,76 @@ class WriteMetadataJob extends AbstractJob
);
}
- foreach ($record->get_caption()->get_fields() as $field) {
- $meta = $field->get_databox_field();
- /* @var $meta \databox_field */
+ $caption = $record->get_caption();
+ foreach($databox->get_meta_structure() as $fieldStructure) {
- $datas = $field->get_values();
+ $tagName = $fieldStructure->get_tag()->getTagname();
+ $fieldName = $fieldStructure->get_name();
- if ($meta->is_multi()) {
- $values = [];
- foreach ($datas as $data) {
- $values[] = $data->getValue();
- }
-
- $value = new Value\Multi($values);
- } else {
- $data = array_pop($datas);
- $value = new Value\Mono($data->getValue());
+ // skip fields with no src
+ if($tagName == '') {
+ continue;
}
- $metadatas->add(
- new Metadata\Metadata($meta->get_tag(), $value)
+ // check exiftool known tags to skip Phraseanet:tf-*
+ try {
+ TagFactory::getFromRDFTagname($tagName);
+ } catch (TagUnknown $e) {
+ continue;
+ }
+
+ try {
+ $field = $caption->get_field($fieldName);
+ $data = $field->get_values();
+
+ if ($fieldStructure->is_multi()) {
+ $values = array();
+ foreach ($data as $value) {
+ $values[] = $value->getValue();
+ }
+
+ $value = new Value\Multi($values);
+ } else {
+ $data = array_pop($data);
+ $value = $data->getValue();
+
+ $value = new Value\Mono($value);
+ }
+ } catch(\Exception $e) {
+ // the field is not set in the record, erase it
+ if ($fieldStructure->is_multi()) {
+ $value = new Value\Multi(Array(''));
+ }
+ else {
+ $value = new Value\Mono('');
+ }
+ }
+
+ $metadata->add(
+ new Metadata\Metadata($fieldStructure->get_tag(), $value)
);
}
- foreach ($tsub as $name => $file) {
- $app['exiftool.writer']->erase($name != 'document' || $clearDoc, true);
+ $app['exiftool.writer']->reset();
+ if($MWG) {
+ $app['exiftool.writer']->setModule(ExifWriter::MODULE_MWG, true);
+ }
+
+ foreach ($subdefs as $name => $file) {
+ $app['exiftool.writer']->erase($name != 'document' || $clearDoc, true);
try {
- $app['exiftool.writer']->write($file, $metadatas);
- $this->log('debug', sprintf('meta written for sbasid=%1$d - recordid=%2$d (%3$s)', $databox->get_sbas_id(), $record_id, $name));
+ $app['exiftool.writer']->write($file, $metadata);
+
+ $this->log(sprintf('meta written for sbasid=%1$d - recordid=%2$d (%3$s)', $databox->get_sbas_id(), $record_id, $name), self::LOG_INFO);
} catch (PHPExiftoolException $e) {
- $this->log('error', sprintf('meta was not written for sbasid=%d - recordid=%d (%s) because "%s"', $databox->get_sbas_id(), $record_id, $name, $e->getMessage()));
+ $this->log(sprintf('meta NOT written for sbasid=%1$d - recordid=%2$d (%3$s) because "%s"', $databox->get_sbas_id(), $record_id, $name, $e->getMessage()), self::LOG_ERROR);
}
}
- $sql = 'UPDATE record SET jeton=jeton & ~' . JETON_WRITE_META . '
- WHERE record_id = :record_id';
- $stmt = $connbas->prepare($sql);
- $stmt->execute([':record_id' => $row['record_id']]);
+ $sql = 'UPDATE record SET jeton=jeton & ~' . JETON_WRITE_META . ' WHERE record_id = :record_id';
+ $stmt = $conn->prepare($sql);
+ $stmt->execute([':record_id' => $record_id]);
$stmt->closeCursor();
}
}
diff --git a/lib/classes/databox.php b/lib/classes/databox.php
index 50067011fa..8aaf05b1c4 100644
--- a/lib/classes/databox.php
+++ b/lib/classes/databox.php
@@ -439,19 +439,14 @@ class databox extends base
$ret['thesaurus_indexed'] += $row['n'];
}
- $sql = "SELECT type, jeton, COUNT(record_id) AS n FROM record WHERE jeton & ".JETON_MAKE_SUBDEF." GROUP BY type, jeton";
+ $sql = "SELECT type, COUNT(record_id) AS n FROM record WHERE jeton & ".JETON_MAKE_SUBDEF." GROUP BY type";
$stmt = $this->get_connection()->prepare($sql);
$stmt->execute();
$rs = $stmt->fetchAll(PDO::FETCH_ASSOC);
$stmt->closeCursor();
foreach ($rs as $row) {
- if(!array_key_exists($row['type'], $ret['jeton_subdef'])) {
- $ret['jeton_subdef'][$row['type']] = 0;
- }
- if((int)$row['jeton'] & JETON_MAKE_SUBDEF) {
- $ret['jeton_subdef'][$row['type']] += (int)$row['n'];
- }
+ $ret['jeton_subdef'][$row['type']] = (int)$row['n'];
}
return $ret;
diff --git a/resources/vagrant/vms/phraseanet-php54-nginx/puphpet/puppet/modules/nginx/manifests/params.pp b/resources/vagrant/vms/phraseanet-php54-nginx/puphpet/puppet/modules/nginx/manifests/params.pp
index 8ecf101545..2dfdd2c4b9 100644
--- a/resources/vagrant/vms/phraseanet-php54-nginx/puphpet/puppet/modules/nginx/manifests/params.pp
+++ b/resources/vagrant/vms/phraseanet-php54-nginx/puphpet/puppet/modules/nginx/manifests/params.pp
@@ -55,7 +55,7 @@ class nginx::params {
$nx_client_body_temp_path = "${nx_run_dir}/client_body_temp"
$nx_client_body_buffer_size = '128k'
- $nx_client_max_body_size = '10m'
+ $nx_client_max_body_size = '1000m'
$nx_proxy_temp_path = "${nx_run_dir}/proxy_temp"
$nx_proxy_connect_timeout = '90'
$nx_proxy_send_timeout = '90'
diff --git a/templates/web/admin/databox/databox.html.twig b/templates/web/admin/databox/databox.html.twig
index c95ff483fe..4a1a6e362f 100644
--- a/templates/web/admin/databox/databox.html.twig
+++ b/templates/web/admin/databox/databox.html.twig
@@ -287,6 +287,9 @@
{
t += (t==""?"":" ; ") + i + ": " + data.jeton_subdef[i];
}
+ if(t == "") {
+ t = "0";
+ }
$("#subdefs_todo").text(t);
}
diff --git a/templates/web/admin/task-manager/task-editor/write-metadata.html.twig b/templates/web/admin/task-manager/task-editor/write-metadata.html.twig
index 2594a8ce73..c819207bfa 100644
--- a/templates/web/admin/task-manager/task-editor/write-metadata.html.twig
+++ b/templates/web/admin/task-manager/task-editor/write-metadata.html.twig
@@ -9,6 +9,14 @@
+
+
+
+
+
{% endblock %}
@@ -22,6 +30,7 @@
with(document.forms['graphicForm'])
{
cleardoc.checked = Number(xml.find("cleardoc").text()) > 0;
+ mwg.checked = Number(xml.find("mwg").text()) > 0;
}
}
}
diff --git a/templates/web/setup/step2.html.twig b/templates/web/setup/step2.html.twig
index 5c05fdcd11..3491f2d0dd 100644
--- a/templates/web/setup/step2.html.twig
+++ b/templates/web/setup/step2.html.twig
@@ -59,15 +59,15 @@
password : {password:"#create_admin input[name=email]"},
password_confirm : {equalTo:"#create_admin input[name=password]"},
- ab_hostname : {required:true},
- ab_user : {required:true},
+ hostname : {required:true},
+ user : {required:true},
ab_name : {required:true}
},
messages: {
email:{
email : language.validateEmail
},
- ab_hostname : {
+ hostname : {
required : language.requiredField
},
password : {
@@ -149,10 +149,10 @@
function test_connection_appbox(callback)
{
var scope = $('.appbox_settings');
- var hostname_input = $('input[name="ab_hostname"]:visible', scope);
- var port_input = $('input[name="ab_port"]:visible', scope);
- var user_input = $('input[name="ab_user"]', scope);
- var password_input = $('input[name="ab_password"]', scope);
+ var hostname_input = $('input[name="hostname"]:visible', scope);
+ var port_input = $('input[name="port"]:visible', scope);
+ var user_input = $('input[name="user"]', scope);
+ var password_input = $('input[name="password"]', scope);
var dbname_input = $('input[name="ab_name"]', scope);
var user = user_input.val();
@@ -187,10 +187,10 @@
var appbox_scope = $('.appbox_settings');
var databox_scope = $('.databox_settings');
- var hostname_input = $('input[name="ab_hostname"]', appbox_scope);
- var port_input = $('input[name="ab_port"]', appbox_scope);
- var user_input = $('input[name="ab_user"]', appbox_scope);
- var password_input = $('input[name="ab_password"]', appbox_scope);
+ var hostname_input = $('input[name="hostname"]', appbox_scope);
+ var port_input = $('input[name="port"]', appbox_scope);
+ var user_input = $('input[name="user"]', appbox_scope);
+ var password_input = $('input[name="password"]', appbox_scope);
var dbname_input = $('input[name="db_name"]', databox_scope);
@@ -549,19 +549,19 @@
|
- |
+ |
|
- |
+ |
|
- |
+ |
|
- |
+ |
|
diff --git a/tests/Alchemy/Tests/Phrasea/Controller/SetupTest.php b/tests/Alchemy/Tests/Phrasea/Controller/SetupTest.php
index 183f8bbc59..9870cb6ea1 100644
--- a/tests/Alchemy/Tests/Phrasea/Controller/SetupTest.php
+++ b/tests/Alchemy/Tests/Phrasea/Controller/SetupTest.php
@@ -147,10 +147,10 @@ class SetupTest extends \PhraseanetWebTestCase
'binary_convert' => '/path/to/convert',
'binary_php' => '/path/to/php',
'datapath_noweb' => sys_get_temp_dir() . '/datainstall/noweb',
- 'ab_hostname' => $host,
- 'ab_port' => $port,
- 'ab_user' => $user,
- 'ab_password' => $password,
+ 'hostname' => $host,
+ 'port' => $port,
+ 'user' => $user,
+ 'password' => $password,
'ab_name' => $abName,
'db_name' => $dbName,
'db_template' => 'en',
diff --git a/vagrant/config/phraseanet/configuration.yml b/vagrant/config/phraseanet/configuration.yml
new file mode 100644
index 0000000000..5788503d52
--- /dev/null
+++ b/vagrant/config/phraseanet/configuration.yml
@@ -0,0 +1,169 @@
+main:
+ servername: 'http://local.phrasea/'
+ maintenance: false
+ languages: []
+ key: ''
+ database:
+ host: 'sql-host'
+ port: 3306
+ user: 'sql-user'
+ password: 'sql-password'
+ dbname: ab_phraseanet
+ driver: pdo_mysql
+ charset: UTF8
+ database-test:
+ driver: pdo_sqlite
+ path: '/tmp/db.sqlite'
+ charset: UTF8
+ api-timers: false
+ cache:
+ type: ArrayCache
+ options:
+ options: []
+ opcodecache:
+ type: ArrayCache
+ options: []
+ search-engine:
+ type: Alchemy\Phrasea\SearchEngine\Phrasea\PhraseaEngine
+ options: []
+ task-manager:
+ enabled: true
+ logger:
+ max-files: 10
+ enabled: true
+ level: INFO
+trusted-proxies: []
+debugger:
+ allowed-ips: ['192.168.56.1']
+binaries:
+ ghostscript_binary: null
+ php_binary: null
+ swf_extract_binary: null
+ pdf2swf_binary: null
+ swf_render_binary: null
+ unoconv_binary: null
+ ffmpeg_binary: null
+ ffprobe_binary: null
+ mp4box_binary: null
+ pdftotext_binary: null
+ recess_binary: null
+ phraseanet_indexer: null
+ ffmpeg_timeout: 3600
+ ffprobe_timeout: 60
+ gs_timeout: 60
+ mp4box_timeout: 60
+ swftools_timeout: 60
+ unoconv_timeout: 60
+border-manager:
+ enabled: true
+ extension-mapping: { }
+ checkers:
+ -
+ type: Checker\Sha256
+ enabled: true
+ -
+ type: Checker\UUID
+ enabled: true
+ -
+ type: Checker\Colorspace
+ enabled: false
+ options:
+ colorspaces: [cmyk, grayscale, rgb]
+ -
+ type: Checker\Dimension
+ enabled: false
+ options:
+ width: 80
+ height: 160
+ -
+ type: Checker\Extension
+ enabled: false
+ options:
+ extensions: [jpg, jpeg, bmp, tif, gif, png, pdf, doc, odt, mpg, mpeg, mov, avi, xls, flv, mp3, mp2]
+ -
+ type: Checker\Filename
+ enabled: false
+ options:
+ sensitive: true
+ -
+ type: Checker\MediaType
+ enabled: false
+ options:
+ mediatypes: [Audio, Document, Flash, Image, Video]
+authentication:
+ auto-create:
+ templates: { }
+ captcha:
+ enabled: true
+ trials-before-display: 9
+ providers:
+ facebook:
+ enabled: false
+ options:
+ app-id: ''
+ secret: ''
+ twitter:
+ enabled: false
+ options:
+ consumer-key: ''
+ consumer-secret: ''
+ google-plus:
+ enabled: false
+ options:
+ client-id: ''
+ client-secret: ''
+ github:
+ enabled: false
+ options:
+ client-id: ''
+ client-secret: ''
+ viadeo:
+ enabled: false
+ options:
+ client-id: ''
+ client-secret: ''
+ linkedin:
+ enabled: false
+ options:
+ client-id: ''
+ client-secret: ''
+registration-fields:
+ -
+ name: company
+ required: true
+ -
+ name: lastname
+ required: true
+ -
+ name: firstname
+ required: true
+ -
+ name: geonameid
+ required: true
+xsendfile:
+ enabled: false
+ type: nginx
+ mapping: []
+h264-pseudo-streaming:
+ enabled: false
+ type: nginx
+ mapping: []
+plugins: []
+api_cors:
+ enabled: false
+ allow_credentials: false
+ allow_origin: []
+ allow_headers: []
+ allow_methods: []
+ expose_headers: []
+ max_age: 0
+ hosts: []
+session:
+ idle: 0
+ # 1 week
+ lifetime: 604800
+crossdomain:
+ allow-access-from:
+ -
+ domain: '*.cooliris.com'
+ secure: 'false'
diff --git a/vagrant/vms/phraseanet-php54-nginx/puphpet/files/dot/ssh/.gitignore b/vagrant/vms/phraseanet-php54-nginx/puphpet/files/dot/ssh/.gitignore
new file mode 100644
index 0000000000..d96f05db68
--- /dev/null
+++ b/vagrant/vms/phraseanet-php54-nginx/puphpet/files/dot/ssh/.gitignore
@@ -0,0 +1,2 @@
+!.gitignore
+!insecure_private_key