mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-12 12:33:26 +00:00
resolve conflict
This commit is contained in:
3
.bowerrc
3
.bowerrc
@@ -1,4 +1,3 @@
|
||||
{
|
||||
"directory" : "www/bower_components",
|
||||
"timeout": 1200000
|
||||
"directory": "www/bower_components"
|
||||
}
|
||||
|
@@ -68,7 +68,8 @@ class SubdefsController extends Controller
|
||||
$name = $delete_subef[1];
|
||||
$subdefs = $databox->get_subdef_structure();
|
||||
$subdefs->delete_subdef($group, $name);
|
||||
} elseif (count($add_subdef) === 5) {
|
||||
}
|
||||
elseif (count($add_subdef) === 5) {
|
||||
$subdefs = $databox->get_subdef_structure();
|
||||
|
||||
$group = $add_subdef['group'];
|
||||
@@ -206,13 +207,13 @@ class SubdefsController extends Controller
|
||||
*/
|
||||
protected function getSubviewsMapping()
|
||||
{
|
||||
$mapping = array(
|
||||
Type::TYPE_IMAGE => array(Subdef::TYPE_IMAGE),
|
||||
Type::TYPE_VIDEO => array(Subdef::TYPE_IMAGE, Subdef::TYPE_VIDEO, Subdef::TYPE_ANIMATION),
|
||||
Type::TYPE_AUDIO => array(Subdef::TYPE_IMAGE, Subdef::TYPE_AUDIO),
|
||||
Type::TYPE_DOCUMENT => array(Subdef::TYPE_IMAGE, Subdef::TYPE_FLEXPAPER),
|
||||
Type::TYPE_FLASH => array(Subdef::TYPE_IMAGE)
|
||||
);
|
||||
$mapping = [
|
||||
Type::TYPE_IMAGE => [Subdef::TYPE_IMAGE],
|
||||
Type::TYPE_VIDEO => [Subdef::TYPE_IMAGE, Subdef::TYPE_VIDEO, Subdef::TYPE_ANIMATION],
|
||||
Type::TYPE_AUDIO => [Subdef::TYPE_IMAGE, Subdef::TYPE_AUDIO],
|
||||
Type::TYPE_DOCUMENT => [Subdef::TYPE_IMAGE, Subdef::TYPE_FLEXPAPER],
|
||||
Type::TYPE_FLASH => [Subdef::TYPE_IMAGE]
|
||||
];
|
||||
|
||||
return $mapping;
|
||||
}
|
||||
@@ -222,11 +223,11 @@ class SubdefsController extends Controller
|
||||
*/
|
||||
protected function getConfiguration()
|
||||
{
|
||||
$config = array(
|
||||
Subdef::TYPE_IMAGE => array(
|
||||
"definitions" => array(
|
||||
$config = [
|
||||
Subdef::TYPE_IMAGE => [
|
||||
"definitions" => [
|
||||
"JPG" => null,
|
||||
"160px JPG" => array(
|
||||
"160px JPG" => [
|
||||
Image::OPTION_SIZE => "160",
|
||||
Image::OPTION_RESOLUTION => "75",
|
||||
Image::OPTION_STRIP => "yes",
|
||||
@@ -234,8 +235,8 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "75",
|
||||
Image::OPTION_ICODEC => "jpeg",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"320 px JPG (thumbnail Phraseanet)" => array(
|
||||
],
|
||||
"320 px JPG (thumbnail Phraseanet)" => [
|
||||
Image::OPTION_SIZE => "320",
|
||||
Image::OPTION_RESOLUTION => "75",
|
||||
Image::OPTION_STRIP => "yes",
|
||||
@@ -243,8 +244,8 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "75",
|
||||
Image::OPTION_ICODEC => "jpeg",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"640px JPG" => array(
|
||||
],
|
||||
"640px JPG" => [
|
||||
Image::OPTION_SIZE => "640",
|
||||
Image::OPTION_RESOLUTION => "75",
|
||||
Image::OPTION_STRIP => "yes",
|
||||
@@ -252,8 +253,8 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "75",
|
||||
Image::OPTION_ICODEC => "jpeg",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"1280px JPG (preview Phraseanet)" => array(
|
||||
],
|
||||
"1280px JPG (preview Phraseanet)" => [
|
||||
Image::OPTION_SIZE => "1280",
|
||||
Image::OPTION_RESOLUTION => "75",
|
||||
Image::OPTION_STRIP => "yes",
|
||||
@@ -261,8 +262,8 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "75",
|
||||
Image::OPTION_ICODEC => "jpeg",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"2560px JPG" => array(
|
||||
],
|
||||
"2560px JPG" => [
|
||||
Image::OPTION_SIZE => "2560",
|
||||
Image::OPTION_RESOLUTION => "75",
|
||||
Image::OPTION_STRIP => "yes",
|
||||
@@ -270,9 +271,9 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "75",
|
||||
Image::OPTION_ICODEC => "jpeg",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
],
|
||||
"PNG" => null,
|
||||
"160px PNG 8 bits" => array(
|
||||
"160px PNG 8 bits" => [
|
||||
Image::OPTION_SIZE => "160",
|
||||
Image::OPTION_RESOLUTION => "75",
|
||||
Image::OPTION_STRIP => "yes",
|
||||
@@ -280,8 +281,8 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "75",
|
||||
Image::OPTION_ICODEC => "png",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"320px PNG 8 bits" => array(
|
||||
],
|
||||
"320px PNG 8 bits" => [
|
||||
Image::OPTION_SIZE => "320",
|
||||
Image::OPTION_RESOLUTION => "75",
|
||||
Image::OPTION_STRIP => "yes",
|
||||
@@ -289,8 +290,8 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "75",
|
||||
Image::OPTION_ICODEC => "png",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"640px PNG 8 bits" => array(
|
||||
],
|
||||
"640px PNG 8 bits" => [
|
||||
Image::OPTION_SIZE => "640",
|
||||
Image::OPTION_RESOLUTION => "75",
|
||||
Image::OPTION_STRIP => "yes",
|
||||
@@ -298,8 +299,8 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "75",
|
||||
Image::OPTION_ICODEC => "png",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"1280px PNG 8 bits" => array(
|
||||
],
|
||||
"1280px PNG 8 bits" => [
|
||||
Image::OPTION_SIZE => "1280",
|
||||
Image::OPTION_RESOLUTION => "75",
|
||||
Image::OPTION_STRIP => "yes",
|
||||
@@ -307,8 +308,8 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "75",
|
||||
Image::OPTION_ICODEC => "png",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"2560px PNG 8 bits" => array(
|
||||
],
|
||||
"2560px PNG 8 bits" => [
|
||||
Image::OPTION_SIZE => "2560",
|
||||
Image::OPTION_RESOLUTION => "75",
|
||||
Image::OPTION_STRIP => "yes",
|
||||
@@ -316,9 +317,9 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "75",
|
||||
Image::OPTION_ICODEC => "png",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
],
|
||||
"TIFF" => null,
|
||||
"1280 TIFF" => array(
|
||||
"1280 TIFF" => [
|
||||
Image::OPTION_SIZE => "1280",
|
||||
Image::OPTION_RESOLUTION => "75",
|
||||
Image::OPTION_STRIP => "yes",
|
||||
@@ -326,8 +327,8 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "75",
|
||||
Image::OPTION_ICODEC => "tiff",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"2560px TIFF" => array(
|
||||
],
|
||||
"2560px TIFF" => [
|
||||
Image::OPTION_SIZE => "2560",
|
||||
Image::OPTION_RESOLUTION => "75",
|
||||
Image::OPTION_STRIP => "yes",
|
||||
@@ -335,9 +336,9 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "75",
|
||||
Image::OPTION_ICODEC => "tiff",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
),
|
||||
"form" => array(
|
||||
],
|
||||
],
|
||||
"form" => [
|
||||
Image::OPTION_SIZE => "slide",
|
||||
Image::OPTION_RESOLUTION => "slide",
|
||||
Image::OPTION_STRIP => "radio",
|
||||
@@ -345,12 +346,12 @@ class SubdefsController extends Controller
|
||||
Image::OPTION_QUALITY => "slide",
|
||||
Image::OPTION_ICODEC => "select",
|
||||
Subdef::OPTION_DEVICE => "checkbox",
|
||||
),
|
||||
),
|
||||
Subdef::TYPE_VIDEO => array(
|
||||
"definitions" => array(
|
||||
],
|
||||
],
|
||||
Subdef::TYPE_VIDEO => [
|
||||
"definitions" => [
|
||||
"video codec H264" => null,
|
||||
"144P H264 128 kbps ACC 128kbps" => array(
|
||||
"144P H264 128 kbps ACC 128kbps" => [
|
||||
Video::OPTION_AUDIOBITRATE => "128",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Video::OPTION_BITRATE => "128",
|
||||
@@ -360,8 +361,8 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "libx264",
|
||||
Video::OPTION_ACODEC => "libfaac",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"240P H264 256 kbps ACC 128kbps" => array(
|
||||
],
|
||||
"240P H264 256 kbps ACC 128kbps" => [
|
||||
Video::OPTION_AUDIOBITRATE => "128",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Video::OPTION_BITRATE => "256",
|
||||
@@ -371,8 +372,8 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "libx264",
|
||||
Video::OPTION_ACODEC => "libfaac",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"360P H264 576 kbps ACC 128kbps" => array(
|
||||
],
|
||||
"360P H264 576 kbps ACC 128kbps" => [
|
||||
Video::OPTION_AUDIOBITRATE => "128",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Video::OPTION_BITRATE => "576",
|
||||
@@ -382,8 +383,8 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "libtheora",
|
||||
Video::OPTION_ACODEC => "libfaac",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"480P H264 750 kbps ACC 128kbps" => array(
|
||||
],
|
||||
"480P H264 750 kbps ACC 128kbps" => [
|
||||
Video::OPTION_AUDIOBITRATE => "128",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Video::OPTION_BITRATE => "750",
|
||||
@@ -393,8 +394,8 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "libx264",
|
||||
Video::OPTION_ACODEC => "libfaac",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"720P H264 1492 kbps ACC 128kbps" => array(
|
||||
],
|
||||
"720P H264 1492 kbps ACC 128kbps" => [
|
||||
Video::OPTION_AUDIOBITRATE => "128",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Video::OPTION_BITRATE => "1492",
|
||||
@@ -404,8 +405,8 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "libx264",
|
||||
Video::OPTION_ACODEC => "libfaac",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"1080P H264 2420 kbps ACC 128kbps" => array(
|
||||
],
|
||||
"1080P H264 2420 kbps ACC 128kbps" => [
|
||||
Video::OPTION_AUDIOBITRATE => "128",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Video::OPTION_BITRATE => "2420",
|
||||
@@ -415,9 +416,9 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "libx264",
|
||||
Video::OPTION_ACODEC => "libfaac",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
],
|
||||
"video codec libvpx" => null,
|
||||
"144P webm 128 kbps ACC 128kbps" => array(
|
||||
"144P webm 128 kbps ACC 128kbps" => [
|
||||
Video::OPTION_AUDIOBITRATE => "128",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Video::OPTION_BITRATE => "128",
|
||||
@@ -427,8 +428,8 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "libvpx",
|
||||
Video::OPTION_ACODEC => "libfaac",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"240P webm 256 kbps ACC 128kbps" => array(
|
||||
],
|
||||
"240P webm 256 kbps ACC 128kbps" => [
|
||||
Video::OPTION_AUDIOBITRATE => "128",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Video::OPTION_BITRATE => "256",
|
||||
@@ -438,8 +439,8 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "libvpx",
|
||||
Video::OPTION_ACODEC => "libfaac",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"360P webm 576 kbps ACC 128kbps" => array(
|
||||
],
|
||||
"360P webm 576 kbps ACC 128kbps" => [
|
||||
Video::OPTION_AUDIOBITRATE => "128",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Video::OPTION_BITRATE => "576",
|
||||
@@ -449,8 +450,8 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "libvpx",
|
||||
Video::OPTION_ACODEC => "libfaac",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"480P webm 750 kbps ACC 128kbps" => array(
|
||||
],
|
||||
"480P webm 750 kbps ACC 128kbps" => [
|
||||
Video::OPTION_AUDIOBITRATE => "128",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Video::OPTION_BITRATE => "750",
|
||||
@@ -460,8 +461,8 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "libvpx",
|
||||
Video::OPTION_ACODEC => "libfaac",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"720P webm 1492 kbps ACC 128kbps" => array(
|
||||
],
|
||||
"720P webm 1492 kbps ACC 128kbps" => [
|
||||
Video::OPTION_AUDIOBITRATE => "128",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Video::OPTION_BITRATE => "1492",
|
||||
@@ -471,8 +472,8 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "libvpx",
|
||||
Video::OPTION_ACODEC => "libfaac",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"1080P webm 2420 kbps ACC 128kbps" => array(
|
||||
],
|
||||
"1080P webm 2420 kbps ACC 128kbps" => [
|
||||
Video::OPTION_AUDIOBITRATE => "128",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Video::OPTION_BITRATE => "2420",
|
||||
@@ -482,9 +483,9 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "libvpx",
|
||||
Video::OPTION_ACODEC => "libfaac",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
),
|
||||
"form" => array(
|
||||
],
|
||||
],
|
||||
"form" => [
|
||||
Video::OPTION_AUDIOBITRATE => "slide",
|
||||
Video::OPTION_AUDIOSAMPLERATE => "select",
|
||||
Video::OPTION_BITRATE => "slide",
|
||||
@@ -494,66 +495,66 @@ class SubdefsController extends Controller
|
||||
Video::OPTION_VCODEC => "select",
|
||||
Video::OPTION_ACODEC => "select",
|
||||
Subdef::OPTION_DEVICE => "checkbox",
|
||||
),
|
||||
),
|
||||
Subdef::TYPE_ANIMATION => array(
|
||||
"definitions" => array(
|
||||
"256 px fast 200 ms" => array(
|
||||
],
|
||||
],
|
||||
Subdef::TYPE_ANIMATION => [
|
||||
"definitions" => [
|
||||
"256 px fast 200 ms" => [
|
||||
Gif::OPTION_SIZE => "256",
|
||||
Gif::OPTION_DELAY => "200",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"256 px very fast 120 ms" => array(
|
||||
],
|
||||
"256 px very fast 120 ms" => [
|
||||
Gif::OPTION_SIZE => "256",
|
||||
Gif::OPTION_DELAY => "120",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"320 px fast 200 ms" => array(
|
||||
],
|
||||
"320 px fast 200 ms" => [
|
||||
Gif::OPTION_SIZE => "320",
|
||||
Gif::OPTION_DELAY => "200",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
),
|
||||
"form" => array(
|
||||
],
|
||||
],
|
||||
"form" => [
|
||||
Gif::OPTION_SIZE => "slide",
|
||||
Gif::OPTION_DELAY => "slide",
|
||||
Subdef::OPTION_DEVICE => "checkbox",
|
||||
),
|
||||
),
|
||||
Subdef::TYPE_AUDIO => array(
|
||||
"definitions" => array(
|
||||
"Low AAC 96 kbit/s" => array(
|
||||
],
|
||||
],
|
||||
Subdef::TYPE_AUDIO => [
|
||||
"definitions" => [
|
||||
"Low AAC 96 kbit/s" => [
|
||||
Audio::OPTION_AUDIOBITRATE => "100",
|
||||
Audio::OPTION_AUDIOSAMPLERATE => "8000",
|
||||
Audio::OPTION_ACODEC => "libmp3lame",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"Normal AAC 128 kbit/s" => array(
|
||||
],
|
||||
"Normal AAC 128 kbit/s" => [
|
||||
Audio::OPTION_AUDIOBITRATE => "180",
|
||||
Audio::OPTION_AUDIOSAMPLERATE => "44100",
|
||||
Audio::OPTION_ACODEC => "libmp3lame",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
"High AAC 320 kbit/s" => array(
|
||||
],
|
||||
"High AAC 320 kbit/s" => [
|
||||
Audio::OPTION_AUDIOBITRATE => "230",
|
||||
Audio::OPTION_AUDIOSAMPLERATE => "50000",
|
||||
Audio::OPTION_ACODEC => "libmp3lame",
|
||||
Subdef::OPTION_DEVICE => ["all"]
|
||||
),
|
||||
),
|
||||
"form" => array(
|
||||
],
|
||||
],
|
||||
"form" => [
|
||||
Audio::OPTION_AUDIOBITRATE => "slide",
|
||||
Audio::OPTION_AUDIOSAMPLERATE => "select",
|
||||
Audio::OPTION_ACODEC => "select",
|
||||
Subdef::OPTION_DEVICE => "checkbox",
|
||||
),
|
||||
),
|
||||
Subdef::TYPE_FLEXPAPER => array(
|
||||
"definitions" => array(
|
||||
),
|
||||
"form" => array(),
|
||||
),
|
||||
);
|
||||
],
|
||||
],
|
||||
Subdef::TYPE_FLEXPAPER => [
|
||||
"definitions" => [
|
||||
],
|
||||
"form" => [],
|
||||
],
|
||||
];
|
||||
|
||||
return $config;
|
||||
}
|
||||
|
@@ -41,7 +41,7 @@ class MoveCollectionController extends Controller
|
||||
$settings = $this->app['settings'];
|
||||
$userOrderSetting = $settings->getUserSetting($this->app->getAuthenticatedUser(), 'order_collection_by');
|
||||
// a temporary array to sort the collections
|
||||
$aName = array();
|
||||
$aName = [];
|
||||
list($ukey, $uorder) = ["order", SORT_ASC]; // default ORDER_BY_ADMIN
|
||||
switch ($userOrderSetting) {
|
||||
case $settings::ORDER_ALPHA_ASC :
|
||||
@@ -54,7 +54,8 @@ class MoveCollectionController extends Controller
|
||||
foreach ($collections as $key => $row) {
|
||||
if ($ukey == "order") {
|
||||
$aName[$key] = $row->get_ord();
|
||||
}else {
|
||||
}
|
||||
else {
|
||||
$aName[$key] = $row->get_name();
|
||||
}
|
||||
}
|
||||
|
@@ -7,9 +7,11 @@
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Alchemy\Phrasea\Core\Configuration;
|
||||
|
||||
use Alchemy\Phrasea\Application;
|
||||
|
||||
/**
|
||||
* Class StructureTemplate
|
||||
* @package Alchemy\Phrasea\Core\Configuration
|
||||
@@ -23,6 +25,7 @@ class StructureTemplate
|
||||
{
|
||||
$this->app = $app;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return $this
|
||||
* @throws \Exception
|
||||
@@ -30,14 +33,18 @@ class StructureTemplate
|
||||
public function getAvailable()
|
||||
{
|
||||
$templateList = new \DirectoryIterator($this->app['root.path'] . '/lib/conf.d/data_templates');
|
||||
if(empty($templateList)) throw new \Exception('No available structure template');
|
||||
if (empty($templateList)) {
|
||||
throw new \Exception('No available structure template');
|
||||
}
|
||||
$templates = [];
|
||||
$abbreviationLength = 2;
|
||||
foreach ($templateList as $template)
|
||||
{
|
||||
foreach ($templateList as $template) {
|
||||
if ($template->isDot()
|
||||
|| !$template->isFile()
|
||||
|| $template->getExtension() !== self::TEMPLATE_EXTENSION) continue;
|
||||
|| $template->getExtension() !== self::TEMPLATE_EXTENSION
|
||||
) {
|
||||
continue;
|
||||
}
|
||||
$name = $template->getFilename();
|
||||
$abbreviation = strtolower(substr($name, 0, $abbreviationLength));
|
||||
if (array_key_exists($abbreviation, $templates)) {
|
||||
@@ -46,8 +53,10 @@ class StructureTemplate
|
||||
$templates[$abbreviation] = $template->getBasename('.' . self::TEMPLATE_EXTENSION);
|
||||
}
|
||||
$this->templates = $templates;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
@@ -62,27 +71,34 @@ class StructureTemplate
|
||||
foreach ($this->templates as $key => $value) {
|
||||
if (($templateLength - 1) == $cpt) {
|
||||
$separator = ' and ';
|
||||
}elseif(end($this->templates) == $value){
|
||||
}
|
||||
elseif (end($this->templates) == $value) {
|
||||
$separator = '';
|
||||
}else{
|
||||
}
|
||||
else {
|
||||
$separator = ', ';
|
||||
}
|
||||
$templateToString .= $key . ' (' . $value . ')' . $separator;
|
||||
$cpt++;
|
||||
}
|
||||
|
||||
return $templateToString;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $template
|
||||
* @return mixed
|
||||
* @throws \Exception
|
||||
*/
|
||||
public function getTemplateName($template = 'en'){
|
||||
public function getTemplateName($template = 'en')
|
||||
{
|
||||
if (!array_key_exists($template, $this->templates)) {
|
||||
throw new \Exception('Not found template : ' . $template);
|
||||
}
|
||||
|
||||
return $this->templates[$template];
|
||||
}
|
||||
|
||||
/**
|
||||
* @return mixed
|
||||
*/
|
||||
|
@@ -16,6 +16,7 @@ class SubdefPreset
|
||||
* @var array
|
||||
*/
|
||||
private $definitions;
|
||||
|
||||
/**
|
||||
* @param string $mediaType
|
||||
* @param array $definitions
|
||||
@@ -29,6 +30,7 @@ class SubdefPreset
|
||||
$this->mediaType = (string)$mediaType;
|
||||
$this->definitions = $definitions;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
@@ -36,6 +38,7 @@ class SubdefPreset
|
||||
{
|
||||
return $this->label;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
|
@@ -5,6 +5,7 @@ namespace Alchemy\Phrasea\Databox\Subdef;
|
||||
class SubdefPresetProvider
|
||||
{
|
||||
private $presets = [];
|
||||
|
||||
/**
|
||||
* @param string $type Type of media for which to get presets
|
||||
* @return SubdefPreset[]
|
||||
@@ -14,6 +15,7 @@ class SubdefPresetProvider
|
||||
if (!isset($this->presets[$type])) {
|
||||
throw new \InvalidArgumentException('Invalid type');
|
||||
}
|
||||
|
||||
return $this->presets[$type];
|
||||
}
|
||||
}
|
@@ -57,7 +57,7 @@ class Prod extends Helper
|
||||
$userOrderSetting = $settings->getUserSetting($this->app->getAuthenticatedUser(), 'order_collection_by');
|
||||
|
||||
// a temporary array to sort the collections
|
||||
$aName = array();
|
||||
$aName = [];
|
||||
list($ukey, $uorder) = ["order", SORT_ASC]; // default ORDER_BY_ADMIN
|
||||
switch ($userOrderSetting) {
|
||||
case $settings::ORDER_ALPHA_ASC :
|
||||
|
@@ -350,6 +350,7 @@ div.switch_right.unchecked {
|
||||
right: 40px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
h2.subdefName {
|
||||
display: inline-block;
|
||||
margin-right: 1.5rem;
|
||||
@@ -378,6 +379,7 @@ h2.subdefName {
|
||||
color: #08c;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.subdefTab input, .langTab input {
|
||||
margin: 0;
|
||||
}
|
||||
@@ -387,6 +389,7 @@ label[for="elasticsearch_settings_highlight"] {
|
||||
margin-left: 0.5rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
input[id="elasticsearch_settings_highlight"] {
|
||||
float: left;
|
||||
}
|
||||
@@ -394,6 +397,7 @@ input[id="elasticsearch_settings_highlight"] {
|
||||
#downbutton {
|
||||
margin: 1rem 0;
|
||||
}
|
||||
|
||||
#upbutton {
|
||||
width: 100%;
|
||||
text-align: left;
|
||||
|
@@ -93,8 +93,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
function select_mediatype(type, name, selector)
|
||||
{
|
||||
function select_mediatype(type, name, selector) {
|
||||
var config = JSON.parse('{{ config |json_encode|raw }}'),
|
||||
inputPresets = '[name="' + type + '_' + name + '_presets"]',
|
||||
defType = $(selector).val();
|
||||
@@ -192,7 +191,8 @@
|
||||
// a workaround for a flaw in the demo system (http://dev.jqueryui.com/ticket/4375), ignore!
|
||||
$("#dialog:ui-dialog").dialog("destroy");
|
||||
|
||||
var name = $( "#name" ), accessclass = $( "#accessclass" ), subviewType =$( "#subviewType" ) , mediaType = $( "#mediaType" ), presets = $( "#presets" ),
|
||||
var name = $("#name"), accessclass = $("#accessclass"), subviewType = $("#subviewType"),
|
||||
mediaType = $("#mediaType"), presets = $("#presets"),
|
||||
allFields = $([]).add(name).add(accessclass).add(subviewType).add(mediaType).add(presets),
|
||||
tips = $(".validateTips");
|
||||
|
||||
@@ -230,13 +230,11 @@
|
||||
}
|
||||
}
|
||||
|
||||
function checkSpecialChar( o )
|
||||
{
|
||||
function checkSpecialChar(o) {
|
||||
var ok = true;
|
||||
var reg = new RegExp("[A-Za-z0-9-]+", "g");
|
||||
|
||||
if(o.val().match(reg)[0].length !== o.val().length)
|
||||
{
|
||||
if (o.val().match(reg)[0].length !== o.val().length) {
|
||||
ok = false;
|
||||
o.addClass("ui-state-error");
|
||||
updateTips("Special characters (except minus) or espaces are not authorized");
|
||||
@@ -294,8 +292,7 @@
|
||||
return false;
|
||||
});
|
||||
|
||||
function delete_subdef(name)
|
||||
{
|
||||
function delete_subdef(name) {
|
||||
$("#dialog-delete-subdef").dialog({
|
||||
resizable: false,
|
||||
height: 140,
|
||||
@@ -363,32 +360,41 @@
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<form method="post" action="{{ path('admin_subdefs_subdef_update', { 'sbas_id' : databox.get_sbas_id }) }}" target="_self" class="subdefs">
|
||||
<form method="post" action="{{ path('admin_subdefs_subdef_update', { 'sbas_id' : databox.get_sbas_id }) }}"
|
||||
target="_self" class="subdefs">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
{% for subdefgroup, subdeflist in subdefs %}
|
||||
<li><a class="no-ajax" href="#{{ subdefgroup }}">{{ subdefgroup }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
<button type="submit" disabled="disabled" class="btn btn-primary subviews-submit">{{ 'boutton::valider' | trans }}</button>
|
||||
<button type="submit" disabled="disabled"
|
||||
class="btn btn-primary subviews-submit">{{ 'boutton::valider' | trans }}</button>
|
||||
{% for subdefgroup, subdeflist in subdefs %}
|
||||
<div id="{{ subdefgroup }}">
|
||||
{% for subdefname , subdef in subdeflist %}
|
||||
<div>
|
||||
<input type="hidden" name="subdefs[]" value="{{ subdefgroup }}_{{ subdefname }}"/>
|
||||
<h2 class="subdefName">{{subdefname}}</h2><button class="subdef_deleter btn btn-danger btn-mini">{{ 'boutton::supprimer' | trans }}</button>
|
||||
<h2 class="subdefName">{{ subdefname }}</h2>
|
||||
<button class="subdef_deleter btn btn-danger btn-mini">{{ 'boutton::supprimer' | trans }}</button>
|
||||
<input type="hidden" name="subdef" value="{{ subdefgroup }}_{{ subdefname }}"/>
|
||||
<br/>
|
||||
<table class="subdefTab" cellspacing="0" cellpading="0" border="0" style="display:inline-block;">
|
||||
<table class="subdefTab" cellspacing="0" cellpading="0" border="0"
|
||||
style="display:inline-block;">
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="width:100px;line-height: 0.9rem;">{{ 'Telechargeable' | trans }}</td>
|
||||
<td style="width:300px;"><input type="checkbox" name="{{subdefgroup}}_{{subdefname}}_downloadable" {% if subdef.isDownloadable() %}checked="checked"{% endif %} value="1" /></td>
|
||||
<td style="width:300px;"><input type="checkbox"
|
||||
name="{{ subdefgroup }}_{{ subdefname }}_downloadable"
|
||||
{% if subdef.isDownloadable() %}checked="checked"{% endif %}
|
||||
value="1"/></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{ 'subdef.orderable' | trans }}</td>
|
||||
<td><input type="checkbox" name="{{subdefgroup}}_{{subdefname}}_orderable" {% if subdef.isOrderable() %}checked="checked"{% endif %} value="1" /></td>
|
||||
<td><input type="checkbox" name="{{ subdefgroup }}_{{ subdefname }}_orderable"
|
||||
{% if subdef.isOrderable() %}checked="checked"{% endif %} value="1"/>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -398,9 +404,12 @@
|
||||
<td>
|
||||
<select name="{{ subdefgroup }}_{{ subdefname }}_class">
|
||||
<option>{{ 'classe' | trans }}</option>
|
||||
<option value="document" {% if subdef.get_class() == "document" %}selected="selected"{% endif %}>{{ 'document' | trans }}</option>
|
||||
<option value="preview" {% if subdef.get_class() == "preview" %}selected="selected"{% endif %}>{{ 'preview' | trans }}</option>
|
||||
<option value="thumbnail" {% if subdef.get_class() == "thumbnail" %}selected="selected"{% endif %}>{{ 'tout le monde' | trans }}</option>
|
||||
<option value="document"
|
||||
{% if subdef.get_class() == "document" %}selected="selected"{% endif %}>{{ 'document' | trans }}</option>
|
||||
<option value="preview"
|
||||
{% if subdef.get_class() == "preview" %}selected="selected"{% endif %}>{{ 'preview' | trans }}</option>
|
||||
<option value="thumbnail"
|
||||
{% if subdef.get_class() == "thumbnail" %}selected="selected"{% endif %}>{{ 'tout le monde' | trans }}</option>
|
||||
</select>
|
||||
</td>
|
||||
<td></td>
|
||||
@@ -410,10 +419,12 @@
|
||||
{{ 'mediatype' | trans }}
|
||||
</td>
|
||||
<td>
|
||||
<select onchange="select_mediatype('{{subdefgroup}}', '{{subdefname}}', this);" name="{{subdefgroup}}_{{subdefname}}_mediatype">
|
||||
<select onchange="select_mediatype('{{ subdefgroup }}', '{{ subdefname }}', this);"
|
||||
name="{{ subdefgroup }}_{{ subdefname }}_mediatype">
|
||||
<option>{{ 'Choisir' | trans }}</option>
|
||||
{% for subdefType in subdef.getAvailableSubdefTypes() %}
|
||||
<option value="{{ subdefType.getType() }}" {% if subdef.getSubdefType.getType() == subdefType.getType() %}selected="selected"{% endif %}>{{ subdefType.getType() }}</option>
|
||||
<option value="{{ subdefType.getType() }}"
|
||||
{% if subdef.getSubdefType.getType() == subdefType.getType() %}selected="selected"{% endif %}>{{ subdefType.getType() }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</td>
|
||||
@@ -424,14 +435,16 @@
|
||||
{{ 'Presets' | trans }}
|
||||
</td>
|
||||
<td>
|
||||
<select onchange="populate_values('{{subdefgroup}}', '{{subdefname}}');" name="{{subdefgroup}}_{{subdefname}}_presets">
|
||||
<select onchange="populate_values('{{ subdefgroup }}', '{{ subdefname }}');"
|
||||
name="{{ subdefgroup }}_{{ subdefname }}_presets">
|
||||
<option value="custom">{{ 'Custom' | trans }}</option>
|
||||
{% set defType = subdef.getSubdefType.getType() %}
|
||||
{% for key, pressets in config[defType].definitions %}
|
||||
{% if pressets == null %}
|
||||
<option disabled="disabled">{{ key }}</option>
|
||||
{% else %}
|
||||
<option value="{{ key }}" {% if subdef.get_preset() == key %}selected="selected"{% endif %}>{{ key }}</option>
|
||||
<option value="{{ key }}"
|
||||
{% if subdef.get_preset() == key %}selected="selected"{% endif %}>{{ key }}</option>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</select>
|
||||
@@ -443,7 +456,9 @@
|
||||
Path
|
||||
</td>
|
||||
<td>
|
||||
<input class="path_testable test_writeable" type="text" value="{{subdef.get_path()}}" name="{{subdefgroup}}_{{subdefname}}_path"/>
|
||||
<input class="path_testable test_writeable" type="text"
|
||||
value="{{ subdef.get_path() }}"
|
||||
name="{{ subdefgroup }}_{{ subdefname }}_path"/>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
@@ -452,7 +467,9 @@
|
||||
{{ 'Write Metas' | trans }}
|
||||
</td>
|
||||
<td>
|
||||
<input type="checkbox" value="yes" {% if subdef.isMetadataUpdateRequired() %}checked="checked"{% endif %} name="{{subdefgroup}}_{{subdefname}}_meta"/>
|
||||
<input type="checkbox" value="yes"
|
||||
{% if subdef.isMetadataUpdateRequired() %}checked="checked"{% endif %}
|
||||
name="{{ subdefgroup }}_{{ subdefname }}_meta"/>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
@@ -465,15 +482,22 @@
|
||||
{% for code, language in app['locales.available'] %}
|
||||
<tr>
|
||||
<td style="width:100px;">{{ language }}</td>
|
||||
<td style="width:300px;"><input type="text" name="{{subdefgroup}}_{{subdefname}}_label[{{ code }}]" value="{{ subdef.get_label(code, false) }}" /></td>
|
||||
<td style="width:300px;"><input type="text"
|
||||
name="{{ subdefgroup }}_{{ subdefname }}_label[{{ code }}]"
|
||||
value="{{ subdef.get_label(code, false) }}"/>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% for subdefType in subdef.getAvailableSubdefTypes() %}
|
||||
<span class="toggle" data-toggle="#box{{subdefgroup}}{{subdefname}}{{ subdefType.getType() }}" {% if subdef.getSubdefType.getType() != subdefType.getType() %}style="display:none;"{% endif %}>
|
||||
<span class="toggle"
|
||||
data-toggle="#box{{ subdefgroup }}{{ subdefname }}{{ subdefType.getType() }}"
|
||||
{% if subdef.getSubdefType.getType() != subdefType.getType() %}style="display:none;"{% endif %}>
|
||||
{{ 'Advanced settings' | trans }}
|
||||
</span>
|
||||
<div id="box{{subdefgroup}}{{subdefname}}{{ subdefType.getType() }}" class="{{subdefgroup}}{{subdefname}}" {% if subdef.getSubdefType.getType() != subdefType.getType() %}style="display:none;"{% endif %}>
|
||||
<div id="box{{ subdefgroup }}{{ subdefname }}{{ subdefType.getType() }}"
|
||||
class="{{ subdefgroup }}{{ subdefname }}"
|
||||
{% if subdef.getSubdefType.getType() != subdefType.getType() %}style="display:none;"{% endif %}>
|
||||
<table cellspacing="0" cellpading="0" border="0" style="width:500px;">
|
||||
{% for option in subdefType.getOptions() %}
|
||||
{% set varname = subdefgroup~'_'~subdefname~'_'~subdefType.getType()~'['~ option.getName() ~']' %}
|
||||
@@ -484,7 +508,8 @@
|
||||
<td style="width:250px;">
|
||||
{% set extradata = '' %}
|
||||
{% if option.getType() == constant('\\Alchemy\\Phrasea\\Media\\Subdef\\OptionType\\OptionType::TYPE_RANGE') %}
|
||||
<div style="width:250px;" id="slider{{subdefgroup}}{{subdefname}}{{subdefType.getType()}}{{ option.getName() }}"></div>
|
||||
<div style="width:250px;"
|
||||
id="slider{{ subdefgroup }}{{ subdefname }}{{ subdefType.getType() }}{{ option.getName() }}"></div>
|
||||
<script type="text/javascript">
|
||||
|
||||
$('#slider{{ subdefgroup }}{{ subdefname }}{{ subdefType.getType() }}{{ option.getName() }}')
|
||||
@@ -515,23 +540,30 @@
|
||||
<select name="{{ varname }}">
|
||||
<option value="">{{ 'Choisir' | trans }}</option>
|
||||
{% for pot_value in option.getAvailableValues() %}
|
||||
<option value="{{ pot_value }}" {% if pot_value == option.getValue() %}selected="selected"{% endif %}>{{ pot_value }}</option>
|
||||
<option value="{{ pot_value }}"
|
||||
{% if pot_value == option.getValue() %}selected="selected"{% endif %}>{{ pot_value }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
{% elseif option.getType() == constant('\\Alchemy\\Phrasea\\Media\\Subdef\\OptionType\\OptionType::TYPE_BOOLEAN') %}
|
||||
<input name="{{varname}}" type="radio" value="yes" {% if option.getValue() %}checked="checked"{% endif %} /> {{ 'yes' | trans }}
|
||||
<input name="{{varname}}" type="radio" value="no" {% if option.getValue() is empty %}checked="checked"{% endif %}/> {{ 'no' | trans }}
|
||||
<input name="{{ varname }}" type="radio" value="yes"
|
||||
{% if option.getValue() %}checked="checked"{% endif %} /> {{ 'yes' | trans }}
|
||||
<input name="{{ varname }}" type="radio" value="no"
|
||||
{% if option.getValue() is empty %}checked="checked"{% endif %}/> {{ 'no' | trans }}
|
||||
{% elseif option.getType() == constant('\\Alchemy\\Phrasea\\Media\\Subdef\\OptionType\\OptionType::TYPE_MULTI') %}
|
||||
{% for pot_value, selected in option.Value(true) %}
|
||||
<label class="checkbox inline">
|
||||
<input type="checkbox" name="{{varname}}[]" value="{{ pot_value }}" {% if selected %}checked="checked"{% endif %}/>{{ pot_value }}
|
||||
<input type="checkbox" name="{{ varname }}[]"
|
||||
value="{{ pot_value }}"
|
||||
{% if selected %}checked="checked"{% endif %}/>{{ pot_value }}
|
||||
</label>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{% if option.type == constant('\\Alchemy\\Phrasea\\Media\\Subdef\\OptionType\\OptionType::TYPE_RANGE') %}
|
||||
<input style="width:35px;" value="{{option.value}}" id="slidervalue{{subdefgroup}}{{subdefname}}{{subdefType.getType()}}{{ option.getName() }}" name="{{varname}}" />
|
||||
<input style="width:35px;" value="{{ option.value }}"
|
||||
id="slidervalue{{ subdefgroup }}{{ subdefname }}{{ subdefType.getType() }}{{ option.getName() }}"
|
||||
name="{{ varname }}"/>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
|
@@ -138,7 +138,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;padding-right:4px;padding-left:4px;" id="help-trigger"> <i class="icon-caret-down"></i></span>
|
||||
<span style="display:inline-block;cursor:pointer;padding:0;border:none;padding-right:4px;padding-left:4px;"
|
||||
id="help-trigger"> <i class="icon-caret-down"></i></span>
|
||||
</span>
|
||||
</a>
|
||||
<table cellspacing="0" cellpadding="0" style="display:none;" class="contextMenu helpcontextmenu">
|
||||
|
@@ -31,8 +31,10 @@
|
||||
<input type="hidden" name="id" value="{{ element.getId() }}"/>
|
||||
<input type="hidden" name="title" value="{{ element.getRecord(app).get_title() }}"/>
|
||||
<input type="hidden" name="default" value="{{ element.getOrd() }}"/>
|
||||
<input type="hidden" name="date_created" value="{{ element.getRecord(app).getCreated() | date('Y-m-dTH:i:s') }}"/>
|
||||
<input type="hidden" name="date_updated" value="{{ element.getRecord(app).getUpdated() | date('Y-m-dTH:i:s') }}"/>
|
||||
<input type="hidden" name="date_created"
|
||||
value="{{ element.getRecord(app).getCreated() | date('Y-m-dTH:i:s') }}"/>
|
||||
<input type="hidden" name="date_updated"
|
||||
value="{{ element.getRecord(app).getUpdated() | date('Y-m-dTH:i:s') }}"/>
|
||||
</form>
|
||||
</div>
|
||||
{% endfor %}
|
||||
|
@@ -17,14 +17,18 @@
|
||||
</span>
|
||||
</p>
|
||||
<p>
|
||||
<a id="twitter-link" href="http://www.twitter.com/home/?status={{ subdefList[defKey].permaviewUrl }}" target="_blank">
|
||||
<img src="/assets/common/images/icons/twitter.png" title="share this on twitter" style="width:25px;vertical-align:middle;padding:0 5px;"/>
|
||||
<a id="twitter-link" href="http://www.twitter.com/home/?status={{ subdefList[defKey].permaviewUrl }}"
|
||||
target="_blank">
|
||||
<img src="/assets/common/images/icons/twitter.png" title="share this on twitter"
|
||||
style="width:25px;vertical-align:middle;padding:0 5px;"/>
|
||||
{% trans %}Send to Twitter{% endtrans %}
|
||||
</a>
|
||||
</p>
|
||||
<p>
|
||||
<a id="facebook-link" href="http://www.facebook.com/sharer.php?u={{ subdefList[defKey].permaviewUrl }}" target="_blank">
|
||||
<img src="/assets/common/images/icons/facebook.png" title="share on facebook" style="width:25px;vertical-align:middle;padding:0 5px;"/>
|
||||
<a id="facebook-link" href="http://www.facebook.com/sharer.php?u={{ subdefList[defKey].permaviewUrl }}"
|
||||
target="_blank">
|
||||
<img src="/assets/common/images/icons/facebook.png" title="share on facebook"
|
||||
style="width:25px;vertical-align:middle;padding:0 5px;"/>
|
||||
{% trans %}Send to Facebook{% endtrans %}
|
||||
</a>
|
||||
</p>
|
||||
@@ -32,19 +36,23 @@
|
||||
<form action="#">
|
||||
<div class="form-group clearfix">
|
||||
<label style="display:inline-block;">{% trans %}Resource URL{% endtrans %}</label>
|
||||
<input class="input-block-level" readonly="readonly" type="text" value="{{ subdefList[defKey].permalinkUrl }}"
|
||||
<input class="input-block-level" readonly="readonly" type="text"
|
||||
value="{{ subdefList[defKey].permalinkUrl }}"
|
||||
id="permalinkUrl"/>
|
||||
|
||||
<p class="pull-right">
|
||||
<a id="permalinkUrl-link" href="{{ subdefList[defKey].permalinkUrl }}" target="_blank">{{ 'previewLinkLabel' | trans }}</a>
|
||||
<a id="permalinkUrl-link" href="{{ subdefList[defKey].permalinkUrl }}"
|
||||
target="_blank">{{ 'previewLinkLabel' | trans }}</a>
|
||||
<a href="#" class="" id="permalinkUrlCopy">{{ 'copyClipboardLabel' | trans }}</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="form-group clearfix">
|
||||
<label>{% trans %}Detailed view URL{% endtrans %}</label>
|
||||
<input class="input-block-level" readonly="readonly" type="text" value="{{ subdefList[defKey].permaviewUrl }}" id="permaviewUrl"/>
|
||||
<input class="input-block-level" readonly="readonly" type="text"
|
||||
value="{{ subdefList[defKey].permaviewUrl }}" id="permaviewUrl"/>
|
||||
<p class="pull-right">
|
||||
<a id="permaviewUrl-link" href="{{ subdefList[defKey].permaviewUrl }}" target="_blank">{{ 'previewLinkLabel' | trans }}</a>
|
||||
<a id="permaviewUrl-link" href="{{ subdefList[defKey].permaviewUrl }}"
|
||||
target="_blank">{{ 'previewLinkLabel' | trans }}</a>
|
||||
<a href="#" class="" id="permaviewUrlCopy">{{ 'copyClipboardLabel' | trans }}</a>
|
||||
</p>
|
||||
</div>
|
||||
@@ -53,11 +61,14 @@
|
||||
<label>{% trans %}Embed code{% endtrans %}</label>
|
||||
{% spaceless %}
|
||||
<textarea class="input-block-level" rows="4" readonly="true" id="embedRecordUrl">
|
||||
<iframe width="{{ subdefList[defKey].width }}" height="{{ subdefList[defKey].height }}" src="{{ subdefList[defKey].embedUrl }}" frameborder="0" allowfullscreen></iframe>
|
||||
<iframe width="{{ subdefList[defKey].width }}" height="{{ subdefList[defKey].height }}"
|
||||
src="{{ subdefList[defKey].embedUrl }}" frameborder="0"
|
||||
allowfullscreen></iframe>
|
||||
</textarea>
|
||||
{% endspaceless %}
|
||||
<p class="pull-right">
|
||||
<a id="embedRecordUrl-link" href="{{ subdefList[defKey].embedUrl }}" target="_blank">{{ 'previewLinkLabel' | trans }}</a>
|
||||
<a id="embedRecordUrl-link" href="{{ subdefList[defKey].embedUrl }}"
|
||||
target="_blank">{{ 'previewLinkLabel' | trans }}</a>
|
||||
<a href="#" class="" id="embedCopy">{{ 'copyClipboardLabel' | trans }}</a>
|
||||
</p>
|
||||
</div>
|
||||
@@ -73,8 +84,12 @@
|
||||
assignPermalinks(this.value);
|
||||
});
|
||||
$('input.ui-state-default').hover(
|
||||
function(){$(this).addClass('ui-state-hover');},
|
||||
function(){$(this).removeClass('ui-state-hover');}
|
||||
function () {
|
||||
$(this).addClass('ui-state-hover');
|
||||
},
|
||||
function () {
|
||||
$(this).removeClass('ui-state-hover');
|
||||
}
|
||||
);
|
||||
$('#permalinkUrlCopy').on('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
@@ -12,7 +12,8 @@
|
||||
<button type="button" class="autoorder btn btn-inverse">{{ 'Re-ordonner' | trans }}</button>
|
||||
<button type="button" class="reverseorder btn btn-inverse">{{ 'Inverser' | trans }}</button>
|
||||
</form>
|
||||
<form class="form-inline span2" name="reorder" method="POST" action="{{ path('prod_stories_story_reorder', { 'sbas_id' : story.get_sbas_id(), 'record_id' : story.get_record_id() }) }}">
|
||||
<form class="form-inline span2" name="reorder" method="POST"
|
||||
action="{{ path('prod_stories_story_reorder', { 'sbas_id' : story.get_sbas_id(), 'record_id' : story.get_record_id() }) }}">
|
||||
{% for element in story.get_children() %}
|
||||
<input type="hidden" name="element[{{ element.get_record_id() }}]" value="{{ element.getNumber() }}"/>
|
||||
{% endfor %}
|
||||
|
@@ -304,7 +304,9 @@
|
||||
<td style="width:50%; vertical-align:top;">
|
||||
{% set useTruncation = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'use_truncation') %}
|
||||
<label class="checkbox inline" for="ADVSRCH_USE_TRUNCATION">
|
||||
<input id="ADVSRCH_USE_TRUNCATION" type="checkbox" class="checkbox preferences-options-use-truncation" name="truncation" {% if useTruncation == '1' or useTruncation == NULL %}checked="checked"{% endif %}>
|
||||
<input id="ADVSRCH_USE_TRUNCATION" type="checkbox"
|
||||
class="checkbox preferences-options-use-truncation" name="truncation"
|
||||
{% if useTruncation == '1' or useTruncation == NULL %}checked="checked"{% endif %}>
|
||||
{{ 'index:advanced-preferences:: use truncation' | trans }}
|
||||
</label>
|
||||
<div id="ADVSRCH_SBAS_ZONE" class="sbasglob">
|
||||
@@ -689,9 +691,12 @@
|
||||
{% set order_collection_by = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'order_collection_by') %}
|
||||
<label class="select" for="orderByName">
|
||||
<select class="preferences-options-collection-order" name="orderByName">
|
||||
<option {% if order_collection_by == constant('Alchemy\\Phrasea\\Core\\Configuration\\DisplaySettingService::ORDER_BY_ADMIN') %} selected="selected" {% endif %} value="{{ constant('Alchemy\\Phrasea\\Core\\Configuration\\DisplaySettingService::ORDER_BY_ADMIN') }}">{{ 'Defined by admin' | trans }}</option>
|
||||
<option {% if order_collection_by == constant('Alchemy\\Phrasea\\Core\\Configuration\\DisplaySettingService::ORDER_ALPHA_ASC') %} selected="selected" {% endif %} value="{{ constant('Alchemy\\Phrasea\\Core\\Configuration\\DisplaySettingService::ORDER_ALPHA_ASC') }}">{{ 'Alphabetic asc' | trans }}</option>
|
||||
<option {% if order_collection_by == constant('Alchemy\\Phrasea\\Core\\Configuration\\DisplaySettingService::ORDER_ALPHA_DESC') %} selected="selected" {% endif %} value="{{ constant('Alchemy\\Phrasea\\Core\\Configuration\\DisplaySettingService::ORDER_ALPHA_DESC') }}">{{ 'Alphabetic desc' | trans }}</option>
|
||||
<option {% if order_collection_by == constant('Alchemy\\Phrasea\\Core\\Configuration\\DisplaySettingService::ORDER_BY_ADMIN') %} selected="selected" {% endif %}
|
||||
value="{{ constant('Alchemy\\Phrasea\\Core\\Configuration\\DisplaySettingService::ORDER_BY_ADMIN') }}">{{ 'Defined by admin' | trans }}</option>
|
||||
<option {% if order_collection_by == constant('Alchemy\\Phrasea\\Core\\Configuration\\DisplaySettingService::ORDER_ALPHA_ASC') %} selected="selected" {% endif %}
|
||||
value="{{ constant('Alchemy\\Phrasea\\Core\\Configuration\\DisplaySettingService::ORDER_ALPHA_ASC') }}">{{ 'Alphabetic asc' | trans }}</option>
|
||||
<option {% if order_collection_by == constant('Alchemy\\Phrasea\\Core\\Configuration\\DisplaySettingService::ORDER_ALPHA_DESC') %} selected="selected" {% endif %}
|
||||
value="{{ constant('Alchemy\\Phrasea\\Core\\Configuration\\DisplaySettingService::ORDER_ALPHA_DESC') }}">{{ 'Alphabetic desc' | trans }}</option>
|
||||
</select>
|
||||
</label>
|
||||
</form>
|
||||
|
@@ -230,7 +230,8 @@
|
||||
<li>
|
||||
<a class="results_window {{ action.classes|default('') }}">
|
||||
{% if action.icon %}
|
||||
<img src="{{ plugin_asset(plugin.PluginName, action.icon) }}" height="16" width="16" class="btn-image"/>
|
||||
<img src="{{ plugin_asset(plugin.PluginName, action.icon) }}"
|
||||
height="16" width="16" class="btn-image"/>
|
||||
{% endif %}
|
||||
|
||||
{% set label = action.label %}
|
||||
|
@@ -44,7 +44,8 @@
|
||||
{#{% endif %}#}
|
||||
{#</p>#}
|
||||
{#{% if app['browser'].supportFileAPI() %}#}
|
||||
<a style="display: none" id="UPLOAD_HTML5_LINK" href="{{ path('upload_html5_form') }}" class="dialog full-dialog">{{ 'Use the HTML5 uploader' | trans }}</a>
|
||||
<a style="display: none" id="UPLOAD_HTML5_LINK" href="{{ path('upload_html5_form') }}"
|
||||
class="dialog full-dialog">{{ 'Use the HTML5 uploader' | trans }}</a>
|
||||
{#{% endif %}#}
|
||||
{#</td>#}
|
||||
</tr>
|
||||
@@ -59,7 +60,9 @@
|
||||
{% for sbasId, availableCollections in collections %}
|
||||
<optgroup label="{{ availableCollections['databox'].get_label(app['locale']) }}" class="select-label">
|
||||
{% for collection in availableCollections['databox_collections'] %}
|
||||
<option {% if last_used_collection == collection.get_base_id() %} selected="selected" {% endif %} value="{{ collection.get_base_id() }}" class="select-row">{{ collection.get_label(app['locale']) }}</option>
|
||||
<option {% if last_used_collection == collection.get_base_id() %} selected="selected" {% endif %}
|
||||
value="{{ collection.get_base_id() }}"
|
||||
class="select-row">{{ collection.get_label(app['locale']) }}</option>
|
||||
{% endfor %}
|
||||
</optgroup>
|
||||
{% endfor %}
|
||||
@@ -67,7 +70,8 @@
|
||||
{# collections status #}
|
||||
{% for availableCollections in collections %}
|
||||
{% for collection in availableCollections['databox_collections'] %}
|
||||
<div id="status-{{ collection.get_base_id() }}" class='collection-status' style='{{ last_used_collection == collection.get_base_id() ? "display:block" :"display:none" }}'>
|
||||
<div id="status-{{ collection.get_base_id() }}" class='collection-status'
|
||||
style='{{ last_used_collection == collection.get_base_id() ? "display:block" :"display:none" }}'>
|
||||
<h5>{{ 'upload:: Status :' | trans }} :</h5>
|
||||
<table class="status-tab">
|
||||
<tbody>
|
||||
|
@@ -46,7 +46,8 @@
|
||||
{#{{ 'Your browser does not support all HTML5 features properly.' | trans }}#}
|
||||
{#{% endif %}#}
|
||||
{#</p>#}
|
||||
<a style="display: none" id="UPLOAD_FLASH_LINK" href="{{ path('upload_flash_form') }}" class="dialog full-dialog">{{ 'Use the Flash uploader' | trans }}</a>
|
||||
<a style="display: none" id="UPLOAD_FLASH_LINK" href="{{ path('upload_flash_form') }}"
|
||||
class="dialog full-dialog">{{ 'Use the Flash uploader' | trans }}</a>
|
||||
{#</td>#}
|
||||
</tr>
|
||||
</table>
|
||||
@@ -58,9 +59,12 @@
|
||||
{% set last_used_collection = app['settings'].getUserSetting(app.getAuthenticatedUser(), 'upload_last_used_collection') %}
|
||||
<select name="base_id" class="span3 upload-options-collection" style="margin-left: 10px;">
|
||||
{% for sbasId, availableCollections in collections %}
|
||||
<optgroup label="{{ availableCollections['databox'].get_label(app['locale']) }}" class="select-label">
|
||||
<optgroup label="{{ availableCollections['databox'].get_label(app['locale']) }}"
|
||||
class="select-label">
|
||||
{% for collection in availableCollections['databox_collections'] %}
|
||||
<option {% if last_used_collection == collection.get_base_id() %} selected="selected" {% endif %} value="{{ collection.get_base_id() }}" class="select-row">{{ collection.get_label(app['locale']) }}</option>
|
||||
<option {% if last_used_collection == collection.get_base_id() %} selected="selected" {% endif %}
|
||||
value="{{ collection.get_base_id() }}"
|
||||
class="select-row">{{ collection.get_label(app['locale']) }}</option>
|
||||
{% endfor %}
|
||||
</optgroup>
|
||||
{% endfor %}
|
||||
@@ -68,7 +72,8 @@
|
||||
{# collections status #}
|
||||
{% for availableCollections in collections %}
|
||||
{% for collection in availableCollections['databox_collections'] %}
|
||||
<div id="status-{{ collection.get_base_id() }}" class='collection-status' style='{{ last_used_collection == collection.get_base_id() ? "display:block" :"display:none" }}'>
|
||||
<div id="status-{{ collection.get_base_id() }}" class='collection-status'
|
||||
style='{{ last_used_collection == collection.get_base_id() ? "display:block" :"display:none" }}'>
|
||||
<h5>{{ 'upload:: Status :' | trans }} :</h5>
|
||||
<table class="status-tab">
|
||||
<tbody>
|
||||
|
@@ -270,7 +270,8 @@
|
||||
<tr>
|
||||
<td style="text-align:right; width:80px;"><span class="label"></span> : </td>
|
||||
<td></td>
|
||||
<td><input type="text" style="width:250px;" name="term" onkeyup="inputChanged();return(false);"></td>
|
||||
<td><input type="text" style="width:250px;" name="term"
|
||||
onkeyup="inputChanged();return(false);"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td style="text-align:right">{{ 'thesaurus:: contexte' | trans }} : </td>
|
||||
|
@@ -30,10 +30,12 @@ class ShareTest extends \PhraseanetAuthenticatedWebTestCase
|
||||
{
|
||||
$this->_RouteSlash("publishers", [0 => false, 1 => true, 2 => false, 3 => true]);
|
||||
}
|
||||
|
||||
public function testRouteSlashNone()
|
||||
{
|
||||
$this->_RouteSlash("none", [0 => false, 1 => false, 2 => false, 3 => false]);
|
||||
}
|
||||
|
||||
private function _RouteSlash($setting, $expected)
|
||||
{
|
||||
$app = $this->getApplication();
|
||||
@@ -49,6 +51,7 @@ class ShareTest extends \PhraseanetAuthenticatedWebTestCase
|
||||
case ['registry', 'actions', 'social-tools']:
|
||||
return $setting;
|
||||
}
|
||||
|
||||
return $_conf->get($param, $default);
|
||||
}));
|
||||
$result = [];
|
||||
@@ -68,6 +71,7 @@ class ShareTest extends \PhraseanetAuthenticatedWebTestCase
|
||||
}
|
||||
$this->assertEquals($expected, $result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @covers Alchemy\Phrasea\Controller\Prod\Share::shareRecord
|
||||
*/
|
||||
|
Reference in New Issue
Block a user