gsouza Postado Outubro 25, 2017 Postado Outubro 25, 2017 Olá, boa noite amigos. Poderiam me auxiliar com um ajuste ? Seria possível restringir o acesso da base de conhecimentos, apenas para clientes logados ? Fiz este procedimento https://www.whmcs.blog.br/personalizacao/restringindo-acesso-base-de-conhecimento/ porem, acredito estar incompatível pois não funcionou =/ Se tiver alguma Hook para isso seria excelente 0 Citar
LucianoZ Postado Outubro 25, 2017 Postado Outubro 25, 2017 Isso só será viável via hook, fazendo identificação de usuário logado, para caso não esteja fazer um redirecionamento para o principal do whmcs. 0 Citar Chamou? Estamos ai!
edvan Postado Outubro 25, 2017 Postado Outubro 25, 2017 10 horas atrás, suportgc disse: Olá, boa noite amigos. Poderiam me auxiliar com um ajuste ? Seria possível restringir o acesso da base de conhecimentos, apenas para clientes logados ? Fiz este procedimento https://www.whmcs.blog.br/personalizacao/restringindo-acesso-base-de-conhecimento/ porem, acredito estar incompatível pois não funcionou =/ Se tiver alguma Hook para isso seria excelente Acredito que você não fez corretamente pois mesmo sendo um post de 2014 funciona normalmente, veja exemplo: Visitante http://prntscr.com/h1tc8f Cliente logado http://prntscr.com/h1td7a 0 Citar
rgazetta Postado Outubro 25, 2017 Postado Outubro 25, 2017 Segue o hooks que faz isso para qualquer pagina que desejar. Na linha if (!in_array($vars['filename'], array( você pode inserir as páginas que serão liberadas para acesso sem login. <?php if (!defined("WHMCS")) die("This file cannot be accessed directly"); function hook_ForceEveryoneToLogin($vars) { $clientID = intval($_SESSION['uid']); $adminID = intval($_SESSION['adminid']); if ($adminID===0){ if (!in_array($vars['filename'], array("login","dologin","clientarea","pwreset","index","register","cart","submitticket","viewticket")) && $clientID===0){ header("Location: login.php"); exit; } } } add_hook("ClientAreaPage", 1, "hook_ForceEveryoneToLogin"); 0 Citar
Otavio Postado Outubro 25, 2017 Postado Outubro 25, 2017 @edvan Então edvan eu tentei aplicar isso no template six só que realmente não funcionou . {if !$loggedin} <br /> <div class="errorbox">Acesso restrito a clientes!</div> <br /><br /><br /> {else} <form role="form" method="post" action="{routePath('knowledgebase-search')}"> <div class="input-group input-group-lg kb-search"> <input type="text" id="inputKnowledgebaseSearch" name="search" class="form-control" placeholder="What can we help you with?" /> <span class="input-group-btn"> <input type="submit" id="btnKnowledgebaseSearch" class="btn btn-primary btn-input-padded-responsive" value="{$LANG.search}" /> </span> </div> </form> <h2>{$LANG.knowledgebasecategories}</h2> {if $kbcats} <div class="row"> {foreach from=$kbcats name=kbcats item=kbcat} <div class="col-sm-4"> <a href="{routePath('knowledgebase-category-view', {$kbcat.id}, {$kbcat.urlfriendlyname})}"> <i class="fa fa-folder-open-o"></i> {$kbcat.name} ({$kbcat.numarticles}) </a> <p>{$kbcat.description}</p> </div> {if $smarty.foreach.kbcats.iteration mod 2 == 0} </div><div class="row"> {/if} {/foreach} </div> {else} {include file="$template/includes/alert.tpl" type="info" msg=$LANG.knowledgebasenoarticles textcenter=true} {/if} {if $kbmostviews} <h2>{$LANG.knowledgebasepopular}</h2> <div class="kbarticles"> {foreach from=$kbmostviews item=kbarticle} <a href="{routePath('knowledgebase-article-view', {$kbarticle.id}, {$kbarticle.urlfriendlytitle})}"> <span class="glyphicon glyphicon-file"></span> {$kbarticle.title} </a> <p>{$kbarticle.article|truncate:100:"..."}</p> {/foreach} </div> {/if} {/if} 0 Citar Fox Soluções | (011) 3090 4444 / (011) 96841-9797 | www.FoxSolucoes.com | Streaming Áudio | CentovaCast | Revendas de Streaming | Data Center Brasil EUA | | Streaming Vídeo | CastControl WOWZA | Revendas de Streaming | Data Center Brasil EUA |
gsouza Postado Outubro 25, 2017 Autor Postado Outubro 25, 2017 1 hora atrás, edvan disse: Acredito que você não fez corretamente pois mesmo sendo um post de 2014 funciona normalmente, veja exemplo: Visitante http://prntscr.com/h1tc8f Cliente logado http://prntscr.com/h1td7a Estranho, testei e nao funcionou no Six 1 hora atrás, rgazetta disse: Segue o hooks que faz isso para qualquer pagina que desejar. Na linha if (!in_array($vars['filename'], array( você pode inserir as páginas que serão liberadas para acesso sem login. <?php if (!defined("WHMCS")) die("This file cannot be accessed directly"); function hook_ForceEveryoneToLogin($vars) { $clientID = intval($_SESSION['uid']); $adminID = intval($_SESSION['adminid']); if ($adminID===0){ if (!in_array($vars['filename'], array("login","dologin","clientarea","pwreset","index","register","cart","submitticket","viewticket")) && $clientID===0){ header("Location: login.php"); exit; } } } add_hook("ClientAreaPage", 1, "hook_ForceEveryoneToLogin"); Olá amigo, boa tarde. Este hook bloqueia tudo e libera apenas o que quero correto ? Seria possivel esta variável bloquear apenas a pagina da base de conhecimento ? Perdoe minha ignorância, tenho pouco conhecimento em programação e não sei inverter este bloqueio. 0 Citar
edvan Postado Outubro 25, 2017 Postado Outubro 25, 2017 10 minutos atrás, Otavio disse: @edvan Então edvan eu tentei aplicar isso no template six só que realmente não funcionou . {if !$loggedin} <br /> <div class="errorbox">Acesso restrito a clientes!</div> <br /><br /><br /> {else} <form role="form" method="post" action="{routePath('knowledgebase-search')}"> <div class="input-group input-group-lg kb-search"> <input type="text" id="inputKnowledgebaseSearch" name="search" class="form-control" placeholder="What can we help you with?" /> <span class="input-group-btn"> <input type="submit" id="btnKnowledgebaseSearch" class="btn btn-primary btn-input-padded-responsive" value="{$LANG.search}" /> </span> </div> </form> <h2>{$LANG.knowledgebasecategories}</h2> {if $kbcats} <div class="row"> {foreach from=$kbcats name=kbcats item=kbcat} <div class="col-sm-4"> <a href="{routePath('knowledgebase-category-view', {$kbcat.id}, {$kbcat.urlfriendlyname})}"> <i class="fa fa-folder-open-o"></i> {$kbcat.name} ({$kbcat.numarticles}) </a> <p>{$kbcat.description}</p> </div> {if $smarty.foreach.kbcats.iteration mod 2 == 0} </div><div class="row"> {/if} {/foreach} </div> {else} {include file="$template/includes/alert.tpl" type="info" msg=$LANG.knowledgebasenoarticles textcenter=true} {/if} {if $kbmostviews} <h2>{$LANG.knowledgebasepopular}</h2> <div class="kbarticles"> {foreach from=$kbmostviews item=kbarticle} <a href="{routePath('knowledgebase-article-view', {$kbarticle.id}, {$kbarticle.urlfriendlytitle})}"> <span class="glyphicon glyphicon-file"></span> {$kbarticle.title} </a> <p>{$kbarticle.article|truncate:100:"..."}</p> {/foreach} </div> {/if} {/if} Que estranho, editei o six e não tive problemas. Veja o vídeo http://nimb.ws/x5DPyv Você testou com uma janela anônima? 0 Citar
Otavio Postado Outubro 25, 2017 Postado Outubro 25, 2017 @edvan Agora descobri oque errei kk , criei uma cópia e não havia definido esse novo template deu certo sim, me desculpe pelo erro sonso . 0 Citar Fox Soluções | (011) 3090 4444 / (011) 96841-9797 | www.FoxSolucoes.com | Streaming Áudio | CentovaCast | Revendas de Streaming | Data Center Brasil EUA | | Streaming Vídeo | CastControl WOWZA | Revendas de Streaming | Data Center Brasil EUA |
edvan Postado Outubro 25, 2017 Postado Outubro 25, 2017 7 minutos atrás, Otavio disse: @edvan Agora descobri oque errei kk , criei uma cópia e não havia definido esse novo template deu certo sim, me desculpe pelo erro sonso . Sem problemas! Ou utilize esse hook ( baseado no tópico https://whmcs.community/topic/252505-how-to-restrict-all-pages-to-logged-in-users-only/ ) que irá solicitar login para FAQ e Anúncios. <?php if (!defined("WHMCS")) die("This file cannot be accessed directly"); function hook_ForcarLoginTemplates($vars) { $clientID = intval($_SESSION['uid']); $adminID = intval($_SESSION['adminid']); if ($adminID===0){ if (in_array($vars['templatefile'], array("knowledgebase","announcements")) && $clientID===0){ header("Location: ../clientarea.php"); exit; } } } add_hook("ClientAreaPage", 1, "hook_ForcarLoginTemplates"); 0 Citar
gsouza Postado Outubro 25, 2017 Autor Postado Outubro 25, 2017 @edvan Testei agora, acabei informando errado. Ele aparece o acesso restrito, porem não bloqueia as categorias veja. http://prntscr.com/h1v9no http://prntscr.com/h1v9sq 0 Citar
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.
Nota: Sua postagem exigirá aprovação do moderador antes de ficar visível.