<?xml version="1.0" encoding="utf-8"?>
<FictionBook xmlns="http://www.gribuser.ru/xml/fictionbook/2.0" xmlns:l="http://www.w3.org/1999/xlink">
<stylesheet type="text/css">
.body{font-family : Verdana, Geneva, Arial, Helvetica, sans-serif;
}
.p{margin:0.5em 0 0 0.3em; padding:0.2em; text-align:justify;
}
</stylesheet>
<description>
<title-info>
<genre>sf_history</genre>
<author>
<first-name>Имя автора</first-name>
<last-name>Фамилия автора</last-name>
</author>
<book-title>Название книги</book-title>
<annotation></annotation>
<date>Дата</date>
<lang>ru</lang>
</title-info>
<document-info>
<author><nickname></nickname>
</author>
<program-used>Lib converter jcms</program-used>
<date value=""></date>
<src-url>http://johncms.com</src-url>
<id></id>
<version>1.0</version>
<history><p>book</p></history>
</document-info>
</description>
<body>
<title><p>Делаем второй ЗЦ</p>
</title>
<section><p>Многие спрашивают, как же сделать второй зц на сайте. В этой статье я постараюсь описать </p>
<p></p>
<p>данный процесс.</p>
<p>Примером для наших экспериментов будет родной ЗЦ</p>
<p>Итак начнем:</p>
<p>Создаем папку dl и кидаем туда все папки и файлы от родного зц</p>
<p></p>
<p>1 нам необходимо сделать новую таблицу в базе данных- `dl`. Для создания базы нам необходимо </p>
<p></p>
<p>зайти в phpmyadmin  и сделать такой sql запрос:</p>
<p>DROP TABLE IF EXISTS `dl`;</p>
<p>CREATE TABLE `dl` (</p>
<p>  `id` int(11) NOT NULL auto_increment,</p>
<p>  `refid` int(11) NOT NULL,</p>
<p>  `adres` text NOT NULL,</p>
<p>  `time` int(11) NOT NULL,</p>
<p>  `name` text NOT NULL,</p>
<p>  `type` varchar(4) NOT NULL,</p>
<p>  `avtor` varchar(25) NOT NULL,</p>
<p>  `ip` text NOT NULL,</p>
<p>  `soft` text NOT NULL,</p>
<p>  `text` text NOT NULL,</p>
<p>  `screen` text NOT NULL,</p>
<p>  PRIMARY KEY  (`id`),</p>
<p>  KEY `refid` (`refid`),</p>
<p>  KEY `type` (`type`),</p>
<p>  KEY `time` (`time`)</p>
<p>) ENGINE=MyISAM DEFAULT CHARSET=utf8;</p>
<p> - это создаст новую базу</p>
<p></p>
<p>2 если мы хотим сделать загруз полноценным модулем системы, то необходимо сделать еще кое </p>
<p></p>
<p>какие изменения  в базе, а именно в таблице `cms_settings` сделать запрос такого типа </p>
<p>INSERT INTO `cms_settings` (`key`, `val`) VALUES</p>
<p>('mod_dl', '1'),</p>
<p>('mod_dl_msg', 'Загрузки временно закрыты');</p>
<p></p>
<p>3 Далее переходим к самому загрузу. нам необхордимо пакетное преобразование файлов, ибо все </p>
<p></p>
<p>делать в ручную очень долго и нудно, я рекомендую программу PsPad (скачать можно тут </p>
<p></p>
<p>www.pspad.com/ru/ ) Программа простая и тем не менее предлагает широкий спктр инструментов </p>
<p></p>
<p>для разработчика.</p>
<p></p>
<p>4 открываем программу, открываем папку(dl) с загрузом, выделяем все файлы и перетаскиваем их </p>
<p></p>
<p>в рабочее поле пограммы pspad (далее программы).</p>
<p></p>
<p>5 Далее в  на панели инструментов ищем кнопку "поиск и/или замена файла" и делаем так:</p>
<p>В поле исходный текст пишем download? ставим галку заменить на, вписываем dl ставим кодировку </p>
<p></p>
<p>UTF-8 и границы поиска- Открытые файлыю жмем ОК видим 67 вхождений download найдено в 22 </p>
<p></p>
<p>файлах. Ура замена прошла успешно.</p>
<p></p>
<p>6 В файле index.php ищем строку 27 и пишем так</p>
<p>// Закрываем доступ к загрузкам</p>
<p>if (!$set['mod_dl'] && $dostadm != 1)</p>
<p>{</p>
<p>    require_once ("../incfiles/head.php");</p>
<p>    echo '<p>' . $set['mod_dl_msg'] . '</p>';</p>
<p>    require_once ("../incfiles/end.php");</p>
<p>    exit;</p>
<p>}</p>
<p>В строке 44</p>
<p>if (!$set['mod_dl'])</p>
<p></p>
<p>7 создаем файл config.php и кидаем его в папку dl:</p>
<p><?php</p>
<p>defined('_IN_JOHNCMS') or die('Error: restricted access');</p>
<p>// Статистика загрузок //</p>
<p>function dlcount()</p>
<p>{</p>
<p>    global $realtime;</p>
<p>    $fl = mysql_num_rows(mysql_query("select `id` from `dl` where `type`='file' ;"));</p>
<p>    $old = $realtime - (3 * 24 * 3600);</p>
<p>    $fl1 = mysql_num_rows(mysql_query("select `id` from `dl` where `time` > '" . $old . "' </p>
<p></p>
<p>and `type`='file' ;"));</p>
<p>    $out = $fl;</p>
<p>    if ($fl1 > 0)</p>
<p>    {</p>
<p>        $out = $out . "/<a href='dl/index.php?act=new'><font </p>
<p></p>
<p>color='#FF0000'>+$fl1</font></a>";</p>
<p>    }</p>
<p>    return $out;</p>
<p>}</p>
<p>// проверка на существование каталога //</p>
<p>function prov1($catalog)</p>
<p>{</p>
<p>    $cat1 = mysql_query("select * from `dl` where type='cat' and id = '" . $catalog . "';");</p>
<p>    $cat2 = mysql_num_rows($cat1);</p>
<p>    $adrdir = mysql_fetch_array($cat1);</p>
<p>    if (($cat2 == 0) || (!is_dir("$adrdir[adres]/$adrdir[name]")))</p>
<p>    {</p>
<p>        echo "Ошибка при выборе категории<br/><a href='?'>К категориям</a><br/>";</p>
<p>        require_once ('../incfiles/end.php');</p>
<p>        exit;</p>
<p>    }</p>
<p>}</p>
<p>?></p>
<p>в индексе после 19 строки вставляем</p>
<p>require_once ("config.php");</p>
<p></p>
<p>8 Далее делаем еще одно пакетное преобразование (см. пункт 3) меняем provcat на provcat1 </p>
<p></p>
<p>(7вхождений)</p>
<p></p>
<p>9 Далее открываем файл ../pages/mainmenu.php и вставляем куда необходимо </p>
<p>require_once ("dl/config.php");</p>
<p>        echo '<div class="menu"><a href="dl/">Загрузки2</a> (' . dlcount() . ')</div>';</p>
<p></p>
<p>10 В папке panel находим файл main.php открываем программой, ищем строку 114 (case </p>
<p></p>
<p>'modules':) после 147 строки вставляем </p>
<p>echo '<input name="dl" type="checkbox" value="1" ' . ($set['mod_dl'] ? 'checked="checked"' : </p>
<p></p>
<p>'') . ' />&nbsp;загрузки2<br />';</p>
<p>после 130 строки вставляем </p>
<p>mysql_query("UPDATE `cms_settings` SET `val`='" . (isset($_POST['dl']) ? intval($_POST['dl']) </p>
<p></p>
<p>: 0) . "' WHERE `key`='mod_dl';");</p>
<p></p>
<p>11 все файлы которые вы редактировали (все в папке dl), mainmenu.php, main.php льете на хост, </p>
<p></p>
<p>Ставите chmod 777 на папки:</p>
<p>/dl/arctemp/</p>
<p>/dl/files/</p>
<p>/dl/graftemp/</p>
<p>/dl/screen/</p>
<p>/dl/mp3temp/</p>
<p>/dl/upl/</p>
<p></p>
<p>12 готова!</p>
</section>
</body>
</FictionBook>