Фотогалерея

#1 18 июня 2014 в 21:16
Вопрос по галерее из второй ветки.
Есть ли возможность (или возможно ли сделать) в галерее чтоб фотки можно было бы грузить не со своего компа, а указывать ссылку на фотку. Допустим у меня много фоток в большущем разрешении и я их храню на фотохостингах, а место под сайт не "резиновое".
#2 19 июня 2014 в 17:34
Поддерживаю топик-стартера в том, что проблема назрела, в т.ч. и по ICMS 1.10.х. Имхо, едва ли не единственным решением сейчас будет публикация фото в альбомах пользователей, клубных и общих, а также в блогах и комментариях, по ссылкам с фотохостингов. Практически все они сейчас предоставляют код для вставки на сторонние ресурсы, а воспользоваться им мы не можем…
#3 22 июня 2014 в 23:24
Еще бы круче — интеграция с каким-нибудь облаком (Gdrive, Яд и т.п.).
Типа грузишь через админку, а попадает в облако и дает ссылку на файл.
#4 24 июня 2014 в 14:39
1. Нашел нужный кусок кода:
<?php
print uploadFile(ваш_логин, ваш_пароль, путь_к_файлу)."\n";

function uploadFile($login, $password, $filename)
{
$cookie_file = 'cookie.txt';
$user_agent = 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6';

// логинимся в систему
$ch = curl_init('https://passport.yandex.ru/passport?mode=auth');

$fields = array();
$fields[] = "login=$login";
$fields[] = "passwd=$password";
$fields[] = "twoweeks=yes";
curl_setopt($ch, CURLOPT_POSTFIELDS, implode('&', $fields));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, 1);
$result = curl_exec($ch);
$info = curl_getinfo($ch);

if ($info['http_code'] != 200) return false;

// запрашиваем сервер для загрузки файла
$url = 'http://narod.yandex.ru/disk/getstorage/?rnd='. (mt_rand( 0, 777777) + 777777);

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
$result = curl_exec($ch);
$info = curl_getinfo($ch);

if (preg_match('/"url":"(.*?)", "hash":"(.*?)", "purl":"(.*?)"/', $result, $m)) {
$upload_url = $m[1];
$hash = $m[2];
$purl = $m[3];
} else {
return false;
}

// загружаем файл на сервер
$url = $upload_url. '?tid='. $hash;
$fields = array();
$fields['file'] = '@'. $filename;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, 'http://narod.yandex.ru/');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
$result = curl_exec($ch);
$info = curl_getinfo($ch);

if ($info['http_code'] != 200) return false;

// print_r($info);
// проверяем прогресс бар
$url = $purl. '?tid='. $hash. '&rnd='. (mt_rand( 0, 777777) + 777777);

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 0);
$result = curl_exec($ch);

if (!preg_match('/"status": "done"/', $result, $m)) {
return false;
}

// переходим на страницу и определяем ссылку
$url = 'http://narod.yandex.ru/disk/last/';
curl_setopt($ch, CURLOPT_URL, $url);
$result = curl_exec($ch);
curl_close($ch);

if (preg_match('/<span class=\'b\-fname\'><a href="(.*?)">/', $result, $m)) {
$fileURL = trim($m[1]);
return $fileURL;
}

return false;
}
?>
2. Нашел, где нужно его использовать:
templates\default\js\fileuploader.js
строка 255action: '/server/upload',

Есть у кого руки из плеч?
#5 24 августа 2014 в 16:27
надеюсь вопрос не пропал, админы приняли для доработки?
#6 14 октября 2014 в 18:35
Собираемся делать свою фотогалерею
думаю учтем вывод фото по ссылке
==========
Вот некоторые требования к ней:
Неограниченное количество категорий
Неограниченное количество подкатегорий
Индивидуальные настройки категорий/подкатегорий
Ограничения доступа к категориям/подкатегориям
Создание собственных категорий зарегистрированными пользователями из фронтальной части сайта
Комментарии
Теги
Уведомления по электронной почте
Оценка изображений по IP
Добавление изображений в фавориты
Рекомендация изображения через соц. сети
Поиск изображений по их названию и описанию
Функция водяного знака на оригинальных и средних изображениях
Принудительное сохранение файла изображения на компьютер
Просмотр больших изображений c использованием ajax библиотеки Shadowbox
Защита оригинальных файлов изображений с помощью HTACCESS
и др…
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.