<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>https://doc2-fr.openflyers.com/index.php?feed=atom&amp;namespace=0&amp;title=Sp%C3%A9cial%3ANouvelles_pages</id>
		<title>Documentation de la solution web de gestion OpenFlyers version 2 - Nouvelles pages [fr]</title>
		<link rel="self" type="application/atom+xml" href="https://doc2-fr.openflyers.com/index.php?feed=atom&amp;namespace=0&amp;title=Sp%C3%A9cial%3ANouvelles_pages"/>
		<link rel="alternate" type="text/html" href="https://doc2-fr.openflyers.com/Sp%C3%A9cial:Nouvelles_pages"/>
		<updated>2026-04-30T21:59:23Z</updated>
		<subtitle>De Documentation de la solution web de gestion OpenFlyers version 2</subtitle>
		<generator>MediaWiki 1.24.1</generator>

	<entry>
		<id>https://doc2-fr.openflyers.com/Structure-de-la-base-de-donn%C3%A9es</id>
		<title>Structure de la base de données</title>
		<link rel="alternate" type="text/html" href="https://doc2-fr.openflyers.com/Structure-de-la-base-de-donn%C3%A9es"/>
				<updated>2017-06-08T11:22:21Z</updated>
		
		<summary type="html">&lt;p&gt;Jcheng : Page créée avec « =Structure=  &amp;lt;sql&amp;gt;CREATE TABLE IF NOT EXISTS `account` (   `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,   `creation_date` date DEFAULT NULL,   `name` text CHARACTER SET... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Structure=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;CREATE TABLE IF NOT EXISTS `account` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `creation_date` date DEFAULT NULL,&lt;br /&gt;
  `name` text CHARACTER SET latin1,&lt;br /&gt;
  `export_account` text CHARACTER SET latin1,&lt;br /&gt;
  `activated` int(1) DEFAULT '1',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='List of account';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `account_aircraft` (&lt;br /&gt;
  `account_id` int(10) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `aircraft_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `account_type` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`account_id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='List of aircraft accounts';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `account_aircraft_type` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text CHARACTER SET latin1,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='account aircraft type description';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `account_club` (&lt;br /&gt;
  `account_id` int(10) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `payment_allowed` tinyint(1) UNSIGNED DEFAULT '0',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`account_id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='List of club accounts';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `account_entry` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `double_entry_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `account_date` datetime DEFAULT NULL,&lt;br /&gt;
  `account_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `credit` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `debit` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `payment_type` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `payment_description` text CHARACTER SET latin1,&lt;br /&gt;
  `person_delivery_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `comments` text CHARACTER SET latin1,&lt;br /&gt;
  `validated` int(1) DEFAULT '0',&lt;br /&gt;
  `exported` int(1) DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_account_date` (`account_date`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='List of account entries';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `account_member` (&lt;br /&gt;
  `account_id` int(10) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `member_id` int(11) DEFAULT NULL,&lt;br /&gt;
  `account_type` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`account_id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='List of member accounts';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `account_member_type` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text CHARACTER SET latin1,&lt;br /&gt;
  `activated` tinyint(1) NOT NULL DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='List of account member types';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `aircraft` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `callsign` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `type` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `non_bookable` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `ref_date` datetime DEFAULT NULL,&lt;br /&gt;
  `ref_hours` int(11) DEFAULT NULL,&lt;br /&gt;
  `inspection_date` datetime DEFAULT NULL,&lt;br /&gt;
  `inspection_time` int(11) DEFAULT NULL,&lt;br /&gt;
  `interval_visit` int(11) UNSIGNED DEFAULT '30000',&lt;br /&gt;
  `tolerance_time` int(11) UNSIGNED DEFAULT '6000',&lt;br /&gt;
  `last_counter` int(11) DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) UNSIGNED DEFAULT '1',&lt;br /&gt;
  `time_alert1` int(11) DEFAULT '6000',&lt;br /&gt;
  `time_alert2` int(11) DEFAULT '0',&lt;br /&gt;
  `time_alert3` int(11) DEFAULT '0',&lt;br /&gt;
  `day_alert1` smallint(3) DEFAULT '15',&lt;br /&gt;
  `day_alert2` smallint(3) DEFAULT '0',&lt;br /&gt;
  `day_alert3` smallint(3) DEFAULT '8',&lt;br /&gt;
  `non_flightable` tinyint(3) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `CALLSIGN` (`callsign`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `aircraft_type` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `admin_desc` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `name` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `seats_available` tinyint(3) UNSIGNED DEFAULT '1',&lt;br /&gt;
  `comments` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `flight_time_formula` varchar(255) CHARACTER SET latin1 DEFAULT '%DURATION',&lt;br /&gt;
  `counter_state` tinyint(2) NOT NULL DEFAULT '-1',&lt;br /&gt;
  `tolerance` int(11) DEFAULT '0',&lt;br /&gt;
  `autonomy` int(11) DEFAULT '5990',&lt;br /&gt;
  `activated` tinyint(1) UNSIGNED NOT NULL DEFAULT '1',&lt;br /&gt;
  `digit_counter_number` tinyint(1) UNSIGNED NOT NULL DEFAULT '4',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Types of aircraft';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `aircraft_type_allowed_function` (&lt;br /&gt;
  `aircraft_type_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `place_num` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `function_id` int(10) UNSIGNED DEFAULT NULL&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='List of allowed functions for each aircraft type';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `aircraft_type_mandatory_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` int(10) UNSIGNED DEFAULT NULL&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='List of compulsory flight type for each aircraft type';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `aircraft_type_qualif` (&lt;br /&gt;
  `aircraft_type_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `check_num` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `qualification_id` int(10) UNSIGNED DEFAULT NULL&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Types of qualif required for each aircraft type';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `aircraft_type_uncomp_flight_type` (&lt;br /&gt;
  `aircraft_type_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` int(10) UNSIGNED DEFAULT NULL&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='List of uncompatible flight type for each aircraft type';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `authentication` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) NOT NULL,&lt;br /&gt;
  `password` varchar(255) NOT NULL,&lt;br /&gt;
  `first_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `last_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `profile` mediumint(8) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `view_type` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `view_width` tinyint(3) UNSIGNED NOT NULL DEFAULT '12',&lt;br /&gt;
  `view_height` tinyint(4) UNSIGNED NOT NULL DEFAULT '30',&lt;br /&gt;
  `aircrafts_viewed` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `inst_viewed` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `timezone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `home_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `work_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `cell_phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `lang` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `notification` tinyint(3) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `activated` tinyint(1) UNSIGNED DEFAULT '1',&lt;br /&gt;
  `birthdate` datetime DEFAULT '0000-00-00 00:00:00',&lt;br /&gt;
  `sex` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `nationality` char(2) DEFAULT NULL,&lt;br /&gt;
  `total_flight_time` int(10) UNSIGNED DEFAULT '0',&lt;br /&gt;
  `date_total_flight_time` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `idx_name` (`name`)&lt;br /&gt;
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='used for authentication';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `balance` (&lt;br /&gt;
  `account_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `balance_date_id` int(10) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `debit` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  `credit` decimal(15,2) DEFAULT '0.00',&lt;br /&gt;
  PRIMARY KEY (`account_id`,`balance_date_id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `balance_date` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `balance_date` datetime DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `booking` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `aircraft_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `member_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `slot_type` tinyint(3) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `instructor_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `free_seats` tinyint(3) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `airfield` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `estimated_duration` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='RECORDS ALL THE SLOTS OF ALL AIRCRAFTS OF ALL AIRCLUBS';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `club` (&lt;br /&gt;
  `id` int(10) NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `info_cell` text,&lt;br /&gt;
  `logo` longblob,&lt;br /&gt;
  `logo_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `logo_ext` varchar(25) DEFAULT NULL,&lt;br /&gt;
  `logo_size` int(11) DEFAULT NULL,&lt;br /&gt;
  `first_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `last_hour_displayed` time DEFAULT NULL,&lt;br /&gt;
  `usual_profiles` mediumint(8) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `icao` varchar(6) DEFAULT NULL,&lt;br /&gt;
  `default_slot_range` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `min_slot_range` tinyint(3) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `twilight_range` tinyint(3) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `mailing_list_name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `mailing_list_type` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `club_site_url` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_timezone` varchar(255) NOT NULL,&lt;br /&gt;
  `lang` varchar(255) NOT NULL,&lt;br /&gt;
  `admin_num` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `mail_from_address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_view_type` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `address` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `zipcode` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `city` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `state` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `country` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `phone` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `fax` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `email` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `default_notification` int(3) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `welcome_cell` text,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='DESCRIPTION OF ALL AIRCLUBS';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `criteria` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `label` varchar(255) CHARACTER SET latin1 NOT NULL,&lt;br /&gt;
  `predicate` text CHARACTER SET latin1 NOT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `default_display` (&lt;br /&gt;
  `authentication_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `display_key` varchar(255) CHARACTER SET latin1 NOT NULL DEFAULT '',&lt;br /&gt;
  `display_value` text CHARACTER SET latin1,&lt;br /&gt;
  PRIMARY KEY (`authentication_id`,`display_key`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `exceptionnal_inst_date` (&lt;br /&gt;
  `instructor_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `end_date` datetime DEFAULT NULL,&lt;br /&gt;
  `presence` tinyint(1) UNSIGNED DEFAULT NULL&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `favorite_icao` (&lt;br /&gt;
  `icao` varchar(6) NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`icao`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='favorite airfield list';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `fhp_aircraft_type` (&lt;br /&gt;
  `fhp_id` int(10) DEFAULT NULL,&lt;br /&gt;
  `aircraft_type_id` int(10) DEFAULT NULL&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='flight hour pricing aircraft type list';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `fhp_flight_type` (&lt;br /&gt;
  `fhp_id` int(10) DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` int(10) DEFAULT NULL,&lt;br /&gt;
  `excluded` tinyint(1) UNSIGNED DEFAULT '0'&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='flight hour pricing flight type list';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `fhp_member_pool` (&lt;br /&gt;
  `fhp_id` int(10) DEFAULT NULL,&lt;br /&gt;
  `member_pool_id` int(10) DEFAULT NULL&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='flight hour pricing flight type list';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `flight` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `start_date` datetime DEFAULT NULL,&lt;br /&gt;
  `duration` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `flight_type_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `people_onboard` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `airfield_departure` varchar(6) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `airfield_arrival` varchar(6) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `counter_departure` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `counter_arrival` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `landing_number` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `comments` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `airborne` tinyint(1) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `validated` tinyint(3) UNSIGNED DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='list of flight';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `flight_account_entry` (&lt;br /&gt;
  `flight_id` int(10) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_entry_id` int(10) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`account_entry_id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='flight account entry join';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `flight_hours_pricing` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text CHARACTER SET latin1,&lt;br /&gt;
  `price_formula` text CHARACTER SET latin1,&lt;br /&gt;
  `price_sentence` text CHARACTER SET latin1,&lt;br /&gt;
  `left_account_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `right_account_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `left_account_type` tinyint(1) UNSIGNED DEFAULT '0',&lt;br /&gt;
  `right_account_type` tinyint(1) UNSIGNED DEFAULT '0',&lt;br /&gt;
  `member_debited` tinyint(1) UNSIGNED DEFAULT '1',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='list of flight hours pricing formula';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `flight_pilot` (&lt;br /&gt;
  `flight_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `pilot_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `function_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `num` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`flight_id`,`pilot_id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='list of crew for each flight';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `flight_tank_qty` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `flight_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `tank_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `quantity` varchar(255) CHARACTER SET latin1 NOT NULL DEFAULT '0.00',&lt;br /&gt;
  `after_flight` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `account_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `pay_type` tinyint(1) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `flight_type` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `name` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='list of flight type';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `flight_type_mandatory_qualification` (&lt;br /&gt;
  `flight_type_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `qualification_id` int(10) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`flight_type_id`,`qualification_id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='list of mandatory qualification for each flight type';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `icao` (&lt;br /&gt;
  `name` varchar(64) DEFAULT NULL,&lt;br /&gt;
  `icao` varchar(6) NOT NULL,&lt;br /&gt;
  `lat` float DEFAULT NULL,&lt;br /&gt;
  `lon` float DEFAULT NULL,&lt;br /&gt;
  `alt` smallint(6) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`icao`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='airfields coord';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `instructor` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `sign` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='LIST INSTRUCTORS AND THEIR AUTORIZATIONS';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `ip_stopped` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `ip` varchar(255) NOT NULL,&lt;br /&gt;
  `counter` tinyint(1) UNSIGNED NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED IP';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `journal` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `date_log` datetime DEFAULT NULL,&lt;br /&gt;
  `rights` text CHARACTER SET latin1,&lt;br /&gt;
  `rights2` text CHARACTER SET latin1,&lt;br /&gt;
  `is_member` tinyint(1) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `is_instructor` tinyint(1) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `action` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  KEY `idx_date_log` (`date_log`),&lt;br /&gt;
  KEY `idx_action` (`action`(8))&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='list of logs';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `key_assignment` (&lt;br /&gt;
  `key_id` tinyint(2) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `key_name` tinytext CHARACTER SET latin1,&lt;br /&gt;
  `aircraft_id` int(10) UNSIGNED DEFAULT '0',&lt;br /&gt;
  `key_state` tinyint(1) UNSIGNED DEFAULT '0',&lt;br /&gt;
  `key_word` bigint(20) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`key_id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='key assignment description';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `key_host` (&lt;br /&gt;
  `id` tinyint(2) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `timeout` tinyint(2) UNSIGNED NOT NULL DEFAULT '10',&lt;br /&gt;
  `num_key` tinyint(2) UNSIGNED NOT NULL DEFAULT '10',&lt;br /&gt;
  `ipkey` varchar(50) CHARACTER SET latin1 NOT NULL,&lt;br /&gt;
  `httpport` varchar(4) CHARACTER SET latin1 NOT NULL DEFAULT '4080',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='key host configuration';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `log` (&lt;br /&gt;
  `journal_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `action` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `table_name` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `field_name` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `field_value` text CHARACTER SET latin1,&lt;br /&gt;
  KEY `journal_id` (`journal_id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='part of logs';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `login_stopped` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) NOT NULL,&lt;br /&gt;
  `counter` tinyint(3) UNSIGNED NOT NULL,&lt;br /&gt;
  `expire_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='BLACKLISTED LOGIN';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `member` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `member_num` int(11) DEFAULT NULL,&lt;br /&gt;
  `subscription` date NOT NULL DEFAULT '2003-12-31',&lt;br /&gt;
  `qualif_alert_delay` tinyint(3) UNSIGNED NOT NULL DEFAULT '8',&lt;br /&gt;
  `inscription_date` date DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='ALL MEMBERS OF ALL AIRCLUBS';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `member_awaiting_activation` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `login` varchar(255) CHARACTER SET latin1 NOT NULL,&lt;br /&gt;
  `ip` varchar(255) CHARACTER SET latin1 NOT NULL,&lt;br /&gt;
  `code` varchar(255) CHARACTER SET latin1 NOT NULL,&lt;br /&gt;
  `category` varchar(255) CHARACTER SET latin1 NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `member_pool` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text CHARACTER SET latin1,&lt;br /&gt;
  `required_account_type` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COMMENT='List of member pool';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `member_pool_join` (&lt;br /&gt;
  `member_pool_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `member_id` int(10) UNSIGNED DEFAULT NULL&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Correspondance between pools and members';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `member_qualif` (&lt;br /&gt;
  `member_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `qualif_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `expire_date` date DEFAULT NULL,&lt;br /&gt;
  `no_alert` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `grant_date` date DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`member_id`,`qualif_id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS OF EACH MEMBER';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `nationality` (&lt;br /&gt;
  `code` char(2) NOT NULL DEFAULT '',&lt;br /&gt;
  `label` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`code`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `parameter` (&lt;br /&gt;
  `code` varchar(255) NOT NULL,&lt;br /&gt;
  `enabled` tinyint(1) UNSIGNED DEFAULT '0',&lt;br /&gt;
  `int_value` int(10) UNSIGNED DEFAULT '0',&lt;br /&gt;
  `char_value` varchar(255) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`code`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='APPLICATION PARAMETERS';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `payment_distribution` (&lt;br /&gt;
  `payment_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `account_club_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `person_delivery` tinyint(1) UNSIGNED DEFAULT '0'&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='payment distribution description';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `payment_type` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` text CHARACTER SET latin1,&lt;br /&gt;
  `text_field_label` text CHARACTER SET latin1,&lt;br /&gt;
  `supplier` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `only_admin` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='type of payment description';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `pilot_function` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `abbrev` varchar(10) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `name` varchar(100) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='List of functions for pilot';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `pricing_value` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable_id` int(11) NOT NULL,&lt;br /&gt;
  `assign_value` decimal(10,2) NOT NULL,&lt;br /&gt;
  `start_date` datetime NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `pricing_variable` (&lt;br /&gt;
  `id` int(11) NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `variable` varchar(255) CHARACTER SET latin1 NOT NULL,&lt;br /&gt;
  `label` varchar(255) CHARACTER SET latin1 NOT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `profile` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `name` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `permits` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `permits2` int(10) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `psp_transaction` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `credit_account_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `debit_account_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `transaction_date` datetime NOT NULL,&lt;br /&gt;
  `amount` float NOT NULL,&lt;br /&gt;
  `description` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `payment_type_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `state` int(10) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `bank_answer` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  `bank_misc` varchar(255) CHARACTER SET latin1 DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `qualification` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `name` varchar(255) NOT NULL,&lt;br /&gt;
  `time_limitation` tinyint(1) NOT NULL DEFAULT '0',&lt;br /&gt;
  `ident_value_enable` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `grant_date_enable` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `is_for_instructor` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `mandatory` tinyint(1) UNSIGNED NOT NULL DEFAULT '0',&lt;br /&gt;
  `experience_formula` varchar(255) DEFAULT NULL,&lt;br /&gt;
  `order_num` int(11) DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='QUALIFICATIONS LIST';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `regular_presence_inst_date` (&lt;br /&gt;
  `instructor_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `start_day` tinyint(3) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `end_day` tinyint(3) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `start_hour` time DEFAULT NULL,&lt;br /&gt;
  `end_hour` time DEFAULT NULL&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `sale` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `entry_id` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `unit_price` float DEFAULT NULL,&lt;br /&gt;
  `quantity` float DEFAULT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='List of sales';&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `tank` (&lt;br /&gt;
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `aircraft_type_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `tank_type_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `unit_id` int(10) UNSIGNED NOT NULL,&lt;br /&gt;
  `label` varchar(255) CHARACTER SET latin1 NOT NULL,&lt;br /&gt;
  PRIMARY KEY (`id`)&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1;&lt;br /&gt;
 &lt;br /&gt;
CREATE TABLE IF NOT EXISTS `uncomp_flight_type` (&lt;br /&gt;
  `id1` int(10) UNSIGNED DEFAULT NULL,&lt;br /&gt;
  `id2` int(10) UNSIGNED DEFAULT NULL&lt;br /&gt;
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='List of sales';&amp;lt;/sql&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jcheng</name></author>	</entry>

	<entry>
		<id>https://doc2-fr.openflyers.com/Contr%C3%B4le-d%27identification-par-OpenFlyers-pour-un-logiciel-tiers</id>
		<title>Contrôle d'identification par OpenFlyers pour un logiciel tiers</title>
		<link rel="alternate" type="text/html" href="https://doc2-fr.openflyers.com/Contr%C3%B4le-d%27identification-par-OpenFlyers-pour-un-logiciel-tiers"/>
				<updated>2016-06-16T10:30:07Z</updated>
		
		<summary type="html">&lt;p&gt;Bbarbe : /* Présentation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Présentation=&lt;br /&gt;
Cette page explique comment vérifier qu'un couple identifiant/mot de passe envoyé, par vos propres scripts, est conforme à la base de données d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Le script retourne une valeur indiquant si la connexion, avec des identifiants données, a réussi et son état. Un cookie OpenFlyers est aussi retourné, permettant de gérer une session utilisateur sur votre site, en utilisant le compte utilisateur OpenFlyers de l'utilisateur connecté.&lt;br /&gt;
&lt;br /&gt;
=Comment ça marche=&lt;br /&gt;
Si votre plateforme OpenFlyers se situe sur le lien http://openflyers.com/nom-plateforme/, envoyez simplement une requête POST sur le lien http://openflyers.com/nom-plateforme/checkIdent.php avec comme paramètres les variables '''login''' et '''rawPassword'''.&lt;br /&gt;
&lt;br /&gt;
'''Attention:''' Les versions 2 d'OpenFlyers ou plus nécessitent un mot de passe chiffré en MD5 (cf. la ligne $postData commentée ci-dessous, dans le script PHP).&lt;br /&gt;
&lt;br /&gt;
==Valeurs de retour possibles==&lt;br /&gt;
Le script retourne un chiffre parmi les suivant :&lt;br /&gt;
*0: OK&lt;br /&gt;
*1: OK mais plusieurs profils disponibles. OpenFlyers sélectionne automatiquement le meilleur profil.&lt;br /&gt;
*2: Expiré mais autorisé&lt;br /&gt;
*3: Expiré mais autorisé, avec un profil expiré&lt;br /&gt;
*4: Abonnement expiré, refusé&lt;br /&gt;
*5: Mauvais identifiants, refusé&lt;br /&gt;
*6: IP ou identifiants bloqués, refusé&lt;br /&gt;
*7: Aucun identifiant donné, ils sont demandés&lt;br /&gt;
&lt;br /&gt;
Nous vous recommandons de considérer un code de retour entre 0 et 2 comme bon et mauvais entre 3 et 7.&lt;br /&gt;
&lt;br /&gt;
'''Attention:''' Vous devez filtrer les identifiants de connexion libres (sans droits) puisque pour OpenFlyers, ils correspondent à des accès autorisés !!!&lt;br /&gt;
&lt;br /&gt;
=JavaScript=&lt;br /&gt;
Si vous utilisez votre propre formulaire d'authentification, utilisez la fonction javascript submit_pwd() située dans \javascript\submitPwd.js .&lt;br /&gt;
&lt;br /&gt;
=Exemple de code PHP=&lt;br /&gt;
Voici un exemple de code PHP permettant d'envoyer une requête POST :&lt;br /&gt;
&amp;lt;php&amp;gt;function httpPostRequest($host, $path, $postData) { &lt;br /&gt;
  $result= &amp;quot;&amp;quot;; &lt;br /&gt;
&lt;br /&gt;
  $request = &amp;quot;POST $path HTTP/1.1\n&amp;quot;. &lt;br /&gt;
  &amp;quot;Host: $host\n&amp;quot;. &lt;br /&gt;
  (isset($referer) ? &amp;quot;Referer: $referer\n&amp;quot; : &amp;quot;&amp;quot;). &lt;br /&gt;
  &amp;quot;Content-type: Application/x-www-form-urlencoded\n&amp;quot;.&lt;br /&gt;
  &amp;quot;Content-length: &amp;quot;.strlen($postData).&amp;quot;\n&amp;quot;. &lt;br /&gt;
  &amp;quot;Connection: close\n\n&amp;quot;. &lt;br /&gt;
  $postData.&amp;quot;\n&amp;quot;; &lt;br /&gt;
  &lt;br /&gt;
  // Some debug informations:&lt;br /&gt;
  // print(&amp;quot;&amp;lt;pre&amp;gt;Request:\n&amp;quot;.htmlentities($request).&amp;quot;&amp;lt;/pre&amp;gt;&amp;quot;); &lt;br /&gt;
&lt;br /&gt;
  if ($fp = fsockopen($host, 80, $errno, $errstr, 3))&lt;br /&gt;
  // for PHP release &amp;lt; 5.3.0, use the following syntax:&lt;br /&gt;
  // if ($fp = fsockopen($host, 80, &amp;amp;$errno, &amp;amp;$errstr, 3))&lt;br /&gt;
    { &lt;br /&gt;
    if (fputs($fp, $request)) &lt;br /&gt;
    { &lt;br /&gt;
      while(! feof($fp)) &lt;br /&gt;
      { &lt;br /&gt;
       $result.= fgets($fp, 128); &lt;br /&gt;
      } &lt;br /&gt;
      fclose($fp); &lt;br /&gt;
//      print($result);&lt;br /&gt;
      return $result; &lt;br /&gt;
    } &lt;br /&gt;
  } &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
//$postData='login=jbond&amp;amp;rawPassword='.md5('007'); // for OpenFlyers release 2 or higher&lt;br /&gt;
$postData='login=jbond&amp;amp;rawPassword=007';&lt;br /&gt;
$rawContent = httpPostRequest('openflyers.com','http://openflyers.com/plateform-name/checkIdent.php',$postData); [^]&lt;br /&gt;
&lt;br /&gt;
list($header, $content) = explode(&amp;quot;\r\n\r\n&amp;quot;, $rawContent, 2);&lt;br /&gt;
list($byteQty, $realContent, $dummy) = explode(&amp;quot;\r\n&amp;quot;, $content, 3);&lt;br /&gt;
&lt;br /&gt;
// the answer is in $realContent&amp;lt;/php&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Plugin d'authentification Joomla=&lt;br /&gt;
Si vous avez un site Joomla et que vous désirer de permettre aux utilisateurs OpenFlyers de se connecter à votre espace restreint Joomla, vous devriez ajouter ce plugin de manière à avoir une unique base de données de comptes utilisateurs : celle d'OpenFlyers.&lt;br /&gt;
&lt;br /&gt;
Vous n'avez pas besoin de mettre à jour votre base de données Joomla, ce plugin interroge directement OpenFlyers grâce au script PHP CheckIdent.php.&lt;br /&gt;
&lt;br /&gt;
*[[Media:Joomla_authentication_plugin.zip|Joomla plugin for OpenFlyers]]&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	<entry>
		<id>https://doc2-fr.openflyers.com/Biblioth%C3%A8que_des_rapports</id>
		<title>Bibliothèque_des_rapports</title>
		<link rel="alternate" type="text/html" href="https://doc2-fr.openflyers.com/Biblioth%C3%A8que_des_rapports"/>
				<updated>2016-02-14T22:02:05Z</updated>
		
		<summary type="html">&lt;p&gt;Claratte : /* Users with validities viewer */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Users=&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT id, last_name, first_name&lt;br /&gt;
FROM person&lt;br /&gt;
WHERE activated=1&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users and &amp;lt;e-mail&amp;gt;=&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT CONCAT(person.first_name, ' ', person.last_name, ' &amp;lt;', person.email, '&amp;gt;') AS emails&lt;br /&gt;
FROM person&lt;br /&gt;
WHERE person.activated=1&lt;br /&gt;
ORDER BY person.last_name, person.first_name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users by profile=&lt;br /&gt;
Variable $profile should be defined first and should be of dbOject::Profile value type.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT&lt;br /&gt;
    last_name AS Lastname,&lt;br /&gt;
    first_name AS Firstname,&lt;br /&gt;
    profile.name AS Profile&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN profile ON (person.profile &amp;amp; profile.id)&lt;br /&gt;
WHERE person.activated = 1 AND profile.id = $profile&lt;br /&gt;
ORDER BY Profile, Lastname, Firstname&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users by validity=&lt;br /&gt;
Following extra field required:&lt;br /&gt;
*validityTypeId (Type: dbObject:ValidityType)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT validity_type.name AS 'Validity',&lt;br /&gt;
    DATE_FORMAT(grant_date,'%d/%m/%Y') AS Date_d_obtention,&lt;br /&gt;
    last_name AS Name,&lt;br /&gt;
    first_name AS Firstname,&lt;br /&gt;
    ident_value AS Comment&lt;br /&gt;
FROM validity_type&lt;br /&gt;
LEFT JOIN validity ON validity.validity_type_id =validity_type.id &lt;br /&gt;
LEFT JOIN person ON person.id=validity.person_id&lt;br /&gt;
WHERE validity_type.id='$validityTypeId'&lt;br /&gt;
ORDER BY Name, Firstname&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users by validity obtained after the selected year=&lt;br /&gt;
&lt;br /&gt;
* Variable '''$year''' should be defined first and should be of '''Year''' value type.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT validity_type.name AS 'Validity',&lt;br /&gt;
    DATE_FORMAT(grant_date,'%d/%m/%Y') AS Date,&lt;br /&gt;
    last_name AS Name,&lt;br /&gt;
    first_name AS Firstname,&lt;br /&gt;
    ident_value AS Comment&lt;br /&gt;
FROM validity_type&lt;br /&gt;
LEFT JOIN validity ON validity.validity_type_id=validity_type.id &lt;br /&gt;
LEFT JOIN person ON person.id=validity.person_id&lt;br /&gt;
WHERE YEAR(grant_date)&amp;gt;$year&lt;br /&gt;
ORDER BY 'Validity', Name, Firstname&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with address=&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT &lt;br /&gt;
	last_name, &lt;br /&gt;
	first_name, &lt;br /&gt;
	name AS login, &lt;br /&gt;
	email, &lt;br /&gt;
	address, &lt;br /&gt;
	zipcode, &lt;br /&gt;
	city AS Ville, &lt;br /&gt;
	state AS etat_region, &lt;br /&gt;
	country AS pays, &lt;br /&gt;
	home_phone AS tel_domicile, &lt;br /&gt;
	work_phone AS tel_travail, &lt;br /&gt;
	cell_phone AS tel_mobile&lt;br /&gt;
FROM person&lt;br /&gt;
WHERE activated=1&lt;br /&gt;
ORDER BY last_name,first_name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with address and registration date (using ExtraField)=&lt;br /&gt;
Extra field required :&lt;br /&gt;
#registrationDate&lt;br /&gt;
#*label : Registration date&lt;br /&gt;
#*category : User&lt;br /&gt;
#*value type : DateTime&lt;br /&gt;
&lt;br /&gt;
Validity type required :&lt;br /&gt;
#Cotisation&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT &lt;br /&gt;
    last_name, &lt;br /&gt;
    first_name,&lt;br /&gt;
    email, &lt;br /&gt;
    address, &lt;br /&gt;
    zipcode, &lt;br /&gt;
    city, &lt;br /&gt;
    state, &lt;br /&gt;
    country, &lt;br /&gt;
    home_phone, &lt;br /&gt;
    work_phone,&lt;br /&gt;
    cell_phone, &lt;br /&gt;
    sex,&lt;br /&gt;
    DATE_FORMAT(birthdate, '%Y-%m-%d') AS birthdate,&lt;br /&gt;
    nationality,&lt;br /&gt;
    validity.grant_date AS subscription_date,&lt;br /&gt;
    (&lt;br /&gt;
        SELECT DATE_FORMAT(extra_field_content.content, '%Y-%m-%d')&lt;br /&gt;
        FROM extra_field&lt;br /&gt;
        LEFT JOIN extra_field_content ON extra_field.id=extra_field_content.extra_field_id&lt;br /&gt;
        WHERE extra_field.variable=&amp;quot;registrationDate&amp;quot; and extra_field_content.category_id=person.id&lt;br /&gt;
    )AS registration_date&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (validity.person_id = person.id)&lt;br /&gt;
LEFT JOIN validity_type ON (validity_type.id = validity.validity_type_id)&lt;br /&gt;
WHERE activated = 1 AND validity_type.name = 'Cotisation'&lt;br /&gt;
ORDER BY last_name, first_name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with address and registration date (using Validity)=&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT&lt;br /&gt;
person.last_name,&lt;br /&gt;
person.first_name,&lt;br /&gt;
validity.grant_date AS registration_date&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON validity.person_id=person.id&lt;br /&gt;
LEFT JOIN validity_type ON validity_type.id=validity.validity_type_id&lt;br /&gt;
WHERE validity_type.name = &amp;quot;Date d'inscription&amp;quot; AND person.activated=1&lt;br /&gt;
GROUP BY last_name, first_name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with e-mails of selected validity type person equals given year=&lt;br /&gt;
Following extra field required:&lt;br /&gt;
*validityTypeId (Type: dbObject:ValidityType)&lt;br /&gt;
*year (Type: Year)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT CONCAT(person.first_name, ' ', person.last_name, ' &amp;lt;', person.email, '&amp;gt;') AS emails&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (validity.person_id = person.id)&lt;br /&gt;
LEFT JOIN validity_type ON (validity_type.id = validity.validity_type_id)&lt;br /&gt;
WHERE person.activated=1 AND YEAR(validity.expire_date) = $year AND validity_type.id = '$validityTypeId'&lt;br /&gt;
ORDER BY person.last_name, person.first_name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with e-mails with up-to-date expire date of validity VVV=&lt;br /&gt;
Following symbols should be replace:&lt;br /&gt;
*VVV : validity type id&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT CONCAT(person.first_name, ' ', person.last_name, ' &amp;lt;', person.email, '&amp;gt;') AS emails&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (validity.person_id = person.id)&lt;br /&gt;
LEFT JOIN validity_type ON (validity_type.id = validity.validity_type_id)&lt;br /&gt;
WHERE person.activated=1 AND validity.expire_date &amp;gt; NOW() AND validity_type.id = VVV&lt;br /&gt;
ORDER BY last_name,first_name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with validity ending before a specific date=&lt;br /&gt;
Following extra field required:&lt;br /&gt;
*endDate (Type: Date)&lt;br /&gt;
*validityTypeId (Type: dbObject:ValidityType)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT person.id, person.first_name, person.last_name, validity_type.name AS 'Validity'&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (validity.person_id = person.id)&lt;br /&gt;
LEFT JOIN validity_type ON (validity_type.id = validity.validity_type_id)&lt;br /&gt;
WHERE person.activated=1 AND validity.grant_date &amp;lt;= '$endDate'&lt;br /&gt;
  AND validity_type.id = '$validityTypeId'&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with up-to-date validity X and Y and user details=&lt;br /&gt;
Replace X and Y by the validity_type id (2 times).&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT CONCAT(last_name, ' ', first_name) AS 'User',&lt;br /&gt;
validity_type.name AS 'Validity name',&lt;br /&gt;
expire_date AS 'Expire date',&lt;br /&gt;
DATE_FORMAT(birthdate, '%Y/%m/%d') AS 'Birthdate',&lt;br /&gt;
email,&lt;br /&gt;
CONCAT (address, ' ', zipcode, ' ', city, ' ', state, ' ', country) AS 'Adress',&lt;br /&gt;
home_phone AS 'Home phone',&lt;br /&gt;
work_phone AS 'Work phone',&lt;br /&gt;
cell_phone AS 'Cell phone'&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON person.id=validity.person_id&lt;br /&gt;
LEFT JOIN validity_type ON validity_type.id=validity.validity_type_id&lt;br /&gt;
WHERE validity_type.time_limitation=1 AND (validity_type.id=X OR validity_type.id=Y)&lt;br /&gt;
AND person.id IN&lt;br /&gt;
    ( SELECT person.id FROM person&lt;br /&gt;
    LEFT JOIN validity ON person.id=validity.person_id&lt;br /&gt;
    LEFT JOIN validity_type ON validity_type.id=validity.validity_type_id&lt;br /&gt;
    WHERE person.activated=1 AND (validity_type.id=X OR validity_type.id=Y) AND validity.expire_date &amp;gt;= UTC_DATE() )&lt;br /&gt;
 ORDER BY last_name, first_name, validity_type.name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Utilisateurs avec leurs validités=&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT &lt;br /&gt;
      last_name AS &amp;quot;Nom&amp;quot;,&lt;br /&gt;
      first_name AS &amp;quot;Prenom&amp;quot;,&lt;br /&gt;
      validity_type.name AS &amp;quot;Validité&amp;quot;,&lt;br /&gt;
      DATE_FORMAT(expire_date,'%d/%m/%Y') AS &amp;quot;Date expiration&amp;quot;,&lt;br /&gt;
      IF((DATEDIFF(DATE(expire_date),DATE(Now())) &amp;lt; 0), &amp;quot;Expired&amp;quot;,&amp;quot;&amp;quot;) AS &amp;quot;Perimee&amp;quot;,&lt;br /&gt;
      DATE_FORMAT(grant_date,'%d/%m/%Y') AS &amp;quot;Date obtention&amp;quot;&lt;br /&gt;
   FROM validity_type&lt;br /&gt;
   LEFT JOIN validity ON validity.validity_type_id = validity_type.id &lt;br /&gt;
   LEFT JOIN person ON person.id=validity.person_id&lt;br /&gt;
WHERE person.activated = 1&lt;br /&gt;
ORDER BY Last_name, First_name, validity_type.name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with age and birth date=&lt;br /&gt;
&amp;lt;sql&amp;gt;(SELECT last_name AS Last_name,&lt;br /&gt;
&lt;br /&gt;
first_name AS First_name, &lt;br /&gt;
&lt;br /&gt;
DATE_FORMAT(birthdate ,'%d-%m-%Y') AS Birth_date, &lt;br /&gt;
&lt;br /&gt;
IF ( (sex = 0), 'Man', 'Woman' ) AS sex,&lt;br /&gt;
&lt;br /&gt;
(DATE_FORMAT(DATE('$day'), '%Y') - &lt;br /&gt;
DATE_FORMAT(birthdate, '%Y') - &lt;br /&gt;
(SELECT DATE_FORMAT(DATE('$day'), '00-%m-%d') &amp;lt; DATE_FORMAT( birthdate, '00-%m-%d'))) AS 'age',&lt;br /&gt;
&lt;br /&gt;
DATE_FORMAT(DATE('$day'),'%d-%m-%Y') AS on_date,&lt;br /&gt;
&lt;br /&gt;
IF((DATE_FORMAT(DATE('$day'), '%Y') - &lt;br /&gt;
DATE_FORMAT(birthdate, '%Y') - &lt;br /&gt;
(SELECT DATE_FORMAT(DATE('$day'), '00-%m-%d') &amp;lt; DATE_FORMAT( birthdate, '00-%m-%d')))&amp;gt;=21, '&amp;gt;= 21', '&amp;lt; 21') AS Major,&lt;br /&gt;
&lt;br /&gt;
-- inscription_date,&lt;br /&gt;
&lt;br /&gt;
-- member.subscription,&lt;br /&gt;
&lt;br /&gt;
-- entry.account_date as Adhesion&lt;br /&gt;
DATE_FORMAT(entry.account_date,'%d-%m-%Y') as Grant_date&lt;br /&gt;
&lt;br /&gt;
-- ,MAX(entry.account_date)&lt;br /&gt;
&lt;br /&gt;
-- , $day&lt;br /&gt;
-- , entry.flow_id&lt;br /&gt;
-- , account.name&lt;br /&gt;
&lt;br /&gt;
FROM person&lt;br /&gt;
&lt;br /&gt;
RIGHT JOIN validity ON validity.person_id = person.id &lt;br /&gt;
&lt;br /&gt;
RIGHT JOIN account acc2 on acc2.owner_id = person.id&lt;br /&gt;
&lt;br /&gt;
RIGHT JOIN account_entry linked_entry on linked_entry.account_id = acc2.id&lt;br /&gt;
&lt;br /&gt;
RIGHT JOIN account_entry entry on linked_entry.flow_id = entry.flow_id&lt;br /&gt;
&lt;br /&gt;
RIGHT JOIN account on entry.account_id = account.id &lt;br /&gt;
&lt;br /&gt;
WHERE year(validity.grant_date) = $year&lt;br /&gt;
&lt;br /&gt;
AND account.name = 'Cotisations ACB'&lt;br /&gt;
&lt;br /&gt;
AND (year(entry.account_date)=$year OR (year(entry.account_date)=$year -1 AND month(entry.account_date)=12) )&lt;br /&gt;
&lt;br /&gt;
AND entry.account_date &amp;lt; DATE('$day')&lt;br /&gt;
&lt;br /&gt;
ORDER BY Last_name  LIMIT 999999&lt;br /&gt;
)&lt;br /&gt;
UNION&lt;br /&gt;
(&lt;br /&gt;
SELECT COUNT(*) AS Last_name,&lt;br /&gt;
&lt;br /&gt;
COUNT(*) AS First_name, &lt;br /&gt;
&lt;br /&gt;
COUNT(*) AS Birth_date, &lt;br /&gt;
&lt;br /&gt;
COUNT(*) AS sex,&lt;br /&gt;
&lt;br /&gt;
COUNT(*) AS 'age',&lt;br /&gt;
&lt;br /&gt;
COUNT(*) AS on_date,&lt;br /&gt;
&lt;br /&gt;
COUNT(*) AS Major,&lt;br /&gt;
&lt;br /&gt;
COUNT(*) as Grant_date&lt;br /&gt;
&lt;br /&gt;
FROM person&lt;br /&gt;
&lt;br /&gt;
RIGHT JOIN validity ON validity.person_id = person.id &lt;br /&gt;
&lt;br /&gt;
RIGHT JOIN account acc2 on acc2.owner_id = person.id&lt;br /&gt;
&lt;br /&gt;
RIGHT JOIN account_entry linked_entry on linked_entry.account_id = acc2.id&lt;br /&gt;
&lt;br /&gt;
RIGHT JOIN account_entry entry on linked_entry.flow_id = entry.flow_id&lt;br /&gt;
&lt;br /&gt;
RIGHT JOIN account on entry.account_id = account.id &lt;br /&gt;
&lt;br /&gt;
WHERE year(validity.grant_date) = $year&lt;br /&gt;
&lt;br /&gt;
AND account.name = 'Cotisations ACB'&lt;br /&gt;
&lt;br /&gt;
AND (year(entry.account_date)=$year OR (year(entry.account_date)=$year -1 AND month(entry.account_date)=12) )&lt;br /&gt;
&lt;br /&gt;
AND entry.account_date &amp;lt; DATE('$day')&lt;br /&gt;
)&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with validity grant date and profiles=&lt;br /&gt;
Following extra field required:&lt;br /&gt;
*validityTypeId (Type: dbObject:ValidityType)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT validity_type.name AS 'Validity',&lt;br /&gt;
    DATE_FORMAT(grant_date, '%d/%m/%Y') AS grant_date,&lt;br /&gt;
    last_name AS Name,&lt;br /&gt;
    first_name AS Firstname,&lt;br /&gt;
    ident_value AS Comment,&lt;br /&gt;
    ( SELECT GROUP_CONCAT(profile.name SEPARATOR ', ') &lt;br /&gt;
      FROM profile WHERE (person.profile &amp;amp; profile.id)&lt;br /&gt;
    )AS Profile&lt;br /&gt;
FROM validity_type&lt;br /&gt;
LEFT JOIN validity ON validity.validity_type_id=validity_type.id &lt;br /&gt;
LEFT JOIN person ON person.id=validity.person_id&lt;br /&gt;
WHERE YEAR(grant_date)&amp;gt;=$year&lt;br /&gt;
AND validity_type.id='$validityTypeId' &lt;br /&gt;
ORDER BY Name, Firstname&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with registration date, profiles and total flight time=&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT&lt;br /&gt;
person.last_name,&lt;br /&gt;
person.first_name,&lt;br /&gt;
validity.grant_date AS registration_date,&lt;br /&gt;
person.birthdate AS birthdate,&lt;br /&gt;
IF ( (person.sex = 0), 'M', 'F' ) AS Gender,&lt;br /&gt;
( &lt;br /&gt;
    SELECT GROUP_CONCAT(profile.name SEPARATOR ', ') &lt;br /&gt;
    FROM profile WHERE (person.profile &amp;amp; profile.id)&lt;br /&gt;
)AS Profile,&lt;br /&gt;
IFNULL(( &lt;br /&gt;
    SELECT&lt;br /&gt;
      CONCAT(FLOOR(SUM( flight.duration )/600),':',TIME_FORMAT(SEC_TO_TIME((SUM( flight.duration )/600 - FLOOR(SUM( flight.duration )/600))*3600),'%i')) AS Total &lt;br /&gt;
    FROM flight_pilot fp &lt;br /&gt;
    LEFT JOIN flight ON fp.flight_id=flight.id &lt;br /&gt;
    WHERE fp.pilot_id=person.id AND fp.num=0&lt;br /&gt;
), 0) AS Total_flight_time&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON validity.person_id=person.id&lt;br /&gt;
LEFT JOIN validity_type ON validity_type.id=validity.validity_type_id&lt;br /&gt;
WHERE validity_type.name = &amp;quot;Date d'inscription&amp;quot; AND person.activated=1&lt;br /&gt;
GROUP BY last_name, first_name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with email=&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT last_name, first_name, email&lt;br /&gt;
FROM person&lt;br /&gt;
WHERE activated=1&lt;br /&gt;
ORDER BY last_name, first_name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with expire date validity equals a given year=&lt;br /&gt;
Following extra field required:&lt;br /&gt;
*validityTypeId (Type: dbObject:ValidityType)&lt;br /&gt;
*year (Type: Year)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT person.id, person.first_name, person.last_name, validity_type.name AS 'Validity'&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (validity.person_id = person.id)&lt;br /&gt;
LEFT JOIN validity_type ON (validity_type.id = validity.validity_type_id)&lt;br /&gt;
WHERE person.activated=1 AND YEAR(validity.expire_date) = $year AND validity_type.id = '$validityTypeId'&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with expire date validities inferior to the first day of the given month and year=&lt;br /&gt;
&lt;br /&gt;
Following extra field required:&lt;br /&gt;
* month (Type: integer)&lt;br /&gt;
* year (Type: year)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT CONCAT(last_name, ' ', first_name) AS 'User', validity_type.name AS 'Validity name', expire_date AS 'Expire date'&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON person.id=validity.person_id&lt;br /&gt;
LEFT JOIN validity_type ON validity_type.id=validity.validity_type_id&lt;br /&gt;
WHERE validity_type.time_limitation=1&lt;br /&gt;
  AND validity.expire_date &amp;lt; '$year-$month-01'&lt;br /&gt;
  AND person.activated=1&lt;br /&gt;
ORDER BY last_name, first_name, validity_type.name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users with expire date validities inferior to the first day of the given month and year, with up-to-date expire date of validity XX=&lt;br /&gt;
&lt;br /&gt;
Following extra field required:&lt;br /&gt;
* month (Type: integer)&lt;br /&gt;
* year (Type: year)&lt;br /&gt;
Following symbols should be replace:&lt;br /&gt;
* XX : validity type id&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT CONCAT(last_name, ' ', first_name) AS 'User', validity_type.name AS 'Validity name', expire_date AS 'Expire date'&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON person.id=validity.person_id&lt;br /&gt;
LEFT JOIN validity_type ON validity_type.id=validity.validity_type_id&lt;br /&gt;
WHERE validity_type.time_limitation=1&lt;br /&gt;
AND validity.expire_date &amp;lt; '$year-$month-01'&lt;br /&gt;
AND person.id IN (&lt;br /&gt;
    SELECT person.id&lt;br /&gt;
    FROM person&lt;br /&gt;
    LEFT JOIN validity ON person.id=validity.person_id&lt;br /&gt;
    LEFT JOIN validity_type ON validity_type.id=validity.validity_type_id&lt;br /&gt;
    WHERE person.activated=1&lt;br /&gt;
      AND validity_type.id=XX&lt;br /&gt;
      AND validity.expire_date &amp;gt;= UTC_DATE()&lt;br /&gt;
)&lt;br /&gt;
ORDER BY last_name, first_name, validity_type.name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users without required validities=&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT CONCAT(person.last_name, ' ', person.first_name) AS pilot, validity_type.name AS validity_name&lt;br /&gt;
FROM flight_type_mandatory_validity_type&lt;br /&gt;
LEFT JOIN flight_type ON flight_type.id = flight_type_mandatory_validity_type.flight_type_id&lt;br /&gt;
LEFT JOIN flight ON flight.flight_type_id &amp;amp; flight_type.id&lt;br /&gt;
LEFT JOIN resource ON resource.id = flight.aircraft_id&lt;br /&gt;
LEFT JOIN aircraft_type ON resource.resource_type_id = aircraft_type.id&lt;br /&gt;
LEFT JOIN aircraft_type_validity_type ON aircraft_type.id = aircraft_type_validity_type.aircraft_type_id&lt;br /&gt;
LEFT JOIN flight_pilot ON flight.id = flight_pilot.flight_id&lt;br /&gt;
LEFT JOIN person ON person.id = flight_pilot.pilot_id&lt;br /&gt;
LEFT JOIN validity_type ON (validity_type.id = flight_type_mandatory_validity_type.validity_type_id OR validity_type.id = aircraft_type_validity_type.validity_type_id)&lt;br /&gt;
WHERE flight.airborne = 0&lt;br /&gt;
  AND ROW(person.id, validity_type.id) NOT IN (SELECT person_id, validity_type_id FROM validity)&lt;br /&gt;
  AND validity_type.experience_formula IS NULL&lt;br /&gt;
GROUP BY person.id, validity_type.id&lt;br /&gt;
ORDER BY pilot, validity_name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users without up to date subscription=&lt;br /&gt;
Following extra field required:&lt;br /&gt;
*validityTypeId (Type: dbObject:ValidityType)&lt;br /&gt;
*year (Type: Year)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sql&amp;gt;SELECT &lt;br /&gt;
    last_name AS Nom, &lt;br /&gt;
    first_name AS prénom,&lt;br /&gt;
    email, &lt;br /&gt;
    home_phone AS tel_dommicile, &lt;br /&gt;
    work_phone AS tel_travail, &lt;br /&gt;
    cell_phone AS tel_mobile, &lt;br /&gt;
DATE_FORMAT(validity.expire_date,'%d/%m/%Y') AS date_cotisation&lt;br /&gt;
FROM person&lt;br /&gt;
LEFT JOIN validity ON (validity.person_id = person.id)&lt;br /&gt;
LEFT JOIN validity_type ON (validity_type.id = validity.validity_type_id)&lt;br /&gt;
WHERE person.activated=1 AND YEAR(validity.expire_date) &amp;lt; $year AND validity_type.id = '$validityTypeId'&lt;br /&gt;
ORDER BY last_name,first_name&amp;lt;/sql&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Users without an account=&lt;br /&gt;
&amp;lt;SQL&amp;gt;SELECT person.last_name, person.first_name FROM person&lt;br /&gt;
LEFT JOIN account ON account.owner_id=person.id&lt;br /&gt;
LEFT JOIN account_type ON account.account_type=account_type.id&lt;br /&gt;
WHERE person.activated=1 AND account.category=2 AND account_type.activated=1 AND account.activated=0&amp;lt;/SQL&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Young users=&lt;br /&gt;
  &amp;lt;SQL&amp;gt;SELECT &lt;br /&gt;
    last_name AS Last_name,&lt;br /&gt;
    first_name AS First_name, &lt;br /&gt;
    DATE_FORMAT(birthdate ,'%m-%d-%Y') AS Birthdate, &lt;br /&gt;
    IF ( (sex = 0), 'Male', 'Female' ) AS sex&lt;br /&gt;
  FROM person&lt;br /&gt;
  WHERE ($year-YEAR(birthdate))&amp;lt;=21&amp;lt;/SQL&amp;gt;&lt;/div&gt;</summary>
		<author><name>Claratte</name></author>	</entry>

	</feed>