Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Vk Repost API - Постинг на стену в группу вконтакте

Здесь авторы могут постить бета-версии своих модификаций для phpBB 3.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Vk Repost API - Постинг на стену в группу вконтакте

Сообщение Anvar »

Название: Vk Repost phpBB API

Описание: Данный мод позволяет отправлять URL темы и сообщения на стену в группу Вконтакте.

Возможности:
  • Отправлять темы с заданных форумов
  • Отправлять от имени администратора или группы Вконтакте
  • Возможность ограничить количество символов сообщения при отправке.
  • Отправлять сообщение или URL по раздельности, либо всё разом.
  • Принимать всё описанное выше группой Вконтакте, API
Возможности группы: Экспорт в Twitter (настраивается в группе вконтакте).

Текущая версия: 1.0.1

Автомод: Да

Требуется включенный сURL на хостинге. Проблема? Решение с помощью fsockopen
Вложения
Vk Repost phpBB API 3.zip
(38.1 КБ) 646 скачиваний
Последний раз редактировалось Anvar 14.12.2014 16:51, всего редактировалось 3 раза.
Причина: Добавлен архив с новой версией.
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Re: VkRepost API - постинг в группу вконтакте

Сообщение Anvar »

В предыдущем варианте модификации не публиковались сообщения и url первого форума из-за $exclude_forum === '0', необходимо было явно указать $exclude_forum === 0 .

Архив обновлён, изменения указаны в первом посте.
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3232
Стаж: 12 лет 2 месяца
Благодарил (а): 797 раз
Поблагодарили: 175 раз

Re: VkRepost API - постинг в группу вконтакте

Сообщение southklad »

Не работает!!! что сделал не так? Может ли быть ID Группы вонтакте слово?
Изображение
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Re: VkRepost API - постинг в группу вконтакте

Сообщение Anvar »

Нет, id вообще не может быть словом. Только цифры.

Пока отлаживал, группу заспамил. На другом форуме тоже работает нормально.

Приложение включено вконтакте? Токен скопирован из адресной строки вконтакте правильно?

Мод отправляет вконтакте данные только при создании тем.
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3232
Стаж: 12 лет 2 месяца
Благодарил (а): 797 раз
Поблагодарили: 175 раз

Re: VkRepost API - постинг в группу вконтакте

Сообщение southklad »

Вот такие вот настройки
Вложения
screenshot_754.jpg
Изображение
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Re: VkRepost API - постинг в группу вконтакте

Сообщение Anvar »

:-D Token это не URL.

Надо скопировать его, токен выделен:

https://oauth.vk.com/blank.html#access_token=1234567890987654321&expires_in=0&user_id=224134529

Это указано в документе, в архиве.
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3232
Стаж: 12 лет 2 месяца
Благодарил (а): 797 раз
Поблагодарили: 175 раз

Re: VkRepost API - постинг в группу вконтакте

Сообщение southklad »

понял, спасибо заработало!. Еще вопрос, не планируете чтобы и картинки публиковались?

Добавлено спустя 6 минут 43 секунды:
И еще как убрать с выбора, а то выбрал один форум и не могу сделать чтобы все были доступны.
Изображение
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Re: VkRepost API - постинг в группу вконтакте

Сообщение Anvar »

Этого пока не планирую, в phpbb есть некоторая сложность с вложениями для этой реализации. Может быть позже посмотрю что можно придумать.

Можно включить публикацию ссылки, тогда будет создана миниатюра, только в случае если есть вложенные изображения и они оптимизированы. В другом случае может любая другая картинка отправится на стену, например логотип.

Выбрать все форумы удерживая CTRL.
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3232
Стаж: 12 лет 2 месяца
Благодарил (а): 797 раз
Поблагодарили: 175 раз

Re: VkRepost API - постинг в группу вконтакте

Сообщение southklad »

При выборе сразу всех форумов выдается ошибка

Код: Выделить всё

