summaryrefslogtreecommitdiff
path: root/public/app/models/Content_model.php
blob: 2a79159fc4c70d4673addeb0b9cc872c107098d7 (plain)
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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<?php 
namespace app\models;

use \Registry;


class Content_model {

    ##  P E T I T I O N S
    ## -------------------------------------------------------------------------

    /** add petition
     * 
     * add petition record to the database
     * 
     * @param array $data 
     * @return int new petition-ID
     */
    public static function add_petition($data)
    {
        return Registry::use('database')->query(
            "INSERT INTO petition
                (user_id, `type_id`, `subject`, `signature`, `form_structure`)
            VALUES (:user_id, :type_id, :subject, :signature, :form_structure)",
            [
                ':user_id' => $data['user_id'],
                ':type_id' => $data['type_id'],
                ':subject' => $data['subject'],
                ':signature' => $data['signature'],
                ':form_structure' => $data['form_structure']
            ]
        )->lastInsertID();
    }


    /** set protocol
     * 
     * @param int $pid: petition ID
     * @param string $protocol: official pritocol number (full string)
     */
    public static function set_protocol($pid, $protocol)
    {
        Registry::use('database')->runQuery(
            "UPDATE petition SET protocol = :protocol WHERE id = :pid",
            [
                ':protocol' => $protocol,
                ':pid' => $pid
            ]
        );
        return true;
    }


    /** user petitions
     * 
     * get all petitions of a user;
     * 
     * @param int $uid: user id
     * @return array petition records
     */
    public static function user_petitions($uid)
    {
        $list = Registry::use('database')->runQuery(
            "SELECT * FROM petition WHERE user_id = :uid",
            [ ':uid' => $uid ]
        );

        $results = [];      // re-format results
        foreach($list as $key => $rec) {
            $results[] = [
                'id' => $rec['id'],
                'type_id' => $rec['type_id'],
                'subject' => $rec['subject'],
                'signature' => $rec['signature'],
                'protocol' => $rec['protocol'] ?? '',
                'form_structure' => unserialize($rec['form_structure'])
            ];
        }
        return $results;
    }


    /** all petitions
     * 
     * get all petitions of a user
     * 
     * @param void
     * @return array petition records
     */
    public static function all_petitions()
    {
        return Registry::use('database')->runQuery(
            "SELECT * FROM petition",
            []
        );
    }



    ##  F I L E S
    ## -------------------------------------------------------------------------

    /** files
     * return all files
     * @param void
     * @return array
     */
    public static function files()
    {
        return Registry::use('database')->runQuery("SELECT * from media", []);
    }


}