Пишу небольшой обработчик под ВКонтакте и сталкиваюсь с такой проблемой:
PHP Parse error: syntax error, unexpected '$this' (T_VARIABLE) in /home/i1cIXY/prog.php on line 60
Сама строка:
$this->message = sprintf("Репост сделан! Проверить его наличие Вы можете по этой ссылке: %s", $link);
Весь код:
<?php
include './classes/Post.class.php';
include './classes/AjaxRequest.class.php';
class RepostAjaxRequest extends AjaxRequest
{
public $actions = array(
"run" => "run",
);
public function run() {
if ($_SERVER["REQUEST_METHOD"] !== "POST") {
// Method Not Allowed
http_response_code(405);
header("Allow: POST");
$this->setFieldError("main", "Method Not Allowed");
return;
}
$url = $this->getRequestParam("url");
$post = $this->getRequestParam("post");
$postinfo = explode("_", $url);
$copyinfo = explode("_", $post);
if (empty($url)) {
$this->setFieldError("url", "Укажите ссылку на пост");
return;
}
if (empty($post)) {
$this->setFieldError("post", "Укажите ссылку на репост");
return;
}
if ($postinfo[0] !== $copyinfo[0]) {
$this->setFieldError("post", "ID сообществ не совпадают");
return;
}
$members = file_get_contents("http://api.vk.com/method/groups.getMembers?group_id=" . $postinfo[0]);
$members = json_decode($members);
$members = $members->response->count;
if ($members < 200) {
$this->setFieldError("err", "Минимальное количество участников в сообществе - 200. У Вас же их - ". $members);
return;
}
// в условии сразу смотрим на дату последнего репоста
$result = $dbh->prepare("SELECT COUNT(*) FROM `reposts` WHERE `id` = :id AND SELECT DATEDIFF (`date`, CURDATE()) > 7");
$result->execute([
':id' => $id
]);
$result = $result->fetchAll();
//если записей нет - постим
if (!count($result)) {
$response = $this->post($url);
if ($response->success !== 1) {
$link = "https://vk.com/wall-100562658_" . $response->post_id;
$this->addPost($postinfo, $url, $post)
$this->message = sprintf("Репост сделан! Проверить его наличие Вы можете по этой ссылке: %s", $link);
$this->status = "ok";
$this->setResponse("redirect", ".");
} else {
$this->setFieldError("err", "Ошибка! Сервер ВКонтакте вернул ответ с кодом ошибки: ". $response->error->error_code);
return;
}
} else {
$this->setFieldError("err", "Сожалеем, но мы уже делали с Вами репост на этой неделе.");
return;
}
}
}
$ajaxRequest = new RepostAjaxRequest($_REQUEST);
$ajaxRequest->showResponse();