[cvs] / vanilla / kernel_version.inc  

cvs: vanilla/kernel_version.inc


1 : tmcnulty 1.1 <?php
2 :     $kernel = array();
3 :     $k_list_url = "http://www.kernel.org/";
4 :    
5 :     class Kernel {
6 :     var $name, $id, $parent, $version, $patchurl, $srcurl, $moddate;
7 :    
8 :     function Kernel($name, $id, $parent) {
9 :     $this->name = $name;
10 :     $this->id = $id;
11 :     $this->parent = $parent;
12 :     }
13 :     }
14 :    
15 :     $kernel[] = new Kernel("stable",'The latest stable version of the Linux kernel is:',"");
16 :     $kernel[] = new Kernel("stable-prepatch",'The latest <a href="prepatch.html">prepatch<\/a> for the stable Linux kernel tree is:',"stable");
17 :     $kernel[] = new Kernel("beta",'The latest beta version of the Linux kernel is:',"");
18 :     $kernel[] = new Kernel("beta-snapshot",'The latest <a href="snapshot.html">snapshot<\/a> for the beta Linux kernel tree is:',"beta");
19 :     $kernel[] = new Kernel("2.2",'The latest 2.2 version of the Linux kernel is:',"");
20 :     $kernel[] = new Kernel("2.0",'The latest 2.0 version of the Linux kernel is:',"");
21 :     $kernel[] = new Kernel("2.0-prepatch",'The latest <a href="prepatch.html">prepatch<\/a> for the 2.0 Linux kernel tree is:',"2.0");
22 :     $kernel[] = new Kernel("stable-ac",'The latest <a href="acpatch.html">-ac patch<\/a> to the stable Linux kernels is:',"stable");
23 :     $kernel[] = new Kernel("beta-ac",'The latest <a href="acpatch.html">-ac patch<\/a> to the beta Linux kernels is:',"beta");
24 :     $kernel[] = new Kernel("beta-dj",'The latest <a href="djpatch.html">-dj patch<\/a> to the beta Linux kernels is:',"beta");
25 :    
26 :     $data = join("",file($k_list_url));
27 :     $pos1 = strpos($data,'<A NAME="versions">');
28 :     $pos2 = strpos($data,'<CENTER>',$pos1);
29 :     $len = $pos2-$pos1;
30 :     $data = substr($data,$pos1,$len);
31 :    
32 :     $data = strip_tags($data,"<a>");
33 :     //$data = str_replace("\n"," ",$data);
34 :     //$data = str_replace("\r"," ",$data);
35 :     $data = str_replace("&nbsp;"," ",$data);
36 :    
37 :     $regex = '\s+<a href="\/([^<> \r\n]+[^\. \r\n"\'])">\s*(\d\.\d+\.\d+-?[-\w]*)\s*<\/a>'; // patchurl and version
38 :     $regex .= '\s*(\d{4}-\d{2}-\d{2} \d{2}:\d{2} \w{3})'; // moddate
39 :     $regex .= '\s*(<a href="\/([^<> \r\n]+[^\. \r\n"\'])">\s*F\s*<\/a>)?'; // srcurl
40 :    
41 :     for ($i=0; $i<count($kernel); $i++) {
42 :     $mreg = "/" . $kernel[$i]->id . $regex . "/";
43 :     if (preg_match($mreg, $data, $matches)) {
44 :     $kerenl[$i]->pathurl = $k_list_url . $matches[1];
45 :     $kernel[$i]->version = $matches[2];
46 :     $kernel[$i]->moddate = $matches[3];
47 :     if (empty($kernel->parent))
48 :     $kernel[$i]->srcurl = $k_list_url . $matches[5];
49 :     }
50 :     }
51 :    
52 :     function getKernelInfo($name) {
53 :     global $kernel;
54 :     $result = false;
55 :     for ($i=0; $i<count($kernel); $i++) {
56 :     if ($kernel[$i]->name == $name) {
57 :     $result = $kernel[$i];
58 :     break;
59 :     }
60 :     }
61 :     return $result;
62 :     }
63 :     ?>

Tobias McNulty

Powered by ViewCVS 1.0-dev
(Powered by ViewCVS)

ViewCVS and CVS Help