get_session(); $registry = $appbox->get_registry(); require($registry->get('GV_RootPath') . 'lib/classes/deprecated/push.api.php'); require($registry->get('GV_RootPath') . 'lib/classes/deprecated/countries.php'); $request = http_request::getInstance(); $parm = $request->get_parms("lst" , "ACT" , "textmail" , "lstusr" , "nameBask" , "SSTTID" , "view_all" , "is_push" , "accuse" , "timValS" , "token" ); $lng = Session_Handler::get_locale(); $usr_id = $session->get_usr_id(); phrasea::headers(); $user = User_Adapter::getInstance($session->get_usr_id(), $appbox); $act = $parm['ACT']; $parmLST = $parm['lst']; $ctry = getCountries($lng); if ($act == "LOAD") { $token = random::generatePassword(16); $push_datas = $session->storage()->get('push', array()); $push_datas[$token] = array('lst' => array(), 'usrs' => array(), 'ssel_id' => null); $session->storage()->set('push', $push_datas); ?>
get_elements() as $basket_element) $lst[] = $basket_element->get_record()->get_serialize_key(); } else { $lst = explode(";", $parmLST); } $lst = whatCanIPush($usr_id, $lst); $canAdmin = whatCanIAdmin($usr_id); $canSendHD = sendHdOk($usr_id, $lst); if (isset($lst)) { $parmLST = implode(';', $lst); $num = count($lst); } $push_datas = $session->storage()->get('push', array()); if (!isset($push_datas[$parm['token']])) return; $push_datas[$parm['token']]['lst'] = $lst; $push_datas[$parm['token']]['usrs'] = array(); $push_datas[$parm['token']]['ssel_id'] = $parm['SSTTID']; $session->storage()->set('push', $push_datas); $user = user_adapter::getInstance($session->get_usr_id(), $appbox); ?> <?php echo _('action : push') ?>

ACL()->get_granted_base(array('canpush'))); $rs = get_distinct_activite($baslist); $htmlacti = ''; foreach ($rs as $row) { $htmlacti .= ''; } $rs = get_distinct_fonction($baslist); $htmlfonction = ''; foreach ($rs as $row) { $htmlfonction .= ''; } $rs = get_distinct_pays($baslist); $disCoun = array(); $ctry = getCountries($lng); foreach ($rs as $row) { if (isset($ctry[$row['pays']])) $disCoun[$row['pays']] = $ctry[$row['pays']]; } $rs = get_distinct_societe($baslist); $htmlsocie = ''; foreach ($rs as $row) { $htmlsocie .= ''; } $rs = get_distinct_model($baslist); $htmltemplate = ''; foreach ($rs as $row) { $htmltemplate .= ''; } ?>
  - +
0) { ?>
:
storage()->get('push', array()); if (!isset($push_datas[$parm['token']])) exit(); ?> $right) { $users[$usr] = array('canHD' => (in_array($right['HD'], array('0', '1')) ? $right['HD'] : 0)); } $push = pushIt($usr_id, $parm['nameBask'], $parmLST, $users, $parm["textmail"], $lng, $parm['accuse']); $nbchu = $push['nbchu']; $my_link = $push['mylink']; $Endusers = $push['users']; $lstbyBase = array(); foreach ($parmLST as $br) { $br = explode('_', $br); $lstbyBase[$br[0]][] = $br[1]; } 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()) ->log($record, Session_Logger::EVENT_PUSH, $u, ''); } } } echo "
" . sprintf(_('Push:: %d paniers envoyes avec success'), $nbchu) . "
" . '
'; $prov = $registry->get('GV_ServerName'); if (isset($my_link) && strlen($my_link) > 4) { echo "
" . _('Push:: acces direct au panier envoye') . "
"; } ?>
storage()->get('push', array()); $ssel_id = $push_datas[$parm['token']]['ssel_id']; $user = User_Adapter::getInstance($session->get_usr_id(), $appbox); if (!$ssel_id || trim($ssel_id) == '') { $lst = array_reverse($push_datas[$parm['token']]['lst']); $basket = basket_adapter::create($appbox, $parm["nameBask"], $user); $basket->set_unread(); $basket->push_list($lst, false); $basket->flatten(); $ssel_id = $basket->get_ssel_id(); $outinfos = _('prod::push: votre nouveau panier a ete cree avec succes ; il contient vos documents de validation'); } else { $basket = basket_adapter::getInstance($appbox, $ssel_id, $usr_id); if ($basket->is_grouping()) { $elements = $basket->get_elements(); $basket = basket_adapter::create($appbox, $basket->get_name(), $user); foreach ($elements as $record) { $basket->push_element($record, false, false); } unset($elements); $ssel_id = $basket->get_ssel_id(); } $basket->flatten(); } $my_link = ''; if ($ssel_id && is_numeric($ssel_id)) { $lstUsrs = $push_datas[$parm['token']]['usrs']; $users = array(); foreach ($lstUsrs as $usr => $right) { $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'); } 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()) ->log($record, Session_Logger::EVENT_VALIDATE, $u, ''); unset($record); } } } } if (isset($outinfos)) echo "
" . $outinfos . "
"; echo "
"; if (isset($my_link) && strlen($my_link) > 4) echo "
" . _('prod::push: acceder directement a votre espace de validation') . "
"; echo "
" . _('boutton::fermer') . "
"; } ?>