Vhost templates: Added a field to select the target webserver
This commit is contained in:
@@ -1012,7 +1012,8 @@ if ($page == 'domains'
|
|||||||
|
|
||||||
// vhost configs
|
// vhost configs
|
||||||
$vhostconfigs = '';
|
$vhostconfigs = '';
|
||||||
$configsvhost = Database::query("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` ORDER BY description ASC");
|
$configsvhost = Database::prepare("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `webserver` = :webserver ORDER BY description ASC");
|
||||||
|
Database::pexecute($configsvhost, array('webserver' => Settings::Get('system.webserver')));
|
||||||
|
|
||||||
$vhostconfigs.= makeoption($lng['admin']['vhostsettings']['novhostsettings'], 0);
|
$vhostconfigs.= makeoption($lng['admin']['vhostsettings']['novhostsettings'], 0);
|
||||||
while ($row = $configsvhost->fetch(PDO::FETCH_ASSOC)) {
|
while ($row = $configsvhost->fetch(PDO::FETCH_ASSOC)) {
|
||||||
@@ -1997,7 +1998,9 @@ if ($page == 'domains'
|
|||||||
|
|
||||||
// vhost configs
|
// vhost configs
|
||||||
$vhostconfigs = '';
|
$vhostconfigs = '';
|
||||||
$vhostconfigs_result_stmt = Database::query("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` ORDER BY description ASC");
|
$vhostconfigs_result_stmt = Database::prepare("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `webserver` = :webserver ORDER BY description ASC");
|
||||||
|
Database::pexecute($vhostconfigs_result_stmt, array('webserver' => Settings::Get('system.webserver')));
|
||||||
|
|
||||||
$vhostconfigs .= makeoption($lng['admin']['vhostsettings']['novhostsettings'], 0);
|
$vhostconfigs .= makeoption($lng['admin']['vhostsettings']['novhostsettings'], 0);
|
||||||
while ($vhostconfig_row = $vhostconfigs_result_stmt->fetch(PDO::FETCH_ASSOC)) {
|
while ($vhostconfig_row = $vhostconfigs_result_stmt->fetch(PDO::FETCH_ASSOC)) {
|
||||||
$vhostconfigs .= makeoption($vhostconfig_row['description'], $vhostconfig_row['id'], $result['vhostsettingid'], true, true);
|
$vhostconfigs .= makeoption($vhostconfig_row['description'], $vhostconfig_row['id'], $result['vhostsettingid'], true, true);
|
||||||
|
|||||||
@@ -28,17 +28,17 @@ if (isset($_POST['id'])) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ($page == 'overview') {
|
if ($page == 'overview') {
|
||||||
|
$supported_webservers = [ 'apache2' => 'Apache 2', 'lighttpd' => 'ligHTTPd', 'nginx' => 'Nginx' ];
|
||||||
|
|
||||||
if ($action == '') {
|
if ($action == '') {
|
||||||
$tablecontent = '';
|
$tablecontent = '';
|
||||||
$count = 0;
|
$count = 0;
|
||||||
$result = Database::query("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` ORDER BY description ASC");
|
$result = Database::query("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` ORDER BY description ASC");
|
||||||
|
|
||||||
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
|
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
|
||||||
|
|
||||||
$domainresult = false;
|
|
||||||
$query_params = array('id' => $row['id']);
|
$query_params = array('id' => $row['id']);
|
||||||
|
|
||||||
$query = "SELECT * FROM `".TABLE_PANEL_DOMAINS."`
|
$query = "SELECT * FROM `" . TABLE_PANEL_DOMAINS . "`
|
||||||
WHERE `vhostsettingid` = :id
|
WHERE `vhostsettingid` = :id
|
||||||
AND `parentdomainid` = '0'";
|
AND `parentdomainid` = '0'";
|
||||||
|
|
||||||
@@ -76,90 +76,72 @@ if ($page == 'overview') {
|
|||||||
$domains = $lng['admin']['phpsettings']['notused'];
|
$domains = $lng['admin']['phpsettings']['notused'];
|
||||||
}
|
}
|
||||||
|
|
||||||
// check whether this is our default config
|
$webserver = str_replace(array_keys($supported_webservers), array_values($supported_webservers), $row['webserver']);
|
||||||
if ((Settings::Get('system.mod_fcgid') == '1'
|
|
||||||
&& Settings::Get('system.mod_fcgid_defaultini') == $row['id'])
|
|
||||||
|| (Settings::Get('phpfpm.enabled') == '1'
|
|
||||||
&& Settings::Get('phpfpm.defaultini') == $row['id'])
|
|
||||||
) {
|
|
||||||
$row['description'] = '<b>'.$row['description'].'</b>';
|
|
||||||
}
|
|
||||||
|
|
||||||
$count++;
|
$count++;
|
||||||
eval("\$tablecontent.=\"" . getTemplate("vhostconfig/overview_overview") . "\";");
|
eval("\$tablecontent.=\"" . getTemplate("vhostconfig/overview_overview") . "\";");
|
||||||
}
|
}
|
||||||
|
|
||||||
eval("echo \"" . getTemplate("vhostconfig/overview") . "\";");
|
eval("echo \"" . getTemplate("vhostconfig/overview") . "\";");
|
||||||
}
|
|
||||||
|
|
||||||
if ($action == 'add') {
|
} else if ($action == 'add') {
|
||||||
|
|
||||||
if ((int)$userinfo['change_serversettings'] == 1) {
|
if ((int)$userinfo['change_serversettings'] != 1) {
|
||||||
|
|
||||||
if (isset($_POST['send'])
|
|
||||||
&& $_POST['send'] == 'send'
|
|
||||||
) {
|
|
||||||
$description = validate($_POST['description'], 'description');
|
|
||||||
$vhostsettings = validate(trim(str_replace("\r\n", "\n", $_POST['vhostsettings'])), 'vhostsettings', '/^[^\0]*$/');
|
|
||||||
|
|
||||||
if (strlen($description) == 0
|
|
||||||
|| strlen($description) > 50
|
|
||||||
) {
|
|
||||||
standard_error('descriptioninvalid');
|
|
||||||
}
|
|
||||||
|
|
||||||
$ins_stmt = Database::prepare("
|
|
||||||
INSERT INTO `" . TABLE_PANEL_VHOSTCONFIGS . "` SET
|
|
||||||
`description` = :desc,
|
|
||||||
`vhostsettings` = :vhostsettings"
|
|
||||||
);
|
|
||||||
$ins_data = array(
|
|
||||||
'desc' => $description,
|
|
||||||
'vhostsettings' => $vhostsettings
|
|
||||||
);
|
|
||||||
Database::pexecute($ins_stmt, $ins_data);
|
|
||||||
|
|
||||||
inserttask('1');
|
|
||||||
$log->logAction(ADM_ACTION, LOG_INFO, "vhost config setting with description '" . $description . "' has been created by '" . $userinfo['loginname'] . "'");
|
|
||||||
redirectTo($filename, array('page' => $page, 's' => $s));
|
|
||||||
|
|
||||||
} else {
|
|
||||||
|
|
||||||
$result_stmt = Database::query("SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `id` = 1");
|
|
||||||
$result = $result_stmt->fetch(PDO::FETCH_ASSOC);
|
|
||||||
|
|
||||||
$vhostconfig_add_data = include_once dirname(__FILE__).'/lib/formfields/admin/vhostconfig/formfield.vhostconfig_add.php';
|
|
||||||
$vhostconfig_add_form = htmlform::genHTMLForm($vhostconfig_add_data);
|
|
||||||
|
|
||||||
$title = $vhostconfig_add_data['vhostconfig_add']['title'];
|
|
||||||
$image = $vhostconfig_add_data['vhostconfig_add']['image'];
|
|
||||||
|
|
||||||
eval("echo \"" . getTemplate("vhostconfig/overview_add") . "\";");
|
|
||||||
}
|
|
||||||
|
|
||||||
} else {
|
|
||||||
standard_error('nopermissionsorinvalidid');
|
standard_error('nopermissionsorinvalidid');
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if ($action == 'delete') {
|
if (isset($_POST['send']) && $_POST['send'] == 'send') {
|
||||||
|
$description = validate($_POST['description'], 'description');
|
||||||
|
$vhostsettings = validate(trim(str_replace("\r\n", "\n", $_POST['vhostsettings'])), 'vhostsettings', '/^[^\0]*$/');
|
||||||
|
$webserver = validate($_POST['webserver'], 'webserver', '/^(' . implode("|", array_keys($supported_webservers)) . ')$/');
|
||||||
|
|
||||||
|
if (strlen($description) == 0 || strlen($description) > 50) {
|
||||||
|
standard_error('descriptioninvalid');
|
||||||
|
}
|
||||||
|
|
||||||
|
$ins_stmt = Database::prepare("
|
||||||
|
INSERT INTO `" . TABLE_PANEL_VHOSTCONFIGS . "` SET
|
||||||
|
`description` = :description,
|
||||||
|
`vhostsettings` = :vhostsettings,
|
||||||
|
`webserver` = :webserver
|
||||||
|
");
|
||||||
|
$ins_data = array('description' => $description, 'vhostsettings' => $vhostsettings, 'webserver' => $webserver);
|
||||||
|
Database::pexecute($ins_stmt, $ins_data);
|
||||||
|
|
||||||
|
inserttask('1');
|
||||||
|
$log->logAction(ADM_ACTION, LOG_INFO, "vhost config setting with description '" . $description . "' has been created by '" . $userinfo['loginname'] . "'");
|
||||||
|
redirectTo($filename, array('page' => $page, 's' => $s));
|
||||||
|
|
||||||
|
} else {
|
||||||
|
$webserver_options = '';
|
||||||
|
while (list($webserver, $webserver_friendlyName) = each($supported_webservers)) {
|
||||||
|
$webserver_options .= makeoption($webserver_friendlyName, $webserver, Settings::Get('system.webserver'), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
$vhostconfig_add_data = include_once dirname(__FILE__).'/lib/formfields/admin/vhostconfig/formfield.vhostconfig_add.php';
|
||||||
|
$vhostconfig_add_form = htmlform::genHTMLForm($vhostconfig_add_data);
|
||||||
|
|
||||||
|
$title = $vhostconfig_add_data['vhostconfig_add']['title'];
|
||||||
|
$image = $vhostconfig_add_data['vhostconfig_add']['image'];
|
||||||
|
|
||||||
|
eval("echo \"" . getTemplate("vhostconfig/overview_add") . "\";");
|
||||||
|
}
|
||||||
|
} else if ($action == 'delete') {
|
||||||
|
|
||||||
$result_stmt = Database::prepare("
|
$result_stmt = Database::prepare("
|
||||||
SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `id` = :id"
|
SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `id` = :id"
|
||||||
);
|
);
|
||||||
$result = Database::pexecute_first($result_stmt, array('id' => $id));
|
$result = Database::pexecute_first($result_stmt, array('id' => $id));
|
||||||
|
|
||||||
if ($result['id'] != 0
|
if ($result['id'] != 0 && $result['id'] == $id && (int)$userinfo['change_serversettings'] == 1) {
|
||||||
&& $result['id'] == $id
|
if (isset($_POST['send']) && $_POST['send'] == 'send') {
|
||||||
&& (int)$userinfo['change_serversettings'] == 1
|
// Remove a reference to this template from all domains using it
|
||||||
) {
|
$upd_stmt = Database::prepare("UPDATE `" . TABLE_PANEL_DOMAINS . "` SET
|
||||||
|
`vhostsettingid` = 0 WHERE `vhostsettingid` = :id"
|
||||||
if (isset($_POST['send'])
|
|
||||||
&& $_POST['send'] == 'send'
|
|
||||||
) {
|
|
||||||
$del_stmt = Database::prepare("
|
|
||||||
DELETE FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `id` = :id"
|
|
||||||
);
|
);
|
||||||
|
Database::pexecute($upd_stmt, array('id' => $id));
|
||||||
|
|
||||||
|
$del_stmt = Database::prepare("DELETE FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `id` = :id");
|
||||||
Database::pexecute($del_stmt, array('id' => $id));
|
Database::pexecute($del_stmt, array('id' => $id));
|
||||||
|
|
||||||
inserttask('1');
|
inserttask('1');
|
||||||
@@ -172,43 +154,31 @@ if ($page == 'overview') {
|
|||||||
} else {
|
} else {
|
||||||
standard_error('nopermissionsorinvalidid');
|
standard_error('nopermissionsorinvalidid');
|
||||||
}
|
}
|
||||||
}
|
} else if ($action == 'edit') {
|
||||||
|
|
||||||
if ($action == 'edit') {
|
|
||||||
|
|
||||||
$result_stmt = Database::prepare("
|
$result_stmt = Database::prepare("
|
||||||
SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `id` = :id"
|
SELECT * FROM `" . TABLE_PANEL_VHOSTCONFIGS . "` WHERE `id` = :id"
|
||||||
);
|
);
|
||||||
$result = Database::pexecute_first($result_stmt, array('id' => $id));
|
$result = Database::pexecute_first($result_stmt, array('id' => $id));
|
||||||
|
|
||||||
if ($result['id'] != 0
|
if ($result['id'] != 0 && $result['id'] == $id && (int)$userinfo['change_serversettings'] == 1) {
|
||||||
&& $result['id'] == $id
|
if (isset($_POST['send']) && $_POST['send'] == 'send') {
|
||||||
&& (int)$userinfo['change_serversettings'] == 1
|
|
||||||
) {
|
|
||||||
|
|
||||||
if (isset($_POST['send'])
|
|
||||||
&& $_POST['send'] == 'send'
|
|
||||||
) {
|
|
||||||
$description = validate($_POST['description'], 'description');
|
$description = validate($_POST['description'], 'description');
|
||||||
$vhostsettings = validate(trim(str_replace("\r\n", "\n", $_POST['vhostsettings'])), 'vhostsettings', '/^[^\0]*$/');
|
$vhostsettings = validate(trim(str_replace("\r\n", "\n", $_POST['vhostsettings'])), 'vhostsettings', '/^[^\0]*$/');
|
||||||
|
$webserver = validate($_POST['webserver'], 'webserver', '/^(' . implode("|", array_keys($supported_webservers)) . ')$/');
|
||||||
|
|
||||||
if (strlen($description) == 0
|
if (strlen($description) == 0 || strlen($description) > 50) {
|
||||||
|| strlen($description) > 50
|
|
||||||
) {
|
|
||||||
standard_error('descriptioninvalid');
|
standard_error('descriptioninvalid');
|
||||||
}
|
}
|
||||||
|
|
||||||
$upd_stmt = Database::prepare("
|
$upd_stmt = Database::prepare("
|
||||||
UPDATE `" . TABLE_PANEL_VHOSTCONFIGS . "` SET
|
UPDATE `" . TABLE_PANEL_VHOSTCONFIGS . "` SET
|
||||||
`description` = :desc,
|
`description` = :description,
|
||||||
`vhostsettings` = :vhostsettings
|
`vhostsettings` = :vhostsettings,
|
||||||
|
`webserver` = :webserver
|
||||||
WHERE `id` = :id"
|
WHERE `id` = :id"
|
||||||
);
|
);
|
||||||
$upd_data = array(
|
$upd_data = array('description' => $description, 'vhostsettings' => $vhostsettings, 'webserver' => $webserver, 'id' => $id);
|
||||||
'desc' => $description,
|
|
||||||
'vhostsettings' => $vhostsettings,
|
|
||||||
'id' => $id
|
|
||||||
);
|
|
||||||
Database::pexecute($upd_stmt, $upd_data);
|
Database::pexecute($upd_stmt, $upd_data);
|
||||||
|
|
||||||
inserttask('1');
|
inserttask('1');
|
||||||
@@ -216,6 +186,10 @@ if ($page == 'overview') {
|
|||||||
redirectTo($filename, array('page' => $page, 's' => $s));
|
redirectTo($filename, array('page' => $page, 's' => $s));
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
$webserver_options = '';
|
||||||
|
while (list($webserver, $webserver_friendlyName) = each($supported_webservers)) {
|
||||||
|
$webserver_options .= makeoption($webserver_friendlyName, $webserver, $result['webserver'], true);
|
||||||
|
}
|
||||||
|
|
||||||
$vhostconfig_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/vhostconfig/formfield.vhostconfig_edit.php';
|
$vhostconfig_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/vhostconfig/formfield.vhostconfig_edit.php';
|
||||||
$vhostconfig_edit_form = htmlform::genHTMLForm($vhostconfig_edit_data);
|
$vhostconfig_edit_form = htmlform::genHTMLForm($vhostconfig_edit_data);
|
||||||
@@ -225,7 +199,6 @@ if ($page == 'overview') {
|
|||||||
|
|
||||||
eval("echo \"" . getTemplate("vhostconfig/overview_edit") . "\";");
|
eval("echo \"" . getTemplate("vhostconfig/overview_edit") . "\";");
|
||||||
}
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
standard_error('nopermissionsorinvalidid');
|
standard_error('nopermissionsorinvalidid');
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -556,7 +556,7 @@ INSERT INTO `panel_settings` (`settinggroup`, `varname`, `value`) VALUES
|
|||||||
('panel', 'password_numeric', '0'),
|
('panel', 'password_numeric', '0'),
|
||||||
('panel', 'password_special_char_required', '0'),
|
('panel', 'password_special_char_required', '0'),
|
||||||
('panel', 'password_special_char', '!?<>§$%+#=@'),
|
('panel', 'password_special_char', '!?<>§$%+#=@'),
|
||||||
('panel', 'version', '0.9.35-dev6');
|
('panel', 'version', '0.9.35-dev7');
|
||||||
|
|
||||||
|
|
||||||
DROP TABLE IF EXISTS `panel_tasks`;
|
DROP TABLE IF EXISTS `panel_tasks`;
|
||||||
@@ -858,5 +858,6 @@ CREATE TABLE IF NOT EXISTS `panel_vhostconfigs` (
|
|||||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||||
`description` varchar(50) NOT NULL,
|
`description` varchar(50) NOT NULL,
|
||||||
`vhostsettings` text NOT NULL,
|
`vhostsettings` text NOT NULL,
|
||||||
|
`webserver` varchar(255) NOT NULL default '',
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
|
) DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
|
||||||
|
|||||||
@@ -3124,3 +3124,15 @@ if (isFroxlorVersion('0.9.35-dev5')) {
|
|||||||
|
|
||||||
updateToVersion('0.9.35-dev6');
|
updateToVersion('0.9.35-dev6');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (isFroxlorVersion('0.9.35-dev6')) {
|
||||||
|
|
||||||
|
showUpdateStep("Updating from 0.9.35-dev6 to 0.9.35-dev7", false);
|
||||||
|
|
||||||
|
showUpdateStep("Adding a new field to the panel_vhostconfigs table");
|
||||||
|
$webserver = Settings::Get('system.webserver');
|
||||||
|
Database::query("ALTER TABLE `" . TABLE_PANEL_VHOSTCONFIGS ."` ADD `webserver` VARCHAR(255) NOT NULL DEFAULT '" . $webserver . "' AFTER `vhostsettings`;");
|
||||||
|
lastStepStatus(0);
|
||||||
|
|
||||||
|
updateToVersion('0.9.35-dev7');
|
||||||
|
}
|
||||||
|
|||||||
@@ -29,6 +29,11 @@ return array(
|
|||||||
'type' => 'text',
|
'type' => 'text',
|
||||||
'maxlength' => 50
|
'maxlength' => 50
|
||||||
),
|
),
|
||||||
|
'webserver' => array(
|
||||||
|
'label' => $lng['admin']['webserver'],
|
||||||
|
'type' => 'select',
|
||||||
|
'select_var' => $webserver_options
|
||||||
|
),
|
||||||
'vhostsettings' => array(
|
'vhostsettings' => array(
|
||||||
'style' => 'align-top',
|
'style' => 'align-top',
|
||||||
'label' => $lng['admin']['vhostsettings']['vhostsettings'],
|
'label' => $lng['admin']['vhostsettings']['vhostsettings'],
|
||||||
|
|||||||
@@ -30,6 +30,11 @@ return array(
|
|||||||
'maxlength' => 50,
|
'maxlength' => 50,
|
||||||
'value' => $result['description']
|
'value' => $result['description']
|
||||||
),
|
),
|
||||||
|
'webserver' => array(
|
||||||
|
'label' => $lng['admin']['webserver'],
|
||||||
|
'type' => 'select',
|
||||||
|
'select_var' => $webserver_options
|
||||||
|
),
|
||||||
'vhostsettings' => array(
|
'vhostsettings' => array(
|
||||||
'style' => 'align-top',
|
'style' => 'align-top',
|
||||||
'label' => $lng['admin']['vhostsettings']['vhostsettings'],
|
'label' => $lng['admin']['vhostsettings']['vhostsettings'],
|
||||||
|
|||||||
@@ -16,7 +16,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
// Main version variable
|
// Main version variable
|
||||||
$version = '0.9.35-dev6';
|
$version = '0.9.35-dev7';
|
||||||
|
|
||||||
// Database version (unused, old stuff from SysCP)
|
// Database version (unused, old stuff from SysCP)
|
||||||
$dbversion = '2';
|
$dbversion = '2';
|
||||||
|
|||||||
@@ -19,8 +19,9 @@ $header
|
|||||||
<tr>
|
<tr>
|
||||||
<th>{$lng['admin']['phpsettings']['description']}</th>
|
<th>{$lng['admin']['phpsettings']['description']}</th>
|
||||||
<th>{$lng['admin']['phpsettings']['activedomains']}</th>
|
<th>{$lng['admin']['phpsettings']['activedomains']}</th>
|
||||||
|
<th>{$lng['admin']['webserver']}</th>
|
||||||
<th>{$lng['panel']['options']}</th>
|
<th>{$lng['panel']['options']}</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
$tablecontent
|
$tablecontent
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<tr class="top">
|
<tr class="top">
|
||||||
<td><strong>{$row['description']}</strong></td>
|
<td><strong>{$row['description']}</strong></td>
|
||||||
<td>{$domains}</td>
|
<td>{$domains}</td>
|
||||||
|
<td>{$webserver}</td>
|
||||||
<td>
|
<td>
|
||||||
<a href="{$linker->getLink(array('section' => 'vhostsettings', 'page' => $page, 'action' => 'edit', 'id' => $row['id']))}">
|
<a href="{$linker->getLink(array('section' => 'vhostsettings', 'page' => $page, 'action' => 'edit', 'id' => $row['id']))}">
|
||||||
<img src="templates/{$theme}/assets/img/icons/edit.png" alt="{$lng['panel']['edit']}" title="{$lng['panel']['edit']}" />
|
<img src="templates/{$theme}/assets/img/icons/edit.png" alt="{$lng['panel']['edit']}" title="{$lng['panel']['edit']}" />
|
||||||
|
|||||||
Reference in New Issue
Block a user