PageRenderTime 50ms CodeModel.GetById 19ms RepoModel.GetById 1ms app.codeStats 0ms

/pmfv2-1-0-alpha-1/admin/upgrade-1.4.2-2.0.0.php

https://github.com/redbugz/rootstech2013
PHP | 448 lines | 433 code | 13 blank | 2 comment | 8 complexity | 9f7d348b9c1a4b8cb0829340e2fe8d90 MD5 | raw file
Possible License(s): AGPL-1.0, BSD-3-Clause
  1. <?php
  2. set_include_path('..');
  3. require_once "inc/database.inc.php";
  4. class tmp {
  5. function setDateFormat() {
  6. }
  7. }
  8. $currentRequest = new tmp();
  9. function check_cookies() {
  10. }
  11. function mysql_connect_wrapper() {
  12. global $usepconnect, $dbhost, $dbuser, $dbpwd, $dbname;
  13. // connect to database
  14. if ($usepconnect) {
  15. if (!($mysql_connect = mysql_pconnect($dbhost, $dbuser, $dbpwd))) {
  16. error_log(mysql_error());
  17. die("phpmyfamily cannot access the database server (".$dbhost.")");
  18. }
  19. } else {
  20. if (!($mysql_connect = mysql_connect($dbhost, $dbuser, $dbpwd))) {
  21. error_log(mysql_error());
  22. die("phpmyfamily cannot access the database server (".$dbhost.")");
  23. }
  24. }
  25. $database_select = mysql_select_db($dbname);
  26. return ($database_select);
  27. }
  28. include_once "inc/config.inc.php";
  29. //Create the config table
  30. include_once "admin/configTable.php";
  31. if(!$usepconnect) {
  32. mysql_close();
  33. }
  34. include_once "modules/db/DAOFactory.php";
  35. list($dir,$file) = explode('/',$lang);
  36. list($locale,$a,$b) = explode('.',$file);
  37. $q = "UPDATE ".$tblprefix."config SET `email` = '$email',
  38. `mailto` = '$mailto',
  39. `desc` = '$desc',
  40. `styledir` = '$styledir',
  41. `defaultstyle` = '$defaultstyle',
  42. `lang` = '$locale',
  43. `timing` = ".($timing?1:0).",
  44. `gedcom` = ".($gedcom?1:0).",
  45. `restricttype` = ".($dynamicrestrict?1:0).",
  46. `restrictyears` = $restrictyears,
  47. `tracking` = ".($tracking?1:0).",
  48. `trackemail` = '$trackemail',
  49. `absurl` = '$absurl',
  50. `bbtracking` = ".($bbtracking?1:0).",
  51. `img_max` = $img_max,
  52. `img_min` = $img_min";
  53. if(!mysql_query($q)) {
  54. echo mysql_error();
  55. die("phpmyfamily: Error saving current config");
  56. } else {
  57. echo "Old config values stored in database<br/>";
  58. }
  59. $q = 'ALTER TABLE `'.$tblprefix.'people` ENGINE = InnoDB';
  60. if(!mysql_query($q)) {
  61. echo $q;
  62. echo mysql_error();
  63. echo "Can't change people table to InnoDB";
  64. }
  65. include_once "admin/nameTable.php";
  66. $q = "INSERT INTO `".$tblprefix."names` (person_id, forenames, surname, suffix) ".
  67. "SELECT person_id, TRIM(TRAILING surname FROM name) AS forenames, surname, suffix ".
  68. "FROM `".$tblprefix."people`";
  69. if(!mysql_query($q)) {
  70. echo mysql_error();
  71. die("phpmyfamily: Error migrating names");
  72. } else {
  73. echo "Names migrated<br/>";
  74. }
  75. //Create the location table
  76. include_once "admin/locationTable.php";
  77. include_once "admin/eventTable.php";
  78. include_once "admin/attendeeTable.php";
  79. $q = "INSERT INTO `".$tblprefix."locations` (place, name) ".
  80. "SELECT DISTINCT birth_place,birth_place ".
  81. "FROM ".$tblprefix."people p LEFT JOIN ".$tblprefix."locations l ON p.birth_place = l.place".
  82. " WHERE location_id IS NULL AND birth_place <> ''";
  83. if(!mysql_query($q)) {
  84. echo mysql_error();
  85. echo $q;
  86. die("phpmyfamily: Error migrating birth places");
  87. } else {
  88. echo "birth places migrated<br/>";
  89. }
  90. $q = "INSERT INTO `".$tblprefix."event` (person_id, etype, date1, d1type, location_id, certified) ".
  91. " SELECT person_id, ".BIRTH_EVENT.", date_of_birth, 0, location_id, birth_cert ".
  92. " FROM ".$tblprefix."people p".
  93. " LEFT JOIN ".$tblprefix."locations l ON p.birth_place = l.place";
  94. if(!mysql_query($q)) {
  95. echo mysql_error();
  96. echo $q;
  97. die("phpmyfamily: Error migrating birth dates");
  98. } else {
  99. echo "birth dates migrated<br/>";
  100. }
  101. $q = "INSERT INTO `".$tblprefix."event` (person_id, etype, date1, d1type, certified) ".
  102. " SELECT person_id, ".DEATH_EVENT.", date_of_death, 0, death_cert ".
  103. " FROM ".$tblprefix."people p";
  104. if(!mysql_query($q)) {
  105. echo mysql_error();
  106. die("phpmyfamily: Error migrating death dates");
  107. } else {
  108. echo "death dates migrated<br/>";
  109. }
  110. $q = "ALTER TABLE `".$tblprefix."spouses` ADD COLUMN `event_id` INTEGER UNSIGNED DEFAULT NULL,
  111. ADD CONSTRAINT `FK_".$tblprefix."spouses_1` FOREIGN KEY `FK_".$tblprefix."spouses_1` (`event_id`)
  112. REFERENCES `".$tblprefix."event` (`event_id`),
  113. ADD COLUMN `marriage_id` INTEGER UNSIGNED NOT NULL DEFAULT NULL AUTO_INCREMENT,
  114. DROP PRIMARY KEY,
  115. ADD PRIMARY KEY USING BTREE(`marriage_id`),
  116. ENGINE = InnoDB;";
  117. if(!mysql_query($q)) {
  118. echo mysql_error();
  119. echo $q;
  120. die("phpmyfamily: Error changing spouses table");
  121. } else {
  122. echo "Changed spouses table<br/>";
  123. }
  124. $q = "ALTER TABLE `".$tblprefix."event` ADD COLUMN `marriage_id` INTEGER UNSIGNED DEFAULT NULL";
  125. if(!mysql_query($q)) {
  126. echo mysql_error();
  127. die("phpmyfamily: Error adding marriage_id column to event");
  128. } else {
  129. echo "added marriage_id column to event<br/>";
  130. }
  131. $q = "INSERT INTO `".$tblprefix."locations` (place, name) ".
  132. "SELECT DISTINCT marriage_place, marriage_place ".
  133. "FROM ".$tblprefix."spouses sp LEFT JOIN ".$tblprefix."locations l ON sp.marriage_place = l.place".
  134. " WHERE location_id IS NULL AND marriage_place <> ''";
  135. if(!mysql_query($q)) {
  136. echo mysql_error();
  137. echo $q;
  138. die("phpmyfamily: Error migrating marriage places");
  139. } else {
  140. echo "marriage places migrated<br/>";
  141. }
  142. $q = "INSERT INTO `".$tblprefix."event` (etype, date1, d1type, location_id, certified, marriage_id) ".
  143. " SELECT ".MARRIAGE_EVENT.", marriage_date, 0, location_id, marriage_cert, marriage_id ".
  144. " FROM ".$tblprefix."spouses sp".
  145. " LEFT JOIN ".$tblprefix."locations l ON sp.marriage_place = l.place";
  146. if(!mysql_query($q)) {
  147. echo $q;
  148. echo mysql_error();
  149. die("phpmyfamily: Error migrating weddings");
  150. } else {
  151. echo "weddings migrated<br/>";
  152. }
  153. $q = "UPDATE ".$tblprefix."spouses,".$tblprefix."event SET ".$tblprefix."spouses.event_id=".$tblprefix."event.event_id WHERE ".$tblprefix."event.marriage_id = ".$tblprefix."spouses.marriage_id";
  154. if(!mysql_query($q)) {
  155. echo mysql_error();
  156. echo $q;
  157. die("phpmyfamily: Error moving marriage event ids");
  158. } else {
  159. echo "moved marriage event ids<br/>";
  160. }
  161. $q = "ALTER TABLE `".$tblprefix."event` DROP COLUMN `marriage_id`";
  162. if(!mysql_query($q)) {
  163. echo mysql_error();
  164. die("phpmyfamily: Error removing marriage_id column to event");
  165. } else {
  166. echo "removed marriage_id column to event<br/>";
  167. }
  168. $q = "ALTER TABLE `".$tblprefix."census` ADD COLUMN `census_id` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  169. ADD COLUMN `event_id` INTEGER UNSIGNED NOT NULL,
  170. DROP PRIMARY KEY,
  171. ADD PRIMARY KEY (`census_id`),
  172. ADD CONSTRAINT `FK_".$tblprefix."census_1` FOREIGN KEY `FK_".$tblprefix."census_1` (`person_id`)
  173. REFERENCES `".$tblprefix."people` (`person_id`)
  174. ON DELETE NO ACTION
  175. ON UPDATE NO ACTION,
  176. ENGINE = InnoDB;";
  177. if(!mysql_query($q)) {
  178. echo mysql_error();
  179. echo $q;
  180. die("phpmyfamily: Error changing census table");
  181. } else {
  182. echo "changed census table<br/>";
  183. }
  184. $q = "ALTER TABLE `".$tblprefix."event` ADD COLUMN `census_id` INTEGER UNSIGNED DEFAULT NULL";
  185. if(!mysql_query($q)) {
  186. echo mysql_error();
  187. die("phpmyfamily: Error adding census_id column to event");
  188. } else {
  189. echo "added census_id column to event<br/>";
  190. }
  191. $q = "INSERT INTO `".$tblprefix."locations` (place, name) ".
  192. "SELECT DISTINCT address, address ".
  193. "FROM ".$tblprefix."census cen LEFT JOIN ".$tblprefix."locations l ON cen.address = l.place".
  194. " WHERE location_id IS NULL AND address <> ''";
  195. if(!mysql_query($q)) {
  196. echo mysql_error();
  197. echo $q;
  198. die("phpmyfamily: Error migrating census places");
  199. } else {
  200. echo "census places migrated<br/>";
  201. }
  202. $q = "ALTER TABLE `".$tblprefix."census_years` ADD COLUMN `census_date` DATE NOT NULL";
  203. if(!mysql_query($q)) {
  204. echo mysql_error();
  205. echo $q;
  206. die("phpmyfamily: Error changing census years table");
  207. } else {
  208. echo "changed census years table<br/>";
  209. }
  210. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1841-06-06' WHERE country='British Isles' AND year = '1841'";
  211. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  212. echo "Census years values created<br>\n";
  213. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1851-03-30' WHERE country='British Isles' AND year = '1851'";
  214. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  215. echo "Census years values created<br>\n";
  216. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1861-04-07' WHERE country='British Isles' AND year = '1861'";
  217. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  218. echo "Census years values created<br>\n";
  219. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1871-04-02' WHERE country='British Isles' AND year = '1871'";
  220. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  221. echo "Census years values created<br>\n";
  222. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1881-04-03' WHERE country='British Isles' AND year = '1881'";
  223. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  224. echo "Census years values created<br>\n";
  225. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1891-04-05' WHERE country='British Isles' AND year = '1891'";
  226. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  227. echo "Census years values created<br>\n";
  228. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1901-03-31' WHERE country='British Isles' AND year = '1901'";
  229. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  230. echo "Census years values created<br>\n";
  231. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1790-08-02' WHERE country='USA' AND year = '1790'";
  232. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  233. echo "Census years values created<br>\n";
  234. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1800-08-04' WHERE country='USA' AND year = '1800'";
  235. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  236. echo "Census years values created<br>\n";
  237. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1810-08-06' WHERE country='USA' AND year = '1810'";
  238. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  239. echo "Census years values created<br>\n";
  240. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1820-08-07' WHERE country='USA' AND year = '1820'";
  241. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  242. echo "Census years values created<br>\n";
  243. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1830-06-01' WHERE country='USA' AND year = '1830'";
  244. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  245. echo "Census years values created<br>\n";
  246. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1840-06-01' WHERE country='USA' AND year = '1840'";
  247. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  248. echo "Census years values created<br>\n";
  249. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1850-06-01' WHERE country='USA' AND year = '1850'";
  250. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  251. echo "Census years values created<br>\n";
  252. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1860-06-01' WHERE country='USA' AND year = '1860'";
  253. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  254. echo "Census years values created<br>\n";
  255. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1870-06-01' WHERE country='USA' AND year = '1870'";
  256. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  257. echo "Census years values created<br>\n";
  258. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1880-06-01' WHERE country='USA' AND year = '1880'";
  259. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  260. echo "Census years values created<br>\n";
  261. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1890-06-02' WHERE country='USA' AND year = '1890'";
  262. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  263. echo "Census years values created<br>\n";
  264. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1900-06-01' WHERE country='USA' AND year = '1900'";
  265. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  266. echo "Census years values created<br>\n";
  267. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1910-04-15' WHERE country='USA' AND year = '1910'";
  268. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  269. echo "Census years values created<br>\n";
  270. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1920-01-01' WHERE country='USA' AND year = '1920'";
  271. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  272. echo "Census years values created<br>\n";
  273. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1930-04-01' WHERE country='USA' AND year = '1930'";
  274. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  275. echo "Census years values created<br>\n";
  276. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1842-02-01' WHERE country='Canada' AND year = '1842'";
  277. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  278. echo "Census years values created<br>\n";
  279. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1848-01-01' WHERE country='Canada' AND year = '1848'";
  280. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  281. echo "Census years values created<br>\n";
  282. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1851-01-12' WHERE country='Canada' AND year = '1851'";
  283. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  284. echo "Census years values created<br>\n";
  285. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1861-01-14' WHERE country='Canada' AND year = '1861'";
  286. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  287. echo "Census years values created<br>\n";
  288. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1871-04-02' WHERE country='Canada' AND year = '1871'";
  289. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  290. echo "Census years values created<br>\n";
  291. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1881-04-04' WHERE country='Canada' AND year = '1881'";
  292. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  293. echo "Census years values created<br>\n";
  294. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1891-04-06' WHERE country='Canada' AND year = '1891'";
  295. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  296. echo "Census years values created<br>\n";
  297. $cyvquery = "UPDATE ".$tblprefix."census_years SET census_date='1901-03-31' WHERE country='Canada' AND year = '1901'";
  298. $cyvresult = mysql_query($cyvquery) or die("phpmyfamily: Error creating census years values!!!");
  299. echo "Census years values created<br>\n";
  300. $q = "INSERT INTO `".$tblprefix."event` (etype, person_id, date1, d1type, location_id, census_id) ".
  301. " SELECT ".CENSUS_EVENT.", person_id, census_date, 0, location_id, c.census_id ".
  302. " FROM ".$tblprefix."census c".
  303. " JOIN ".$tblprefix."census_years cy ON cy.census_id = c.census".
  304. " LEFT JOIN ".$tblprefix."locations l ON c.address = l.place";
  305. if(!mysql_query($q)) {
  306. echo $q;
  307. echo mysql_error();
  308. die("phpmyfamily: Error migrating census");
  309. } else {
  310. echo "census migrated<br/>";
  311. }
  312. $q = "UPDATE ".$tblprefix."census,".$tblprefix."event SET ".$tblprefix."census.event_id=".$tblprefix."event.event_id WHERE ".$tblprefix."event.census_id = ".$tblprefix."census.census_id";
  313. if(!mysql_query($q)) {
  314. echo mysql_error();
  315. echo $q;
  316. die("phpmyfamily: Error moving census event ids");
  317. } else {
  318. echo "moved census event ids<br/>";
  319. }
  320. $q = "ALTER TABLE `".$tblprefix."event` DROP COLUMN `census_id`";
  321. if(!mysql_query($q)) {
  322. echo mysql_error();
  323. die("phpmyfamily: Error removing census_id column from event");
  324. } else {
  325. echo "removed census_id column from event<br/>";
  326. }
  327. $q = "ALTER TABLE `".$tblprefix."census`
  328. ADD CONSTRAINT `FK_".$tblprefix."census_2` FOREIGN KEY `FK_".$tblprefix."census_2` (`event_id`)
  329. REFERENCES `".$tblprefix."event` (`event_id`)
  330. ON DELETE NO ACTION
  331. ON UPDATE NO ACTION
  332. , ENGINE = InnoDB;";
  333. if(!mysql_query($q)) {
  334. echo mysql_error();
  335. echo $q;
  336. die("phpmyfamily: Error changing census table");
  337. } else {
  338. echo "changed census table<br/>";
  339. }
  340. $q = "INSERT INTO `".$tblprefix."locations` (place, name) ".
  341. "SELECT DISTINCT where_born, where_born ".
  342. "FROM ".$tblprefix."census cen LEFT JOIN ".$tblprefix."locations l ON cen.where_born = l.place".
  343. " WHERE location_id IS NULL AND where_born <> ''";
  344. if(!mysql_query($q)) {
  345. echo mysql_error();
  346. echo $q;
  347. die("phpmyfamily: Error migrating census birth places");
  348. } else {
  349. echo "census birth places migrated<br/>";
  350. }
  351. $q = "INSERT INTO `".$tblprefix."attendee` (event_id,person_id, age,profession,r_status, location_id, notes) ".
  352. " SELECT event_id, person_id, age, profession, `condition`, l.location_id, other_details ".
  353. " FROM ".$tblprefix."census c".
  354. " LEFT JOIN ".$tblprefix."locations l ON c.where_born = l.place";
  355. if(!mysql_query($q)) {
  356. echo $q;
  357. echo mysql_error();
  358. die("phpmyfamily: Error migrating people");
  359. } else {
  360. echo "census people migrated<br/>";
  361. }
  362. $q = "SELECT f.attendee_id,f.event_id, e.reference, e.location_id, e.date1 FROM ".$tblprefix."attendee f
  363. JOIN ".$tblprefix."census c ON f.event_id = c.event_id
  364. JOIN ".$tblprefix."event e ON f.event_id = e.event_id
  365. LEFT JOIN ".$tblprefix."event b ON b.person_id = f.person_id AND b.etype = 0
  366. where e.reference <> '' OR e.location_id is not null
  367. order by e.reference, e.location_id, e.date1, b.date1";
  368. if($result = mysql_query($q)) {
  369. $ref = '';
  370. $oldref = '';
  371. $oldloc = '';
  372. $oldref = '';
  373. while($row = mysql_fetch_array($result)) {
  374. //if reference and location id are equal
  375. $ref = $row["reference"];
  376. $loc = $row["location_id"];
  377. $event = $row["event_id"];
  378. if ($ref == $oldref && $loc == $oldloc && $ref <> '') {
  379. mysql_query("UPDATE ".$tblprefix."attendee SET event_id = ".$oldevent." WHERE event_id = ".$event);
  380. mysql_query("DELETE FROM ".$tblprefix."event WHERE event_id = ".$event);
  381. } else {
  382. $oldref = $ref;
  383. $oldloc = $loc;
  384. $oldevent = $event;
  385. }
  386. }
  387. }
  388. ?>