private function getSinglePromotion(PlPage &$page, $promo)
{
- if (!ctype_digit($promo) || $promo < 1920 || $promo > date('Y')) {
+ if (!(is_int($promo) || ctype_digit($promo)) || $promo < 1920 || $promo > date('Y')) {
$page->trigError('Promotion invalide : ' . $promo . '.');
return null;
}
}
if ($search && trim(Env::v('quick'))) {
$base = 'carnet/contacts/search';
-
- Platal::load('search', 'classes.inc.php');
$view = new SearchSet(true, false, new UFC_Contact($user));
} else {
$base = 'carnet/contacts';
Platal::session()->close();
- $order = array(new UFO_Name(UserFilter::LASTNAME), new UFO_Name(UserFilter::FIRSTNAME));
+ $order = array(new UFO_Name(Profile::LASTNAME), new UFO_Name(Profile::FIRSTNAME));
if ($arg0 == 'promo') {
$order = array_unshift($order, new UFO_Promo());
} else {
$pdf = new ContactsPDF();
- $profiles = $filter->getProfiles();
- foreach ($profiles as $p) {
+ $it = $filter->iterProfiles();
+ while ($p = $it->next()) {
$pdf = ContactsPDF::addContact($pdf, $p, $arg0 == 'photos' || $arg1 == 'photos');
}
$pdf->Output();
return $feed->run($page, $user, $hash);
}
+ function buildBirthRef(Profile $profile)
+ {
+ $date = strtotime($profile->birthdate);
+ $tomorrow = $date + 86400;
+ return array(
+ 'timestamp' => $date,
+ 'date' => date('Ymd', $date),
+ 'tomorrow' => date('Ymd', $tomorrow),
+ 'hruid' => $profile->hrid(),
+ 'summary' => 'Anniversaire de ' . $profile->fullName(true)
+ );
+ }
+
+
function handler_ical(&$page, $alias = null, $hash = null)
{
$user = Platal::session()->tokenAuth($alias, $hash);
$page->register_function('display_ical', 'display_ical');
$filter = new UserFilter(new UFC_Contact($user));
- $annivs = Array();
- foreach ($filter->getUsers() as $u) {
- $profile = $u->profile();
- $date = strtotime($profile->birthdate);
- $tomorrow = $date + 86400;
- $annivs[] = array(
- 'timestamp' => strtotime($user->registration_date),
- 'date' => date('Ymd', $date),
- 'tomorrow' => date('Ymd', $tomorrow),
- 'hruid' => $profile->hrid(),
- 'summary' => 'Anniversaire de ' . $profile->fullName(true)
- );
- }
- $page->assign('events', $annivs);
+ $profiles = $filter->iterProfiles();
+ $page->assign('events', PlIteratorUtils::map($profiles, array($this, 'buildBirthRef')));
pl_content_headers("text/calendar");
}
function handler_vcard(&$page, $photos = null)
{
- $res = XDB::query('SELECT contact
- FROM contacts
- WHERE uid = {?}', S::v('uid'));
+ $pf = new ProfileFilter(new UFC_Contact(S::user()));
$vcard = new VCard($photos == 'photos');
- $vcard->addUsers($res->fetchColumn());
+ $vcard->addProfiles($pf->getProfiles());
$vcard->show();
}
}