Ignore:
Timestamp:
06/25/12 11:40:46 (12 years ago)
Author:
tezza
Message:

Ticket #2766 - Acrescentado verificação na preferência de contatos dinâmicos

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/prototype/rest/catalog/DynamicContactsResource.php

    r6578 r6605  
    182182 
    183183        $this->secured(); 
    184          
     184 
     185        //verificar se a preferencia de contatos dinamicos nao esta ativada 
     186        if(!$this->isEnabledDynamicContacts(Config::me("uidNumber")) ){ 
     187                $response = new Response($request); 
     188                $this->createException($request, $response, Response::UNAUTHORIZED, 'Resource unauthorized', 'disabled dynamic contacts preference'); 
     189                return $response; 
     190        } 
     191 
     192 
    185193        if (count($_POST) == 0) { 
    186194            $response = new Response($request); 
     
    236244                //se a quantidade de contatos dinamicos de usuario exceder o limite maximo definido nas preferencias do administrador, 
    237245                //remover o contato dinamico mais antigo 
    238                 if($numberOfDynamicContacts >= $numberOfMessages){ 
     246                if($numberOfMessages > 0 && $numberOfDynamicContacts >= $numberOfMessages){ 
    239247                        $id = $dynamicContacts[0]['id']; 
    240248                        $delete = Controller::delete(array('concept' => 'dynamicContact', 'id' => $id)); 
     
    280288    } 
    281289 
     290    private function isEnabledDynamicContacts($user){ 
     291 
     292        $sql = 'SELECT preference_value '. 
     293                'FROM phpgw_preferences '. 
     294                'WHERE preference_app = \'expressoMail\' AND '. 
     295                        'preference_owner = ' . $user; 
     296 
     297        $preference = Controller::service('PostgreSQL')->execResultSql($sql, true); 
     298 
     299        if(count($preference) > 0 && isset($preference['preference_value'])){ 
     300                $preference = unserialize( $preference['preference_value'] ); 
     301 
     302                if(isset($preference['use_dynamic_contacts'])){ 
     303                        $preference = $preference['use_dynamic_contacts']; 
     304                        return ($preference == '1'); 
     305                } 
     306        } 
     307        return false; 
     308    } 
     309 
    282310} 
    283311 
Note: See TracChangeset for help on using the changeset viewer.