use Galette\Entity\Group; use Galette\Filters\MembersList; use Galette\Repository\Members; use Analog\Analog; require_once 'includes/galette.inc.php'; if (!$login->isLogged() || !$login->isAdmin() && !$login->isStaff()) { Analog::log('Trying to display ajax_members.php without appropriate permissions', Analog::INFO); die; } // check for ajax mode $ajax = isset($_POST['ajax']) && $_POST['ajax'] == 'true' ? true : false; $multiple = isset($_POST['multiple']) && $_POST['multiple'] == 'false' ? false : true; if (isset($session['ajax_members_filters']['members'])) { $filters = unserialize($session['ajax_members_filters']['members']); } else { $filters = new MembersList(); } if (isset($_GET['page'])) { $filters->current_page = (int) $_GET['page']; } if (isset($_POST['page'])) { $filters->current_page = (int) $_POST['page']; } //numbers of rows to display if (isset($_GET['nbshow']) && is_numeric($_GET['nbshow'])) { $filters->show = $_GET['nbshow']; } $members = new Members($filters); $members_list = $members->getMembersList(true); //assign pagination variables to the template and add pagination links $filters->setSmartyPagination($tpl);
/** * 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) || in_array($name, $this->memberslist_fields)) { parent::__set($name, $value); } else { Analog::log('[AdvancedMembersList] Setting property `' . $name . '`', Analog::DEBUG); $prop = '_' . $name; switch ($name) { case 'creation_date_begin': case 'creation_date_end': case 'modif_date_begin': case 'modif_date_end': case 'due_date_begin': case 'due_date_end': case 'birth_date_begin': case 'birth_date_end': case 'contrib_creation_date_begin': case 'contrib_creation_date_end': case 'contrib_begin_date_begin': case 'contrib_begin_date_end': case 'contrib_end_date_begin': case 'contrib_end_date_end': if ($value !== null && trim($value) !== '') { try { $d = \DateTime::createFromFormat(_T("Y-m-d"), $value); if ($d === false) { throw new \Exception('Incorrect format'); } $this->{$prop} = $d->format('Y-m-d'); } catch (\Exception $e) { Analog::log('Incorrect date format for ' . $name . '! was: ' . $value, Analog::WARNING); } } break; case 'contrib_min_amount': case 'contrib_max_amount': if (is_float($value)) { $this->{$prop} = $value; } else { if ($value !== null) { Analog::log('Incorrect amount for ' . $name . '! ' . 'Should be a float (' . gettype($value) . ' given)', Analog::WARNING); } } break; case 'show_public_infos': if (is_numeric($value)) { $this->{$prop} = $value; } else { Analog::log('[AdvancedMembersList] Value for property `' . $name . '` should be an integer (' . gettype($value) . ' given)', Analog::WARNING); } break; case 'status': if (!is_array($value)) { $value = array($value); } $this->_status = array(); foreach ($value as $v) { if (is_numeric($v)) { //check status existence $s = new Status(); $res = $s->get($v); if ($res !== false) { $this->_status[] = $v; } else { Analog::log('Status #' . $v . ' does not exists!', Analog::WARNING); } } else { Analog::log('[AdvancedMembersList] Value for status filter should be an ' . 'integer (' . gettype($v) . ' given', Analog::WARNING); } } break; case 'contributions_types': if (!is_array($value)) { $value = array($value); } $this->_contributions_types = array(); foreach ($value as $v) { if (is_numeric($v)) { //check type existence $s = new ContributionsTypes(); $res = $s->get($v); if ($res !== false) { $this->_contributions_types[] = $v; } else { Analog::log('Contribution type #' . $v . ' does not exists!', Analog::WARNING); } } else { Analog::log('[AdvancedMembersList] Value for contribution type ' . 'filter should be an integer (' . gettype($v) . ' given', Analog::WARNING); } } break; case 'payments_types': if (!is_array($value)) { $value = array($value); } $this->_payments_types = array(); foreach ($value as $v) { if (is_numeric($v)) { if ($v == Contribution::PAYMENT_OTHER || $v == Contribution::PAYMENT_CASH || $v == Contribution::PAYMENT_CREDITCARD || $v == Contribution::PAYMENT_CHECK || $v == Contribution::PAYMENT_TRANSFER || $v == Contribution::PAYMENT_PAYPAL) { $this->_payments_types[] = $v; } else { Analog::log('Payment type #' . $v . ' does not exists!', Analog::WARNING); } } else { Analog::log('[AdvancedMembersList] Value for payment type filter should be an ' . 'integer (' . gettype($v) . ' given', Analog::WARNING); } } break; case 'free_search': if (isset($this->_free_search['empty'])) { unset($this->_free_search['empty']); } if (is_array($value)) { if (isset($value['field']) && isset($value['search']) && isset($value['log_op']) && isset($value['qry_op']) && isset($value['idx'])) { $id = $value['idx']; unset($value['idx']); $this->_free_search[$id] = $value; } else { Analog::log('[AdvancedMembersList] bad construct for free filter', Analog::WARNING); } } else { Analog::log('[AdvancedMembersList] Value for free filter should be an ' . 'array (' . gettype($value) . ' given', Analog::WARNING); } break; default: if (substr($name, 0, 4) === 'cds_' || substr($name, 0, 5) === 'cdsc_') { if (is_array($value) || trim($value) !== '') { if (isset($this->_contrib_dynamic['empty'])) { unset($this->_contrib_dynamic['empty']); } $id = null; if (substr($name, 0, 5) === 'cdsc_') { $id = substr($name, 5, strlen($name)); } else { $id = substr($name, 4, strlen($name)); } $this->_contrib_dynamic[$id] = $value; } } else { Analog::log('[AdvancedMembersList] Unable to set proprety `' . $name . '`', Analog::WARNING); } break; } } }
* @version SVN: $Id$ * @link http://galette.tuxfamily.org * @since Available since 0.62 */ use Galette\Filters\MembersList; define('GALETTE_BASE_PATH', '../'); require_once GALETTE_BASE_PATH . 'includes/galette.inc.php'; if (!$preferences->showPublicPages($login)) { //public pages are not actives header('location:' . GALETTE_BASE_PATH . 'index.php'); die; } if (isset($session['public_filters']['members'])) { $filters = unserialize($session['public_filters']['members']); } else { $filters = new MembersList(); } // Filters if (isset($_GET['page'])) { $filters->current_page = (int) $_GET['page']; } if (isset($_GET['clear_filter'])) { $filters->reinit(); } //numbers of rows to display if (isset($_GET['nbshow']) && is_numeric($_GET['nbshow'])) { $filters->show = $_GET['nbshow']; } // Sorting if (isset($_GET['tri'])) { $filters->orderby = $_GET['tri'];
} $session['mailing'] = null; unset($session['mailing']); if (!isset($_GET['mailing_new']) && !isset($_GET['reminder'])) { header('location: gestion_adherents.php'); exit(0); } } $data = array(); if ($preferences->pref_mail_method == Core\Mailing::METHOD_DISABLED && !GALETTE_MODE === 'DEMO') { $hist->add(_T("Trying to load mailing while mail is disabled in preferences.")); } else { if (isset($session['filters']['members'])) { $filters = unserialize($session['filters']['members']); } else { $filters = new MembersList(); } if (isset($session['mailing']) && !isset($_POST['mailing_cancel']) && !isset($_GET['from']) && !isset($_GET['reset'])) { $mailing = unserialize($session['mailing']); } else { if (isset($_GET['from']) && is_numeric($_GET['from'])) { $mailing = new Core\Mailing(null, $_GET['from']); Core\MailingHistory::loadFrom((int) $_GET['from'], $mailing); } else { if (isset($_GET['reminder'])) { //FIXME: use a constant! $filters->reinit(); $filters->membership_filter = Members::MEMBERSHIP_LATE; $filters->account_status_filter = Members::ACTIVE_ACCOUNT; $m = new Members($filters); $members = $m->getList(true);