update-checker
Sql:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
CREATE TABLE updates (
naam varchar(32) NOT NULL,
u_link varchar(255) NOT NULL default 'http://www.jouwwebsite.nl/update/',
d_link varchar(255) NOT NULL default 'http://www.jouwwebsite.nl/download/',
versie varchar(9) NOT NULL,
n_versie varchar(9) NOT NULL,
n_update enum('ja','nee') NOT NULL default 'nee',
wanneer datetime NOT NULL,
UNIQUE KEY(naam)
);
naam varchar(32) NOT NULL,
u_link varchar(255) NOT NULL default 'http://www.jouwwebsite.nl/update/',
d_link varchar(255) NOT NULL default 'http://www.jouwwebsite.nl/download/',
versie varchar(9) NOT NULL,
n_versie varchar(9) NOT NULL,
n_update enum('ja','nee') NOT NULL default 'nee',
wanneer datetime NOT NULL,
UNIQUE KEY(naam)
);
Verander de link: http://www.jouwwebsite.nl/ GOED!
PHP code:
Code (php)
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
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
<?php
error_reporting(E_ALL);
//Dit bestand kijkt of er updates zijn
$host = 'localhost'; // Voor 99,99% altijd localhost
$user = 'username';
$pass = 'wachtwoord';
$db = 'database';
$Utijd = 86400; // Hij zal nu om een dag kijken of er updates zijn
mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
$U_sql = mysql_query("SELECT naam,u_link,versie FROM updates WHERE UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(wanneer) > $Utijd") or trigger_error(mysql_error());
while($U_row = mysql_fetch_assoc($U_sql)) {
$tags = get_meta_tags($U_row['u_link'].$U_row['naam'].'/');
if(isset($tags['versie'])) {
if($U_row['versie'] != $tags['versie']) {
mysql_query("UPDATE updates SET n_update = 'ja', n_versie = '".$tags['versie']."', wanneer = now() WHERE naam = '".$U_row['naam']."'") or trigger_error(mysql_error());
}
}
mysql_query("UPDATE updates SET wanneer = now() WHERE naam = '".$U_row['naam']."'") or trigger_error(mysql_error());
}
$sql = mysql_query("SELECT naam,d_link,versie,n_versie FROM updates WHERE n_update = 'ja'") or trigger_error(mysql_error());
$count = mysql_num_rows($sql);
if(is_int($count)) {
if($count == 1) {
$zin = 'Er is '.$count.' nieuwe update beschikbaar:<br />';
} else {
$zin = 'Er zijn '.$count.' nieuwe updates beschikbaar:<br />';
}
echo $zin."\n";
while($row = mysql_fetch_assoc($sql)) {
echo 'Script: <b>'.$row['naam'].'</b> Van versie '.$row['versie'].' naar versie '.$row['n_versie'].'. <a href="'.$row['d_link'].$row['naam'].'/'. $row['naam'].'_'.$row['n_versie'].'.zip">Download</a>'."\n";
}
} else {
echo 'Er zijn geen nieuwe updates beschikbaar'."\n";
}
?>
error_reporting(E_ALL);
//Dit bestand kijkt of er updates zijn
$host = 'localhost'; // Voor 99,99% altijd localhost
$user = 'username';
$pass = 'wachtwoord';
$db = 'database';
$Utijd = 86400; // Hij zal nu om een dag kijken of er updates zijn
mysql_connect($host, $user, $pass) or die(mysql_error());
mysql_select_db($db) or die(mysql_error());
$U_sql = mysql_query("SELECT naam,u_link,versie FROM updates WHERE UNIX_TIMESTAMP(now())-UNIX_TIMESTAMP(wanneer) > $Utijd") or trigger_error(mysql_error());
while($U_row = mysql_fetch_assoc($U_sql)) {
$tags = get_meta_tags($U_row['u_link'].$U_row['naam'].'/');
if(isset($tags['versie'])) {
if($U_row['versie'] != $tags['versie']) {
mysql_query("UPDATE updates SET n_update = 'ja', n_versie = '".$tags['versie']."', wanneer = now() WHERE naam = '".$U_row['naam']."'") or trigger_error(mysql_error());
}
}
mysql_query("UPDATE updates SET wanneer = now() WHERE naam = '".$U_row['naam']."'") or trigger_error(mysql_error());
}
$sql = mysql_query("SELECT naam,d_link,versie,n_versie FROM updates WHERE n_update = 'ja'") or trigger_error(mysql_error());
$count = mysql_num_rows($sql);
if(is_int($count)) {
if($count == 1) {
$zin = 'Er is '.$count.' nieuwe update beschikbaar:<br />';
} else {
$zin = 'Er zijn '.$count.' nieuwe updates beschikbaar:<br />';
}
echo $zin."\n";
while($row = mysql_fetch_assoc($sql)) {
echo 'Script: <b>'.$row['naam'].'</b> Van versie '.$row['versie'].' naar versie '.$row['n_versie'].'. <a href="'.$row['d_link'].$row['naam'].'/'. $row['naam'].'_'.$row['n_versie'].'.zip">Download</a>'."\n";
}
} else {
echo 'Er zijn geen nieuwe updates beschikbaar'."\n";
}
?>
Voorbeeld:
INSERT INTO `updates` (`naam`, `u_link`, `d_link`, `versie`, `n_versie`, `n_update`, `wanneer`) VALUES ('test', 'http://home.quicknet.nl/qn/prive/henkgoutdeway/update/', 'http://home.quicknet.nl/qn/prive/henkgoutdeway/download/', '1.0.0', '1.0.0', 'nee', '2006-09-02 12:49:47');
De functie get_meta_tags zal wanneer het script is aangeroepen en bovenstaande sql code is ingevoert kijken in het volgende mapje of er een nieuwe update beschikbaar is:
http://home.quicknet.nl/qn/prive/henkgoutdeway/update/test/
In dit mapje staat index.html daarin staat het volgende:
<meta name="versie" content="2.0.0">
Zoals je kan zien verchilt de huidige versie met die van die in deze map staat en zal daarom de query updaten en zeggen dat er een nieuwe update beschikbaar is
de download link zal nu als volgt zijn:
http://home.quicknet.nl/qn/prive/henkgoutdeway/download/test/test_2.0.0.zip
Dit bestand bestaat niet! Dit hoor je eenmaal later zelf allemaal te veranderen.
Na hoop dat het een goede uitleg is en ziet hoe je een script kan toevoegen om zo te kijken of er een nieuwe update voor beschikbaar is
Heb je nog vragen of ideeën stel ze gerust!
GR. mebus!
edit: o ja reacties zijn welkom hoor:p!!!!