Changeset 6559


Ignore:
Timestamp:
06/21/12 09:09:40 (12 years ago)
Author:
acoutinho
Message:

Ticket #2766 - Criacao de recurso unico para contatos dos usuario

Location:
trunk/prototype
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/config/Tonic.srv

    r6528 r6559  
    1414ContactResource = /catalog/ContactResource.php 
    1515 
     16[/sharedcontact/:id] 
     17SharedContactsResource = /catalog/SharedContactResource.php 
     18 
    1619[/groups] 
    1720GroupsResource = /catalog/GroupsResource.php 
     
    2023GroupResource = /catalog/GroupResource.php 
    2124 
     25[/sharedgroup/:id] 
     26SharedGroupsResource = /catalog/SharedGroupResource.php 
     27 
    2228[/dynamiccontacts] 
    2329DynamicContactsResource = /catalog/DynamicContactsResource.php 
     
    2531[/dynamiccontact/:id] 
    2632DynamicContactResource = /catalog/DynamicContactResource.php 
     33 
     34[/usercontacts] 
     35UserContactsResource = /catalog/UserContactsResource.php 
  • trunk/prototype/rest/hypermedia/collection.php

    r6528 r6559  
    88include_once('error.php'); 
    99/* 
    10 Valores padrão 
     10  Valores padrão 
    1111 
    12 Números são enviados como números, sem aspas; 
    13 Atributos não obrigatórios sem valor serão nulos; 
    14 Strings vazias serão nulos; 
    15 Todos os indices / chaves estarão sempre presentes na mensagem; 
    16 Arrays vazios serão nulos; 
    17 Objetos vazios serão nulos; 
    18 Números sem valor serão nulos; 
    19 valores booleanos são escritos como booleanos (sem aspas); 
    20 */ 
     12  Números são enviados como números, sem aspas; 
     13  Atributos não obrigatórios sem valor serão nulos; 
     14  Strings vazias serão nulos; 
     15  Todos os indices / chaves estarão sempre presentes na mensagem; 
     16  Arrays vazios serão nulos; 
     17  Objetos vazios serão nulos; 
     18  Números sem valor serão nulos; 
     19  valores booleanos são escritos como booleanos (sem aspas); 
     20 */ 
     21 
    2122class Collection { 
    2223 
     
    3435        foreach ($config as $key => $value) { 
    3536            if ($value['class'] == $className) { 
    36                 $uri = ($id ? (preg_replace('/\/[:][a-zA-Z-0-9]+/', '', $key).'/'.$id ) : $key); 
     37                $uri = ($id ? (preg_replace('/\/[:][a-zA-Z-0-9]+/', '', $key) . '/' . $id ) : $key); 
    3738                break; 
    3839            } 
     
    4142    } 
    4243 
    43         function addLink($link) { 
     44    function addLink($link) { 
    4445        $this->links[] = $link; 
    4546    } 
    46          
     47 
    4748    function addItem($item) { 
    4849        $this->itens[] = $item; 
    4950    } 
    50          
    51         function addData($data) { 
     51 
     52    function addData($data) { 
    5253        $this->data[] = $data; 
    5354    } 
     
    5657        return $this->data; 
    5758    } 
    58      
     59 
    5960    function setTemplate($template) { 
    6061        $this->template = $template; 
  • trunk/prototype/rest/hypermedia/hypermedia.php

    r6528 r6559  
    1616    } 
    1717 
    18     function getHypermedia($accept = 'json') { 
     18    function toUtf8($data) { 
    1919 
    20         $data = get_object_vars($this); 
     20        if (!is_array($data)) 
     21            return  is_string($data) ? mb_convert_encoding($data, 'UTF-8', 'UTF-8 , ISO-8859-1') : $data; 
    2122 
    22         switch ($accept) { 
    23             case 'json': 
    24                 return json_encode($data); 
    25                 break; 
    26             case 'xml': 
    27                 return $this->generateValidXmlFromArray($data); 
    28             default : 
    29                 return json_encode($data); 
     23        $return = array(); 
     24 
     25        foreach ($data as $i => &$v){ 
     26            if(is_object($v)) 
     27                $v = get_object_vars($v); 
     28            $return[$this->toUtf8($i)] = $this->toUtf8($v); 
    3029        } 
     30        return $return; 
    3131    } 
    3232 
     
    6464    } 
    6565 
     66    function getHypermedia($accept = 'json') { 
     67 
     68        $data = $this->toUtf8(get_object_vars($this)); 
     69 
     70        switch ($accept) { 
     71            case 'json': 
     72                return json_encode($data); 
     73                break; 
     74            case 'xml': 
     75                return $this->generateValidXmlFromArray($data); 
     76            default : 
     77                return json_encode($data); 
     78        } 
     79    } 
     80 
    6681} 
    6782 
  • trunk/prototype/rest/hypermedia/item.php

    r6528 r6559  
    44 
    55    public $href; 
     6    public $dataType; 
    67    public $data = array(); 
    78    public $links = array(); 
     
    1617        } 
    1718        $this->href = $uri .'/'. $id; 
     19        $this->dataType = $uri; 
     20    } 
     21     
     22    function setDataType($dataType) { 
     23        $this->dataType = $dataType; 
     24    } 
     25 
     26    function getDataType() { 
     27        return $this->dataType; 
    1828    } 
    1929 
Note: See TracChangeset for help on using the changeset viewer.