<?php
function scan_ftp($link, $dir)
{
$file_list = ftp_rawlist($link, $dir);
// Выводим содержимое каталога
foreach($file_list as $file)
{
// Разбиваем строку по пробельным символам
list($acc,
$bloks,
$group,
$user,
$size,
$month,
$day,
$year,
$file) = preg_split("/[\s]+/", $file);
// Если файл начинается с точки - игнорируем его
if(substr($file, 0, 1) == '.') continue;
// Определяем является ли объект директорией
if(substr($acc, 0, 1) == 'd')
{
// Директория
mkdir($_SERVER['DOCUMENT_ROOT'].$dir.$file."/", 0755);
scan_ftp($link, $dir.$file."/");
}
// Определяем является ли объект файлом
if(substr($acc, 0, 1) == '-')
{
// Файл
if (ftp_get($link, $_SERVER['DOCUMENT_ROOT'].$dir.$file, $dir.$file, FTP_BINARY))
echo "Загружено: ".$dir.$file."<br>";
else echo "Не удалось загрузить операцию: ".$dir.$file."<br>";
}
flush();
}
}
if ($_POST['save']==='ok')
{
$handle = fopen("config.php", "wb");
$configtxt = "<?php
\$db_name='".$_POST['db_name']."';
\$db_host='".$_POST['db_serv']."';
\$db_user='".$_POST['db_user']."';
\$db_pwd='".$_POST['db_pass']."';
\$GLOBALS['mysql_count'] = 0;
//Seo настройки
\$GLOBALS['seo']['mode'] = true;
\$GLOBALS['seo']['title'] = '".$_POST['seo_title']."';
\$GLOBALS['seo']['keywords'] = '".$_POST['seo_key']."';
\$GLOBALS['seo']['description'] = '".$_POST['seo_desc']."';
// Название и количество меню
\$adminmenu_count = 2;
\$adminmenu_name = array('Вертикальное Меню','Горизонтальнее Меню');
// PartModule
\$default_foto='/images/nofoto.jpg';
\$GLOBALS['galery_block_count'] = 5;
\$GLOBALS['catalog_block_count'] = 5;
?>";
if (fwrite($handle, $configtxt) === FALSE)
echo "Не могу произвести запись в файл (config.php)<br>";
else echo "Создан config.php<br>";
$handle = fopen("include_all.php", "wb");
$include_all = "<?php
include_once('./includes/exproperties.php');
/*---Просто модули---*/
include_once('./includes/module.php'); // Абстрактный модуль
include_once('./includes/new_links.php');
include_once('./includes/admin.php');";
if ($_POST['sitemap']==='on') $include_all .= "\n include_once('./includes/sitemap.php');";
if ($_POST['search']==='on') $include_all .= "\n include_once('./includes/search.php');";
if ($_POST['order']==='on') $include_all .= "\n include_once('./includes/order.php');";
if ($_POST['callback']==='on') $include_all .= "\n include_once('./includes/callback.php');";
$include_all .= "include_once('./includes/faq_q.php');
include_once('./includes/content.php');
include_once('./includes/seo.php');
include_once('./includes/users.php');
/*---Part модули---*/
include_once('./includes/partmodule.php'); // Абстрактный модуль";
if ($_POST['galery']==='on') $include_all .= "\n include_once('./includes/galery.php');";
if ($_POST['faq']==='on') $include_all .= "\n include_once('./includes/faq.php');";
if ($_POST['catalog']==='on') $include_all .= "\n include_once('./includes/catalog.php');";
if ($_POST['catalog2']==='on') $include_all .= "\n include_once('./includes/catalog2.php');";
if ($_POST['basket']==='on') $include_all .= "\n include_once('./includes/basket.php');";
if ($_POST['news']==='on') $include_all .= "\n include_once('./includes/news.php');";
if ($_POST['otzivi']==='on') $include_all .= "\n include_once('./includes/otzivi.php');";
if ($_POST['spam']==='on') $include_all .= "\n include_once('./includes/spam.php');";
if ($_POST['inquirer']==='on') $include_all .= "\n include_once('./includes/inquirer.php');";
$include_all .="/*---последний модуль---*/
include_once('./includes/adminmenu.php');
include_once('./includes/menu.php');
include_once('./includes/virt.php');
\$GLOBALS['menuitem']=new menuitem();
/*----------------------------------------------------------------------------------*/
include_once('./includes/libs/Smarty.class.php');
\$GLOBALS['smarty']=new Smarty();
if (\$admin)
\$GLOBALS['smarty']->clear_all_cache();
\$GLOBALS['smarty']->compile_check = true;
\$GLOBALS['smarty']->caching = true;
\$GLOBALS['smarty']->template_dir='./tamplates/';
\$GLOBALS['smarty']->cache_dir='./cache/';
\$GLOBALS['smarty']->compile_dir='./templatesc/';
?>
";
if (fwrite($handle, $include_all) === FALSE)
echo "Не могу произвести запись в файл (include_all.php)<br>";
else echo "Создан include_all.php<br>";
$handle = fopen(".htaccess", "wb");
$arr = explode('.',$_SERVER['HTTP_HOST']);
$s ="";
for ($i=1; $i<count($arr)-1; $i++)
$s.=$arr[$i]."\.";
$s.=$arr[count($arr)-1];
$htaccess = "
Options +FollowSymLinks
Options -Indexes
RewriteEngine on
RewriteCond %{HTTP_HOST} ^$s$ [NC]
RewriteRule ^(.*)$ http://". $_SERVER['HTTP_HOST']."/$1 [R=301,L]
RewriteRule ^\?(.*)$ index.php?$1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z/_0123456789]+)$ index.php?altname=$1
ErrorDocument 404 /404/404.php
ErrorDocument 403 /404/404.php
";
if (fwrite($handle, $htaccess) === FALSE)
echo "Не могу произвести запись в файл (.htaccess)<br>";
else echo "Создан .htaccess<br>";
if (mkdir($_SERVER['DOCUMENT_ROOT']."/cache/", 0755))
echo "Создана папка кэша<br>";
if (mkdir($_SERVER['DOCUMENT_ROOT']."/templatesc/", 0755))
echo "Создана папка скомпилированных шаблонов<br>";
if (mkdir($_SERVER['DOCUMENT_ROOT']."/upload/", 0755))
echo "Создана папка загрузок<br>";
$ftp_server = "сервер";
$ftp_user = "логин";
$ftp_pass = "пасс";
$conn_id = ftp_connect($ftp_server) or die("Не удалось установить соединение с $ftp_server\n");
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
echo "Произведен вход на $ftp_server под именем $ftp_user\n";
ftp_pasv($conn_id, false);
scan_ftp($conn_id,"/");
}
echo "<h1>Установка завершена!</h1>";
echo "<ul><li>Удалите файл _setup.php</li><li>Установите права для корневой папки 755</li><li>Сбросте хозяина для всех закаченных файлов и папок</li></ul>";
}
else
{
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="ru">
<title>Установка Артена CMS</title>
</head>
<body>
<form action="/_setup.php" method="POST">
<input type='hidden' name='save' value='ok'>
Параметры БД
<hr>
База данных: <input type='text' name='db_name'><br>
Сервер: <input type='text' name='db_serv' value='localhost'><br>
Пользователь: <input type='text' name='db_user'><br>
Пароль: <input type='text' name='db_pass'><br>
<hr>
Параметры SEO
<hr>
Тайтл: <input type='text' name='seo_title'><br>
Keywords: <input type='text' name='seo_key'><br>
Description: <input type='text' name='seo_desc'><br>
<hr>
Модули
<hr>
<label><input type='checkbox' name='search'> Поиск</label>
<label><input type='checkbox' name='sitemap'> Карта сайта</label>
<label><input type='checkbox' name='order'> Бланк заказа</label>
<label><input type='checkbox' name='callback'> Обратная связь</label><br>
<label><input type='checkbox' name='galery'> Галерея</label>
<label><input type='checkbox' name='faq'> FAQ</label>
<label><input type='checkbox' name='news'> Новости</label>
<label><input type='checkbox' name='otzivi'> Отзывы</label>
<label><input type='checkbox' name='spam'> Рассылка (нужны новости)</label>
<label><input type='checkbox' name='inquirer'> Опрос</label><br>
<label><input type='checkbox' name='catalog'> Каталог</label>
<label><input type='checkbox' name='catalog2'> Сложный каталог (нужен каталог)</label>
<label><input type='checkbox' name='basket'> Корзина (нужен сложный каталог, нетривиально)</label>
<hr>
<input type='submit' value='Установить'>
</form>
</body>
</html>
<?php
}
?>
подскажите пожалуйста что не так
Спустя 50 минут, 53 секунды (19.01.2012 - 08:23) Игорь_Vasinsky написал(а):
в начале скрипта ставьте - вывод всех ошибок и нотисов
уберите все собачки @ - они глушат ошибки
error_replrting(E_ALL);
уберите все собачки @ - они глушат ошибки
Спустя 2 часа, 53 минуты, 21 секунда (19.01.2012 - 11:16) AndreyChaki написал(а):
сразу после "<?php" ?
выдает ошибку
выдает ошибку
Спустя 20 минут, 54 секунды (19.01.2012 - 11:37) AndreyChaki написал(а):
если я правильно понимаю то что то не так в этой части
копирование идет только тут
function scan_ftp($link, $dir)
{
$file_list = ftp_rawlist($link, $dir);
// Выводим содержимое каталога
foreach($file_list as $file)
{
// Разбиваем строку по пробельным символам
list($acc,
$bloks,
$group,
$user,
$size,
$month,
$day,
$year,
$file) = preg_split("/[\s]+/", $file);
// Если файл начинается с точки - игнорируем его
if(substr($file, 0, 1) == '.') continue;
// Определяем является ли объект директорией
if(substr($acc, 0, 1) == 'd')
{
// Директория
mkdir($_SERVER['DOCUMENT_ROOT'].$dir.$file."/", 0755);
scan_ftp($link, $dir.$file."/");
}
// Определяем является ли объект файлом
if(substr($acc, 0, 1) == '-')
{
// Файл
if (ftp_get($link, $_SERVER['DOCUMENT_ROOT'].$dir.$file, $dir.$file, FTP_BINARY))
echo "Загружено: ".$dir.$file."<br>";
else echo "Не удалось загрузить операцию: ".$dir.$file."<br>";
}
flush();
}
}
копирование идет только тут
Спустя 9 минут, 51 секунда (19.01.2012 - 11:47) Игорь_Vasinsky написал(а):
ошибка какая???
Спустя 8 минут, 36 секунд (19.01.2012 - 11:56) AndreyChaki написал(а):
Fatal error: Call to undefined function error_replrting() in /public_html/staim/_setup.php on line 2
<?php
error_replrting(E_ALL);
function scan_ftp($link, $dir)
Спустя 2 часа, 28 минут, 10 секунд (19.01.2012 - 14:24) nugle написал(а):
не
error_replrting(E_ALL);
а
error_reporting(E_ALL);
error_replrting(E_ALL);
а
error_reporting(E_ALL);
Спустя 4 минуты, 41 секунда (19.01.2012 - 14:29) AndreyChaki написал(а):
Notice: Undefined index: order in /home/artenaru/domains/artena.ru/public_html/staim/_setup.php on line 81
Notice: Undefined index: callback in /home/artenaru/domains/artena.ru/public_html/staim/_setup.php on line 82
Notice: Undefined index: galery in /home/artenaru/domains/artena.ru/public_html/staim/_setup.php on line 92
Notice: Undefined index: faq in /home/artenaru/domains/artena.ru/public_html/staim/_setup.php on line 93
Notice: Undefined index: catalog in /home/artenaru/domains/artena.ru/public_html/staim/_setup.php on line 94
Notice: Undefined index: catalog2 in /home/artenaru/domains/artena.ru/public_html/staim/_setup.php on line 95
Notice: Undefined index: basket in /home/artenaru/domains/artena.ru/public_html/staim/_setup.php on line 96
Notice: Undefined index: news in /home/artenaru/domains/artena.ru/public_html/staim/_setup.php on line 97
Notice: Undefined index: otzivi in /home/artenaru/domains/artena.ru/public_html/staim/_setup.php on line 98
Notice: Undefined index: spam in /home/artenaru/domains/artena.ru/public_html/staim/_setup.php on line 99
Notice: Undefined index: inquirer in /home/artenaru/domains/artena.ru/public_html/staim/_setup.php on line 100
Warning: mkdir() [function.mkdir]: File exists in /home/artenaru/domains/artena.ru/public_html/staim/_setup.php on line 154
все ошибки после запуска
Спустя 2 минуты, 56 секунд (19.01.2012 - 14:32) nugle написал(а):
AndreyChaki
тебе пишут, что не известные ключи массива.
вначале сделай проверку на существования массива с данным ключом и присвой его переменной, т.е. так
$var = !empty($_POST['var']) ? $_POST['var'] : null;
А последняя ошибка говорит о том, что файл уже существует
тебе пишут, что не известные ключи массива.
вначале сделай проверку на существования массива с данным ключом и присвой его переменной, т.е. так
$var = !empty($_POST['var']) ? $_POST['var'] : null;
А последняя ошибка говорит о том, что файл уже существует
Спустя 14 минут, 38 секунд (19.01.2012 - 14:46) AndreyChaki написал(а):
у меня проблема совсем не в этом, скрипт заходит на сервер и копирует оттуда все файлы в папку где находится он сам, по непонятным мне причинам он перестал копировать файлы
Спустя 15 часов, 30 минут, 5 секунд (20.01.2012 - 06:16) AndreyChaki написал(а):
подскажите пожалуйста, вопрос работы и увольнения
Спустя 6 дней, 5 часов, 14 минут, 22 секунды (26.01.2012 - 11:31) AndreyChaki написал(а):
проблема все еще имеется