Posteador
MattBally
Aprendiz



(Actualizacion 1.2) Gestionar muros desde Admin




Buenas tardes, otra vez lo voy a molestar(? , naa, bueno, eso pienso.. actualize tambien este mod hecho por el mismo creador , credito a : alexander1712 comenzemos con la actualizacion:

AVISO: Yo estoy usando la V5 de To-Up, pero si quieren ponerlos en Default, tambien pueden, menos en el archivo a.a-sidebar, casi al final de este tema, les paso el codigo para Default!

Comenzemos :

Busquemos el archivo c.admin.php , esta ubicado en inc/class

// PAGINAS
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT COUNT FROM u_miembros WHERE ' . $where);
list($total) = db_exec('fetch_row', $query);

$data['pages'] = $tsCore->pageIndex($tsCore->settings['url'] .
'/admin/rangos?act=list&rid=' . $rid . '&t=' . $type . '', $_GET['s'], $total, $max);
//
return $data;
}


Y abajo de eso, pongan este codigo:

/****************** ADMINISTRACIÓN DE MUROS ACTUALIZADO ******************/

function GetAdminMuros()
{
global $tsCore;
//
$max = 18; // MAXIMO A MOSTRAR
$limit = $tsCore->setPageLimit($max, true);

if($_GET['ty']=='1') //si lo quiere ordenado por autor
{
$order='m.p_user_pub';
} else { //si lo quiere ordenado por destinatario de la publicacion
$order='m.p_user';
}

//
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT m.pub_id, u.user_id, u.user_name, m.p_date, m.p_body, m.p_ip, m.p_comments, m.p_likes FROM u_muro AS m LEFT JOIN u_miembros AS u ON '.$order.' = u.user_id WHERE m.pub_id > \'0\' ORDER BY pub_id DESC LIMIT ' . $limit);
//

$data['data'] = result_array($query);

// coments
list($total) = db_exec('fetch_row', $query);

$data['pages'] = $tsCore->pageIndex($tsCore->settings['url'] . "/admin/muro?", $_GET['s'], $total, $max);
//
return $data;
}

