mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-23 18:03:17 +00:00
Merge branch 'PHRAS-2079_Admin_personnalisation_section' of https://github.com/HRavalomanana/Phraseanet into PHRAS-2079_Admin_personnalisation_section
This commit is contained in:
64
Dockerfile
64
Dockerfile
@@ -1,4 +1,5 @@
|
||||
FROM php:7.1-fpm-stretch as phraseanet_prod
|
||||
FROM php:7.1-fpm-stretch as builder
|
||||
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y \
|
||||
@@ -73,7 +74,6 @@ COPY config /var/alchemy/config
|
||||
COPY grammar /var/alchemy/grammar
|
||||
COPY lib /var/alchemy/lib
|
||||
COPY resources /var/alchemy/resources
|
||||
RUN ls -la
|
||||
COPY templates-profiler /var/alchemy/templates-profiler
|
||||
COPY templates /var/alchemy/templates
|
||||
COPY tests /var/alchemy/tests
|
||||
@@ -83,15 +83,69 @@ COPY composer.json /var/alchemy/
|
||||
COPY composer.lock /var/alchemy/
|
||||
COPY gulpfile.js /var/alchemy/
|
||||
COPY Makefile /var/alchemy/
|
||||
COPY package-lock.json /var/alchemy/
|
||||
COPY package.json /var/alchemy/
|
||||
COPY phpunit.xml.dist /var/alchemy/
|
||||
COPY yarn.lock /var/alchemy/
|
||||
RUN ls -la
|
||||
|
||||
RUN make install_composer
|
||||
RUN make clean_assets
|
||||
RUN make install_asset_dependencies
|
||||
RUN make install_assets
|
||||
|
||||
FROM php:7.1-fpm-stretch as phraseanet
|
||||
|
||||
RUN apt-get update \
|
||||
&& apt-get install -y \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
gnupg2 \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends zlib1g-dev \
|
||||
git \
|
||||
ghostscript \
|
||||
gpac \
|
||||
imagemagick \
|
||||
libav-tools \
|
||||
libfreetype6-dev \
|
||||
libicu-dev \
|
||||
libjpeg62-turbo-dev \
|
||||
libmagickwand-dev \
|
||||
libmcrypt-dev \
|
||||
libpng-dev \
|
||||
librabbitmq-dev \
|
||||
libssl-dev \
|
||||
libxslt-dev \
|
||||
libzmq3-dev \
|
||||
locales \
|
||||
mcrypt \
|
||||
supervisor \
|
||||
swftools \
|
||||
unoconv \
|
||||
unzip \
|
||||
xpdf \
|
||||
&& update-locale "LANG=fr_FR.UTF-8 UTF-8" \
|
||||
&& dpkg-reconfigure --frontend noninteractive locales \
|
||||
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
|
||||
&& docker-php-ext-install -j$(nproc) gd \
|
||||
&& docker-php-ext-install zip exif iconv mbstring pcntl sockets xsl intl pdo_mysql gettext bcmath mcrypt \
|
||||
&& pecl install redis amqp-1.9.3 zmq-beta imagick-beta \
|
||||
&& docker-php-ext-enable redis amqp zmq imagick \
|
||||
&& pecl clear-cache \
|
||||
&& docker-php-source delete \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& mkdir -p /var/log/supervisor
|
||||
|
||||
RUN mkdir -p /var/alchemy/logs && chmod 777 /var/alchemy/logs \
|
||||
&& mkdir -p /var/alchemy/cache && chmod 777 /var/alchemy/cache
|
||||
COPY --from=builder [^(www)] /var/alchemy /var/alchemy
|
||||
|
||||
CMD ["php-fpm"]
|
||||
|
||||
FROM nginx:1.15 as phraseanet-nginx
|
||||
|
||||
RUN useradd -u 1000 app
|
||||
|
||||
ADD ./docker/nginx/ /
|
||||
|
||||
COPY --from=builder /var/alchemy/www /var/alchemy/Phraseanet/www
|
||||
|
||||
|
||||
|
5
Vagrantfile
vendored
5
Vagrantfile
vendored
@@ -123,6 +123,11 @@ Vagrant.configure("2") do |config|
|
||||
config.vm.box = "alchemy/Phraseanet-vagrant-dev"
|
||||
#config.vm.box = "ubuntu/trusty64"
|
||||
|
||||
# In case, Phraseanet box, choose the php version
|
||||
# For php 7.0 use box 0.0.1
|
||||
# For php 7.1 use box 0.0.2
|
||||
config.vm.box_version = "0.0.1"
|
||||
|
||||
config.ssh.forward_agent = true
|
||||
config_net(config)
|
||||
|
||||
|
@@ -74,10 +74,10 @@ class PermalinkController extends AbstractDelivery
|
||||
|
||||
public function deliverPermaview(Request $request, $sbas_id, $record_id, $subdef)
|
||||
{
|
||||
return $this->doDeliverPermaview($sbas_id, $record_id, $request->query->get('token'), $subdef);
|
||||
return $this->doDeliverPermaview($sbas_id, $record_id, $request->query->get('token'), $subdef, $request->query->get('t'));
|
||||
}
|
||||
|
||||
private function doDeliverPermaview($sbas_id, $record_id, $token, $subdefName)
|
||||
private function doDeliverPermaview($sbas_id, $record_id, $token, $subdefName, $currentTime = null)
|
||||
{
|
||||
$databox = $this->findDataboxById($sbas_id);
|
||||
$record = $this->retrieveRecord($databox, $token, $record_id, $subdefName);
|
||||
@@ -105,6 +105,7 @@ class PermalinkController extends AbstractDelivery
|
||||
'token' => $token,
|
||||
'record' => $record,
|
||||
'recordUrl' => $information->getUrl(),
|
||||
'currentTime' => $currentTime
|
||||
]);
|
||||
}
|
||||
|
||||
|
@@ -70,6 +70,10 @@ class ArchiveJob extends AbstractJob
|
||||
protected function doJob(JobData $data)
|
||||
{
|
||||
$app = $data->getApplication();
|
||||
|
||||
// quick fix to reconnect if mysql is lost
|
||||
$app->getApplicationBox()->get_connection();
|
||||
|
||||
$task = $data->getTask();
|
||||
|
||||
$settings = simplexml_load_string($task->getSettings());
|
||||
@@ -83,6 +87,9 @@ class ArchiveJob extends AbstractJob
|
||||
|
||||
$databox = $app->findDataboxById($sbasId);
|
||||
|
||||
// quick fix to reconnect if mysql is lost
|
||||
$databox->get_connection();
|
||||
|
||||
$TColls = [];
|
||||
$collection = null;
|
||||
foreach ($databox->get_collections() as $coll) {
|
||||
@@ -562,6 +569,10 @@ class ArchiveJob extends AbstractJob
|
||||
|
||||
private function archive(Application $app, \databox $databox, \DOMDOcument $dom, \DOMElement $node, $path, $path_archived, $path_error, $depth, $moveError, $moveArchived, $stat0, $stat1)
|
||||
{
|
||||
// quick fix to reconnect if mysql is lost
|
||||
$app->getApplicationBox()->get_connection();
|
||||
$databox->get_connection();
|
||||
|
||||
if ($node->getAttribute('temperature') == 'hot') {
|
||||
return;
|
||||
}
|
||||
@@ -820,6 +831,10 @@ class ArchiveJob extends AbstractJob
|
||||
|
||||
private function archiveGrp(Application $app, \databox $databox, \DOMDocument $dom, \DOMElement $node, $path, $path_archived, $path_error, array &$nodesToDel, $moveError, $moveArchived, $stat0, $stat1)
|
||||
{
|
||||
// quick fix to reconnect if mysql is lost
|
||||
$app->getApplicationBox()->get_connection();
|
||||
$databox->get_connection();
|
||||
|
||||
$xpath = new \DOMXPath($dom);
|
||||
|
||||
// grp folders stay in place
|
||||
@@ -984,6 +999,10 @@ class ArchiveJob extends AbstractJob
|
||||
|
||||
public function createStory(Application $app, \collection $collection, $pathfile, $captionFile, $stat0, $stat1)
|
||||
{
|
||||
// quick fix to reconnect if mysql is lost
|
||||
$app->getApplicationBox()->get_connection();
|
||||
$databox->get_connection();
|
||||
|
||||
$status = \databox_status::operation_or($stat0, $stat1);
|
||||
|
||||
$media = $app->getMediaFromUri($pathfile);
|
||||
@@ -1032,6 +1051,10 @@ class ArchiveJob extends AbstractJob
|
||||
*/
|
||||
public function createRecord(Application $app, \collection $collection, $pathfile, $captionFile, $grp_rid, $force, $stat0, $stat1)
|
||||
{
|
||||
// quick fix to reconnect if mysql is lost
|
||||
$app->getApplicationBox()->get_connection();
|
||||
$collection->get_connection();
|
||||
|
||||
$status = \databox_status::operation_or($stat0, $stat1);
|
||||
|
||||
$media = $app->getMediaFromUri($pathfile);
|
||||
@@ -1097,6 +1120,10 @@ class ArchiveJob extends AbstractJob
|
||||
*/
|
||||
private function archiveFilesToGrp(Application $app, \databox $databox, \DOMDocument $dom, \DOMElement $node, $path, $path_archived, $path_error, $grp_rid, $stat0, $stat1, $moveError, $moveArchived)
|
||||
{
|
||||
// quick fix to reconnect if mysql is lost
|
||||
$app->getApplicationBox()->get_connection();
|
||||
$databox->get_connection();
|
||||
|
||||
$nodesToDel = [];
|
||||
for ($n = $node->firstChild; $n; $n = $n->nextSibling) {
|
||||
if (!$this->isStarted()) {
|
||||
@@ -1134,6 +1161,10 @@ class ArchiveJob extends AbstractJob
|
||||
*/
|
||||
private function archiveFile(Application $app, \databox $databox, \DOMDocument $dom, \DOMElement $node, $path, $path_archived, $path_error, array &$nodesToDel, $grp_rid, $stat0, $stat1, $moveError, $moveArchived)
|
||||
{
|
||||
// quick fix to reconnect if mysql is lost
|
||||
$app->getApplicationBox()->get_connection();
|
||||
$databox->get_connection();
|
||||
|
||||
$match = $node->getAttribute('match');
|
||||
|
||||
if ($match == '*') {
|
||||
@@ -1188,6 +1219,10 @@ class ArchiveJob extends AbstractJob
|
||||
*/
|
||||
private function archiveFileAndCaption(Application $app, \databox $databox, \DOMDocument $dom, \DOMElement $node, \DOMElement $captionFileNode = null, $path, $path_archived, $path_error, $grp_rid, array &$nodesToDel, $stat0, $stat1, $moveError, $moveArchived)
|
||||
{
|
||||
// quick fix to reconnect if mysql is lost
|
||||
$app->getApplicationBox()->get_connection();
|
||||
$databox->get_connection();
|
||||
|
||||
$file = $node->getAttribute('name');
|
||||
$cid = $node->getAttribute('cid');
|
||||
$captionFileName = $captionFileNode ? $captionFileNode->getAttribute('name') : null;
|
||||
@@ -1361,6 +1396,9 @@ class ArchiveJob extends AbstractJob
|
||||
*/
|
||||
protected function getLazaretSession(Application $app)
|
||||
{
|
||||
// quick fix to reconnect if mysql is lost
|
||||
$app->getApplicationBox()->get_connection();
|
||||
|
||||
$lazaretSession = new LazaretSession();
|
||||
|
||||
$app['orm.em']->persist($lazaretSession);
|
||||
|
@@ -7,12 +7,12 @@
|
||||
# - server
|
||||
# - repositories
|
||||
# - vagrant_local
|
||||
# - nginx
|
||||
- nginx
|
||||
# - mariadb
|
||||
# - elasticsearch
|
||||
# - rabbitmq
|
||||
# - php
|
||||
# - xdebug
|
||||
- xdebug
|
||||
# - composer
|
||||
# - mailcatcher
|
||||
# - node
|
||||
|
@@ -36,7 +36,7 @@
|
||||
lang: "{{ app.locale }}",
|
||||
baseUrl: '{{ app['request'].getUriForPath('/') }}',
|
||||
basePath: '{{ app.request.basePath|e('js') }}',
|
||||
recordUrl: '{{ url('alchemy_embed_view', {url: recordUrl|trim, autoplay: autoplay|default('false') }) }}',
|
||||
recordUrl: '{{ url('alchemy_embed_view', {url: recordUrl|trim, autoplay: autoplay|default('false'), t: currentTime|trim }) | e('js')}}',
|
||||
debug: {% if app.debug == true %}true{% else %}false{% endif %}
|
||||
});
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user