}
}
+class AddressesView implements PlView
+{
+ private $set;
+
+ public function __construct(PlSet &$set, array $params)
+ {
+ $this->set =& $set;
+ }
+
+ public function apply(PlPage &$page)
+ {
+ $res = $this->set->get(new PlLimit());
+ $visibility = new ProfileVisibility(ProfileVisibility::VIS_AX);
+ pl_content_headers('text/x-csv');
+
+ $csv = fopen('php://output', 'w');
+ fputcsv($csv, array('adresses'), ';');
+ foreach ($res as $profile) {
+ $addresses = $profile->getAddresses(Profile::ADDRESS_POSTAL);
+ if (!empty($addresses)) {
+ foreach ($addresses as $address) {
+ if ($visibility->isVisible($address->pub)) {
+ fputcsv($csv, array($profile->public_name, $address->postalText), ';');
+ break;
+ }
+ }
+ }
+ }
+ fclose($csv);
+ exit();
+ }
+
+ public function args()
+ {
+ return $this->set->args();
+ }
+}
+
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>
$view->addMod('trombi', 'Trombinoscope', false, array('with_promo' => true));
// TODO: Reactivate when the new map is completed.
// $view->addMod('geoloc', 'Planisphère', false, array('with_annu' => 'search/adv'));
+ if (S::user()->checkPerms(User::PERM_EDIT_DIRECTORY) || S::admin()) {
+ $view->addMod('addresses', 'Addresses postales', false);
+ }
$view->apply('search/adv', $page, $model);
$nb_tot = $view->count();
if ($nb_tot > $globals->search->private_max) {
$this->form_prepare();
+ if ($model != 'addresses' && (S::user()->checkPerms(User::PERM_EDIT_DIRECTORY) || S::admin())) {
+ $page->assign('suggestAddresses', true);
+ }
$page->trigError('Recherche trop générale.');
} else if ($nb_tot == 0) {
$this->form_prepare();
<h1>Recherche dans l'annuaire</h1>
+{if hasPerm('edit_directory,admin') && t($suggestAddresses)}
+<p class="center"><strong>Voulez-vous télécharger le <a href="{$globals->baseurl}/search/adv/addresses{$plset_args}">tableau des adresses postales</a> pour la recette précédente ?</strong></p>
+{/if}
+
{javascript name=jquery.form}
<script type="text/javascript">// <!--