gsouza Postado Outubro 25, 2017 Compartilhar 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 Link para o comentário Compartilhar em outros sites More sharing options...
LucianoZ Postado Outubro 25, 2017 Compartilhar 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! Link para o comentário Compartilhar em outros sites More sharing options...
edvan Postado Outubro 25, 2017 Compartilhar 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 Link para o comentário Compartilhar em outros sites More sharing options...
rgazetta Postado Outubro 25, 2017 Compartilhar 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 Link para o comentário Compartilhar em outros sites More sharing options...
Otavio Postado Outubro 25, 2017 Compartilhar 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 | Link para o comentário Compartilhar em outros sites More sharing options...
gsouza Postado Outubro 25, 2017 Autor Compartilhar 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 Link para o comentário Compartilhar em outros sites More sharing options...
edvan Postado Outubro 25, 2017 Compartilhar 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 Link para o comentário Compartilhar em outros sites More sharing options...
Otavio Postado Outubro 25, 2017 Compartilhar 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 | Link para o comentário Compartilhar em outros sites More sharing options...
edvan Postado Outubro 25, 2017 Compartilhar 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 Link para o comentário Compartilhar em outros sites More sharing options...
gsouza Postado Outubro 25, 2017 Autor Compartilhar 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 Link para o comentário Compartilhar em outros sites More sharing options...
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.