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