<?php

$app->delete('/borrarmensaje/:id', function ($id) use($app) {
    $db = $app->db->getConnection();
    $mensaje = Mensaje::find($id);
    if (empty($mensaje)) {
        $app->render(404, array('error' => TRUE, 'msg' => 'El mensaje no existe.'));
    }
    $mensaje->delete();
    $app->render(200);
});
 public function delete($id)
 {
     $mensaje = Mensaje::find($id);
     $mensaje->delete();
     return Redirect::back();
 }
 public function postComunicacion()
 {
     $data = Input::all();
     if (!empty($data['envioEnMasa'])) {
         // mensaje enviado por libre para muchos grupos
         DB::beginTransaction();
         for ($i = 0; $i < count($data['nivelesSelecciondos']); $i++) {
             $idMensaje = DB::table("mensajes")->insertGetId(array('activista_id' => $this->userID, 'asunto' => array_key_exists('asunto', $data) ? $data['asunto'] : "", 'mensaje' => array_key_exists('mensaje', $data) ? $data['mensaje'] : "", 'estado' => 1, 'activo' => 1, 'cargo_id' => $data['nivelesSelecciondos'][$i], 'created_at' => date('Y-m-d H:i:s'), 'archivo_id' => array_key_exists('archivo_id', $data) ? $data['archivo_id'] : ""));
         }
         // registra la respuesta automaticamente
         /*$id = DB::table("respuestas")->insertGetId(array(
               'mensaje_id' => $idMensaje,
               'respondido_por' => $this->userID,
               'respondido_at' => date('Y-m-d H:i:s'),
               'respuesta' => $data['respuesta'],
               'cargo_id' => $data['acceso'],
               'estado' => 1,
               'created_at'=> date('Y-m-d H:i:s'),
           ));*/
         DB::commit();
         // @todo : agregar el guardar accesos cuando se haga para paginas , grupo de personas , etc
         // array $data['nivelesSelecciondos'] solo ids
         $results = array("code" => "ok", "message" => "Mensaje Enviado");
     } elseif (!empty($data['editar'])) {
         DB::beginTransaction();
         $id = 0;
         $mensajeAux = "";
         $mensaje = "";
         for ($i = 0; $i < count($data['nivelesSelecciondos']); $i++) {
             if ($i == 0) {
                 $mensajeAux = Mensaje::find($data['id']);
                 $mensajeAux->estado = 1;
                 $mensajeAux->archivo_id = array_key_exists('archivo_id', $data) ? $data['archivo_id'] : "";
                 $mensajeAux->reponsed_at = date('Y-m-d H:i:s');
                 $mensajeAux->updated_at = date('Y-m-d H:i:s');
                 $mensajeAux->cargo_id = $data['nivelesSelecciondos'][$i];
                 $mensajeAux->save();
                 $id = $mensajeAux->id;
             } else {
                 $mensaje = new Mensaje();
                 $mensaje->activista_id = $mensajeAux->activista_id;
                 $mensaje->asunto = $mensajeAux->asunto;
                 $mensaje->mensaje = $mensajeAux->mensaje;
                 $mensaje->estado = 1;
                 $mensaje->activo = 1;
                 $mensaje->archivo_id = array_key_exists('archivo_id', $data) ? $data['archivo_id'] : "";
                 $mensaje->reponsed_at = date('Y-m-d H:i:s');
                 $mensaje->updated_at = date('Y-m-d H:i:s');
                 $mensaje->cargo_id = $data['nivelesSelecciondos'][$i];
                 $mensaje->save();
                 $id = $mensaje->id;
             }
             $id = DB::table("respuestas")->insertGetId(array('mensaje_id' => $id, 'respondido_por' => $this->userID, 'respondido_at' => date('Y-m-d H:i:s'), 'respuesta' => $data['respuesta'], 'cargo_id' => $data['nivelesSelecciondos'][$i], 'archivo_id' => array_key_exists('respuesta_archivo_id', $data) ? $data['respuesta_archivo_id'] : "", 'estado' => 1, 'created_at' => date('Y-m-d H:i:s')));
         }
         DB::commit();
         $results = array("code" => "ok", "message" => "Datos correctamente guardados");
     } else {
         $id = DB::table("mensajes")->insertGetId(array('activista_id' => $this->userID, 'asunto' => array_key_exists('asunto', $data) ? $data['asunto'] : "", 'mensaje' => array_key_exists('mensaje', $data) ? $data['mensaje'] : "", 'estado' => 0, 'activo' => 1, 'created_at' => date('Y-m-d H:i:s'), 'archivo_id' => array_key_exists('archivo_id', $data) ? $data['archivo_id'] : ""));
         if ($id) {
             // @todo manejar errores
             $results = array("code" => "ok", "message" => "Datos correctamente guardados");
         }
     }
     return Response::json($results);
 }