231 lines
7.4 KiB
PHP
231 lines
7.4 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
require_once($_SERVER['DOCUMENT_ROOT']."/config.php");
|
||
|
|
|
||
|
|
//ini_set('display_errors', 1);
|
||
|
|
|
||
|
|
//error_reporting(E_ALL & ~E_DEPRECATED & ~E_STRICT & ~E_NOTICE);
|
||
|
|
|
||
|
|
|
||
|
|
if($_SESSION['id'] && isset($_POST['objId']) && is_numeric($_POST['objId']) && isset($_POST['text'])) {
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
$sql3="SELECT * FROM objects WHERE objects.id = $_POST[objId]";
|
||
|
|
|
||
|
|
$rez_obj=mysql_query($sql3);
|
||
|
|
|
||
|
|
$obj=mysql_fetch_assoc($rez_obj);
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
if ($obj) {
|
||
|
|
|
||
|
|
$sqlPhotoInfo = "SELECT oop.sort_order, p.photo FROM objects_object_photo oop, object_photo p WHERE p.id = oop.object_photo_id AND oop.object_id = $obj[id] ORDER BY oop.sort_order";
|
||
|
|
$rezPhotoInfo = mysql_query($sqlPhotoInfo);
|
||
|
|
|
||
|
|
if (mysql_num_rows($rezPhotoInfo) > 0) {
|
||
|
|
while ($photoInfo = mysql_fetch_assoc($rezPhotoInfo)) {
|
||
|
|
$obj['photo' . $photoInfo['sort_order']] = $photoInfo['photo'];
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
$sqlUser = "SELECT * FROM users WHERE id = $_SESSION[id]";
|
||
|
|
|
||
|
|
$rez_user = mysql_query($sqlUser);
|
||
|
|
|
||
|
|
$user = mysql_fetch_assoc($rez_user);
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
if (isset($user['vk_token'])) {
|
||
|
|
|
||
|
|
|
||
|
|
$config['access_token'] = $user['vk_token'];
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
require_once("../vk.php");
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
$v = new Vk($config);
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
$files = array();
|
||
|
|
|
||
|
|
|
||
|
|
if( !is_dir( $_SERVER['DOCUMENT_ROOT'] . "/photos" ) ) {
|
||
|
|
|
||
|
|
@mkdir( $_SERVER['DOCUMENT_ROOT'] . "/photos", 0777 );
|
||
|
|
@chmod( $_SERVER['DOCUMENT_ROOT'] . "/photos", 0777 );
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
if( !is_dir( $_SERVER['DOCUMENT_ROOT'] . "/photos/vk_temp" ) ) {
|
||
|
|
|
||
|
|
@mkdir( $_SERVER['DOCUMENT_ROOT'] . "/photos/vk_temp", 0777 );
|
||
|
|
@CHMOD( $_SERVER['DOCUMENT_ROOT'] . "/photos/vk_temp", 0777 );
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
if( !is_dir( $_SERVER['DOCUMENT_ROOT'] . "/photos/vk_temp/" . $obj['id'] ) ) {
|
||
|
|
|
||
|
|
@mkdir( $_SERVER['DOCUMENT_ROOT'] . "/photos/vk_temp/" . $obj['id'], 0777 );
|
||
|
|
@CHMOD( $_SERVER['DOCUMENT_ROOT'] . "/photos/vk_temp/" . $obj['id'], 0777 );
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
for ($num = 1; $num <= 20; $num++) {
|
||
|
|
|
||
|
|
if (isset($obj['photo' . $num]) && $obj['photo' . $num]) {
|
||
|
|
|
||
|
|
if (stripos($obj['photo' . $num], "http://") === false && stripos($obj['photo' . $num], "https://") === false) {
|
||
|
|
if (substr($obj['photo' . $num], -1) == '.') {
|
||
|
|
$pathInfo = pathinfo($obj['photo' . $num]);
|
||
|
|
file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/photos/vk_temp/" . $obj['id'] . "/" . $pathInfo['basename'] . 'jpg', file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/photos/' . $obj['photo' . $num]));
|
||
|
|
$obj['photo' . $num] = $_SERVER['DOCUMENT_ROOT'] . '/photos/vk_temp/' . $obj['id'] . "/" . $pathInfo['basename'] . 'jpg';
|
||
|
|
} else {
|
||
|
|
$obj['photo' . $num] = $_SERVER['DOCUMENT_ROOT'] . '/photos/' . $obj['photo' . $num];
|
||
|
|
}
|
||
|
|
} else {
|
||
|
|
$pathInfo = pathinfo($obj['photo' . $num]);
|
||
|
|
|
||
|
|
$filename = $pathInfo['basename'];
|
||
|
|
$lastPos = strrpos($filename, '.');
|
||
|
|
if ($lastPos) {
|
||
|
|
$filename = substr($filename, $lastPos);
|
||
|
|
}
|
||
|
|
if (mb_strlen($filename) > 5) {
|
||
|
|
$filename = ".jpg";
|
||
|
|
}
|
||
|
|
|
||
|
|
file_put_contents($_SERVER['DOCUMENT_ROOT'] . "/photos/vk_temp/" . $obj['id'] . "/" . $num . $filename, file_get_contents($obj['photo' . $num]));
|
||
|
|
|
||
|
|
$obj['photo' . $num] = $_SERVER['DOCUMENT_ROOT'] . '/photos/vk_temp/' . $obj['id'] . "/" . $num . $filename;
|
||
|
|
}
|
||
|
|
|
||
|
|
$files[] = $obj['photo' . $num];
|
||
|
|
if (count($files) == 5) {
|
||
|
|
break;
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
$vkGroupIds = explode(",", trim($user['vk_group_id'], ","));
|
||
|
|
|
||
|
|
$error = "";
|
||
|
|
|
||
|
|
if($_POST['toGroup'] == '1') {
|
||
|
|
|
||
|
|
foreach($vkGroupIds as $vkGroupId){
|
||
|
|
|
||
|
|
if (in_array(trim($vkGroupId), $_POST['groupIds'])) {
|
||
|
|
|
||
|
|
$method = 'wall.post';
|
||
|
|
|
||
|
|
$params = array(); //в этом массиве - параметры, которые мы отправляем
|
||
|
|
|
||
|
|
$params['message'] = $_POST['text']; //в данном случае - только само сообщение
|
||
|
|
|
||
|
|
$params['owner_id'] = '-' . trim($vkGroupId); //Ид группы
|
||
|
|
|
||
|
|
if (isset($user['vk_post_as_group']) && $user['vk_post_as_group'] == 1) {
|
||
|
|
|
||
|
|
$params['from_group'] = '1'; //От имени группы
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
if ($files && count($files) > 0) {
|
||
|
|
|
||
|
|
$responseImg = $v->upload_photo(trim($vkGroupId), $user['vk_user_id'], $files); //выполняем
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
if (isset($responseImg) && count($responseImg) > 0) {
|
||
|
|
|
||
|
|
$params['attachments'] = implode(",", $responseImg); //картинки
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
$response = $v->api($method, $params); //выполняем
|
||
|
|
|
||
|
|
if (isset($response['error'])) {
|
||
|
|
|
||
|
|
$error .= 'error:Ошибка добавления поста в группу: ' . $response['error']['error_msg'];
|
||
|
|
|
||
|
|
//var_dump($response); //печатаем ответ, который приходит в формате JSON, но в виде массива
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
if($_POST['toUser'] == '1') {
|
||
|
|
|
||
|
|
$method = 'wall.post';
|
||
|
|
|
||
|
|
$params = array(); //в этом массиве - параметры, которые мы отправляем
|
||
|
|
|
||
|
|
$params['message'] = $_POST['text']; //в данном случае - только само сообщение
|
||
|
|
|
||
|
|
$params['owner_id'] = $user['vk_user_id']; //Ид пользователя
|
||
|
|
|
||
|
|
if ($files && count($files) > 0) {
|
||
|
|
|
||
|
|
$responseImg = $v->upload_photo("", $user['vk_user_id'], $files); //выполняем
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
if (isset($responseImg) && count($responseImg) > 0) {
|
||
|
|
|
||
|
|
$params['attachments'] = implode(",", $responseImg); //картинки
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
$response = $v->api($method, $params); //выполняем
|
||
|
|
|
||
|
|
|
||
|
|
if (isset($response['error'])) {
|
||
|
|
|
||
|
|
$error .= 'error:Ошибка добавления поста на стену пользователя: ' . $response['error']['error_msg'];
|
||
|
|
|
||
|
|
//var_dump($response); //печатаем ответ, который приходит в формате JSON, но в виде массива
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
if (strlen($error) > 0) {
|
||
|
|
|
||
|
|
echo $error;
|
||
|
|
|
||
|
|
} else {
|
||
|
|
|
||
|
|
echo 'success';
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
|
||
|
|
// удаляем файлы
|
||
|
|
foreach ($files as $name) {
|
||
|
|
|
||
|
|
if (stripos($name, "vk_temp") !== false) {
|
||
|
|
|
||
|
|
unlink($name);
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|
||
|
|
|
||
|
|
}
|