Делаем второй ЗЦ

Многие спрашивают, как же сделать второй зц на сайте. В этой статье я постараюсь описать

данный процесс.
Примером для наших экспериментов будет родной ЗЦ
Итак начнем:
Создаем папку dl и кидаем туда все папки и файлы от родного зц

1 нам необходимо сделать новую таблицу в базе данных- `dl`. Для создания базы нам необходимо

зайти в phpmyadmin и сделать такой sql запрос:
DROP TABLE IF EXISTS `dl`;
CREATE TABLE `dl` (
`id` int(11) NOT NULL auto_increment,
`refid` int(11) NOT NULL,
`adres` text NOT NULL,
`time` int(11) NOT NULL,
`name` text NOT NULL,
`type` varchar(4) NOT NULL,
`avtor` varchar(25) NOT NULL,
`ip` text NOT NULL,
`soft` text NOT NULL,
`text` text NOT NULL,
`screen` text NOT NULL,
PRIMARY KEY (`id`),
KEY `refid` (`refid`),
KEY `type` (`type`),
KEY `time` (`time`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
- это создаст новую базу

2 если мы хотим сделать загруз полноценным модулем системы, то необходимо сделать еще кое

какие изменения в базе, а именно в таблице `cms_settings` сделать запрос такого типа
INSERT INTO `cms_settings` (`key`, `val`) VALUES
('mod_dl', '1'),
('mod_dl_msg', 'Загрузки временно закрыты');

3 Далее переходим к самому загрузу. нам необхордимо пакетное преобразование файлов, ибо все

делать в ручную очень долго и нудно, я рекомендую программу PsPad (скачать можно тут

www.pspad.com/ru/ ) Программа простая и тем не менее предлагает широкий спктр инструментов

для разработчика.

4 открываем программу, открываем папку(dl) с загрузом, выделяем все файлы и перетаскиваем их

в рабочее поле пограммы pspad (далее программы).

5 Далее в на панели инструментов ищем кнопку "поиск и/или замена файла" и делаем так:
В поле исходный текст пишем download? ставим галку заменить на, вписываем dl ставим кодировку

UTF-8 и границы поиска- Открытые файлыю жмем ОК видим 67 вхождений download найдено в 22

файлах. Ура замена прошла успешно.

6 В файле index.php ищем строку 27 и пишем так
// Закрываем доступ к загрузкам
if (!$set['mod_dl'] && $dostadm != 1)
{
require_once ("../incfiles/head.php");
echo '<p>' . $set['mod_dl_msg'] . '</p>';
require_once ("../incfiles/end.php");
exit;
}
В строке 44
if (!$set['mod_dl'])

7 создаем файл config.php и кидаем его в папку dl:
<?php
defined('_IN_JOHNCMS') or die('Error: restricted access');
// Статистика загрузок //
function dlcount()
{
global $realtime;
$fl = mysql_num_rows(mysql_query("select `id` from `dl` where `type`='file' ;"));
$old = $realtime - (3 * 24 * 3600);
$fl1 = mysql_num_rows(mysql_query("select `id` from `dl` where `time` > '" . $old . "'

and `type`='file' ;"));
$out = $fl;
if ($fl1 > 0)
{
$out = $out . "/<a href='dl/index.php?act=new'><font

color='#FF0000'>+$fl1</font></a>";
}
return $out;
}
// проверка на существование каталога //
function prov1($catalog)
{
$cat1 = mysql_query("select * from `dl` where type='cat' and id = '" . $catalog . "';");
$cat2 = mysql_num_rows($cat1);
$adrdir = mysql_fetch_array($cat1);
if (($cat2 == 0) || (!is_dir("$adrdir[adres]/$adrdir[name]")))
{
echo "Ошибка при выборе категории<br/><a href='?'>К категориям</a><br/>";
require_once ('../incfiles/end.php');
exit;
}
}
?>
в индексе после 19 строки вставляем
require_once ("config.php");

8 Далее делаем еще одно пакетное преобразование (см. пункт 3) меняем provcat на provcat1

(7вхождений)

9 Далее открываем файл ../pages/mainmenu.php и вставляем куда необходимо
require_once ("dl/config.php");
echo '<div class="menu"><a href="dl/">Загрузки2</a> (' . dlcount() . ')</div>';

10 В папке panel находим файл main.php открываем программой, ищем строку 114 (case

'modules' после 147 строки вставляем
echo '<input name="dl" type="checkbox" value="1" ' . ($set['mod_dl'] ? 'checked="checked"' :

'') . ' />&nbsp;загрузки2<br />';
после 130 строки вставляем
mysql_query("UPDATE `cms_settings` SET `val`='" . (isset($_POST['dl']) ? intval($_POST['dl'])

: 0) . "' WHERE `key`='mod_dl';");

11 все файлы которые вы редактировали (все в папке dl), mainmenu.php, main.php льете на хост,

Ставите chmod 777 на папки:
/dl/arctemp/
/dl/files/
/dl/graftemp/
/dl/screen/
/dl/mp3temp/
/dl/upl/

12 готова!
Скачать файл txt fb2
Теги: php | johncms
Добавил: segOro (4 мая 2009 г., 12:33)
Рейтинг: (0)
Прочитано: 12531