X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fuserset.inc.php;h=f3286dde74dcd8651a4950e1b40872b51ff6358b;hb=43a424857c4a6bbae6d7d41efe337f2c16b86d64;hp=bcbe20e36e3854ab86ebfbccc7185c78951fcae5;hpb=47712f77e9718652c516c85cde99a58d142f67c9;p=platal.git diff --git a/include/userset.inc.php b/include/userset.inc.php index bcbe20e..f3286dd 100644 --- a/include/userset.inc.php +++ b/include/userset.inc.php @@ -327,8 +327,13 @@ class ListMemberView extends MixedView class TrombiView extends MixedView { + private $full_count; + public function __construct(PlSet $set, array $params) { + $set->getIds(); + $this->full_count = $set->count(); + $this->entriesPerPage = 24; $this->defaultkey = 'name'; if (@$params['with_score']) { @@ -359,6 +364,7 @@ class TrombiView extends MixedView global $globals; $page->assign('mainsiteurl', 'https://' . $globals->core->secure_domain . '/'); } + $page->assign('full_count', $this->full_count); return parent::apply($page); } } @@ -428,13 +434,24 @@ class AddressesView implements PlView pl_cached_content_headers('text/x-csv', 'iso-8859-1', 1, 'adresses.csv'); $csv = fopen('php://output', 'w'); - fputcsv($csv, array('adresses'), ';'); + fputcsv($csv, array('PROMOTION', 'CIVILITE', 'NOM', 'PRENOM', 'SOCIETE', 'ADRESSE', 'CP', 'EMAIL'), ';'); if (!empty($pids)) { - $res = XDB::query('SELECT pd.public_name, pa.postalText - FROM profile_addresses AS pa - INNER JOIN profile_display AS pd ON (pd.pid = pa.pid) - WHERE pa.type = \'home\' AND pa.pub IN (\'public\', \'ax\') AND FIND_IN_SET(\'mail\', pa.flags) AND pa.pid IN {?} - GROUP BY pa.pid', $pids); + $res = XDB::query("SELECT pd.promo, p.title, + IF (pn.firstname_ordinary = '', UPPER(pn.firstname_main), UPPER(pn.firstname_ordinary)) AS firstname, + IF (pn.lastname_ordinary = '', UPPER(pn.lastname_main), UPPER(pn.lastname_ordinary)) AS lastname, + UPPER(pje.name), pa.postalText, pa.postal_code_fr AS postal_code, p.email_directory + FROM (SELECT pid, postalText, jobid, groupid, type, id, postal_code_fr + FROM profile_addresses + WHERE pub IN ('public', 'ax') AND FIND_IN_SET('mail', flags) AND pid IN {?} + ORDER BY pid, NOT FIND_IN_SET('current', flags), + FIND_IN_SET('secondary', flags), type = 'job') AS pa + INNER JOIN profiles AS p ON (pa.pid = p.pid) + INNER JOIN profile_display AS pd ON (pd.pid = pa.pid) + INNER JOIN profile_public_names AS pn ON (pn.pid = pa.pid) + LEFT JOIN profile_job AS pj ON (pj.pid = pa.pid + AND pj.id = IF(pa.type = 'job', pa.id, NULL)) + LEFT JOIN profile_job_enum AS pje ON (pj.jobid = pje.id) + GROUP BY pa.pid", $pids); foreach ($res->fetchAllAssoc() as $item) { fputcsv($csv, array_map('utf8_decode', $item), ';'); }