source: sandbox/2.4.1-3/prototype/modules/catalog/interceptors/DBMapping.php @ 6455

Revision 6455, 3.4 KB checked in by gustavo, 12 years ago (diff)

Ticket #2768 - Adicionados comentarios e adicionados dados

  • Property svn:executable set to *
Line 
1 <?php
2
3//Definindo Constantes
4require_once ROOTPATH . '/modules/catalog/constants.php';
5
6//require_once ROOTPATH . '/modules/calendar/interceptors/Helpers.php';
7
8use prototype\api\Config as Config;
9
10    /**
11     * Métodos que são chamados conforme definições no arquivo contact.ini & contactGroup.ini
12     *
13     * @license    http://www.gnu.org/copyleft/gpl.html GPL
14     * @author     Consórcio Expresso Livre - 4Linux (www.4linux.com.br) e Prognus Software Livre (www.prognus.com.br)
15     * @sponsor    Caixa Econômica Federal
16     * @author     José Vicente Tezza Jr. e Gustavo Pereira dos Santos Stabelini
17     * @return     Métodos que são chamados conforme definições no arquivo contact.ini & contactGroup.ini
18     * @access     public
19     * */
20         
21class DBMapping {
22
23
24    public function findConnections(&$uri, &$params, &$criteria, $original) {
25
26                if(count($params)>0 && isset($params[0]['id'])){
27                        for($i=0; $i < count($params); $i++){
28                                //Retorna o telefone e o e-mail padrao de um determinado contato
29                                $sql = ' SELECT phpgw_cc_contact_conns.id_typeof_contact_connection as type, phpgw_cc_connections.connection_value as value '
30                                        .'FROM phpgw_cc_contact_conns '
31                                        .'JOIN phpgw_cc_connections '
32                                        .'ON (phpgw_cc_connections.id_connection = phpgw_cc_contact_conns.id_connection) '
33                                        .'WHERE phpgw_cc_contact_conns.id_contact = ' . $params[$i]['id'] . ' AND '
34                                        .'phpgw_cc_connections.connection_is_default = TRUE ';
35
36                                $array = Controller::service('PostgreSQL')->execResultSql($sql);
37                                if(count($array)>0){
38                                        foreach($array as $connection){
39                                                switch($connection['type']){
40                                                        case TYPE_EMAIL         : $params[$i][INDEX_EMAIL]      = $connection['value']; break;
41                                                        case TYPE_TELEPHONE     : $params[$i][INDEX_TELEPHONE]  = $connection['value']; break;
42                                                        default                 : $params[$i][INDEX_EMAIL] = $params[$i][INDEX_TELEPHONE] = '';
43                                                }
44
45                                        }
46                                }
47                                else{
48                                        $params[$i][INDEX_EMAIL] = $params[$i][INDEX_TELEPHONE] = '';
49                                }
50                        }
51                }
52    }
53
54        public function findGroupConnections(&$uri, &$params, &$criteria, $original) {
55
56                if(count($params)>0 && isset($params[0]['id'])){
57                $z = 0;
58                $count = count($params);
59                for($i=0; $i < $count; $i++){
60                                //Retorna o telefone e o e-mail padrao de um determinado contato
61                                $sql = 'SELECT contato.names_ordered as name, contato.id_contact as id, conexao.connection_value as value '
62                                        .'FROM phpgw_cc_groups grupo '
63                                        .'JOIN phpgw_cc_contact_grps grupo_contato '
64                                        .'ON (grupo.id_group = grupo_contato.id_group) '
65                                        .'JOIN phpgw_cc_connections conexao '
66                                        .'ON (grupo_contato.id_connection = conexao.id_connection) '
67                                        .'JOIN phpgw_cc_contact_conns conexaoCon '
68                                        .'ON (conexao.id_connection = conexaoCon.id_connection) '
69                                        .'JOIN phpgw_cc_contact contato '
70                                        .'ON (contato.id_contact = conexaoCon.id_contact) '
71                                        .'WHERE grupo.id_group = ' . $params[$i]['id'] . ' AND '
72                                        .'conexao.connection_is_default = TRUE';
73
74                                $array = Controller::service('PostgreSQL')->execResultSql($sql);
75
76                                if(count($array)>0){
77                                        $params[$i]['contacts'][$z] = array();
78                                        foreach($array as $connection){
79                                                $params[$i]['contacts'][$z]['id'] = $connection['id'];         
80                                                $params[$i]['contacts'][$z]['name'] = $connection['name'];                                                     
81                                                $params[$i]['contacts'][$z][INDEX_EMAIL] = $connection['value'];                                                       
82                                                $z++;
83                                        }
84                                }
85                                else{                                   
86                                        $params[$i]['contacts'] = null;
87                                }
88                        }
89                }
90    }
91       
92}
93
94?>
Note: See TracBrowser for help on using the repository browser.