/** * Global setter method * * @param string $name name of the property we want to assign a value to * @param object $value a relevant value for the property * * @return void */ public function __set($name, $value) { if (in_array($name, $this->pagination_fields)) { parent::__set($name, $value); } else { Analog::log('[MembersList] Setting property `' . $name . '`', Analog::DEBUG); switch ($name) { case 'selected': case 'unreachable': if (is_array($value)) { $name = '_' . $name; $this->{$name} = $value; } else { if ($value !== null) { Analog::log('[MembersList] Value for property `' . $name . '` should be an array (' . gettype($value) . ' given)', Analog::WARNING); } } break; case 'filter_str': $name = '_' . $name; $this->{$name} = $value; break; case 'field_filter': case 'membership_filter': case 'account_status_filter': if (is_numeric($value)) { $name = '_' . $name; $this->{$name} = $value; } else { if ($value !== null) { Analog::log('[MembersList] Value for property `' . $name . '` should be an integer (' . gettype($value) . ' given)', Analog::WARNING); } } break; case 'email_filter': switch ($value) { case Members::FILTER_DC_EMAIL: case Members::FILTER_W_EMAIL: case Members::FILTER_WO_EMAIL: $this->_email_filter = $value; break; default: Analog::log('[MembersList] Value for email filter should be either ' . Members::FILTER_DC_EMAIL . ', ' . Members::FILTER_W_EMAIL . ' or ' . Members::FILTER_WO_EMAIL . ' (' . $value . ' given)', Analog::WARNING); break; } break; case 'group_filter': if (is_numeric($value) && $value > 0) { //check group existence $g = new Group(); $res = $g->load($value); if ($res === true) { $this->_group_filter = $value; } else { Analog::log('Group #' . $value . ' does not exists!', Analog::WARNING); } } else { if ($value !== null && $value !== '0') { Analog::log('[MembersList] Value for group filter should be an ' . 'integer (' . gettype($value) . ' given)', Analog::WARNING); } } break; case 'query': $this->{$name} = $value; break; default: Analog::log('[MembersList] Unable to set proprety `' . $name . '`', Analog::WARNING); break; } } }
if (!$login->isLogged()) { header('location: index.php'); die; } if (!$login->isAdmin() && !$login->isStaff() && !$login->isGroupManager()) { header('location: voir_adherent.php'); die; } $groups = new Groups(); $group = new Group(); $error_detected = array(); $success_detected = array(); $id = get_numeric_form_value(Group::PK, null); if ($id !== null) { if ($login->isGroupManager($id)) { $group->load($id); } else { Analog::log('Trying to display group ' . $id . ' without appropriate permissions', Analog::INFO); die; } } if (isset($_POST['pdf'])) { $qstring = 'groups_list.php'; if (isset($_POST['id_group'])) { $qstring .= '?gid=' . $_POST['id_group']; } header('location: ' . $qstring); die; } if (isset($_POST['delete']) || isset($_POST['delete_cascade'])) { //delete groups