Joywork/cron/copy.php
2026-05-22 21:21:54 +03:00

157 lines
6.7 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
set_time_limit(0);
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Документ без названия</title>
</head>
<body>
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE);
$sql = "SELECT * FROM object_photo where photo <> '' and ((NOT photo LIKE '%http://%' AND NOT photo LIKE '%https://%') OR (photo LIKE '%http://joywork.ru%' OR photo LIKE '%https://joywork.ru%'))";
$rez = mysql_query($sql); $j = 0;
$result = SelectelApi::getTokenAndUrl();
$token = $result[0];
$storageUrl = $result[1];
while($obj = mysql_fetch_assoc($rez)) {
if(isset($obj['photo']) && $obj['photo']) {
// может быть новая фотка и старые, уже скопированные - поэтому мы проверяем наличие пути к хранилищу
if (strpos($obj['photo'], "data.joywork.ru") === false) {
$obj['photo'] = str_replace('https://joywork.ru/photos/', '', $obj['photo']);
$obj['photo'] = str_replace('http://joywork.ru/photos/', '', $obj['photo']);
$srcFile = $_SERVER['DOCUMENT_ROOT'] . "/photos/" . $obj['photo'];
echo $obj["id"].": ".$srcFile . " - ";
if (is_file($srcFile)) {
$data_to_send = file_get_contents($srcFile);
if (empty($data_to_send) or stripos($data_to_send, "<html") !== false) {
if (!$_GET['dev']) {
$objectPhotoId = $obj['id'];
$sqlDeletePhoto = "DELETE FROM object_photo WHERE id = $objectPhotoId";
mysql_query($sqlDeletePhoto);
$sqlDeletePhotoLink = "DELETE FROM objects_object_photo WHERE object_photo_id = $objectPhotoId";
mysql_query($sqlDeletePhotoLink);
unlink($srcFile);
}
echo "удалён";
} else {
$strArray = explode(".", $obj['photo']);
$ext = end($strArray);
if ($ext == "pjpeg") {
$ext = "jpeg";
}
if (strlen($ext) > 4) {
str_replace($ext, 'jpg', $obj['photo']);
$ext = 'jpg';
}
//загрузка в Selectel
$r = SelectelApi::uploadFile($storageUrl, $token, $srcFile, $obj['photo'], 'image/'.$ext);
//если выложили в Selectel
if ($r) {
//заменяем путь на новый
$new_path = "https://data.joywork.ru/" . $obj['photo'];
$objectPhotoId = $obj['id'];
$sqlUpdPhoto = "UPDATE object_photo SET photo='$new_path' WHERE id = $objectPhotoId";
mysql_query($sqlUpdPhoto);
//удаляем файл с локального сервера
unlink($srcFile);
} else {
echo "не скопирован в " . $obj['photo'];
}
}
} else {
echo "не файл";
$objectPhotoId = $obj['id'];
$sqlDeletePhoto = "DELETE FROM object_photo WHERE id = $objectPhotoId";
mysql_query($sqlDeletePhoto);
$sqlDeletePhotoLink = "DELETE FROM objects_object_photo WHERE object_photo_id = $objectPhotoId";
mysql_query($sqlDeletePhotoLink);
}
echo "<br>";
}
}
$j++;
}
$sql = "SELECT * FROM objects_plan WHERE img_plan <> 'https://joywork.ru/photos/' and ((NOT img_plan LIKE '%http://%' AND NOT img_plan LIKE '%https://%') OR (img_plan LIKE '%http://joywork.ru%' OR img_plan LIKE '%https://joywork.ru%')) AND img_plan <> '' ORDER BY RAND()";
$rez = mysql_query($sql); $j = 0;
while($obj = mysql_fetch_assoc($rez))
{
if($obj['img_plan']) {
// может быть новая фотка и старые, уже скопированные - поэтому мы проверяем наличие пути к хранилищу
if (strpos($obj['img_plan'], "data.joywork.ru") === false && $obj['img_plan'] != 'https://joywork.ru/photos/' && $obj['img_plan'] != 'http://joywork.ru/photos/') {
$obj['img_plan'] = str_replace('https://joywork.ru/photos/', '', $obj['img_plan']);
$obj['img_plan'] = str_replace('http://joywork.ru/photos/', '', $obj['img_plan']);
$srcFile = $_SERVER['DOCUMENT_ROOT'] . "/photos/" . $obj['img_plan'];
echo $obj["object_id"].": ".$srcFile . " - ";
if (is_file($srcFile)) {
$data_to_send = file_get_contents($srcFile);
if (empty($data_to_send) or stripos($data_to_send, "<html") !== false) {
if (!$_GET['dev']) {
$sql = "UPDATE objects_plan SET img_plan='' WHERE object_id=$obj[object_id]";
mysql_query($sql);
unlink($srcFile);
}
echo "удалён";
} else {
$strArray = explode(".", $obj['img_plan']);
$ext = end($strArray);
if ($ext == "pjpeg") {
$ext = "jpeg";
}
if (strlen($ext) > 4) {
str_replace($ext, 'jpg', $obj['img_plan']);
$ext = 'jpg';
}
//загрузка в Selectel
$r = SelectelApi::uploadFile($storageUrl, $token, $srcFile, $obj['img_plan'], 'image/'.$ext);
//если выложили в Selectel
if ($r) {
//заменяем путь на новый
$new_path = "https://data.joywork.ru/" . $obj['img_plan'];
$sql = "UPDATE objects_plan SET img_plan='$new_path' WHERE object_id=$obj[object_id]";
mysql_query($sql);
//удаляем файл с локального сервера
unlink($srcFile);
} else {
echo "не скопирован в " . $obj['photo'];
}
}
} else {
echo "не файл";
$sql = "UPDATE objects_plan SET img_plan='' WHERE object_id=$obj[object_id]";
mysql_query($sql);
}
echo "<br>";
}
}
}
?>
</body>
</html>