mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-07 18:14:35 +00:00
Merge branch 'master-alchemy' into PHRAS-1512_PORT_PDFJS_TO_4.1
This commit is contained in:
17
README.md
17
README.md
@@ -1,19 +1,21 @@
|
||||
Phraseanet 4.0 - Digital Asset Management application
|
||||
=====================================================
|
||||
|
||||
[](http://travis-ci.org/alchemy-fr/Phraseanet)
|
||||
|
||||
#Features :
|
||||
|
||||
|
||||
[](https://circleci.com/gh/alchemy-fr/Phraseanet/tree/master)
|
||||
# Features :
|
||||
|
||||
- Metadata Management (include Thesaurus and DublinCore Mapping)
|
||||
- RestFull APIS (See Developer Documentation https://docs.phraseanet.com/Devel)
|
||||
- Bridge to Youtube/Dailymotion/Flickr
|
||||
|
||||
#Documentation :
|
||||
# Documentation :
|
||||
|
||||
https://docs.phraseanet.com/
|
||||
|
||||
#Installation :
|
||||
# Installation :
|
||||
|
||||
You **must** not download the source from GitHub, but download a packaged version here :
|
||||
|
||||
@@ -21,12 +23,15 @@ https://www.phraseanet.com/download/
|
||||
|
||||
And follow the install steps described at https://docs.phraseanet.com/Admin/
|
||||
|
||||
#Development :
|
||||
# Development :
|
||||
|
||||
For development purpose Phraseanet is shipped with ready to use development environments using vagrant.
|
||||
|
||||
See https://docs.phraseanet.com/Devel/
|
||||
|
||||
#License :
|
||||
# License :
|
||||
|
||||
Phraseanet is licensed under GPL-v3 license.
|
||||
|
||||
|
||||
[](http://travis-ci.org/alchemy-fr/Phraseanet)
|
||||
|
@@ -48,13 +48,21 @@ class BasketController extends Controller
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return EntityManagerInterface
|
||||
*/
|
||||
private function getEntityManager()
|
||||
{
|
||||
return $this->app['orm.em'];
|
||||
}
|
||||
|
||||
public function createBasket(Request $request)
|
||||
{
|
||||
$basket = new Basket();
|
||||
|
||||
$basket->setName($request->request->get('name', ''));
|
||||
$basket->setUser($this->getAuthenticatedUser());
|
||||
$basket->setDescription($request->request->get('desc'));
|
||||
$basket->setDescription($request->request->get('description'));
|
||||
|
||||
$records = RecordsRequest::fromRequest($this->app, $request, true);
|
||||
|
||||
@@ -77,6 +85,14 @@ class BasketController extends Controller
|
||||
return $this->app->redirectPath('prod_baskets_basket', ['basket' => $basket->getId()]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @return BasketManipulator
|
||||
*/
|
||||
private function getBasketManipulator()
|
||||
{
|
||||
return $this->app['manipulator.basket'];
|
||||
}
|
||||
|
||||
public function deleteBasket(Request $request, Basket $basket)
|
||||
{
|
||||
$this->getBasketManipulator()->removeBasket($basket);
|
||||
@@ -255,20 +271,4 @@ class BasketController extends Controller
|
||||
{
|
||||
return $this->render('prod/Baskets/Create.html.twig');
|
||||
}
|
||||
|
||||
/**
|
||||
* @return EntityManagerInterface
|
||||
*/
|
||||
private function getEntityManager()
|
||||
{
|
||||
return $this->app['orm.em'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return BasketManipulator
|
||||
*/
|
||||
private function getBasketManipulator()
|
||||
{
|
||||
return $this->app['manipulator.basket'];
|
||||
}
|
||||
}
|
||||
|
@@ -950,6 +950,14 @@ class ThesaurusXmlHttpController extends Controller
|
||||
return [$term, $context];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \unicode
|
||||
*/
|
||||
private function getUnicode()
|
||||
{
|
||||
return $this->app['unicode'];
|
||||
}
|
||||
|
||||
private function getBranchesHTML($bid, DOMElement $srcnode, &$html, $depth)
|
||||
{
|
||||
$tid = $srcnode->getAttribute('id');
|
||||
@@ -1088,6 +1096,42 @@ class ThesaurusXmlHttpController extends Controller
|
||||
return json_encode($ret, JSON_PRETTY_PRINT);
|
||||
}
|
||||
|
||||
private function getBrancheJson($bid, DOMElement $srcnode, &$ret, $depth)
|
||||
{
|
||||
$tid = $srcnode->getAttribute('id');
|
||||
$nts = 0;
|
||||
$allsy = array();
|
||||
for ($n = $srcnode->firstChild; $n; $n = $n->nextSibling) {
|
||||
if ($n->nodeName == 'sy') {
|
||||
$t = $n->getAttribute('v');
|
||||
$allsy[] = array(
|
||||
'id' => $n->getAttribute('id'),
|
||||
't' => $t,
|
||||
'lng' => $n->getAttribute('lng'),
|
||||
'bold' => (bool)$n->getAttribute('bold'),
|
||||
);
|
||||
} elseif ($n->nodeName == 'te') {
|
||||
$nts++;
|
||||
}
|
||||
}
|
||||
|
||||
$nret = array(
|
||||
'id' => $tid,
|
||||
'nts' => $nts,
|
||||
'synonyms' => $allsy,
|
||||
'children' => array(),
|
||||
);
|
||||
|
||||
for ($n = $srcnode->firstChild; $n; $n = $n->nextSibling) {
|
||||
if ($n->nodeName == 'te') {
|
||||
if ($n->getAttribute('open')) {
|
||||
$nret['children'][] = $this->getBrancheJson($bid, $n, $ret['children'], $depth + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $nret;
|
||||
}
|
||||
|
||||
public function openBranchesXml(Request $request)
|
||||
{
|
||||
@@ -1160,43 +1204,6 @@ class ThesaurusXmlHttpController extends Controller
|
||||
return new Response($zhtml, 200, array('Content-Type' => 'text/xml'));
|
||||
}
|
||||
|
||||
private function getBrancheJson($bid, DOMElement $srcnode, &$ret, $depth)
|
||||
{
|
||||
$tid = $srcnode->getAttribute('id');
|
||||
$nts = 0;
|
||||
$allsy = array();
|
||||
for ($n = $srcnode->firstChild; $n; $n = $n->nextSibling) {
|
||||
if ($n->nodeName == 'sy') {
|
||||
$t = $n->getAttribute('v');
|
||||
$allsy[] = array(
|
||||
'id' => $n->getAttribute('id'),
|
||||
't' => $t,
|
||||
'lng' => $n->getAttribute('lng'),
|
||||
'bold' => (bool)$n->getAttribute('bold'),
|
||||
);
|
||||
} elseif ($n->nodeName == 'te') {
|
||||
$nts++;
|
||||
}
|
||||
}
|
||||
|
||||
$nret = array(
|
||||
'id' => $tid,
|
||||
'nts' => $nts,
|
||||
'synonyms' => $allsy,
|
||||
'children' => array(),
|
||||
);
|
||||
|
||||
for ($n = $srcnode->firstChild; $n; $n = $n->nextSibling) {
|
||||
if ($n->nodeName == 'te') {
|
||||
if ($n->getAttribute('open')) {
|
||||
$nret['children'][] = $this->getBrancheJson($bid, $n, $ret['children'], $depth + 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $nret;
|
||||
}
|
||||
|
||||
private function getBrancheXML($bid, DOMElement $srcnode, &$html, $depth)
|
||||
{
|
||||
$tid = $srcnode->getAttribute('id');
|
||||
@@ -1428,21 +1435,26 @@ class ThesaurusXmlHttpController extends Controller
|
||||
|
||||
$html = '';
|
||||
$sbid = (int) $request->get('sbid');
|
||||
$type = $request->get('typ');
|
||||
|
||||
try {
|
||||
$databox = $this->findDataboxById($sbid);
|
||||
|
||||
if ($type === "CT") {
|
||||
$dom = $databox->get_dom_cterms();
|
||||
$html = "" . '<LI id="CX_P.' . $sbid . '.C" class="expandable">' . "\n";
|
||||
} else {
|
||||
$dom = $databox->get_dom_thesaurus();
|
||||
$html = "" . '<LI id="TX_P.' . $sbid . '.T" class="expandable">' . "\n";
|
||||
}
|
||||
|
||||
|
||||
$html .= "\t" . '<div class="hitarea expandable-hitarea"></div>' . "\n";
|
||||
$html .= "\t" . '<span>' . \phrasea::sbas_labels($sbid, $this->app) . '</span>' . "\n";
|
||||
|
||||
if ($request->get('t')) {
|
||||
$dom_struct = null;
|
||||
if ($request->get('field') != '') {
|
||||
$domth = $databox->get_dom_thesaurus();
|
||||
$dom_struct = $databox->get_dom_structure();
|
||||
} else {
|
||||
$domth = $databox->get_dom_thesaurus();
|
||||
}
|
||||
|
||||
$q = null;
|
||||
@@ -1455,12 +1467,16 @@ class ThesaurusXmlHttpController extends Controller
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// search in the whole thesaurus
|
||||
$q = '/thesaurus';
|
||||
// search in the whole thesaurus or candidate
|
||||
if ($request->get('id') === "T") {
|
||||
$q = "/thesaurus";
|
||||
} else {
|
||||
$q = "/cterms";
|
||||
}
|
||||
}
|
||||
|
||||
if (($q !== null) && $domth) {
|
||||
$xpath = new \DOMXPath($domth);
|
||||
if (($q !== null) && $dom) {
|
||||
$xpath = new \DOMXPath($dom);
|
||||
|
||||
$t = $this->splitTermAndContext($request->get('t'));
|
||||
$unicode = $this->getUnicode();
|
||||
@@ -1481,7 +1497,7 @@ class ThesaurusXmlHttpController extends Controller
|
||||
}
|
||||
}
|
||||
|
||||
$this->getHTMLTerm($sbid, $lng, $domth->documentElement, $html);
|
||||
$this->getHTMLTerm($type, $sbid, $lng, $dom->documentElement, $html);
|
||||
}
|
||||
} else {
|
||||
$html .= "\t" . '<ul style="display: none;">loading</ul>' . "\n";
|
||||
@@ -1495,12 +1511,96 @@ class ThesaurusXmlHttpController extends Controller
|
||||
return $this->app->json(['parm' => [
|
||||
'sbid' => $request->get('sbid'),
|
||||
't' => $request->get('t'),
|
||||
'typ' => $request->get('typ'),
|
||||
'id' => $request->get('id'),
|
||||
'field' => $request->get('field'),
|
||||
'lng' => $request->get('lng'),
|
||||
'debug' => $request->get('debug'),
|
||||
], 'html' => $html]);
|
||||
}
|
||||
|
||||
private function getHTMLTerm($type, $sbid, $lng, DOMElement $srcnode, &$html, $depth = 0)
|
||||
{
|
||||
$tid = $srcnode->getAttribute('id');
|
||||
|
||||
// let's work on each 'te' (=ts) subnode
|
||||
$nts = 0;
|
||||
$ntsopened = 0;
|
||||
$tts = [];
|
||||
for ($n = $srcnode->firstChild; $n; $n = $n->nextSibling) {
|
||||
if ($n->nodeName == 'te') {
|
||||
if ($n->getAttribute('open')) {
|
||||
$key0 = null; // key of the sy in the current language (or key of the first sy if we can't find good lng)
|
||||
$nts0 = 0; // count of ts under this term
|
||||
|
||||
$dbname = \phrasea::sbas_labels($sbid, $this->app);
|
||||
$label = $this->buildBranchLabel($dbname, $lng, $n, $key0, $nts0);
|
||||
|
||||
for ($uniq = 0; $uniq < 9999; $uniq++) {
|
||||
if (!isset($tts[$key0 . '_' . $uniq]))
|
||||
break;
|
||||
}
|
||||
$tts[$key0 . '_' . $uniq] = [
|
||||
/** @Ignore */
|
||||
'label' => $label,
|
||||
'nts' => $nts0,
|
||||
'n' => $n
|
||||
];
|
||||
$ntsopened++;
|
||||
}
|
||||
$nts++;
|
||||
}
|
||||
}
|
||||
|
||||
if ($nts > 0) {
|
||||
$tab = str_repeat("\t", 1 + $depth * 2);
|
||||
|
||||
|
||||
if ($ntsopened == 0) {
|
||||
$html .= $tab . '<UL style="display:none">' . "\n";
|
||||
$html .= $tab . '</UL>' . "\n";
|
||||
} else {
|
||||
$field0 = $srcnode->getAttribute('field');
|
||||
if ($field0) {
|
||||
$field0 = 'field="' . $field0 . '"';
|
||||
}
|
||||
$html .= $tab . '<UL ' . $field0 . '>' . "\n";
|
||||
|
||||
// dump every ts
|
||||
/** @var DOMElement[] $ts */
|
||||
foreach ($tts as $ts) {
|
||||
$class = '';
|
||||
if ($ts['nts'] > 0) {
|
||||
$class .= ( $class == '' ? '' : ' ') . 'expandable';
|
||||
}
|
||||
if (--$ntsopened == 0) {
|
||||
$class .= ( $class == '' ? '' : ' ') . 'last';
|
||||
}
|
||||
|
||||
$tid = $ts['n']->getAttribute('id');
|
||||
|
||||
if($type === 'TH') {
|
||||
$html .= $tab . "\t" . '<LI id="TX_P.' . $sbid . '.' . $tid . '" class="' . $class . '">' . "\n";
|
||||
}else {
|
||||
$html .= $tab . "\t" . '<LI id="CX_P.' . $sbid . '.' . $tid . '" class="' . $class . '">' . "\n";
|
||||
}
|
||||
|
||||
if ($ts['nts'] > 0) {
|
||||
$html .= $tab . "\t\t" . '<div class="hitarea expandable-hitarea" />' . "\n";
|
||||
} else {
|
||||
$html .= $tab . "\t\t" . '<div />' . "\n";
|
||||
}
|
||||
$html .= $tab . "\t\t" . '<span>' . $ts['label'] . '</span>' . "\n";
|
||||
|
||||
$this->getHTMLTerm($type, $sbid, $lng, $ts['n'], $html, $depth + 1);
|
||||
|
||||
$html .= $tab . "\t" . '</LI>' . "\n";
|
||||
}
|
||||
$html .= $tab . '</UL>' . "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private function buildTermLabel($language, DOMElement $n, &$key0, &$nts0)
|
||||
{
|
||||
$lngfound = false; // true when wet met a first synonym in the current language
|
||||
@@ -1542,83 +1642,4 @@ class ThesaurusXmlHttpController extends Controller
|
||||
|
||||
return $label;
|
||||
}
|
||||
|
||||
private function getHTMLTerm($sbid, $lng, DOMElement $srcnode, &$html, $depth = 0)
|
||||
{
|
||||
$tid = $srcnode->getAttribute('id');
|
||||
|
||||
// let's work on each 'te' (=ts) subnode
|
||||
$nts = 0;
|
||||
$ntsopened = 0;
|
||||
$tts = [];
|
||||
for ($n = $srcnode->firstChild; $n; $n = $n->nextSibling) {
|
||||
if ($n->nodeName == 'te') {
|
||||
if ($n->getAttribute('open')) {
|
||||
$key0 = null; // key of the sy in the current language (or key of the first sy if we can't find good lng)
|
||||
$nts0 = 0; // count of ts under this term
|
||||
|
||||
$label = $this->buildTermLabel($lng, $n, $key0, $nts0);
|
||||
|
||||
for ($uniq = 0; $uniq < 9999; $uniq++) {
|
||||
if (!isset($tts[$key0 . '_' . $uniq]))
|
||||
break;
|
||||
}
|
||||
$tts[$key0 . '_' . $uniq] = [
|
||||
/** @Ignore */
|
||||
'label' => $label,
|
||||
'nts' => $nts0,
|
||||
'n' => $n
|
||||
];
|
||||
$ntsopened++;
|
||||
}
|
||||
$nts++;
|
||||
}
|
||||
}
|
||||
|
||||
if ($nts > 0) {
|
||||
$tab = str_repeat("\t", 1 + $depth * 2);
|
||||
|
||||
|
||||
if ($ntsopened == 0) {
|
||||
$html .= $tab . '<UL style="display:none">' . "\n";
|
||||
$html .= $tab . '</UL>' . "\n";
|
||||
} else {
|
||||
$html .= $tab . '<UL>' . "\n";
|
||||
// dump every ts
|
||||
/** @var DOMElement[] $ts */
|
||||
foreach ($tts as $ts) {
|
||||
$class = '';
|
||||
if ($ts['nts'] > 0) {
|
||||
$class .= ( $class == '' ? '' : ' ') . 'expandable';
|
||||
}
|
||||
if (--$ntsopened == 0) {
|
||||
$class .= ( $class == '' ? '' : ' ') . 'last';
|
||||
}
|
||||
|
||||
$tid = $ts['n']->getAttribute('id');
|
||||
|
||||
$html .= $tab . "\t" . '<LI id="TX_P.' . $sbid . '.' . $tid . '" class="' . $class . '">' . "\n";
|
||||
if ($ts['nts'] > 0) {
|
||||
$html .= $tab . "\t\t" . '<div class="hitarea expandable-hitarea" />' . "\n";
|
||||
} else {
|
||||
$html .= $tab . "\t\t" . '<div />' . "\n";
|
||||
}
|
||||
$html .= $tab . "\t\t" . '<span>' . $ts['label'] . '</span>' . "\n";
|
||||
|
||||
$this->getHTMLTerm($sbid, $lng, $ts['n'], $html, $depth + 1);
|
||||
|
||||
$html .= $tab . "\t" . '</LI>' . "\n";
|
||||
}
|
||||
$html .= $tab . '</UL>' . "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @return \unicode
|
||||
*/
|
||||
private function getUnicode()
|
||||
{
|
||||
return $this->app['unicode'];
|
||||
}
|
||||
}
|
||||
|
@@ -55,7 +55,7 @@ class Xmlhttp implements ControllerProviderInterface, ServiceProviderInterface
|
||||
$controllers->match('openbranches_prod.j.php', 'controller.thesaurus.xmlhttp:openBranchesJson');
|
||||
$controllers->match('replacecandidate.j.php', 'controller.thesaurus.xmlhttp:replaceCandidateJson')
|
||||
->before($requireAccessToThesaurus);
|
||||
$controllers->match('search_th_term_prod.j.php', 'controller.thesaurus.xmlhttp:searchTermJson');
|
||||
$controllers->match('search_term_prod.j.php', 'controller.thesaurus.xmlhttp:searchTermJson');
|
||||
|
||||
return $controllers;
|
||||
}
|
||||
|
@@ -683,7 +683,7 @@ class User_Query
|
||||
if (trim($row['activity']) === '') {
|
||||
continue;
|
||||
}
|
||||
$activities[] = $row['activite'];
|
||||
$activities[] = $row['activity'];
|
||||
}
|
||||
|
||||
return $activities;
|
||||
|
6
lib/classes/cache/databox.php
vendored
6
lib/classes/cache/databox.php
vendored
@@ -78,8 +78,7 @@ class cache_databox
|
||||
$key = 'record_' . $sbas_id . '_' . $row['value'] . '_' . \record_adapter::CACHE_TECHNICAL_DATA;
|
||||
$databox->delete_data_from_cache($key);
|
||||
|
||||
$sql = 'DELETE FROM memcached
|
||||
WHERE site_id = :site_id AND type="record" AND value = :value';
|
||||
$sql = 'DELETE FROM memcached WHERE site_id = :site_id AND type="record" AND value = :value';
|
||||
|
||||
$params = [
|
||||
':site_id' => $app['conf']->get('servername')
|
||||
@@ -101,8 +100,7 @@ class cache_databox
|
||||
case 'structure':
|
||||
$app->getApplicationBox()->delete_data_from_cache(\appbox::CACHE_LIST_BASES);
|
||||
|
||||
$sql = 'DELETE FROM memcached
|
||||
WHERE site_id = :site_id AND type="structure" AND value = :value';
|
||||
$sql = 'DELETE FROM memcached WHERE site_id = :site_id AND type="structure" AND value = :value';
|
||||
|
||||
$params = [
|
||||
':site_id' => $app['conf']->get('servername')
|
||||
|
@@ -74,6 +74,8 @@ class record_preview extends record_adapter
|
||||
protected $query;
|
||||
protected $options;
|
||||
|
||||
protected $statistics;
|
||||
|
||||
public function __construct(Application $app, $env, $pos, $contId, SearchEngineInterface $search_engine = null, $query = '', SearchEngineOptions $options = null)
|
||||
{
|
||||
$number = null;
|
||||
@@ -83,6 +85,7 @@ class record_preview extends record_adapter
|
||||
$this->searchEngine = $search_engine;
|
||||
$this->query = $query;
|
||||
$this->options = $options;
|
||||
$this->statistics = null;
|
||||
|
||||
switch ($env) {
|
||||
case "RESULT":
|
||||
@@ -366,6 +369,181 @@ class record_preview extends record_adapter
|
||||
return $this->short_history;
|
||||
}
|
||||
|
||||
/**
|
||||
* get statistics about the record during the last nbDays
|
||||
* - nb of dowloads, nb of views, referrers.
|
||||
*
|
||||
* @param int $nbDays
|
||||
* @return array|bool false if user is not allowed to see stats (aka report)
|
||||
* @throws Exception
|
||||
* @throws \Doctrine\DBAL\DBALException
|
||||
*/
|
||||
public function getStatistics($nbDays)
|
||||
{
|
||||
if(is_null($this->statistics)) {
|
||||
if($nbDays < 1) {
|
||||
throw new \Alchemy\Phrasea\Exception\InvalidArgumentException("nbDays must be > 0");
|
||||
}
|
||||
if(!$this->app->getAclForUser($this->app->getAuthenticatedUser())
|
||||
->has_right_on_base($this->getBaseId(), \ACL::CANREPORT)) {
|
||||
return( ($this->statistics = false) );
|
||||
}
|
||||
$this->statistics = [
|
||||
'days' => $nbDays,
|
||||
'from' => '',
|
||||
'to' => '',
|
||||
'max_views' => 0,
|
||||
'max_downloads' => 0,
|
||||
'by_day' => [
|
||||
// '2012-01-02' => [
|
||||
// 'label' => '2012-01-02',
|
||||
// 'views' => 123,
|
||||
// 'downloads' => 456,
|
||||
// ],
|
||||
],
|
||||
'referrers' => [
|
||||
'report::acces direct' => [
|
||||
'label' => $this->app->trans('report::acces direct'),
|
||||
'count' => 0
|
||||
],
|
||||
'admin::monitor: module production' => [
|
||||
'label' => $this->app->trans('admin::monitor: module production'),
|
||||
'count' => 0
|
||||
],
|
||||
'admin::monitor: module client' => [
|
||||
'label' => $this->app->trans('admin::monitor: module client'),
|
||||
'count' => 0
|
||||
],
|
||||
'report:: page d\'accueil' => [
|
||||
'label' => $this->app->trans('report:: page d\'accueil'),
|
||||
'count' => 0
|
||||
],
|
||||
'report:: visualiseur cooliris' => [
|
||||
'label' => $this->app->trans('report:: visualiseur cooliris'),
|
||||
'count' => 0
|
||||
],
|
||||
// ...
|
||||
// some more entries can be added if the referrer does not match anything
|
||||
]
|
||||
];
|
||||
// preset 30 dates in the past
|
||||
//
|
||||
$nbDays--; // because 0 is included
|
||||
for ($d=$nbDays; $d>=0; $d--) {
|
||||
$datetime = new DateTime('-' . $d . ' days');
|
||||
$date = date_format($datetime, 'Y-m-d');
|
||||
if($d == $nbDays) {
|
||||
$this->statistics['from'] = $date;
|
||||
}
|
||||
elseif($d == 0) {
|
||||
$this->statistics['to'] = $date;
|
||||
}
|
||||
$this->statistics['by_day'][$date] = [
|
||||
'label' => $date,
|
||||
'views' => 0,
|
||||
'downloads' => 0
|
||||
];
|
||||
}
|
||||
//------- views stats
|
||||
//
|
||||
$sql = "SELECT COUNT(id) AS n, DATE_FORMAT(date, '%Y-%m-%d') AS datee FROM `log_view`\n"
|
||||
. " WHERE record_id = :record_id\n"
|
||||
. " AND date >= :from AND date <= :to\n"
|
||||
. " AND site_id = :site\n"
|
||||
. " GROUP BY datee ORDER BY datee ASC";
|
||||
$result = $this->getDataboxConnection()
|
||||
->executeQuery($sql, [
|
||||
':record_id' => $this->getRecordId(),
|
||||
':site' => $this->app['conf']->get(['main', 'key']),
|
||||
':from' => $this->statistics['from'],
|
||||
':to' => $this->statistics['to']
|
||||
])
|
||||
->fetchAll(PDO::FETCH_ASSOC);
|
||||
foreach ($result as $row) {
|
||||
$date = $row['datee'];
|
||||
if(array_key_exists($date, $this->statistics['by_day'])) {
|
||||
$this->statistics['by_day'][$date]['views'] += (int)($row['n']);
|
||||
if($this->statistics['by_day'][$date]['views'] > $this->statistics['max_views']) {
|
||||
$this->statistics['max_views'] = $this->statistics['by_day'][$date]['views'];
|
||||
}
|
||||
}
|
||||
}
|
||||
//------- downloads stats
|
||||
//
|
||||
$sql = "SELECT COUNT(d.id) AS n, DATE_FORMAT(d.date, '%Y-%m-%d') AS datee\n"
|
||||
. " FROM `log_docs` AS d, log AS l\n"
|
||||
. " WHERE action='download'\n"
|
||||
. " AND log_id=l.id\n"
|
||||
. " AND record_id= :record_id\n"
|
||||
. " AND d.date >= :from AND d.date <= :to\n"
|
||||
. " AND site= :site\n"
|
||||
. " GROUP BY datee ORDER BY datee ASC";
|
||||
$result = $this->getDataboxConnection()
|
||||
->executeQuery($sql, [
|
||||
':record_id' => $this->getRecordId(),
|
||||
':site' => $this->app['conf']->get(['main', 'key']),
|
||||
':from' => $this->statistics['from'],
|
||||
':to' => $this->statistics['to']
|
||||
])
|
||||
->fetchAll(PDO::FETCH_ASSOC);
|
||||
foreach ($result as $row) {
|
||||
$date = $row['datee'];
|
||||
if(array_key_exists($date, $this->statistics['by_day'])) {
|
||||
$this->statistics['by_day'][$date]['downloads'] += (int)($row['n']);
|
||||
if($this->statistics['by_day'][$date]['downloads'] > $this->statistics['max_downloads']) {
|
||||
$this->statistics['max_downloads'] = $this->statistics['by_day'][$date]['downloads'];
|
||||
}
|
||||
}
|
||||
}
|
||||
//------- referers stats
|
||||
//
|
||||
$sql = "SELECT count( id ) AS n, referrer FROM `log_view`\n"
|
||||
. " WHERE record_id = :record_id\n"
|
||||
. " AND date >= :from AND date <= :to\n"
|
||||
. " GROUP BY referrer ORDER BY referrer ASC";
|
||||
$result = $this->getDataboxConnection()
|
||||
->executeQuery($sql, [
|
||||
':record_id' => $this->getRecordId(),
|
||||
':from' => $this->statistics['from'],
|
||||
':to' => $this->statistics['to']
|
||||
])
|
||||
->fetchAll(PDO::FETCH_ASSOC);
|
||||
foreach ($result as $row) {
|
||||
$k = $row['referrer'];
|
||||
if ($k == 'NO REFERRER') {
|
||||
$k = $this->app->trans('report::acces direct');
|
||||
}
|
||||
elseif ($k == $this->app['conf']->get('servername') . 'prod/') {
|
||||
$k = $this->app->trans('admin::monitor: module production');
|
||||
}
|
||||
elseif ($k == $this->app['conf']->get('servername') . 'client/') {
|
||||
$k = $this->app->trans('admin::monitor: module client');
|
||||
}
|
||||
elseif (strpos($k, 'http://apps.cooliris.com/') !== false) {
|
||||
$k = $this->app->trans('report:: visualiseur cooliris');
|
||||
}
|
||||
elseif (strpos($k, $this->app['conf']->get('servername') . 'login/') !== false) {
|
||||
$k = $this->app->trans('report:: page d\'accueil');
|
||||
}
|
||||
elseif (strpos($k, $this->app['conf']->get('servername') . 'document/') !== false) {
|
||||
$k = $this->app->trans('report::acces direct');
|
||||
}
|
||||
elseif (strpos($k, $this->app['conf']->get('servername') . 'permalink/') !== false) {
|
||||
$k = $this->app->trans('report::acces direct');
|
||||
}
|
||||
if (!isset($this->statistics['referrers'][$k])) {
|
||||
// the referrer does not match anything, just add it untranslated
|
||||
$this->statistics['referrers'][$k] = [
|
||||
'label' => $k,
|
||||
'count' => 0
|
||||
];
|
||||
}
|
||||
$this->statistics['referrers'][$k]['count'] += (int)$row['n'];
|
||||
}
|
||||
}
|
||||
return $this->statistics;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return media_adapter
|
||||
*/
|
||||
|
@@ -2,7 +2,7 @@
|
||||
"name": "phraseanet",
|
||||
"version": "4.0.0",
|
||||
"devDependencies": {
|
||||
"bower": "~1.3",
|
||||
"bower": "^1.6.5",
|
||||
"bower-files": "^3.11.3",
|
||||
"browser-sync": "^2.10.0",
|
||||
"del": "^2.1.0",
|
||||
@@ -16,7 +16,7 @@
|
||||
"gulp-install": "^0.6.0",
|
||||
"gulp-qunit": "^1.2.1",
|
||||
"gulp-rename": "^1.2.2",
|
||||
"gulp-sass": "^2.1.0",
|
||||
"gulp-sass": "^3.1.0",
|
||||
"gulp-uglify": "^1.4.2",
|
||||
"gulp-util": "^3.0.7",
|
||||
"gulp-watch": "^4.3.5",
|
||||
@@ -35,6 +35,6 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"alchemy-embed-medias": "^0.4.4",
|
||||
"phraseanet-production-client": "~0.19.24"
|
||||
"phraseanet-production-client": "~0.32.2"
|
||||
}
|
||||
}
|
||||
|
@@ -3,6 +3,7 @@
|
||||
- shell: hostname
|
||||
register: current_hostname
|
||||
|
||||
|
||||
- name: Add MariaDB-Repository
|
||||
sudo: yes
|
||||
apt_repository: repo='deb http://mirror6.layerjet.com/mariadb/repo/10.1/ubuntu {{ ansible_distribution_release }} main' state=present
|
||||
@@ -41,9 +42,9 @@
|
||||
- name: mariadb | Create databases
|
||||
mysql_db: name={{ item }} state=present login_user=root login_password={{ mariadb.root_password }}
|
||||
with_items:
|
||||
- "{{ mariadb.database }}"
|
||||
- "{{ mariadb.databox_db }}"
|
||||
- "{{ mariadb.alt_db }}"
|
||||
- "{{ mariadb.appbox_db }}"
|
||||
- "{{ mariadb.databox_db }}"
|
||||
- "{{ mariadb.alt_databox_db }}"
|
||||
|
||||
- name: mariadb | Import dump
|
||||
mysql_db: name={{ mariadb.database }} state=import login_user=root login_password={{ mariadb.root_password }} target=/vagrant/{{ mariadb.dump }}
|
||||
|
2
resources/ansible/windows-always.sh
Normal file
2
resources/ansible/windows-always.sh
Normal file
@@ -0,0 +1,2 @@
|
||||
#!/usr/bin/env bash
|
||||
sudo ansible-playbook /vagrant/resources/ansible/playbook-always.yml -e hostname=$1 --extra-vars "{\"hostname\": \"$1\", \"postfix\": { \"postfix_domain\": \"$1.vb\" }, \"parade_var\": \"$2\" }" --connection=local
|
@@ -25,7 +25,7 @@ sudo apt-get update
|
||||
sudo apt-get install -y ansible
|
||||
|
||||
# Setup Ansible for Local Use and Run
|
||||
cp /vagrant/ansible/inventories/dev /etc/ansible/hosts -f
|
||||
cp /vagrant/resources/ansible/inventories/dev /etc/ansible/hosts -f
|
||||
chmod 666 /etc/ansible/hosts
|
||||
cat /vagrant/ansible/files/authorized_keys >> /home/vagrant/.ssh/authorized_keys
|
||||
sudo ansible-playbook /vagrant/ansible/playbook.yml -e hostname=$1 --connection=local
|
||||
cat /vagrant/resources/ansible/files/authorized_keys >> /home/vagrant/.ssh/authorized_keys
|
||||
sudo ansible-playbook /vagrant/resources/ansible/playbook.yml -e hostname=$1 --connection=local
|
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
||||
<file date="2016-05-24T15:21:47Z" source-language="en" target-language="en" datatype="plaintext" original="not.available">
|
||||
<header>
|
||||
@@ -7,8 +7,8 @@
|
||||
</header>
|
||||
<body>
|
||||
<trans-unit id="da39a3ee5e6b4b0d3255bfef95601890afd80709" resname="">
|
||||
<source></source>
|
||||
<target state="new"></target>
|
||||
<source/>
|
||||
<target state="new"/>
|
||||
<jms:reference-file line="47">Form/Configuration/EmailFormType.php</jms:reference-file>
|
||||
<jms:reference-file line="60">Form/Login/PhraseaAuthenticationForm.php</jms:reference-file>
|
||||
<jms:reference-file line="47">Form/Configuration/EmailFormType.php</jms:reference-file>
|
||||
@@ -224,7 +224,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="3d850bddc9385d23589a2204c4583dcc0d62ffe5" resname="%total_count% results" approved="yes">
|
||||
<source>%total_count% results</source>
|
||||
<target state="translated">%total_count% results.</target>
|
||||
<target state="translated">%total_count% results</target>
|
||||
<jms:reference-file line="35">web/report/generate_tab.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="99d2e1a7e8d0ba4a7132282b53b15e503b91c2cb" resname="%user% a envoye son rapport de validation de %title%" approved="yes">
|
||||
@@ -575,7 +575,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="c4a4f00323184bd750ee72b5c05e6e17d1584bfd" resname="Activate highlight" approved="yes">
|
||||
<source>Activate highlight</source>
|
||||
<target state="translated">Activate highlight</target>
|
||||
<target state="translated">Activate highlight on full text (experimental). Impact the time performance of search.</target>
|
||||
<jms:reference-file line="54">SearchEngine/Elastic/ElasticsearchSettingsFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="a733b809d2f1233496ab516eed0f3ef75cf3791a" resname="Active" approved="yes">
|
||||
@@ -1070,7 +1070,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="e90e84223fc3bab6b936ce4506b3924b21f3d0be" resname="Attention !" approved="yes">
|
||||
<source>Attention !</source>
|
||||
<target state="translated">Warning!</target>
|
||||
<target state="translated">Warning !</target>
|
||||
<jms:reference-file line="113">Controller/Prod/LanguageController.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="0328b7d39137eaa443590c8c1d693a1611354951" resname="Attention, certain documents ont des sous-definitions substituees" approved="yes">
|
||||
@@ -1090,7 +1090,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="3f9f7ad2bc75b4c34160ea51aeff9a273da06c1f" resname="Aucun bridge disponible. Veuillez contacter un administrateur." approved="yes">
|
||||
<source>Aucun bridge disponible. Veuillez contacter un administrateur.</source>
|
||||
<target state="translated">There is no Bridge Available . Please contact Administrator.</target>
|
||||
<target state="translated">There is no Bridge Available . Please contact your Administrator.</target>
|
||||
<jms:reference-file line="72">actions/Bridge/index.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="c1f891614ef0359cd670f6940a2b9f095b8691d9" resname="Aucun document selectionne" approved="yes">
|
||||
@@ -1197,7 +1197,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="d5f364d5d9a0a95fdba37f29a65a9ba61d6329ef" resname="Authorize *Phraseanet Navigator*" approved="yes">
|
||||
<source>Authorize *Phraseanet Navigator*</source>
|
||||
<target state="translated">Authorise *Phraseanet Navigator*</target>
|
||||
<target state="translated">DEPRECATED, Authorise *Phraseanet Navigator*</target>
|
||||
<jms:reference-file line="22">Form/Configuration/APIClientsFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="6e1ead524b95ba3b45281df7ba45d2addbbf1a79" resname="Authorize Microsoft Office Plugin to connect." approved="yes">
|
||||
@@ -1567,9 +1567,9 @@
|
||||
<target state="translated">Change my e-mail address</target>
|
||||
<jms:reference-file line="6">web/account/reset-email.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="04d0ff716d072a61412e969b78fe694be13d049f" resname="Changes for rotation will be applied only on the sub-definitions of "image" type.">
|
||||
<trans-unit id="04d0ff716d072a61412e969b78fe694be13d049f" resname="Changes for rotation will be applied only on the sub-definitions of "image" type." approved="yes">
|
||||
<source>Changes for rotation will be applied only on the sub-definitions of "image" type.</source>
|
||||
<target state="new">Changes for rotation will be applied only on the sub-definitions of "image" type, whenever possible.</target>
|
||||
<target state="translated">Changes for rotation will be applied only on the sub-definitions of "image" type, whenever possible.</target>
|
||||
<jms:reference-file line="180">actions/Tools/index.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="18e03e2a37ba37df713f9665ef752fb8b40fc1e8" resname="Channels" approved="yes">
|
||||
@@ -1761,7 +1761,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="15f217a259ee031d3ee19967da004804bb726307" resname="Confirm reset users rights before applying template" approved="yes">
|
||||
<source>Confirm reset users rights before applying template</source>
|
||||
<target state="translated">Confirm the reset of selected users'rights before applying the template</target>
|
||||
<target state="translated">Confirm the reset of selected users' rights before applying the template</target>
|
||||
<jms:reference-file line="51">web/admin/index.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="9b1f3b86f9ebe885dcf2acdfae26c37dd6da4de5" resname="Confirmation de votre mot de passe" approved="yes">
|
||||
@@ -1827,7 +1827,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="9a1757945390259d3dbb7c551d01c23638463d39" resname="Copiez le code ci-dessous, retournez dans votre application et collez-le a l'endroit requis :" approved="yes">
|
||||
<source>Copiez le code ci-dessous, retournez dans votre application et collez-le a l'endroit requis :</source>
|
||||
<target state="translated">Copy the code below, go to your application then paste-it as needed:</target>
|
||||
<target state="translated">Copy the code below, go to your application then paste it as needed:</target>
|
||||
<jms:reference-file line="66">api/auth/native_app_access_token.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="3f2db26b4864bd92ed4b00721b056068ddd526b6" resname="Copy the code below, return to your application and paste the code to the right place." approved="yes">
|
||||
@@ -1842,7 +1842,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="2d4f012e5f06719ae9bbd6de1696d7502474ba2d" resname="Could not perform request, please contact an administrator." approved="yes">
|
||||
<source>Could not perform request, please contact an administrator.</source>
|
||||
<target state="translated">Resquest can't be performed. Please contact an administrator.</target>
|
||||
<target state="translated">Request can't be performed. Please contact an administrator.</target>
|
||||
<jms:reference-file line="87">Controller/Root/AccountController.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="c183d160b24ba4d8cd1a39ffb5ceed69be38ee51" resname="Could not retrieve the file ID, please retry or contact an admin if problem persist" approved="yes">
|
||||
@@ -1872,9 +1872,9 @@
|
||||
<target state="translated">Create an account manually</target>
|
||||
<jms:reference-file line="22">web/login/register.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="26a9831600fb0e895035038bcac30cc389b393e0" resname="Create index">
|
||||
<trans-unit id="26a9831600fb0e895035038bcac30cc389b393e0" resname="Create index" approved="yes">
|
||||
<source>Create index</source>
|
||||
<target state="new">Create index</target>
|
||||
<target state="translated">Create index</target>
|
||||
<jms:reference-file line="38">SearchEngine/Elastic/ElasticsearchSettingsFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="384422e656d8a4d803155efc371754913755a4b0" resname="Create new subdef" approved="yes">
|
||||
@@ -2101,7 +2101,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="7f4c92d36ad39747b7393498e20a21e3898d5ea6" resname="Default TTL in seconds of sub-definition url" approved="yes">
|
||||
<source>Default TTL in seconds of sub-definition url</source>
|
||||
<target state="translated">Default TTL in seconds of sub-definition url</target>
|
||||
<target state="translated">Default TTL in seconds for JWT of sub-definition url</target>
|
||||
<jms:reference-file line="55">Form/Configuration/GeneralFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="21cec17f6cd9c992f10804a71ea6d286a56c456a" resname="Default basket" approved="yes">
|
||||
@@ -2359,7 +2359,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="cf25d8937160da72080fc8842d6b68764fe829ab" resname="Document refuse par %name%" approved="yes">
|
||||
<source>Document refuse par %name%</source>
|
||||
<target state="translated">Document refused by %name%</target>
|
||||
<target state="translated">Document denied by %name%</target>
|
||||
<jms:reference-file line="66">prod/orders/order_item.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="3859bdaa8c6ffa767307d2ebc130439c543819c8" resname="Document title" approved="yes">
|
||||
@@ -2392,7 +2392,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="43c28b73145b678d5a0d4838f2890dfcce8b0eea" resname="Download of documents" approved="yes">
|
||||
<source>Download of documents</source>
|
||||
<target state="translated">Documents downloads.</target>
|
||||
<target state="translated">Documents downloads</target>
|
||||
<jms:reference-file line="13">actions/Download/prepare.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="7cec77b277c557a0d7c6f62b73691b0079b37639" resname="Drag and drop the pin to move position">
|
||||
@@ -2405,9 +2405,9 @@
|
||||
<target state="translated">Rights</target>
|
||||
<jms:reference-file line="62">web/admin/editusers_quotas.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="4e4528018d1a0aa11f7dc17b5425174a7436d334" resname="Drop index">
|
||||
<trans-unit id="4e4528018d1a0aa11f7dc17b5425174a7436d334" resname="Drop index" approved="yes">
|
||||
<source>Drop index</source>
|
||||
<target state="new">Drop index</target>
|
||||
<target state="translated">Drop index</target>
|
||||
<jms:reference-file line="34">SearchEngine/Elastic/ElasticsearchSettingsFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="3a9c043f68c147a7c8d8c2fa14ddfaba6e05da62" resname="Duree" approved="yes">
|
||||
@@ -2580,7 +2580,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="acb59e182fe4ddc3ab0004f6eff18948f7119aa9" resname="Empty quarantine will remove all items, are you sure you want to continue ?" approved="yes">
|
||||
<source>Empty quarantine will remove all items, are you sure you want to continue ?</source>
|
||||
<target state="translated">Empty quanrantine will delete all its contents. This action is irreversible. Are you sure you want to continue?</target>
|
||||
<target state="translated">Empty quarantine will delete all its contents. This action is irreversible. Are you sure you want to continue?</target>
|
||||
<jms:reference-file line="115">prod/upload/lazaret.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="b21b69f5882b80aa94dde1b4b588cc884758d886" resname="Empty the collection before removing" approved="yes">
|
||||
@@ -2596,7 +2596,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="b57d5bc1b9fe7cad10b4430bb653d24306262fe4" resname="En cliquant sur "ajouter" vous certifiez que vous possedez les droits pour le contenu ou que vous etes autorisé par le proprietaire à rendre le contenu accessible au public sur YouTube, et qu'il est autrement conforme aux Conditions d'utilisation de YouTubesitue a %lien_term_youtube%" approved="yes">
|
||||
<source>En cliquant sur "ajouter" vous certifiez que vous possedez les droits pour le contenu ou que vous etes autorisé par le proprietaire à rendre le contenu accessible au public sur YouTube, et qu'il est autrement conforme aux Conditions d'utilisation de YouTubesitue a %lien_term_youtube%</source>
|
||||
<target state="translated">By clicking on Add you certify that you own the rights on the content or that you are authorized by the owner to make the content accessible to public on YouTube. This content comply with the YouTube Terms of use: %lien_term_youtube%</target>
|
||||
<target state="translated">By clicking on "Add", you certify that you own the rights on the content or that you are authorized by the owner to make the content accessible to public on YouTube. This content complies with the YouTube Terms of use: %lien_term_youtube%</target>
|
||||
<jms:reference-file line="107">Bridge/Youtube/upload.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="0413c20ae2fd31e0a1eef73e7768c8e1c68558d9" resname="En cours d'encodage" approved="yes">
|
||||
@@ -2673,7 +2673,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="56848224e379e98e9a4cbcad0b51a0e99f7980f0" resname="Enable this setting to share on Facebook and Twitter" approved="yes">
|
||||
<source>Enable this setting to share on Facebook and Twitter</source>
|
||||
<target state="translated">Enable this setting to share media content on Facebook and Twitter</target>
|
||||
<target state="translated">Enable this setting for obtaining permalink and/or share media on social network like Facebook and Twitter etc ...</target>
|
||||
<jms:reference-file line="47">Form/Configuration/ActionsFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="a8c91cee722569eccd85bf170aff83c6b8e3b4d1" resname="Enable thumbnail substitution" approved="yes">
|
||||
@@ -2740,7 +2740,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="90aa6d11f451da9eab381da74e349cb9d7f53647" resname="Erreur : soit les parametres sont incorrects, soit le serveur distant ne repond pas" approved="yes">
|
||||
<source>Erreur : soit les parametres sont incorrects, soit le serveur distant ne repond pas</source>
|
||||
<target state="translated">Either invalid settings , either distant server is not responding</target>
|
||||
<target state="translated">Either the settings are invalid, either distant server is not responding</target>
|
||||
<jms:reference-file line="75">Controller/Prod/LanguageController.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="f2622fb6aa1e7cbd0eef2a99aa01f8c67d893c8b" resname="Erreur YouTube a rencontré une erreur lors du traitement de la requête." approved="yes">
|
||||
@@ -3166,9 +3166,9 @@
|
||||
<target state="translated">Creates an audio file</target>
|
||||
<jms:reference-file line="44">Media/Subdef/Audio.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="d1e6306fa0e2c34c9580854b101bc70e510bc5a3" resname="Generates an image">
|
||||
<trans-unit id="d1e6306fa0e2c34c9580854b101bc70e510bc5a3" resname="Generates an image" approved="yes">
|
||||
<source>Generates an image</source>
|
||||
<target state="new">Generates an image</target>
|
||||
<target state="translated">Generates an image</target>
|
||||
<jms:reference-file line="47">Media/Subdef/Image.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="efd1f5fd46c31701d2e70555e9ab45efe27b4048" resname="Geonames server address" approved="yes">
|
||||
@@ -3280,7 +3280,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="78860a4e5b33556e6a8947485d8b042d9e58234e" resname="Hide information about users" approved="yes">
|
||||
<source>Hide information about users</source>
|
||||
<target state="translated">Hide information about users.</target>
|
||||
<target state="translated">Hide information about users</target>
|
||||
<jms:reference-file line="35">Form/Configuration/ModulesFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="70f8bb9a8a5393ef080507a89e4b98d139000d65" resname="Home" approved="yes">
|
||||
@@ -3521,7 +3521,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="feed3517f845bc792002627ad5585e4a70fb952b" resname="It stores users datas, rights, and references to DataBoxes where records are stored." approved="yes">
|
||||
<source>It stores users datas, rights, and references to DataBoxes where records are stored.</source>
|
||||
<target state="translated">ApplicationBox stores users datas, rights, and references to DataBoxes where records are stored.</target>
|
||||
<target state="translated">ApplicationBox stores users datas, rights and references to DataBoxes where records are stored.</target>
|
||||
<jms:reference-file line="607">web/setup/step2.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="30c8cb83b9acd93beaa32086336c36cb77c065d9" resname="Job" approved="yes">
|
||||
@@ -4116,7 +4116,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="611ce61a8afa84c06dd4ae06d9405b50d7cadc70" resname="Ne pas autoriser" approved="yes">
|
||||
<source>Ne pas autoriser</source>
|
||||
<target state="translated">Do not Authorize</target>
|
||||
<target state="translated">Do not authorize</target>
|
||||
<jms:reference-file line="92">api/auth/end_user_authorization.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="f5a3032fbde245ea35d8fa654d628809a9a448fc" resname="Ne pas creer de DataBox maintenant" approved="yes">
|
||||
@@ -4256,7 +4256,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="978c0865f6eafe1285d685b7b3b85ef5855c1996" resname="Nom des fichiers a l'export" approved="yes">
|
||||
<source>Nom des fichiers a l'export</source>
|
||||
<target state="translated">FIles name to use for Download</target>
|
||||
<target state="translated">Filename to use for downloads</target>
|
||||
<jms:reference-file line="67">web/common/dialog_export.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="9c2788209a60bf1ad55eb769fe0532798f2755db" resname="Nom du nouveau modele" approved="yes">
|
||||
@@ -4344,7 +4344,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="b60af374cd884ac6a6ae5b76829ba6efa085f0f7" resname="Nous vous rappelons qu'il est de votre responsabilité de vous assurer que le contenu de la vidéo que vous allez mettre en ligne est conforme aux conditions d'utilisations" approved="yes">
|
||||
<source>Nous vous rappelons qu'il est de votre responsabilité de vous assurer que le contenu de la vidéo que vous allez mettre en ligne est conforme aux conditions d'utilisations</source>
|
||||
<target state="translated">We remind you that it is under your responsability to make sure that the video content you are about to put online is compliant to service the Terms of Use</target>
|
||||
<target state="translated">We remind you that it is under your responsability to make sure that the video content you are about to put online is compliant to service the Terms of Use.</target>
|
||||
<jms:reference-file line="93">Bridge/Dailymotion/upload.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="5adb390fce6f3244aad5b7fe1ea342302f07d81a" resname="Nouveau modele" approved="yes">
|
||||
@@ -4437,14 +4437,14 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="f982eff2494d435291fce6a44332cad26e2d63bb" resname="Order has been denied" approved="yes">
|
||||
<source>Order has been denied</source>
|
||||
<target state="translated">The order has been denied.</target>
|
||||
<target state="translated">The Record has been denied.</target>
|
||||
<jms:reference-file line="194">Order/Controller/ProdOrderController.php</jms:reference-file>
|
||||
<jms:reference-file line="13">prod/orders/order_box.html.twig</jms:reference-file>
|
||||
<jms:reference-file line="18">prod/orders/order_item.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="a32c9e9a29f1f401792dddd91b4e6f493a3ab084" resname="Order has been sent" approved="yes">
|
||||
<source>Order has been sent</source>
|
||||
<target state="translated">The order has been sent.</target>
|
||||
<target state="translated">The record has been sent.</target>
|
||||
<jms:reference-file line="162">Order/Controller/ProdOrderController.php</jms:reference-file>
|
||||
<jms:reference-file line="11">prod/orders/order_box.html.twig</jms:reference-file>
|
||||
<jms:reference-file line="16">prod/orders/order_item.html.twig</jms:reference-file>
|
||||
@@ -4885,16 +4885,12 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="dcf907ccbbcda0c0a828ef73ff1e6320748c1fad" resname="Push::une validation est une demande d'appreciation a d'autres personnes" approved="yes">
|
||||
<source>Push::une validation est une demande d'appreciation a d'autres personnes</source>
|
||||
<target state="translated">Click on the Send buton to forward a feedback request on a selection of documents to recipients.
|
||||
They will receive an e-mail with a link to launch Phraseanet Lightbox, a dedicated interface for displaying documents, leave feedbacks and possibly download them.
|
||||
Feedbacks are also available as a Feedback request basket within Phraseanet Production for registered users.</target>
|
||||
<target state="translated">Click on the "Send" button to forward a feedback request on a selection of documents to recipients. They will receive an e-mail with a link to launch Phraseanet Lightbox, a dedicated interface for displaying documents, leave feedbacks and possibly download them. Feedbacks are also available as a Feedback request basket within Phraseanet Production for registered users.</target>
|
||||
<jms:reference-file line="159">prod/actions/Push.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="3e45857148ed08b19a425b5f4a2775e30dd346a7" resname="Push::unpush permet d'envoyer un lot d'image a des destinataires" approved="yes">
|
||||
<source>Push::unpush permet d'envoyer un lot d'image a des destinataires</source>
|
||||
<target state="translated">Use Push to send a selection of documents to recipients.
|
||||
Recipients will receive an e-mail with a link to launch Phraseanet Lightbox, a dedicated interface for displaying documents and possibly download them.
|
||||
Pushed documents are also available in a received basket within Phraseanet Production for registered users.</target>
|
||||
<target state="translated">Use "Push" to send a selection of documents to recipients. Recipients will receive an e-mail with a link to launch Phraseanet Lightbox, a dedicated interface for displaying documents and possibly download them. Pushed documents are also available in a received basket within Phraseanet Production for registered users.</target>
|
||||
<jms:reference-file line="157">prod/actions/Push.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="a60f2c73604f623449f263e78f5857849ad5e429" resname="Quality" approved="yes">
|
||||
@@ -5232,7 +5228,7 @@ Pushed documents are also available in a received basket within Phraseanet Produ
|
||||
</trans-unit>
|
||||
<trans-unit id="ced7b308a348567fbf21dd775ee496dd01207f24" resname="Remember me" approved="yes">
|
||||
<source>Remember me</source>
|
||||
<target state="translated">Remember me.</target>
|
||||
<target state="translated">Remember me</target>
|
||||
<jms:reference-file line="51">Form/Login/PhraseaAuthenticationForm.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="c8005b356e3a4dba94a532df1deec4ebce882d13" resname="Reminder : validate '%title%'" approved="yes">
|
||||
@@ -6121,9 +6117,9 @@ Pushed documents are also available in a received basket within Phraseanet Produ
|
||||
<target state="translated">Target device</target>
|
||||
<jms:reference-file line="238">classes/databox/subdef.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="5fb2e4a63ebe9160da52c28fba2f61029c85c8d6" resname="Task Edition">
|
||||
<trans-unit id="5fb2e4a63ebe9160da52c28fba2f61029c85c8d6" resname="Task Edition" approved="yes">
|
||||
<source>Task Edition</source>
|
||||
<target state="new">Task Edition</target>
|
||||
<target state="translated">Task setting</target>
|
||||
<jms:reference-file line="12">task-manager/task-editor/task.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="44b242091b360ff04d1cba06fbccad177e657d51" resname="Task Scheduler" approved="yes">
|
||||
@@ -7193,7 +7189,8 @@ Pushed documents are also available in a received basket within Phraseanet Produ
|
||||
</trans-unit>
|
||||
<trans-unit id="b0b39c7242ec17b1126ffe19d3e377337b26d6c9" resname="Warning, this database is not empty" approved="yes">
|
||||
<source>Warning, this database is not empty</source>
|
||||
<target state="translated">Warning, this database is not empty</target>
|
||||
<target state="translated">Warning, this database is not empty, running install ERASE definitively content of this databases,
|
||||
(user, basket etc...).</target>
|
||||
<jms:reference-file line="239">web/setup/step2.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="d6757e48da7a5a3de6e28f4b827526f0275f928e" resname="Watch it online" approved="yes">
|
||||
@@ -7999,9 +7996,9 @@ Pushed documents are also available in a received basket within Phraseanet Produ
|
||||
<target state="translated">Distant collection ID</target>
|
||||
<jms:reference-file line="32">admin/collection/collection.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="2b1cf96c4112d7f2d56254852724bb013b257db6" resname="admin::base:collection: numero de collection locale">
|
||||
<trans-unit id="2b1cf96c4112d7f2d56254852724bb013b257db6" resname="admin::base:collection: numero de collection locale" approved="yes">
|
||||
<source>admin::base:collection: numero de collection locale</source>
|
||||
<target state="new">admin::base:collection: numero de collection locale</target>
|
||||
<target state="translated">Collection local number (API "base_id") :</target>
|
||||
<jms:reference-file line="33">admin/collection/collection.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="ea093555b864789074e57fea524db9414672b7b5" resname="admin::base:collection: renommer la collection" approved="yes">
|
||||
@@ -9161,7 +9158,7 @@ Pushed documents are also available in a received basket within Phraseanet Produ
|
||||
</trans-unit>
|
||||
<trans-unit id="f028c914f99c0a53ff40c1e7c59632363769fb79" resname="caption YAML" approved="yes">
|
||||
<source>caption YAML</source>
|
||||
<target state="translated">YAML Caption</target>
|
||||
<target state="translated">Caption as TXT</target>
|
||||
<jms:reference-file line="221">classes/record/exportElement.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="c071dc277993ce1e921c0330a4ee8d358c12c792" resname="cgus :: Attention, si vous refuser les CGUs de cette base, vous n'y aures plus acces" approved="yes">
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
||||
<file date="2016-05-24T15:23:42Z" source-language="en" target-language="fr" datatype="plaintext" original="not.available">
|
||||
<header>
|
||||
@@ -7,8 +7,8 @@
|
||||
</header>
|
||||
<body>
|
||||
<trans-unit id="da39a3ee5e6b4b0d3255bfef95601890afd80709" resname="">
|
||||
<source></source>
|
||||
<target state="new"></target>
|
||||
<source/>
|
||||
<target state="new"/>
|
||||
<jms:reference-file line="47">Form/Configuration/EmailFormType.php</jms:reference-file>
|
||||
<jms:reference-file line="60">Form/Login/PhraseaAuthenticationForm.php</jms:reference-file>
|
||||
<jms:reference-file line="47">Form/Configuration/EmailFormType.php</jms:reference-file>
|
||||
@@ -518,7 +518,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="322d1ea01506ec9e0344d8cd25dd10808d427343" resname="Access to the above bases constitutes acceptance of the following Terms of Use (TOU)." approved="yes">
|
||||
<source>Access to the above bases constitutes acceptance of the following Terms of Use (TOU).</source>
|
||||
<target state="translated">[WRONG] Access to the above bases constitutes acceptance of the following Terms of Use (TOU).</target>
|
||||
<target state="translated">Pour accéder aux bases ci-dessus, vous devez d'abord accepter les conditions générales d'utilisation.</target>
|
||||
<jms:reference-file line="161">web/account/access.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="9db7fb32c517586a4123d511613b492d910aecaa" resname="Access user have readonly access" approved="yes">
|
||||
@@ -908,7 +908,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="98a5e115c36d45b5c1cb4ed3537f847a5210d1e7" resname="An error occurred" approved="yes">
|
||||
<source>An error occurred</source>
|
||||
<target state="translated">Un erreur est survenue</target>
|
||||
<target state="translated">Une erreur est survenue</target>
|
||||
<jms:reference-file line="1900">Controller/Api/V1Controller.php</jms:reference-file>
|
||||
<jms:reference-file line="2346">Controller/Api/V1Controller.php</jms:reference-file>
|
||||
<jms:reference-file line="145">Controller/Admin/CollectionController.php</jms:reference-file>
|
||||
@@ -929,7 +929,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="2063ba5ce348f48f77284c961f2291da1fdd79a5" resname="An upload on %bridge_adapter% failed, the resaon is : %reason%" approved="yes">
|
||||
<source>An upload on %bridge_adapter% failed, the resaon is : %reason%</source>
|
||||
<target state="translated">Un chargement sur le %bridge_adapter% a échoué par la raison suivante : %reason%</target>
|
||||
<target state="translated">Un chargement sur le %bridge_adapter% a échoué pour la raison suivante : %reason%</target>
|
||||
<jms:reference-file line="63">Notification/Mail/MailInfoBridgeUploadFailed.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="3ad56f9f5a406f1c69267d4ac341168e3affa3e7" resname="Anonymous report" approved="yes">
|
||||
@@ -989,7 +989,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="27d917e81d7d1b082f84bbfac7c6eeb2d82a059f" resname="ApplicationBox is a Mysql database." approved="yes">
|
||||
<source>ApplicationBox is a Mysql database.</source>
|
||||
<target state="translated">l'ApplicationBox est une base de données Mysql .</target>
|
||||
<target state="translated">L'ApplicationBox est une base de données Mysql.</target>
|
||||
<jms:reference-file line="604">web/setup/step2.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="76c74bd071dd73f01696fddbbffc77712a479faf" resname="Applications" approved="yes">
|
||||
@@ -1197,7 +1197,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="d5f364d5d9a0a95fdba37f29a65a9ba61d6329ef" resname="Authorize *Phraseanet Navigator*" approved="yes">
|
||||
<source>Authorize *Phraseanet Navigator*</source>
|
||||
<target state="translated">Autoriser *Phraseanet Navigator*</target>
|
||||
<target state="translated">OBSOLETE Autoriser *Phraseanet Navigator*</target>
|
||||
<jms:reference-file line="22">Form/Configuration/APIClientsFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="6e1ead524b95ba3b45281df7ba45d2addbbf1a79" resname="Authorize Microsoft Office Plugin to connect." approved="yes">
|
||||
@@ -1872,9 +1872,9 @@
|
||||
<target state="translated">Créez un compte manuellement</target>
|
||||
<jms:reference-file line="22">web/login/register.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="26a9831600fb0e895035038bcac30cc389b393e0" resname="Create index">
|
||||
<trans-unit id="26a9831600fb0e895035038bcac30cc389b393e0" resname="Create index" approved="yes">
|
||||
<source>Create index</source>
|
||||
<target state="new">Create index</target>
|
||||
<target state="translated">Créer les index</target>
|
||||
<jms:reference-file line="38">SearchEngine/Elastic/ElasticsearchSettingsFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="384422e656d8a4d803155efc371754913755a4b0" resname="Create new subdef" approved="yes">
|
||||
@@ -2101,7 +2101,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="7f4c92d36ad39747b7393498e20a21e3898d5ea6" resname="Default TTL in seconds of sub-definition url" approved="yes">
|
||||
<source>Default TTL in seconds of sub-definition url</source>
|
||||
<target state="translated">Durée de validité, en secondes, de l'URL de la sous-définition</target>
|
||||
<target state="translated">Durée de validité, en secondes, des URL JWT pour les sous-définition et documents</target>
|
||||
<jms:reference-file line="55">Form/Configuration/GeneralFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="21cec17f6cd9c992f10804a71ea6d286a56c456a" resname="Default basket" approved="yes">
|
||||
@@ -2239,7 +2239,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="85cce1e14782f67cb830f74002ebe5603783c674" resname="Deselect all" approved="yes">
|
||||
<source>Deselect all</source>
|
||||
<target state="translated">Tout desélectionner</target>
|
||||
<target state="translated">Tout désélectionner</target>
|
||||
<jms:reference-file line="193">prod/actions/Push.html.twig</jms:reference-file>
|
||||
<jms:reference-file line="27">web/report/form_date_and_base.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
@@ -2405,9 +2405,9 @@
|
||||
<target state="translated">Droits</target>
|
||||
<jms:reference-file line="62">web/admin/editusers_quotas.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="4e4528018d1a0aa11f7dc17b5425174a7436d334" resname="Drop index">
|
||||
<trans-unit id="4e4528018d1a0aa11f7dc17b5425174a7436d334" resname="Drop index" approved="yes">
|
||||
<source>Drop index</source>
|
||||
<target state="new">Drop index</target>
|
||||
<target state="translated">Supprimer les index</target>
|
||||
<jms:reference-file line="34">SearchEngine/Elastic/ElasticsearchSettingsFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="3a9c043f68c147a7c8d8c2fa14ddfaba6e05da62" resname="Duree" approved="yes">
|
||||
@@ -2673,7 +2673,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="56848224e379e98e9a4cbcad0b51a0e99f7980f0" resname="Enable this setting to share on Facebook and Twitter" approved="yes">
|
||||
<source>Enable this setting to share on Facebook and Twitter</source>
|
||||
<target state="translated">Activer le partage sur Facebook et Twitter</target>
|
||||
<target state="translated">Activer le partage par permalien et ou sur les reseaux sociaux Facebook et Twitter etc ...</target>
|
||||
<jms:reference-file line="47">Form/Configuration/ActionsFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="a8c91cee722569eccd85bf170aff83c6b8e3b4d1" resname="Enable thumbnail substitution" approved="yes">
|
||||
@@ -3133,7 +3133,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="08b45ed74896581d98b812794a2753e1572291dc" resname="General settings" approved="yes">
|
||||
<source>General settings</source>
|
||||
<target state="translated">Paramètre généraux</target>
|
||||
<target state="translated">Paramètres généraux</target>
|
||||
<jms:reference-file line="87">web/admin/dashboard.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="fc45f9b7a9a6e8b48f0e28821ec1981804dd1eb6" resname="Generate" approved="yes">
|
||||
@@ -3166,9 +3166,9 @@
|
||||
<target state="translated">Générer un fichier audio</target>
|
||||
<jms:reference-file line="44">Media/Subdef/Audio.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="d1e6306fa0e2c34c9580854b101bc70e510bc5a3" resname="Generates an image">
|
||||
<trans-unit id="d1e6306fa0e2c34c9580854b101bc70e510bc5a3" resname="Generates an image" approved="yes">
|
||||
<source>Generates an image</source>
|
||||
<target state="new">Generates an image</target>
|
||||
<target state="translated">Generates an image</target>
|
||||
<jms:reference-file line="47">Media/Subdef/Image.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="efd1f5fd46c31701d2e70555e9ab45efe27b4048" resname="Geonames server address" approved="yes">
|
||||
@@ -3183,7 +3183,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="ee485ef50d127d2c51fe0091051d8c390d03ed59" resname="Gives the option to your application to communicate with Phraseanet. This webhook can be used to trigger some actions on your application side." approved="yes">
|
||||
<source>Gives the option to your application to communicate with Phraseanet. This webhook can be used to trigger some actions on your application side.</source>
|
||||
<target state="translated">Donne la possibilité à votre application de communiquer avec Phraseanet . Ce Webhook peut être utilisé pour déclencher des actions sur l'application distante.</target>
|
||||
<target state="translated">Donne la possibilité à votre application de communiquer avec Phraseanet. Ce Webhook peut être utilisé pour déclencher des actions sur l'application distante.</target>
|
||||
<jms:reference-file line="75">web/developers/application.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="61dedcf053ff33692baacbf7789c5d7195d9acbe" resname="Good" approved="yes">
|
||||
@@ -3280,7 +3280,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="78860a4e5b33556e6a8947485d8b042d9e58234e" resname="Hide information about users" approved="yes">
|
||||
<source>Hide information about users</source>
|
||||
<target state="translated">Masquer les informations à propos des utilisateurs.</target>
|
||||
<target state="translated">Masquer les informations à propos des utilisateurs</target>
|
||||
<jms:reference-file line="35">Form/Configuration/ModulesFormType.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="70f8bb9a8a5393ef080507a89e4b98d139000d65" resname="Home" approved="yes">
|
||||
@@ -3922,7 +3922,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="9f846b4bd423107e5593efb647a04d208aee278d" resname="Manage collection" approved="yes">
|
||||
<source>Manage collection</source>
|
||||
<target state="translated">Autoriser a gérer les paramètres de collection</target>
|
||||
<target state="translated">Autoriser à gérer les paramètres de collection</target>
|
||||
<jms:reference-file line="421">web/admin/editusers.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="b7ee3c4dd0a46c8618da4ec41c685dff32c86d6e" resname="Manage users" approved="yes">
|
||||
@@ -4334,7 +4334,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="18ee7ad22bf04f818fd95599481303c7f7d1b29f" resname="Notify third party application when an event occurs in Phraseanet" approved="yes">
|
||||
<source>Notify third party application when an event occurs in Phraseanet</source>
|
||||
<target state="translated">Notifier l'application tierce lorsqu'un événement de produit dans Phraseanet</target>
|
||||
<target state="translated">Notifier l'application tierce lorsqu'un événement se produit dans Phraseanet</target>
|
||||
<jms:reference-file line="74">TaskManager/Job/WebhookJob.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="3ccc3824ae2ffdfea7482564cbc8cf35de78766d" resname="Notify users about this publication" approved="yes">
|
||||
@@ -4444,7 +4444,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="a32c9e9a29f1f401792dddd91b4e6f493a3ab084" resname="Order has been sent" approved="yes">
|
||||
<source>Order has been sent</source>
|
||||
<target state="translated">La commande a été envoyée</target>
|
||||
<target state="translated">Le record a été envoyé.</target>
|
||||
<jms:reference-file line="162">Order/Controller/ProdOrderController.php</jms:reference-file>
|
||||
<jms:reference-file line="11">prod/orders/order_box.html.twig</jms:reference-file>
|
||||
<jms:reference-file line="16">prod/orders/order_item.html.twig</jms:reference-file>
|
||||
@@ -4683,7 +4683,7 @@
|
||||
</trans-unit>
|
||||
<trans-unit id="a845af798646902aeb0d49cd0e7efed858d74ec8" resname="Please provide the same emails." approved="yes">
|
||||
<source>Please provide the same emails.</source>
|
||||
<target state="translated">Veuillez indiquer les mêmes adresses e-mails.</target>
|
||||
<target state="translated">Veuillez indiquer les mêmes adresses e-mail.</target>
|
||||
<jms:reference-file line="143">Controller/Root/LoginController.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="96f0767cb7ea65a7f86c8c9432e80d16cf9d8680" resname="Please provide the same passwords." approved="yes">
|
||||
@@ -5975,9 +5975,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
||||
<target state="translated">Nom de la sous résolution</target>
|
||||
<jms:reference-file line="185">web/admin/subdefs.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="2dacf65959849884a011f36f76a04eebea94c5ea" resname="Submit">
|
||||
<trans-unit id="2dacf65959849884a011f36f76a04eebea94c5ea" resname="Submit" approved="no">
|
||||
<source>Submit</source>
|
||||
<target state="new">Submit</target>
|
||||
<target state="needs-translation">Envoyé</target>
|
||||
<jms:reference-file line="118">Controller/Prod/LanguageController.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="8017bd7de9961cf42f59abc587d0495a9d25c2a9" resname="Substitute" approved="yes">
|
||||
@@ -6119,9 +6119,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
||||
<target state="translated">Dispositif ciblé</target>
|
||||
<jms:reference-file line="238">classes/databox/subdef.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="5fb2e4a63ebe9160da52c28fba2f61029c85c8d6" resname="Task Edition">
|
||||
<trans-unit id="5fb2e4a63ebe9160da52c28fba2f61029c85c8d6" resname="Task Edition" approved="yes">
|
||||
<source>Task Edition</source>
|
||||
<target state="new">Task Edition</target>
|
||||
<target state="translated">Edition de la tâche</target>
|
||||
<jms:reference-file line="12">task-manager/task-editor/task.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="44b242091b360ff04d1cba06fbccad177e657d51" resname="Task Scheduler" approved="yes">
|
||||
@@ -6438,7 +6438,7 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
||||
</trans-unit>
|
||||
<trans-unit id="34c6d5d40f46508994dd884386a0ea63970f2e34" resname="Thumbnail has been successfully substitued" approved="yes">
|
||||
<source>Thumbnail has been successfully substitued</source>
|
||||
<target state="translated">La vignette a été substitué</target>
|
||||
<target state="translated">La vignette a été substituée</target>
|
||||
<jms:reference-file line="268">Controller/Prod/ToolsController.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="56972a74c8bd7510e5ca07b4d56bf31fdc495aa5" resname="Thumbnails directory is mounted to be accessible via HTTP, while other files are not." approved="yes">
|
||||
@@ -7107,7 +7107,7 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
||||
</trans-unit>
|
||||
<trans-unit id="150bc8f4e8e0665adb7e938871ad71280390272e" resname="Vous etes authentifie avec succes" approved="yes">
|
||||
<source>Vous etes authentifie avec succes</source>
|
||||
<target state="translated">Vous êtes authentifié avec succès</target>
|
||||
<target state="translated">Vous êtes authentifié(e) avec succès</target>
|
||||
<jms:reference-file line="23">actions/Bridge/callback.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="0d3d97ffc6b526aad5b5c5e4f99df4298a48ce0b" resname="Vous etes maintenant deconnecte. A bientot." approved="yes">
|
||||
@@ -7191,7 +7191,8 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
||||
</trans-unit>
|
||||
<trans-unit id="b0b39c7242ec17b1126ffe19d3e377337b26d6c9" resname="Warning, this database is not empty" approved="yes">
|
||||
<source>Warning, this database is not empty</source>
|
||||
<target state="translated">Attention cette base n'est pas vide</target>
|
||||
<target state="translated">Attention cette base n'est pas vide, l'installeur EFFACERA le contenus de la databox.
|
||||
La base de compte sera définitivement perdus.</target>
|
||||
<jms:reference-file line="239">web/setup/step2.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="d6757e48da7a5a3de6e28f4b827526f0275f928e" resname="Watch it online" approved="yes">
|
||||
@@ -7949,7 +7950,7 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
||||
</trans-unit>
|
||||
<trans-unit id="3d84e19b243dea8a79762b90a3086d96e5cc2c00" resname="admin::base:collection: activer la collection" approved="yes">
|
||||
<source>admin::base:collection: activer la collection</source>
|
||||
<target state="translated">Collection activé</target>
|
||||
<target state="translated">Collection activée</target>
|
||||
<jms:reference-file line="34">admin/collection/collection.html.twig</jms:reference-file>
|
||||
<jms:reference-file line="122">admin/collection/collection.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
@@ -7997,9 +7998,9 @@ Pour les utilisateurs authentifiés, la demande de validation est également dis
|
||||
<target state="translated">ID de collection distante</target>
|
||||
<jms:reference-file line="32">admin/collection/collection.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="2b1cf96c4112d7f2d56254852724bb013b257db6" resname="admin::base:collection: numero de collection locale">
|
||||
<trans-unit id="2b1cf96c4112d7f2d56254852724bb013b257db6" resname="admin::base:collection: numero de collection locale" approved="yes">
|
||||
<source>admin::base:collection: numero de collection locale</source>
|
||||
<target state="new">admin::base:collection: numero de collection locale</target>
|
||||
<target state="translated">Numéro de collection locale ("base_id" côté API) :</target>
|
||||
<jms:reference-file line="33">admin/collection/collection.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="ea093555b864789074e57fea524db9414672b7b5" resname="admin::base:collection: renommer la collection" approved="yes">
|
||||
@@ -9160,7 +9161,7 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le
|
||||
</trans-unit>
|
||||
<trans-unit id="f028c914f99c0a53ff40c1e7c59632363769fb79" resname="caption YAML" approved="yes">
|
||||
<source>caption YAML</source>
|
||||
<target state="translated">Notice YAML</target>
|
||||
<target state="translated">Notice Texte</target>
|
||||
<jms:reference-file line="221">classes/record/exportElement.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="c071dc277993ce1e921c0330a4ee8d358c12c792" resname="cgus :: Attention, si vous refuser les CGUs de cette base, vous n'y aures plus acces" approved="yes">
|
||||
@@ -11680,7 +11681,7 @@ Si vous recevez cet e-mail sans l'avoir sollicité, merci de l'ignorer ou de le
|
||||
</trans-unit>
|
||||
<trans-unit id="4dad4c5a6197e99672c6874d0f98be7cc6e0c2fb" resname="rotation 90 degres anti-horaires" approved="yes">
|
||||
<source>rotation 90 degres anti-horaires</source>
|
||||
<target state="translated">Rotation de 90 degrés anti-horaires</target>
|
||||
<target state="translated">Rotation de 90 degrés anti-horaire</target>
|
||||
<jms:reference-file line="192">actions/Tools/index.html.twig</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="6dc920f883ae4f5315f948bda35ef66573caf4bd" resname="rotation 90 degres horaire" approved="yes">
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" xmlns:jms="urn:jms:translation" version="1.2">
|
||||
<file date="2016-05-24T15:19:59Z" source-language="en" target-language="de" datatype="plaintext" original="not.available">
|
||||
<header>
|
||||
@@ -6,28 +6,28 @@
|
||||
<note>The source node in most cases contains the sample message as written by the developer. If it looks like a dot-delimitted string such as "form.label.firstname", then the developer has not provided a default message.</note>
|
||||
</header>
|
||||
<body>
|
||||
<trans-unit id="96f0767cb7ea65a7f86c8c9432e80d16cf9d8680" resname="Please provide the same passwords.">
|
||||
<trans-unit id="96f0767cb7ea65a7f86c8c9432e80d16cf9d8680" resname="Please provide the same passwords." approved="yes">
|
||||
<source>Please provide the same passwords.</source>
|
||||
<target state="new">Please provide the same passwords.</target>
|
||||
<target state="translated">Bitte geben Sie diesselbe Passwörter ein.</target>
|
||||
<jms:reference-file line="44">Form/Login/PhraseaRecoverPasswordForm.php</jms:reference-file>
|
||||
<jms:reference-file line="36">Form/Login/PhraseaRenewPasswordForm.php</jms:reference-file>
|
||||
<jms:reference-file line="49">Form/Login/PhraseaRegisterForm.php</jms:reference-file>
|
||||
</trans-unit>
|
||||
<trans-unit id="90b8c9717bb7ed061dbf20fe1986c8b8593d43d4" resname="The token provided is not valid anymore">
|
||||
<trans-unit id="90b8c9717bb7ed061dbf20fe1986c8b8593d43d4" resname="The token provided is not valid anymore" approved="yes">
|
||||
<source>The token provided is not valid anymore</source>
|
||||
<target state="new">The token provided is not valid anymore</target>
|
||||
<target state="translated">Das Token ist nicht mehr gültig</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="3ec3c0393db07f3269c5d2d248c74a3a8076f016" resname="This email is already bound to an account">
|
||||
<trans-unit id="3ec3c0393db07f3269c5d2d248c74a3a8076f016" resname="This email is already bound to an account" approved="yes">
|
||||
<source>This email is already bound to an account</source>
|
||||
<target state="new">This email is already bound to an account</target>
|
||||
<target state="translated">Diese Email ist schon mit einem Konto verbunden</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="dc59db88e4e333e27d6be7e175ff4acc432bb713" resname="This login is already registered">
|
||||
<trans-unit id="dc59db88e4e333e27d6be7e175ff4acc432bb713" resname="This login is already registered" approved="yes">
|
||||
<source>This login is already registered</source>
|
||||
<target state="new">This login is already registered</target>
|
||||
<target state="translated">Dieser Benutzername ist schon registriert</target>
|
||||
</trans-unit>
|
||||
<trans-unit id="b0a490c0314b6917d3e8b7523b3686b85954328f" resname="This place does not seem to exist.">
|
||||
<trans-unit id="b0a490c0314b6917d3e8b7523b3686b85954328f" resname="This place does not seem to exist." approved="yes">
|
||||
<source>This place does not seem to exist.</source>
|
||||
<target state="new">This place does not seem to exist.</target>
|
||||
<target state="translated">Dieser Ort scheint nicht zu existieren</target>
|
||||
</trans-unit>
|
||||
</body>
|
||||
</file>
|
||||
|
@@ -327,6 +327,15 @@ div.switch_right.unchecked {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#users_page .user_modifier {
|
||||
margin-top: 5px;
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
#users_page .user_deleter {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
@import './databases';
|
||||
@import './fields';
|
||||
@import './tables';
|
||||
|
@@ -1,4 +1,5 @@
|
||||
var p4 = p4 || {};
|
||||
var datepickerLang = [];
|
||||
|
||||
var commonModule = (function ($, p4) {
|
||||
$(document).ready(function () {
|
||||
@@ -13,7 +14,7 @@ var commonModule = (function ($, p4) {
|
||||
|
||||
var locale = $.cookie('locale');
|
||||
|
||||
var jq_date = p4.lng = typeof locale !== "undefined" ? locale.split('_').reverse().pop() : 'en';
|
||||
var jq_date = p4.lng = typeof locale !== "undefined" ? locale.split('_').reverse().pop() : $('html').attr('lang');
|
||||
|
||||
if (jq_date == 'en') {
|
||||
jq_date = 'en-GB';
|
||||
@@ -21,6 +22,7 @@ var commonModule = (function ($, p4) {
|
||||
|
||||
$.datepicker.setDefaults({showMonthAfterYear: false});
|
||||
$.datepicker.setDefaults($.datepicker.regional[jq_date]);
|
||||
datepickerLang = $.datepicker.regional[jq_date];
|
||||
|
||||
var cache = $('#mainMenu .helpcontextmenu');
|
||||
$('.context-menu-item', cache).hover(function () {
|
||||
|
@@ -402,6 +402,8 @@ table th i {
|
||||
#sc_wrapper .thumb_wrapper {
|
||||
position: absolute;
|
||||
top: 28px;
|
||||
left: 0px;
|
||||
right: 0px;
|
||||
}
|
||||
|
||||
.record_display_box .notes_overlay {
|
||||
|
@@ -189,7 +189,7 @@
|
||||
<li>
|
||||
<form class='form-inline' method="post" action="{{ path('admin_collection_enable', {'bas_id': baseId}) }}">
|
||||
{{ baseId|bas_labels(app) }}
|
||||
<a href="#" class="btn btn-mini submiter">{{ "Activer" | trans }}></a>
|
||||
<a href="#" class="btn btn-mini reload submiter">{{ "Activer" | trans }}></a>
|
||||
</form>
|
||||
</li>
|
||||
{% endfor %}
|
||||
@@ -375,6 +375,10 @@
|
||||
} else if(submitLink.hasClass('reload-tree')) {
|
||||
AdminApp.LeftView.reloadTree('bases:bases', true);
|
||||
}
|
||||
//display message
|
||||
if (typeof datas.msg !== "undefined") {
|
||||
alert(datas.msg);
|
||||
}
|
||||
} else {
|
||||
alert(datas.msg);
|
||||
}
|
||||
|
@@ -37,9 +37,13 @@
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
datePicker();
|
||||
function datePicker()
|
||||
{
|
||||
$(document).ready(function () {
|
||||
$.datepicker.setDefaults(datepickerLang);
|
||||
datePicker();
|
||||
});
|
||||
|
||||
function datePicker()
|
||||
{
|
||||
var dates = $('.dmin, .dmax');
|
||||
$('.dmin').datepicker({
|
||||
defaultDate: -10,
|
||||
@@ -73,5 +77,5 @@ function datePicker()
|
||||
var instance = $('.dmax').data("datepicker");
|
||||
$('.dmax').datepicker("option", 'minDate', $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, "{{datas.limited_from}}", instance.settings));
|
||||
{% endif %}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@@ -33,9 +33,12 @@
|
||||
</form>
|
||||
|
||||
<script type="text/javascript">
|
||||
datePicker();
|
||||
function datePicker()
|
||||
{
|
||||
$(document).ready(function () {
|
||||
$.datepicker.setDefaults(datepickerLang);
|
||||
datePicker();
|
||||
});
|
||||
function datePicker()
|
||||
{
|
||||
var dates = $('.dmin, .dmax');
|
||||
$('.dmin').datepicker({
|
||||
defaultDate: -10,
|
||||
@@ -73,5 +76,5 @@ function datePicker()
|
||||
$('.dmax').datepicker("option", 'minDate', $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, "{{datas.limited_from}}", instance.settings));
|
||||
}
|
||||
{% endif %}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
@@ -54,6 +54,9 @@
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
<button class="user_modifier btn">{{ 'boutton::modifier' | trans }}</button>
|
||||
<button class="user_deleter btn">{{ 'Supprimer' | trans }}</button>
|
||||
|
||||
<form id="users_apply_template" method="post" action="{{ path('admin_users_apply_template') }}" target="_self" class="form-inline pull-left no-ajax" style="margin:0">
|
||||
<fieldset class="admin_head_opts">
|
||||
<span>{{ 'Apply a template' | trans }}</span>
|
||||
@@ -77,45 +80,45 @@
|
||||
<table id="users" cellspacing="0" cellpadding="0" border="0" class="admintable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align: center;" class="sortable {{ parm.srt == 'usr_id' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<th style="text-align: center;" class="sortable {{ parm.srt == 'id' ? 'sorted' : '' }} {{ parm.ord == 'ASC' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>{{ 'admin::compte-utilisateur id utilisateur' | trans }}</span>
|
||||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="usr_id" />
|
||||
<span class="ord_notifier">{{ parm.ord == 'ASC' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="id" />
|
||||
</th>
|
||||
<th class="sortable {{ parm.srt == 'usr_login' ? 'sorted' : '' }} ">
|
||||
<th class="sortable {{ parm.srt == 'login' ? 'sorted' : '' }} {{ parm.ord == 'ASC' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>{{ 'admin::compte-utilisateur identifiant' | trans }}</span>
|
||||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="usr_login" />
|
||||
<span class="ord_notifier">{{ parm.ord == 'ASC' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="login" />
|
||||
</th>
|
||||
<th class="sortable {{ parm.srt == 'usr_nom' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<th class="sortable {{ parm.srt == 'first_name' ? 'sorted' : '' }} {{ parm.ord == 'ASC' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>{{ 'First/Last Name' | trans }}</span>
|
||||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="usr_nom" />
|
||||
<span class="ord_notifier">{{ parm.ord == 'ASC' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="first_name" />
|
||||
</th>
|
||||
<th class="sortable {{ parm.srt == 'societe' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<th class="sortable {{ parm.srt == 'company' ? 'sorted' : '' }} {{ parm.ord == 'ASC' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>{{ 'admin::compte-utilisateur societe' | trans }}</span>
|
||||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="societe" />
|
||||
<span class="ord_notifier">{{ parm.ord == 'ASC' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="company" />
|
||||
</th>
|
||||
<th class="sortable {{ parm.srt == 'usr_mail' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<th class="sortable {{ parm.srt == 'email' ? 'sorted' : '' }} {{ parm.ord == 'ASC' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>{{ 'admin::compte-utilisateur email' | trans }}</span>
|
||||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="usr_mail" />
|
||||
<span class="ord_notifier">{{ parm.ord == 'ASC' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="email" />
|
||||
</th>
|
||||
<th class="sortable {{ parm.srt == 'pays' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<th class="sortable {{ parm.srt == 'country' ? 'sorted' : '' }} {{ parm.ord == 'ASC' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>{{ 'admin::compte-utilisateur pays' | trans }}</span>
|
||||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="pays" />
|
||||
<span class="ord_notifier">{{ parm.ord == 'ASC' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="country" />
|
||||
</th>
|
||||
<th class="sortable {{ parm.srt == 'lastModel' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<th class="sortable {{ parm.srt == 'last_model' ? 'sorted' : '' }} {{ parm.ord == 'ASC' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>{{ 'admin::compte-utilisateur dernier modele applique' | trans }}</span>
|
||||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="lastModel" />
|
||||
<span class="ord_notifier">{{ parm.ord == 'ASC' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="last_model" />
|
||||
</th>
|
||||
<th class="sortable {{ parm.srt == 'usr_creationdate' ? 'sorted' : '' }} {{ parm.ord == 'asc' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<th class="sortable {{ parm.srt == 'created' ? 'sorted' : '' }} {{ parm.ord == 'ASC' ? 'sort_asc' : 'sort_desc' }}">
|
||||
<span>{{ 'admin::compte-utilisateur date de creation' | trans }}</span>
|
||||
<span class="ord_notifier">{{ parm.ord == 'asc' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="usr_creationdate" />
|
||||
<span class="ord_notifier">{{ parm.ord == 'ASC' ? '▼' : '▲' }}</span>
|
||||
<input type="hidden" name="srt" value="created" />
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -207,8 +210,6 @@
|
||||
{% set n_par_page = 50 %}
|
||||
<option value="50" {% if parm['per_page'] == 50%}selected="selected"{% endif %}>{% trans with {'%n_par_page%' : n_par_page} %}%n_par_page% par page{% endtrans %}</option>
|
||||
</select>
|
||||
<button class="user_modifier btn">{{ 'boutton::modifier' | trans }}</button>
|
||||
<button class="user_deleter btn">{{ 'Supprimer' | trans }}</button>
|
||||
|
||||
<input type="hidden" name="total_results" value="{{users.get_total()}}"/>
|
||||
<input type="hidden" name="page" value="{{users.get_page()}}"/>
|
||||
@@ -268,11 +269,11 @@
|
||||
var sort = $('input', $this).val();
|
||||
|
||||
if ((sort == $('#users_page_form input[name="srt"]').val())
|
||||
&& ($('#users_page_form input[name="ord"]').val() == 'asc')) {
|
||||
var ord = 'desc';
|
||||
&& ($('#users_page_form input[name="ord"]').val() == 'ASC')) {
|
||||
var ord = 'DESC';
|
||||
}
|
||||
else {
|
||||
var ord = 'asc';
|
||||
var ord = 'ASC';
|
||||
}
|
||||
|
||||
$('#users_page_form input[name="srt"]').val(sort);
|
||||
@@ -434,7 +435,7 @@
|
||||
});
|
||||
|
||||
$('#users tbody tr, #users tbody td').on('dblclick', function (evt) {
|
||||
$('#users_page_form .user_modifier').trigger('click');
|
||||
$('.user_modifier').trigger('click');
|
||||
});
|
||||
|
||||
$('#users tbody tr, #users tbody td').on('click', function (evt) {
|
||||
@@ -543,7 +544,7 @@
|
||||
return false;
|
||||
});
|
||||
|
||||
$('#users_page_form .user_modifier').on('click', function () {
|
||||
$('.user_modifier').on('click', function () {
|
||||
var users = p4.users.sel.join(';');
|
||||
if (users === '') {
|
||||
return false;
|
||||
@@ -564,7 +565,7 @@
|
||||
return false;
|
||||
});
|
||||
|
||||
$('#users_page_form .user_deleter').on('click', function () {
|
||||
$('.user_deleter').on('click', function () {
|
||||
var users = p4.users.sel.join(';');
|
||||
if (users === '') {
|
||||
return false;
|
||||
@@ -649,6 +650,26 @@
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
$("#users_page_form .input-mini").keydown(function (e) {
|
||||
if (e.which == 13) {
|
||||
//prevent form from being submitted
|
||||
e.preventDefault();
|
||||
}
|
||||
});
|
||||
$("#users_page_form .input-mini").keyup(function (e) {
|
||||
if (e.which == 13) {
|
||||
e.preventDefault();
|
||||
var form = $('#users_page_form');
|
||||
var current_page = parseInt($('.input-mini').val());
|
||||
var perPage = parseInt($('select[name="per_page"]', form).val());
|
||||
current_page = isNaN(current_page) || current_page < 1
|
||||
|| current_page > {{ pages|floor }} ? 1 : current_page;
|
||||
var offset_start = (current_page-1) * perPage;
|
||||
$('input[name="offset_start"]', form).val(offset_start);
|
||||
$('#users_page_form').trigger('submit');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function exportlist()
|
||||
|
@@ -20,6 +20,10 @@
|
||||
<script type="text/javascript" src="/assets/vendors/modernizr/modernizr{% if not app.debug %}.min{% endif %}.js"></script>
|
||||
<script type="text/javascript" src="/assets/vendors/jquery/jquery{% if not app.debug %}.min{% endif %}.js"></script>
|
||||
<script type="text/javascript" src="/assets/vendors/bootstrap/js/bootstrap{% if not app.debug %}.min{% endif %}.js"></script>
|
||||
<script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
|
||||
<script type="text/javascript">
|
||||
google.charts.load('42', {packages: ['corechart']});
|
||||
</script>
|
||||
{% block rss %}{% endblock %}
|
||||
{% block javascript %}{% endblock %}
|
||||
</head>
|
||||
|
@@ -134,7 +134,7 @@
|
||||
{% endif %}
|
||||
</li>
|
||||
<li>
|
||||
<a target="_blank" href="https://docs.phraseanet.com/3.8/">
|
||||
<a target="_blank" href="https://docs.phraseanet.com/4.0/">
|
||||
<span>
|
||||
{{ 'phraseanet:: aide' | trans }}
|
||||
<span style="display:inline-block;cursor:pointer;padding:0;border:none;" id="help-trigger"> <i class="icon-caret-down"></i></span>
|
||||
|
@@ -54,7 +54,7 @@
|
||||
<div class="span5">
|
||||
<div class="well well-small">
|
||||
<p>{{ "Decouvrez la documentation" | trans }}</p>
|
||||
<a href="http://developer.phraseanet.com/" target="_blank" class="btn btn-large text-center input-block-level">
|
||||
<a href="https://docs.phraseanet.com/4.0/en/Devel/" target="_blank" class="btn btn-large text-center input-block-level">
|
||||
{{ "Demarrer avec l\'API Phraseanet" | trans }}
|
||||
</a>
|
||||
</div>
|
||||
|
@@ -143,6 +143,8 @@
|
||||
|
||||
$(document).ready(function(){
|
||||
prodApp.appEvents.emit('workzone.doRemoveWarning', "{% if app['settings'].getUserSetting(app.getAuthenticatedUser(), "warning_on_delete_story") %}true{% else %}false{% endif %}");
|
||||
prodApp.appEvents.emit('search.setFilterFacet', "{% if app['settings'].getUserSetting(app.getAuthenticatedUser(), "facet") %}{{ app['settings'].getUserSetting(app.getAuthenticatedUser(), "facet") }}{% else %}false{% endif %}")
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
@@ -662,12 +664,19 @@
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="box">
|
||||
<h1>{{ 'index::advance_search: facet' | trans }}</h1>
|
||||
{% set facetFilter = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'facet') %}
|
||||
<label class="checkbox inline" for="ADVSRCH_FILTER_FACET" style="margin-bottom: 1em">
|
||||
<input id="ADVSRCH_FILTER_FACET" type="checkbox" name="filter_facet" {% if facetFilter == 'true' %}checked="checked"{% endif %}>
|
||||
{{ 'index::advance_search: disable-facet' | trans }}
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="PREVIEWBOX" class="PNB10 ui-dialog " style="overflow:hidden;">
|
||||
<div class="PNB" style="right:180px;">
|
||||
<div id="PREVIEWTITLE" style="height:55px;bottom:auto;" class="PNB">
|
||||
<div class="PNB10 ui-corner-top" id='PREVIEWTITLEWRAPPER'>
|
||||
<div style="padding-top: 0px; padding-left: 5px;">
|
||||
@@ -679,17 +688,26 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="PNB" style="right:180px;">
|
||||
<div class="PNB" style="top:55px;">
|
||||
<div id="PREVIEWLEFT" class="preview_col PNB" style="width:60%;right:auto;overflow:hidden;">
|
||||
<div id="PREVIEWCURRENT" class="ui-corner-bottom PNB10" style="top:0;height:116px;bottom:auto;">
|
||||
<div id="PREVIEWCURRENT" class="ui-corner-bottom PNB10" style="top:11px;height:116px;bottom:auto;">
|
||||
<div id="PREVIEWCURRENTGLOB" style=""></div>
|
||||
</div>
|
||||
<div class="PNB10" style="top:146px;">
|
||||
<button id="left-btn" class="invisible-btn preview-navigate-action" data-direction="backward">
|
||||
<i class="icon-caret-left"></i>
|
||||
</button>
|
||||
<button id="right-btn" class="invisible-btn preview-navigate-action" data-direction="forward">
|
||||
<i class="icon-caret-right"></i>
|
||||
</button>
|
||||
</div>
|
||||
<div id="PREVIEWIMGCONT" class="dblclick preview_col_cont PNB10" style="overflow:hidden;top:146px;"></div>
|
||||
</div>
|
||||
<div class="gui_vsplitter gui_vsplitter2" style="left:60%;">
|
||||
|
||||
</div>
|
||||
<div id="PREVIEWRIGHT" class="preview_col PNB">
|
||||
<div id="PREVIEWRIGHT" class="preview_col PNB" style="top:0px;left:60%;overflow:hidden;">
|
||||
<div id="PREVIEWIMGDESC" class="PNB10">
|
||||
<ul class="PNB" style="height:30px;bottom:auto;">
|
||||
<li><a href="#PREVIEWIMGDESCINNER-BOX">{{ 'preview:: Description' | trans }}</a></li>
|
||||
@@ -720,7 +738,7 @@
|
||||
<span class="ui-button-icon-primary ui-icon ui-icon-closethick"></span><span class="ui-button-text">close</span>
|
||||
</button>
|
||||
</div>
|
||||
<div id="PREVIEWOTHERS" style="top:40px;" class="PNB10 ui-corner-all">
|
||||
<div id="PREVIEWOTHERS" style="top:95px;" class="PNB10 ui-corner-all">
|
||||
<div id="PREVIEWOTHERSINNER" style=""></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -767,4 +785,14 @@
|
||||
<div id="modal_feed" title="{{ 'action : publier' | trans }}" style="display:none;"></div>
|
||||
<div id="dialog_dwnl" title="{{ 'action : exporter' | trans }}" style="display:none;"></div>
|
||||
<script type="text/javascript" id="bitly_loader"></script>
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function(){
|
||||
$('#right-btn').mouseenter(function() {
|
||||
$('#right-btn i').stop(true, true).fadeIn(200).delay(500).fadeOut(200);
|
||||
});
|
||||
$('#left-btn').mouseenter(function() {
|
||||
$('#left-btn i').stop(true, true).fadeIn(200).delay(500).fadeOut(200);
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
@@ -47,14 +47,20 @@
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<div class="wrapper_diaspo">
|
||||
<div class="cont_infos">
|
||||
<div>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" class="preview-navigate-action" data-direction="backward"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" class="preview-navigate-action" data-direction="forward"/><br/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<button class="preview-navigate-action" data-direction="backward">
|
||||
<i class="icon-caret-left"></i>
|
||||
</button>
|
||||
<button class="preview-navigate-action" data-direction="forward">
|
||||
<i class="icon-caret-right"></i>
|
||||
</button><br/>
|
||||
<span onclick="startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span onclick="stopSlide()" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL">
|
||||
{% include 'prod/preview/tools.html.twig' %}
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -6,19 +6,19 @@
|
||||
{% if can_edit %}
|
||||
<div class="edit_button" style="text-align:right">
|
||||
<a href="#" class="edit-record-action" data-kind="record" data-id="{{ record.get_serialize_key }}">
|
||||
<img style="vertical-align:middle" src="/assets/common/images/icons/ppen_history.png" width="16" class="btn-image"/>
|
||||
{{ 'action : editer' | trans }}
|
||||
<img style="vertical-align:middle" src="/assets/common/images/icons/ppen_history.png" />
|
||||
<span style="vertical-align: middle">{{ 'action : editer' | trans }}</span>
|
||||
</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div style="text-align:center;">
|
||||
<div style="text-align:center;">
|
||||
{% for flag in record_flags(record) %}
|
||||
<img src="{{ flag.path }}" title="{{ attribute(flag.labels, app.locale) }}" />
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% if record.is_from_reg() %}
|
||||
{% if record.is_from_reg() %}
|
||||
{{macro.caption(record, can_see_business)}}
|
||||
{% else %}
|
||||
{% else %}
|
||||
{{macro.caption(record, can_see_business)}}
|
||||
{% endif %}
|
||||
{% endif %}
|
@@ -45,14 +45,20 @@
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<div class="wrapper_diaspo">
|
||||
<div class="cont_infos">
|
||||
<div>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" class="preview-navigate-action" data-direction="backward"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" class="preview-navigate-action" data-direction="forward"/><br/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<button class="preview-navigate-action" data-direction="backward">
|
||||
<i class="icon-caret-left"></i>
|
||||
</button>
|
||||
<button class="preview-navigate-action" data-direction="forward">
|
||||
<i class="icon-caret-right"></i>
|
||||
</button><br/>
|
||||
<span onclick="startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span onclick="stopSlide()" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL">
|
||||
{% include 'prod/preview/tools.html.twig' %}
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -1,19 +1,203 @@
|
||||
|
||||
{% if record.get_view_popularity() %}
|
||||
<br>
|
||||
<div id="visualisation-chart-div" class="chart">
|
||||
{{ 'preview::statistiques de visualisation pour le lien' | trans }}
|
||||
<br/>
|
||||
<img src="{{record.get_view_popularity().get_url()}}" />
|
||||
{% endif %}
|
||||
|
||||
{% if record.get_refferer_popularity() %}
|
||||
<br>
|
||||
<img src="{{record.get_refferer_popularity().get_url()}}" />
|
||||
{% endif %}
|
||||
|
||||
{% if record.get_download_popularity() %}
|
||||
<br>
|
||||
<div id="chart_visualisation" style="width: 100%; min-width: 250px; max-width: 1000px"></div>
|
||||
</div>
|
||||
<div id="download-chart-div" class="chart">
|
||||
{{ 'preview::statistiques de telechargement' | trans }}
|
||||
<br>
|
||||
<img src="{{record.get_download_popularity().get_url()}}" />
|
||||
{% endif %}
|
||||
<div id="chart_download" style="width: 100%; min-width: 250px; max-width: 1000px"></div>
|
||||
</div>
|
||||
<div id="pie-chart-div" class="chart">
|
||||
<div id="chart_pie" style="width: 100%; min-width: 250px; max-width: 1000px"></div>
|
||||
</div>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(document).ready(function() {
|
||||
|
||||
var referrersValues = [], statistics = null;
|
||||
statistics = {{ record.getStatistics(30)|json_encode()|raw }};
|
||||
if(statistics != null) {
|
||||
var arrayViews = [], arrayDownloads = [], arrayReferrers = [];
|
||||
|
||||
var statisticsArrayByDay = $.map(statistics.by_day, function(value, index) {
|
||||
return [value];
|
||||
});
|
||||
statisticsArrayByDay.map(function(objByDay) {
|
||||
//[new Date(2017, 0, 1), 5],
|
||||
arrayViews.push([new Date(objByDay.label), objByDay.views]);
|
||||
arrayDownloads.push([new Date(objByDay.label), objByDay.downloads]);
|
||||
});
|
||||
|
||||
//add header for piechart
|
||||
arrayReferrers.push(['Links', 'Visualisation']);
|
||||
var statisticsReferrers = $.map(statistics.referrers, function(value, index) {
|
||||
return [value];
|
||||
});
|
||||
|
||||
//sort array in descending order - referrers count
|
||||
//statisticsReferrers = _.sortBy(statisticsReferrers, "count").reverse();
|
||||
statisticsReferrers.sort(function(a,b) {return a.count - b.count}).reverse()
|
||||
statisticsReferrers.map(function(objReferrers) {
|
||||
referrersValues.push(objReferrers.count);
|
||||
arrayReferrers.push([objReferrers.label, objReferrers.count]);
|
||||
});
|
||||
|
||||
if(arrayViews.length > 0) {
|
||||
$('#visualisation-chart-div').show();
|
||||
google.charts.setOnLoadCallback(drawChartVisualisation);
|
||||
}else {
|
||||
$('#visualisation-chart-div').hide();
|
||||
}
|
||||
|
||||
if(arrayDownloads.length > 0) {
|
||||
$('#download-chart-div').show();
|
||||
google.charts.setOnLoadCallback(drawChartDownload);
|
||||
}else {
|
||||
$('#download-chart-div').hide();
|
||||
}
|
||||
|
||||
//check if all values are equals to zero to hide piechart if true
|
||||
var allZeros = referrersValues.every(function(element) {
|
||||
return element === 0;
|
||||
});
|
||||
if(arrayReferrers.length > 0 && !allZeros) {
|
||||
$('#pie-chart-div').show();
|
||||
google.charts.setOnLoadCallback(drawPieChart);
|
||||
}else {
|
||||
$('#pie-chart-div').hide();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function drawChartVisualisation() {
|
||||
var maxValue = statistics.max_views < 4 ? 4 : statistics.max_views;
|
||||
var data = new google.visualization.DataTable();
|
||||
data.addColumn('date', '{{ 'preview::date' | trans }}');
|
||||
data.addColumn('number', '{{ 'preview::visualisation' | trans }}');
|
||||
|
||||
data.addRows(arrayViews);
|
||||
|
||||
var options = {
|
||||
titleTextStyle: {
|
||||
color: 'white',
|
||||
fontSize: 13
|
||||
},
|
||||
colors: ['#FF9900'],
|
||||
'backgroundColor': 'transparent',
|
||||
chartArea: {width:'70%',height:'70%'},
|
||||
hAxis: {
|
||||
title: '{{ 'preview::date' | trans }}',
|
||||
titleTextStyle: {
|
||||
color: 'white',
|
||||
fontSize: 11
|
||||
},
|
||||
textStyle:{color: '#FFF'},
|
||||
format: 'd/M/yy',
|
||||
gridlines: {color: 'none'},
|
||||
min: new Date(statistics.from),
|
||||
max: new Date(statistics.to),
|
||||
baselineColor: '#FFF'
|
||||
},
|
||||
vAxis: {
|
||||
title: '{{ 'preview::visualisation' | trans }}',
|
||||
titleTextStyle: {
|
||||
color: 'white',
|
||||
fontSize: 11
|
||||
},
|
||||
textStyle:{color: '#FFF'},
|
||||
minValue: 0,
|
||||
maxValue: maxValue,
|
||||
baselineColor: '#FFF'
|
||||
},
|
||||
legend: {position: 'top', textStyle: {color: 'white'}},
|
||||
};
|
||||
|
||||
var chart = new google.visualization.ColumnChart(
|
||||
document.getElementById('chart_visualisation'));
|
||||
|
||||
chart.draw(data, options);
|
||||
}
|
||||
|
||||
|
||||
function drawChartDownload() {
|
||||
var maxValue = statistics.max_downloads < 4 ? 4 : statistics.max_downloads;
|
||||
var data = new google.visualization.DataTable();
|
||||
data.addColumn('date', '{{ 'preview::date' | trans }}');
|
||||
data.addColumn('number', '{{ 'preview::downloads' | trans }}');
|
||||
|
||||
data.addRows(arrayDownloads);
|
||||
|
||||
var options = {
|
||||
titleTextStyle: {
|
||||
color: 'white',
|
||||
fontSize: 13
|
||||
},
|
||||
colors: ['#FF9900'],
|
||||
'backgroundColor': 'transparent',
|
||||
chartArea: {width:'70%',height:'70%'},
|
||||
hAxis: {
|
||||
title: '{{ 'preview::date' | trans }}',
|
||||
titleTextStyle: {
|
||||
color: 'white',
|
||||
fontSize: 11
|
||||
},
|
||||
textStyle:{color: '#FFF'},
|
||||
format: 'd/M/yy',
|
||||
gridlines: {color: 'none'},
|
||||
min: new Date(statistics.from),
|
||||
max: new Date(statistics.to),
|
||||
baselineColor: '#FFF'
|
||||
},
|
||||
vAxis: {
|
||||
title: '{{ 'preview::downloads' | trans }}',
|
||||
titleTextStyle: {
|
||||
color: 'white',
|
||||
fontSize: 11
|
||||
},
|
||||
textStyle:{color: '#FFF'},
|
||||
minValue: 0,
|
||||
maxValue: maxValue,
|
||||
baselineColor: '#FFF',
|
||||
format: '0'
|
||||
},
|
||||
legend: {position: 'top', textStyle: {color: 'white'}},
|
||||
};
|
||||
|
||||
var chart = new google.visualization.ColumnChart(
|
||||
document.getElementById('chart_download'));
|
||||
|
||||
chart.draw(data, options);
|
||||
}
|
||||
|
||||
function drawPieChart() {
|
||||
var data = google.visualization.arrayToDataTable(arrayReferrers);
|
||||
|
||||
var options = {
|
||||
'backgroundColor': 'transparent',
|
||||
is3D: true,
|
||||
colors:['#FF9900','#3FDFFD', '#14CAB5', '#CAA514', '#97853C'],
|
||||
legend: {position: 'right', textStyle: {color: 'white'}},
|
||||
chartArea: {width:'90%',height:'70%'},
|
||||
sliceVisibilityThreshold: 0
|
||||
};
|
||||
|
||||
var chart = new google.visualization.PieChart(document.getElementById('chart_pie'));
|
||||
chart.draw(data, options);
|
||||
}
|
||||
|
||||
//redrawing charts when container is resized
|
||||
$('.gui_vsplitter.gui_vsplitter2.ui-draggable').bind('drag', function() {
|
||||
drawChartVisualisation();
|
||||
drawChartDownload();
|
||||
drawPieChart();
|
||||
});
|
||||
|
||||
$(window).resize(function() {
|
||||
drawChartVisualisation();
|
||||
drawChartDownload();
|
||||
drawPieChart();
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
|
||||
</script>
|
@@ -81,14 +81,20 @@
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<div class="wrapper_diaspo">
|
||||
<div class="cont_infos">
|
||||
<div>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" class="preview-navigate-action" data-direction="backward"/>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" class="preview-navigate-action" data-direction="forward"/><br/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<button class="preview-navigate-action" data-direction="backward">
|
||||
<i class="icon-caret-left"></i>
|
||||
</button>
|
||||
<button class="preview-navigate-action" data-direction="forward">
|
||||
<i class="icon-caret-right"></i>
|
||||
</button><br/>
|
||||
<span onclick="startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span onclick="stopSlide()" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL">
|
||||
{% include 'prod/preview/tools.html.twig' %}
|
||||
</div>
|
||||
</div>
|
||||
|
@@ -41,12 +41,19 @@
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
<div class="wrapper_diaspo">
|
||||
<div class="cont_infos">
|
||||
<div>
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:10px;" class="preview-navigate-action" data-direction="backward">
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:10px;" class="preview-navigate-action" data-direction="forward"><br/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }} </span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide"> {{ 'preview:: arreter le diaporama' | trans }} </span>
|
||||
<button class="preview-navigate-action" data-direction="backward">
|
||||
<i class="icon-caret-left"></i>
|
||||
</button>
|
||||
<button class="preview-navigate-action" data-direction="forward">
|
||||
<i class="icon-caret-right"></i>
|
||||
</button><br/>
|
||||
<span onclick="startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }} </span>
|
||||
<span onclick="stopSlide()" id="stop_slide"> {{ 'preview:: arreter le diaporama' | trans }} </span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL"></div>
|
||||
</div>
|
||||
|
||||
|
@@ -1,12 +1,16 @@
|
||||
|
||||
<div id="PREVIEWCURRENTCONT" class="PNB10">
|
||||
<div style="margin:2px 0;">
|
||||
<img src="/assets/common/images/icons/light_left.gif" style="margin-right:20px;" class="preview-navigate-action" data-direction="backward"/>
|
||||
<span class="preview-start-slideshow-action" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span class="preview-stop-slideshow-action" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<img src="/assets/common/images/icons/light_right.gif" style="margin-left:20px;" class="preview-navigate-action" data-direction="forward"/><br/>
|
||||
<div id="PREVIEWCURRENTCONT" class="PNB10">
|
||||
<div style="margin:2px 0;" class="cont_infos">
|
||||
<button class="preview-navigate-action" data-direction="backward">
|
||||
<i class="icon-caret-left"></i>
|
||||
</button>
|
||||
<span onclick="startSlide()" id="start_slide">{{ 'preview:: demarrer le diaporama' | trans }}</span>
|
||||
<span onclick="stopSlide()" id="stop_slide">{{ 'preview:: arreter le diaporama' | trans }}</span>
|
||||
<button class="preview-navigate-action" data-direction="forward">
|
||||
<i class="icon-caret-right"></i>
|
||||
</button><br/>
|
||||
</div>
|
||||
</div>
|
||||
<div id="PREVIEWTOOL" style="top:0;bottom:auto;">
|
||||
</div>
|
||||
<div id="PREVIEWTOOL" style="top:0;bottom:auto;">
|
||||
{% include 'prod/preview/tools.html.twig' %}
|
||||
</div>
|
||||
</div>
|
@@ -16,12 +16,12 @@
|
||||
</a>
|
||||
{% endif %}
|
||||
|
||||
<div class="print-record-action" data-kind="record" data-id="{{record.get_sbas_id()}}_{{record.get_record_id()}}">
|
||||
<div class="record-print-action" data-kind="record" data-id="{{record.get_sbas_id()}}_{{record.get_record_id()}}">
|
||||
<img src="/assets/common/images/icons/print_history.png" height="16" width="16" class="btn-image" title="'{{ 'action : print' | trans }}">
|
||||
</div>
|
||||
|
||||
{% if app.getAclForUser(app.getAuthenticatedUser()).has_right_on_base(record.get_base_id(), constant('\\ACL::CANDWNLDHD')) or app.getAclForUser(app.getAuthenticatedUser()).has_right_on_base(record.get_base_id(), constant('\\ACL::CANDWNLDPREVIEW')) %}
|
||||
<div class="export-record-action" data-kind="record" data-id="{{record.get_sbas_id()}}_{{record.get_record_id()}}">
|
||||
<div class="record-export-action" data-kind="record" data-id="{{record.get_sbas_id()}}_{{record.get_record_id()}}">
|
||||
<img src="/assets/common/images/icons/disktt_history.png" height="16" width="16" class="btn-image" title="{{ 'action : exporter' | trans }}">
|
||||
{# <img style="vertical-align:middle" src="/assets/common/images/icons/basket.png" width="16">#}
|
||||
|
||||
|
@@ -8,7 +8,6 @@
|
||||
{% endif %}
|
||||
</ul>
|
||||
<div class="ui-tabs-panels-container">
|
||||
<div id="THPD_T">
|
||||
<div id='THPD_WIZARDS' style="position:relative; top:0px; left:0px; height:auto; width:100%;">
|
||||
<div class="wizard wiz_0">
|
||||
<!-- empty wizard -->
|
||||
@@ -26,13 +25,15 @@
|
||||
<i class="icon-search"></i>
|
||||
</button>
|
||||
|
||||
<button type="button" class="th_cancel btn btn-inverse thesaurus-cancel-wizard-action">
|
||||
<i class="icon-undo"></i>
|
||||
</button>
|
||||
<input type="button" class="th_clear"/>
|
||||
<input type="button" class="th_cancel btn thesaurus-cancel-wizard-action" value="{{ 'boutton::annuler' | trans }}"/>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<div id='THPD_T_treeBox' class="searchZone"
|
||||
style="position:absolute; top:45px; bottom:0px; left:0px; width:100%;">
|
||||
<div id="THPD_T">
|
||||
<div id='THPD_T_treeBox' class="searchZone">
|
||||
<div class="thesaurus-branch-action" data-context="thesaurus">
|
||||
<ul class="treeview" id="THPD_T_tree">
|
||||
{% for base in search_datas['bases'] %}
|
||||
|
@@ -346,7 +346,7 @@
|
||||
<tr>
|
||||
<td>
|
||||
<p>
|
||||
<a href="https://docs.phraseanet.com/3.8/Admin/" target="_blank">
|
||||
<a href="https://docs.phraseanet.com/4.0/Admin/" target="_blank">
|
||||
{{ 'Prerequisite and Configuration' | trans }}
|
||||
</a>
|
||||
</p>
|
||||
|
@@ -9,7 +9,7 @@
|
||||
parent.currentBaseId = {{ bid }};
|
||||
parent.currentBaseName = "{{ name | e('js') }}";
|
||||
parent.document.title = "{{ 'phraseanet:: thesaurus' | trans | e('js') }}";
|
||||
parent.document.getElementById("baseName").innerHTML = "{{ 'phraseanet:: thesaurus' | e('js') }}";
|
||||
parent.document.getElementById("baseName").innerHTML = "{{ 'phraseanet:: thesaurus' | trans | e('js') }}";
|
||||
parent.thesaurusChanged = false;
|
||||
|
||||
parent.document.getElementById("T0").innerHTML='<DIV class="glossaire" id="CTERMS">' +
|
||||
|
Reference in New Issue
Block a user