Общая ошибка
SQL ERROR [ mysql4 ]

Data too long for column 'config_value' at row 1 [1406]

SQL

UPDATE phpbb_config SET config_value = '222,227,376,335,323,334,16,71,72,73,74,75,298,76,77,317,338,316,339,340,367,368,381,382,17,135,136,137,138,139,325,326,134,140,141,142,143,144,209,121,377,18,48,189,99,23,24,28,29,25,26,27,219,220,221,393,345,346,347,348,349,321,262,266,265,263,264,328,336,384,123,183,364,365,366,374,124,125,126,299,128,329,363,129,130,131,132,133,116,310,311,312,313,314,315,319,117,118,119,120,210,394,327,350,352,353,354,355,331,332,357,358,359,360,361,362,147,151,152,153,351,333,160,341,342,343,148,149,150,100,101,4,6,102,103,9,80,81,104,10,82,83,105,12,106,107,108,11,84,109,110,85,86,87,88,111,36,37,38,211,212,213,214,215,216,386,49,145,192,39,185,50,89,90,41,96,42,95,43,94,186,187,44,93,387,395,32,330,375,391,33,184,208,217,112,113,302,303,304,305,306,307,337,45,91,309,320,114' WHERE config_name = 'vk_repost_forum'

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysql.php
LINE: 193
CALL: dbal->sql_error()

FILE: [ROOT]/includes/functions.php
LINE: 160
CALL: dbal_mysql->sql_query()

FILE: [ROOT]/includes/acp/acp_board.php
LINE: 561
CALL: set_config()

FILE: [ROOT]/includes/functions_module.php
LINE: 507
CALL: acp_board->main()

