예제 #1
0
 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));
 }
예제 #3
0
 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');
         }
     }
 }
예제 #4
0
 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,
		));
	}
예제 #6
0
    /*$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()) {
예제 #7
0
        $promedioPuntaje = round($puntaje / $calificacionLibro->count(), 1);
        $html = "<b>Puntaje actual: " . $promedioPuntaje . " <a href='#' title='Puntaje actual " . $promedioPuntaje . "'>&#9733;</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
                               )
                );
           
        }