03-01-2021, 10:44 AM
(Última modificación: 03-08-2021, 07:40 AM por Tronlar.
Razón: Faltaba añadir un paso.
)
2

[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]
Hacer la consulta en la base de datos:
Código: ( Seleccionar Todo )
ALTER TABLE `w_configuracion` ADD `c_desapprove_foto` INT(1) NOT NULL DEFAULT '0' AFTER `c_desapprove_post`;En el archivo c.admin.php y buscar:
Código: ( Seleccionar Todo )
'desapprove_post' => empty($_POST['desapprove_post']) ? 0 : 1,Debajo de eso agregar:
Código: ( Seleccionar Todo )
'desapprove_foto' => empty($_POST['desapprove_foto']) ? 0 : 1,Luego de eso buscamos:
Código: ( Seleccionar Todo )
$c['desapprove_post'] . '\'Al lado de eso agregar:
Código: ( Seleccionar Todo )
, `c_desapprove_foto` = \'' . $c['desapprove_foto'] . '\'Luego buscar dos veces:
Código: ( Seleccionar Todo )
'mocp' => $_POST['mod-contenidoposts'],Y debajo de cada uno agregar:
Código: ( Seleccionar Todo )
'mocf' => $_POST['mod-contenidofotos'],Casi al final del archivo buscar:
Código: ( Seleccionar Todo )
(SELECT count(foto_id) FROM f_fotos WHERE f_status = \'0\') as fotos_visibles,Y agregar debajo esto:
Código: ( Seleccionar Todo )
(SELECT count(foto_id) FROM f_fotos WHERE f_status = \'3\') as fotos_revision,Un poco mas abajo buscar:
Código: ( Seleccionar Todo )
+ $num['fotos_eliminadas']Agregar al lado:
Código PHP: ( Seleccionar Todo )
+ $num['fotos_revision']
En el archivo c.core.php buscar:
Código: ( Seleccionar Todo )
(SELECT count(post_id) FROM p_posts WHERE post_status = \'3\') as revposts,Al lado de eso agregar:
Código: ( Seleccionar Todo )
(SELECT count(foto_id) FROM f_fotos WHERE f_status = \'3\') as revfotos,Y una línea abajo buscar:
Código: ( Seleccionar Todo )
+ $datos['revposts']Agregar al lado:
Código: ( Seleccionar Todo )
+ $datos['revfotos']En el archivo c.moderacion.php buscar:
Código: ( Seleccionar Todo )
/**
* @name getHistory()Arriba de eso agregar:
Código: ( Seleccionar Todo )
public function getFotosD()
{
global $tsUser, $tsCore;
//
$max = 20; // MAXIMO A MOSTRAR
$limit = $tsCore->setPageLimit($max, true);
// PAGINAS
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT COUNT(*) FROM f_fotos AS f LEFT JOIN u_miembros AS u ON u.user_id = f.f_user WHERE f.f_status = \'3\'');
list($total) = db_exec('fetch_row', $query);
$data['pages'] = $tsCore->pageIndex($tsCore->settings['url'] .
"/moderacion/revfotos?", $_GET['s'], $total, $max);
//
$query = db_exec(array(__FILE__, __LINE__), 'query', 'SELECT u.user_id, u.user_name, h.*, f.foto_id, f.f_title FROM f_fotos AS f LEFT JOIN w_historial AS h ON h.pofid = f.foto_id LEFT JOIN u_miembros AS u ON u.user_id = h.mod WHERE h.type = \'2\' AND h.action = \'3\' AND f.f_status = \'3\' LIMIT ' .
$limit);
$data['datos'] = result_array($query);
//
return $data;
}Buscar la función:
Código: ( Seleccionar Todo )
function rebootFoto($fid)Y reemplazarla por esta:
Código: ( Seleccionar Todo )
function rebootFoto($fid)
{
global $tsUser;
if ($tsUser->is_admod || $tsUser->permisos['mocdf'])
{
// PRIMERO COMPROBAMOS SI ESTÁ OCULTO
$datos = db_exec('fetch_assoc', db_exec(array(__FILE__, __LINE__), 'query', 'SELECT foto_id, f_status FROM f_fotos WHERE foto_id = \'' .
(int)$fid . '\' LIMIT 1'));
if ($datos['f_status'] == 3)
{
if (!db_exec(array(__FILE__, __LINE__), 'query', 'DELETE FROM `w_historial` WHERE `pofid` = \'' . (int) $fid . '\' && `type` = \'2\' && `action` = \'3\''))
return '0: No se pudo restaurar la foto.';
} else
{
//BORRAMOS LA DENUNCIAS
if (!db_exec(array(__FILE__, __LINE__), 'query', 'DELETE FROM `w_denuncias` WHERE `obj_id` = \'' . (int) $fid . '\' AND `d_type` = \'4\''))
return '0: No se pudo eliminar la denuncia.';
}
// REGRESAMOS EL POST
if (db_exec(array(__FILE__, __LINE__), 'query', 'UPDATE `f_fotos` SET `f_status` = \'0\' WHERE `foto_id` = \'' .
$fid . '\''))
{
return '1: La foto ha sido restaurada.';
} else
return '0: No se pudo restaurar la foto.';
} else
return '0: No continúe por aquí.';
}En c.fotos.php buscar:
Código: ( Seleccionar Todo )
if(db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `f_fotos` (f_title, f_date, f_description, f_url, f_user, f_closed, f_visitas, f_last, f_ip) VALUES (\''.$fData['titulo'].'\', \''.time().'\', \''.$fData['desc'].'\', \''.$img_url.'\', \''.$tsUser->uid.'\', \''.$fData['closed'].'\', \''.$fData['visitas'].'\', \'1\', \''.$_SERVER['REMOTE_ADDR'].'\')')) {
$fid = db_exec('insert_id');Y reemplazarlo por:
Código: ( Seleccionar Todo )
if(db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `f_fotos` (f_title, f_date, f_description, f_url, f_user, f_closed, f_visitas, f_status, f_last, f_ip) VALUES (\''.$fData['titulo'].'\', \''.time().'\', \''.$fData['desc'].'\', \''.$img_url.'\', \''.$tsUser->uid.'\', \''.$fData['closed'].'\', \''.$fData['visitas'].'\', '.((!$tsUser->is_admod && $tsCore->settings['c_desapprove_foto'] == 1) ? '\'3\'' : '\'0\'').', \'1\', \''.$_SERVER['REMOTE_ADDR'].'\')')) {
$fid = db_exec('insert_id');
// Si está oculto, lo creamos en el historial e.e
if(!$tsUser->is_admod && $tsCore->settings['c_desapprove_foto'] == 1) db_exec(array(__FILE__, __LINE__), 'query', 'INSERT INTO `w_historial` (`pofid`, `action`, `type`, `mod`, `reason`, `date`, `mod_ip`) VALUES (\''.(int)$fid.'\', \'3\', \'2\', \''.$tsUser->uid.'\', \'Revisión al publicar\', \''.time().'\', \''.$_SERVER['REMOTE_ADDR'].'\')');Buscar y eliminar la línea:
Código: ( Seleccionar Todo )
$data['foto']['exist'] = db_exec('num_rows', $query);Buscar un poco arriba de eso:
Código: ( Seleccionar Todo )
$data['foto'] = db_exec('fetch_assoc', $query);Y debajo agregar:
Código: ( Seleccionar Todo )
if(empty($data['foto']['foto_id'])) return 'La foto fue eliminada!';
elseif($data['foto']['f_status'] == 1 && (!$tsUser->is_admod && $tsUser->permisos['morf'] == false)) return 'La foto está en revisión por acumulación de denuncias.';
elseif($data['foto']['f_status'] == 3 && (!$tsUser->is_admod && $tsUser->permisos['mocf'] == false)) return 'La foto se encuentra en revisión, a la espera de su publicación.';Un poco mas arriba en la consulta buscar y eliminar
Código: ( Seleccionar Todo )
AND f.f_status = \'0\'En fotos.php al lado de:
Código: ( Seleccionar Todo )
"La imagen <b>".$titulo."</b> fue agregada."Agregar:
Código: ( Seleccionar Todo )
.(!$tsUser->is_admod && $tsCore->settings['c_desapprove_foto'] == 1 ? ' Deberá esperar su aprobación' : '')Un poco abajo buscar el contenido del case "ver":
Código: ( Seleccionar Todo )
$tsFoto = $tsFotos->getFoto();
// TITULO
$tsTitle = $tsFoto['foto']['f_title'].' - '.$tsFoto['foto']['user_name'].' - '.$tsCore->settings['titulo'];
if($tsFoto['foto']['f_status'] == 1 && (!$tsUser->is_admod && $tsUser->permisos['moacp'] == false)) {
$tsPage = 'aviso';
$smarty->assign("tsAviso",array('titulo' => 'Opps...', 'mensaje' => 'Esta foto se encuentra en revisión por acumulación de denuncias', 'but' => 'Ir a Fotos', 'link' => "{$tsCore->settings['url']}/fotos/"));
}elseif($tsFoto['foto']['exist'] == 0){
$tsPage = 'aviso';
$smarty->assign("tsAviso",array('titulo' => 'Opps...', 'mensaje' => 'Esta foto no existe', 'but' => 'Ir a Fotos', 'link' => "{$tsCore->settings['url']}/fotos/"));
}else{
$smarty->assign("tsFoto", $tsFoto['foto']);
$smarty->assign("tsUFotos", $tsFoto['last']);
$smarty->assign("tsFFotos", $tsFoto['amigos']);
$smarty->assign("tsFComments", $tsFoto['comments']);
$smarty->assign("tsFVisitas", $tsFoto['visitas']);
$smarty->assign("tsFMedallas", $tsFoto['medallas']);
$smarty->assign("tsTMedallas", $tsFoto['m_total']);
}Y todo eso Reemplazarlo por:
Código: ( Seleccionar Todo )
$tsFoto = $tsFotos->getFoto();
if(is_array($tsFoto)) {
// TITULO
$tsTitle = $tsFoto['foto']['f_title'].' - '.$tsFoto['foto']['user_name'].' - '.$tsCore->settings['titulo'];
$smarty->assign("tsFoto", $tsFoto['foto']);
$smarty->assign("tsUFotos", $tsFoto['last']);
$smarty->assign("tsFFotos", $tsFoto['amigos']);
$smarty->assign("tsFComments", $tsFoto['comments']);
$smarty->assign("tsFVisitas", $tsFoto['visitas']);
$smarty->assign("tsFMedallas", $tsFoto['medallas']);
$smarty->assign("tsTMedallas", $tsFoto['m_total']);
} else {
$tsPage = 'aviso';
$smarty->assign("tsAviso",array('titulo' => 'Opps...', 'mensaje' => $tsFoto, 'but' => 'Ir a Fotos', 'link' => "{$tsCore->settings['url']}/fotos/"));
}En moderacion.php buscar:
Código: ( Seleccionar Todo )
elseif($action == 'revposts'){
$smarty->assign("tsPosts",$tsMod->getPostsD());
}Debajo de eso agregar:
Código: ( Seleccionar Todo )
elseif($action == 'revfotos'){
$smarty->assign("tsFotos",$tsMod->getFotosD());
}En templates/admin_mods/m.admin_configs.tpl debajo de:
Código: ( Seleccionar Todo )
<dl>
<dt><label for="ai_desapprove_post">Revisión de posts tras su publicación</label><br /><span>Si está activado, el equipo de moderación deberá aprobar un post antes de que éste sea publicado.</span></dt>
<dd>
<label><input name="desapprove_post" type="radio" id="ai_desapprove_post" value="1" {if $tsConfig.c_desapprove_post == 1}checked="checked"{/if} class="radio"/>Sí</label>
<label><input name="desapprove_post" type="radio" id="ai_desapprove_post" value="0" {if $tsConfig.c_desapprove_post != 1}checked="checked"{/if} class="radio"/>No</label>
</dd>
</dl>Agregar:
Código: ( Seleccionar Todo )
<dl>
<dt><label for="ai_desapprove_foto">Revisión de fotos tras su publicación</label><br /><span>Si está activado, el equipo de moderación deberá aprobar una foto antes de que ésta sea publicada.</span></dt>
<dd>
<label><input name="desapprove_foto" type="radio" id="ai_desapprove_foto" value="1" {if $tsConfig.c_desapprove_foto == 1}checked="checked"{/if} class="radio"/>Sí</label>
<label><input name="desapprove_foto" type="radio" id="ai_desapprove_foto" value="0" {if $tsConfig.c_desapprove_foto != 1}checked="checked"{/if} class="radio"/>No</label>
</dd>
</dl>En templates/admin_mods/m.admin_rangos.tpl debajo de:
Código: ( Seleccionar Todo )
<input type="checkbox" id="mocp" name="mod-contenidoposts" {if $tsRango.permisos.mocp}checked{/if} /><label style="font-weight:bold;" for="mocp">Posts desaprobados. </label><label for="mocp"> Podrán ver la sección y los posts ocultos.</label>
<br /><hr>Agregar:
Código: ( Seleccionar Todo )
<input type="checkbox" id="mocf" name="mod-contenidofotos" {if $tsRango.permisos.mocf}checked{/if} /><label style="font-weight:bold;" for="mocf">Fotos desaprobadas. </label><label for="mocf"> Podrán ver la sección y las fotos ocultas.</label>
<br /><hr>En esa carpeta crear el archivo templates/admin_mods/m.mod_revision_fotos.tpl y en su contenido agregar:
Código: ( Seleccionar Todo )
<div class="boxy-title">
<h3>Fotos desaprobadas</h3>
</div>
<div id="res" class="boxy-content" style="position:relative">
{if !$tsFotos.datos}
<div class="phpostAlfa">No hay fotos esperando aprobación</div>
{else}
<table cellpadding="0" cellspacing="0" border="0" class="admin_table" width="100%" align="center">
<thead>
<th>ID</th>
<th>Foto</th>
<th>Moderador</th>
<th>Razón</th>
<th>Fecha</th>
<th>IP</th>
<th>Acciones</th>
</thead>
<tbody>
{foreach from=$tsFotos.datos item=f}
<tr id="report_{$f.foto_id}">
<td>{$f.foto_id}</td>
<td><a href="{$tsConfig.url}/fotos/{$f.user_name}/{$f.foto_id}/{$f.f_title|seo}.html" target="_blank" title="{$f.f_title}"><img src="{$f.f_url}" width="50" height="50" /></a></td>
<td><a href="{$tsConfig.url}/perfil/{$f.user_name}" class="hovercard" uid="{$f.user_id}">{$f.user_name}</a></td>
<td>{$f.reason}</td>
<td>{$f.date|hace:true}</td>
<td>{$f.mod_ip}</td>
<td class="admin_actions">
<a href="#" onclick="mod.reboot({$f.foto_id}, 'fotos', 'reboot', false); return false;"><img src="{$tsConfig.default}/images/icons/reboot.png" title="Reactivar Foto" /></a>
<a href="{$tsConfig.url}/fotos/editar.php?id={$f.foto_id}" target="_blank"><img src="{$tsConfig.default}/images/icons/edit.png" title="Editar Foto" /></a>
<a href="#" onclick="mod.fotos.borrar({$f.foto_id}, false); return false"><img src="{$tsConfig.default}/images/icons/close.png" title="Borrar Foto" /></a>
</td>
</tr>
{/foreach}
</tbody>
<tfoot>
<td colspan="8">Páginas: {$tsFotos.pages}</td>
</tfoot>
</table>
{/if}
</div>En el archivo templates/admin_mods/m.mods_sidemenu.tpl en la misma carpeta, buscar:
Código: ( Seleccionar Todo )
{if $tsUser->is_admod || $tsUser->permisos.mocp}<li id="a_revposts"><span class="cat-title"><a onclick="$('#a_revposts').addClass('active');" href="{$tsConfig.url}/moderacion/revposts">Posts <span class="cadGe cadGe_{if $tsConfig.novemods.revposts > 15}red{elseif $tsConfig.novemods.revposts > 5}purple{else}green{/if}">{$tsConfig.novemods.revposts}</span></a></span></li>{/if}Debajo agregar:
Código: ( Seleccionar Todo )
{if $tsUser->is_admod || $tsUser->permisos.mocf}<li id="a_revfotos"><span class="cat-title"><a onclick="$('#a_revfotos').addClass('active');" href="{$tsConfig.url}/moderacion/revfotos">Fotos <span class="cadGe cadGe_{if $tsConfig.novemods.revfotos > 15}red{elseif $tsConfig.novemods.revfotos > 5}purple{else}green{/if}">{$tsConfig.novemods.revfotos}</span></a></span></li>{/if}En el archivo templates/admin_mods/m.admin_fotos.tpl al lado de:
Código: ( Seleccionar Todo )
if $f.f_status == 1Agregar:
Código: ( Seleccionar Todo )
|| $f.f_status == 3En el archivo templates/admin_mods/m.admin_stats.tpl buscar:
Código: ( Seleccionar Todo )
<li class="clearfix"><span class="floatL"> En revisión</span><span class="floatR number">{$tsAdminStats.fotos_ocultas} </span></li>Reemplazar por:
Código: ( Seleccionar Todo )
<li class="clearfix"><span class="floatL"> En revisión</span><span class="floatR number">{$tsAdminStats.fotos_revision} </span></li>
<li class="clearfix"><span class="floatL"> Inactivas</span><span class="floatR number">{$tsAdminStats.fotos_ocultas} </span></li>En el archivo templates/t.moderacion.tpl debajo de:
Código: ( Seleccionar Todo )
{if $tsUser->is_admod || $tsUser->permisos.mocp}{include file='admin_mods/m.mod_revision_posts.tpl'}{/if}Agregar:
Código: ( Seleccionar Todo )
{elseif $tsAction == 'revfotos'}
{if $tsUser->is_admod || $tsUser->permisos.mocf}{include file='admin_mods/m.mod_revision_fotos.tpl'}{/if}Por último en css/moderacion.css al lado de:
Código: ( Seleccionar Todo )
li#a_revpostsAgregar:
Código: ( Seleccionar Todo )
, li#a_revfotosDejo el script con la instalación echa.
Mega
Debes agradecer para ver el contenido...
Creditos: Debes agradecer para ver el contenido...


Facebook
Twitter
Reddit
Digg
del.icio.us
Tumblr
Pinterest
Blogger
Fark
LinkedIn
Mix
Google