Dleshka.org
Авторизация

Скачать Статья Upgrade файлов для DLE

-1
TipTop 7-12-2009 Разное 0 комментариев
Статья Upgrade файлов для DLE


Данная статья для всех CMS! Это алгоритм написания файла который обновит файлы,не открывая их. ( для DataLife Engine очень удобно при написании Хаков!
Demo нет ( так как нет времени у автора:()

Вставляем новые данные на 5 строку, а саму 5 строку передвигаем на 6:
<?
$file="test.php"; # файл, в которой добавляем нужную нам строку
$line="5"; # строка, на которую вставляем новые данные
$data="новая строка"; # данные новой строки

$array=file($file);

$open=fopen($file,"w");
while(list($num,$string)=each($array))
{
if(($num+1)==$line) fwrite($open,$data."\r\n");
fwrite($open,$string);
}
fclose($open);
?>



Заменяем нужную строку в файле:
<?
$line="1"; # строка, которую нужно изменить
$replace="Текст замены"; # на что нужно изменить
$filesedit = "test.php";#путь к файлу

$file=file("$filesedit");
$open=fopen("$filesedit","w"); 

for($i=0;$i<count($file);$i++)
{
if(($i+1)!=$line){fwrite($open,$file[$i]);}
else{fwrite($open,$replace."\r\n");}
}

fclose($open); 
?>



Удаляем нужную строку из файла:

<?
$line="1"; # строка, которую нужно удалить
$filesedit = "test.php";#путь к файлу
$file=file("$filesedit");
$open=fopen("$filesedit","w"); 
for($i=0;$i<count($file);$i++)
{
if(($i+1)!=$line){fwrite($open,$file[$i]);}
}

fclose($open); 
?>



Добавляем новую строку в конец файла:
<?
$filesedit ="test.php";
$open=fopen("$filesedit","a");
fwrite($open,"новая строка\r\n");
fclose($open); 
?>



Думаю с этим все ясно ( как вставлять в php обьяснять не буду , читаем книжки :) или долбим форум программистов)

Начнем оформлять ( основу я взял с прошлого урока)

1.css

body { /* Общий стиль страницы */
background: #101010; /* Цвет фона */
}
a { /* оформление тэг "a" */
color: #fff;/* Цвет */
}
h5 { /* оформение тэга "h5" */
font: 16px Arial, Verdana, Tahoma, sans-serif; /* Настройка шрифта */
color: #fff; /* Цвет шрифта */
margin: 0 auto 40px;
padding: 0;
text-align: center; /* Размещение по центру */
width: 80%; /* Ширина */
}

h6 { /* Оформление тэга "р6" */
font: 12px Arial, Verdana, Tahoma, sans-serif; /* Настройка шрифта */
color: #fff; /* Цвет шрифта */
margin: 0 auto 40px;
padding: 0;
text-align: center; /* Размещение по центру */
width: 80%;/* Ширина */
}

h2 {/* Оформление тэга "р2" */
font: 28px tahoma, verdana, arial, sans-serif;/* Настройка шрифта */
font-weight: bold;
color: #84e03a;/* Цвет шрифта */
margin: 0;
padding: 0 0 10px 0;
}
div { /* Оформление БЛОГа */
border: 2px solid #1d1d1d; 
padding: 10px;
font: 12px Verdana, Tahoma, Arial, sans-serif;/* Шрифт */
width: 600px;/* Ширина*/
margin: 10px auto;
color: #fff;/* цвет */
}
/* Далее все по примеру выше :) Все просто учим CSS если не понятно что то */
label, input {
font: 14px Verdana, Tahoma, Arial, sans-serif;
}
label {
display: block;
width: 100px;
float: left;
color: #fff;
}
input {
border: 0;
padding: 2px;
}
input#install {
display: block;
background-color: #101010;
color: #84e03a;
font: 32px Verdana, Tahoma, Arial, sans-serif;
margin: 0 auto;
text-decoration: underline;
}
input#username, input#password, input#email, label {
margin-top: 10px;
}
input#username {
clear: right;
}
div.error {
color: #ff0000;
text-align: center;
}
div.success {
color: #84e03a;
text-align: center;
}




Создаем upgrade.php и начинаем обновлять :)
Создаем шапку
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<!-- Скрипт проверки принятия соглашения / лицензии -->
<script type="text/javascript">
function agreeForm(f) {    // Если поставлен флажок, снимаем блокирование кнопки    
if (f.agree.checked) f.install.disabled = 0 // В противном случае вновь блокируем кнопку    
else f.install.disabled = 1   }  
</script>
<!-- Кодировка -->
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<!-- Название установщика -->
<title>Установка Хаков / обновление файлов</title>
<!-- Подключаем CSS (оформление) -->
<link rel="stylesheet" type="text/css" href="1.css">



Создаем тело и 2 блога (знакомства с Хаком (пишим чо хотим) , название шаблона ( для DataLife Engine - так как этот скрипт не может получить адрес вашего шаблона самостоятельно , принуждаем его насильно ) )


<body>
<h5> Лого </h5>
<?php
if(!$_GET['go']) {
?>

<form method="post" action="upgrade.php?go=true">
<div>
<h2>Обновлялка</h2>

<h6>Обновит все что захотите на вашем сайте :)
</h6>  

</div>


<div>
<h2>Данные</h2>
<table>
<tr> <td align=right>Название шаблона</td><td align=left><input type=text name=temp value=Default>
</td></tr>        
</table><input type="submit" name="install" value="Далее">  
</div>


</form>




Внимание "$temp" (название шаблона по умолчанию будет DEFAULT) - может не работать :( ( обьясню позже как исправить , но думаю вы поймете сами по ходу дела)

Создаем саму установку


<?php
} else {
?>



<div>
<h2>Проверка файлов...</h2>
<h5>на доуступность <BR></h5>
<?
$filename = 'engine/modules/pm.php';
if (file_exists($filename)) {
  print "Файл <b>$filename</b> существует";
} else {
  print "Файл <b>$filename</b> 
        НЕ существует";
}
Echo '<BR>';
$filename = 'templates/$temp/css/engine.css';
if (file_exists($filename)) {
  print "Файл <b>$filename</b> существует";
} else {
  print "Файл <b>$filename</b> 
        НЕ существует";
}
Echo '<BR>';
$filename = 'templates/$temp/pm.tpl';
if (file_exists($filename)) {
  print "Файл <b>$filename</b> существует";
} else {
  print "Файл <b>$filename</b> 
        НЕ существует";
}

Echo '<BR>';
?>

</div>

<DIV><H2>Обновляю...</H2>
[u]ТУТ ПИШИМ КОД УКАЗАНЫЕ В НАЧАЛЕ СТАТЬИ!!! [/u]



</DIV>



<div class="<?php if($error) print 'error'; else print 'success'; ?>">
<h2>Установка/обновление окончена!</h2>
<?php
if($error)
print 'Ошибка при установки!';
else
print 'Установка/обновление окончена! <a href="index.php">главная</a>';
?>

<h6><a href=http://kooalfree.ru>Kooal Free</a> &copy 2009</h6>
</div>
<?php } ?>



Закрываем тело :)

</body>
</html>




Зачем это надо?
Ну если вы написали Хак для DataLife Engine , вам скажут спасибо если вы сделаете к нему авто установщик а не греб*ный TXT файл с которым куча мороки :)

Примечание ( данный модуль войдет в урок Install v2 )
Информация
Зарегистрируйтесь чтобы комментировать публикацию.
Авторизация