Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/09/2009, 16:15
gohanjaja
 
Fecha de Ingreso: junio-2008
Mensajes: 58
Antigüedad: 16 años, 7 meses
Puntos: 0
Ayuda con mi sistema de comentarios..

Buenas estoy usando un sistema de comentarios para SMF 2.0 RC 1.2

Pero no lo puedo hacer andar, osea el problema es que todavia no me muestra los comentarios, pero segun mi DB ..los comentarios ya se insertan:


Bueno en mi Sources/Display hice esto:

Código PHP:
// aca marca si hay comentarios
$sql  "
SELECT *
FROM (cw_comentarios)
WHERE id_post = $topic
"
;
$consulta=@mysql_query($sql) or die("Error, insert query failed ".mysql_error());
$context['haycom'] = mysql_fetch_assoc($request);

// aca marca cuantos comentarios hay
$sql  "
SELECT *
FROM (cw_comentarios)
WHERE id_post = $topic
"
;
$consulta2=@mysql_query($sql) or die("Error, insert query failed ".mysql_error());
$context['numcom'] =  mysql_num_rows($request);


// aca marca los comentarios
$request $smcFunc['db_query'](''"
SELECT c.comentario, c.comentario AS comentario2, c.id_post, c.id_user, mem.ID_MEMBER, mem.memberName, mem.realName, c.id_coment, c.fecha
FROM (cw_comentarios AS c, smf_members AS mem)
WHERE c.id_post = $topic AND c.id_user = mem.ID_MEMBER
ORDER BY c.id_coment ASC
"
__FILE____LINE__);
$context['comentarios'] = array();
while (
$row mysql_fetch_assoc($request))
{
$row['comentario'] = htmlspecialchars($row['comentario']);
$row['comentario'] = parse_bbc($row['comentario'], '1'$row['ID_MSG']);
$row['comentario0'] = parse_bbc($row['comentario0'], '0'$row['ID_MSG']);
censorText($row['comentario']);
censorText($row['comentario2']);

$context['comentarios'][] = array(
'comentario2' => $row['comentario2'],
'comentario' => $row['comentario'],
'citar' => $row['comentario0'],
'user' => $row['id_user'],
'nomuser' => $row['realName'],
'nommem' => $row['memberName'],
'id' => $row['id_coment'],
'fecha' => $row['fecha'],
); 
Bien eso sería lo basico para que en mi Themes/Display.template.php lo mostrara, con este código:


Código PHP:
if($context['haycom'])

{foreach (
$context['comentarios'] AS $coment){
echo
'<div id="cmt_'.$coment['id'].'"><span class="size12" font-family="Lucida Grande,Arial,Verdana,Sans-Serif;">';
// eliminar cmt
if ($message['can_remove'])
echo
'<input type="checkbox" name="campos['.$coment['id'].']">';


$mesesano2 = array("1","2","3","4","5","6","7","8","9","10","11","12") ;
$diames2 date(j,$coment['fecha']); $mesano2 date(n,$coment['fecha']) - $ano2 date(Y,$coment['fecha']);
$seg2=date(s,$coment['fecha']); $hora2=date(H,$coment['fecha']); $min2=date(i,$coment['fecha']);
$coment['comentario2'] = str_replace("'","'",$coment['comentario2']);
$coment['comentario2'] = str_replace("<","<",$coment['comentario2']);
$coment['comentario2'] = str_replace(">",">",$coment['comentario2']);
}}else{
echo
'<div id="no_comentarios"><span class="size11"><b>Este post no tiene comentarios.</b></span></div><hr>';}
if (
$context['is_locked'])
echo
'<div id="post_cerrado"><span class="size11"><b>Este post esta cerrado, por lo tanto no se permiten nuevos comentarios.</b></span></div><hr>';
if(
$context['haycom'])
{if (
$message['can_remove'])
echo
'<br /><span class="size10">Comentarios Seleccionados:</span> <input class="login" style="font-size: 9px;" type="submit" value="Eliminar"><br />';}else{echo'';}
echo
'<input type="hidden" name="topic" value="'$context['current_topic'], '" />
<input type="hidden" name="userid" value="'
$context['user']['id'], '" />
<input type="hidden" name="memberid" value="'
$message['member']['id'], '" />
</form></div></div>
<!-- fin comentarios -->'
;
echo
'</div>'
Solo me falta declarar la funcion "comentar" y "eliminar "y lo ago en otro archivo con el siguiente codigo:

Código PHP:
function template_comentar()
{
global 
$smcFunc$context$settings$options$txt$scripturl$modSettings;
global 
$db_prefix$user_info$scripturl$modSettings$board;
global 
$query_this_board$func;


$id_topic $_POST['id_topic'];    
$id_board $_POST['id_board'];
$id_member $context['user']['id'];
$comlimpio $_POST['cuerpo_comment'];
$comentu3=str_replace("casitaweb",'¡Voy a matar a Moe, Wiii!',$comlimpio);
$comentario strip_tags($comentu3);

$fecha time();

Header("Location: ?topic=$ID_TOPIC");
$sql  "INSERT INTO cw_comentarios
            (id_post,id_cat,id_user,comentario,fecha)
            VALUES ($id_topic, '$id_board', '$id_member','$comentario','$fecha')"
;
$consulta4=@mysql_query($sql) or die("Error, insert query failed ".mysql_error());
Header("Location: ?topic=$id_topic");
}

function 
template_eliminarc()
{global 
$context$settings$options$txt$scripturl$modSettings;
global 
$db_prefix$user_info$scripturl$modSettings$board;
global 
$query_this_board$func;
$topic $_POST['topic'];
$userid $_POST['userid'];
$memberid $_POST['memberid'];
Header("Location: ?topic=$topic");
if (
$userid $memberid){
if(!empty(
$_POST['campos'])) {
$aLista=array_keys($_POST['campos']);
mysql_query("DELETE FROM cw_comentarios WHERE id_coment IN (".implode(',',$aLista).")");}}} 
Despues de todos los cambios no me dio ningun error, pero cuando escribo el comentario y le doy "enviar comentario" me deberia aparecer pero no lo hace, me fijo en mi db y el comentario está ahi...

Alquien sabe que me estoy salteando o equivocando?

El sistema de comentarios es el mismo que usa el script de taringa de Spirate

Última edición por gohanjaja; 25/09/2009 a las 17:06 Razón: Para SMF 2.0 RC1.2