forked from martyr83/GetUpdateBitrix
-
Notifications
You must be signed in to change notification settings - Fork 0
/
get_upd.php
72 lines (61 loc) · 2.39 KB
/
get_upd.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php");
require("./get_function.php");
require("./get_const.php");
//Если передана команда на скачивания
if($_REQUEST['action']=='dwl'){
//Возвращает 1 если все прошло успешно
//возвращает -1 если файл уже присутствует
//возвращает 0 если произошла ошибка
$request = array(
'id' => $_REQUEST['id'],
'ver' => $_REQUEST['ver'],
'prevver' => $_REQUEST['prevver'],
'type' => $_REQUEST['type'],
);
$result = downloadModule($request);
if($request['ver']){
$id = str_replace('.', '-',$_REQUEST['id']);
$id .= '-'.str_replace('.', '-',$_REQUEST['ver']);
}
else $id = str_replace('.', '-',$_REQUEST['id']);
if(is_string($result)){
$result = str_replace('control-', 'new-control-', $result);
$result = str_replace('infoAJAX', '1', $result);
echo $result;
}
elseif($result === FALSE) echo '<div id="'.$id.'-inf" class="0"></div>';
elseif($result === TRUE) echo '<div id="'.$id.'-inf" class="-1"></div>';
}
//Если передана команда на обновление
if($_REQUEST['action']=='upd'){
$request = array(
'file' => $_REQUEST['file'],
'id' => $_REQUEST['id'],
'ver' => $_REQUEST['ver'],
'prevver' => $_REQUEST['prevver'],
'type' => $_REQUEST['type'],
);
//расспаковываем файл для установки
$unarch = unarch($request['file']);
$updatesDir = "update_".$request['file'];
$id = str_replace('.', '-',$_REQUEST['id']);
$strError = '';
$uptd = CUpdateClientPartner::UpdateStepModules($updatesDir, $strError);
if (!$uptd || !$unarch) {echo '<div id="'.$id.'-inf" class="0"></div>';}
else {
rebuild();
if($request['type'] == 'mod'){
$result = infForModule($_SESSION['KeyInfo']['MODULES'][$request['id']]);
$result = str_replace('control-', 'new-control-', $result);
$result = str_replace('infoAJAX', '1', $result);
echo $result;
}elseif($request['type'] == 'delta'){
$result = infForDelta($_SESSION['KeyInfo']['MODULES'][$request['id']],$_SESSION['KeyInfo']['MODULES'][$request['id']]['VERSIONS'][$request['ver']],$request['prevver']);
$result = str_replace('control-', 'new-control-', $result);
$result = str_replace('infoAJAX', '1', $result);
echo $result;
}
}
}
?>