Bring back tag badges - fixes #6
[gitphp.git] / include / git / taglist / TagListLoad_Raw.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
52
53
54
55
56
<?php
/**
 * Tag list load strategy using raw objects
 *
 * @author Christopher Han <xiphux@gmail.com>
 * @copyright Copyright (c) 2012 Christopher Han
 * @package GitPHP
 * @subpackage Git\TagList
 */
class GitPHP_TagListLoad_Raw extends GitPHP_RefListLoad_Raw 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 array($this->GetRefs($tagList, 'tags'), array());
        }
 
        /**
         * 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;
 
                if (empty($order))
                        return;
 
                $tags = $tagList->GetTags();
 
                /* TODO add different orders */
                if ($order == '-creatordate') {
                        @usort($tags, array('GitPHP_Tag', 'CompareCreationEpoch'));
                }
 
                if ((($count > 0) && (count($tags) > $count)) || ($skip > 0)) {
                        if ($count > 0)
                                $tags = array_slice($tags, $skip, $count);
                        else
                                $tags = array_slice($tags, $skip);
                }
 
                return $tags;
        }
}
 
comments