Merge pull request #11 from bessl/patch-2
[gitphp.git] / include / git / taglist / TagListLoad_Git.class.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
<?php
/**
 * Tag list load strategy using git exe
 *
 * @author Christopher Han <xiphux@gmail.com>
 * @copyright Copyright (c) 2012 Christopher Han
 * @package GitPHP
 * @subpackage Git\TagList
 */
class GitPHP_TagListLoad_Git extends GitPHP_RefListLoad_Git implements GitPHP_TagListLoadStrategy_Interface
{
        /**
         * Loads the tag list
         *
         * @param GitPHP_TagList $tagList tag list
         * @return array array of tag hashes
         */
        public function Load($tagList)
        {
                return $this->GetRefs($tagList, 'tags');
        }
 
        /**
         * Loads sorted tags
         *
         * @param GitPHP_TagList $tagList tag list
         * @param string $order list order
         * @param integer $count number to load
         * @param integer $skip number to skip
         */
        public function LoadOrdered($tagList, $order, $count = 0, $skip = 0)
        {
                if (!$tagList)
                        return;
 
                $ordered = $this->GetOrderedRefs($tagList, 'tags', $order, $count, $skip);
 
                if (!$ordered)
                        return;
 
                $tagObjs = array();
                foreach ($ordered as $tag) {
                        if ($tagList->Exists($tag)) {
                                $tagObjs[] = $tagList->GetTag($tag);
                        }
                }
 
                return $tagObjs;
        }
}
 
comments