mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-18 07:23:13 +00:00
Merge branch '3.6' of github.com:alchemy-fr/Phraseanet into 3.6
This commit is contained in:
@@ -28,6 +28,7 @@ rewrite ^/prod/push/.*$ /prod/router.php last;
|
|||||||
rewrite ^/prod/baskets/.*$ /prod/router.php last;
|
rewrite ^/prod/baskets/.*$ /prod/router.php last;
|
||||||
rewrite ^/prod/story/.*$ /prod/router.php last;
|
rewrite ^/prod/story/.*$ /prod/router.php last;
|
||||||
rewrite ^/prod/WorkZone/.*$ /prod/router.php last;
|
rewrite ^/prod/WorkZone/.*$ /prod/router.php last;
|
||||||
|
rewrite ^/prod/language/.*$ /prod/router.php last;
|
||||||
rewrite ^/prod/$ /prod/router.php last;
|
rewrite ^/prod/$ /prod/router.php last;
|
||||||
|
|
||||||
rewrite ^/robots.txt$ /index.php last;
|
rewrite ^/robots.txt$ /index.php last;
|
||||||
|
@@ -271,7 +271,7 @@ return call_user_func(function()
|
|||||||
$route = "/applications/dev/new";
|
$route = "/applications/dev/new";
|
||||||
$app->get($route, function() use ($app)
|
$app->get($route, function() use ($app)
|
||||||
{
|
{
|
||||||
$var = array("violations" => null);
|
$var = array("violations" => null, 'form' => null);
|
||||||
|
|
||||||
return $app['response']('api/auth/application_dev_new.twig', $var);
|
return $app['response']('api/auth/application_dev_new.twig', $var);
|
||||||
});
|
});
|
||||||
|
@@ -51,6 +51,7 @@ return call_user_func(function()
|
|||||||
$app->mount('/printer/', new Controller\Printer());
|
$app->mount('/printer/', new Controller\Printer());
|
||||||
$app->mount('/feeds', new Controller\Feed());
|
$app->mount('/feeds', new Controller\Feed());
|
||||||
$app->mount('/tooltip', new Controller\Tooltip());
|
$app->mount('/tooltip', new Controller\Tooltip());
|
||||||
|
$app->mount('/language', new Controller\Language());
|
||||||
$app->mount('/', new Controller\Root());
|
$app->mount('/', new Controller\Root());
|
||||||
|
|
||||||
$app->error(function (\Exception $e, $code) use ($app)
|
$app->error(function (\Exception $e, $code) use ($app)
|
||||||
|
104
lib/Alchemy/Phrasea/Controller/Prod/Language.php
Normal file
104
lib/Alchemy/Phrasea/Controller/Prod/Language.php
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Phraseanet
|
||||||
|
*
|
||||||
|
* (c) 2005-2010 Alchemy
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace Alchemy\Phrasea\Controller\Prod;
|
||||||
|
|
||||||
|
use Silex\Application;
|
||||||
|
use Silex\ControllerProviderInterface;
|
||||||
|
use Silex\ControllerCollection;
|
||||||
|
use Symfony\Component\HttpFoundation\Request;
|
||||||
|
use Symfony\Component\HttpFoundation\Response;
|
||||||
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
|
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||||
|
use Alchemy\Phrasea\Helper\Record as RecordHelper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @package
|
||||||
|
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||||
|
* @link www.phraseanet.com
|
||||||
|
*/
|
||||||
|
class Language implements ControllerProviderInterface
|
||||||
|
{
|
||||||
|
|
||||||
|
public function connect(Application $app)
|
||||||
|
{
|
||||||
|
$controller = new ControllerCollection();
|
||||||
|
|
||||||
|
$controller->get("/", function(Application $app)
|
||||||
|
{
|
||||||
|
$registry = $app["Core"]->getRegistry();
|
||||||
|
|
||||||
|
$out = array();
|
||||||
|
$out['thesaurusBasesChanged'] = _('prod::recherche: Attention : la liste des bases selectionnees pour la recherche a ete changee.');
|
||||||
|
$out['confirmDel'] = _('paniers::Vous etes sur le point de supprimer ce panier. Cette action est irreversible. Souhaitez-vous continuer ?');
|
||||||
|
$out['serverError'] = _('phraseanet::erreur: Une erreur est survenue, si ce probleme persiste, contactez le support technique');
|
||||||
|
$out['serverName'] = $registry->get('GV_ServerName');
|
||||||
|
$out['serverTimeout'] = _('phraseanet::erreur: La connection au serveur Phraseanet semble etre indisponible');
|
||||||
|
$out['serverDisconnected'] = _('phraseanet::erreur: Votre session est fermee, veuillez vous re-authentifier');
|
||||||
|
$out['hideMessage'] = _('phraseanet::Ne plus afficher ce message');
|
||||||
|
$out['confirmGroup'] = _('Supprimer egalement les documents rattaches a ces regroupements');
|
||||||
|
$out['confirmDelete'] = _('reponses:: Ces enregistrements vont etre definitivement supprimes et ne pourront etre recuperes. Etes vous sur ?');
|
||||||
|
$out['cancel'] = _('boutton::annuler');
|
||||||
|
$out['deleteTitle'] = _('boutton::supprimer');
|
||||||
|
$out['edit_hetero'] = _('prod::editing valeurs heterogenes, choisir \'remplacer\', \'ajouter\' ou \'annuler\'');
|
||||||
|
$out['confirm_abandon'] = _('prod::editing::annulation: abandonner les modification ?');
|
||||||
|
$out['loading'] = _('phraseanet::chargement');
|
||||||
|
$out['valider'] = _('boutton::valider');
|
||||||
|
$out['annuler'] = _('boutton::annuler');
|
||||||
|
$out['rechercher'] = _('boutton::rechercher');
|
||||||
|
$out['renewRss'] = _('boutton::renouveller');
|
||||||
|
$out['candeletesome'] = _('Vous n\'avez pas les droits pour supprimer certains documents');
|
||||||
|
$out['candeletedocuments'] = _('Vous n\'avez pas les droits pour supprimer ces documents');
|
||||||
|
$out['needTitle'] = _('Vous devez donner un titre');
|
||||||
|
$out['newPreset'] = _('Nouveau modele');
|
||||||
|
$out['fermer'] = _('boutton::fermer');
|
||||||
|
$out['feed_require_fields'] = _('Vous n\'avez pas rempli tous les champ requis');
|
||||||
|
$out['feed_require_feed'] = _('Vous n\'avez pas selectionne de fil de publication');
|
||||||
|
$out['removeTitle'] = _('panier::Supression d\'un element d\'un reportage');
|
||||||
|
$out['confirmRemoveReg'] = _('panier::Attention, vous etes sur le point de supprimer un element du reportage. Merci de confirmer votre action.');
|
||||||
|
$out['advsearch_title'] = _('phraseanet::recherche avancee');
|
||||||
|
$out['bask_rename'] = _('panier:: renommer le panier');
|
||||||
|
$out['reg_wrong_sbas'] = _('panier:: Un reportage ne peux recevoir que des elements provenants de la base ou il est enregistre');
|
||||||
|
$out['error'] = _('phraseanet:: Erreur');
|
||||||
|
$out['warningDenyCgus'] = _('cgus :: Attention, si vous refuser les CGUs de cette base, vous n\'y aures plus acces');
|
||||||
|
$out['cgusRelog'] = _('cgus :: Vous devez vous reauthentifier pour que vos parametres soient pris en compte.');
|
||||||
|
$out['editDelMulti'] = _('edit:: Supprimer %s du champ dans les records selectionnes');
|
||||||
|
$out['editAddMulti'] = _('edit:: Ajouter %s au champ courrant pour les records selectionnes');
|
||||||
|
$out['editDelSimple'] = _('edit:: Supprimer %s du champ courrant');
|
||||||
|
$out['editAddSimple'] = _('edit:: Ajouter %s au champ courrant');
|
||||||
|
$out['cantDeletePublicOne'] = _('panier:: vous ne pouvez pas supprimer un panier public');
|
||||||
|
$out['wrongsbas'] = _('panier:: Un reportage ne peux recevoir que des elements provenants de la base ou il est enregistre');
|
||||||
|
$out['max_record_selected'] = _('Vous ne pouvez pas selectionner plus de 400 enregistrements');
|
||||||
|
$out['confirmRedirectAuth'] = _('invite:: Redirection vers la zone d\'authentification, cliquez sur OK pour continuer ou annulez');
|
||||||
|
$out['error_test_publi'] = _('Erreur : soit les parametres sont incorrects, soit le serveur distant ne repond pas');
|
||||||
|
$out['test_publi_ok'] = _('Les parametres sont corrects, le serveur distant est operationnel');
|
||||||
|
$out['some_not_published'] = _('Certaines publications n\'ont pu etre effectuees, verifiez vos parametres');
|
||||||
|
$out['error_not_published'] = _('Aucune publication effectuee, verifiez vos parametres');
|
||||||
|
$out['warning_delete_publi'] = _('Attention, en supprimant ce preregalge, vous ne pourrez plus modifier ou supprimer de publications prealablement effectues avec celui-ci');
|
||||||
|
$out['some_required_fields'] = _('edit::certains documents possedent des champs requis non remplis. Merci de les remplir pour valider votre editing');
|
||||||
|
$out['nodocselected'] = _('Aucun document selectionne');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$Serializer = $app['Core']['Serializer'];
|
||||||
|
|
||||||
|
return new Response(
|
||||||
|
$Serializer->serialize($out, 'json')
|
||||||
|
, 200
|
||||||
|
, array('Content-Type' => 'application/json')
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
return $controller;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -406,11 +406,22 @@ class API_OAuth2_Adapter extends OAuth2
|
|||||||
'response_type' => $request->get('response_type', false)
|
'response_type' => $request->get('response_type', false)
|
||||||
, 'client_id' => $request->get('client_id', false)
|
, 'client_id' => $request->get('client_id', false)
|
||||||
, 'redirect_uri' => $request->get('redirect_uri', false)
|
, 'redirect_uri' => $request->get('redirect_uri', false)
|
||||||
, 'scope' => $request->get('scope', false)
|
|
||||||
, 'state' => $request->get('state', false)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
$scope = $request->get('scope', false);
|
||||||
|
$state = $request->get('state', false);
|
||||||
|
|
||||||
|
if($state)
|
||||||
|
{
|
||||||
|
$datas["state"] = $state;
|
||||||
|
}
|
||||||
|
|
||||||
|
if($scope)
|
||||||
|
{
|
||||||
|
$datas["scope"] = $scope;
|
||||||
|
}
|
||||||
|
|
||||||
$filters = array(
|
$filters = array(
|
||||||
"client_id" => array(
|
"client_id" => array(
|
||||||
"filter" => FILTER_VALIDATE_REGEXP
|
"filter" => FILTER_VALIDATE_REGEXP
|
||||||
|
@@ -1,83 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of Phraseanet
|
|
||||||
*
|
|
||||||
* (c) 2005-2010 Alchemy
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* @package
|
|
||||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
|
||||||
* @link www.phraseanet.com
|
|
||||||
*/
|
|
||||||
class module_prod
|
|
||||||
{
|
|
||||||
|
|
||||||
|
|
||||||
function getLanguage($lng = false)
|
|
||||||
{
|
|
||||||
$appbox = appbox::get_instance();
|
|
||||||
$session = $appbox->get_session();
|
|
||||||
$lng = $lng ? $lng : Session_Handler::get_locale();
|
|
||||||
$registry = $appbox->get_registry();
|
|
||||||
|
|
||||||
$out = array();
|
|
||||||
$out['thesaurusBasesChanged'] = _('prod::recherche: Attention : la liste des bases selectionnees pour la recherche a ete changee.');
|
|
||||||
$out['confirmDel'] = _('paniers::Vous etes sur le point de supprimer ce panier. Cette action est irreversible. Souhaitez-vous continuer ?');
|
|
||||||
$out['serverError'] = _('phraseanet::erreur: Une erreur est survenue, si ce probleme persiste, contactez le support technique');
|
|
||||||
$out['serverName'] = $registry->get('GV_ServerName');
|
|
||||||
$out['serverTimeout'] = _('phraseanet::erreur: La connection au serveur Phraseanet semble etre indisponible');
|
|
||||||
$out['serverDisconnected'] = _('phraseanet::erreur: Votre session est fermee, veuillez vous re-authentifier');
|
|
||||||
$out['hideMessage'] = _('phraseanet::Ne plus afficher ce message');
|
|
||||||
$out['confirmGroup'] = _('Supprimer egalement les documents rattaches a ces regroupements');
|
|
||||||
$out['confirmDelete'] = _('reponses:: Ces enregistrements vont etre definitivement supprimes et ne pourront etre recuperes. Etes vous sur ?');
|
|
||||||
$out['cancel'] = _('boutton::annuler');
|
|
||||||
$out['deleteTitle'] = _('boutton::supprimer');
|
|
||||||
$out['edit_hetero'] = _('prod::editing valeurs heterogenes, choisir \'remplacer\', \'ajouter\' ou \'annuler\'');
|
|
||||||
$out['confirm_abandon'] = _('prod::editing::annulation: abandonner les modification ?');
|
|
||||||
$out['loading'] = _('phraseanet::chargement');
|
|
||||||
$out['valider'] = _('boutton::valider');
|
|
||||||
$out['annuler'] = _('boutton::annuler');
|
|
||||||
$out['rechercher'] = _('boutton::rechercher');
|
|
||||||
$out['renewRss'] = _('boutton::renouveller');
|
|
||||||
$out['candeletesome'] = _('Vous n\'avez pas les droits pour supprimer certains documents');
|
|
||||||
$out['candeletedocuments'] = _('Vous n\'avez pas les droits pour supprimer ces documents');
|
|
||||||
$out['needTitle'] = _('Vous devez donner un titre');
|
|
||||||
$out['newPreset'] = _('Nouveau modele');
|
|
||||||
$out['fermer'] = _('boutton::fermer');
|
|
||||||
$out['feed_require_fields'] = _('Vous n\'avez pas rempli tous les champ requis');
|
|
||||||
$out['feed_require_feed'] = _('Vous n\'avez pas selectionne de fil de publication');
|
|
||||||
$out['removeTitle'] = _('panier::Supression d\'un element d\'un reportage');
|
|
||||||
$out['confirmRemoveReg'] = _('panier::Attention, vous etes sur le point de supprimer un element du reportage. Merci de confirmer votre action.');
|
|
||||||
$out['advsearch_title'] = _('phraseanet::recherche avancee');
|
|
||||||
$out['bask_rename'] = _('panier:: renommer le panier');
|
|
||||||
$out['reg_wrong_sbas'] = _('panier:: Un reportage ne peux recevoir que des elements provenants de la base ou il est enregistre');
|
|
||||||
$out['error'] = _('phraseanet:: Erreur');
|
|
||||||
$out['warningDenyCgus'] = _('cgus :: Attention, si vous refuser les CGUs de cette base, vous n\'y aures plus acces');
|
|
||||||
$out['cgusRelog'] = _('cgus :: Vous devez vous reauthentifier pour que vos parametres soient pris en compte.');
|
|
||||||
$out['editDelMulti'] = _('edit:: Supprimer %s du champ dans les records selectionnes');
|
|
||||||
$out['editAddMulti'] = _('edit:: Ajouter %s au champ courrant pour les records selectionnes');
|
|
||||||
$out['editDelSimple'] = _('edit:: Supprimer %s du champ courrant');
|
|
||||||
$out['editAddSimple'] = _('edit:: Ajouter %s au champ courrant');
|
|
||||||
$out['cantDeletePublicOne'] = _('panier:: vous ne pouvez pas supprimer un panier public');
|
|
||||||
$out['wrongsbas'] = _('panier:: Un reportage ne peux recevoir que des elements provenants de la base ou il est enregistre');
|
|
||||||
$out['max_record_selected'] = _('Vous ne pouvez pas selectionner plus de 400 enregistrements');
|
|
||||||
$out['confirmRedirectAuth'] = _('invite:: Redirection vers la zone d\'authentification, cliquez sur OK pour continuer ou annulez');
|
|
||||||
$out['error_test_publi'] = _('Erreur : soit les parametres sont incorrects, soit le serveur distant ne repond pas');
|
|
||||||
$out['test_publi_ok'] = _('Les parametres sont corrects, le serveur distant est operationnel');
|
|
||||||
$out['some_not_published'] = _('Certaines publications n\'ont pu etre effectuees, verifiez vos parametres');
|
|
||||||
$out['error_not_published'] = _('Aucune publication effectuee, verifiez vos parametres');
|
|
||||||
$out['warning_delete_publi'] = _('Attention, en supprimant ce preregalge, vous ne pourrez plus modifier ou supprimer de publications prealablement effectues avec celui-ci');
|
|
||||||
$out['some_required_fields'] = _('edit::certains documents possedent des champs requis non remplis. Merci de les remplir pour valider votre editing');
|
|
||||||
$out['nodocselected'] = _('Aucun document selectionne');
|
|
||||||
|
|
||||||
return p4string::jsonencode($out);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
@@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This file is part of Phraseanet
|
||||||
|
*
|
||||||
|
* (c) 2005-2010 Alchemy
|
||||||
|
*
|
||||||
|
* For the full copyright and license information, please view the LICENSE
|
||||||
|
* file that was distributed with this source code.
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once __DIR__ . '/../../../../PhraseanetWebTestCaseAbstract.class.inc';
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @package
|
||||||
|
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||||
|
* @link www.phraseanet.com
|
||||||
|
*/
|
||||||
|
class ControllerLanguageTest extends PhraseanetWebTestCaseAbstract
|
||||||
|
{
|
||||||
|
|
||||||
|
protected $client;
|
||||||
|
|
||||||
|
public function setUp()
|
||||||
|
{
|
||||||
|
parent::setUp();
|
||||||
|
$this->client = $this->createClient();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function createApplication()
|
||||||
|
{
|
||||||
|
return require __DIR__ . '/../../../../../Alchemy/Phrasea/Application/Prod.php';
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testRootPost()
|
||||||
|
{
|
||||||
|
$route = '/language/';
|
||||||
|
|
||||||
|
$this->client->request("GET", $route);
|
||||||
|
$this->assertTrue($this->client->getResponse()->isOk());
|
||||||
|
$this->assertEquals("application/json", $this->client->getResponse()->headers->get("content-type"));
|
||||||
|
$pageContent = json_decode($this->client->getResponse()->getContent());
|
||||||
|
$this->assertTrue(is_object($pageContent));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@@ -6,7 +6,7 @@
|
|||||||
<li>
|
<li>
|
||||||
<div>
|
<div>
|
||||||
<span class='app-row'><strong><a class="link" id="app_dev_new" href="/api/oauthv2/applications/dev/{{app.get_id}}/show">{{app.get_name}}</a></strong></span>
|
<span class='app-row'><strong><a class="link" id="app_dev_new" href="/api/oauthv2/applications/dev/{{app.get_id}}/show">{{app.get_name}}</a></strong></span>
|
||||||
<span class='app-row'>{{app.get_desciption }}</span>
|
<span class='app-row'>{{app.get_description }}</span>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@@ -30,6 +30,7 @@
|
|||||||
RewriteRule ^prod/printer/.*$ /prod/router.php [L]
|
RewriteRule ^prod/printer/.*$ /prod/router.php [L]
|
||||||
RewriteRule ^prod/story/.*$ /prod/router.php [L]
|
RewriteRule ^prod/story/.*$ /prod/router.php [L]
|
||||||
RewriteRule ^prod/WorkZone/.*$ /prod/router.php [L]
|
RewriteRule ^prod/WorkZone/.*$ /prod/router.php [L]
|
||||||
|
RewriteRule ^prod/language/.*$ /prod/router.php [L]
|
||||||
RewriteRule ^prod/$ /prod/router.php [L]
|
RewriteRule ^prod/$ /prod/router.php [L]
|
||||||
|
|
||||||
RewriteRule ^robots.txt$ /index.php [L]
|
RewriteRule ^robots.txt$ /index.php [L]
|
||||||
|
@@ -113,12 +113,9 @@ function getHome(cas, page){
|
|||||||
|
|
||||||
function getLanguage(){
|
function getLanguage(){
|
||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "GET",
|
||||||
url: "/prod/prodFeedBack.php",
|
url: "/prod/language/",
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
data: {
|
|
||||||
action: "LANGUAGE"
|
|
||||||
},
|
|
||||||
success: function(data){
|
success: function(data){
|
||||||
language = data;
|
language = data;
|
||||||
return;
|
return;
|
||||||
|
@@ -66,12 +66,6 @@ switch ($action)
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'LANGUAGE':
|
|
||||||
$session->close_storage();
|
|
||||||
require ($registry->get('GV_RootPath') . 'lib/classes/deprecated/prodUtils.php');
|
|
||||||
$module_prod = new module_prod();
|
|
||||||
$output = $module_prod->getLanguage();
|
|
||||||
break;
|
|
||||||
case 'CSS':
|
case 'CSS':
|
||||||
require ($registry->get('GV_RootPath') . 'lib/classes/deprecated/prodUtils.php');
|
require ($registry->get('GV_RootPath') . 'lib/classes/deprecated/prodUtils.php');
|
||||||
$parm = $request->get_parms('color');
|
$parm = $request->get_parms('color');
|
||||||
|
Reference in New Issue
Block a user