Внимание!
Не все расширения для phpBB 3.2 совместимы с phpBB 3.3, главным образом из-за неверного синтаксиса в определениях сервисов (отсутствия обрамляющих кавычек - '...').
Перед обновлением необходимо убедиться в совместимости всех расширений.
Рекомендуется предварительно тестировать обновление на копии конференции (локально или на сервере).

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

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

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

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 КБ) 519 скачиваний
Последний раз редактировалось Anvar 14.12.2014 16:51, всего редактировалось 3 раза.
Причина: Добавлен архив с новой версией.
Не пишите вопросы лично, если можете задать их на форуме!
Спецзаказы не интересуют!

поиск моих эксклюзивных решений

Аватара пользователя
Anvar
Former team member
Сообщения: 1962
Стаж: 10 лет 3 месяца
Благодарил (а): 67 раз
Поблагодарили: 787 раз

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

Сообщение Anvar »

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

Архив обновлён, изменения указаны в первом посте.

Аватара пользователя
igorbond
phpBB 3.0.9
Сообщения: 2689
Стаж: 8 лет 6 месяцев
Благодарил (а): 625 раз
Поблагодарили: 126 раз

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

Сообщение igorbond »

Не работает!!! что сделал не так? Может ли быть ID Группы вонтакте слово?
Изображение

Аватара пользователя
Anvar
Former team member
Сообщения: 1962
Стаж: 10 лет 3 месяца
Благодарил (а): 67 раз
Поблагодарили: 787 раз

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

Сообщение Anvar »

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

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

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

Мод отправляет вконтакте данные только при создании тем.

Аватара пользователя
igorbond
phpBB 3.0.9
Сообщения: 2689
Стаж: 8 лет 6 месяцев
Благодарил (а): 625 раз
Поблагодарили: 126 раз

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

Сообщение igorbond »

Вот такие вот настройки
Вложения
screenshot_754.jpg
Изображение

Аватара пользователя
Anvar
Former team member
Сообщения: 1962
Стаж: 10 лет 3 месяца
Благодарил (а): 67 раз
Поблагодарили: 787 раз

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

Сообщение Anvar »

:-D Token это не URL.

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

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

Это указано в документе, в архиве.

Аватара пользователя
igorbond
phpBB 3.0.9
Сообщения: 2689
Стаж: 8 лет 6 месяцев
Благодарил (а): 625 раз
Поблагодарили: 126 раз

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

Сообщение igorbond »

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

Добавлено спустя 6 минут 43 секунды:
И еще как убрать с выбора, а то выбрал один форум и не могу сделать чтобы все были доступны.
Изображение

Аватара пользователя
Anvar
Former team member
Сообщения: 1962
Стаж: 10 лет 3 месяца
Благодарил (а): 67 раз
Поблагодарили: 787 раз

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

Сообщение Anvar »

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

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

Выбрать все форумы удерживая CTRL.

Аватара пользователя
igorbond
phpBB 3.0.9
Сообщения: 2689
Стаж: 8 лет 6 месяцев
Благодарил (а): 625 раз
Поблагодарили: 126 раз

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

Сообщение igorbond »

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

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

Общая ошибка
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
Сообщения: 1962
Стаж: 10 лет 3 месяца
Благодарил (а): 67 раз
Поблагодарили: 787 раз

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 раз.

Аватара пользователя
igorbond
phpBB 3.0.9
Сообщения: 2689
Стаж: 8 лет 6 месяцев
Благодарил (а): 625 раз
Поблагодарили: 126 раз

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

Сообщение igorbond »

Спасибо, все шикарно, все работает
Изображение

Аватара пользователя
Anvar
Former team member
Сообщения: 1962
Стаж: 10 лет 3 месяца
Благодарил (а): 67 раз
Поблагодарили: 787 раз

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

Сообщение Anvar »

Второй способ мне кажется по лучше будет.

Аватара пользователя
igorbond
phpBB 3.0.9
Сообщения: 2689
Стаж: 8 лет 6 месяцев
Благодарил (а): 625 раз
Поблагодарили: 126 раз

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

Сообщение igorbond »

А чем он лучше? Оставил именно его.
Изображение

Аватара пользователя
Anvar
Former team member
Сообщения: 1962
Стаж: 10 лет 3 месяца
Благодарил (а): 67 раз
Поблагодарили: 787 раз

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

Сообщение Anvar »

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

PAW
phpBB 1.4.3
Сообщения: 93
Стаж: 10 лет 3 месяца
Благодарил (а): 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»