forked from science-ation/science-ation
184 lines
5.0 KiB
PHP
184 lines
5.0 KiB
PHP
<?
|
|
|
|
/*
|
|
* This file is part of the 'Science Fair In A Box' project
|
|
* SFIAB Website: http://www.sfiab.ca
|
|
*
|
|
* Copyright (C) 2005 Sci-Tech Ontario Inc <info@scitechontario.org>
|
|
* Copyright (C) 2005 James Grant <james@lightbox.org>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public
|
|
* License as published by the Free Software Foundation, version 2.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; see the file COPYING. If not, write to
|
|
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
* Boston, MA 02111-1307, USA.
|
|
*/
|
|
?>
|
|
<?
|
|
require ('../common.inc.php');
|
|
require_once ('../user.inc.php');
|
|
user_auth_required('committee', 'admin');
|
|
require ('../lpdf.php');
|
|
require ('../lcsv.php');
|
|
|
|
if ($_GET['report'])
|
|
$report = $_GET['report'];
|
|
if ($_GET['reportname'])
|
|
$reportname = $_GET['reportname'];
|
|
else
|
|
$reportname = $_GET['report'];
|
|
if ($report) {
|
|
if ($_GET['type'] == 'pdf') {
|
|
$card_width = 4.0;
|
|
$card_height = 2.0;
|
|
$xspacer = 0.125;
|
|
$yspacer = 0.125;
|
|
$fontsize = 10;
|
|
$toppadding = 0;
|
|
|
|
if ($_GET['width'])
|
|
$card_width = $_GET['width'];
|
|
if ($_GET['height'])
|
|
$card_height = $_GET['height'];
|
|
if ($_GET['xspacer'])
|
|
$xspacer = $_GET['xspacer'];
|
|
if ($_GET['yspacer'])
|
|
$yspacer = $_GET['yspacer'];
|
|
if ($_GET['fontsize'])
|
|
$fontsize = $_GET['fontsize'];
|
|
if ($_GET['toppadding'])
|
|
$toppadding = $_GET['toppadding'];
|
|
|
|
$rep = new lpdf(i18n($config['fairname']),
|
|
"$reportname Mailing Labels",
|
|
$_SERVER['DOCUMENT_ROOT'] . $config['SFIABDIRECTORY'] . '/data/logo-200.gif');
|
|
|
|
$rep->setPageStyle('labels');
|
|
$rep->newPage(8.5, 11);
|
|
$rep->setLabelDimensions($card_width, $card_height, $xspacer, $yspacer, $fontsize, $toppadding);
|
|
} else if ($_GET['type'] == 'csv') {
|
|
$rep = new lcsv(i18n("$reportname Mailing Labels"));
|
|
}
|
|
|
|
switch ($report) {
|
|
// IF(schools.sciencehead=\"\",\"Science Department Head\",schools.sciencehead) AS co,
|
|
case 'schools':
|
|
$q = $pdo->prepare("SELECT
|
|
schools.school AS name,
|
|
schools.board AS board,
|
|
schools.schoollang,
|
|
schools.sciencehead AS co,
|
|
schools.address AS address,
|
|
schools.city AS city,
|
|
schools.province_code AS province,
|
|
schools.postalcode AS postalcode
|
|
FROM
|
|
schools
|
|
WHERE
|
|
year=?
|
|
ORDER BY
|
|
school
|
|
");
|
|
$q->execute([$config['FAIRYEAR']]);
|
|
break;
|
|
|
|
case 'sponsors':
|
|
$q = $pdo->prepare("SELECT
|
|
award_sponsors.organization AS name,
|
|
award_sponsors.address AS address,
|
|
award_sponsors.city AS city,
|
|
award_sponsors.province_code AS province,
|
|
award_sponsors.postalcode AS postalcode,
|
|
IF(award_contacts.salutation=\"\",
|
|
CONCAT(award_contacts.firstname,' ',award_contacts.lastname),
|
|
CONCAT(award_contacts.salutation,' ',award_contacts.firstname,' ',award_contacts.lastname))
|
|
AS co
|
|
FROM
|
|
award_sponsors,
|
|
award_contacts
|
|
WHERE
|
|
award_sponsors.confirmed='yes'
|
|
AND award_contacts.award_sponsors_id=award_sponsors.id
|
|
ORDER BY
|
|
organization
|
|
");
|
|
$q->execute();
|
|
break;
|
|
|
|
case 'judges':
|
|
$q = $pdo->prepare("SELECT
|
|
CONCAT(judges.firstname,' ',judges.lastname) AS name,
|
|
IF(judges.address2=\"\",
|
|
judges.address,
|
|
CONCAT(judges.address,' ',judges.address2)
|
|
) AS address,
|
|
'' AS co,
|
|
judges.city AS city,
|
|
judges.province AS province,
|
|
judges.postalcode AS postalcode
|
|
FROM
|
|
judges,
|
|
judges_years
|
|
WHERE
|
|
judges_years.judges_id=judges.id
|
|
AND judges_years.year=?
|
|
ORDER BY
|
|
lastname,firstname
|
|
");
|
|
$q->execute([$config['FAIRYEAR']]);
|
|
break;
|
|
}
|
|
|
|
if ($_GET['type'] == 'csv') {
|
|
$table = array();
|
|
$table['header'] = array(
|
|
i18n('Name'),
|
|
i18n('C/O'),
|
|
i18n('Address'),
|
|
i18n('City'),
|
|
i18n($config['provincestate']),
|
|
i18n($config['postalzip'])
|
|
);
|
|
}
|
|
|
|
while ($r = $q->fetch(PDO::FETCH_OBJ)) {
|
|
// handle C/O differently for schools, becuase, well, french schools are picky!
|
|
if ($report == 'schools') {
|
|
if ($r->sciencehead)
|
|
$coname = $r->sciencehead;
|
|
else
|
|
$coname = i18n('Science Department Head', array(), array(), $r->schoollang);
|
|
|
|
$co = i18n('C/O %1', array($coname), array('Name of person'), $r->schoollang);
|
|
|
|
$name = $r->name;
|
|
if ($r->board)
|
|
$name .= ' [' . $r->board . ']';
|
|
} else {
|
|
$co = "C/O $r->co";
|
|
$name = $r->name;
|
|
}
|
|
|
|
if ($_GET['type'] == 'pdf') {
|
|
$rep->newLabel();
|
|
$rep->mailingLabel($name, $co, $r->address, $r->city, $r->province, $r->postalcode);
|
|
} else if ($_GET['type'] == 'csv') {
|
|
$table['data'][] = array($name, $co, $r->address, $r->city, $r->province, $r->postalcode);
|
|
}
|
|
}
|
|
|
|
if ($_GET['type'] == 'csv')
|
|
$rep->addTable($table);
|
|
|
|
$rep->output();
|
|
}
|
|
?>
|