forked from science-ation/science-ation
Add some trimming to username/passwords/emails (to prevent people from putting spaces before and/or after their email address causing it to be invalid)
Updated report system to read students from users table instead of students table Fix tcpdf tables spanning multiple pages spilling into the header area Fix calling an invalid add_table function (its addTable yo!)
This commit is contained in:
parent
badc2e9378
commit
9c080c76f5
@ -758,7 +758,7 @@ foreach($report_stock as $n=>$v) {
|
||||
/* Dump the last table */
|
||||
if(count($table['data'])) {
|
||||
// print_r($table);
|
||||
$rep->add_table($table);
|
||||
$rep->addTable($table);
|
||||
$table['data'] = array();
|
||||
$table['total'] = 0;
|
||||
/* Start a new page AFTER a table is
|
||||
|
@ -29,8 +29,8 @@ require_once('reports.inc.php');
|
||||
|
||||
|
||||
$id = intval($_GET['id']);
|
||||
$type = stripslashes($_GET['type']);
|
||||
$stock = stripslashes($_GET['stock']);
|
||||
$type = $_GET['type'];
|
||||
$stock = $_GET['stock'];
|
||||
if(array_key_exists('conferences_id', $_GET)){
|
||||
$conferences_id = intval($_GET['conferences_id']);
|
||||
$result = mysql_result(mysql_query("SELECT COUNT(*) FROM conferences WHERE id = $conferences_id"), 0);
|
||||
|
@ -29,9 +29,9 @@ function report_students_i18n_fr(&$report, $field, $text)
|
||||
function reports_students_numstudents(&$report, $field, $text)
|
||||
{
|
||||
$conferences_id = $report['conferences_id'];
|
||||
$q = mysql_query("SELECT students.id FROM students
|
||||
WHERE students.registrations_id='$text'
|
||||
AND students.conferences_id='$conferences_id'");
|
||||
$q = mysql_query("SELECT users.id FROM users
|
||||
WHERE users.registrations_id='$text'
|
||||
AND users.conferences_id='$conferences_id'");
|
||||
return mysql_num_rows($q);
|
||||
}
|
||||
|
||||
@ -93,29 +93,29 @@ $report_students_fields = array(
|
||||
'name' => 'Student -- Last Name',
|
||||
'header' => 'Last Name',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'table' => 'students.lastname' ),
|
||||
'table' => 'users.lastname' ),
|
||||
|
||||
'first_name' => array(
|
||||
'name' => 'Student -- First Name',
|
||||
'header' => 'First Name',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'table' => 'students.firstname' ),
|
||||
'table' => 'users.firstname' ),
|
||||
|
||||
'name' => array(
|
||||
'name' => 'Student -- Full Name (last, first)',
|
||||
'header' => 'Name',
|
||||
'width' => 44.45 /*mm*/,
|
||||
'width' => 40.45 /*mm*/,
|
||||
'scalable' => true,
|
||||
'table' => "CONCAT(students.lastname, ', ', students.firstname)",
|
||||
'table_sort'=> 'students.lastname' ),
|
||||
'table' => "CONCAT(users.lastname, ', ', users.firstname)",
|
||||
'table_sort'=> 'users.lastname' ),
|
||||
|
||||
'namefl' => array(
|
||||
'name' => 'Student -- Full Name (first last)',
|
||||
'header' => 'Name',
|
||||
'width' => 44.45 /*mm*/,
|
||||
'scalable' => true,
|
||||
'table' => "CONCAT(students.firstname, ' ', students.lastname)",
|
||||
'table_sort'=> 'students.lastname' ),
|
||||
'table' => "CONCAT(users.firstname, ' ', users.lastname)",
|
||||
'table_sort'=> 'users.lastname' ),
|
||||
|
||||
'partner' => array(
|
||||
'name' => 'Student -- Partner Name (last, first)',
|
||||
@ -138,8 +138,8 @@ $report_students_fields = array(
|
||||
'header' => 'Student(s)',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'scalable' => true,
|
||||
'table' => "CONCAT(students.firstname, ' ', students.lastname, IF(students2.lastname IS NULL,'', CONCAT(', ', students2.firstname, ' ', students2.lastname)))",
|
||||
'table_sort' => 'students.lastname',
|
||||
'table' => "CONCAT(users.firstname, ' ', users.lastname, IF(students2.lastname IS NULL,'', CONCAT(', ', students2.firstname, ' ', students2.lastname)))",
|
||||
'table_sort' => 'users.lastname',
|
||||
'components' => array('partner') ),
|
||||
|
||||
'allnames' => array(
|
||||
@ -147,14 +147,14 @@ $report_students_fields = array(
|
||||
'header' => 'Student(s)',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'scalable' => true,
|
||||
'table' => "GROUP_CONCAT(students.firstname, ' ', students.lastname ORDER BY students.lastname SEPARATOR ', ')",
|
||||
'group_by' => array('students.registrations_id')),
|
||||
'table' => "GROUP_CONCAT(users.firstname, ' ', users.lastname ORDER BY users.lastname SEPARATOR ', ')",
|
||||
'group_by' => array('users.registrations_id')),
|
||||
|
||||
'pronunciation' => array(
|
||||
'name' => 'Student -- Name Pronunciation',
|
||||
'header' => 'Pronunciation',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'table' => 'students.pronunciation'),
|
||||
'table' => 'users.pronunciation'),
|
||||
|
||||
'email' => array(
|
||||
'start_option_group' => 'Student Contact Information',
|
||||
@ -162,45 +162,45 @@ $report_students_fields = array(
|
||||
'header' => 'Email',
|
||||
'width' => 57.15 /*mm*/,
|
||||
'scalable' => true,
|
||||
'table' => 'students.email'),
|
||||
'table' => 'accounts.email'),
|
||||
|
||||
'phone' => array(
|
||||
'name' => 'Student -- Phone',
|
||||
'header' => 'Phone',
|
||||
'width' => 25.4 /*mm*/,
|
||||
'table' => 'students.phone'),
|
||||
'table' => 'users.phone'),
|
||||
|
||||
'address' => array(
|
||||
'name' => 'Student -- Street Address',
|
||||
'header' => 'Address',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'scalable' => true,
|
||||
'table' => 'students.address'),
|
||||
'table' => 'users.address'),
|
||||
|
||||
'city' => array(
|
||||
'name' => 'Student -- City',
|
||||
'header' => 'City',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'table' => 'students.city' ),
|
||||
'table' => 'users.city' ),
|
||||
|
||||
'province' => array(
|
||||
'name' => 'Student -- '.$config['provincestate'],
|
||||
'header' => $config['provincestate'],
|
||||
'width' => 19.05 /*mm*/,
|
||||
'table' => 'students.province' ),
|
||||
'table' => 'users.province' ),
|
||||
|
||||
'postal' => array(
|
||||
'name' => 'Student -- '.$config['postalzip'],
|
||||
'header' => $config['postalzip'],
|
||||
'width' => 19.05 /*mm*/,
|
||||
'table' => 'students.postalcode' ),
|
||||
'table' => 'users.postalcode' ),
|
||||
|
||||
'address_full' => array(
|
||||
'name' => 'Student -- Full Address',
|
||||
'header' => 'Address',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'scalable' => true,
|
||||
'table' => "CONCAT(students.address, ', ', students.city, ', ', students.province, ', ', students.postalcode)" ),
|
||||
'table' => "CONCAT(users.address, ', ', users.city, ', ', users.province, ', ', users.postalcode)" ),
|
||||
|
||||
|
||||
'grade' => array(
|
||||
@ -208,40 +208,40 @@ $report_students_fields = array(
|
||||
'name' => 'Student -- Grade',
|
||||
'header' => 'Gr.',
|
||||
'width' => 7.62 /*mm*/,
|
||||
'table' => 'students.grade'),
|
||||
'table' => 'users.grade'),
|
||||
|
||||
'grade_str' => array(
|
||||
'name' => 'Student -- Grade ("Grade x", not just the number)',
|
||||
'header' => 'Gr.',
|
||||
'width' => 7.62 /*mm*/,
|
||||
'table_sort' => 'students.grade',
|
||||
'table' => "CONCAT('Grade ', students.grade)"),
|
||||
'table_sort' => 'users.grade',
|
||||
'table' => "CONCAT('Grade ', users.grade)"),
|
||||
|
||||
'gender' => array(
|
||||
'name' => 'Student -- Gender',
|
||||
'header' => 'Gender',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'table' => 'students.sex',
|
||||
'table' => 'users.sex',
|
||||
'value_map' =>array ('male' => 'Male', 'female' => 'Female')),
|
||||
|
||||
'birthdate' => array(
|
||||
'name' => 'Student -- Birthdate',
|
||||
'header' => 'Birthdate',
|
||||
'width' => 22.86 /*mm*/,
|
||||
'table' => 'students.dateofbirth'),
|
||||
'table' => 'users.dateofbirth'),
|
||||
|
||||
'age' => array(
|
||||
'name' => 'Student -- Age (when this report is created)',
|
||||
'header' => 'Age',
|
||||
'width' => 10.16 /*mm*/,
|
||||
'table' => "DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(students.dateofbirth)), '%Y')+0",
|
||||
'table_sort' => 'students.dateofbirth'),
|
||||
'table' => "DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(users.birthdate)), '%Y')+0",
|
||||
'table_sort' => 'users.birthdate'),
|
||||
|
||||
'tshirt' => array(
|
||||
'name' => 'Student -- T-Shirt Size',
|
||||
'header' => 'T-Shirt',
|
||||
'width' => 13.97 /*mm*/,
|
||||
'table' => 'students.tshirt',
|
||||
'table' => 'users.tshirt',
|
||||
'value_map' => array ('none' => '', 'xsmall' => 'X-Small', 'small' => 'Small', 'medium' => 'Medium',
|
||||
'large' => 'Large', 'xlarge' => 'X-Large')),
|
||||
|
||||
@ -249,13 +249,13 @@ $report_students_fields = array(
|
||||
'name' => 'Student -- Medical Alert Info',
|
||||
'header' => 'medical',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'table' => 'students.medicalalert'),
|
||||
'table' => 'users.medicalalert'),
|
||||
|
||||
'foodreq' => array(
|
||||
'name' => 'Student -- Food Requirements',
|
||||
'header' => 'Food.Req.',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'table' => 'students.foodreq'),
|
||||
'table' => 'users.foodreq'),
|
||||
|
||||
'registrations_num' => array(
|
||||
'start_option_group' => 'Student Registration Information',
|
||||
@ -276,7 +276,7 @@ $report_students_fields = array(
|
||||
'start_option_group' => 'Project Information',
|
||||
'name' => 'Project -- Title',
|
||||
'header' => 'Project Title',
|
||||
'width' => 69.85 /*mm*/,
|
||||
'width' => 65 /*mm*/,
|
||||
'scalable' => true,
|
||||
'table' => 'projects.title' ),
|
||||
|
||||
@ -357,7 +357,7 @@ $report_students_fields = array(
|
||||
'name' => 'Project -- Number of Students',
|
||||
'header' => 'Stu.',
|
||||
'width' => 12.7 /*mm*/,
|
||||
'table' => 'students.registrations_id',
|
||||
'table' => 'users.registrations_id',
|
||||
'exec_function' => 'reports_students_numstudents'),
|
||||
|
||||
'rank' => array(
|
||||
@ -402,18 +402,19 @@ $report_students_fields = array(
|
||||
'scalable' => true,
|
||||
'table' => "CONCAT(schools.address, ', ', schools.city, ', ', schools.province_code, ', ', schools.postalcode)" ),
|
||||
|
||||
/*
|
||||
'teacher' => array(
|
||||
'name' => 'School -- Teacher Name (as entered by the student)',
|
||||
'header' => 'Teacher',
|
||||
'width' => 38.1 /*mm*/,
|
||||
'width' => 38.1 ,
|
||||
'table' => 'students.teachername' ),
|
||||
|
||||
'teacheremail' => array(
|
||||
'name' => 'School -- Teacher Email (as entered by the student)',
|
||||
'header' => 'Teacher Email',
|
||||
'width' => 50.8 /*mm*/,
|
||||
'width' => 50.8 ,
|
||||
'table' => 'students.teacheremail' ),
|
||||
|
||||
*/
|
||||
'school_phone' => array(
|
||||
'name' => 'School -- Phone',
|
||||
'header' => 'School Phone',
|
||||
@ -824,8 +825,8 @@ $report_students_fields = array(
|
||||
'name' => "Easy Parse -- All Student Names (REQUIRES MYSQL 5.0) ",
|
||||
'header' => 'Student(s)',
|
||||
'width' => 76.2 /*mm*/,
|
||||
'table' => "GROUP_CONCAT(students.lastname, ',', students.firstname ORDER BY students.lastname SEPARATOR ':')",
|
||||
'group_by' => array('students.registrations_id')),
|
||||
'table' => "GROUP_CONCAT(users.lastname, ',', users.firstname ORDER BY users.lastname SEPARATOR ':')",
|
||||
'group_by' => array('users.registrations_id')),
|
||||
|
||||
'special_tshirt_count' => array(
|
||||
'name' => 'Special -- T-Shirt Size Count',
|
||||
@ -833,7 +834,7 @@ $report_students_fields = array(
|
||||
'width' => 12.7 /*mm*/,
|
||||
'table' => 'COUNT(*)',
|
||||
'total' => true,
|
||||
'group_by' => array('students.tshirt')),
|
||||
'group_by' => array('users.tshirt')),
|
||||
|
||||
|
||||
);
|
||||
@ -873,15 +874,15 @@ $report_students_fields = array(
|
||||
|
||||
$partner_join = '';
|
||||
if(in_array('partner', $components)) {
|
||||
$partner_join = "LEFT JOIN students AS students2
|
||||
ON(students2.registrations_id=students.registrations_id
|
||||
AND students2.id != students.id)";
|
||||
$partner_join = "LEFT JOIN users AS students2
|
||||
ON(students2.registrations_id=users.registrations_id
|
||||
AND students2.id != users.id)";
|
||||
}
|
||||
|
||||
$tour_join = '';
|
||||
$tour_where = '';
|
||||
if(in_array('tours', $components)) {
|
||||
$tour_join = "LEFT JOIN tours_choice ON (students.id=tours_choice.students_id AND tours_choice.rank=0), tours";
|
||||
$tour_join = "LEFT JOIN tours_choice ON (users.id=tours_choice.students_id AND tours_choice.rank=0), tours";
|
||||
$tour_where = "AND tours.conferences_id='$conferences_id'
|
||||
AND tours.id=tours_choice.tour_id";
|
||||
}
|
||||
@ -890,14 +891,14 @@ $report_students_fields = array(
|
||||
if(in_array('emergencycontacts', $components)) {
|
||||
/* No need to put the year in here, students.id is unique across years */
|
||||
$emergencycontact_join = "LEFT JOIN emergencycontact ON
|
||||
emergencycontact.students_id=students.id ";
|
||||
emergencycontact.users_id=users.id ";
|
||||
}
|
||||
|
||||
$mentor_join = '';
|
||||
$mentor_where = '';
|
||||
if(in_array('mentors', $components)) {
|
||||
$mentor_join = "LEFT JOIN mentors ON
|
||||
mentors.registrations_id=students.registrations_id";
|
||||
mentors.registrations_id=users.registrations_id";
|
||||
$mentor_where = "AND mentors.conferences_id='$conferences_id'";
|
||||
}
|
||||
|
||||
@ -912,10 +913,12 @@ $report_students_fields = array(
|
||||
$reg_where = "AND (registrations.status='complete' OR registrations.status='paymentpending')";
|
||||
|
||||
|
||||
$q = " FROM students
|
||||
LEFT JOIN registrations ON registrations.id=students.registrations_id
|
||||
LEFT JOIN schools ON schools.id=students.schools_id
|
||||
LEFT JOIN projects ON projects.registrations_id=students.registrations_id
|
||||
$q = " FROM users
|
||||
JOIN user_roles ON users.id=user_roles.users_id
|
||||
JOIN roles ON user_roles.roles_id=roles.id
|
||||
LEFT JOIN registrations ON registrations.id=users.registrations_id
|
||||
LEFT JOIN schools ON schools.id=users.schools_id
|
||||
LEFT JOIN projects ON projects.registrations_id=users.registrations_id
|
||||
LEFT JOIN projectdivisions ON projectdivisions.id=projects.projectdivisions_id
|
||||
LEFT JOIN projectcategories ON projectcategories.id=projects.projectcategories_id
|
||||
$emergencycontact_join
|
||||
@ -925,11 +928,12 @@ $report_students_fields = array(
|
||||
$awards_join
|
||||
$fairs_join
|
||||
WHERE
|
||||
students.conferences_id='$conferences_id'
|
||||
users.conferences_id='$conferences_id'
|
||||
AND projects.conferences_id='$conferences_id'
|
||||
AND registrations.conferences_id='$conferences_id'
|
||||
AND projectcategories.conferences_id='$conferences_id'
|
||||
AND projectdivisions.conferences_id='$conferences_id'
|
||||
AND roles.type='participant'
|
||||
$reg_where
|
||||
$mentor_where
|
||||
$awards_where
|
||||
|
@ -173,10 +173,10 @@
|
||||
|
||||
echo "<br />";
|
||||
|
||||
if( ($_POST['action']=="invitenew" || $_POST['action']=="inviteexisting") && $_POST['email'] && $type != '') {
|
||||
$newUser=user_invite($_POST['email'], null, $_POST['email'], $type);
|
||||
if( ($_POST['action']=="invitenew" || $_POST['action']=="inviteexisting") && trim($_POST['email']) && $type != '') {
|
||||
$newUser=user_invite(trim($_POST['email']), null, trim($_POST['email']), $type);
|
||||
if(is_array($newUser)) {
|
||||
echo happy(i18n("%1 successfully invited to be a %2",array($_POST['email'],$type)));
|
||||
echo happy(i18n("%1 successfully invited to be a %2",array(trim($_POST['email']),$type)));
|
||||
}
|
||||
else {
|
||||
echo error($newUser);
|
||||
|
@ -69,7 +69,7 @@ class pdf extends TCPDF {
|
||||
$this->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
|
||||
|
||||
//set margins
|
||||
$this->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
|
||||
$this->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP+4, PDF_MARGIN_RIGHT);
|
||||
$this->SetHeaderMargin(PDF_MARGIN_HEADER);
|
||||
$this->SetFooterMargin(PDF_MARGIN_FOOTER);
|
||||
|
||||
|
@ -1644,6 +1644,10 @@ function user_invite($username, $password, $email, $roles_id){
|
||||
global $roles, $conference;
|
||||
$u = user_load($_SESSION['users_id']);
|
||||
$returnval = null;
|
||||
//trim them all up first
|
||||
$username=trim($username);
|
||||
$password=trim($password);
|
||||
$email=trim($email);
|
||||
|
||||
$roletype = null;
|
||||
//if its numeric, then we got an id, so get the associated roletype
|
||||
|
Loading…
Reference in New Issue
Block a user