$term) { if (trim($term['terms']) == '') continue; $out .= '
'; } return $out; } public static function denyCgus($sbas_id) { $appbox = appbox::get_instance(); $session = $appbox->get_session(); if (!$session->is_authenticated()) return '2'; $ret = '1'; try { $sql = 'DELETE FROM sbasusr WHERE sbas_id = :sbas_id AND usr_id = :usr_id'; $stmt = $appbox->get_connection()->prepare($sql); $stmt->execute(array(':sbas_id' => $sbas_id, ':usr_id' => $session->get_usr_id())); $stmt->closeCursor(); } catch (Exception $e) { $ret = '0'; } try { $sql = 'DELETE FROM basusr WHERE base_id IN (SELECT base_id FROM bas WHERE sbas_id = :sbas_id) AND usr_id = :usr_id'; $stmt = $appbox->get_connection()->prepare($sql); $stmt->execute(array(':sbas_id' => $sbas_id, ':usr_id' => $session->get_usr_id())); $stmt->closeCursor(); } catch (Exception $e) { $ret = '0'; } $session->logout(); return $ret; } private static function getUnvalidated($home=false) { $terms = array(); $appbox = appbox::get_instance(); $session = $appbox->get_session(); if(!$home) { $user = User_Adapter::getInstance($session->get_usr_id(), $appbox); } foreach ($appbox->get_databoxes() as $databox) { try { $cgus = $databox->get_cgus(); if (!isset($cgus[Session_Handler::get_locale()])) throw new Exception('No CGus for this locale'); $name = $databox->get_viewname(); $update = $cgus[Session_Handler::get_locale()]['updated_on']; $value = $cgus[Session_Handler::get_locale()]['value']; $userValidation = true; if (!$home) { if(!$user->ACL()->has_access_to_sbas($databox->get_sbas_id())); { continue; } $userValidation = ($user->getPrefs('terms_of_use_' . $databox->get_sbas_id()) !== $update && trim($value) !== ''); } if ($userValidation) $terms[$name] = array('sbas_id' => $databox->get_sbas_id(), 'terms' => $value, 'date' => $update); } catch (Exception $e) { } } return $terms; } public static function getHome() { $terms = self::getUnvalidated(true); $out = ''; foreach ($terms as $name => $term) { if (trim($term['terms']) == '') continue; if ($out != '') $out .= '' . $term['terms'] . ''; $out .= '