mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-12 04:23:19 +00:00
Basket refactor
This commit is contained in:
@@ -1508,6 +1508,8 @@ function pushIt($usr, $newBask, $parmLST, $users, $mail_content, $lng, $accuse)
|
|||||||
$reading_confirm_to = $me->get_email();
|
$reading_confirm_to = $me->get_email();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$em = $Core->getEntityManager();
|
||||||
|
|
||||||
foreach ($users as $oneuser => $rights)
|
foreach ($users as $oneuser => $rights)
|
||||||
{
|
{
|
||||||
$new_basket = null;
|
$new_basket = null;
|
||||||
@@ -1517,20 +1519,40 @@ function pushIt($usr, $newBask, $parmLST, $users, $mail_content, $lng, $accuse)
|
|||||||
$user = User_Adapter::getInstance($oneuser, $appbox);
|
$user = User_Adapter::getInstance($oneuser, $appbox);
|
||||||
$pusher = User_Adapter::getInstance($usr, $appbox);
|
$pusher = User_Adapter::getInstance($usr, $appbox);
|
||||||
|
|
||||||
$new_basket = basket_adapter::create($appbox, $newBask, $user, '', $pusher);
|
$new_basket = new \Entities\Basket();
|
||||||
$new_basket->set_unread();
|
$new_basket->setName($newBask);
|
||||||
|
$new_basket->setIsRead(false);
|
||||||
|
$new_basket->setPusher($pusher);
|
||||||
|
$new_basket->setOwner($user);
|
||||||
|
|
||||||
|
$em->persist($new_basket);
|
||||||
|
|
||||||
$nbchu++;
|
$nbchu++;
|
||||||
|
|
||||||
$new_basket->push_list($parmLST, false);
|
foreach($parmLST as $basrec)
|
||||||
|
{
|
||||||
|
$basrec = explode('_', $basrec);
|
||||||
|
|
||||||
|
$record = new record_adapter($basrec[0], $basrec[1]);
|
||||||
|
|
||||||
|
$BasketElement = new Entities\BasketElement();
|
||||||
|
$BasketElement->setRecord($record);
|
||||||
|
$BasketElement->setBasket($new_basket);
|
||||||
|
|
||||||
|
$em->persist($BasketElement);
|
||||||
|
|
||||||
|
$new_basket->addBasketElement($BasketElement);
|
||||||
|
}
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
$finalUsers[] = $user->get_id();
|
$finalUsers[] = $user->get_id();
|
||||||
|
|
||||||
$canSendHD = sendHdOk($usr, $parmLST);
|
$canSendHD = sendHdOk($usr, $parmLST);
|
||||||
|
|
||||||
foreach ($new_basket->get_elements() as $element)
|
foreach ($new_basket->getElements() as $element)
|
||||||
{
|
{
|
||||||
$record = $element->get_record();
|
$record = $element->getRecord();
|
||||||
if ($rights['canHD'] && in_array($record->get_base_id(), $canSendHD))
|
if ($rights['canHD'] && in_array($record->get_base_id(), $canSendHD))
|
||||||
$user->ACL()->grant_hd_on($record, $me, 'push');
|
$user->ACL()->grant_hd_on($record, $me, 'push');
|
||||||
else
|
else
|
||||||
@@ -1558,7 +1580,7 @@ function pushIt($usr, $newBask, $parmLST, $users, $mail_content, $lng, $accuse)
|
|||||||
, 'url' => $url
|
, 'url' => $url
|
||||||
, 'accuse' => $reading_confirm_to
|
, 'accuse' => $reading_confirm_to
|
||||||
, 'message' => $mail_content
|
, 'message' => $mail_content
|
||||||
, 'ssel_id' => $new_basket->get_ssel_id()
|
, 'ssel_id' => $new_basket->getId()
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@@ -1607,10 +1629,16 @@ function pushValidation($usr, $ssel_id, $listUsrs, $time, $mail_content, $accuse
|
|||||||
$expires = null;
|
$expires = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$em = $Core->getEntityManager();
|
||||||
|
$repository = $em->getRepository('\Entities\Basket');
|
||||||
|
|
||||||
|
$basket = $repository->findUserBasket($ssel_id, $Core->getAuthenticatedUser());
|
||||||
|
|
||||||
|
$basket->setIsRead(false);
|
||||||
$basket = basket_adapter::getInstance($appbox, $ssel_id, $session->get_usr_id());
|
|
||||||
$basket->set_unread();
|
$em->merge($basket);
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
foreach ($listUsrs as $oneuser => $rights)
|
foreach ($listUsrs as $oneuser => $rights)
|
||||||
{
|
{
|
||||||
|
@@ -124,14 +124,6 @@ switch ($action)
|
|||||||
$output = query_phrasea::mail_request($parm['user'], $parm['contrib'], $parm['message'], $parm['query']);
|
$output = query_phrasea::mail_request($parm['user'], $parm['contrib'], $parm['message'], $parm['query']);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
case 'SAVE_ORDER_DATAS':
|
|
||||||
$parm = $request->get_parms('ssel_id', 'value');
|
|
||||||
$basket = basket_adapter::getInstance($appbox, $parm['ssel_id'], $usr_id);
|
|
||||||
$output = $basket->saveOrderDatas($parm['value']);
|
|
||||||
break;
|
|
||||||
|
|
||||||
|
|
||||||
case 'DENY_CGU':
|
case 'DENY_CGU':
|
||||||
$parm = $request->get_parms('sbas_id');
|
$parm = $request->get_parms('sbas_id');
|
||||||
$output = databox_cgu::denyCgus($parm['sbas_id']);
|
$output = databox_cgu::denyCgus($parm['sbas_id']);
|
||||||
@@ -200,14 +192,7 @@ switch ($action)
|
|||||||
$output = $twig->render('prod/preview/reg_train.html', array('container_records' => $record->get_container()->get_children(),
|
$output = $twig->render('prod/preview/reg_train.html', array('container_records' => $record->get_container()->get_children(),
|
||||||
'record' => $record, 'GV_rollover_reg_preview' => $registry->get('GV_rollover_reg_preview')));
|
'record' => $record, 'GV_rollover_reg_preview' => $registry->get('GV_rollover_reg_preview')));
|
||||||
break;
|
break;
|
||||||
case 'UNFIX':
|
|
||||||
$parm = $request->get_parms('lst');
|
|
||||||
$output = basket_adapter::unfix_grouping($parm['lst']);
|
|
||||||
break;
|
|
||||||
case 'FIX':
|
|
||||||
$parm = $request->get_parms('lst');
|
|
||||||
$output = basket_adapter::fix_grouping($parm['lst']);
|
|
||||||
break;
|
|
||||||
case 'ADDIMGT2CHU':
|
case 'ADDIMGT2CHU':
|
||||||
case 'ADDCHU2CHU':
|
case 'ADDCHU2CHU':
|
||||||
case 'ADDREG2CHU':
|
case 'ADDREG2CHU':
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
* @link www.phraseanet.com
|
* @link www.phraseanet.com
|
||||||
*/
|
*/
|
||||||
define('ZFONT', 'freesans');
|
define('ZFONT', 'freesans');
|
||||||
require_once __DIR__ . "/../../lib/bootstrap.php";
|
$Core = require_once __DIR__ . "/../../lib/bootstrap.php";
|
||||||
$appbox = appbox::get_instance();
|
$appbox = appbox::get_instance();
|
||||||
$session = $appbox->get_session();
|
$session = $appbox->get_session();
|
||||||
$registry = $appbox->get_registry();
|
$registry = $appbox->get_registry();
|
||||||
@@ -82,12 +82,19 @@ if ($act == "STEP2")
|
|||||||
{
|
{
|
||||||
$num = 0;
|
$num = 0;
|
||||||
|
|
||||||
|
|
||||||
if ($parm['SSTTID'] != '')
|
if ($parm['SSTTID'] != '')
|
||||||
{
|
{
|
||||||
$basket = basket_adapter::getInstance($appbox, $parm['SSTTID'], $usr_id);
|
$em = $Core->getEntityManager();
|
||||||
|
$repository = $em->getRepository('\Entities\Basket');
|
||||||
|
|
||||||
|
$basket = $repository->findUserBasket($Core->getRequest()->get('SSTTID'), $Core->getAuthenticatedUser());
|
||||||
|
|
||||||
$lst = array();
|
$lst = array();
|
||||||
foreach ($basket->get_elements() as $basket_element)
|
foreach ($basket->getElements() as $basket_element)
|
||||||
$lst[] = $basket_element->get_record()->get_serialize_key();
|
{
|
||||||
|
$lst[] = $basket_element->getRecord()->get_serialize_key();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -603,76 +610,80 @@ if ($act == "SEND")
|
|||||||
{
|
{
|
||||||
$lst = array_reverse($push_datas[$parm['token']]['lst']);
|
$lst = array_reverse($push_datas[$parm['token']]['lst']);
|
||||||
|
|
||||||
$basket = basket_adapter::create($appbox, $parm["nameBask"], $user);
|
$em = $Core->getEntityManager();
|
||||||
$basket->set_unread();
|
|
||||||
$basket->push_list($lst, false);
|
$basket = new \Entities\Basket();
|
||||||
$basket->flatten();
|
$basket->setName($Core->getRequest()->get('nameBask'));
|
||||||
$ssel_id = $basket->get_ssel_id();
|
$basket->setIsRead(false);
|
||||||
|
|
||||||
|
$em->persist($basket);
|
||||||
|
|
||||||
|
foreach($lst as $basrec)
|
||||||
|
{
|
||||||
|
$basrec = explode('_', $basrec);
|
||||||
|
|
||||||
|
$record = new record_adapter($basrec[0], $basrec[1]);
|
||||||
|
$basket_element = new Entities\BasketElement();
|
||||||
|
$basket_element->setRecord($record);
|
||||||
|
$basket_element->setBasket($basket);
|
||||||
|
$basket->addBasketElement($basket_element);
|
||||||
|
|
||||||
|
$em->persist($basket_element);
|
||||||
|
}
|
||||||
|
|
||||||
|
$em->flush();
|
||||||
|
|
||||||
|
$ssel_id = $basket->getId();
|
||||||
|
|
||||||
$outinfos = _('prod::push: votre nouveau panier a ete cree avec succes ; il contient vos documents de validation');
|
$outinfos = _('prod::push: votre nouveau panier a ete cree avec succes ; il contient vos documents de validation');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$basket = basket_adapter::getInstance($appbox, $ssel_id, $usr_id);
|
$em = $Core->getEntityManager();
|
||||||
|
$repository = $em->getRepository('\Entities\Basket');
|
||||||
if ($basket->is_grouping())
|
|
||||||
{
|
$basket = $repository->findUserBasket($ssel_id, $Core->getAuthenticatedUser());
|
||||||
$elements = $basket->get_elements();
|
|
||||||
$basket = basket_adapter::create($appbox, $basket->get_name(), $user);
|
$ssel_id = $basket->getId();
|
||||||
|
|
||||||
foreach ($elements as $record)
|
|
||||||
{
|
|
||||||
$basket->push_element($record, false, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
unset($elements);
|
|
||||||
|
|
||||||
$ssel_id = $basket->get_ssel_id();
|
|
||||||
}
|
|
||||||
|
|
||||||
$basket->flatten();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$my_link = '';
|
$my_link = '';
|
||||||
if ($ssel_id && is_numeric($ssel_id))
|
|
||||||
|
$lstUsrs = $push_datas[$parm['token']]['usrs'];
|
||||||
|
$users = array();
|
||||||
|
foreach ($lstUsrs as $usr => $right)
|
||||||
{
|
{
|
||||||
$lstUsrs = $push_datas[$parm['token']]['usrs'];
|
$users[$usr] = array('canHD' => (in_array($right['HD'], array('0', '1')) ? $right['HD'] : '0'), 'canRate' => '0', 'canAgree' => '1', 'canSeeOther' => ($parm['view_all'] == '1' ? '1' : '0'), 'canZone' => '0');
|
||||||
$users = array();
|
}
|
||||||
foreach ($lstUsrs as $usr => $right)
|
|
||||||
|
if (!array_key_exists($session->get_usr_id(), $lstUsrs))
|
||||||
|
$users[$session->get_usr_id()] = array('canHD' => '0', 'canRate' => '0', 'canAgree' => '1', 'canSeeOther' => '1', 'canZone' => '0');
|
||||||
|
|
||||||
|
$push = pushValidation($usr_id, $basket->getId(), $users, $parm['timValS'], $parm["textmail"], $parm['accuse']);
|
||||||
|
$my_link = $push['mylink'];
|
||||||
|
|
||||||
|
|
||||||
|
$Endusers = $push['users'];
|
||||||
|
|
||||||
|
$lstbyBase = array();
|
||||||
|
|
||||||
|
foreach ($basket->getElements() as $basket_element)
|
||||||
|
{
|
||||||
|
$record = $basket_element->getRecord();
|
||||||
|
$lstbyBase[$record->get_sbas_id()][] = $record->get_record_id();
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($lstbyBase as $sbas_id => $lst)
|
||||||
|
{
|
||||||
|
foreach ($lst as $record_id)
|
||||||
{
|
{
|
||||||
$users[$usr] = array('canHD' => (in_array($right['HD'], array('0', '1')) ? $right['HD'] : '0'), 'canRate' => '0', 'canAgree' => '1', 'canSeeOther' => ($parm['view_all'] == '1' ? '1' : '0'), 'canZone' => '0');
|
foreach ($Endusers as $u)
|
||||||
}
|
|
||||||
|
|
||||||
if (!array_key_exists($session->get_usr_id(), $lstUsrs))
|
|
||||||
$users[$session->get_usr_id()] = array('canHD' => '0', 'canRate' => '0', 'canAgree' => '1', 'canSeeOther' => '1', 'canZone' => '0');
|
|
||||||
|
|
||||||
$push = pushValidation($usr_id, $ssel_id, $users, $parm['timValS'], $parm["textmail"], $parm['accuse']);
|
|
||||||
$my_link = $push['mylink'];
|
|
||||||
|
|
||||||
|
|
||||||
$Endusers = $push['users'];
|
|
||||||
|
|
||||||
$lstbyBase = array();
|
|
||||||
|
|
||||||
$basket = basket_adapter::getInstance($appbox, $ssel_id, $usr_id);
|
|
||||||
foreach ($basket as $basket_element)
|
|
||||||
{
|
|
||||||
$record = $basket_element->get_record();
|
|
||||||
$lstbyBase[$record->get_sbas_id()][] = $record->get_record_id();
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($lstbyBase as $sbas_id => $lst)
|
|
||||||
{
|
|
||||||
foreach ($lst as $record_id)
|
|
||||||
{
|
{
|
||||||
foreach ($Endusers as $u)
|
$record = new record_adapter($sbas_id, $record_id);
|
||||||
{
|
$session->get_logger($record->get_databox())
|
||||||
$record = new record_adapter($sbas_id, $record_id);
|
->log($record, Session_Logger::EVENT_VALIDATE, $u, '');
|
||||||
$session->get_logger($record->get_databox())
|
unset($record);
|
||||||
->log($record, Session_Logger::EVENT_VALIDATE, $u, '');
|
|
||||||
unset($record);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user