Subversion Repositories instagram

[/] [classes/] [ezig_photos.php] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 ffruehstueck
<?php
2 4 ffruehstueck
/*
3
 * When running the cronjob instagrams photo information will be stored locally in the ezpublish database
4
 * In a second step the images are fetched and the corresponding image contentobject_id is stored to the eZIGPhoto
5
 */
6 2 ffruehstueck
class eZIGPhotos extends eZPersistentObject
7
{
8
        function eZIGPhotos( $row )
9
        {
10
                $this->PersistentDataDirty = false;
11
                if ( is_numeric( $row ) )
12
                $row = $this->fetch( $row, false );
13
                $this->fill( $row );
14
        }
15
 
16
        static function definition()
17
        {
18
                return array ("fields" => array (
19
                        "created_time" => array ('name' => 'created_time', 'datatype' => 'integer', 'default' => 0, 'required' => true ),
20
                        "link" => array ('name' => "link", 'datatype' => 'string', 'default' => '', 'required' => true ),
21
                        "likes_count" => array ('name' => "likes_count", 'datatype' => 'int', 'default' => 0, 'required' => true ),
22
                        "images" => array ('name' => "images", 'datatype' => 'text', 'default' => '', 'required' => true ),
23
                        "id" => array ('name' => "id", 'datatype' => 'string', 'default' => '', 'required' => true ),
24
                        "caption" => array ('name' => "caption", 'datatype' => 'string', 'default' => '', 'required' => false ),               
25
                        "tags" => array ('name' => "tags", 'datatype' => 'text', 'default' => '', 'required' => false ),               
26
                        "user_id" => array ('name' => "user_id", 'datatype' => 'integer', 'default' => 0, 'required' => true ),
27
                        "contentobject_id" => array (
28
                                                                        'name' => "contentobject_id",
29
                                                                        'datatype' => 'integer',
30
                                                                        'default' => '0',
31
                                                                        'required' => false,
32
                                    'foreign_class' => 'eZContentObject',
33
                                    'foreign_attribute' => 'id',
34
                                                                        'multiplicity' => '1..*'
35
                                                                        )              
36
                ),
37
                'function_attributes' => array( 'contentobject' => 'contentObject' ),
38
 
39
                "keys" => array( "id" ),
40
                "class_name" => "eZIGPhotos",
41
                "name" => "ezig_photos" );
42
        }
43
        static function fetch( $id, $asObject = true )
44
        {
45
                return eZPersistentObject::fetchObject( eZIGPhotos::definition(),
46
                null,
47
                array( "id" => $id ),
48
                $asObject );
49
        }
50
 
51
 
52
        static function fetchAll(  $asObject = true )
53
    {
54
        return eZPersistentObject::fetchObjectList( eZIGPhotos::definition(),
55
                                                    null,
56
                                                    null,
57
                                                    array( "created_time" => "desc" ), null,
58
                                                    $asObject );
59
 
60
 
61
    }  
62
 
63
 
64
        static function fetchAllUnimported(  $asObject = true )
65
    {
66
        return eZPersistentObject::fetchObjectList( eZIGPhotos::definition(),
67
                                                    null,
68
                                                    array("contentobject_id" => array( '=', 0 ) ),
69
                                                    array( "created_time" => "desc" ), null,
70
                                                    $asObject );
71
 
72
 
73
    }  
74
 
75
        static function fetchAllByLikes(  $asObject = true )
76
    {
77
        return eZPersistentObject::fetchObjectList( eZIGPhotos::definition(),
78
                                                    null,
79
                                                    null,
80
                                                    array( "likes_count" => "asc" ), null,
81
                                                    $asObject );
82
 
83
 
84
    }  
85
 
86
        static function fetchAllByUser( $userID = null, $offset = 0, $limit = 10, $asObject = true )
87
    {
88
        if( $userID != NULL )
89
                return eZPersistentObject::fetchObjectList( eZIGPhotos::definition(),
90
                                                    null,
91
                                                    array( "user_id" => $userID ),
92
                                                    array( "created_time" => "desc" ),
93
                                                    array( 'offset' => $offset,
94
                                                           'length' => $limit ),
95
                                                    $asObject );
96
 
97
 
98
    }
99
 
100
 
101
        static function fetchCountByUser( $userID = null )
102
    {
103
        if( $userID != NULL )
104
                return eZPersistentObject::count( eZIGPhotos::definition(), array( "user_id" => $userID ) );
105
 
106
                return false;          
107
 
108
    }  
109
 
110
 
111
        function contentObject()
112
        {
113
                if ( isset( $this->contentobject_id ) and $this->contentobject_id )
114
                {
115
                        return eZContentObject::fetch( $this->contentobject_id );
116
                }
117
                //return 0;
118
        }
119
 
120
}