mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-17 06:53:15 +00:00
merge
This commit is contained in:
@@ -32,6 +32,8 @@ return call_user_func(function()
|
||||
|
||||
$app = new Silex\Application();
|
||||
|
||||
$app["Core"] = bootstrap::getCore();
|
||||
|
||||
$app["appbox"] = appbox::get_instance();
|
||||
|
||||
/**
|
||||
@@ -68,7 +70,7 @@ return call_user_func(function()
|
||||
*/
|
||||
$app['api'] = function () use ($app)
|
||||
{
|
||||
return new API_V1_adapter(false, $app["appbox"]);
|
||||
return new API_V1_adapter(false, $app["appbox"], $app["Core"]);
|
||||
};
|
||||
|
||||
|
||||
|
@@ -20,7 +20,6 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||
* @link www.phraseanet.com
|
||||
*/
|
||||
|
||||
return call_user_func(
|
||||
function()
|
||||
{
|
||||
@@ -30,17 +29,29 @@ return call_user_func(
|
||||
|
||||
$app = new Silex\Application();
|
||||
|
||||
$app->get('/', function () use ($session, $appbox)
|
||||
$app['Core'] = bootstrap::getCore();
|
||||
|
||||
$app->get('/', function (Silex\Application $app) use ($session, $appbox)
|
||||
{
|
||||
User_Adapter::updateClientInfos((6));
|
||||
$basket_collection = new basketCollection($appbox, $session->get_usr_id());
|
||||
|
||||
$em = $app['Core']->getEntityManager();
|
||||
$repository = $em->getRepository('\Entities\Basket');
|
||||
|
||||
/* @var $repository \Repositories\BasketRepository */
|
||||
$basket_collection = $repository->findActiveByUser(
|
||||
$app['Core']->getAuthenticatedUser()
|
||||
);
|
||||
|
||||
$twig = new supertwig();
|
||||
$twig->addFilter(array('nl2br' => 'nl2br'));
|
||||
$browser = Browser::getInstance();
|
||||
|
||||
$template = 'lightbox/index.twig';
|
||||
if (!$browser->isNewGeneration() && !$browser->isMobile())
|
||||
{
|
||||
$template = 'lightbox/IE6/index.twig';
|
||||
}
|
||||
|
||||
$output = $twig->render($template, array(
|
||||
'baskets_collection' => $basket_collection,
|
||||
@@ -55,7 +66,7 @@ return call_user_func(
|
||||
}
|
||||
);
|
||||
|
||||
$app->get('/ajax/NOTE_FORM/{sselcont_id}/', function($sselcont_id) use ($session, $appbox)
|
||||
$app->get('/ajax/NOTE_FORM/{sselcont_id}/', function(Silex\Application $app, $sselcont_id) use ($session, $appbox)
|
||||
{
|
||||
$browser = Browser::getInstance();
|
||||
if (!$browser->isMobile())
|
||||
@@ -71,7 +82,7 @@ return call_user_func(
|
||||
}
|
||||
)->assert('sselcont_id', '\d+');
|
||||
|
||||
$app->get('/ajax/LOAD_BASKET_ELEMENT/{sselcont_id}/', function($sselcont_id)
|
||||
$app->get('/ajax/LOAD_BASKET_ELEMENT/{sselcont_id}/', function(Silex\Application $app, $sselcont_id)
|
||||
{
|
||||
$twig = new supertwig();
|
||||
$twig->addFilter(array('nl2br' => 'nl2br', 'formatoctet' => 'p4string::format_octets'));
|
||||
@@ -107,19 +118,30 @@ return call_user_func(
|
||||
$appbox = appbox::get_instance();
|
||||
$usr_id = $appbox->get_session()->get_usr_id();
|
||||
|
||||
$basket_element = basket_element_adapter::getInstance($sselcont_id);
|
||||
$basket = basket_adapter::getInstance($appbox, $basket_element->get_ssel_id(), $usr_id);
|
||||
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
$repository = $em->getRepository('\Entities\BasketElement');
|
||||
/* @var $repository \Repositories\BasketElementRepository */
|
||||
|
||||
$BasketElement = $repository->findUserElement(
|
||||
$sselcont_id
|
||||
, $app['Core']->getAuthenticatedUser()
|
||||
);
|
||||
|
||||
|
||||
$Basket = $BasketElement->getBasket();
|
||||
|
||||
$ret = array();
|
||||
$ret['number'] = $basket_element->get_record()->get_number();
|
||||
$ret['title'] = $basket_element->get_record()->get_title();
|
||||
$ret['number'] = $BasketElement->getRecord()->get_number();
|
||||
$ret['title'] = $BasketElement->getRecord()->get_title();
|
||||
|
||||
$ret['preview'] = $twig->render($template_preview, array('record' => $basket_element->get_record(), 'not_wrapped' => true));
|
||||
$ret['options_html'] = $twig->render($template_options, array('basket_element' => $basket_element));
|
||||
$ret['agreement_html'] = $twig->render($template_agreement, array('basket' => $basket, 'basket_element' => $basket_element));
|
||||
$ret['selector_html'] = $twig->render($template_selector, array('basket_element' => $basket_element));
|
||||
$ret['note_html'] = $twig->render($template_note, array('basket_element' => $basket_element));
|
||||
$ret['caption'] = $twig->render($template_caption, array('view' => 'preview', 'record' => $basket_element->get_record()));
|
||||
$ret['preview'] = $twig->render($template_preview, array('record' => $BasketElement->getRecord(), 'not_wrapped' => true));
|
||||
$ret['options_html'] = $twig->render($template_options, array('basket_element' => $BasketElement));
|
||||
$ret['agreement_html'] = $twig->render($template_agreement, array('basket' => $Basket, 'basket_element' => $BasketElement));
|
||||
$ret['selector_html'] = $twig->render($template_selector, array('basket_element' => $BasketElement));
|
||||
$ret['note_html'] = $twig->render($template_note, array('basket_element' => $BasketElement));
|
||||
$ret['caption'] = $twig->render($template_caption, array('view' => 'preview', 'record' => $BasketElement->getRecord()));
|
||||
$output = p4string::jsonencode($ret);
|
||||
|
||||
return new Response($output, 200, array('Content-Type' => 'application/json'));
|
||||
@@ -130,7 +152,7 @@ return call_user_func(
|
||||
|
||||
|
||||
|
||||
$app->get('/ajax/LOAD_FEED_ITEM/{entry_id}/{item_id}/', function($entry_id, $item_id)
|
||||
$app->get('/ajax/LOAD_FEED_ITEM/{entry_id}/{item_id}/', function(Silex\Application $app, $entry_id, $item_id)
|
||||
{
|
||||
$twig = new supertwig();
|
||||
$twig->addFilter(array('nl2br' => 'nl2br', 'formatoctet' => 'p4string::format_octets'));
|
||||
@@ -182,15 +204,25 @@ return call_user_func(
|
||||
}
|
||||
)->assert('entry_id', '\d+')->assert('item_id', '\d+');
|
||||
|
||||
$app->get('/validate/{ssel_id}/', function ($ssel_id) use ($session, $appbox)
|
||||
$app->get('/validate/{ssel_id}/', function (Silex\Application $app, $ssel_id) use ($session, $appbox)
|
||||
{
|
||||
|
||||
User_Adapter::updateClientInfos((6));
|
||||
|
||||
$browser = Browser::getInstance();
|
||||
|
||||
$basket_collection = new basketCollection($appbox, $session->get_usr_id());
|
||||
$basket = basket_adapter::getInstance($appbox, $ssel_id, $session->get_usr_id());
|
||||
$em = $app['Core']->getEntityManager();
|
||||
$repository = $em->getRepository('\Entities\Basket');
|
||||
|
||||
/* @var $repository \Repositories\BasketRepository */
|
||||
$basket_collection = $repository->findActiveByUser(
|
||||
$app['Core']->getAuthenticatedUser()
|
||||
);
|
||||
|
||||
$basket = $repository->findUserBasket(
|
||||
$ssel_id
|
||||
, $app['Core']->getAuthenticatedUser()
|
||||
);
|
||||
|
||||
if ($basket->is_valid())
|
||||
{
|
||||
@@ -220,20 +252,25 @@ return call_user_func(
|
||||
}
|
||||
)->assert('ssel_id', '\d+');
|
||||
|
||||
$app->get('/compare/{ssel_id}/', function ($ssel_id) use ($session, $appbox)
|
||||
$app->get('/compare/{ssel_id}/', function (Silex\Application $app, $ssel_id) use ($session, $appbox)
|
||||
{
|
||||
|
||||
User_Adapter::updateClientInfos((6));
|
||||
|
||||
$browser = Browser::getInstance();
|
||||
|
||||
$basket_collection = new basketCollection($appbox, $session->get_usr_id());
|
||||
$basket = basket_adapter::getInstance($appbox, $ssel_id, $session->get_usr_id());
|
||||
$em = $app['Core']->getEntityManager();
|
||||
$repository = $em->getRepository('\Entities\Basket');
|
||||
|
||||
if ($basket->is_valid())
|
||||
{
|
||||
$basket->get_first_element()->load_users_infos();
|
||||
}
|
||||
/* @var $repository \Repositories\BasketRepository */
|
||||
$basket_collection = $repository->findActiveByUser(
|
||||
$app['Core']->getAuthenticatedUser()
|
||||
);
|
||||
|
||||
$basket = $repository->findUserBasket(
|
||||
$ssel_id
|
||||
, $app['Core']->getAuthenticatedUser()
|
||||
);
|
||||
|
||||
$twig = new supertwig();
|
||||
|
||||
@@ -260,7 +297,7 @@ return call_user_func(
|
||||
|
||||
|
||||
|
||||
$app->get('/feeds/entry/{entry_id}/', function ($entry_id) use ($session, $appbox)
|
||||
$app->get('/feeds/entry/{entry_id}/', function (Silex\Application $app, $entry_id) use ($session, $appbox)
|
||||
{
|
||||
|
||||
User_Adapter::updateClientInfos((6));
|
||||
@@ -293,7 +330,7 @@ return call_user_func(
|
||||
}
|
||||
)->assert('entry_id', '\d+');
|
||||
|
||||
$app->get('/ajax/LOAD_REPORT/{ssel_id}/', function($ssel_id) use ($appbox, $app)
|
||||
$app->get('/ajax/LOAD_REPORT/{ssel_id}/', function(Silex\Application $app, $ssel_id) use ($appbox, $app)
|
||||
{
|
||||
$twig = new supertwig();
|
||||
$twig->addFilter(array('nl2br' => 'nl2br'));
|
||||
@@ -311,7 +348,7 @@ return call_user_func(
|
||||
}
|
||||
)->assert('ssel_id', '\d+');
|
||||
|
||||
$app->post('/ajax/SET_NOTE/{sselcont_id}/', function ($sselcont_id) use ($app)
|
||||
$app->post('/ajax/SET_NOTE/{sselcont_id}/', function (Silex\Application $app, $sselcont_id)
|
||||
{
|
||||
$output = array('error' => true, 'datas' => _('Erreur lors de l\'enregistrement des donnees'));
|
||||
try
|
||||
@@ -352,7 +389,7 @@ return call_user_func(
|
||||
}
|
||||
)->assert('sselcont_id', '\d+');
|
||||
|
||||
$app->post('/ajax/SET_ELEMENT_AGREEMENT/{sselcont_id}/', function($sselcont_id) use ($app)
|
||||
$app->post('/ajax/SET_ELEMENT_AGREEMENT/{sselcont_id}/', function(Silex\Application $app, $sselcont_id)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$agreement = (int) $request->get('agreement');
|
||||
@@ -362,7 +399,7 @@ return call_user_func(
|
||||
'releasable' => false,
|
||||
'datas' => _('Erreur lors de la mise a jour des donnes ')
|
||||
);
|
||||
|
||||
|
||||
try
|
||||
{
|
||||
$appbox = appbox::get_instance();
|
||||
@@ -388,7 +425,7 @@ return call_user_func(
|
||||
)->assert('sselcont_id', '\d+');
|
||||
|
||||
|
||||
$app->post('/ajax/SET_RELEASE/{ssel_id}/', function($ssel_id) use ($session, $appbox)
|
||||
$app->post('/ajax/SET_RELEASE/{ssel_id}/', function(Silex\Application $app, $ssel_id) use ($session, $appbox)
|
||||
{
|
||||
$basket = basket_adapter::getInstance($appbox, $ssel_id, $appbox->get_session()->get_usr_id());
|
||||
|
||||
|
@@ -33,6 +33,8 @@ use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
|
||||
return call_user_func(function()
|
||||
{
|
||||
$app = new Silex\Application();
|
||||
|
||||
$app['Core'] = bootstrap::getCore();
|
||||
|
||||
$app->register(new Silex\Provider\ValidatorServiceProvider(), array(
|
||||
'validator.class_path' => __DIR__ . '/../../../../lib/vendor/symfony/src',
|
||||
|
@@ -29,6 +29,8 @@ return call_user_func(
|
||||
$session = $appbox->get_session();
|
||||
|
||||
$app = new Silex\Application();
|
||||
|
||||
$app['Core'] = bootstrap::getCore();
|
||||
|
||||
|
||||
$deliver_content = function(Session_Handler $session, record_adapter $record, $subdef, $watermark, $stamp, $app)
|
||||
|
@@ -15,6 +15,7 @@ use Silex\Application;
|
||||
use Alchemy\Phrasea\Controller\Setup as Controller;
|
||||
use Alchemy\Phrasea\Controller\Utils as ControllerUtils;
|
||||
|
||||
require_once dirname(__FILE__) . '/../../../bootstrap.php';
|
||||
/**
|
||||
*
|
||||
* @package
|
||||
@@ -25,6 +26,8 @@ use Alchemy\Phrasea\Controller\Utils as ControllerUtils;
|
||||
return call_user_func(function()
|
||||
{
|
||||
$app = new Silex\Application();
|
||||
|
||||
$app['Core'] = bootstrap::getCore();
|
||||
|
||||
$app['install'] = false;
|
||||
$app['upgrade'] = false;
|
||||
|
@@ -39,8 +39,7 @@ class Users implements ControllerProviderInterface
|
||||
|
||||
$controllers->post('/rights/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$rights = new UserHelper\Edit($request);
|
||||
$rights = new UserHelper\Edit($app['Core']);
|
||||
|
||||
$template = 'admin/editusers.twig';
|
||||
$twig = new \supertwig();
|
||||
@@ -55,8 +54,7 @@ class Users implements ControllerProviderInterface
|
||||
|
||||
$controllers->get('/rights/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$rights = new UserHelper\Edit($request);
|
||||
$rights = new UserHelper\Edit($app['Core']);
|
||||
|
||||
$template = 'admin/editusers.twig';
|
||||
$twig = new \supertwig();
|
||||
@@ -71,11 +69,7 @@ class Users implements ControllerProviderInterface
|
||||
|
||||
$controllers->post('/delete/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
|
||||
|
||||
|
||||
$module = new UserHelper\Edit($request);
|
||||
$module = new UserHelper\Edit($app['Core']);
|
||||
$module->delete_users();
|
||||
|
||||
return $app->redirect('/admin/users/search/');
|
||||
@@ -88,8 +82,7 @@ class Users implements ControllerProviderInterface
|
||||
|
||||
try
|
||||
{
|
||||
$request = $app['request'];
|
||||
$rights = new UserHelper\Edit($request);
|
||||
$rights = new UserHelper\Edit($app['Core']);
|
||||
$rights->apply_rights();
|
||||
$rights->apply_infos();
|
||||
|
||||
@@ -110,8 +103,7 @@ class Users implements ControllerProviderInterface
|
||||
|
||||
$controllers->post('/rights/quotas/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$rights = new UserHelper\Edit($request);
|
||||
$rights = new UserHelper\Edit($app['Core']);
|
||||
|
||||
$template = 'admin/editusers_quotas.twig';
|
||||
$twig = new \supertwig();
|
||||
@@ -125,8 +117,7 @@ class Users implements ControllerProviderInterface
|
||||
|
||||
$controllers->post('/rights/quotas/apply/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$rights = new UserHelper\Edit($request);
|
||||
$rights = new UserHelper\Edit($app['Core']);
|
||||
$rights->apply_quotas();
|
||||
|
||||
return;
|
||||
@@ -135,8 +126,7 @@ class Users implements ControllerProviderInterface
|
||||
|
||||
$controllers->post('/rights/time/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$rights = new UserHelper\Edit($request);
|
||||
$rights = new UserHelper\Edit($app['Core']);
|
||||
|
||||
$template = 'admin/editusers_timelimit.twig';
|
||||
$twig = new \supertwig();
|
||||
@@ -150,8 +140,7 @@ class Users implements ControllerProviderInterface
|
||||
|
||||
$controllers->post('/rights/time/apply/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$rights = new UserHelper\Edit($request);
|
||||
$rights = new UserHelper\Edit($app['Core']);
|
||||
$rights->apply_time();
|
||||
|
||||
return;
|
||||
@@ -160,8 +149,7 @@ class Users implements ControllerProviderInterface
|
||||
|
||||
$controllers->post('/rights/masks/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$rights = new UserHelper\Edit($request);
|
||||
$rights = new UserHelper\Edit($app['Core']);
|
||||
|
||||
$template = 'admin/editusers_masks.twig';
|
||||
$twig = new \supertwig();
|
||||
@@ -175,46 +163,40 @@ class Users implements ControllerProviderInterface
|
||||
|
||||
$controllers->post('/rights/masks/apply/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$rights = new UserHelper\Edit($request);
|
||||
$rights = new UserHelper\Edit($app['Core']);
|
||||
$rights->apply_masks();
|
||||
|
||||
return;
|
||||
}
|
||||
);
|
||||
|
||||
$controllers->post('/search/', function() use ($app)
|
||||
$controllers->match('/search/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$users = new UserHelper\Manage($request);
|
||||
$users = new UserHelper\Manage($app['Core']);
|
||||
$template = 'admin/users.html';
|
||||
|
||||
$twig = new \supertwig();
|
||||
$twig->addFilter(array('floor' => 'floor'));
|
||||
$twig->addFilter(array('getDate' => 'phraseadate::getDate'));
|
||||
|
||||
return $twig->render($template, $users->search($request));
|
||||
return $twig->render($template, $users->search());
|
||||
}
|
||||
);
|
||||
|
||||
$controllers->get('/search/', function() use ($app)
|
||||
$controllers->post('/apply_template/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$users = new UserHelper\Manage($request);
|
||||
$template = 'admin/users.html';
|
||||
$users = UserHelper\Manage($app['Core']);
|
||||
|
||||
$users->apply_template();
|
||||
|
||||
$twig = new \supertwig();
|
||||
$twig->addFilter(array('floor' => 'floor'));
|
||||
$twig->addFilter(array('getDate' => 'phraseadate::getDate'));
|
||||
|
||||
return $twig->render($template, $users->search($request));
|
||||
return new Symfony\Component\HttpFoundation\RedirectResponse('/admin/users/search/');
|
||||
}
|
||||
);
|
||||
|
||||
$controllers->get('/typeahead/search/', function() use ($app, $appbox)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$user_query = new User_Query($appbox);
|
||||
$user_query = new \User_Query($appbox);
|
||||
|
||||
$user = User_Adapter::getInstance($appbox->get_session()->get_usr_id(), $appbox);
|
||||
$like_value = $request->get('term');
|
||||
@@ -258,7 +240,7 @@ class Users implements ControllerProviderInterface
|
||||
try
|
||||
{
|
||||
$request = $app['request'];
|
||||
$module = new UserHelper\Manage($request);
|
||||
$module = new UserHelper\Manage($app['Core']);
|
||||
if ($request->get('template') == '1')
|
||||
{
|
||||
$user = $module->create_template();
|
||||
@@ -285,7 +267,7 @@ class Users implements ControllerProviderInterface
|
||||
$controllers->post('/export/csv/', function() use ($appbox, $app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$user_query = new \User_Query($appbox);
|
||||
$user_query = new \User_Query($appbox, $app['Core']);
|
||||
|
||||
$user = \User_Adapter::getInstance($appbox->get_session()->get_usr_id(), $appbox);
|
||||
$like_value = $request->get('like_value');
|
||||
|
@@ -136,7 +136,7 @@ class Basket implements ControllerProviderInterface
|
||||
});
|
||||
|
||||
$controllers->post(
|
||||
'/{basket_id}/{basket_element_id}/delete/'
|
||||
'/{basket_id}/delete/{basket_element_id}/'
|
||||
, function(Application $app, Request $request, $basket_id, $basket_element_id)
|
||||
{
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
@@ -342,6 +342,61 @@ class Basket implements ControllerProviderInterface
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
$controllers->post(
|
||||
'/{basket_id}/stealElements/'
|
||||
, function(Application $app, Request $request, $basket_id)
|
||||
{
|
||||
$em = $app['Core']->getEntityManager();
|
||||
|
||||
/* @var $em \Doctrine\ORM\EntityManager */
|
||||
$basket = $em->getRepository('\Entities\Basket')
|
||||
->findUserBasket($basket_id, $app['Core']->getAuthenticatedUser());
|
||||
|
||||
$user = $app['Core']->getAuthenticatedUser();
|
||||
/* @var $user \User_Adapter */
|
||||
|
||||
$n = 0;
|
||||
|
||||
foreach ($request->get('elements') as $bask_element_id)
|
||||
{
|
||||
$basket_element = $em->getRepository('\Entities\BasketElement')
|
||||
->findUserElement($bask_element_id, $user);
|
||||
|
||||
if(!$basket_element)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$basket_element->setBasket($basket);
|
||||
|
||||
$em->merge($basket_element);
|
||||
|
||||
$n++;
|
||||
}
|
||||
|
||||
$em->merge($basket);
|
||||
$em->flush();
|
||||
|
||||
$data = array(
|
||||
'success' => true
|
||||
, 'message' => sprintf(_('%d records moved'), $n)
|
||||
);
|
||||
|
||||
if ($request->getRequestFormat() == 'json')
|
||||
{
|
||||
|
||||
$datas = $app['Core']['Serializer']->serialize($data, 'json');
|
||||
|
||||
return new Response($datas, 200, array('Content-type' => 'application/json'));
|
||||
}
|
||||
else
|
||||
{
|
||||
return new RedirectResponse('/');
|
||||
}
|
||||
});
|
||||
|
||||
$controllers->get('/create/', function(Application $app)
|
||||
{
|
||||
@@ -364,7 +419,7 @@ class Basket implements ControllerProviderInterface
|
||||
|
||||
$twig = new \supertwig();
|
||||
|
||||
$html = $twig->render('prod/basket.twig', array('basket' => $basket));
|
||||
$html = $twig->render('prod/WorkZone/Basket.html.twig', array('basket' => $basket));
|
||||
|
||||
return new Response($html);
|
||||
})->assert('basket_id', '\d+');
|
||||
|
@@ -45,9 +45,9 @@ class Bridge implements ControllerProviderInterface
|
||||
};
|
||||
|
||||
if (!$account->get_api()->get_connector()->is_configured())
|
||||
throw new \Bridge_Exception_ApiConnectorNotConfigured();
|
||||
throw new \Bridge_Exception_ApiConnectorNotConfigured("Bridge API Connector is not configured");
|
||||
if (!$account->get_api()->get_connector()->is_connected())
|
||||
throw new \Bridge_Exception_ApiConnectorNotConnected ();
|
||||
throw new \Bridge_Exception_ApiConnectorNotConnected ("Bridge API Connector is not connected");
|
||||
|
||||
return;
|
||||
});
|
||||
@@ -55,7 +55,7 @@ class Bridge implements ControllerProviderInterface
|
||||
$controllers->post('/manager/'
|
||||
, function() use ($app, $twig)
|
||||
{
|
||||
$route = new RecordHelper\Bridge($app['request']);
|
||||
$route = new RecordHelper\Bridge($app['Core']);
|
||||
$appbox = \appbox::get_instance();
|
||||
$user = \User_Adapter::getInstance($appbox->get_session()->get_usr_id(), $appbox);
|
||||
|
||||
@@ -420,7 +420,7 @@ class Bridge implements ControllerProviderInterface
|
||||
$account = \Bridge_Account::load_account($appbox, $request->get('account_id'));
|
||||
$app['require_connection']($account);
|
||||
|
||||
$route = new RecordHelper\Bridge($request);
|
||||
$route = new RecordHelper\Bridge($app['Core']);
|
||||
$route->grep_records($account->get_api()->acceptable_records());
|
||||
|
||||
$params = array(
|
||||
@@ -447,7 +447,7 @@ class Bridge implements ControllerProviderInterface
|
||||
$account = \Bridge_Account::load_account($appbox, $request->get('account_id'));
|
||||
$app['require_connection']($account);
|
||||
|
||||
$route = new RecordHelper\Bridge($request);
|
||||
$route = new RecordHelper\Bridge($app['Core']);
|
||||
$route->grep_records($account->get_api()->acceptable_records());
|
||||
$connector = $account->get_api()->get_connector();
|
||||
|
||||
|
@@ -30,9 +30,7 @@ class Edit implements ControllerProviderInterface
|
||||
|
||||
$controllers->post('/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
|
||||
$handler = new RecordHelper\Edit($request);
|
||||
$handler = new RecordHelper\Edit($app['Core']);
|
||||
|
||||
$handler->propose_editing();
|
||||
|
||||
@@ -48,7 +46,7 @@ class Edit implements ControllerProviderInterface
|
||||
$controllers->post('/apply/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$editing = new RecordHelper\Edit($request);
|
||||
$editing = new RecordHelper\Edit($app['Core']);
|
||||
$editing->execute($request);
|
||||
|
||||
$template = 'prod/actions/edit_default.twig';
|
||||
|
@@ -43,7 +43,7 @@ class Feed implements ControllerProviderInterface
|
||||
$user = \User_Adapter::getInstance($appbox->get_session()->get_usr_id(), $appbox);
|
||||
$feeds = \Feed_Collection::load_all($appbox, $user);
|
||||
$request = $app['request'];
|
||||
$publishing = new RecordHelper\Feed($request);
|
||||
$publishing = new RecordHelper\Feed($app['Core']);
|
||||
|
||||
$datas = $twig->render('prod/actions/publish/publish.html', array('publishing' => $publishing, 'feeds' => $feeds));
|
||||
|
||||
@@ -71,7 +71,7 @@ class Feed implements ControllerProviderInterface
|
||||
|
||||
$entry = \Feed_Entry_Adapter::create($appbox, $feed, $publisher, $title, $subtitle, $author_name, $author_mail);
|
||||
|
||||
$publishing = new RecordHelper\Feed($request);
|
||||
$publishing = new RecordHelper\Feed($app['Core']);
|
||||
|
||||
foreach ($publishing->get_elements() as $record)
|
||||
{
|
||||
|
@@ -34,7 +34,7 @@ class MoveCollection implements ControllerProviderInterface
|
||||
$controllers->post('/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$move = new RecordHelper\MoveCollection($request);
|
||||
$move = new RecordHelper\MoveCollection($app['Core']);
|
||||
$move->propose();
|
||||
|
||||
$template = 'prod/actions/collection_default.twig';
|
||||
@@ -49,7 +49,7 @@ class MoveCollection implements ControllerProviderInterface
|
||||
$controllers->post('/apply/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
$move = new RecordHelper\MoveCollection($request);
|
||||
$move = new RecordHelper\MoveCollection($app['Core']);
|
||||
$move->execute($request);
|
||||
$template = 'prod/actions/collection_submit.twig';
|
||||
|
||||
|
@@ -46,9 +46,8 @@ class WorkZone implements ControllerProviderInterface
|
||||
, 'srt' => $app['request']->get('sort')
|
||||
);
|
||||
|
||||
$twig->addFilter(array('get_collection_logo' => 'collection::getLogo'));
|
||||
|
||||
return new Response($twig->render('prod/baskets.html', $params));
|
||||
return new Response($twig->render('prod/WorkZone/WorkZone.html.twig', $params));
|
||||
});
|
||||
|
||||
return $controllers;
|
||||
|
@@ -20,15 +20,6 @@ use Silex\ControllerProviderInterface;
|
||||
use Silex\ControllerCollection;
|
||||
|
||||
date_default_timezone_set('Europe/Berlin');
|
||||
require_once dirname(__FILE__) . '/../../../../version.inc';
|
||||
require_once dirname(__FILE__) . '/../../../../classes/phrasea.class.php';
|
||||
require_once dirname(__FILE__) . '/../../../../classes/bootstrap.class.php';
|
||||
require_once dirname(__FILE__) . '/../../../../classes/cache/cacheableInterface.class.php';
|
||||
require_once dirname(__FILE__) . '/../../../../classes/cache/interface.class.php';
|
||||
require_once dirname(__FILE__) . '/../../../../classes/cache/nocache.class.php';
|
||||
require_once dirname(__FILE__) . '/../../../../classes/cache/adapter.class.php';
|
||||
require_once dirname(__FILE__) . '/../../../../classes/User/Interface.class.php';
|
||||
require_once dirname(__FILE__) . '/../../../../classes/User/Adapter.class.php';
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -43,8 +34,6 @@ class Installer implements ControllerProviderInterface
|
||||
{
|
||||
$controllers = new ControllerCollection();
|
||||
|
||||
$app['available_languages'] = \User_Adapter::detectLanguage(new \Setup_Registry());
|
||||
|
||||
$controllers->get('/', function() use ($app)
|
||||
{
|
||||
$request = $app['request'];
|
||||
@@ -89,17 +78,17 @@ class Installer implements ControllerProviderInterface
|
||||
}
|
||||
|
||||
|
||||
$ld_path = array(dirname(__FILE__) . '/../../../../templates/web');
|
||||
$loader = new Twig_Loader_Filesystem($ld_path);
|
||||
$twig = new Twig_Environment($loader);
|
||||
$ld_path = array(__DIR__ . '/../../../../../templates/web');
|
||||
$loader = new \Twig_Loader_Filesystem($ld_path);
|
||||
$twig = new \Twig_Environment($loader);
|
||||
|
||||
$html = $twig->render(
|
||||
'/setup/index.twig'
|
||||
, array_merge($constraints_coll, array(
|
||||
'locale' => Session_Handler::get_locale()
|
||||
, 'available_locales' => $app['available_languages']
|
||||
, 'version_number' => GV_version
|
||||
, 'version_name' => GV_version_name
|
||||
, 'available_locales' => $app['Core']::getAvailableLanguages()
|
||||
, 'version_number' => $app['Core']['Version']->getNumber()
|
||||
, 'version_name' => $app['Core']['Version']->getName()
|
||||
, 'current_servername' => $request->getScheme() . '://' . $request->getHttpHost() . '/'
|
||||
))
|
||||
);
|
||||
@@ -111,12 +100,12 @@ class Installer implements ControllerProviderInterface
|
||||
{
|
||||
\phrasea::use_i18n(\Session_Handler::get_locale());
|
||||
|
||||
$ld_path = array(dirname(__FILE__) . '/../../../../templates/web');
|
||||
$ld_path = array(__DIR__ . '/../../../../../templates/web');
|
||||
|
||||
$loader = new Twig_Loader_Filesystem($ld_path);
|
||||
$twig = new Twig_Environment($loader);
|
||||
$loader = new \Twig_Loader_Filesystem($ld_path);
|
||||
$twig = new \Twig_Environment($loader);
|
||||
|
||||
$twig->addExtension(new Twig_Extensions_Extension_I18n());
|
||||
$twig->addExtension(new \Twig_Extensions_Extension_I18n());
|
||||
|
||||
$request = $app['request'];
|
||||
|
||||
@@ -125,14 +114,15 @@ class Installer implements ControllerProviderInterface
|
||||
{
|
||||
$warnings[] = _('It is not recommended to install Phraseanet without HTTPS support');
|
||||
}
|
||||
|
||||
$html = $twig->render(
|
||||
'/setup/step2.twig'
|
||||
, array(
|
||||
'locale' => \Session_Handler::get_locale()
|
||||
, 'available_locales' => $app['available_languages']
|
||||
, 'available_locales' => $app['Core']::getAvailableLanguages()
|
||||
, 'available_templates' => \appbox::list_databox_templates()
|
||||
, 'version_number' => GV_version
|
||||
, 'version_name' => GV_version_name
|
||||
, 'version_number' => $app['Core']['Version']->getNumber()
|
||||
, 'version_name' => $app['Core']['Version']->getName()
|
||||
, 'warnings' => $warnings
|
||||
, 'current_servername' => $request->getScheme() . '://' . $request->getHttpHost() . '/'
|
||||
, 'discovered_binaries' => \setup::discover_binaries()
|
||||
|
@@ -25,7 +25,6 @@ use Silex\ControllerCollection;
|
||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||
* @link www.phraseanet.com
|
||||
*/
|
||||
|
||||
class Upgrader implements ControllerProviderInterface
|
||||
{
|
||||
|
||||
@@ -34,7 +33,6 @@ class Upgrader implements ControllerProviderInterface
|
||||
$controllers = new ControllerCollection();
|
||||
|
||||
$app['registry'] = new \Setup_Registry();
|
||||
$app['available_languages'] = \User_Adapter::detectLanguage($app['registry']);
|
||||
$app['twig'] = function()
|
||||
{
|
||||
return new \supertwig();
|
||||
@@ -51,10 +49,11 @@ class Upgrader implements ControllerProviderInterface
|
||||
, array(
|
||||
'locale' => \Session_Handler::get_locale()
|
||||
, 'upgrade_status' => $upgrade_status
|
||||
, 'available_locales' => $app['available_languages']
|
||||
, 'available_locales' => $app['Core']::getAvailableLanguages()
|
||||
, 'bad_users' => \User_Adapter::get_wrong_email_users(\appbox::get_instance())
|
||||
, 'version_number' => GV_version
|
||||
, 'version_name' => GV_version_name)
|
||||
, 'version_number' => $app['Core']['Version']->getNumber()
|
||||
, 'version_name' => $app['Core']['Version']->getName()
|
||||
)
|
||||
);
|
||||
ini_set('display_errors', 'on');
|
||||
|
||||
|
@@ -24,7 +24,16 @@ require_once __DIR__ . '/../../vendor/Silex/vendor/pimple/lib/Pimple.php';
|
||||
class Core extends \Pimple
|
||||
{
|
||||
|
||||
/**
|
||||
|
||||
protected static $availableLanguages = array(
|
||||
'ar_SA' => 'العربية'
|
||||
, 'de_DE' => 'Deutsch'
|
||||
, 'en_GB' => 'English'
|
||||
, 'es_ES' => 'Español'
|
||||
, 'fr_FR' => 'Français'
|
||||
);
|
||||
|
||||
/**
|
||||
*
|
||||
* @var Core\Configuration
|
||||
*/
|
||||
@@ -54,10 +63,23 @@ class Core extends \Pimple
|
||||
});
|
||||
|
||||
|
||||
$this['Registry'] = $this->share(function()
|
||||
{
|
||||
return \registry::get_instance();
|
||||
});
|
||||
if (\setup::is_installed())
|
||||
{
|
||||
$this['Registry'] = $this->share(function()
|
||||
{
|
||||
return \registry::get_instance();
|
||||
});
|
||||
\phrasea::start();
|
||||
$this->enableEvents();
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
$this['Registry'] = $this->share(function()
|
||||
{
|
||||
return new \Setup_Registry();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize Request
|
||||
@@ -82,22 +104,21 @@ class Core extends \Pimple
|
||||
|
||||
$this->verifyTimeZone();
|
||||
|
||||
\phrasea::start();
|
||||
|
||||
$this->detectLanguage();
|
||||
|
||||
$this->enableLocales();
|
||||
|
||||
$this->enableEvents();
|
||||
|
||||
define('JETON_MAKE_SUBDEF', 0x01);
|
||||
define('JETON_WRITE_META_DOC', 0x02);
|
||||
define('JETON_WRITE_META_SUBDEF', 0x04);
|
||||
define('JETON_WRITE_META', 0x06);
|
||||
|
||||
$gatekeeper = \gatekeeper::getInstance();
|
||||
$gatekeeper->check_directory();
|
||||
|
||||
if (\setup::is_installed())
|
||||
{
|
||||
$gatekeeper = \gatekeeper::getInstance();
|
||||
$gatekeeper->check_directory();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -203,6 +224,7 @@ class Core extends \Pimple
|
||||
|
||||
protected function enableEvents()
|
||||
{
|
||||
|
||||
\phrasea::load_events();
|
||||
|
||||
return;
|
||||
@@ -216,8 +238,8 @@ class Core extends \Pimple
|
||||
|
||||
if ($this->getRegistry()->get('GV_debug'))
|
||||
{
|
||||
ini_set('display_errors', 'on');
|
||||
ini_set('display_startup_errors', 'on');
|
||||
ini_set('display_errors', 'on');
|
||||
ini_set('display_startup_errors', 'on');
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -237,23 +259,24 @@ class Core extends \Pimple
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return Array
|
||||
*/
|
||||
public static function getAvailableLanguages()
|
||||
{
|
||||
return static::$availableLanguages;
|
||||
}
|
||||
|
||||
protected function detectLanguage()
|
||||
{
|
||||
$availables = array(
|
||||
'ar_SA' => 'العربية'
|
||||
, 'de_DE' => 'Deutsch'
|
||||
, 'en_GB' => 'English'
|
||||
, 'es_ES' => 'Español'
|
||||
, 'fr_FR' => 'Français'
|
||||
);
|
||||
|
||||
$this->getRequest()->setDefaultLocale(
|
||||
$this->getRegistry()->get('GV_default_lng', 'en_GB')
|
||||
);
|
||||
|
||||
$cookies = $this->getRequest()->cookies;
|
||||
|
||||
if (isset($availables[$cookies->get('locale')]))
|
||||
if (isset(static::$availableLanguages[$cookies->get('locale')]))
|
||||
{
|
||||
$this->getRequest()->setLocale($cookies->get('locale'));
|
||||
}
|
||||
|
@@ -22,7 +22,11 @@ use Alchemy\Phrasea\Core;
|
||||
class Helper
|
||||
{
|
||||
|
||||
private $core;
|
||||
/**
|
||||
*
|
||||
* @var Alchemy\Phrasea\Core\Kernel
|
||||
*/
|
||||
protected $core;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@@ -12,7 +12,7 @@
|
||||
namespace Alchemy\Phrasea\Helper\Record;
|
||||
|
||||
|
||||
use Alchemy\Phrasea\Helper\RecordsAbstract as RecordHelper;
|
||||
use Alchemy\Phrasea\Helper\Record\Helper as RecordHelper;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@@ -8,13 +8,17 @@
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Alchemy\Phrasea\Helper\Record;
|
||||
|
||||
|
||||
use Alchemy\Phrasea\Helper\RecordsAbstract as RecordHelper;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Alchemy\Phrasea\Helper\Record\Helper as RecordHelper,
|
||||
Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
/**
|
||||
* Edit Record Helper
|
||||
* This object handles /edit/ request and filters records that user can edit
|
||||
*
|
||||
* It prepares metadatas, databases structures.
|
||||
*
|
||||
* @package
|
||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||
@@ -64,16 +68,21 @@ class Edit extends RecordHelper
|
||||
* @var boolean
|
||||
*/
|
||||
protected $works_on_unique_sbas = true;
|
||||
|
||||
/**
|
||||
*
|
||||
* @var type
|
||||
*/
|
||||
protected $has_thesaurus = false;
|
||||
|
||||
|
||||
|
||||
public function __construct(Request $request)
|
||||
/**
|
||||
*
|
||||
* @param \Alchemy\Phrasea\Core $core
|
||||
* @return Edit
|
||||
*/
|
||||
public function __construct(\Alchemy\Phrasea\Core $core)
|
||||
{
|
||||
$appbox = \appbox::get_instance();
|
||||
|
||||
parent::__construct($request);
|
||||
|
||||
parent::__construct($core);
|
||||
|
||||
if ($this->is_single_grouping())
|
||||
{
|
||||
@@ -186,9 +195,7 @@ class Edit extends RecordHelper
|
||||
protected function generate_javascript_elements()
|
||||
{
|
||||
$_lst = array();
|
||||
$appbox = \appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$user = \User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$user = $this->getCore()->getAuthenticatedUser();
|
||||
$twig = new \supertwig();
|
||||
|
||||
foreach ($this->selection as $record)
|
||||
@@ -251,7 +258,7 @@ class Edit extends RecordHelper
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
$_lst[$indice]['type'] = $record->get_type();
|
||||
}
|
||||
@@ -282,7 +289,7 @@ class Edit extends RecordHelper
|
||||
|
||||
$T_sgval['b' . $base_id] = array();
|
||||
$collection = \collection::get_from_base_id($base_id);
|
||||
|
||||
|
||||
if ($sxe = simplexml_load_string($collection->get_prefs()))
|
||||
{
|
||||
$z = $sxe->xpath('/baseprefs/sugestedValues');
|
||||
@@ -292,7 +299,7 @@ class Edit extends RecordHelper
|
||||
|
||||
foreach ($z[0] as $ki => $vi) // les champs
|
||||
{
|
||||
|
||||
|
||||
$field = $databox->get_meta_structure()->get_element_by_name($ki);
|
||||
if (!$field)
|
||||
continue; // champ inconnu dans la structure ?
|
||||
@@ -323,9 +330,7 @@ class Edit extends RecordHelper
|
||||
protected function generate_javascript_status()
|
||||
{
|
||||
$_tstatbits = array();
|
||||
$appbox = \appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$user = \User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$user = $this->getCore()->getAuthenticatedUser();
|
||||
|
||||
if ($user->ACL()->has_right('changestatus'))
|
||||
{
|
||||
@@ -457,12 +462,11 @@ class Edit extends RecordHelper
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (!is_array($request->get('mds')))
|
||||
|
||||
return $this;
|
||||
|
||||
$sbas_id = (int) $request->get('sbid');
|
||||
|
@@ -12,7 +12,7 @@
|
||||
namespace Alchemy\Phrasea\Helper\Record;
|
||||
|
||||
|
||||
use Alchemy\Phrasea\Helper\RecordsAbstract as RecordHelper;
|
||||
use Alchemy\Phrasea\Helper\Record\Helper as RecordHelper;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
/**
|
||||
@@ -43,15 +43,13 @@ class Feed extends RecordHelper
|
||||
|
||||
/**
|
||||
*
|
||||
* @param Request $request
|
||||
* @return RecordsFeed
|
||||
* @param \Alchemy\Phrasea\Core $core
|
||||
* @return Feed
|
||||
*/
|
||||
public function __construct(Request $request)
|
||||
public function __construct(\Alchemy\Phrasea\Core $core)
|
||||
{
|
||||
$appbox = \appbox::get_instance();
|
||||
|
||||
parent::__construct($request);
|
||||
|
||||
parent::__construct($core);
|
||||
|
||||
if ($this->is_single_grouping())
|
||||
{
|
||||
$record = array_pop($this->selection->get_elements());
|
||||
|
@@ -9,7 +9,7 @@
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
namespace Alchemy\Phrasea\Helper;
|
||||
namespace Alchemy\Phrasea\Helper\Record;
|
||||
|
||||
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
@@ -20,7 +20,7 @@ use Symfony\Component\HttpFoundation\Request;
|
||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||
* @link www.phraseanet.com
|
||||
*/
|
||||
class RecordsAbstract
|
||||
class Helper extends \Alchemy\Phrasea\Helper\Helper
|
||||
{
|
||||
|
||||
/**
|
||||
@@ -92,45 +92,35 @@ class RecordsAbstract
|
||||
|
||||
/**
|
||||
*
|
||||
* @var basket_adapter
|
||||
* @var \Entities\Basket
|
||||
*/
|
||||
protected $original_basket;
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @return action_move
|
||||
* @param \Alchemy\Phrasea\Core $core
|
||||
* @return Helper
|
||||
*/
|
||||
public function __construct(Request $request)
|
||||
public function __construct(\Alchemy\Phrasea\Core $core)
|
||||
{
|
||||
$this->request = $request;
|
||||
parent::__construct($core);
|
||||
|
||||
$this->selection = new \set_selection();
|
||||
$appbox = \appbox::get_instance();
|
||||
$usr_id = $appbox->get_session()->get_usr_id();
|
||||
|
||||
|
||||
if (trim($request->get('ssel')) !== '')
|
||||
{
|
||||
$basket = \basket_adapter::getInstance($appbox, $request->get('ssel'), $usr_id);
|
||||
|
||||
if ($basket->is_grouping() && $this->flatten_groupings === true)
|
||||
{
|
||||
foreach ($basket->get_elements() as $basket_element)
|
||||
{
|
||||
/* @var $basket_element basket_element_adapter */
|
||||
$this->selection->add_element($basket_element->get_record());
|
||||
}
|
||||
}
|
||||
elseif($basket->is_grouping())
|
||||
{
|
||||
$grouping = new record_adapter($basket->get_sbas_id(), $basket->get_record_id());
|
||||
$this->selection->add_element($grouping);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->selection->load_basket($basket);
|
||||
$this->is_basket = true;
|
||||
}
|
||||
$this->original_basket = $basket;
|
||||
$em = $this->getCore()->getEntityManager();
|
||||
$repository = $em->getRepository('\Entities\Basket');
|
||||
|
||||
/* @var $$repository \Repositories\BasketRepository */
|
||||
$Basket = $repository->findUserBasket($request->get('ssel'), $this->getCore()->getAuthenticatedUser());
|
||||
|
||||
$this->selection->load_basket($Basket);
|
||||
|
||||
$this->is_basket = true;
|
||||
$this->original_basket = $Basket;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -159,7 +149,7 @@ class RecordsAbstract
|
||||
/**
|
||||
* If the original selection was a basket, returns the basket object
|
||||
*
|
||||
* @return basket_adapter
|
||||
* @return \Entities\Basket
|
||||
*/
|
||||
public function get_original_basket()
|
||||
{
|
||||
@@ -304,16 +294,6 @@ class RecordsAbstract
|
||||
return $this->selection->serialize_list();
|
||||
}
|
||||
|
||||
public function get_request()
|
||||
{
|
||||
return $this->request;
|
||||
}
|
||||
|
||||
public function set_request($request)
|
||||
{
|
||||
$this->request = $request;
|
||||
}
|
||||
|
||||
public function grep_records(Closure $closure)
|
||||
{
|
||||
foreach ($this->selection->get_elements() as $record)
|
@@ -11,8 +11,7 @@
|
||||
|
||||
namespace Alchemy\Phrasea\Helper\Record;
|
||||
|
||||
|
||||
use Alchemy\Phrasea\Helper\RecordsAbstract as RecordHelper;
|
||||
use Alchemy\Phrasea\Helper\Record\Helper as RecordHelper;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
/**
|
||||
@@ -23,33 +22,37 @@ use Symfony\Component\HttpFoundation\Request;
|
||||
*/
|
||||
class MoveCollection extends RecordHelper
|
||||
{
|
||||
|
||||
/**
|
||||
*
|
||||
* @var Array
|
||||
*/
|
||||
protected $required_rights = array('candeleterecord');
|
||||
|
||||
/**
|
||||
*
|
||||
* @var Array
|
||||
*/
|
||||
protected $available_destinations;
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
protected $works_on_unique_sbas = true;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* @return action_move
|
||||
* @param \Alchemy\Phrasea\Core $core
|
||||
* @return MoveCollection
|
||||
*/
|
||||
public function __construct(Request $request)
|
||||
public function __construct(\Alchemy\Phrasea\Core $core)
|
||||
{
|
||||
parent::__construct($request);
|
||||
parent::__construct($core);
|
||||
$this->evaluate_destinations();
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check which collections can receive the documents
|
||||
*
|
||||
@@ -60,14 +63,13 @@ class MoveCollection extends RecordHelper
|
||||
$this->available_destinations = array();
|
||||
|
||||
if (!$this->is_possible)
|
||||
|
||||
return $this;
|
||||
|
||||
$appbox = \appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$user = \User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
|
||||
$this->available_destinations = array_keys($user->ACL()->get_granted_base(array('canaddrecord'), array($this->sbas_id)));
|
||||
$this->available_destinations = array_keys(
|
||||
$this->getCore()->getAuthenticatedUser()->ACL()->get_granted_base(
|
||||
array('canaddrecord'), array($this->sbas_id)
|
||||
)
|
||||
);
|
||||
|
||||
return $this;
|
||||
}
|
||||
@@ -95,8 +97,7 @@ class MoveCollection extends RecordHelper
|
||||
public function execute(Request $request)
|
||||
{
|
||||
$appbox = \appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$user = \User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$user = $this->getCore()->getAuthenticatedUser();
|
||||
|
||||
$base_dest =
|
||||
$user->ACL()->has_right_on_base($request->get('base_id'), 'canaddrecord') ?
|
||||
@@ -130,4 +131,5 @@ class MoveCollection extends RecordHelper
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -12,7 +12,7 @@
|
||||
namespace Alchemy\Phrasea\Helper\Record;
|
||||
|
||||
|
||||
use Alchemy\Phrasea\Helper\RecordsAbstract as RecordHelper;
|
||||
use Alchemy\Phrasea\Helper\Record\Helper as RecordHelper;
|
||||
|
||||
/**
|
||||
*
|
||||
|
@@ -19,11 +19,9 @@ use Symfony\Component\HttpFoundation\Request;
|
||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||
* @link www.phraseanet.com
|
||||
*/
|
||||
class Edit
|
||||
class Edit extends \Alchemy\Phrasea\Helper\Helper
|
||||
{
|
||||
|
||||
protected $request;
|
||||
|
||||
/**
|
||||
*
|
||||
* @var array
|
||||
@@ -42,19 +40,11 @@ class Edit
|
||||
*/
|
||||
protected $base_id;
|
||||
|
||||
/**
|
||||
*
|
||||
* @param Symfony\Component\HttpFoundation\Request $request
|
||||
* @return module_admin_route_users_edit
|
||||
*/
|
||||
public function __construct(Request $request)
|
||||
public function __construct(\Alchemy\Phrasea\Core $core)
|
||||
{
|
||||
parent::__construct($core);
|
||||
$this->users = explode(';', $request->get('users'));
|
||||
|
||||
$this->request = $request;
|
||||
$appbox = \appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
|
||||
$users = array();
|
||||
foreach ($this->users as $usr_id)
|
||||
{
|
||||
@@ -83,23 +73,26 @@ class Edit
|
||||
|
||||
protected function delete_user(\User_Adapter $user)
|
||||
{
|
||||
$appbox = \appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$master = $this->getCore()->getAuthenticatedUser();
|
||||
|
||||
$list = array_keys(\User_Adapter::getInstance($session->get_usr_id(), $appbox)->ACL()->get_granted_base(array('canadmin')));
|
||||
$list = array_keys($master->ACL()->get_granted_base(array('canadmin')));
|
||||
|
||||
$user->ACL()->revoke_access_from_bases($list);
|
||||
|
||||
if ($user->ACL()->is_phantom())
|
||||
{
|
||||
$user->delete();
|
||||
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function get_users_rights()
|
||||
{
|
||||
$user = $this->getCore()->getAuthenticatedUser();
|
||||
$appbox = \appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$list = array_keys(\User_Adapter::getInstance($session->get_usr_id(), $appbox)->ACL()->get_granted_base(array('canadmin')));
|
||||
|
||||
$list = array_keys($user->ACL()->get_granted_base(array('canadmin')));
|
||||
|
||||
$sql = "SELECT
|
||||
b.sbas_id,
|
||||
@@ -203,7 +196,7 @@ class Edit
|
||||
|
||||
public function get_quotas()
|
||||
{
|
||||
$this->base_id = (int) $this->request->get('base_id');
|
||||
$this->base_id = (int) $this->getCore()->getRequest()->get('base_id');
|
||||
|
||||
// $this->base_id = (int) $parm['base_id'];
|
||||
|
||||
@@ -230,7 +223,7 @@ class Edit
|
||||
|
||||
public function get_masks()
|
||||
{
|
||||
$this->base_id = (int) $this->request->get('base_id');
|
||||
$this->base_id = (int) $this->getCore()->getRequest()->get('base_id');
|
||||
|
||||
$sql = "SELECT BIN(mask_and) AS mask_and, BIN(mask_xor) AS mask_xor
|
||||
FROM basusr
|
||||
@@ -334,7 +327,7 @@ class Edit
|
||||
|
||||
public function get_time()
|
||||
{
|
||||
$this->base_id = (int) $this->request->get('base_id');
|
||||
$this->base_id = (int) $this->getCore()->getRequest()->get('base_id');
|
||||
|
||||
$sql = "SELECT u.usr_id, time_limited, limited_from, limited_to
|
||||
FROM (usr u INNER JOIN basusr bu ON u.usr_id = bu.usr_id)
|
||||
@@ -540,7 +533,14 @@ class Edit
|
||||
return $this;
|
||||
}
|
||||
|
||||
$appbox = \appbox::get_instance();
|
||||
$user = User_adapter::getInstance(array_pop($this->users), appbox::get_instance());
|
||||
|
||||
if ($user->is_template())
|
||||
{
|
||||
return $this;
|
||||
}
|
||||
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
$request = \http_request::getInstance();
|
||||
|
||||
@@ -584,15 +584,45 @@ class Edit
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function apply_template()
|
||||
{
|
||||
$appbox = appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
|
||||
$template = \User_adapter::getInstance($this->request->get('template'), $appbox);
|
||||
|
||||
if ($template->get_template_owner()->get_id() != $session->get_usr_id())
|
||||
{
|
||||
throw new \Exception_Forbidden('You are not the owner of the template');
|
||||
}
|
||||
|
||||
$current_user = \User_adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$base_ids = array_keys($current_user->ACL()->get_granted_base(array('canadmin')));
|
||||
|
||||
foreach ($this->users as $usr_id)
|
||||
{
|
||||
$user = \User_adapter::getInstance($usr_id, $appbox);
|
||||
|
||||
if($user->is_template())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
$user->ACL()->apply_model($template, $base_ids);
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function apply_quotas()
|
||||
{
|
||||
$this->base_id = (int) $this->request->get('base_id');
|
||||
$this->base_id = (int) $this->getCore()->getRequest()->get('base_id');
|
||||
|
||||
foreach ($this->users as $usr_id)
|
||||
{
|
||||
$user = \User_Adapter::getInstance($usr_id, \appbox::get_instance());
|
||||
if ($this->request->get('quota'))
|
||||
$user->ACL()->set_quotas_on_base($this->base_id, $this->request->get('droits'), $this->request->get('restes'));
|
||||
if ($this->getCore()->getRequest()->get('quota'))
|
||||
$user->ACL()->set_quotas_on_base($this->base_id, $this->getCore()->getRequest()->get('droits'), $this->getCore()->getRequest()->get('restes'));
|
||||
else
|
||||
$user->ACL()->remove_quotas_on_base($this->base_id);
|
||||
}
|
||||
@@ -602,12 +632,13 @@ class Edit
|
||||
|
||||
public function apply_masks()
|
||||
{
|
||||
$this->base_id = (int) $this->request->get('base_id');
|
||||
$request = $this->getCore()->getRequest();
|
||||
$this->base_id = (int) $request->get('base_id');
|
||||
|
||||
$vand_and = $this->request->get('vand_and');
|
||||
$vand_or = $this->request->get('vand_or');
|
||||
$vxor_and = $this->request->get('vxor_and');
|
||||
$vxor_or = $this->request->get('vxor_or');
|
||||
$vand_and = $request->get('vand_and');
|
||||
$vand_or = $request->get('vand_or');
|
||||
$vxor_and = $request->get('vxor_and');
|
||||
$vxor_or = $request->get('vxor_or');
|
||||
|
||||
if ($vand_and && $vand_or && $vxor_and && $vxor_or)
|
||||
{
|
||||
@@ -624,13 +655,14 @@ class Edit
|
||||
|
||||
public function apply_time()
|
||||
{
|
||||
$request = $this->getCore()->getRequest();
|
||||
|
||||
$this->base_id = (int) $request->get('base_id');
|
||||
|
||||
$this->base_id = (int) $this->request->get('base_id');
|
||||
$dmin = $request->get('dmin') ? new \DateTime($request->get('dmin')) : null;
|
||||
$dmax = $request->get('dmax') ? new \DateTime($request->get('dmax')) : null;
|
||||
|
||||
$dmin = $this->request->get('dmin') ? new \DateTime($this->request->get('dmin')) : null;
|
||||
$dmax = $this->request->get('dmax') ? new \DateTime($this->request->get('dmax')) : null;
|
||||
|
||||
$activate = $this->request->get('limit');
|
||||
$activate = $request->get('limit');
|
||||
|
||||
foreach ($this->users as $usr_id)
|
||||
{
|
||||
|
@@ -19,10 +19,9 @@ use Symfony\Component\HttpFoundation\Request;
|
||||
* @license http://opensource.org/licenses/gpl-3.0 GPLv3
|
||||
* @link www.phraseanet.com
|
||||
*/
|
||||
class Manage
|
||||
class Manage extends \Alchemy\Phrasea\Helper\Helper
|
||||
{
|
||||
|
||||
protected $request;
|
||||
/**
|
||||
*
|
||||
* @var array
|
||||
@@ -39,18 +38,11 @@ class Manage
|
||||
*/
|
||||
protected $usr_id;
|
||||
|
||||
public function __construct(Request $request)
|
||||
{
|
||||
$this->request = $request;
|
||||
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
public function search(Request $request)
|
||||
public function search()
|
||||
{
|
||||
$request = $this->getCore()->getRequest();
|
||||
|
||||
$appbox = \appbox::get_instance();
|
||||
$session = $appbox->get_session();
|
||||
|
||||
$offset_start = (int) $request->get('offset_start');
|
||||
$offset_start = $offset_start < 0 ? 0 : $offset_start;
|
||||
@@ -69,7 +61,7 @@ class Manage
|
||||
, 'offset_start' => $offset_start
|
||||
);
|
||||
|
||||
$user = \User_Adapter::getInstance($session->get_usr_id(), $appbox);
|
||||
$user = $this->getCore()->getAuthenticatedUser();
|
||||
$query = new \User_Query($appbox);
|
||||
|
||||
if (is_array($request->get('base_id')))
|
||||
@@ -110,18 +102,25 @@ class Manage
|
||||
if (is_null($v))
|
||||
$this->query_parms[$k] = false;
|
||||
}
|
||||
|
||||
|
||||
$query = new User_Query($appbox);
|
||||
$templates = $query
|
||||
->only_templates(true)
|
||||
->execute()->get_results();
|
||||
|
||||
return array(
|
||||
'users' => $this->results,
|
||||
'parm' => $this->query_parms,
|
||||
'invite_user' => $invite,
|
||||
'autoregister_user' => $autoregister
|
||||
'autoregister_user' => $autoregister,
|
||||
'templates' => $templates
|
||||
);
|
||||
}
|
||||
|
||||
public function create_newuser()
|
||||
{
|
||||
$email = $this->request->get('value');
|
||||
$email = $this->getCore()->getRequest()->get('value');
|
||||
|
||||
if(!\mail::validateEmail($email))
|
||||
{
|
||||
@@ -153,7 +152,7 @@ class Manage
|
||||
|
||||
public function create_template()
|
||||
{
|
||||
$name = $this->request->get('value');
|
||||
$name = $this->getCore()->getRequest()->get('value');
|
||||
|
||||
if(trim($name) === '')
|
||||
{
|
||||
@@ -161,7 +160,7 @@ class Manage
|
||||
}
|
||||
|
||||
$appbox = \appbox::get_instance();
|
||||
$user = \User_Adapter::getInstance($appbox->get_session()->get_usr_id(), $appbox);
|
||||
$user = $this->getCore()->getAuthenticatedUser();
|
||||
|
||||
$created_user = \User_Adapter::create($appbox, $name, \random::generatePassword(16), null, false, false);
|
||||
$created_user->set_template($user);
|
||||
|
Reference in New Issue
Block a user