function DelAdminMuros($id)
{
$id = (int) $id; //filtro anti sqli id.
db_exec(array(__FILE__, __LINE__), 'query', "delete from u_muro_comentarios where pub_id = $id";
db_exec(array(__FILE__, __LINE__), 'query', "delete from u_muro_likes where obj_type = 1 and pub_id = $id";
db_exec(array(__FILE__, __LINE__), 'query', "delete from u_muro where pub_id = $id";
}

function DelAdminMuros_c($id)
{
$id = (int) $id; //filtro anti sqli id.
db_exec(array(__FILE__, __LINE__), 'query', "delete from u_muro_comentarios where cid = $id";
echo show_error('Error al ejecutar la consulta de la línea '.__LINE__.' de '.__FILE__., 'db');
}

function GetAdminMuro_unique($id)
{
global $tsCore;
$max = 18; // MAXIMO A MOSTRAR
$limit = $tsCore->setPageLimit($max, true);
$id = (int) $id;
$query = db_exec(array(__FILE__, __LINE__), 'query', "SELECT pub_id, p_body FROM u_muro WHERE pub_id = $id";
$pararetorno['main'] = db_exec('fetch_array', $query);
$query = db_exec(array(__FILE__, __LINE__), 'query', "SELECT * FROM u_muro_comentarios WHERE pub_id = $id";
$pararetorno['data'] = result_array($query);
$pararetorno['pages'] = $tsCore->pageIndex($tsCore->settings['url'] . "/admin/muro?act=muro_editar&id=$id&", $_GET['s'], $total, $max);
return $pararetorno;
}

function GetAdminMuro_cunique($id)
{
$id = (int) $id;
$query = db_exec(array(__FILE__, __LINE__), 'query', "SELECT cid, c_body FROM u_muro_comentarios WHERE cid = $id";
return db_exec('fetch_array', $query);
}

function UPDAdminMuros($id,$corpus)
{
global $tsCore;
$id = (int) $id; //filtramos
$corpus = $tsCore->setSecure(($corpus)); //lo recontra re filtramos <img src='http://www.phpost.net/foro/public/style_emoticons/<#EMO_DIR#>/tongue.png' class='bbc_emoticon' alt='' />
db_exec(array(__FILE__, __LINE__), 'query', "update u_muro
set p_body='$corpus'
where pub_id=$id";

}

function UPDAdminMuros_c($id,$corpus)
{
global $tsCore;
$id = (int) $id; //filtramos
$corpus = $tsCore->setSecure(($corpus)); //lo recontra re filtramos <img src='http://www.phpost.net/foro/public/style_emoticons/<#EMO_DIR#>/tongue.png' class='bbc_emoticon' alt='' />
db_exec(array(__FILE__, __LINE__), 'query', "update u_muro_comentarios
set c_body='$corpus'
where cid=$id";

}


Ahora busquen este archivo admin.php , esta ubicado en inc/php

// POSTS
} elseif($action == 'posts'){
if(!$act) {
$smarty->assign("tsAdminPosts",$tsAdmin->GetAdminPosts());
}


Y abajo de eso, agregan este codigo:

////////////////////////////////////////////////////////////////////
// muros by alexander1712
} elseif($action == 'muro'){ //si estamos en el muro
if(!$act) {
$smarty->assign("tsAdminMuros",$tsAdmin->GetAdminMuros());
} elseif ($act == 'muro_delete') { //si borramos algo de un muro
$tsAdmin->DelAdminMuros($_GET['id']);
$smarty->assign("tsAdminMuros",$tsAdmin->GetAdminMuros());
} elseif ($act == 'muro_editar') { //levantar datos y hacer formulario
$smarty->assign("tsAdminMurosContent",$tsAdmin->GetAdminMuro_unique($_GET['id']));
} elseif ($act == 'muro_edit2') { //guardar datos
$tsAdmin->UPDAdminMuros($_POST['id'],$_POST['cuerpo']);
$smarty->assign("tsAdminMuros",$tsAdmin->GetAdminMuros());
} elseif ($act == 'coment_delete') { //borrando comentarios
$tsAdmin->DelAdminMuros_c($_GET['id']);
$smarty->assign("tsAdminMuros",$tsAdmin->GetAdminMuros());
$act='';
} elseif ($act == 'coment_editar') { //levantar datos y hacer formulario
$smarty->assign("tsAdminMurosContent",$tsAdmin->GetAdminMuro_cunique($_GET['id']));
} elseif ($act == 'coment_edit2') {
$tsAdmin->UPDAdminMuros_c($_POST['id'],$_POST['cuerpo']);
$smarty->assign("tsAdminMuros",$tsAdmin->GetAdminMuros());
$act='';
}
////////////////////////////////////////////////////////////////////


ahora busquen este archivo t.admin.tpl , esta ubicado en tutheme/templates, busquen:

{include file='admin_mods/m.admin_posts.tpl'}


y abajo de eso, agregan este codigo:

{elseif $tsAction == 'muro'}
{if $tsAct!='muro_editar' && $tsAct!='coment_editar'}
{include file='admin_mods/m.admin_muro.tpl'}
{elseif $tsAct=='muro_editar'}
{include file='admin_mods/m.admin_muro_edit.tpl'}
{elseif $tsAct=='coment_editar'}
{include file='admin_mods/m.admin_muro_cedit.tpl'}
{/if}


ahora creen este archivo que sea por tpl. el archivo se tiene que llamar: m.admin_muro.tpl y ahora copian todo el codigo:

<div class="boxy-title">
<h3>Administrar Publicaciones en el muro</h3>
</div>
<div id="res" class="boxy-content" style="position:relative">
{if $tsAct == '' || $tsAct == 'muro_delete' || $tsAct == 'muro_edit2'}
{if !$tsAdminMuros.data}
<div class="phpostAlfa">No hay publicaciones en los muros.</div>
{else}
<table cellpadding="0" cellspacing="0" border="0" class="admin_table" width="100%" align="center">
<thead>
<th>ID</th>
<th><a href="{$tsConfig.url}/admin/muro?ty=1" title="persona que envi&oacute; la publicaci&oacute;n">Autor</a>/<a href="{$tsConfig.url}/admin/muro" title="persona en la que se publico en su muro">Receptor</a></th>
<th>Contenido</th>
<th>Comentarios</th>
<th>Me Gusta</th>
<th>Fecha</th>
<th>ip</th>
<th>Acciones <a id="actionsee" onclick="$('#actionsee').slideUp( 120, 'easeInOutElastic'); $('.right').fadeOut('slow').css('width', '920px').slideDown( 1700, 'easeInOutElastic'); $('.left').slideUp( 1500, 'easeInOutElastic'); $('#moreinfo').slideDown('fast'); "><img src="{$tsConfig.default}/images/icons/details.png" width="14px" height="14px" title="M&aacute;s informaci&oacute;n" /></a></th>
</thead>
<tbody>
{foreach from=$tsAdminMuros.data item=c}
<tr id="post_{$c.cid}">
<td>{$c.pub_id}</td>
<td><a href="{$tsConfig.url}/perfil/{$c.user_name}" class="hovercard" uid="{$c.user_id}">{$c.user_name}</a></td>
<td>{$c.p_body|truncate:50}</td>
<td>{$c.p_comments}</td>
<td>{$c.p_likes}</td>
<td>{$c.p_date|hace:true}</td>
<td id="moreinfo1_2"><a href="{$tsConfig.url}/moderacion/buscador/1/1/{$c.p_ip}" class="geoip" target="_blank">{$c.p_ip}</a></td>
<td class="admin_actions">
<a href="{$tsConfig.url}/admin/muro?act=muro_editar&id={$c.pub_id}"><img src="{$tsConfig.default}/images/icons/editar.png" title="Editar Publicacion" /></a>
<a href="{$tsConfig.url}/admin/muro?act=muro_delete&id={$c.pub_id}"><img src="{$tsConfig.default}/images/icons/close.png" title="Borrar Publicacion" /></a>
</td>
</tr>
{/foreach}
</tbody>
<tfoot>
<td colspan="8">P&aacute;ginas: {$tsAdminMuros.pages}</td>
</tfoot>
</table>
{/if}
{/if}
</div>


ahora creen este archivo que termine en tpl. el archivo se tiene que llamar : m.admin_muro_cedit.tpl y copien todo el codigo:

<center>
<div class="form-add-post" >

<form action="{$tsConfig.url}/admin/muro?act=coment_edit2" method="post" name="newartist" autocomplete="off">
<ul class="clearbeta">
<li>
<label>Comentario</label>
<span style="display: none;" class="errormsg"></span>
<br /><input type="hidden" value="{$tsAdminMurosContent.cid}" name="id"/><textarea name="cuerpo" tabindex="2" style="min-height:200px; width:600px;" >{$tsAdminMurosContent.c_body}</textarea>
</li>
</ul>
<div class="end-form clearbeta" style="width:600px;">
<center><input tabindex="8" value="Guardar!" name="preview" class="mBtn btnGreen" style="width: auto; margin-left: 5px;" type="submit"></center>
</div>
</form>

</div>
</center>


ahora creen otro archivo que tenga el formato tpl. y se tiene que llamar: m.admin_muro_edit.tpl y copien todo este codigo:

<center>
<div class="form-add-post" >

<form action="{$tsConfig.url}/admin/muro?act=muro_edit2" method="post" name="newartist" autocomplete="off">
<ul class="clearbeta">
<li>
<label>Comentario</label>
<span style="display: none;" class="errormsg"></span>
<br /><input type="hidden" value="{$tsAdminMurosContent.main.pub_id}" name="id"/><textarea name="cuerpo" tabindex="2" style="min-height:200px; width:600px;" >{$tsAdminMurosContent.main.p_body}</textarea>
</li>
</ul>
<div class="end-form clearbeta" style="width:600px;">
<center><input tabindex="8" value="Guardar!" name="preview" class="mBtn btnGreen" style="width: auto; margin-left: 5px;" type="submit"></center>
</div>
</form>

</div>
</center>

<table cellpadding="0" cellspacing="0" border="0" class="admin_table" width="100%" align="center">
<thead>
<th>ID</th>
<th><a href="{$tsConfig.url}/admin/muro?ty=1" title="persona que envi&oacute; la publicaci&oacute;n">Autor</a></th>
<th>Comentario</th>
<th>Fecha</th>
<th>ip</th>
<th>Acciones <a id="actionsee" onclick="$('#actionsee').slideUp( 120, 'easeInOutElastic'); $('.right').fadeOut('slow').css('width', '920px').slideDown( 1700, 'easeInOutElastic'); $('.left').slideUp( 1500, 'easeInOutElastic'); $('#moreinfo').slideDown('fast'); "><img src="{$tsConfig.default}/images/icons/details.png" width="14px" height="14px" title="M&aacute;s informaci&oacute;n" /></a></th>
</thead>
<tbody>
{foreach from=$tsAdminMurosContent.data item=c}
<tr id="post_{$c.cid}">
<td>{$c.cid}</td>
<td><a href="{$tsConfig.url}/perfil/{$c.c_user}" class="hovercard" uid="{$c.c_user}">{$c.c_user}</a></td>
<td>{$c.c_body|truncate:50}</td>
<td>{$c.c_date|hace:true}</td>
<td id="moreinfo1_2"><a href="{$tsConfig.url}/moderacion/buscador/1/1/{$c.p_ip}" class="geoip" target="_blank">{$c.c_ip}</a></td>
<td class="admin_actions">
<a href="{$tsConfig.url}/admin/muro?act=coment_editar&id={$c.cid}"><img src="{$tsConfig.default}/images/icons/editar.png" title="Editar Comentario" /></a>
<a href="{$tsConfig.url}/admin/muro?act=coment_delete&id={$c.cid}"><img src="{$tsConfig.default}/images/icons/close.png" title="Borrar Comentario" /></a>
</td>
</tr>
{/foreach}
</tbody>
<tfoot>
<td colspan="8">P&aacute;ginas: {$tsAdminMurosContent.pages}</td>
</tfoot>
</table>


ATENCION: LOS 3 ARCHIVOS QUE CREASTES CON TPL. VAN EN TUTHEME/TEMPLATES/ADMIN_MODS.

Ahora busquen el archivo a.a-sidebar , se encuentra en V5/templates/b_toup/administracion, busquemos :

<li><a {if $tsAction == 'rangos'}id="activo-mod"{/if} href="{$tsConfig.url}/admin/rangos" style="width: 228px;"><img src="{$tsConfig.tema.t_url}/images/icons/crown.png" />Rangos de Usuarios</a></li>


Y abajo de eso, ponemos este codigo:

<li><a {if $tsAction == 'posts'}id="activo-mod"{/if} href="{$tsConfig.url}/admin/muro" style="width: 228px;"><img src="{$tsConfig.tema.t_url}/images/icons/posts.png" />Revisar Muros</a></li>


y listo, asi se va a ver en V5 :



Aviso: Esta hecho a proposito el color Negro, es para la seguridad de mis usuarios de mi pagina.

ahora si, para los que tiene el theme Default usandolo, vamos a buscar este archivo m.admin.sidemenu , se encuentra en default/templates/admin_mods y busquemos

<li id="a_posts"><span class="cat-title"><a href="{$tsConfig.url}/admin/posts">Todos los Posts</a></span></li>


Abajo de eso, agregamos esto:

<li id="a_posts"><span class="cat-title"><a href="{$tsConfig.url}/admin/muro">Revisar Muros</a></span></li>


Y listo , ya te anda en Default, hasta la proxima con otra actualizacion!





0 Comentarios


Cargando comentarios espera un momento...
No tienes permisos para comentar.

Para poder comentar necesitas estar Registrado. O.. ya tienes usuario? Logueate!
Ir al cielo