. */ require_once("./include/CharSet.php"); class DigitalAgora implements IExport { public function getDisplayName() { return "Digital Agora"; } public function getDescription() { return "This export contains all participants with accepted status 'yes', 'confirmed', 'pending' and 'arrived'."; } public function hasAccess() { return in_array("export_openslides", $_SESSION['sess_functions']); } /** * Get an array with the column headers. The keys should match with the keys in getData() */ public function getHeaders() { $columns = array(); $columns['FirstName'] = "First name"; $columns['LastName'] = "Family name"; $columns['FirstNameAscii'] = "First name (ASCII)"; $columns['LastNameAscii'] = "Family name (ASCII)"; $columns['Body'] = "Body"; $columns['ParticipantType'] = "Participant type"; return $columns; } public function getData() { $data = array(); if( @mysql_num_rows( $res=doquery($this->getDataQuery()) )>0 ) { while( $row = mysql_fetch_assoc($res) ) { $row['FirstNameAscii'] = CharSet::get_utf8_to_ascii7($row['FirstName']); $row['LastNameAscii'] = CharSet::get_utf8_to_ascii7($row['LastName']); $data[] = $row; } } return $data; } private function getDataQuery() { $query = "SELECT `p`.`FirstName`, `p`.`LastName`, CONCAT(`b`.`BodyName`, ' (', `p`.`BodyCode`, ')') AS `Body`, `p`.`ParticipantType` "; $query .= "FROM `persons` `p` "; $query .= "INNER JOIN `ab_bodies` `b` ON `b`.`BodyCode` = `p`.`BodyCode` "; $query .= "WHERE `p`.`Accepted` IN ('yes', 'confirmed', 'pending', 'arrived') "; $query .= "ORDER BY `p`.`BodyCode`, `p`.`FirstName`, `p`.`LastName`"; return $query; } } ?>