File: upgrade_filerelease_data.php

package info (click to toggle)
gforge 3.1-31sarge5
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 9,148 kB
  • ctags: 11,865
  • sloc: sql: 27,860; php: 25,574; perl: 7,124; xml: 3,152; sh: 2,586; ansic: 315; makefile: 143
file content (86 lines) | stat: -rw-r--r-- 2,600 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<?php
//
// SourceForge: Breaking Down the Barriers to Open Source Development
// Copyright 1999-2000 (c) The SourceForge Crew
// http://sourceforge.net
//
// $Id: upgrade_filerelease_data.php,v 1.2 2003/01/10 14:44:22 bigdisk Exp $

exit;

/*


	One time use script
	to migrate and normalize the filerelease data

	Methodology:

	1. need to update the frs_release table with the change notes

	2. need to build all the frs_file entries with proper relations to frs_release


*/

require ('squal_pre.php');

echo $REMOTE_ADDR;

if (!strstr($REMOTE_ADDR,'192.168.1.')) {
        exit_permission_denied();
}

//get all the tasks
$result=db_query("SELECT * FROM frs_release WHERE release_id > 9290 ORDER BY release_id ASC");
$rows=db_numrows($result);
echo "\n<br />Rows: $rows\n";
flush();

for ($i=0; $i<$rows; $i++) {
	flush();
	echo "\n<br />Release :: ".db_result($result,$i,'release_id');

	/*
		Get the files from the old system for this release
	*/
	$res2=db_query("SELECT * FROM filerelease ".
		"WHERE filemodule_id='". db_result($result,$i,'package_id') ."' AND release_version='". db_result($result,$i,'name') ."'");

	$rows2=db_numrows($res2);
	//echo db_error();
	if ($rows2 < 1) {
		/*
			no matches for this release
		*/
		echo "\n<br />Warning - deleting release!";
		db_query ("DELETE FROM frs_release WHERE release_id='". db_result($result,$i,'release_id') ."'");
	} else {
		$release_id=db_result($result,$i,'release_id');

		/*
			set the change notes and release time for this release 
			based on any given file from the release in the old system
		*/
		db_query ("UPDATE frs_release SET notes='". addslashes(db_result($res2,0,'text_notes')) ."',".
			"changes='". addslashes(db_result($res2,0,'text_changes')) ."', ".
			"preformatted='". db_result($res2,0,'text_format') ."', ".
			"released_by='". db_result($res2,0,'user_id') ."', ".
			"release_date='". db_result($res2,0,'release_time') ."' ".
			"WHERE release_id='$release_id'");

		echo "\n<br />Update Release: $release_id :: ".db_error();

		for ($f=0; $f<$rows2; $f++) {
			/*
				move each of the files from the old system to the new
			*/
			db_query("INSERT INTO frs_file (file_id,filename,release_id,processor_id,release_time,file_size,post_date,type_id) VALUES ".
				"('". db_result($res2,$f,'filerelease_id') ."','". db_result($res2,$f,'filename') ."','$release_id',".
				"'9999','". db_result($res2,$f,'release_time') ."','". db_result($res2,$f,'file_size') ."','". db_result($res2,$f,'post_time') ."','9999')");
			echo "\n<br />File: ". db_result($res2,$f,'filerelease_id') ." :: ".db_error();
		}
	}
}

?>