Viewing File: /usr/local/cpanel/base/frontend/jupiter/htaccess/index.html.tt
[%
SET CPANEL.CPVAR.dprefix = "../";
SET app_name = "password-protect";
SET pwd_protect_nvdata = execute( 'NVData', 'get', { 'names' => 'optionselect_password-protect' } );
SET directory = RAW_FORM.dir;
SET default_dir = "";
Api2.pre_exec("Email", "listmaildomains");
SET domains_list = Api2.exec("Email", "listmaildomains", {} );
Api2.post_exec("Email", "listmaildomains");
IF pwd_protect_nvdata.status;
SET nvdata_value = pwd_protect_nvdata.data.0.value,
value = nvdata_value.split(':'),
selected_option = value.0,
domain = value.1,
always_open_dir = value.2;
IF always_open_dir == 1;
IF selected_option == 'webroot';
default_dir = CPANEL.homedir _ '/public_html';
ELSIF selected_option == 'domainrootselect';
default_dir = Api2.exec("DomainLookup" , "getdocroot" , {"domain" => domain}).0.docroot;
ELSE;
default_dir = CPANEL.homedir _ '/public_html'
selected_option = 'webroot';
END;
END;
END;
directory = directory || default_dir || CPANEL.homedir;
SET directories = execute("DirectoryPrivacy", "list_directories", {
dir => directory,
});
%]
[% WRAPPER '_assets/master.html.tt'
app_key = 'directory_privacy'
page_styles = css_code
use_master_bootstrap = 0
page_stylesheets = [
'cpanelpro/imagemanager.css',
'htaccess/index.css',
]
-%]
[% PROCESS '_assets/cjt2_header_include.tt' %]
<div class="body-content">
<p class="description" id="descDirPriv">
[% locale.maketext("Set a password to protect certain directories of your account. When you enable this feature, a user that tries to open a protected folder will be prompted to enter a username and password before they can access your content.") %]
[% locale.maketext("For more information, read our [output,url,_1,documentation,target,_2].", "//go.cpanel.net/DirectoryPrivacy", "_blank") %]
</p>
<p>
[% locale.maketext("Click a folder’s icon or name to navigate the file system. To select a folder, click “[output,em,_1]”.", locale.maketext('Edit')) %]
</p>
<div class="box">
<div class="row row-controls">
<div class="col-xs-12">
<ul class="list-inline">
<li>
<a id="home" href="?dir=[% directories.data.home.path.uri().html() || '/' %]" class="btn btn-default btn-sm">
<i class="fas fa-home"></i>
[% locale.maketext('Home') %]
</a>
</li>
[% IF directories.data.parent.path != directories.data.current.path %]
<li>
<a id="up-one" href="?dir=[% directories.data.parent.path.uri().html() %]" class="btn btn-default btn-sm">
<i class="fas fa-level-up-alt"></i>
[% locale.maketext('Up One Level') %]
</a>
</li>
[% END %]
<li class="pull-right">
<a id="btnSettings"
class="btn btn-default btn-sm"
data-toggle="modal"
data-target="#modalSettings">
<i class='fas fa-cog' aria-hidden="true"></i>
<span class="hidden-xs">[% locale.maketext('Settings') %]</span>
</a>
</li>
</ul>
</div>
</div>
<div class="row row-list">
[%
IF directories.status;
SET crumbs = directories.data.current.path.remove(directories.data.home.path).split('/');
CALL crumbs.shift();
%]
<div class="col-xs-12">
<table id="files" class="table table-striped">
<thead>
<tr>
<th>
[% locale.maketext('Current Directory') %]
</th>
<th class="text-center">
[% locale.maketext('Private') %]
</th>
<th class="text-center">
[% locale.maketext('Actions') %]
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<ul class="breadcrumb">
<li>
<a href="index.html?dir=[% directories.data.home.path.uri().html() %]">
<i class="fas fa-home"></i>
</a>
</li>
[%
SET base = directories.data.home.path;
FOREACH crumb IN crumbs;
SET path = base _ '/' _ crumb;
IF !loop.last(); %]
<li>
<a href="index.html?dir=[% path.uri().html() %]">
[% crumb.html().replace('[.]', '.<wbr>') %]
</a>
</li>
[% ELSE %]
<li>
[% crumb.html().replace('[.]', '.<wbr>') %]
</li>
[% END;
base = path;
END;
%]
</ul>
</td>
<td class="text-center" >
<div class="current-privacy">
[% IF directories.data.current.state.protected %]
<i class="fas fa-lock fa-lg" aria-hidden="true"></i>
[%locale.maketext('Yes')%]
[% ELSE %]
[%locale.maketext('No')%]
[% END %]
</div>
</td>
<td class="text-center">
<a id="edit-current"
href="dohtaccess.html?is_parent=1&dir=[% directories.data.current.path.uri().html() %]"
class="btn btn-outline-primary btn-sm file-select-button"
alt="[%locale.maketext('Edit “[_1]”', directories.data.current.path.html())%]">
<i class="fas fa-pencil-alt" aria-hidden="true"></i>
<span class="current-label">[% locale.maketext('Edit') %]</span>
</a>
</td>
</tr>
[% FOREACH directory IN directories.data.children.list %]
<tr>
<td class="child">
<a href="index.html?dir=[% directory.path.uri().html() %]" id="navigate-[% directory.path.slugify() %]">
[% IF directory.state.protected %]
<span class="dirstack fa-stack">
<i class="diricon fas fa-folder" aria-hidden="true"></i>
<i class="fas fa-lock fa-stack-1x" aria-hidden="true"></i>
</span>
[% ELSE %]
<span class="dirstack fa-stack">
<i class="diricon fas fa-folder fa-lg" aria-hidden="true"></i>
</span>
[% END %]
[% directory.path.split("/").pop().html().replace('[.]', '.<wbr>') %]
</a>
</td>
<td class="text-center">
[% IF directory.state.protected %]
<i class="fas fa-lock fa-lg" aria-hidden="true"></i> [% locale.maketext('Yes') %]
[% ELSE %]
[% locale.maketext('No') %]
[% END %]
</td>
<td class="text-center">
<a id="edit-[% directory.path.slugify() %]"
href="dohtaccess.html?dir=[% directory.path.uri().html() %]"
class="btn btn-outline-primary btn-sm file-select-button"
alt="[%locale.maketext('Edit “[_1]”', directory.path.html())%]" >
<i class="fas fa-pencil-alt" aria-hidden="true"></i>
[% locale.maketext('Edit') %]
</a>
</td>
</tr>
[% END %]
[% IF directories.data.children.size() == 0 %]
<tr class="empty-directory">
<td colspan="3">
<div class="alert alert-info" role="alert">
<span class="glyphicon glyphicon-info-sign" aria-hidden="true"></span>
<div class="alert-message">
<strong class="alert-title">
[% locale.maketext('Notice:') %]
</strong>
<span class="alert-body">
<span id="error-no-child">
[% locale.maketext("There are no folders in this path.") %]
</span>
</span>
</div>
</div>
</td>
</tr>
[% END %]
</tbody>
</table>
</div>
[% ELSE %]
<div class="alert alert-danger" role="alert">
<span class="glyphicon glyphicon-remove-sign" aria-hidden="true"></span>
<div class="alert-message">
<strong class="alert-title">
[% locale.maketext('Error:') %]
</strong>
<span class="alert-body">
<span id="error-directories">
[% directories.errors_as_string().html() %]
</span>
</span>
</div>
</div>
[% END %]
</div>
</div>
</div><!-- end body-content -->
<!-- Modal -->
<div class="modal fade" id="modalSettings" tabindex="-1" role="dialog" aria-labelledby="lblModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button id="btnHeaderSettingsClose" type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title" id="lblModalLabel">[% locale.maketext("Directory Privacy") %]</h4>
</div>
<div class="modal-body">
<div class="radio" id="settings_webroot">
<label for="dirselect_webroot">
<input type="radio" name="dirselect" value="webroot" id="dirselect_webroot" [% selected_option == 'webroot' ? ' checked' : '' %]/>
[% locale.maketext("Web Root ([asis,public_html or www])") %]
</label>
</div>
<div class="radio" id="settings_domainroot">
<label for="optionselect_domainrootselect_radio">
<input type="radio" name="dirselect" id="optionselect_domainrootselect_radio" value="domainrootselect" [% selected_option == 'domainrootselect' ? ' checked' : '' %]/>
[% locale.maketext("Document Root for:") %]
</label>
<select id="ddlDomainSelect" name="domainselect" class="form-control option-directory-select" [% selected_option == 'domainrootselect' ? '' : 'disabled' %]>
[% IF domains_list.size(); %]
[% FOREACH item IN domains_list; %]
<option value="[% item.domain.html() %]" [% IF selected_option == 'domainrootselect' AND domain == item.domain.html();%] selected="true"[% END %]>
[% item.domain.html() %]
</option>
[% END %]
[% END %]
</select>
</div>
<div class="settings-select-extras">
<div class="checkbox">
<label for="settings_saved">
<input type="checkbox" id="settings_saved" name="saveoption" [% always_open_dir == "1" ? 'checked': "" %] />
<span id="lblOpenDirectoryTxt">
[% locale.maketext("Always open this directory in the future") %]
</span>
</label>
</div>
</div>
</div>
<div class="modal-footer">
<button id="btnSettingsCancel" type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button id="btnSettingsSave" type="button" class="btn btn-primary">Save changes</button>
</div>
</div>
</div>
</div>
[% END #wrapper -%]
Back to Directory
File Manager