case 4: echo '<div class="notificacion_error"><b>Ha ocurrido un problema eliminando la publicación.</b> Inténtalo de nuevo.</div>'; break; case 5: echo '<div class="notificacion_error"><b>No tienes permiso para realizar esta acción.</b>' . ' Esto es debido a que no eres el autor de la publicación o no eres un administrador de la página.</div>'; break; } // Empezamos a mostrar la publicación. echo '<article id="publicacion_' . $id_publicacion . '" class="caja_lectura_publicacion">'; echo '<header><h1 class="titulo_publicacion">' . $publicacion['titulo'] . '</h1>'; // Si el autor es Anónimo, no se le pone un enlace a la página de su perfil. if ($publicacion['nombre'] == 'Anónimo') { echo '<h2 class="datos_publicacion">' . tratarCategoria($publicacion['categoria']) . ' - Escrito el ' . $publicacion['fecha'] . ' por <a>' . $publicacion['nombre'] . '</a></h2>'; // Si el autor no es anónimo, se pone un enlace para que los usuarios puedan ver su perfil y lo que ha escrito. } else { echo '<h2 class="datos_publicacion">' . tratarCategoria($publicacion['categoria']) . ' - Escrito el ' . $publicacion['fecha'] . ' por <a href="/usuario.php?id=' . $publicacion['id_autor'] . '" title="Ver perfil del autor">' . $publicacion['nombre'] . '</a></h2>'; } // Sustituímos los saltos de línea por la etiqueta '<br>' para que se muestre correctamente en la página. echo '<div class="resumen_publicacion">' . str_replace("\n", "<br>", $publicacion['resumen']) . '</div></header><hr>'; echo '<div class="contenido_publicacion">' . str_replace("\n", "<br>", $publicacion['contenido']) . '</div>'; // Comprobamos si el usuario es el mismo autor de la publicación. if ($id_usuario != "" && ($id_usuario == $publicacion['id_autor'] || $permisos_usuario == 2)) { // En caso de que lo sea, tiene derecho a 'Editar' o 'Eliminar' su publicación. echo '<div align="right">'; echo '<form action="/escribir.php" method="post" class="form_editar"><button class="boton_editar" type="submit" ' . 'name="editar" value="' . $id_publicacion . '">Editar</button><input type="hidden" name="conseguir_datos_recientes_publicacion"></form>'; echo ' <form action="/confirmar_eliminar.php" method="post" class="form_eliminar"><button class="boton_eliminar" type="submit" ' . 'name="publicacion">Eliminar</button><input type="hidden" name="id_publicacion" value="' . $id_publicacion . '" /></form></div>'; } echo '</article>'; // Sección de comentarios. Hay que buscar si hay comentarios en la base de datos. echo '<h2 id="comentarios">Comentarios</h2>'; // Mensaje de alerta sobre comentarios, dependiendo de si se ha realizado una acción con ellos.
function generarRSS() { include 'datosbd.php'; $docXml = new DOMDocument("1.0", "UTF-8"); $docXml->formatOutput = true; $rss = $docXml->createElement("rss"); $nodo_rss = $docXml->appendChild($rss); $nodo_rss->setAttribute("version", "2.0"); $channel = $docXml->createElement("channel"); $nodo_channel = $nodo_rss->appendChild($channel); $title = $docXml->createElement("title"); $nodo_title = $nodo_channel->appendChild($title); $texto_title = $docXml->createTextNode("Rebel Gamers Clan"); $nodo_title->appendChild($texto_title); $link = $docXml->createElement("link"); $nodo_link = $nodo_channel->appendChild($link); $texto_link = $docXml->createTextNode("http://rebelgamersclan.es"); $nodo_link->appendChild($texto_link); $description = $docXml->createElement("description"); $nodo_description = $nodo_channel->appendChild($description); $texto_description = $docXml->createTextNode("RSS con la actualidad de Rebel Gamers Clan"); $nodo_description->appendChild($texto_description); $error_bd = false; try { $con_bd = new mysqli($datosbd['conexion'], $datosbd['usuario1'], $datosbd['contra1'], $datosbd['nombre_bd']); } catch (Exception $e) { $error_bd = true; } if (!$error_bd) { prepararConexionUTF8($con_bd); $sent = "SELECT publicaciones.id AS id_publicacion, publicaciones.fecha, publicaciones.titulo, publicaciones.resumen," . "publicaciones.idioma, publicaciones.categoria, usuarios.id AS id_autor, usuarios.nombre FROM publicaciones " . "JOIN usuarios ON usuarios.id = publicaciones.autor ORDER BY id_publicacion DESC LIMIT 10"; $result_list_textos = $con_bd->query($sent); if ($result_list_textos) { if (mysqli_num_rows($result_list_textos) > 0) { while ($texto = $result_list_textos->fetch_assoc()) { $item = $docXml->createElement("item"); $nodo_item = $nodo_channel->appendChild($item); // Nodos dentro de cada 'item', que representa los atributos de la publicación. $title = $docXml->createElement("title"); $nodo_title = $nodo_item->appendChild($title); $texto_title = $docXml->createTextNode($texto['titulo']); $nodo_title->appendChild($texto_title); $link = $docXml->createElement("link"); $nodo_link = $nodo_item->appendChild($link); $texto_link = $docXml->createTextNode("http://rebelgamersclan.es/leer.php?id=" . $texto['id_publicacion']); $nodo_link->appendChild($texto_link); $description = $docXml->createElement("description"); $nodo_description = $nodo_item->appendChild($description); $texto_description = $docXml->createTextNode($texto['resumen']); $nodo_description->appendChild($texto_description); $objFecha = new DateTime($texto['fecha']); $fechaRSS = $objFecha->format(DateTime::RSS); $pubDate = $docXml->createElement("pubDate"); $nodo_pubDate = $nodo_item->appendChild($pubDate); $texto_pubDate = $docXml->createTextNode($fechaRSS); $nodo_pubDate->appendChild($texto_pubDate); $author = $docXml->createElement("author"); $nodo_author = $nodo_item->appendChild($author); $texto_author = $docXml->createTextNode($texto['nombre']); $nodo_author->appendChild($texto_author); $category = $docXml->createElement("category"); $nodo_category = $nodo_item->appendChild($category); $texto_category = $docXml->createTextNode(tratarCategoria($texto['categoria'])); $nodo_category->appendChild($texto_category); $comments = $docXml->createElement("comments"); $nodo_comments = $nodo_item->appendChild($comments); $texto_comments = $docXml->createTextNode("http://rebelgamersclan.es/leer.php?id=" . $texto['id_publicacion'] . "#comentarios"); $nodo_comments->appendChild($texto_comments); $guid = $docXml->createElement("guid"); $nodo_guid = $nodo_item->appendChild($guid); $texto_guid = $docXml->createTextNode("http://rebelgamersclan.es/leer.php?id=" . $texto['id_publicacion']); $nodo_guid->appendChild($texto_guid); $nodo_guid->setAttribute("isPermaLink", "true"); } } } mysqli_close($con_bd); } $docXml->save("/var/www/rebelgamersclan/public_html/rss.xml"); }