public function comentar($tipoRaiz, $idRaiz) { $vdt = new Validate\Validator(); $vdt->addRule('idRaiz', new Validate\Rule\NumNatural())->addRule('tipoRaiz', new Validate\Rule\InArray(['Propuesta', 'Problematica', 'Comentario', 'ParrafoDocumento', 'Novedad', 'Evento']))->addRule('cuerpo', new Validate\Rule\MinLength(4))->addRule('cuerpo', new Validate\Rule\MaxLength(2048))->addFilter('tipoRaiz', 'ucfirst'); $req = $this->request; $data = array_merge($req->post(), ['idRaiz' => $idRaiz, 'tipoRaiz' => $tipoRaiz]); if (!$vdt->validate($data)) { throw new TurnbackException($vdt->getErrors()); } $comentable = call_user_func($vdt->getData('tipoRaiz') . '::findOrFail', $vdt->getData('idRaiz')); if ($vdt->getData('tipoRaiz') == 'Comentario' && $comentable->comentable_type == 'Comentario') { throw new TurnbackException('No puede responderse una respuesta.'); } $autor = $this->session->getUser(); $comentario = new Comentario(); $comentario->cuerpo = $vdt->getData('cuerpo'); $comentario->autor()->associate($autor); $comentario->comentable()->associate($comentable); $comentario->save(); $raiz = $comentable->raiz; $raiz->contenido()->increment('puntos', 3); $autor->increment('puntos', 5); $log = UserlogCtrl::createLog('newComenta', $autor->id, $raiz); NotificacionCtrl::createNotif($raiz->contenido->autor_id, $log); $this->flash('success', 'Su comentario fue enviado exitosamente.'); $this->redirect($req->getReferrer()); }
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new Comentario(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Comentario'])) { $model->attributes = $_POST['Comentario']; if ($model->save()) { $this->redirect(array('view', 'id' => $model->id)); } } $this->render('create', array('model' => $model)); }
public function postComentar() { $rules = array('textoComentario' => 'required'); $validator = Validator::make(Input::get('Comentario'), $rules); if (Input::get('post') != 2) { if ($validator->fails()) { return Redirect::back()->with('error_messages', $validator->messages())->with('alert-class', 'alert-danger')->withInput(); } else { $Comentario = new Comentario((array) Input::get('Comentario')); $Comentario->save(); return Redirect::back()->with('success_messages', 'Comentario publicado')->with('alert-class', 'alert-success'); } } else { if ($validator->fails()) { return Redirect::back()->with('error_messages', $validator->messages())->with('alert-class', 'alert-danger')->withInput(); } else { Comentario::find(Input::get('Comentario')['id'])->update(Input::get('Comentario')); return Redirect::back()->with('success_messages', 'Comentario publicado')->with('alert-class', 'alert-success'); } } }
public function validaComentario() { $validador = Comentario::valida(); if ($validador->passes()) { $mensaje = Input::get('mensaje'); //$mensaje = str_replace(array("<pre>", "</pre>"), array("<pre><![CDATA[", "]]></pre>"), $mensaje); $mensaje = Purifier::clean($mensaje); $mensaje = Utilidades::fluzo_nl2br($mensaje); if (Input::get('boton') === 'Vista previa') { return Redirect::to(Request::path() . '#vista-previa')->withInput()->with(array('mensaje' => $mensaje, 'vista_previa' => true)); } elseif (Input::get('boton') === 'Enviar') { $comentario = new Comentario(); $comentario->autor = Input::get('nombre'); $comentario->cuerpo = $mensaje; $comentario->articulo_id = Input::get('articulo_id'); $comentario->save(); return Redirect::to(Request::path() . '#confirmacion')->with('confirmacion', 'Comentario enviado, se publicara cuando sea revisado, gracias.'); } } else { return Redirect::to(Request::path() . '#error')->withErrors($validador)->withInput(); } }
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model=new Comentario; // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if(isset($_POST['Comentario'])) { $model->attributes=$_POST['Comentario']; $model->dtcom = 'now()'; if($model->save()) $this->redirect(array( '//page/index', 'id'=>$model->idevento ) ); } $this->render('create',array( 'model'=>$model, )); }
/*$subcomentario = new Subcomentario; $subcomentario->idPost = Input::get('id'); $subcomentario->idAlias = Session::get('usuario')->idAlias; $subcomentario->texto = Input::get('texto'); $subcomentario->tipo = Input::get('texto'); if($subcomentario->save()) return Array('usuario' => Session::get('usuario')->nombre, 'created_at' => $subcomentario->created_at);*/ return 1; }); Route::post('/comentario/{id}', function ($id) { $comentario = new Comentario(); $comentario->idPerfil = $id; $comentario->idAlias = Session::get('usuario')->idAlias; $comentario->comentario = Input::get('texto'); if ($comentario->save()) { return 1; } return 0; }); Route::get('/comentariopost/{id}/{tipo}', function ($id, $tipo) { $comm_posts = DB::select(DB::raw("\n\t\t\t\t\t\t\t\t\t\tSELECT a.idComentarioPost, a.comentario, b.nombre usuario, a.created_at \n\t\t\t\t\t\t\t\t\t\tFROM comentarios_posts a\n\t\t\t\t\t\t\t\t\t\tINNER JOIN alias b\n\t\t\t\t\t\t\t\t\t\tON a.idAlias = b.idAlias\n\t\t\t\t\t\t\t\t\t\tWHERE a.idPost = {$id}\n\t\t\t\t\t\t\t\t\t\tAND a.tipo = {$tipo}\n\t\t\t\t\t\t\t\t\t\tORDER BY a.created_at DESC\n\t\t\t\t\t\t\t\t\t")); return $comm_posts; }); Route::post('/comentariopost/{id}/{tipo}', function ($id, $tipo) { $comentariopost = new ComentarioPost(); $comentariopost->idAlias = Session::get('usuario')->idAlias; $comentariopost->idPost = $id; $comentariopost->comentario = Input::get('texto'); $comentariopost->tipo = $tipo; if ($comentariopost->save()) {
$promedioPuntaje = round($puntaje / $calificacionLibro->count(), 1); $html = "<b>Puntaje actual: " . $promedioPuntaje . " <a href='#' title='Puntaje actual " . $promedioPuntaje . "'>★</a></b>"; echo json_encode(array('html' => $html)); break; case "bloquear": $libro = LibroQuery::create()->findOneById($datos->libro); $libro->setDebaja("s"); include 'notificacion_data.php'; $mesajeNotificacion = "Tu libro '" . $libro->getNombre() . "' ha sido bloqueado por el administrador."; guardarNotificacion($libro->getId_usuario(), $mesajeNotificacion, 9); $libro->save(); echo json_encode(array('msg' => "Libro bloqueado correctamente.")); break; case "verificar": $libro = LibroQuery::create()->findOneById($datos->libro); $libro->setEstado("v"); include 'notificacion_data.php'; $mesajeNotificacion = "<span onclick=\"refreshDivs('cuerpocentro','pages/layout/perfillibro.php?id=" . $datos->libro . "')\">Tu libro '" . $libro->getNombre() . "' ha sido marcado como verificado por el administrador.</span>"; guardarNotificacion($libro->getId_usuario(), $mesajeNotificacion, 10); $libro->save(); echo json_encode(array('msg' => "Libro verificado correctamente.")); break; case "nuevo_comentario": $comentario = new Comentario(); $comentario->setId_usuario($_SESSION['userid']); $comentario->setId_libro($datos->libro); $comentario->setComentario($datos->comentario); $comentario->save(); echo json_encode(array('error' => 0, 'msg' => "Comentario ingresado correctamente ")); break; }
public function submit_registrar_comentario() { if (Auth::check()) { $data["inside_url"] = Config::get('app.inside_url'); $data["user"] = Session::get('user'); $data["permisos"] = Session::get('permisos'); if (in_array('side_mis_eventos', $data["permisos"])) { $ideventos = Input::get('ideventos'); $asistencia = Asistencia::validarAsistencia($data["user"]->id, $ideventos)->get(); if ($asistencia->isEmpty()) { Session::flash('error', 'Lo sentimos, no tiene acceso a ver el evento solicitado.'); return Redirect::to('eventos/mis_eventos'); } $data["evento_info"] = Evento::searchEventosById($ideventos)->get(); if ($data["evento_info"]->isEmpty()) { Session::flash('error', 'No se encontró el evento.'); return Redirect::to('eventos/mis_eventos'); } $data["evento_info"] = $data["evento_info"][0]; $data["hoy"] = date("Y-m-d H:i:s"); $idasistencia_ninhos = Input::get('idasistencia_ninhos'); $idcomentarios = Input::get('idcomentarios'); $calificaciones = Input::get('calificaciones'); $comentarios = Input::get('comentarios'); for ($i = 0; $i < count($idasistencia_ninhos); $i++) { if (empty($idcomentarios[$i])) { $comentario = new Comentario(); $comentario->idusers = $data["user"]->id; $comentario->idasistencia_ninhos = $idasistencia_ninhos[$i]; $comentario->comentario = $comentarios[$i]; $comentario->calificacion = $calificaciones[$i]; $comentario->save(); } else { $comentario = Comentario::find($idcomentarios[$i]); $comentario->comentario = $comentarios[$i]; $comentario->calificacion = $calificaciones[$i]; $comentario->save(); } } // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se registraron comentarios sobre los niños en el evento con id {{$ideventos}}"; Helpers::registrarLog(3, $descripcion_log); Session::flash('message', 'Se registraron correctamente los comentarios.'); return Redirect::to('eventos/registrar_comentario/' . $ideventos); } else { // Llamo a la función para registrar el log de auditoria $descripcion_log = "Se intentó acceder a la ruta '" . Request::path() . "' por el método '" . Request::method() . "'"; Helpers::registrarLog(10, $descripcion_log); Session::flash('error', 'Usted no tiene permisos para realizar dicha acción.'); return Redirect::to('/dashboard'); } } else { return View::make('error/error'); } }
public function comment($attendance_children_id) { // validar si el id es de un registro existente $asistencia_ninho = \AsistenciaNinho::find($attendance_children_id); if (!$asistencia_ninho) { return Response::json(['error' => 'No existe un registro de asistencia con id = ' . $attendance_children_id], 200); } $rules = array('message' => 'required', 'face' => 'required'); $validator = \Validator::make(Input::all(), $rules); if ($validator->fails()) { return Response::json(['error' => 'Los parámetros message y face son obligatorios.'], 200); } // verificar si el usuario ya le comento al niño $auth_token = \Request::header('authorization'); $user = \User::where('auth_token', '=', $auth_token)->first(); $comentario = \Comentario::getComentarioPorUserPorNinhos($user->id, $attendance_children_id)->first(); if ($comentario) { $comentario->comentario = Input::get('message'); $comentario->calificacion = Input::get('face'); $comentario->save(); } else { $nuevo_comentario = new \Comentario(); $nuevo_comentario->comentario = Input::get('message'); $nuevo_comentario->calificacion = Input::get('face'); $nuevo_comentario->idusers = $user->id; $nuevo_comentario->idasistencia_ninhos = $attendance_children_id; $nuevo_comentario->save(); } // armar la respuesta // verificar si tiene permiso para leer todos los comentarios del niño $idpermisos = \User::getPermisosPorUsuarioId($user->id)->get()->lists('idpermisos'); if (!in_array(33, $idpermisos)) { return Response::json(['success' => 1], 200); } $n = \Ninho::find($asistencia_ninho->idninhos); // genero $genero = null; if ($n->genero == 'm' || $n->genero == 'M') { $genero = 0; } elseif ($n->genero == 'f' || $n->genero == 'F') { $genero = 1; } // edad $from = new \DateTime($n->fecha_nacimiento); $to = new \DateTime('today'); $edad = $from->diff($to)->y; // obtener todos los comentarios hechos al niño en todas las sesiones $lista_comentarios = []; $asistencias = \AsistenciaNinho::where('idninhos', '=', $n->idninhos)->get(); foreach ($asistencias as $a) { $comentarios = \Comentario::where('idasistencia_ninhos', '=', $a->idasistencia_ninhos)->get(); foreach ($comentarios as $c) { $autor = \User::searchUserById($c->idusers)->first(); $perfiles = \User::getPerfilesPorUsuario2($autor->id)->get(); $perfiles_array = []; foreach ($perfiles as $perfil) { $perfiles_array[] = ['id' => $perfil->idperfiles, 'name' => $perfil->nombre]; } $lista_comentarios[] = ['id' => $c->idcomentarios, 'session_id' => $a->ideventos, 'message' => $c->comentario, 'face' => (int) $c->calificacion, 'author' => ['id' => $autor->id, 'names' => $autor->nombres, 'last_name' => $autor->apellido_pat, 'username' => $autor->num_documento, 'profiles' => $perfiles_array]]; } } $response = ['success' => 1, 'id' => $n->idninhos, 'names' => $n->nombres, 'last_name' => $n->apellido_pat, 'gender' => $genero, 'age' => $edad, 'sessions' => $asistencias->count(), 'joining_date' => strtotime($n->created_at), 'comments' => $lista_comentarios]; return Response::json($response, 200); }
public function actionComment() { $model=new Comentario; // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if(isset($_POST['Comentario'])) { $model->attributes=$_POST['Comentario']; $model->dtcom = new CDbExpression('NOW()'); $model->idcomentario = 0; echo $model->evento_idevento; if($model->save()) $this->redirect(array( '//pagevento/index', 'id'=>$model->evento_idevento ) ); } $this->redirect(array( '//pageevento/index', 'id'=>$model->evento_idevento ) ); }