get_connection(); $inscriptions = null; $usrerRegis = null; if ($usr != null) { $sqlU = 'SELECT sbas.dbname, time_limited, UNIX_TIMESTAMP( limited_from ) AS limited_from, UNIX_TIMESTAMP( limited_to ) AS limited_to, bas.server_coll_id, usr.usr_id, basusr.actif, demand.en_cours, demand.refuser FROM (usr, bas, sbas) LEFT JOIN basusr ON ( usr.usr_id = basusr.usr_id AND bas.base_id = basusr.base_id ) LEFT JOIN demand ON ( demand.usr_id = usr.usr_id AND bas.base_id = demand.base_id ) WHERE bas.active >0 AND bas.sbas_id = sbas.sbas_id AND usr.usr_id = :usr_id AND model_of = 0'; $stmt = $conn->prepare($sqlU); $stmt->execute(array(':usr_id' => $usr)); $rsU = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt->closeCursor(); if (count($rsU) == 0) { return null; } foreach ($rsU as $rowU) { if ( ! isset($usrerRegis[$rowU['dbname']])) $usrerRegis[$rowU['dbname']] = null; if ( ! is_null($rowU['actif']) || ! is_null($rowU['en_cours'])) { $usrerRegis[$rowU['dbname']][$rowU['server_coll_id']] = true; if ($rowU['actif'] == '0') $usrerRegis[$rowU['dbname']][$rowU['server_coll_id']] = 'NONACTIF'; elseif ($rowU['time_limited'] == '1' && ! ($rowU['limited_from'] >= time() && $rowU['limited_to'] <= time())) $usrerRegis[$rowU['dbname']][$rowU['server_coll_id']] = 'OUTTIME'; elseif ($rowU['time_limited'] == '1' && ($rowU['limited_from'] > time() && $rowU['limited_to'] < time())) $usrerRegis[$rowU['dbname']][$rowU['server_coll_id']] = 'INTIME'; elseif ($rowU['en_cours'] == '1') $usrerRegis[$rowU['dbname']][$rowU['server_coll_id']] = 'WAIT'; elseif ($rowU['refuser'] == '1') $usrerRegis[$rowU['dbname']][$rowU['server_coll_id']] = 'REFUSE'; } } } foreach ($app['phraseanet.appbox']->get_databoxes() as $databox) { $collname = $basname = null; $sbas_id = $databox->get_sbas_id(); $inscriptions[$sbas_id] = array(); $inscriptions[$sbas_id]['CGU'] = false; $inscriptions[$sbas_id]['CGUrelease'] = false; $inscriptions[$sbas_id]['inscript'] = false; $inscriptions[$sbas_id]['CollsCGU'] = null; $inscriptions[$sbas_id]['Colls'] = null; $inscriptions[$sbas_id]['CollsRegistered'] = null; $inscriptions[$sbas_id]['CollsWait'] = null; $inscriptions[$sbas_id]['CollsRefuse'] = null; $inscriptions[$sbas_id]['CollsIntime'] = null; $inscriptions[$sbas_id]['CollsOuttime'] = null; $inscriptions[$sbas_id]['CollsNonactif'] = null; foreach ($databox->get_collections() as $key => $coll) { $collname[$key] = $coll->get_label($app['locale.I18n']); $basname[$key] = $coll->get_coll_id(); } $sbpcgu = ''; $xml = $databox->get_sxml_structure(); if ($xml) { foreach ($xml->xpath('/record/caninscript') as $caninscript) { if ($inscriptions[$sbas_id]['inscript'] === false) $inscriptions[$sbas_id]['inscript'] = ((string) $caninscript == "1"); } foreach ($xml->xpath('/record/cgu') as $sbpcgu) { foreach ($sbpcgu->attributes() as $a => $b) { if ($a == "release") $inscriptions[$sbas_id]['CGUrelease'] = (string) $b; } $inscriptions[$sbas_id]['CGU'] = (string) $sbpcgu->saveXML(); } } $baseInscript = $inscriptions[$sbas_id]['inscript']; foreach ($databox->get_collections() as $collection) { $cguColl = false; $collInscript = $baseInscript; $defined = false; $cguSpec = false; if (false !== $xml = simplexml_load_string($collection->get_prefs())) { $defined = true; foreach ($xml->xpath('/baseprefs/caninscript') as $caninscript) { $tmp = (string) $caninscript; if ($tmp === "1") $collInscript = true; elseif ($tmp === "0") $collInscript = false; } if ($collInscript) { $cguCollRelease = false; if ($inscriptions[$sbas_id]['inscript'] === false) $inscriptions[$sbas_id]['inscript'] = ! ! $collInscript; foreach ($xml->xpath('/baseprefs/cgu') as $bpcgu) { foreach ($bpcgu->attributes() as $a => $b) { if ($a == "release") $cguCollRelease = (string) $b; } $cguColl = (string) $bpcgu->saveXML(); } if ($cguColl) { $cguSpec = true; } else { if ( ! isset($usrerRegis[$databox->get_dbname()][$collection->get_coll_id()])) $inscriptions[$sbas_id]['Colls'][$collection->get_coll_id()] = $collection->get_label($app['locale.I18n']); } } } $lacgu = $cguColl ? $cguColl : (string) $sbpcgu; if (isset($usrerRegis[$databox->get_dbname()]) && isset($usrerRegis[$databox->get_dbname()][$collection->get_coll_id()])) { if ($usrerRegis[$databox->get_dbname()][$collection->get_coll_id()] === "WAIT") $inscriptions[$sbas_id]['CollsWait'][$collection->get_coll_id()] = $lacgu; elseif ($usrerRegis[$databox->get_dbname()][$collection->get_coll_id()] === "REFUSE") $inscriptions[$sbas_id]['CollsRefuse'][$collection->get_coll_id()] = $lacgu; elseif ($usrerRegis[$databox->get_dbname()][$collection->get_coll_id()] === "INTIME") $inscriptions[$sbas_id]['CollsIntime'][$collection->get_coll_id()] = $lacgu; elseif ($usrerRegis[$databox->get_dbname()][$collection->get_coll_id()] === "OUTTIME") $inscriptions[$sbas_id]['CollsOuttime'][$collection->get_coll_id()] = $lacgu; elseif ($usrerRegis[$databox->get_dbname()][$collection->get_coll_id()] === "NONACTIF") $inscriptions[$sbas_id]['CollsNonactif'][$collection->get_coll_id()] = $lacgu; elseif ($usrerRegis[$databox->get_dbname()][$collection->get_coll_id()] === true) $inscriptions[$sbas_id]['CollsRegistered'][$collection->get_coll_id()] = $lacgu; } elseif (! $cguSpec && $collInscript) {//ne va pas.. si l'inscriptio na la coll est explicitement non autorise, je refuse' $inscriptions[$sbas_id]['Colls'][$collection->get_coll_id()] = $collection->get_label($app['locale.I18n']); } elseif ($cguSpec) { $inscriptions[$sbas_id]['CollsCGU'][$collection->get_coll_id()]['name'] = $collection->get_label($app['locale.I18n']); $inscriptions[$sbas_id]['CollsCGU'][$collection->get_coll_id()]['CGU'] = $cguColl; $inscriptions[$sbas_id]['CollsCGU'][$collection->get_coll_id()]['CGUrelease'] = $cguCollRelease; } } } return $inscriptions; } function giveMeBaseUsr(Application $app, $usr, $lng) { $noDemand = true; $out = '
' . ' | ' . ' | ' . ' |
' . phrasea::sbas_names($sbasId, $app) . ' | ||
' . _('login::register: acces authorise sur la collection ') . phrasea::bas_labels($base_id, $app); if (trim($isTrue) != '') $out .= ' ' . _('login::register::CGU: lire les CGU') . ''; $out .= ' | ||
' . _('login::register: acces refuse sur la collection ') . phrasea::bas_labels($base_id, $app) . ''; if (trim($isTrue) != '') $out .= ' ' . _('login::register::CGU: lire les CGU') . ''; $out .= ' | ||
' . _('login::register: en attente d\'acces sur') . ' ' . phrasea::bas_labels($base_id, $app) . ''; if (trim($isTrue) != '') $out .= ' ' . _('login::register::CGU: lire les CGU') . ''; $out .= ' | ||
' . _('login::register: acces temporaire sur') . phrasea::bas_labels($base_id, $app) . ''; if (trim($isTrue) != '') $out .= ' ' . _('login::register::CGU: lire les CGU') . ''; $out .= ' | ||
' . _('login::register: acces temporaire termine sur ') . phrasea::bas_labels($base_id, $app) . ''; if (trim($isTrue) != '') $out .= ' ' . _('login::register::CGU: lire les CGU') . ''; $out .= ' | ||
' . _('login::register: acces supendu sur') . phrasea::bas_labels($base_id, $app) . ''; if (trim($isTrue) != '') $out .= ' ' . _('login::register::CGU: lire les CGU') . ''; $out .= ' | ||
' . _('login::register: L\'acces aux bases ci-dessous implique l\'acceptation des Conditions Generales d\'Utilisation (CGU) suivantes') . ' | ||
' . $baseInsc['CGU'] . ' | ||
' . $collName . ' | ' . '' . ' | ' . '' . '' . _('login::register: Faire une demande d\'acces') . '' . ' | ' . '
' . _('login::register: L\'acces aux bases ci-dessous implique l\'acceptation des Conditions Generales d\'Utilisation (CGU) suivantes') . ' | ||
' .
' ' . $collDesc['CGU'] . ' ' .
' | ' .
'||
' . $collDesc['name'] . ' | ' . '' . ' | ' . '' . '' . _('login::register: Faire une demande d\'acces') . '' . ' | ' . '
' . ' | ' . ' | ' . ' |
' . phrasea::sbas_names($sbasId, $app) . ' | ||
' . _('login::register: L\'acces aux bases ci-dessous implique l\'acceptation des Conditions Generales d\'Utilisation (CGU) suivantes') . ' ' . _('login::register::CGU: ouvrir dans une nouvelle fenetre') . ' | ||
'.(string) $baseInsc['CGU'].' | ||
' . $collName . ' | ' . '' . ' | ' . '' . '' . _('login::register: Faire une demande d\'acces') . '' . ' | ' . '
' . _('login::register: L\'acces aux bases ci-dessous implique l\'acceptation des Conditions Generales d\'Utilisation (CGU) suivantes') .
' ' . _('login::register::CGU: ouvrir dans une nouvelle fenetre') . ' | ||
' .
// ''.(string) $collDesc['CGU'].'' .
// ' | ' .
// '||
' . $collDesc['name'] . ' | ' . '' . ' | ' . '' . '' . _('login::register: Faire une demande d\'acces') . '' . ' | ' . '