Changeset 6578 for trunk/prototype/rest/catalog/DynamicContactsResource.php
- Timestamp:
- 06/22/12 14:47:14 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/prototype/rest/catalog/DynamicContactsResource.php
r6528 r6578 189 189 } 190 190 191 //recupera os atributos definidos no conceito 'user'191 //recuperar os atributos definidos no conceito 'user' 192 192 $map = Config::get('dynamicContact', 'PostgreSQL.mapping'); 193 193 … … 207 207 } 208 208 209 210 209 $response = new Response($request); 211 210 $response->addHeader('Content-type', 'aplication/json'); … … 220 219 221 220 try { 222 $idDynamicContact = Controller::create( 223 array('concept' => 'dynamicContact'), $params 224 ); 225 226 if (!$idDynamicContact) { 227 throw new Exception(Controller::service('PostgreSQL')->error); 228 } 221 222 //verificar o limite maximo de contatos dinamicos nas preferencias do administrador 223 $sql = "SELECT config_value ". 224 "FROM phpgw_config ". 225 "WHERE config_app = 'expressoMail1_2' ". 226 "AND config_name = 'expressoMail_Number_of_dynamic_contacts'"; 227 228 $numberOfMessages = Controller::service('PostgreSQL')->execResultSql($sql, true); 229 $numberOfMessages = (count($numberOfMessages) > 0) ? (int)$numberOfMessages['config_value'] : 0; 230 231 //realizar busca de contatos dinamicos ordenados pela data de utilizacao 232 $dynamicContacts = Controller::find(array('concept' => 'dynamicContact'), false, array('filter' => array('=', 'owner', Config::me("uidNumber")), 'order' => array('timestamp') ) ); 233 $numberOfDynamicContacts = ($dynamicContacts !== false) ? count($dynamicContacts) : 0; 234 235 236 //se a quantidade de contatos dinamicos de usuario exceder o limite maximo definido nas preferencias do administrador, 237 //remover o contato dinamico mais antigo 238 if($numberOfDynamicContacts >= $numberOfMessages){ 239 $id = $dynamicContacts[0]['id']; 240 $delete = Controller::delete(array('concept' => 'dynamicContact', 'id' => $id)); 241 242 if (!$delete) { 243 $this->createException($request, $response, Response::INTERNALSERVERERROR, 'Internal Server Error', Controller::service('PostgreSQL')->error); 244 return $response; 245 } 246 } 247 248 //inserir o novo contato dinamico 249 $create = Controller::create( array('concept' => 'dynamicContact'), $params ); 250 251 if (!$create) { 252 throw new Exception(Controller::service('PostgreSQL')->error); 253 } 254 229 255 } catch (Exception $ex) { 256 230 257 $response->code = Response::INTERNALSERVERERROR; 231 258 return $response; 232 259 } 233 234 260 $response->body = json_encode(null); 235 261
Note: See TracChangeset
for help on using the changeset viewer.