Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?PHP
2
/**
3
 * Model for a list of member messages
4
 *
5
 * $Id: MemberMessageList.php,v 1.2 2005/01/11 23:51:29 luckec Exp $
6
 *
7
 * @package Services_Ebay
8
 * @author  Carsten Lucke <luckec@php.net>
9
 */
10
class Services_Ebay_Model_MemberMessageList extends Services_Ebay_Model implements IteratorAggregate
11
{
12
   /**
13
    * member messages
14
    *
15
    * @var  array
16
    */
17
    private $messages = array();
18
 
19
    /**
20
     * Total number of entries being retrieved.
21
     *
22
     * @var integer
23
     */
24
    private $entries = 0;
25
 
26
    /**
27
     * Total number of pages in the retrieval.
28
     *
29
     * @var integer
30
     */
31
    private $pages = 0;
32
 
33
    /**
34
     * Whether or not there are more messages left to retrieve.
35
     *
36
     * @var boolean
37
     */
38
    private $moreItems = false;
39
 
40
   /**
41
    * create new feedback model
42
    *
43
    * @param    array   feedback
44
    */
45
    public function __construct($messages, $session = null)
46
    {
47
        $this->moreItems = (boolean)$messages['MoreItems'];
48
        $this->pages = (integer)$messages['TotalNumberOfPages'];
49
        $this->entries = (integer)$messages['TotalNumberOfEntries'];
50
 
51
        if (isset($messages['MemberMessages']['MemberMessage'])) {
52
            if (!isset($messages['MemberMessages']['MemberMessage'][0])) {
53
                $messages['MemberMessages']['MemberMessage'] = array($messages['MemberMessages']['MemberMessage']);
54
            }
55
            foreach ($messages['MemberMessages']['MemberMessage'] as $tmp) {
56
                array_push($this->messages, Services_Ebay::loadModel('MemberMessage', $tmp, $session));
57
            }
58
        	unset($messages['MemberMessages']);
59
        }
60
        parent::__construct($messages);
61
    }
62
 
63
   /**
64
    * iterate through the transactions
65
    *
66
    * @return array
67
    */
68
    public function getIterator()
69
    {
70
        return new ArrayObject($this->messages);
71
    }
72
 
73
    /**
74
     * Returns the total number of pages in the retrieval.
75
     *
76
     * @return integer total number of pages in the retrieval
77
     */
78
    public function getNumberOfPages() {
79
        return $this->pages;
80
    }
81
 
82
    /**
83
     * Returns the total number of entries being retrieved.
84
     *
85
     * @return integer total number of entries being retrieved
86
     */
87
    public function getNumberOfEntries() {
88
        return $this->entries;
89
    }
90
 
91
    /**
92
     * Determines whether or not there are more messages left to retrieve.
93
     *
94
     * @return boolean whether or not there are more messages left to retrieve
95
     */
96
    public function hasMoreItems() {
97
        return $this->moreItems;
98
    }
99
}
100
?>