You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
3.2 KiB
91 lines
3.2 KiB
<?php
|
|
/* For licensing terms, see /license.txt */
|
|
|
|
/**
|
|
* @package chamilo.plugin
|
|
*/
|
|
|
|
/** @var \NoSearchIndex $plugin */
|
|
$plugin = NoSearchIndex::create();
|
|
$plugin_info = $plugin->get_info();
|
|
|
|
$isPlatformAdmin = api_is_platform_admin();
|
|
$editFile = false;
|
|
|
|
$file = api_get_path(SYS_PATH).'robots.txt';
|
|
$originalFile = api_get_path(SYS_PATH).'robots.dist.txt';
|
|
$extraContentFile = api_get_home_path().'header_extra_content.txt';
|
|
|
|
if ($isPlatformAdmin) {
|
|
/** @var FormValidator $form */
|
|
$form = $plugin_info['settings_form'];
|
|
|
|
if ($form && $form->validate()) {
|
|
if (is_writable(api_get_path(SYS_PATH))) {
|
|
if (!file_exists($originalFile)) {
|
|
copy($file, $originalFile);
|
|
}
|
|
} else {
|
|
Display::addFlash(
|
|
Display::return_message(
|
|
sprintf(
|
|
$plugin->get_lang('CheckDirectoryPermissionsInX'),
|
|
api_get_path(SYS_PATH)
|
|
),
|
|
'warning'
|
|
)
|
|
);
|
|
}
|
|
|
|
if (!file_exists($extraContentFile)) {
|
|
file_put_contents($extraContentFile, '');
|
|
}
|
|
|
|
$values = $form->getSubmitValues();
|
|
|
|
$continue = false;
|
|
if (file_exists($file) && is_readable($file) && is_writable($file) &&
|
|
file_exists($originalFile) && is_readable($originalFile) && is_writable($originalFile) &&
|
|
file_exists($extraContentFile) && is_readable($extraContentFile) && is_writable($extraContentFile)
|
|
) {
|
|
$continue = true;
|
|
}
|
|
|
|
if ($continue) {
|
|
$contents = file_get_contents($originalFile);
|
|
$noFollow = '<meta name="robots" content="noindex" />';
|
|
if (isset($values['tool_enable']) && $values['tool_enable'] == 'true') {
|
|
$result = file_put_contents($file, $contents."\nDisallow: /\n");
|
|
$value = '';
|
|
if (file_exists($extraContentFile)) {
|
|
$backup = file_get_contents($extraContentFile);
|
|
file_put_contents($extraContentFile, $backup.$noFollow);
|
|
} else {
|
|
$value = file_put_contents($extraContentFile, $noFollow);
|
|
}
|
|
} else {
|
|
file_put_contents($file, $contents);
|
|
|
|
if (file_exists($extraContentFile)) {
|
|
$backup = file_get_contents($extraContentFile);
|
|
$backup = str_replace($noFollow, '', $backup);
|
|
file_put_contents($extraContentFile, $backup);
|
|
}
|
|
}
|
|
} else {
|
|
api_delete_settings_params(
|
|
[
|
|
'category = ? AND access_url = ? AND subkey = ? AND type = ? and variable = ?' => [
|
|
'Plugins',
|
|
api_get_current_access_url_id(),
|
|
'nosearchindex',
|
|
'setting',
|
|
'nosearchindex_tool_enable',
|
|
]
|
|
]
|
|
);
|
|
$form->setElementError('tool_enable', $plugin->get_lang('CheckTheWritingPermissionsOfRobotsFile'));
|
|
}
|
|
}
|
|
$plugin_info['settings_form'] = $form;
|
|
}
|
|
|