mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-14 13:33:14 +00:00
@@ -22,7 +22,7 @@
|
||||
"swiftmailer/swiftmailer": "4.1.*",
|
||||
"symfony/symfony": ">=2.1",
|
||||
"tecnick.com/tcpdf": "dev-master",
|
||||
"twig/twig": "1.9.*",
|
||||
"twig/twig": ">=1.9",
|
||||
"twig/extensions": "master",
|
||||
"zend/gdata": ">1.11"
|
||||
},
|
||||
|
2
composer.lock
generated
2
composer.lock
generated
@@ -92,7 +92,7 @@
|
||||
{
|
||||
"package": "php-mp4box/php-mp4box",
|
||||
"version": "dev-master",
|
||||
"source-reference": "ed3ae359984793a699c540871acc1d68ca6589fe",
|
||||
"source-reference": "a7e66d95202f73d0aec085418c5c67dd979d8ddc",
|
||||
"commit-date": "1335481578"
|
||||
},
|
||||
{
|
||||
|
@@ -3,6 +3,7 @@
|
||||
#Declare which environment will be used by the application
|
||||
|
||||
environment : prod
|
||||
key : null
|
||||
|
||||
#Declare all your environment configurations
|
||||
|
||||
|
@@ -11,11 +11,11 @@
|
||||
|
||||
namespace Alchemy\Phrasea\Controller\Setup;
|
||||
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
use Silex\Application;
|
||||
use Silex\ControllerProviderInterface;
|
||||
use Silex\ControllerCollection;
|
||||
use \Symfony\Component\Yaml\Dumper;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -211,23 +211,27 @@ class Installer implements ControllerProviderInterface
|
||||
}
|
||||
}
|
||||
|
||||
$binaries = array(
|
||||
'php' => $request->get('binary_php'),
|
||||
'convert' => $request->get('binary_convert'),
|
||||
'composite' => $request->get('binary_composite'),
|
||||
'swf_extract' => $request->get('binary_swfextract'),
|
||||
'pdf2swf' => $request->get('binary_pdf2swf'),
|
||||
'swf_render' => $request->get('binary_swfrender'),
|
||||
'unoconv' => $request->get('binary_unoconv'),
|
||||
'ffmpeg' => $request->get('binary_ffmpeg'),
|
||||
'mp4box' => $request->get('binary_MP4Box'),
|
||||
'pdftotext' => $request->get('binary_xpdf'),
|
||||
);
|
||||
|
||||
$app['Core']->getConfiguration()->setBinaries(array('binaries' => $binaries));
|
||||
|
||||
$registry = \registry::get_instance();
|
||||
\setup::create_global_values($registry);
|
||||
|
||||
$appbox->set_registry($registry);
|
||||
|
||||
$registry->set('GV_base_datapath_noweb', \p4string::addEndSlash($request->get('datapath_noweb')), \registry::TYPE_STRING);
|
||||
$registry->set('GV_ServerName', $servername, \registry::TYPE_STRING);
|
||||
$registry->set('GV_cli', $request->get('binary_php'), \registry::TYPE_STRING);
|
||||
$registry->set('GV_imagick', $request->get('binary_convert'), \registry::TYPE_STRING);
|
||||
$registry->set('GV_pathcomposite', $request->get('binary_composite'), \registry::TYPE_STRING);
|
||||
$registry->set('GV_swf_extract', $request->get('binary_swfextract'), \registry::TYPE_STRING);
|
||||
$registry->set('GV_pdf2swf', $request->get('binary_pdf2swf'), \registry::TYPE_STRING);
|
||||
$registry->set('GV_swf_render', $request->get('binary_swfrender'), \registry::TYPE_STRING);
|
||||
$registry->set('GV_unoconv', $request->get('binary_unoconv'), \registry::TYPE_STRING);
|
||||
$registry->set('GV_ffmpeg', $request->get('binary_ffmpeg'), \registry::TYPE_STRING);
|
||||
$registry->set('GV_mp4box', $request->get('binary_MP4Box'), \registry::TYPE_STRING);
|
||||
$registry->set('GV_pdftotext', $request->get('binary_xpdf'), \registry::TYPE_STRING);
|
||||
|
||||
$user = \User_Adapter::create($appbox, $request->get('email'), $request->get('password'), $request->get('email'), true);
|
||||
|
||||
|
@@ -166,32 +166,32 @@ class Core extends \Pimple
|
||||
|
||||
$conf = new ParameterBag();
|
||||
|
||||
if ($core->getRegistry()->get('GV_ffmpeg')) {
|
||||
$conf->set('ffmpeg', $core->getRegistry()->get('GV_ffmpeg'));
|
||||
if ($core->getRegistry()->get('ffmpeg_binary')) {
|
||||
$conf->set('ffmpeg', $core->getRegistry()->get('ffmpeg_binary'));
|
||||
}
|
||||
if ($core->getRegistry()->get('GV_ffmpeg_threads')) {
|
||||
$conf->set('ffmpeg.threads', $core->getRegistry()->get('GV_ffmpeg_threads'));
|
||||
}
|
||||
if ($core->getRegistry()->get('GV_ffprobe')) {
|
||||
$conf->set('ffprobe', $core->getRegistry()->get('GV_ffprobe'));
|
||||
if ($core->getRegistry()->get('ffprobe_binary')) {
|
||||
$conf->set('ffprobe', $core->getRegistry()->get('ffprobe_binary'));
|
||||
}
|
||||
if ($core->getRegistry()->get('GV_imagine_driver')) {
|
||||
$conf->set('imagine', $core->getRegistry()->get('GV_imagine_driver'));
|
||||
}
|
||||
if ($core->getRegistry()->get('GV_mp4box')) {
|
||||
$conf->set('MP4Box', $core->getRegistry()->get('GV_mp4box'));
|
||||
if ($core->getRegistry()->get('mp4box_binary')) {
|
||||
$conf->set('MP4Box', $core->getRegistry()->get('mp4box_binary'));
|
||||
}
|
||||
if ($core->getRegistry()->get('GV_unoconv')) {
|
||||
$conf->set('Unoconv', $core->getRegistry()->get('GV_unoconv'));
|
||||
if ($core->getRegistry()->get('unoconv_binary')) {
|
||||
$conf->set('Unoconv', $core->getRegistry()->get('unoconv_binary'));
|
||||
}
|
||||
if ($core->getRegistry()->get('GV_pdf2swf')) {
|
||||
$conf->set('Pdf2Swf', $core->getRegistry()->get('GV_pdf2swf'));
|
||||
if ($core->getRegistry()->get('pdf2swf')) {
|
||||
$conf->set('Pdf2Swf', $core->getRegistry()->get('pdf2swf_binary'));
|
||||
}
|
||||
if ($core->getRegistry()->get('GV_swf_render')) {
|
||||
$conf->set('SwfRender', $core->getRegistry()->get('GV_swf_render'));
|
||||
if ($core->getRegistry()->get('swf_render_binary')) {
|
||||
$conf->set('SwfRender', $core->getRegistry()->get('swf_render_binary'));
|
||||
}
|
||||
if ($core->getRegistry()->get('GV_swf_extract')) {
|
||||
$conf->set('SwfExtract', $core->getRegistry()->get('GV_swf_extract'));
|
||||
if ($core->getRegistry()->get('swf_extract_binary')) {
|
||||
$conf->set('SwfExtract', $core->getRegistry()->get('swf_extract_binary'));
|
||||
}
|
||||
|
||||
$drivers = new \MediaAlchemyst\DriversContainer($conf, $core['monolog']);
|
||||
@@ -223,8 +223,8 @@ class Core extends \Pimple
|
||||
$this['pdf-to-text'] = $this->share(function () use ($core) {
|
||||
|
||||
try {
|
||||
if ($core->getRegistry()->get('GV_pdftotext')) {
|
||||
$pdftotext = new PdfToText($core->getRegistry()->get('GV_pdftotext'), $core['monolog']);
|
||||
if ($core->getRegistry()->get('pdftotext_binary')) {
|
||||
$pdftotext = new PdfToText($core->getRegistry()->get('pdftotext_binary'), $core['monolog']);
|
||||
} else {
|
||||
$pdftotext = PdfToText::load($core['monolog']);
|
||||
}
|
||||
|
@@ -262,6 +262,11 @@ class Configuration
|
||||
return $this->specifications->setServices($services);
|
||||
}
|
||||
|
||||
public function setBinaries($binaries)
|
||||
{
|
||||
return $this->specifications->setBinaries($binaries);
|
||||
}
|
||||
|
||||
public function setConnexions($connexions)
|
||||
{
|
||||
return $this->specifications->setConnexions($connexions);
|
||||
@@ -277,6 +282,11 @@ class Configuration
|
||||
return $this->specifications->getServices();
|
||||
}
|
||||
|
||||
public function getBinaries()
|
||||
{
|
||||
return $this->specifications->getBinaries();
|
||||
}
|
||||
|
||||
public function getConnexions()
|
||||
{
|
||||
return $this->specifications->getConnexions();
|
||||
|
@@ -50,6 +50,13 @@ class ApplicationSpecification implements Specification
|
||||
);
|
||||
}
|
||||
|
||||
public function setBinaries($binaries)
|
||||
{
|
||||
return file_put_contents(
|
||||
$this->getBinariesPathFile(), $this->parser->dump($binaries, 7)
|
||||
);
|
||||
}
|
||||
|
||||
public function getConfigurations()
|
||||
{
|
||||
return $this->parser->parse(
|
||||
@@ -64,6 +71,17 @@ class ApplicationSpecification implements Specification
|
||||
);
|
||||
}
|
||||
|
||||
public function getBinaries()
|
||||
{
|
||||
if (file_exists($this->getBinariesPathFile())) {
|
||||
return $this->parser->parse(
|
||||
file_get_contents($this->getBinariesPathFile())
|
||||
);
|
||||
}
|
||||
|
||||
return array('binaries' => array());
|
||||
}
|
||||
|
||||
public function getServices()
|
||||
{
|
||||
return $this->parser->parse(
|
||||
@@ -123,6 +141,7 @@ class ApplicationSpecification implements Specification
|
||||
chmod($this->getConnexionsPathFile(), 0700);
|
||||
chmod($this->getConfigurationsPathFile(), 0700);
|
||||
chmod($this->getServicesPathFile(), 0700);
|
||||
chmod($this->getBinariesPathFile(), 0700);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -156,6 +175,11 @@ class ApplicationSpecification implements Specification
|
||||
return $this->getRealRootPath() . '/config/services.yml';
|
||||
}
|
||||
|
||||
protected function getBinariesPathFile()
|
||||
{
|
||||
return $this->getRealRootPath() . '/config/binaries.yml';
|
||||
}
|
||||
|
||||
protected function getRealRootPath()
|
||||
{
|
||||
return realpath(__DIR__ . '/../../../../../');
|
||||
|
@@ -26,12 +26,16 @@ interface Specification
|
||||
|
||||
public function setServices($services);
|
||||
|
||||
public function setBinaries($binaries);
|
||||
|
||||
public function getConfigurations();
|
||||
|
||||
public function getConnexions();
|
||||
|
||||
public function getServices();
|
||||
|
||||
public function getBinaries();
|
||||
|
||||
public function initialize();
|
||||
|
||||
public function delete();
|
||||
|
@@ -18,7 +18,7 @@ namespace Alchemy\Phrasea\Core;
|
||||
*/
|
||||
class Version
|
||||
{
|
||||
protected static $number = '3.7.2';
|
||||
protected static $number = '3.7.3';
|
||||
protected static $name = 'Carnosaurus';
|
||||
|
||||
public static function getNumber()
|
||||
|
@@ -434,16 +434,17 @@ class API_V1_adapter extends API_V1_Abstract
|
||||
),
|
||||
),
|
||||
'binary' => array(
|
||||
'phpCli' => $registry->get('GV_cli'),
|
||||
'phpCli' => $registry->get('php_binary'),
|
||||
'phpIni' => $registry->get('GV_PHP_INI'),
|
||||
'imagick' => $registry->get('GV_imagick'),
|
||||
'swfExtract' => $registry->get('GV_swf_extract'),
|
||||
'pdf2swf' => $registry->get('GV_pdf2swf'),
|
||||
'swfRender' => $registry->get('GV_swf_render'),
|
||||
'unoconv' => $registry->get('GV_unoconv'),
|
||||
'ffmpeg' => $registry->get('GV_ffmpeg'),
|
||||
'mp4box' => $registry->get('GV_mp4box'),
|
||||
'pdftotext' => $registry->get('GV_pdftotext'),
|
||||
'imagick' => $registry->get('convert_binary'),
|
||||
'swfExtract' => $registry->get('swf_extract_binary'),
|
||||
'pdf2swf' => $registry->get('pdf2swf_binary'),
|
||||
'swfRender' => $registry->get('swf_render_binary'),
|
||||
'unoconv' => $registry->get('unoconv_binary'),
|
||||
'ffmpeg' => $registry->get('ffmpeg_binary'),
|
||||
'ffprobe' => $registry->get('ffprobe_binary'),
|
||||
'mp4box' => $registry->get('mp4box_binary'),
|
||||
'pdftotext' => $registry->get('pdftotext_binary'),
|
||||
'pdfmaxpages' => $registry->get('GV_pdfmaxpages'),),
|
||||
'mainConfiguration' => array(
|
||||
'adminMail' => $registry->get('GV_adminMail'),
|
||||
|
@@ -104,23 +104,6 @@ class appbox extends base
|
||||
throw new \InvalidArgumentException('Invalid file format');
|
||||
}
|
||||
$filename = $pathfile->getPathname();
|
||||
|
||||
//resize collection logo
|
||||
$imageSpec = new ImageSpecification();
|
||||
$imageSpec->setResizeMode(ImageSpecification::RESIZE_MODE_INBOUND_FIXEDRATIO);
|
||||
$imageSpec->setDimensions(120, 24);
|
||||
|
||||
$tmp = tempnam(sys_get_temp_dir(), 'tmpdatabox') . '.jpg';
|
||||
|
||||
try {
|
||||
$core['media-alchemyst']
|
||||
->open($pathfile->getPathname())
|
||||
->turninto($tmp, $imageSpec)
|
||||
->close();
|
||||
$filename = $tmp;
|
||||
} catch (\MediaAlchemyst\Exception $e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
switch ($pic_type) {
|
||||
@@ -128,6 +111,23 @@ class appbox extends base
|
||||
$collection->reset_watermark();
|
||||
break;
|
||||
case collection::PIC_LOGO:
|
||||
|
||||
$imageSpec = new ImageSpecification();
|
||||
$imageSpec->setResizeMode(ImageSpecification::RESIZE_MODE_INBOUND_FIXEDRATIO);
|
||||
$imageSpec->setDimensions(120, 24);
|
||||
|
||||
$tmp = tempnam(sys_get_temp_dir(), 'tmpdatabox') . '.jpg';
|
||||
|
||||
try {
|
||||
$core['media-alchemyst']
|
||||
->open($pathfile->getPathname())
|
||||
->turninto($tmp, $imageSpec)
|
||||
->close();
|
||||
$filename = $tmp;
|
||||
} catch (\MediaAlchemyst\Exception $e) {
|
||||
|
||||
}
|
||||
break;
|
||||
case collection::PIC_PRESENTATION:
|
||||
break;
|
||||
case collection::PIC_STAMP:
|
||||
@@ -492,7 +492,7 @@ class appbox extends base
|
||||
|
||||
$Core->getConfiguration()->setConnexions($connexion);
|
||||
|
||||
$services = $Core->getConfiguration()->getConfigurations();
|
||||
$services = $Core->getConfiguration()->getServices();
|
||||
|
||||
foreach ($services as $serviceName => $service) {
|
||||
if ($serviceName === "doctrine_prod") {
|
||||
@@ -504,10 +504,12 @@ class appbox extends base
|
||||
);
|
||||
}
|
||||
}
|
||||
$Core->getConfiguration()->setConfigurations($services);
|
||||
$Core->getConfiguration()->setServices($services);
|
||||
|
||||
$arrayConf = $Core->getConfiguration()->getConfigurations();
|
||||
|
||||
$arrayConf['key'] = md5(time() . '--' . mt_rand(1000000, 9999999));
|
||||
|
||||
foreach ($arrayConf as $key => $value) {
|
||||
if (is_array($value) && array_key_exists('phraseanet', $value)) {
|
||||
$arrayConf[$key]["phraseanet"]["servername"] = $serverName;
|
||||
|
@@ -75,7 +75,7 @@ class connection
|
||||
}
|
||||
$string .= "\nPOST datas :\n ";
|
||||
foreach ($_POST as $key => $value) {
|
||||
$string .= "\t\t" . $key . ' = ' . $value . "\n";
|
||||
$string .= "\t\t" . $key . ' = ' . (is_scalar($value) ? $value : 'non-scalar value') . "\n";
|
||||
}
|
||||
$string .= "\n\n\n\n";
|
||||
|
||||
|
@@ -15,9 +15,11 @@
|
||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||
* @link www.phraseanet.com
|
||||
*/
|
||||
|
||||
use Alchemy\Phrasea\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use Symfony\Component\Process\ProcessBuilder;
|
||||
|
||||
class module_console_sphinxGenerateSuggestion extends Command
|
||||
{
|
||||
@@ -67,15 +69,21 @@ class module_console_sphinxGenerateSuggestion extends Command
|
||||
return 1;
|
||||
}
|
||||
|
||||
$builder = ProcessBuilder::create(array('/usr/local/bin/indexer'));
|
||||
$builder->add('metadatas' . $index)
|
||||
->add('--buildstops')
|
||||
->add($tmp_file)
|
||||
->add(1000000)
|
||||
->add('--buildfreqs');
|
||||
|
||||
$builder->getProcess()->run();
|
||||
|
||||
if ( ! file_exists($tmp_file)) {
|
||||
$output->writeln("<error> file '" . $tmp_file . "' does not exist</error>");
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
$cmd = '/usr/local/bin/indexer metadatas' . $index . ' --buildstops ' . $tmp_file . ' 1000000 --buildfreqs';
|
||||
exec($cmd);
|
||||
|
||||
try {
|
||||
$connbas = connection::getPDOConnection($sbas_id);
|
||||
} catch (Exception $e) {
|
||||
|
@@ -18,6 +18,7 @@
|
||||
use Alchemy\Phrasea\Command\Command;
|
||||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use Symfony\Component\Process\ProcessBuilder;
|
||||
|
||||
class module_console_systemBackupDB extends Command
|
||||
{
|
||||
@@ -73,18 +74,22 @@ class module_console_systemBackupDB extends Command
|
||||
|
||||
$output->write(sprintf('Generating %s ... ', $filename));
|
||||
|
||||
$command = sprintf(
|
||||
'mysqldump --host %s --port %s --user %s --password=%s'
|
||||
. ' --database %s --default-character-set=utf8 > %s'
|
||||
, $base->get_host()
|
||||
, $base->get_port()
|
||||
, $base->get_user()
|
||||
, $base->get_passwd()
|
||||
, $base->get_dbname()
|
||||
, escapeshellarg($filename)
|
||||
);
|
||||
$builder = ProcessBuilder::create(array(
|
||||
'mysqldump',
|
||||
'--host='.$base->get_host(),
|
||||
'--port='.$base->get_port(),
|
||||
'--user='.$base->get_user(),
|
||||
'--password='.$base->get_passwd(),
|
||||
'--databases', $base->get_dbname(),
|
||||
'--default-character-set=utf8'
|
||||
));
|
||||
|
||||
system($command);
|
||||
$proces = $builder->getProcess();
|
||||
$proces->run();
|
||||
|
||||
if ($proces->isSuccessful()) {
|
||||
file_put_contents($filename, $proces->getOutput());
|
||||
}
|
||||
|
||||
if (file_exists($filename) && filesize($filename) > 0) {
|
||||
$output->writeln('OK');
|
||||
|
@@ -88,7 +88,6 @@ class patch_320aa implements patchInterface
|
||||
case registry::TYPE_INTEGER:
|
||||
case registry::TYPE_BOOLEAN:
|
||||
case registry::TYPE_STRING:
|
||||
case registry::TYPE_ARRAY:
|
||||
$type = $datas['type'];
|
||||
break;
|
||||
default:
|
||||
|
135
lib/classes/patch/373.class.php
Normal file
135
lib/classes/patch/373.class.php
Normal file
@@ -0,0 +1,135 @@
|
||||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Phraseanet
|
||||
*
|
||||
* (c) 2005-2012 Alchemy
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use Alchemy\Phrasea\Core\Configuration;
|
||||
use Symfony\Component\Yaml\Dumper;
|
||||
|
||||
/**
|
||||
*
|
||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||
* @link www.phraseanet.com
|
||||
*/
|
||||
class patch_373 implements patchInterface
|
||||
{
|
||||
/**
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $release = '3.7.3';
|
||||
|
||||
/**
|
||||
*
|
||||
* @var Array
|
||||
*/
|
||||
private $concern = array(base::APPLICATION_BOX);
|
||||
|
||||
/**
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_release()
|
||||
{
|
||||
return $this->release;
|
||||
}
|
||||
|
||||
public function require_all_upgrades()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return Array
|
||||
*/
|
||||
public function concern()
|
||||
{
|
||||
return $this->concern;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param base $databox
|
||||
*/
|
||||
public function apply(base &$appbox)
|
||||
{
|
||||
$sql = 'SELECT * FROM registry WHERE `key` = :key';
|
||||
$stmt = $appbox->get_connection()->prepare($sql);
|
||||
|
||||
$Regbinaries = array(
|
||||
'GV_cli',
|
||||
'GV_imagick',
|
||||
'GV_pathcomposite',
|
||||
'GV_swf_extract',
|
||||
'GV_pdf2swf',
|
||||
'GV_swf_render',
|
||||
'GV_unoconv',
|
||||
'GV_ffmpeg',
|
||||
'GV_ffprobe',
|
||||
'GV_mp4box',
|
||||
'GV_pdftotext',
|
||||
);
|
||||
|
||||
$mapping = array(
|
||||
'GV_cli' => 'php_binary',
|
||||
'GV_imagick' => 'convert_binary',
|
||||
'GV_pathcomposite' => 'composite_binary',
|
||||
'GV_swf_extract' => 'swf_extract_binary',
|
||||
'GV_pdf2swf' => 'pdf2swf_binary',
|
||||
'GV_swf_render' => 'swf_render_binary',
|
||||
'GV_unoconv' => 'unoconv_binary',
|
||||
'GV_ffmpeg' => 'ffmpeg_binary',
|
||||
'GV_ffprobe' => 'ffprobe_binary',
|
||||
'GV_mp4box' => 'mp4box_binary',
|
||||
'GV_pdftotext' => 'pdftotext_binary',
|
||||
);
|
||||
|
||||
foreach ($Regbinaries as $name) {
|
||||
$stmt->execute(array(':key' => $name));
|
||||
$row = $stmt->fetch(\PDO::FETCH_ASSOC);
|
||||
$value = is_executable($row['value']) ? $row['value'] : '';
|
||||
|
||||
$binaries[$mapping[$name]] = $value;
|
||||
}
|
||||
|
||||
$stmt->closeCursor();
|
||||
|
||||
$configuration = Configuration::build();
|
||||
$configuration->setBinaries(array('binaries' => $binaries));
|
||||
|
||||
$sql = 'DELETE FROM registry WHERE `key` = :key';
|
||||
$stmt = $appbox->get_connection()->prepare($sql);
|
||||
|
||||
foreach ($Regbinaries as $name) {
|
||||
$stmt->execute(array(':key' => $name));
|
||||
}
|
||||
|
||||
$stmt->closeCursor();
|
||||
|
||||
$GV_sit = null;
|
||||
|
||||
$sql = 'SELECT value FROM registry WHERE `key` = :key';
|
||||
$stmt = $appbox->get_connection()->prepare($sql);
|
||||
$stmt->execute(array(':key'=>'GV_sit'));
|
||||
$row = $stmt->fetch(\PDO::FETCH_ASSOC);
|
||||
$stmt->closeCursor();
|
||||
|
||||
$configs = $configuration->getConfigurations();
|
||||
$configs['key'] = $row['value'];
|
||||
$configuration->setConfigurations($configs);
|
||||
|
||||
$sql = 'DELETE FROM registry WHERE `key` = :key';
|
||||
$stmt = $appbox->get_connection()->prepare($sql);
|
||||
$stmt->execute(array(':key'=>'GV_sit'));
|
||||
$stmt->closeCursor();
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@@ -9,6 +9,8 @@
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use Symfony\Component\Process\ProcessBuilder;
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
@@ -83,7 +85,7 @@ class recordutils_image extends recordutils
|
||||
return $subdef->get_pathfile();
|
||||
}
|
||||
|
||||
if ( ! $registry->get('GV_imagick')) {
|
||||
if ( ! $registry->get('convert_binary')) {
|
||||
return $subdef->get_pathfile();
|
||||
}
|
||||
|
||||
@@ -286,15 +288,15 @@ class recordutils_image extends recordutils
|
||||
|
||||
$newh = $image_height + $stampheight;
|
||||
|
||||
$cmd = $registry->get('GV_imagick');
|
||||
$cmd .= ' -extent "' . $image_width . 'x' . $newh
|
||||
. '" -draw "image SrcOver 0,' . $image_height . ' '
|
||||
. $image_width . ',' . $stampheight . '\'' . $pathTmpStamp . '\'"';
|
||||
$builder = ProcessBuilder::create(array($registry->get('convert_binary')));
|
||||
$builder->add('-extent')
|
||||
->add($image_width . 'x' . $newh)
|
||||
->add('-draw')
|
||||
->add('image SrcOver 0,' . $image_height . ' ' . $image_width . ',' . $stampheight . '"' . $pathTmpStamp . '"')
|
||||
->add($pathIn)
|
||||
->add($pathOut);
|
||||
|
||||
$cmd.= " \"" . $pathIn . "\""; # <<-- le doc original
|
||||
$cmd.= " \"" . $pathOut . "\""; # <-- le doc stampe
|
||||
|
||||
exec($cmd);
|
||||
$builder->getProcess()->run();
|
||||
|
||||
unlink($pathTmpStamp);
|
||||
|
||||
@@ -302,7 +304,7 @@ class recordutils_image extends recordutils
|
||||
return $pathOut;
|
||||
}
|
||||
|
||||
return $subdef->get_pathfile();;
|
||||
return $subdef->get_pathfile();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -332,7 +334,7 @@ class recordutils_image extends recordutils
|
||||
|
||||
$pathOut = $subdef->get_path() . 'watermark_' . $subdef->get_file();
|
||||
|
||||
if ( ! is_file($pathIn)) {
|
||||
if (!is_file($pathIn)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -341,32 +343,19 @@ class recordutils_image extends recordutils
|
||||
}
|
||||
|
||||
if ($registry->get('GV_pathcomposite') &&
|
||||
file_exists($registry->get('GV_RootPath') . 'config/wm/' . $base_id)) { // si il y a un WM
|
||||
$cmd = $registry->get('GV_pathcomposite') . " ";
|
||||
$cmd .= $registry->get('GV_RootPath') . 'config/wm/' . $base_id . " ";
|
||||
$cmd .= " \"" . $pathIn . "\" "; # <<-- la preview original
|
||||
$cmd .= " -strip -watermark 90% -gravity center ";
|
||||
$cmd .= " \"" . $pathOut . "\""; # <-- la preview temporaire
|
||||
file_exists($registry->get('GV_RootPath') . 'config/wm/' . $base_id)) {
|
||||
|
||||
$descriptorspec = array(0 => array("pipe", "r"),
|
||||
1 => array("pipe", "w"),
|
||||
2 => array("pipe", "w")
|
||||
);
|
||||
$process = proc_open($cmd, $descriptorspec, $pipes);
|
||||
if (is_resource($process)) {
|
||||
fclose($pipes[0]);
|
||||
$err = "";
|
||||
while ( ! feof($pipes[1]))
|
||||
$out = fgets($pipes[1], 1024);
|
||||
fclose($pipes[1]);
|
||||
while ( ! feof($pipes[2]))
|
||||
$err .= fgets($pipes[2], 1024);
|
||||
fclose($pipes[2]);
|
||||
$return_value = proc_close($process);
|
||||
}
|
||||
} elseif ($registry->get('GV_imagick')) {
|
||||
$builder = ProcessBuilder::create(array(
|
||||
$registry->get('composite_binary'),
|
||||
$registry->get('GV_RootPath') . 'config/wm/' . $base_id,
|
||||
$pathIn,
|
||||
'-strip', '-watermark', '90%', '-gravity', 'center',
|
||||
$pathOut
|
||||
));
|
||||
|
||||
$builder->getProcess()->run();
|
||||
} elseif ($registry->get('convert_binary')) {
|
||||
$collname = phrasea::bas_names($base_id);
|
||||
$cmd = $registry->get('GV_imagick');
|
||||
$tailleimg = @getimagesize($pathIn);
|
||||
$max = ($tailleimg[0] > $tailleimg[1] ? $tailleimg[0] : $tailleimg[1]);
|
||||
|
||||
@@ -380,50 +369,23 @@ class recordutils_image extends recordutils
|
||||
else
|
||||
$decalage = 1;
|
||||
|
||||
$cmd .= " -fill white -draw \"line 0,0 "
|
||||
. $tailleimg[0] . "," . $tailleimg[1] . "\"";
|
||||
$cmd .= " -fill black -draw \"line 1,0 "
|
||||
. ($tailleimg[0] + 1) . "," . ($tailleimg[1]) . "\"";
|
||||
$builder = ProcessBuilder::create(array(
|
||||
$registry->get('convert_binary'),
|
||||
'-fill', 'white', '-draw', 'line 0,0 ' . $tailleimg[0] . ',' . $tailleimg[1] . '',
|
||||
'-fill', 'black', '-draw', 'line 1,0 ' . $tailleimg[0] + 1 . ',' . $tailleimg[1] . '',
|
||||
'-fill', 'white', '-draw', 'line ' . $tailleimg[0] . ',0 0,' . $tailleimg[1] . '',
|
||||
'-fill', 'black', '-draw', 'line ' . ($tailleimg[0] + 1) . ',0 0,' . $tailleimg[1] . '',
|
||||
'-fill', 'white', '-gravity', 'NorthWest', '-pointsize', $tailleText, '-draw', 'text 0,0 ' . $collname,
|
||||
'-fill', 'black', '-gravity', 'NorthWest', '-pointsize', $tailleText, '-draw', 'text ' . $decalage . ', 1 ' . $collname,
|
||||
'-fill', 'white', '-gravity', 'center', '-pointsize', $tailleText, '-draw', 'text 0,0 ' . $collname,
|
||||
'-fill', 'black', '-gravity', 'center', '-pointsize', $tailleText, '-draw', 'text ' . $decalage . ', 1 ' . $collname,
|
||||
'-fill', 'white', '-gravity', 'SouthEast', '-pointsize', $tailleText, '-draw', 'text 0,0 ' . $collname,
|
||||
'-fill', 'black', '-gravity', 'SouthEast', '-pointsize', $tailleText, '-draw', 'text ' . $decalage . ', 1 ' . $collname,
|
||||
$pathIn, $pathOut
|
||||
));
|
||||
|
||||
$cmd .= " -fill white -draw \"line "
|
||||
. $tailleimg[0] . ",0 0," . $tailleimg[1] . "\"";
|
||||
$cmd .= " -fill black -draw \"line "
|
||||
. ($tailleimg[0] + 1) . ",0 1," . ($tailleimg[1]) . "\"";
|
||||
|
||||
$cmd .= " -fill white -gravity NorthWest -pointsize "
|
||||
. " $tailleText -draw \"text 0,0 '$collname'\"";
|
||||
$cmd .= " -fill black -gravity NorthWest -pointsize "
|
||||
. " $tailleText -draw \"text $decalage,1 '$collname'\"";
|
||||
|
||||
$cmd .= " -fill white -gravity center -pointsize "
|
||||
. " $tailleText -draw \"text 0,0 '$collname'\"";
|
||||
$cmd .= " -fill black -gravity center -pointsize "
|
||||
. " $tailleText -draw \"text $decalage,1 '$collname'\"";
|
||||
|
||||
$cmd .= " -fill white -gravity SouthEast -pointsize "
|
||||
. " $tailleText -draw \"text 0,0 '$collname'\"";
|
||||
$cmd .= " -fill black -gravity SouthEast -pointsize "
|
||||
. " $tailleText -draw \"text $decalage,1 '$collname'\"";
|
||||
|
||||
$cmd.= " \"" . $pathIn . "\""; # <<-- la preview original
|
||||
$cmd.= " \"" . $pathOut . "\""; # <-- la preview temporaire
|
||||
|
||||
$descriptorspec = array(0 => array("pipe", "r"),
|
||||
1 => array("pipe", "w"),
|
||||
2 => array("pipe", "w")
|
||||
);
|
||||
$process = proc_open($cmd, $descriptorspec, $pipes);
|
||||
if (is_resource($process)) {
|
||||
fclose($pipes[0]);
|
||||
$err = "";
|
||||
while ( ! feof($pipes[1]))
|
||||
$out = fgets($pipes[1], 1024);
|
||||
fclose($pipes[1]);
|
||||
while ( ! feof($pipes[2]))
|
||||
$err .= fgets($pipes[2], 1024);
|
||||
fclose($pipes[2]);
|
||||
$return_value = proc_close($process);
|
||||
}
|
||||
$process = $builder->getProcess();
|
||||
$process->run();
|
||||
}
|
||||
|
||||
if (is_file($pathOut)) {
|
||||
|
@@ -9,6 +9,8 @@
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use Symfony\Component\Yaml\Parser;
|
||||
|
||||
/**
|
||||
*
|
||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||
@@ -29,10 +31,13 @@ class registry implements registryInterface
|
||||
protected static $_instance;
|
||||
|
||||
const TYPE_BOOLEAN = 'boolean';
|
||||
const TYPE_ARRAY = 'array';
|
||||
const TYPE_ENUM_MULTI = 'enum_multi';
|
||||
const TYPE_INTEGER = 'integer';
|
||||
const TYPE_ENUM = 'enum';
|
||||
const TYPE_STRING = 'string';
|
||||
const TYPE_TEXT = 'text';
|
||||
const TYPE_TIMEZONE = 'timezone';
|
||||
const TYPE_BINARY = 'binary';
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -60,9 +65,22 @@ class registry implements registryInterface
|
||||
|
||||
$this->cache->save('GV_RootPath', dirname(dirname(__DIR__)) . '/');
|
||||
if ($configuration->isInstalled()) {
|
||||
|
||||
$config = $configuration->getConfigurations();
|
||||
|
||||
$this->cache->save('GV_ServerName', $configuration->getPhraseanet()->get('servername'));
|
||||
$this->cache->save('GV_debug', $configuration->isDebug());
|
||||
$this->cache->save('GV_maintenance', $configuration->isMaintained());
|
||||
if (isset($config['key'])) {
|
||||
$this->cache->save('GV_sit', $config['key']);
|
||||
}
|
||||
|
||||
$binaries = $configuration->getBinaries();
|
||||
if (isset($binaries['binaries'])) {
|
||||
foreach ($binaries['binaries'] as $name => $path) {
|
||||
$this->cache->save($name, $path);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $this;
|
||||
@@ -101,10 +119,13 @@ class registry implements registryInterface
|
||||
$value = (int) $row['value'];
|
||||
break;
|
||||
case self::TYPE_ENUM_MULTI:
|
||||
case self::TYPE_ARRAY:
|
||||
$value = unserialize($row['value']);
|
||||
break;
|
||||
case self::TYPE_STRING:
|
||||
case self::TYPE_ENUM:
|
||||
case self::TYPE_TIMEZONE:
|
||||
case self::TYPE_TEXT:
|
||||
case self::TYPE_BINARY:
|
||||
default:
|
||||
$value = $row['value'];
|
||||
break;
|
||||
@@ -147,12 +168,15 @@ class registry implements registryInterface
|
||||
$this->load();
|
||||
|
||||
switch ($type) {
|
||||
case self::TYPE_ARRAY:
|
||||
case self::TYPE_ENUM_MULTI:
|
||||
$sql_value = serialize($value);
|
||||
$value = (array) $value;
|
||||
break;
|
||||
case self::TYPE_STRING;
|
||||
case self::TYPE_ENUM:
|
||||
case self::TYPE_TIMEZONE:
|
||||
case self::TYPE_TEXT:
|
||||
case self::TYPE_BINARY:
|
||||
default:
|
||||
$sql_value = (string) $value;
|
||||
$value = (string) $value;
|
||||
@@ -167,6 +191,12 @@ class registry implements registryInterface
|
||||
break;
|
||||
}
|
||||
|
||||
if ($value != '' && $type == self::TYPE_BINARY) {
|
||||
if (!is_executable($value)) {
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
||||
$conn = connection::getPDOConnection();
|
||||
|
||||
$sql = 'REPLACE INTO registry (`id`, `key`, `value`, `type`)
|
||||
|
@@ -127,7 +127,6 @@ class setup
|
||||
case registry::TYPE_INTEGER:
|
||||
case registry::TYPE_BOOLEAN:
|
||||
case registry::TYPE_STRING:
|
||||
case registry::TYPE_ARRAY:
|
||||
$type = $datas['type'];
|
||||
break;
|
||||
default:
|
||||
@@ -174,13 +173,15 @@ class setup
|
||||
}
|
||||
}
|
||||
|
||||
$type = 'string';
|
||||
$type = $variable['type'];
|
||||
switch ($variable['type']) {
|
||||
case 'string':
|
||||
case 'password':
|
||||
case \registry::TYPE_STRING:
|
||||
case \registry::TYPE_BINARY:
|
||||
case \registry::TYPE_TEXT:
|
||||
case \registry::TYPE_TIMEZONE:
|
||||
$datas[$variable['name']] = (string) trim($datas[$variable['name']]);
|
||||
break;
|
||||
case 'enum':
|
||||
case \registry::TYPE_ENUM:
|
||||
if (!isset($variable['available'])) {
|
||||
$variable['error'] = 'avalaibility';
|
||||
} elseif (!is_array($variable['available'])) {
|
||||
@@ -189,25 +190,16 @@ class setup
|
||||
$variable['error'] = 'avalaibility';
|
||||
}
|
||||
break;
|
||||
case 'enum_multi':
|
||||
case \registry::TYPE_ENUM_MULTI:
|
||||
if (!isset($datas[$variable['name']]))
|
||||
$datas[$variable['name']] = null;
|
||||
$datas[$variable['name']] = ($datas[$variable['name']]);
|
||||
$type = 'array';
|
||||
break;
|
||||
case 'boolean':
|
||||
case \registry::TYPE_BOOLEAN:
|
||||
$datas[$variable['name']] = strtolower($datas[$variable['name']]) === 'true' ? '1' : '0';
|
||||
$type = 'boolean';
|
||||
break;
|
||||
case 'integer':
|
||||
case \registry::TYPE_INTEGER:
|
||||
$datas[$variable['name']] = (int) trim($datas[$variable['name']]);
|
||||
$type = 'integer';
|
||||
break;
|
||||
case 'text':
|
||||
$datas[$variable['name']] = trim($datas[$variable['name']]);
|
||||
break;
|
||||
case 'timezone':
|
||||
$datas[$variable['name']] = trim($datas[$variable['name']]);
|
||||
break;
|
||||
default:
|
||||
$error = true;
|
||||
@@ -254,17 +246,17 @@ class setup
|
||||
$finder = new \Symfony\Component\Process\ExecutableFinder();
|
||||
|
||||
$binaries = array(
|
||||
'PHP CLI' => $registry->get('GV_cli', $finder->find('php')),
|
||||
'ImageMagick (convert)' => $registry->get('GV_imagick', $finder->find('convert')),
|
||||
'PDF 2 SWF' => $registry->get('GV_pdf2swf', $finder->find('pdf2swf')),
|
||||
'Unoconv' => $registry->get('GV_unoconv', $finder->find('unoconv')),
|
||||
'SWFextract' => $registry->get('GV_swf_extract', $finder->find('swfextract')),
|
||||
'SWFrender' => $registry->get('GV_swf_render', $finder->find('swfrender')),
|
||||
'MP4Box' => $registry->get('GV_mp4box', $finder->find('MP4Box')),
|
||||
'xpdf (pdf2text)' => $registry->get('GV_pdftotext', $finder->find('pdftotext')),
|
||||
'ImageMagick (composite)' => $registry->get('GV_pathcomposite', $finder->find('composite')),
|
||||
'FFmpeg' => $registry->get('GV_ffmpeg', $finder->find('ffmpeg')),
|
||||
'FFprobe' => $registry->get('GV_ffprobe', $finder->find('ffprobe')),
|
||||
'PHP CLI' => $registry->get('php_binary', $finder->find('php')),
|
||||
'ImageMagick (convert)' => $registry->get('convert_binary', $finder->find('convert')),
|
||||
'PDF 2 SWF' => $registry->get('pdf2swf_binary', $finder->find('pdf2swf')),
|
||||
'Unoconv' => $registry->get('unoconv_binary', $finder->find('unoconv')),
|
||||
'SWFextract' => $registry->get('swf_extract_binary', $finder->find('swfextract')),
|
||||
'SWFrender' => $registry->get('swf_render_binary', $finder->find('swfrender')),
|
||||
'MP4Box' => $registry->get('mp4box_binary', $finder->find('MP4Box')),
|
||||
'xpdf (pdf2text)' => $registry->get('pdftotext_binary', $finder->find('pdftotext')),
|
||||
'ImageMagick (composite)' => $registry->get('composite_binary', $finder->find('composite')),
|
||||
'FFmpeg' => $registry->get('ffmpeg_binary', $finder->find('ffmpeg')),
|
||||
'FFprobe' => $registry->get('ffprobe_binary', $finder->find('ffprobe')),
|
||||
'phraseanet_indexer' => $finder->find('phraseanet_indexer'),
|
||||
);
|
||||
|
||||
|
@@ -59,7 +59,7 @@ class task_Scheduler
|
||||
$registry = $appbox->get_registry();
|
||||
|
||||
//prevent scheduler to fail if GV_cli is not provided
|
||||
if ( ! is_executable($registry->get('GV_cli'))) {
|
||||
if ( ! is_executable($registry->get('php_binary'))) {
|
||||
throw new \RuntimeException('PHP cli is not provided in registry');
|
||||
}
|
||||
|
||||
@@ -220,7 +220,7 @@ class task_Scheduler
|
||||
$taskPoll[$tkey] = array(
|
||||
"task" => $task,
|
||||
"current_status" => $status,
|
||||
"cmd" => $registry->get('GV_cli'),
|
||||
"cmd" => $registry->get('php_binary'),
|
||||
"args" => array(
|
||||
'-f',
|
||||
$registry->get('GV_RootPath') . 'bin/console',
|
||||
@@ -331,7 +331,7 @@ class task_Scheduler
|
||||
$descriptors[2] = array('file', $nullfile, 'a+');
|
||||
|
||||
$taskPoll[$tkey]["process"] = proc_open(
|
||||
$taskPoll[$tkey]["cmd"] . ' ' . implode(' ', $taskPoll[$tkey]["args"])
|
||||
escapeshellarg($taskPoll[$tkey]["cmd"]) . ' ' . implode(' ', array_map('escapeshellarg', $taskPoll[$tkey]["args"]))
|
||||
, $descriptors
|
||||
, $taskPoll[$tkey]["pipes"]
|
||||
, $registry->get('GV_RootPath') . "bin/"
|
||||
|
@@ -877,18 +877,4 @@ abstract class task_abstract
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Escape a shell command.
|
||||
*
|
||||
* As this function is buggy under windows, this method check the
|
||||
* environment
|
||||
*
|
||||
* @param string $command
|
||||
* @return string
|
||||
*/
|
||||
protected static function escapeShellCmd($command)
|
||||
{
|
||||
return defined('PHP_WINDOWS_VERSION_BUILD') ? escapeshellarg($command) : escapeshellcmd($command);
|
||||
}
|
||||
}
|
||||
|
@@ -454,17 +454,11 @@ class task_period_cindexer extends task_abstract
|
||||
|
||||
$pipes = array();
|
||||
|
||||
$logcmd = self::escapeShellCmd($cmd);
|
||||
foreach ($args_nopwd as $arg) {
|
||||
$logcmd .= ' ' . escapeshellarg($arg);
|
||||
}
|
||||
$logcmd = escapeshellarg($cmd).' '.implode(' ', array_map('escapeshellarg', $args_nopwd));
|
||||
$execmd = escapeshellarg($cmd).' '.implode(' ', array_map('escapeshellarg', $args));
|
||||
|
||||
$this->log(sprintf('cmd=\'%s\'', self::escapeShellCmd($logcmd)));
|
||||
$this->log(sprintf('cmd=\'%s\'', $logcmd));
|
||||
|
||||
$execmd = self::escapeShellCmd($cmd);
|
||||
foreach ($args as $arg) {
|
||||
$execmd .= ' ' . escapeshellarg($arg);
|
||||
}
|
||||
$process = proc_open($execmd, $descriptors, $pipes, $this->binpath, null, array('bypass_shell' => true));
|
||||
|
||||
$pid = NULL;
|
||||
|
@@ -6,8 +6,6 @@ if (($pos = strpos($cwd, 'lib/conf.d')) !== false)
|
||||
|
||||
$EOL = PHP_EOL;
|
||||
|
||||
$GV_sit = md5(time() . '--' . mt_rand(1000000, 9999999));
|
||||
|
||||
include_once dirname(__FILE__) . "/../../lib/classes/User/Interface.class.php";
|
||||
include_once dirname(__FILE__) . "/../../lib/classes/User/Adapter.class.php";
|
||||
|
||||
@@ -79,22 +77,14 @@ $GV = array(
|
||||
'section' => _('GV::section:: Serveur HTTP'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'timezone',
|
||||
'type' => \registry::TYPE_TIMEZONE,
|
||||
'name' => 'GV_timezone',
|
||||
'comment' => _('reglages:: Timezone de l\'installation'),
|
||||
'default' => 'Europe/Paris',
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'name' => 'GV_sit',
|
||||
'comment' => _('reglages:: Nom de linstallation'),
|
||||
'default' => $GV_sit,
|
||||
'readonly' => true,
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'enum',
|
||||
'type' => \registry::TYPE_ENUM,
|
||||
'name' => 'GV_default_lng',
|
||||
'comment' => _('reglages:: Langue par defaut'),
|
||||
'default' => 'fr_FR',
|
||||
@@ -102,7 +92,7 @@ $GV = array(
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_STATIC_URL',
|
||||
'end_slash' => false,
|
||||
'comment' => _('reglages:: URL statique (optionnel)'),
|
||||
@@ -115,19 +105,19 @@ $GV = array(
|
||||
'rolled' => true,
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'text',
|
||||
'type' => \registry::TYPE_TEXT,
|
||||
'name' => 'GV_message',
|
||||
'comment' => _('reglages:: Message a diffuser aux utilisateurs'),
|
||||
'default' => "May the force be with you"
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_message_on',
|
||||
'comment' => _('reglages:: activation du message a diffuser aux utilistaeurs'),
|
||||
'default' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_log_errors',
|
||||
'comment' => _('reglages:: logguer les erreurs'),
|
||||
'default' => false
|
||||
@@ -137,14 +127,14 @@ $GV = array(
|
||||
'section' => _('GV::section:: Connectivite aux webservices'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_google_api',
|
||||
'comment' => _('reglages:: Utiliser els google apis'),
|
||||
'default' => true,
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_i18n_service',
|
||||
'comment' => _('reglages:: Service phrasea de localisation'),
|
||||
'default' => 'http://localization.webservice.alchemyasp.com/',
|
||||
@@ -152,20 +142,20 @@ $GV = array(
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_captchas',
|
||||
'comment' => _('reglages:: Utilisation de l\'api recpatcha'),
|
||||
'default' => false,
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_captcha_public_key',
|
||||
'comment' => _('reglages:: clef publique recaptcha'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_captcha_private_key',
|
||||
'comment' => _('reglages:: clef privee recaptcha'),
|
||||
'default' => ''
|
||||
@@ -175,26 +165,26 @@ $GV = array(
|
||||
'section' => _('GV::section:: Connectivite a Youtube'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_youtube_api',
|
||||
'comment' => sprintf(_('reglages:: Utiliser l\'api youtube, voir %s, <br/> mettre la callback a WEBSITE_URL/prod/bridge/callback/youtube'), $youtube_console_url),
|
||||
'default' => false,
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_youtube_client_id',
|
||||
'comment' => _('reglages:: Youtube client id'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_youtube_client_secret',
|
||||
'comment' => _('reglages:: Youtube clientsecret'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_youtube_dev_key',
|
||||
'comment' => sprintf(_('reglages:: Youtube cle developpeur, voir %s'), $dashboard_youtube),
|
||||
'default' => ''
|
||||
@@ -204,20 +194,20 @@ $GV = array(
|
||||
'section' => _('GV::section:: Connectivite a FlickR'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_flickr_api',
|
||||
'comment' => sprintf(_('reglages:: Utiliser l api flickr, voir %s, puis set la callback a %s'), $create_api_flickr, $flickr_callback),
|
||||
'default' => false,
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_flickr_client_id',
|
||||
'comment' => _('reglages:: FlickR client id'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_flickr_client_secret',
|
||||
'comment' => _('reglages:: FlickR client secret'),
|
||||
'default' => ''
|
||||
@@ -227,20 +217,20 @@ $GV = array(
|
||||
'section' => _('GV::section:: Connectivite a Dailymotion'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_dailymotion_api',
|
||||
'comment' => sprintf(_('reglages:: Utiliser l api dailymotion, voir %s, puis set la callback a %s'), $create_api_dailymotion, $dailymotion_callback),
|
||||
'default' => false,
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_dailymotion_client_id',
|
||||
'comment' => _('reglages:: dailymotion client id'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_dailymotion_client_secret',
|
||||
'comment' => _('reglages:: dailymotion client secret'),
|
||||
'default' => ''
|
||||
@@ -250,7 +240,7 @@ $GV = array(
|
||||
'section' => _('GV::section:: Client Phraseanet API'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_client_navigator',
|
||||
'comment' => _('reglages:: Authoriser l\'application smartphone *Phraseanet Navigator* à se connecter sur cette instance'),
|
||||
'default' => false,
|
||||
@@ -261,7 +251,7 @@ $GV = array(
|
||||
'section' => _('GV::section:: Gestionnaire d\'evenements'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'enum_multi',
|
||||
'type' => \registry::TYPE_ENUM_MULTI,
|
||||
'name' => 'GV_events',
|
||||
'default' => null,
|
||||
'comment' => _('reglages:: Evenements'),
|
||||
@@ -269,7 +259,7 @@ $GV = array(
|
||||
'default' => array_keys($eventsmanager->list_all('event'))
|
||||
),
|
||||
array(
|
||||
'type' => 'enum_multi',
|
||||
'type' => \registry::TYPE_ENUM_MULTI,
|
||||
'name' => 'GV_notifications',
|
||||
'default' => null,
|
||||
'comment' => _('reglages:: Notifications'),
|
||||
@@ -281,7 +271,7 @@ $GV = array(
|
||||
'section' => _('GV::section:: Stockage des documents'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_base_datapath_noweb',
|
||||
'end_slash' => true,
|
||||
'comment' => _('Default path for datas'),
|
||||
@@ -294,31 +284,31 @@ $GV = array(
|
||||
'section' => _('GV::section:: Serveur Sphinx'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_sphinx',
|
||||
'comment' => _('Utiliser Sphinx'),
|
||||
'default' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_sphinx_host',
|
||||
'comment' => _('reglages:: de l\'adresse du serveur sphinx'),
|
||||
'default' => '127.0.0.1'
|
||||
),
|
||||
array(
|
||||
'type' => 'integer',
|
||||
'type' => \registry::TYPE_INTEGER,
|
||||
'name' => 'GV_sphinx_port',
|
||||
'comment' => _('reglages:: port du serveur sphinx'),
|
||||
'default' => 9306
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_sphinx_rt_host',
|
||||
'comment' => _('reglages:: de l\'adresse du serveur RT sphinx'),
|
||||
'default' => '127.0.0.1'
|
||||
),
|
||||
array(
|
||||
'type' => 'integer',
|
||||
'type' => \registry::TYPE_INTEGER,
|
||||
'name' => 'GV_sphinx_rt_port',
|
||||
'comment' => _('reglages:: port du serveur RT sphinx'),
|
||||
'default' => 9308
|
||||
@@ -329,7 +319,7 @@ $GV = array(
|
||||
'section' => _('Phrasea Engine'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'enum',
|
||||
'type' => \registry::TYPE_ENUM,
|
||||
'name' => 'GV_phrasea_sort',
|
||||
'comment' => _('Default results sort'),
|
||||
'default' => '',
|
||||
@@ -340,66 +330,59 @@ $GV = array(
|
||||
'section' => _('GV::section:: Executables externes'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_modxsendfile',
|
||||
'comment' => _('reglages:: mod_xsendfileapache active'),
|
||||
'default' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_X_Accel_Redirect',
|
||||
'comment' => _('reglages:: Path en acces pour X-Accel-Redirect (NginX Uniquement)'),
|
||||
'default' => '',
|
||||
'end_slash' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_X_Accel_Redirect_mount_point',
|
||||
'comment' => _('reglages:: Point de montage pour X-Accel-Redirect (NginX Uniquement)'),
|
||||
'default' => 'noweb',
|
||||
'end_slash' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_h264_streaming',
|
||||
'comment' => _('reglages:: activation du stream h264 via mod_token - attention, necessite les modules apache mod_h264_streaming et mod_auth_token'),
|
||||
'default' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_mod_auth_token_directory',
|
||||
'end_slash' => true,
|
||||
'comment' => _('reglages:: point de montage du dossier protege via auth_token'),
|
||||
'default' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_mod_auth_token_directory_path',
|
||||
'end_slash' => false,
|
||||
'comment' => _('reglages:: path complet du dossier protege via auth_token'),
|
||||
'default' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_mod_auth_token_passphrase',
|
||||
'comment' => _('reglages:: passphrase du mod_auth_token (definie dans le fichier de configuration apache)'),
|
||||
'default' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'name' => 'GV_cli',
|
||||
'comment' => _('reglages:: executable PHP CLI'),
|
||||
'default' => '',
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_PHP_INI',
|
||||
'comment' => _('reglages:: path du php.ini specifique (vide si non utilise)'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'enum',
|
||||
'type' => \registry::TYPE_ENUM,
|
||||
'name' => 'GV_imagine_driver',
|
||||
'default' => '',
|
||||
'comment' => _('Imagine driver'),
|
||||
@@ -411,79 +394,13 @@ $GV = array(
|
||||
)
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'name' => 'GV_imagick',
|
||||
'default' => '',
|
||||
'comment' => _('reglages:: chemin de l\'executable convert'),
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'name' => 'GV_pathcomposite',
|
||||
'default' => '',
|
||||
'comment' => _('reglages:: chemin de l\'executable composite'),
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'name' => 'GV_swf_extract',
|
||||
'comment' => _('reglages:: chemin de l\'executable swfextract'),
|
||||
'default' => '',
|
||||
'required' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'name' => 'GV_pdf2swf',
|
||||
'comment' => _('reglages:: chemin de l\'executable pdf2swf'),
|
||||
'default' => '',
|
||||
'required' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'name' => 'GV_swf_render',
|
||||
'comment' => _('reglages:: chemin de l\'executable swfrender'),
|
||||
'default' => '',
|
||||
'required' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'name' => 'GV_unoconv',
|
||||
'comment' => _('reglages:: chemin de l\'executable unoconv'),
|
||||
'default' => '',
|
||||
'required' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'name' => 'GV_ffmpeg',
|
||||
'comment' => _('reglages:: chemin de l\'executable FFmpeg'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'integer',
|
||||
'type' => \registry::TYPE_INTEGER,
|
||||
'name' => 'GV_ffmpeg_threads',
|
||||
'comment' => _('Number of threads allowed for FFmpeg'),
|
||||
'default' => 2
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'name' => 'GV_ffprobe',
|
||||
'comment' => _('FFprobe path'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'name' => 'GV_mp4box',
|
||||
'comment' => _('reglages:: chemin de l\'executable MP4Box'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'name' => 'GV_pdftotext',
|
||||
'comment' => _('reglages:: chemin de l\'executable pdftotext (xpdf)'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'integer',
|
||||
'type' => \registry::TYPE_INTEGER,
|
||||
'name' => 'GV_pdfmaxpages',
|
||||
'comment' => _('reglages:: nombre maximum de page a extraire (PDF)'),
|
||||
'default' => 5
|
||||
@@ -493,13 +410,13 @@ $GV = array(
|
||||
'section' => _('GV::section:: Repertoires utilitaires'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_filesOwner',
|
||||
'comment' => _('reglages:: proprietaire des fichiers'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_filesGroup',
|
||||
'comment' => _('reglages:: groupes des fichiers'),
|
||||
'default' => ''
|
||||
@@ -509,34 +426,34 @@ $GV = array(
|
||||
'section' => _('GV::section:: Configuration principale'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_adminMail',
|
||||
'comment' => _('reglages:: email de l\'administrateur'),
|
||||
'default' => 'support@alchemy.fr'
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_view_bas_and_coll',
|
||||
'comment' => _('reglages:: Afficher le nom des bases et des collections'),
|
||||
'default' => true,
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_choose_export_title',
|
||||
'comment' => _('reglages:: activer le choix du nom de fichier a l\'export'),
|
||||
'default' => false,
|
||||
'required' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'enum',
|
||||
'type' => \registry::TYPE_ENUM,
|
||||
'name' => 'GV_default_export_title',
|
||||
'comment' => _('reglages:: choix par defaut des noms de fichier a l\'export'),
|
||||
'default' => 'support@alchemy.fr',
|
||||
'available' => array('title' => 'Titre du document', 'original' => 'Nom original')
|
||||
),
|
||||
array(
|
||||
'type' => 'enum',
|
||||
'type' => \registry::TYPE_ENUM,
|
||||
'name' => 'GV_social_tools',
|
||||
'comment' => _('reglages:: Active les partages Facebook et Twitter'),
|
||||
'available' => array('none' => 'Disabled', 'publishers' => 'Publishers', 'all' => 'Activated'),
|
||||
@@ -549,7 +466,7 @@ $GV = array(
|
||||
'rolled' => true,
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'enum',
|
||||
'type' => \registry::TYPE_ENUM,
|
||||
'name' => 'GV_home_publi',
|
||||
'comment' => _('reglages:: presentation sur la home'),
|
||||
'default' => 'COOLIRIS',
|
||||
@@ -562,19 +479,19 @@ $GV = array(
|
||||
'rolled' => true,
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'integer',
|
||||
'type' => \registry::TYPE_INTEGER,
|
||||
'name' => 'GV_min_letters_truncation',
|
||||
'comment' => _('reglages:: Nombre minimal de lettre avec la troncature (Recherche)'),
|
||||
'default' => 1
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_defaultQuery',
|
||||
'comment' => _('reglages:: Question par defaut'),
|
||||
'default' => 'all'
|
||||
),
|
||||
array(
|
||||
'type' => 'enum',
|
||||
'type' => \registry::TYPE_ENUM,
|
||||
'name' => 'GV_defaultQuery_type',
|
||||
'comment' => _('reglages:: type de document cherches par defaut e l\'ouverture du site'),
|
||||
'available' => array('0' => 'Documents', '1' => 'Regroupements'),
|
||||
@@ -586,7 +503,7 @@ $GV = array(
|
||||
'rolled' => true,
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_anonymousReport',
|
||||
'comment' => _('reglages:: report anonyme (masque les infos concernant les utilisateurs)'),
|
||||
'default' => false,
|
||||
@@ -598,22 +515,22 @@ $GV = array(
|
||||
'rolled' => true,
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_thesaurus',
|
||||
'comment' => _('reglages:: Activation de l\'outil thesaurus'),
|
||||
'default' => true
|
||||
), array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_multiAndReport',
|
||||
'comment' => _('reglages:: Activation du Mode MultiDOC'),
|
||||
'default' => true
|
||||
), array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_seeOngChgDoc',
|
||||
'comment' => _('reglages:: Substitution de HD d\'un record '),
|
||||
'default' => false
|
||||
), array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_seeNewThumb',
|
||||
'comment' => _('reglages:: Substitution de thumbnail d\'un record'),
|
||||
'default' => false
|
||||
@@ -624,49 +541,49 @@ $GV = array(
|
||||
'section' => _('GV::section:: Envois de mails'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_defaulmailsenderaddr',
|
||||
'comment' => _('reglages:: Expediteur mail par defaut'),
|
||||
'default' => 'phraseanet@example.com'
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_smtp',
|
||||
'comment' => _('reglages:: Utilisation d\'un serveur SMTP'),
|
||||
'default' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_smtp_auth',
|
||||
'comment' => _('reglages:: Activation de l\'authentification smtp'),
|
||||
'default' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_smtp_host',
|
||||
'comment' => _('reglages:: Hote SMTP'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_smtp_port',
|
||||
'comment' => _('reglages:: Port SMTP'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_smtp_secure',
|
||||
'comment' => _('reglages:: Utiliser une conenction SSL'),
|
||||
'default' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_smtp_user',
|
||||
'comment' => _('reglages:: User SMTP'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_smtp_password',
|
||||
'comment' => _('reglages:: Mot de passe SMTP'),
|
||||
'default' => ''
|
||||
@@ -676,13 +593,13 @@ $GV = array(
|
||||
'section' => _('GV::section:: Exports FTP'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_activeFTP',
|
||||
'comment' => _('reglages:: active la possibilite d\'exports FTP ou non (onglet dans multiexports)'),
|
||||
'default' => false
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_ftp_for_user',
|
||||
'comment' => _('reglages:: Donne ou non export FTP aux utilisateurs ou e l\'admin uniquement'),
|
||||
'default' => false
|
||||
@@ -692,75 +609,75 @@ $GV = array(
|
||||
'section' => _('GV::section:: Configuration du client'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'integer',
|
||||
'type' => \registry::TYPE_INTEGER,
|
||||
'name' => 'GV_download_max',
|
||||
'comment' => _('Maximum megabytes allowed in download (if request is bigger, then mail is still available)'),
|
||||
'default' => 120
|
||||
),
|
||||
array(
|
||||
'type' => 'integer',
|
||||
'type' => \registry::TYPE_INTEGER,
|
||||
'name' => 'GV_ong_search',
|
||||
'comment' => _('reglages:: position de l\'onglet de recherche'),
|
||||
'default' => 1
|
||||
),
|
||||
array(
|
||||
'type' => 'integer',
|
||||
'type' => \registry::TYPE_INTEGER,
|
||||
'name' => 'GV_ong_advsearch',
|
||||
'comment' => _('reglages:: position de l\'onglet de recherche avancee'),
|
||||
'default' => 2
|
||||
),
|
||||
array(
|
||||
'type' => 'integer',
|
||||
'type' => \registry::TYPE_INTEGER,
|
||||
'name' => 'GV_ong_topics',
|
||||
'comment' => _('reglages:: position de l\'onglet des topics'),
|
||||
'default' => 0
|
||||
),
|
||||
array(
|
||||
'type' => 'integer',
|
||||
'type' => \registry::TYPE_INTEGER,
|
||||
'name' => 'GV_ong_actif',
|
||||
'comment' => _('reglages:: numero de l\'onglet actif'),
|
||||
'default' => 1
|
||||
),
|
||||
array(
|
||||
'type' => 'enum',
|
||||
'type' => \registry::TYPE_ENUM,
|
||||
'name' => 'GV_client_render_topics',
|
||||
'comment' => _('reglages:: rendu des topics'),
|
||||
'available' => array('tree' => 'Arbres', 'popups' => 'Menus deroulants'),
|
||||
'default' => 'tree'
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_rollover_reg_preview',
|
||||
'comment' => _('reglages:: Voir le rollover sur les regroupements (fenetre de preview)'),
|
||||
'default' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_rollover_chu',
|
||||
'comment' => _('reglages:: Voir le rollover sur les elements du chutier'),
|
||||
'default' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'enum',
|
||||
'type' => \registry::TYPE_ENUM,
|
||||
'name' => 'GV_client_coll_ckbox',
|
||||
'comment' => _('reglages:: Presentation des collections'),
|
||||
'default' => 'checkbox',
|
||||
'available' => array('popup' => 'Menu deroulant', 'checkbox' => 'case a cocher')
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_viewSizeBaket',
|
||||
'comment' => _('reglages:: Voir taille HD total des doc d\'un chutiers'),
|
||||
'default' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_clientAutoShowProposals',
|
||||
'comment' => _('reglages:: Afficher automatiquement l\'onglet des propositions s\'il y\'en a'),
|
||||
'default' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_needAuth2DL',
|
||||
'comment' => _('reglages:: Il est necessaire d\'etre connecte pour pouvoir telecharger en compte invite'),
|
||||
'default' => true
|
||||
@@ -776,13 +693,13 @@ $GV = array(
|
||||
'section' => _('GV::section:: Parametrage de l\'inscription'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_autoselectDB',
|
||||
'comment' => _('reglages:: A true, cette option descative le choix de selection des bases sur lesquelles on s\'inscrit, et l\'inscription se fait sur toutes les bases ou jai le droit de m\'inscrire'),
|
||||
'default' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_autoregister',
|
||||
'comment' => _('reglages:: Activation de l\'autoinscription'),
|
||||
'default' => false
|
||||
@@ -792,13 +709,13 @@ $GV = array(
|
||||
'section' => _('GV::section:: Configuration du push'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'integer',
|
||||
'type' => \registry::TYPE_INTEGER,
|
||||
'name' => 'GV_validation_reminder',
|
||||
'comment' => _('reglages:: Nombre de jour avant la fin de la validation pour envoie de mail de rappel'),
|
||||
'default' => 2
|
||||
),
|
||||
array(
|
||||
'type' => 'integer',
|
||||
'type' => \registry::TYPE_INTEGER,
|
||||
'name' => 'GV_val_expiration',
|
||||
'comment' => _('reglages:: dure de validite des liens genere pour les validations, si 0 => validite permanente'),
|
||||
'default' => 10
|
||||
@@ -808,37 +725,37 @@ $GV = array(
|
||||
'section' => _('GV::section:: Indexation par les robots'),
|
||||
'vars' => array(
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_homeTitle',
|
||||
'comment' => _('reglages :: Titre de l\'installation'),
|
||||
'default' => 'Phraseanet'
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_metaKeywords',
|
||||
'comment' => _('reglages:: Mots clefs pour l\'indexation des robots de moteurs de recherche'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'text',
|
||||
'type' => \registry::TYPE_TEXT,
|
||||
'name' => 'GV_metaDescription',
|
||||
'comment' => _('reglages :: Description de l\'installation'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'string',
|
||||
'type' => \registry::TYPE_STRING,
|
||||
'name' => 'GV_googleAnalytics',
|
||||
'comment' => _('reglages:: identifiant google analytics'),
|
||||
'default' => ''
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_allow_search_engine',
|
||||
'comment' => _('Allow the website to be indexed by search engines like Google'),
|
||||
'default' => true
|
||||
),
|
||||
array(
|
||||
'type' => 'boolean',
|
||||
'type' => \registry::TYPE_BOOLEAN,
|
||||
'name' => 'GV_display_gcf',
|
||||
'comment' => _('reglages:: Afficher le bandeau Google Chrome Frame'),
|
||||
'default' => true
|
||||
|
@@ -1633,7 +1633,7 @@
|
||||
</field>
|
||||
<field>
|
||||
<name>type</name>
|
||||
<type>enum('string','boolean','array','integer')</type>
|
||||
<type>enum('string','boolean','array','integer','text','binary','timezone','enum_multi','enum')</type>
|
||||
<null></null>
|
||||
<extra></extra>
|
||||
<default>string</default>
|
||||
|
@@ -37,7 +37,7 @@
|
||||
</span>
|
||||
</td>
|
||||
<td class='uploader-icon'>
|
||||
<img src='/skins/icons/html5-logo.jpeg' width="32px" heigh="32px" title="{% trans 'You are using the HTML5 uploader.'%}"/>
|
||||
<img src='/skins/icons/html5-logo.png' width="32px" heigh="32px" title="{% trans 'You are using the HTML5 uploader.'%}"/>
|
||||
</td>
|
||||
<td class="uploader-info">
|
||||
<p>
|
||||
|
@@ -47,16 +47,16 @@ class ApplicationSetupTest extends PhraseanetWebTestCaseAbstract
|
||||
$params = array(
|
||||
'GV_base_datapath_noweb',
|
||||
'GV_ServerName',
|
||||
'GV_cli',
|
||||
'GV_imagick',
|
||||
'GV_pathcomposite',
|
||||
'GV_swf_extract',
|
||||
'GV_pdf2swf',
|
||||
'GV_swf_render',
|
||||
'GV_unoconv',
|
||||
'GV_ffmpeg',
|
||||
'GV_mp4box',
|
||||
'GV_pdftotext',
|
||||
'php_binary',
|
||||
'convert_binary',
|
||||
'composite_binary',
|
||||
'swf_extract_binary',
|
||||
'pdf2swf_binary',
|
||||
'swf_render_binary',
|
||||
'unoconv_binary',
|
||||
'ffmpeg_binary',
|
||||
'mp4box_binary',
|
||||
'pdftotext_binary',
|
||||
);
|
||||
|
||||
$registry = $this->appbox->get_registry();
|
||||
|
@@ -88,33 +88,6 @@ class registryTest extends PhraseanetPHPUnitAbstract
|
||||
$this->object->set('key_test', true, registry::TYPE_BOOLEAN);
|
||||
$this->assertTrue($this->object->get('key_test') === true);
|
||||
|
||||
/**
|
||||
* Set value with type array
|
||||
*/
|
||||
$this->object->set('key_test', 'value1', registry::TYPE_ARRAY);
|
||||
$this->assertTrue($this->object->get('key_test') === array('value1'));
|
||||
|
||||
$this->object->set('key_test', 1, registry::TYPE_ARRAY);
|
||||
$this->assertTrue($this->object->get('key_test') === array(1));
|
||||
|
||||
$this->object->set('key_test', '1', registry::TYPE_ARRAY);
|
||||
$this->assertTrue($this->object->get('key_test') === array('1'));
|
||||
|
||||
$this->object->set('key_test', array('caca'), registry::TYPE_ARRAY);
|
||||
$this->assertTrue($this->object->get('key_test') === array('caca'));
|
||||
|
||||
$this->object->set('key_test', '0', registry::TYPE_ARRAY);
|
||||
$this->assertTrue($this->object->get('key_test') === array('0'));
|
||||
|
||||
$this->object->set('key_test', 0, registry::TYPE_ARRAY);
|
||||
$this->assertTrue($this->object->get('key_test') === array(0));
|
||||
|
||||
$this->object->set('key_test', false, registry::TYPE_ARRAY);
|
||||
$this->assertTrue($this->object->get('key_test') === array(false));
|
||||
|
||||
$this->object->set('key_test', true, registry::TYPE_ARRAY);
|
||||
$this->assertTrue($this->object->get('key_test') === array(true));
|
||||
|
||||
/**
|
||||
* Set value with type enum_multi
|
||||
*/
|
||||
@@ -184,4 +157,14 @@ class registryTest extends PhraseanetPHPUnitAbstract
|
||||
$this->object->un_set('key_test');
|
||||
$this->assertFalse($this->object->is_set('key_test'));
|
||||
}
|
||||
|
||||
public function testGVSit()
|
||||
{
|
||||
$this->assertNotNull($this->object->get('GV_sit'));
|
||||
}
|
||||
public function testGVSitNotModifiable()
|
||||
{
|
||||
$gv_sit = $this->object->get('GV_sit');
|
||||
$this->assertEquals($gv_sit, $this->object->get('GV_sit'));
|
||||
}
|
||||
}
|
||||
|
@@ -164,19 +164,20 @@ foreach ($GV as $section) {
|
||||
|
||||
switch ($value['type']) {
|
||||
|
||||
case 'boolean':
|
||||
case \registry::TYPE_BOOLEAN:
|
||||
$input = '
|
||||
<input class="checkbox" ' . ($readonly ? 'readonly="readonly"' : '') . ' ' . ( $currentValue == '0' ? 'checked="selected"' : '' ) . ' type="radio" name="' . $value['name'] . '" value="False" id="id_' . $value['name'] . '_no" /><label for="id_' . $value['name'] . '_no">False</label>
|
||||
<input class="checkbox" ' . ($readonly ? 'readonly="readonly"' : '') . ' ' . ( $currentValue == '1' ? 'checked="checked"' : '' ) . ' type="radio" name="' . $value['name'] . '" value="True" id="id_' . $value['name'] . '_yes" /><label for="id_' . $value['name'] . '_yes">True</label>
|
||||
';
|
||||
break;
|
||||
case 'string':
|
||||
case \registry::TYPE_BINARY:
|
||||
case \registry::TYPE_STRING:
|
||||
$input = '<input ' . ($readonly ? 'readonly="readonly"' : '') . ' name="' . $value['name'] . '" id="id_' . $value['name'] . '" type="text" value="' . str_replace('"', '"', $currentValue) . '"/>';
|
||||
break;
|
||||
case 'text':
|
||||
case \registry::TYPE_TEXT:
|
||||
$input = '<textarea ' . ($readonly ? 'readonly="readonly"' : '') . ' name="' . $value['name'] . '" id="id_' . $value['name'] . '">' . str_replace('"', '"', $currentValue) . '</textarea>';
|
||||
break;
|
||||
case 'enum':
|
||||
case \registry::TYPE_ENUM:
|
||||
$input = '<select ' . ($readonly ? 'readonly="readonly"' : '') . ' name="' . $value['name'] . '" id="id_' . $value['name'] . '">';
|
||||
if (isset($value['available']) && is_array($value['available'])) {
|
||||
foreach ($value['available'] as $k => $v)
|
||||
@@ -186,7 +187,7 @@ foreach ($GV as $section) {
|
||||
}
|
||||
$input .= '</select>';
|
||||
break;
|
||||
case 'enum_multi':
|
||||
case \registry::TYPE_ENUM_MULTI:
|
||||
if (isset($value['available']) && is_array($value['available'])) {
|
||||
foreach ($value['available'] as $k => $v)
|
||||
$input .= '<input class="checkbox" type="checkbox" name="' . $value['name'] . '[]" ' . ($readonly ? 'readonly="readonly"' : '') . ' value="' . $k . '" ' . ( ( ! is_array($currentValue) || in_array($k, $currentValue)) ? 'checked="checked"' : '' ) . '/><label>' . $v . '</label><br>';
|
||||
@@ -194,16 +195,11 @@ foreach ($GV as $section) {
|
||||
echo '<p style="color:red;">erreur avec la valeur ' . $value['name'] . '</p>';
|
||||
}
|
||||
break;
|
||||
case 'list':
|
||||
|
||||
break;
|
||||
case 'integer':
|
||||
case \registry::TYPE_INTEGER:
|
||||
$input .= '<input ' . ($readonly ? 'readonly="readonly"' : '') . ' name="' . $value['name'] . '" id="id_' . $value['name'] . '" type="text" value="' . $currentValue . '"/>';
|
||||
break;
|
||||
case 'password':
|
||||
$input .= '<input ' . ($readonly ? 'readonly="readonly"' : '') . ' name="' . $value['name'] . '" id="id_' . $value['name'] . '" type="password" value="' . str_replace('"', '\"', stripslashes($currentValue)) . '"/>';
|
||||
break;
|
||||
case 'timezone':
|
||||
case \registry::TYPE_TIMEZONE:
|
||||
if (trim($currentValue) === '') {
|
||||
$datetime = new DateTime();
|
||||
$currentValue = $datetime->getTimezone()->getName();
|
||||
|
@@ -45,9 +45,9 @@ if (defined('PHP_WINDOWS_VERSION_BUILD')) {
|
||||
$nullfile = 'NUL';
|
||||
}
|
||||
|
||||
$phpcli = $registry->get('GV_cli');
|
||||
$phpcli = $registry->get('php_binary');
|
||||
|
||||
$cmd = $phpcli . ' -f ' . $registry->get('GV_RootPath') . "bin/console scheduler:start";
|
||||
$cmd = escapeshellarg($phpcli) . ' -f ' . __DIR__ . "/../../bin/console scheduler:start";
|
||||
|
||||
|
||||
$descriptors[1] = array("file", $nullfile, "a+");
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 755 B |
BIN
www/skins/icons/html5-logo.png
Normal file
BIN
www/skins/icons/html5-logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 910 B |
Reference in New Issue
Block a user