FILE: [ROOT]/adm/index.php
LINE: 78
CALL: p_master->load_active()
Поэтому и спросил как убрать одну, а не добавить все :(
Изображение
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Re: VkRepost API - постинг в группу вконтакте

Сообщение Anvar »

способ 1 
Открываем includes/acp/acp_board.php

Находим

Код: Выделить всё

	// Vk Forum Selected
	function vk_select_forums($value, $key)
	{
		global $user, $config;

		$forum_list = make_forum_select(false, false, true, true, true, false, true);

		$selected = array();
		if(isset($config[$key]) && strlen($config[$key]) > 0)
		{
			$selected = explode(',', $config[$key]);
		}
		// Build forum options
		$s_forum_options = '<select id="' . $key . '" name="' . $key . '[]" multiple="multiple" onClick="fun(this)">';
		foreach ($forum_list as $f_id => $f_row)
		{
			$s_forum_options .= '<option value="' . $f_id . '"' . ((in_array($f_id, $selected)) ? ' selected="selected"' : '') . (($f_row['disabled']) ? ' disabled="disabled" class="disabled-option"' : '') . '>' . $f_row['padding'] . $f_row['forum_name'] . '</option>';
		}
		$s_forum_options .= '</select>';

		return $s_forum_options;
	}
Строку

Код: Выделить всё

$s_forum_options = '<select id="' . $key . '" name="' . $key . '[]" multiple="multiple">';
Заменяем на

Код: Выделить всё

$s_forum_options = '<select id="' . $key . '" name="' . $key . '[]" multiple="multiple" onClick="fun(this)">';
Открываем adm/style/acp_board.html

Находим

Код: Выделить всё

<!-- INCLUDE overall_footer.html -->
Вставляем перед

Код: Выделить всё

<script type="text/javascript">
var arr = [];
function fun(obj) {
	arr[obj.selectedIndex] = !arr[obj.selectedIndex];
	for(var k in arr) {
		obj[k].selected = arr[k];
	}
}
</script>
Теперь при первом клике будет выделяться, при повторном выделение убираться.

Данный способ с multiple найден в сети!
работает не корректно, но выделение снимает.

способ 2 
Открываем includes/acp/acp_board.php

Находим

Код: Выделить всё

	// Vk Forum Selected
	function vk_select_forums($value, $key)
	{
		global $user, $config;

		$forum_list = make_forum_select(false, false, true, true, true, false, true);

		$selected = array();
		if(isset($config[$key]) && strlen($config[$key]) > 0)
		{
			$selected = explode(',', $config[$key]);
		}
		// Build forum options
		$s_forum_options = '<select id="' . $key . '" name="' . $key . '[]" multiple="multiple" onClick="fun(this)">';
		foreach ($forum_list as $f_id => $f_row)
		{
			$s_forum_options .= '<option value="' . $f_id . '"' . ((in_array($f_id, $selected)) ? ' selected="selected"' : '') . (($f_row['disabled']) ? ' disabled="disabled" class="disabled-option"' : '') . '>' . $f_row['padding'] . $f_row['forum_name'] . '</option>';
		}
		$s_forum_options .= '</select>';

		return $s_forum_options;
	}
Строку

Код: Выделить всё

		$s_forum_options .= '</select>';
Заменяем на

Код: Выделить всё

		$s_forum_options .= '</select><br /><input type="button" onclick="foo()" value="' . $user->lang['UNMARK_ALL'] . '" name="foo' . $key . '">';
Открываем adm/style/acp_board.html

Находим

Код: Выделить всё

<!-- INCLUDE overall_footer.html -->
Вставляем перед

Код: Выделить всё

<script type="text/javascript">
function foo() {
	acp_board.vk_repost_forum.selectedIndex = -1;
}
</script>
Данный способ добавляет кнопку - Снять выделение
Последний раз редактировалось Anvar 22.07.2014 22:54, всего редактировалось 1 раз.
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3232
Стаж: 12 лет 2 месяца
Благодарил (а): 797 раз
Поблагодарили: 175 раз

Re: VkRepost API - постинг в группу вконтакте

Сообщение southklad »

Спасибо, все шикарно, все работает
Изображение
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Re: VkRepost API - постинг в группу вконтакте

Сообщение Anvar »

Второй способ мне кажется по лучше будет.
Аватара пользователя
southklad
phpBB 3.1.0 RC2
Сообщения: 3232
Стаж: 12 лет 2 месяца
Благодарил (а): 797 раз
Поблагодарили: 175 раз

Re: VkRepost API - постинг в группу вконтакте

Сообщение southklad »

А чем он лучше? Оставил именно его.
Изображение
Anvar
Former team member
Сообщения: 1965
Стаж: 14 лет
Благодарил (а): 67 раз
Поблагодарили: 799 раз
Контактная информация:

Re: VkRepost API - постинг в группу вконтакте

Сообщение Anvar »

Первый способ хоть и снимает, но проблема выделить форумы не в подряд, а например через один. Может быть это только в опере. Нажатием кнопки более удобней мне кажется и она не глючит.
PAW
phpBB 1.4.3
Сообщения: 93
Стаж: 14 лет
Благодарил (а): 14 раз

Re: VkRepost API - постинг в группу вконтакте

Сообщение PAW »

Приветствую. В тех форумах, которые включены в репостинг в группу "контакта" после публикации поста выводится ошибка:
Fatal error: Call to undefined function curl_init() in /var/www/.../data/www/.../includes/functions_posting.php on line 2870
Error 1: Call to undefined function curl_init() at file /var/www/.../data/www/.../includes/functions_posting.php line 2870
В строке 2870 /includes/functions_posting.php

Код: Выделить всё

$ch = curl_init($url);
Добавил первый способ в файл acp_board.html и acp_board.php
В форумах не включённых в репостинг всё публикуется, как и раньше.

Sorry, наоборот в не выделенных (не отмеченных в настройках) форумах всё публикуется, в выделенных возникает Fatal error и если вообще ничего не выделять (" Оставьте пустыми для публикации тем(сообщений) со всех форумов") в любом форуме появляется ошибка в строке 2870.
Закрыто

Вернуться в «Бета-версии модов для phpBB 3.0.x»