Changed all ereg references to preg_match("/regex/"... and eregi references to preg_match("/regex/i" to prevent php 5.3.0 from complaining
[gitphp.git] / include / gitutil.git_read_tag.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
<?php
/*
 *  gitutil.git_read_tag.php
 *  gitphp: A PHP git repository browser
 *  Component: Git utility - read tag
 *
 *  Copyright (C) 2008 Christopher Han <xiphux@gmail.com>
 */
 
 require_once('gitutil.git_cat_file.php');
 
function git_read_tag($project, $tag_id)
{
        $tag = array();
        $tagout = git_cat_file($project, $tag_id, NULL, "tag");
        $tag['id'] = $tag_id;
        $comment = array();
        $tok = strtok($tagout,"\n");
        while ($tok !== false) {
                if (ereg("^object ([0-9a-fA-F]{40})$",$tok,$regs))
                        $tag['object'] = $regs[1];
                else if (ereg("^type (.+)$",$tok,$regs))
                        $tag['type'] = $regs[1];
                else if (ereg("^tag (.+)$",$tok,$regs))
                        $tag['name'] = $regs[1];
                else if (ereg("^tagger (.*) ([0-9]+) (.*)$",$tok,$regs)) {
                        $tag['author'] = $regs[1];
                        $tag['epoch'] = $regs[2];
                        $tag['tz'] = $regs[3];
                } else {
                        while ($tok !== false) {
                                $comment[] = $tok;
                                $tok = strtok("\n");
                        }
                        break;
                }
                $tok = strtok("\n");
        }
        $tag['comment'] = $comment;
        if (!isset($tag['name']))
                return null;
        return $tag;
}
 
?>
 
comments