У меня в корне форума лежит файл news.txt
С помощью него я вывожу объявления для гостей.
Трудно будет сделать в админке возможность редактировать этот файл? Добавить пункт в меню, и саму форму редактирования. Т.е. сразу в неё загружается текст из этого файла и есть всего одна кнопка "Сохранить". Как в автоцензоре, один в один. Пункт в меню я ещё добавлю, а вот второе...
Никто не поможет кодом/советом
1. Guyver - 13 ноября 2014 — 02:38 - перейти к сообщению
2. Guyver - 13 ноября 2014 — 03:12 - перейти к сообщению
Пытаюсь сделать как тут, но куча ошибок, а сам я не настолько хорош, чтобы их исправить..
http://exbb.info/community/topic...52106#1332852106
Notice: Undefined index: Supercalifragilistic in **********forum/admin/nav_bar.tpl on line 79
Помогите сделать код рабочим, с файлом news.php
http://exbb.info/community/topic...52106#1332852106
Notice: Undefined index: Supercalifragilistic in **********forum/admin/nav_bar.tpl on line 79
Помогите сделать код рабочим, с файлом news.php
3. WebMaster - 13 ноября 2014 — 13:00 - перейти к сообщению
CODE:
<?php
if (isset($_POST['process'])) {
file_put_contents('news.txt', $_POST['text']);
}
?>
<form action="">
<input type="hidden" name="process" value="1">
<textarea name="text"><?php echo file_get_contents('news.txt'); ?></textarea>
<button type="submit">Сохранить</button>
</form>
if (isset($_POST['process'])) {
file_put_contents('news.txt', $_POST['text']);
}
?>
<form action="">
<input type="hidden" name="process" value="1">
<textarea name="text"><?php echo file_get_contents('news.txt'); ?></textarea>
<button type="submit">Сохранить</button>
</form>
Код я писал прямо здесь, не проверял. Но он очень простой и должен работать
4. Guyver - 13 ноября 2014 — 13:04 - перейти к сообщению
Простите за тупость, но хотя бы подскажите куда это вставлять ;о)) Дико извиняюсь...
5. Guyver - 13 ноября 2014 — 13:24 - перейти к сообщению
Попробовал в отдельном php файле, форма есть, текст появляется, но не сохраняется. Права на файл текстовой выставил.
6. Guyver - 13 ноября 2014 — 14:16 - перейти к сообщению
Сделал так:
Получилось здорово. Видно само объявление в готовом виде, все html коды отображаются вверху как в браузере, а в окне ввода - как в редакторе. Но это в отдельном php файле, в админку что-то засунуть не выходит пока.
И ещё один маленький косяк. Всё редактируется, но каждый раз при сохранении ко всему тексту слева прибавляется один пробел. 10 раз отредактировал - перед текстом появилось 10 пробелов. Как это исправить? Надо на каком-то шаге очистить форму?
Ну и самое главное. Помогите вывести всё это в admincenter.php, как только входишь в админку. Под Статистикой Форумов сразу. Куда это надо вставить?
CODE:
<?php
$filename = "news.txt";
$newdata = $_POST['newd'];
if ($newdata != '') {
// Открываем файл
$fw = fopen($filename, 'w') or die('Невозможно открыть файл');
// Ведём запись в файл + stripslashes
$fb = fwrite($fw,stripslashes($newdata)) or die('Невозможно изменить файл');
// Закрываем
fclose($fw);
}
// Открываем файл
$fh = fopen($filename, "r") or die("Невозможно открыть файл");
// Читаем его
$data = fread($fh, filesize($filename)) or die("Невозможно прочитать файл");
// Закрываем
fclose($fh);
// Выводим его содержимое
echo 'Редактирование объявления для гостей:<br>';
include "news.txt";
echo"
<form action='$_SERVER[php_self]' method='post'>
<textarea cols=80 rows=10 name=newd> $data</textarea>
<br><input type='submit' value='Сохранить'>
</form>
";
?>
$filename = "news.txt";
$newdata = $_POST['newd'];
if ($newdata != '') {
// Открываем файл
$fw = fopen($filename, 'w') or die('Невозможно открыть файл');
// Ведём запись в файл + stripslashes
$fb = fwrite($fw,stripslashes($newdata)) or die('Невозможно изменить файл');
// Закрываем
fclose($fw);
}
// Открываем файл
$fh = fopen($filename, "r") or die("Невозможно открыть файл");
// Читаем его
$data = fread($fh, filesize($filename)) or die("Невозможно прочитать файл");
// Закрываем
fclose($fh);
// Выводим его содержимое
echo 'Редактирование объявления для гостей:<br>';
include "news.txt";
echo"
<form action='$_SERVER[php_self]' method='post'>
<textarea cols=80 rows=10 name=newd> $data</textarea>
<br><input type='submit' value='Сохранить'>
</form>
";
?>
Получилось здорово. Видно само объявление в готовом виде, все html коды отображаются вверху как в браузере, а в окне ввода - как в редакторе. Но это в отдельном php файле, в админку что-то засунуть не выходит пока.
И ещё один маленький косяк. Всё редактируется, но каждый раз при сохранении ко всему тексту слева прибавляется один пробел. 10 раз отредактировал - перед текстом появилось 10 пробелов. Как это исправить? Надо на каком-то шаге очистить форму?
Ну и самое главное. Помогите вывести всё это в admincenter.php, как только входишь в админку. Под Статистикой Форумов сразу. Куда это надо вставить?
7. electron - 13 ноября 2014 — 15:10 - перейти к сообщению
наброски добавления пунктов в админку
Тема перенесена в подраздел "Обсуждение" , собственно, где она и должна была бы быть изначально.
Тема перенесена в подраздел "Обсуждение" , собственно, где она и должна была бы быть изначально.
8. Guyver - 13 ноября 2014 — 16:25 - перейти к сообщению
В общем, всё вроде сделал, может, кому пригодится:
Объявление для гостей (его видят только гости сайта).
1. Создаём в папке admin файл news.tpl со следующим содержимым:
2. Создаём файл news.txt и кидаем его в корень форума. В нём можно написать обычный html код. Файл не должен быть пустым!
3. Прописываем вывод формы редактирования новостей в админке:
В файле admincenter.php в корне файла находим строку
И после неё вставляем:
4. Выводим новость на самом форуме.
Открываем файл templates/InvisionExBB/board_body.tpl
И в нём после
пишем
Вот и всё! Единственная проблема - после каждого редактирования в новости появляется лишний пробел перед всем текстом. Кто поможет убрать этот мелкий недостаток - тому большое спасибо ;о)
Объявление для гостей (его видят только гости сайта).
1. Создаём в папке admin файл news.tpl со следующим содержимым:
CODE:
<?php
// Отключаем вывод ошибок
error_reporting(0);
// Файл, из которого берутся новости
$filename = "news.txt";
$newdata = $_POST['newd'];
if ($newdata != '') {
// Открываем файл
$fw = fopen($filename, 'w') or die('Невозможно открыть файл');
// Ведём запись в файл + stripslashes
$fb = fwrite($fw,stripslashes($newdata)) or die('Невозможно изменить файл');
// Закрываем
fclose($fw);
}
// Открываем файл
$fh = fopen($filename, "r") or die("Невозможно открыть файл");
// Читаем его
$data = fread($fh, filesize($filename)) or die("Невозможно прочитать файл");
// Закрываем
fclose($fh);
// Выводим его содержимое
echo 'Редактирование объявления для гостей:<br>';
// Показываем как объявление будет выглядеть на форуме
include "news.txt";
echo"
<form action='$_SERVER[php_self]' method='post'>
<textarea cols=80 rows=10 name=newd> $data</textarea>
<br><input type='submit' value='Сохранить'>
</form>
";
?>
// Отключаем вывод ошибок
error_reporting(0);
// Файл, из которого берутся новости
$filename = "news.txt";
$newdata = $_POST['newd'];
if ($newdata != '') {
// Открываем файл
$fw = fopen($filename, 'w') or die('Невозможно открыть файл');
// Ведём запись в файл + stripslashes
$fb = fwrite($fw,stripslashes($newdata)) or die('Невозможно изменить файл');
// Закрываем
fclose($fw);
}
// Открываем файл
$fh = fopen($filename, "r") or die("Невозможно открыть файл");
// Читаем его
$data = fread($fh, filesize($filename)) or die("Невозможно прочитать файл");
// Закрываем
fclose($fh);
// Выводим его содержимое
echo 'Редактирование объявления для гостей:<br>';
// Показываем как объявление будет выглядеть на форуме
include "news.txt";
echo"
<form action='$_SERVER[php_self]' method='post'>
<textarea cols=80 rows=10 name=newd> $data</textarea>
<br><input type='submit' value='Сохранить'>
</form>
";
?>
2. Создаём файл news.txt и кидаем его в корень форума. В нём можно написать обычный html код. Файл не должен быть пустым!
3. Прописываем вывод формы редактирования новостей в админке:
В файле admincenter.php в корне файла находим строку
CODE:
include('./admin/index_body.tpl');
И после неё вставляем:
CODE:
include('./admin/news.tpl');
Картинка с примером (Отобразить)
4. Выводим новость на самом форуме.
Открываем файл templates/InvisionExBB/board_body.tpl
И в нём после
CODE:
LOGINS;
пишем
CODE:
if (($fm->user['status'] == 'gu'))
{
$banner = '<table style="width:100%;"><tr><td>';
$banner .= file_get_contents('news.txt');
}
else
{
$banner = '';
}
{
$banner = '<table style="width:100%;"><tr><td>';
$banner .= file_get_contents('news.txt');
}
else
{
$banner = '';
}
Картинка с примером (Отобразить)
Вот и всё! Единственная проблема - после каждого редактирования в новости появляется лишний пробел перед всем текстом. Кто поможет убрать этот мелкий недостаток - тому большое спасибо ;о)
9. Guyver - 13 ноября 2014 — 16:41 - перейти к сообщению
Пропустил ещё:
В 4 шаге в нужном вам месте необходимо вставить код
Для непосредственного вывода объявления.
В 4 шаге в нужном вам месте необходимо вставить код
CODE:
$banner
Для непосредственного вывода объявления.
10. Guyver - 13 ноября 2014 — 17:09 - перейти к сообщению
Ага, нашёл ошибку, которая выводила лишний пробел, вместо
пишем
CODE:
<textarea cols=80 rows=10 name=newd> $data</textarea>
пишем
CODE:
<textarea cols=80 rows=10 name=newd>$data</textarea>
11. Guyver - 11 октября 2015 — 13:57 - перейти к сообщению
Немного подправил код:
Вызвано это тем, что иногда можно вставить такой косячный html-код при создании объявления, что страница не догрузится до конца и не будет кнопки сохранить и даже поле ввода текста не загрузится. Теперь сперва грузятся кнопка и поле для текста, а уже потом загружается текст объявления.
П.С. Вопрос к модерам - может, я создам новую тему с вменяемым заголовком, а после этого эту тему можно будет удалить? А то название не информативное и первое сообщение я поправить сам не могу.
CODE:
<?php
error_reporting(0);
$filename = "news.txt";
$newdata = $_POST['newd'];
if ($newdata != '') {
// Открываем файл
$fw = fopen($filename, 'w') or die('Невозможно открыть файл');
// Ведём запись в файл + stripslashes
$fb = fwrite($fw,stripslashes($newdata)) or die('Невозможно изменить файл');
// Закрываем
fclose($fw);
}
// Открываем файл
$fh = fopen($filename, "r") or die("Невозможно открыть файл");
// Читаем его
$data = fread($fh, filesize($filename)) or die("Невозможно прочитать файл");
// Закрываем
fclose($fh);
// Выводим его содержимое
echo 'Редактирование объявления для гостей:<br>';
echo"
<form action='$_SERVER[php_self]' method='post'>
<textarea cols=80 rows=10 name=newd>$data</textarea>
<br><input type='submit' value='Сохранить'>
</form>
";
include "news.txt";
?>
error_reporting(0);
$filename = "news.txt";
$newdata = $_POST['newd'];
if ($newdata != '') {
// Открываем файл
$fw = fopen($filename, 'w') or die('Невозможно открыть файл');
// Ведём запись в файл + stripslashes
$fb = fwrite($fw,stripslashes($newdata)) or die('Невозможно изменить файл');
// Закрываем
fclose($fw);
}
// Открываем файл
$fh = fopen($filename, "r") or die("Невозможно открыть файл");
// Читаем его
$data = fread($fh, filesize($filename)) or die("Невозможно прочитать файл");
// Закрываем
fclose($fh);
// Выводим его содержимое
echo 'Редактирование объявления для гостей:<br>';
echo"
<form action='$_SERVER[php_self]' method='post'>
<textarea cols=80 rows=10 name=newd>$data</textarea>
<br><input type='submit' value='Сохранить'>
</form>
";
include "news.txt";
?>
Вызвано это тем, что иногда можно вставить такой косячный html-код при создании объявления, что страница не догрузится до конца и не будет кнопки сохранить и даже поле ввода текста не загрузится. Теперь сперва грузятся кнопка и поле для текста, а уже потом загружается текст объявления.
П.С. Вопрос к модерам - может, я создам новую тему с вменяемым заголовком, а после этого эту тему можно будет удалить? А то название не информативное и первое сообщение я поправить сам не могу.
12. Guyver - 17 апреля 2016 — 03:07 - перейти к сообщению
Пример html-кода:
CODE:
<p style="background-color:#D40000; color:#FFFFFF"><B><br> ОБЪЯВЛЕНИЕ: Мы наконец-то переехали на новый форум! При этом были перенесены все пользователи и часть сообщений. Чтобы войти на форум под своим логином, сделайте следующее:<br><br></p><p style="background-color:#E4EAF2; color:#cc0000"></B> 1. Узнайте, есть ли вы в списках пользователей <a href="http://ххххх/forum/tools.php?action=members" target="_blank">на странице зарегистрированных пользователей.</a> Если ваш логин был на русском языке, теперь он будет писаться транслитом.
<br></br>
2. Воспользуйтесь <a href="http://ххххх/forum/profile.php?action=lostpassword" target="_blank">формой восстановления пароля</a>, где вы должны ввести свой логин, найденный в списке зарегистрированных пользователей.</p>Если вы не получили письмо с инструкцией по восстановлению пароля, просмотрите папку со спамом. Многие зарубежные почтовые сервисы (например gmail) направляют подобные письма туда. После успешной авторизации просмотрите раздел <a href="http://ххххх/forum/announcements.php" target="_blank">"Объявления"</a>. Не забудьте настроить свой профиль: загрузить аватар, подпись и т.д.
<br></br>
2. Воспользуйтесь <a href="http://ххххх/forum/profile.php?action=lostpassword" target="_blank">формой восстановления пароля</a>, где вы должны ввести свой логин, найденный в списке зарегистрированных пользователей.</p>Если вы не получили письмо с инструкцией по восстановлению пароля, просмотрите папку со спамом. Многие зарубежные почтовые сервисы (например gmail) направляют подобные письма туда. После успешной авторизации просмотрите раздел <a href="http://ххххх/forum/announcements.php" target="_blank">"Объявления"</a>. Не забудьте настроить свой профиль: загрузить аватар, подпись и т.д.