Собственно открываем страницу со списком участников паблика:

Открываем консоль того же хрома или фокса. Вставляем код:
Читать далее
Собственно открываем страницу со списком участников паблика:

Открываем консоль того же хрома или фокса. Вставляем код:
Читать далее
Автор сего чуда не я, но использую это решение уже больше года в проектах с которыми работаю.
HTML
<a onclick="Share.vkontakte('URL','TITLE','IMG_PATH','DESC')"> {шарь меня полностью}</a>
<a onclick="Share.facebook('URL','TITLE','IMG_PATH','DESC')"> {шарь меня полностью}</a>
<a onclick="Share.mailru('URL','TITLE','IMG_PATH','DESC')"> {шарь меня полностью}</a>
<a onclick="Share.odnoklassniki('URL','DESC')"> {шарь меня полностью}</a>
<a onclick="Share.twitter('URL','TITLE')"> {шарь меня полностью}</a>
JS
Читать далее
Не совсем понятно почему, но VK ввели ограничение на получение данных с публичных методов вроде wall.get и т.п.
В случае, если, к примеру, делаем запрос на получение контента стены какой-нибудь группы вк (corporationofhumor)
$url = 'https://api.vk.com/api.php?oauth=1&method=wall.get&domain=corporationofhumor&count=100'; $wall = json_decode(file_get_contents($url)); print_r( $wall );
получаем
stdClass Object
(
[error] => stdClass Object
(
[error_code] => 8
[error_msg] => Invalid request: method is unavailable without access token
[request_params] => Array
(
[0] => stdClass Object
(
[key] => oauth
[value] => 1
)
[1] => stdClass Object
(
[key] => method
[value] => wall.get
)
[2] => stdClass Object
(
[key] => domain
[value] => sarsar
)
[3] => stdClass Object
(
[key] => count
[value] => 100
)
)
)
)
Я лично решил проблему так: зарегал приложение в VK и скопировал сервисный ключ:
Читать далее
Для того, чтобы распаковать многотомные архивы битрикса, надо дать понять архиватору информацию о связанных частях.
К примеру у нас архив состоит из двух файлов:
2016-05-04.16-13-32.88sr3bcx.tar.gz 2016-05-04.16-13-32.88sr3bcx.tar.gz.1
Переименовываем их в:
2016-05-04.16-13-32.88sr3bcx.tar.gz.001 2016-05-04.16-13-32.88sr3bcx.tar.gz.002
И можно распаковывать. После распаковки мы получим целый файл архива с расширением tar. Распаковываем его и вот они наши файлы.
В обычной ситуации при вызове функции Update класса CUser в обработчике OnAfterUserUpdate приведёт к повторному вызову OnAfterUserUpdate и так по кругу. Таким образом получается замкнутый цикл и скрипт начинает вызывать сам себя бесконечное число раз.
Как же выйти из этой ситуации?
Вариант 1:
А вот как:
В init.php вызываем обработчик:
AddEventHandler("main", "OnAfterUserUpdate", array("CUserHandler", "OnAfterUserUpdateHandler"));
А вот в самом классе CUserHandler делаем такую хитрость:
class CUserHandler
{
public static $disableHandler = false;
public static $element_id = '';
function OnAfterUserUpdateHandler(&$arFields){
if ((self::$disableHandler)&&($arFields['ID']==self::$element_id)){
return;
}
self::$disableHandler = true;
self::$element_id = $arFields['ID'];
//ниже вызываем Update юзера
//...
}
}
Смысл в том, что при первом вызове OnAfterUserUpdateHandler всё, что ниже условия проверки значений $disableHandler и $element_id выполняется, а при последующих вызовах — нет.
Вариант 2:
Обновлять св-во по ссылке (т.к. на вход функции подаётся &$arFields )