Быстренько набросал парсер для видео вконтакта, испытал — кажись работает нормально. Для каждого видео из вконтакта идет загрузка странички с видео из вконтакта, т.е. идут запросы к вконтакту, это необходимо для получения значения hash видео. К счастью это происходит только при добавлении или редактировании топика или коммента, соответственно в этот момент возможен «небольшая» задержка, по другому пока не получается.
Код (добавить в Text.class.php в функцию VideoParser):
#Регулярка для вконтакта
$regExp = '/<video>http(?:s|):\/\/(?:www\.|)vk\.com\/video([\d]+)_([\d]+)<\/video>/Ui';
#Если есть видео из вконтакта
if(preg_match($regExp, $sText)) {
#Считаем количество видео вконтакта
preg_match_all($regExp, $sText, $sTextMatches);
for($i=0;$i<count($sTextMatches[1]);$i++){
#Получаем страницу с видео
$html = file_get_contents('http://vk.com/video'.$sTextMatches[1][$i].'_'.$sTextMatches[2][$i]);
#Ищем hash для видео
preg_match('/\\\"hash2\\\":\\\"([a-f0-9]+)\\\"/Ui', $html, $matches);
#Заменяем ссылки
$sText = preg_replace('/<video>http(?:s|):\/\/(?:www\.|)vk\.com\/video'.$sTextMatches[1][$i].'_'.$sTextMatches[2][$i].'<\/video>/Ui', '<iframe src="http://vk.com/video_ext.php?oid='.$sTextMatches[1][$i].'&id='.$sTextMatches[2][$i].'&hash='.$matches[1].'" width="560" height="315" frameborder="0"></iframe>', $sText);
}
}
По сути в корневую категорию мы если и попадаем, то видим там только список подкатегорий
Немного с вами не согласен по этому поводу.все таки это не магазин а универсальный каталог. я уже писал что для поиска удобней использовать фильтр а для перехода по разделам категории. Но и тут есть спорные вопросы.
это все же магазин основанный на продаже товаров выводя за основу бренды. Но к данному плагину это не относиться ибо это все же универсальный который можно использовать к примеру как раздел информации или работы где фильтрация по брендам не имеет значения. Возьму к примеру свой проект у меня сервис гид и я использую этот плагин по максимум он является базой данных для всех мест( еда, отдых и так далее)
Я ни чего не хочу доказывать
Плагин действительно хорош.Если есть фантазия то он станет ключевым моментом для создания чего то более чем просто сайт. Тем более автор стараеться сделать его лучше.
С автором я часто веду переписку об каких то изменениях и доработках. Знаете ни 1 из разработчиков ни был заинтересован в своем детише как PSNet . Да и за примерам идти не далеко, по смотря на версию данного плагина (6) я еще не встречал в данном сообществе ни 1 кто бы так старался во благо человечества. vOFFka я ни говорю уже об вас. хоть вы мне и отказали мне, вы трудитесь во благо сообщества. Вы являетесь 1 из 1 по количеству шаблонов (9) и доработок для ЛС(5). Но все же у вас 2 разное мировоззрение. И я думаю что эта дискуссия зашла в тупик. Автор выложил решение по реализации фильтра без категорий, а также подсказал как избавится от блока категории категории товаров Так давайте все же обсудим более важные решения
не знаю зачем Вам эта глупость
быдлокод на коленке :)
classes/hooks/HookPostreadingtime.class.php
<?php
//===============================================================
class HookPostreadingtime extends Hook{
//===============================================================
public function RegisterHook(){
$this->AddHook('template_topic_show_info','inj_topic_show_info',__CLASS__);
}
//===============================================================
public function inj_topic_show_info($aVars){
$iReading=200;//google: Средняя скорость чтения 200-250 слов в минуту
$iWords=count(explode(' ',strip_tags($aVars['topic']->getText())));
$iMinutes=floor($iWords/$iReading);
$iSeconds=floor(($iWords%$iReading)/($iReading/60));
$sReturn=($iMinutes>0)?' '.$iMinutes.' мин.':'';
$sReturn.=($iSeconds>0)?' '.$iSeconds.' сек.':(($iMinutes>0)?'':' моментально.');
return '<li class="topic-info-date">Время прочтения: '.$sReturn.'</li>';
}
//===============================================================
}
?>
я об этом речь и веду что пора переезжать с 0.4 и 0.5 версий — у них есть небольшие проблемы с безопасностью, а также они сильно уже отстают по структуре от новых версий что сводит на «нет» возможность выпуска новых плагинов для старых версий движка.
Недавно столкнулся с подобной проблемой. Проект «переехал» с другой CMS.
Поэтому запросы в БД Пересчет количества в топиках
UPDATE `PREFIX_topic` t
SET t.topic_count_comment = (
SELECT count(c.comment_id) FROM `PREFIX_comment` c
WHERE c.target_id = t.topic_id AND c.comment_publish = 1
AND c.target_type = 'topic')
Пересчет количества в topic_read
UPDATE `PREFIX_topic_read` t
SET t.comment_count_last = (
SELECT count(c.comment_id) FROM `PREFIX_comment` c
WHERE c.target_id = t.topic_id')
зачем троллить по поводу цены? я купил, плагин нужный. Объем работы по плагину: advert.cc/screen/20120826-6m8-73kb.jpg Либо пытаешься цену сбить либо не знаешь сколько стоит час работы программиста. Спасибо должен говорить за то что он доступен за 8$. Откуда вы такие беретесь вообще.
Такое ощущение, что вы держите разработчиков за рабов и кидал, вводя какие-то правила. А то, что криворукие юзеры не могут одну строку стилей поправить, это нормально да, при это не ценя того вклада, который разработчики вносят бесплатно в двиг?
Я сам являюсь разработчиком дополнений под другой двиг, и могу сказать, что демо делаю в исключительных случаях, когда задействована админка и по скринам всего не показать. Чтобы я делал демо сайт, да еще и что-то затачивал под дефолные шаблоны идеально за плагин, который стоит 300р… Простите, но это бред.
Если человеку нужен функционал — он его покупает в любом случае.
Если ему нужны еще и красивости которых нет в функционале, то он их либо сам делает, либо заказывает, либо просит разработчика о внесении, возможно и сделают…
У дополнений есть описание. Если в описании нет упоминаний про шаблоны или поддержку в определенных условиях, то и нечего потом создавать подобные топики! Обещаний небыло и требовать что-то может быть бесполезным.
А если руки растут непонятно откуда или знаний банально нет, то стоит задуматься перед покупкой…
В данном случае ТС оказался человеком не способным внести коррективы(или не захотел) и создал топик(так как PSNet , отказал в реализации его задумок и верстки формы под шаб), которого вообще не должно быть, так как PSNet ничего не нарушил и продал РАБОЧИЙ ФУНКЦИОНАЛ, который описан на странице плагина. А теперь недовольные юзеры устроили срач. При этом заголовок странный «Поддержка плагина как развод?». ТС, покажите мне на странице плагина, где там обещания от PSNet поддержки, о которой вы пишете? Я например ничего подобного не увидел. Соответственно, вывод, PSNet не обязан оказывать поддержку по первому требованию, если это не касается работоспособности самого плагина, о которых обещано в описании.
Всем Вам подавай «юзерфрендли» за 10 баксов. Да что там за 10… Прямо из коробки подавай да еще и в ноги поклонись.
Разработчик сделал плагин таким как он его видит и выставил на продажу. Вы при покупке могли ознакомиться со скриншотами всего этого «безобразия», а так же поинтересоваться о дальнейшей поддержке плагина у автора.
От поддержки Вам никто не отказывал. Технических проблем у Вас нет? Нет. Плагин работает. Работает? Не нравится внешний вид? К дизайнеру, либо учим html и css. Не устраивает такая политика? У Вас есть возможность договориться о манибэке, благо все мы общаемся на русском.
Особенно то, что авторы плагинов отказываются включения минимальных функций в админку и реализацию её в принципе
З.Ы. для тех кто не понял что произошло и хочет разобраться — ютуб не добавляет параметр wmode=transparent для ембед кода видео (который само собой находится внутри ифрейма, в странице) и поэтому даже установка значения z-index заоблачных высот не спасает ситуацию — в ФФ все ок, а хром прячет все попапы под флеш.
Но ютуб позволяет устанавливать в ссылке с ифрейм кодом дополнительные параметры к коду видео, и это именно здесь и происходит: выбираем все видео на странице в ифреймах с ютуба, проверяем есть ли там уже какие-то параметры и добавляем в зависимости от этого либо ?wmode=transparent либо &wmode=transparent.
как я и сказал — метод не ахти — видео предзагружаются два раза с ютуба, но по-другому — никак. разве что на сервере все это парсить, так уж лучше браузер этим займется.
ls — это глобальный объект скрипта
Основные методы, такие как ls.ajax, описаны в main.js.
В этот объект через closures подключаются дополнительные модули (talk, comments,...), которые лежат в отдельных файлах.
Если хотите дополнить модуль чем-то своим без вреда, используйте конструкцию:
/**
* Дополнительные функции
*/
ls.comments_addon = (function ($) {
/**
* Показывает/скрывает форму комментирования
*/
this._toggleCommentFormParent = this.toggleCommentForm;
this.toggleCommentForm = function(idComment, bNoFocus) {
this._toggleCommentFormParent(idBlog);
/**
* Ваши действия
*/
ls.msg.notice('Bla bla bla!');
return false;
}
return this;
}).call(ls.comments || {},jQuery);
Данный код дополняет функцию toggle формы комментария, добавляя после вашу функцию.
Для каждого видео из вконтакта идет загрузка странички с видео из вконтакта, т.е. идут запросы к вконтакту, это необходимо для получения значения hash видео. К счастью это происходит только при добавлении или редактировании топика или коммента, соответственно в этот момент возможен «небольшая» задержка, по другому пока не получается.
Допускаются ссылки вида
Код (добавить в Text.class.php в функцию VideoParser):
Не забудьде добавить vk.com в jevix.php
это все же магазин основанный на продаже товаров выводя за основу бренды. Но к данному плагину это не относиться ибо это все же универсальный который можно использовать к примеру как раздел информации или работы где фильтрация по брендам не имеет значения. Возьму к примеру свой проект у меня сервис гид и я использую этот плагин по максимум он является базой данных для всех мест( еда, отдых и так далее)
Я ни чего не хочу доказывать
Плагин действительно хорош.Если есть фантазия то он станет ключевым моментом для создания чего то более чем просто сайт.
Тем более автор стараеться сделать его лучше.
С автором я часто веду переписку об каких то изменениях и доработках. Знаете ни 1 из разработчиков ни был заинтересован в своем детише как PSNet . Да и за примерам идти не далеко, по смотря на версию данного плагина (6) я еще не встречал в данном сообществе ни 1 кто бы так старался во благо человечества.
vOFFka я ни говорю уже об вас. хоть вы мне и отказали мне, вы трудитесь во благо сообщества. Вы являетесь 1 из 1 по количеству шаблонов (9) и доработок для ЛС(5). Но все же у вас 2 разное мировоззрение. И я думаю что эта дискуссия зашла в тупик. Автор выложил решение по реализации фильтра без категорий, а также подсказал как избавится от блока категории категории товаров
Так давайте все же обсудим более важные решения
быдлокод на коленке :)
classes/hooks/HookPostreadingtime.class.php
И по традиции выше описанное не проверялось
www.php.net/manual/en/function.soundex.php
www.php.net/manual/ru/function.metaphone.php
www.php.net/manual/ru/function.similar-text.php
Ну или прямо в мускул:
dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_soundex
Т.е. при выводе ДР дата не анализируется на часовые пояса и просто выводится какая она есть в базе. Может это и неправильно, но дата выводится верно.
Теперь осталось подменить все ссылки, чтоб выдавали не профиль а собаку и т.д.
Поэтому запросы в БД
Пересчет количества в топиках
Пересчет количества в topic_read
Унаследовал модуль User с одним лиш методом:
А дальше стандартно:
getUserFieldValueByName() и setUserFieldsValues()
ну и в конфиге ls
Это так навскидку. Понятное дело, в шаблонах переделать все ссылки.
2. Там находите такие строки:
3. В начале каждой строки ставите двойной слэш, стобы получилось так:
Если готовность заплатить после этого не пройдет, то это можно сделать здесь:
livestreetcms.com/profile/aVadim/donate/
:)
Для автоопределения в config.php вместо
поставить
Я сам являюсь разработчиком дополнений под другой двиг, и могу сказать, что демо делаю в исключительных случаях, когда задействована админка и по скринам всего не показать. Чтобы я делал демо сайт, да еще и что-то затачивал под дефолные шаблоны идеально за плагин, который стоит 300р… Простите, но это бред.
Если человеку нужен функционал — он его покупает в любом случае.
Если ему нужны еще и красивости которых нет в функционале, то он их либо сам делает, либо заказывает, либо просит разработчика о внесении, возможно и сделают…
У дополнений есть описание. Если в описании нет упоминаний про шаблоны или поддержку в определенных условиях, то и нечего потом создавать подобные топики! Обещаний небыло и требовать что-то может быть бесполезным.
А если руки растут непонятно откуда или знаний банально нет, то стоит задуматься перед покупкой…
В данном случае ТС оказался человеком не способным внести коррективы(или не захотел) и создал топик(так как PSNet , отказал в реализации его задумок и верстки формы под шаб), которого вообще не должно быть, так как PSNet ничего не нарушил и продал РАБОЧИЙ ФУНКЦИОНАЛ, который описан на странице плагина. А теперь недовольные юзеры устроили срач. При этом заголовок странный «Поддержка плагина как развод?». ТС, покажите мне на странице плагина, где там обещания от PSNet поддержки, о которой вы пишете? Я например ничего подобного не увидел. Соответственно, вывод, PSNet не обязан оказывать поддержку по первому требованию, если это не касается работоспособности самого плагина, о которых обещано в описании.
Разработчик сделал плагин таким как он его видит и выставил на продажу. Вы при покупке могли ознакомиться со скриншотами всего этого «безобразия», а так же поинтересоваться о дальнейшей поддержке плагина у автора.
От поддержки Вам никто не отказывал. Технических проблем у Вас нет? Нет. Плагин работает. Работает? Не нравится внешний вид? К дизайнеру, либо учим html и css. Не устраивает такая политика? У Вас есть возможность договориться о манибэке, благо все мы общаемся на русском.
Админку для плагина поиска??? Отсыпьте
blogsearch.google.com/ping/RPC2
blogsearch.google.ru/ping/RPC2
rpc.pingomatic.com/
ping.feedburner.com
ping.blogs.yandex.ru/RPC2
rpc.technorati.com/rpc/ping
api.my.yahoo.com/rss/ping
api.my.yahoo.com/RPC2
audiorpc.weblogs.com/RPC2
blog.goo.ne.jp/XMLRPC
blogpeople.net/servlet/weblogUpdates
hamo-search.com/ping.php
blog.youdao.com/ping/RPC2
ping.kutsulog.net/
ping.myblog.jp
ping.fc2.com
ping.namaan.net/rpc
ping.syndic8.com/xmlrpc.php
ping.weblogalot.com/rpc.php
rpc.blogrolling.com/pinger/
rpc.icerocket.com:10080
rpc.reader.livedoor.com/ping
rpc.twingly.com
www.blogpeople.net/servlet/weblogUpdates
www.syndic8.com/xmlrpc.php
rpc.weblogs.com/RPC2
www.blogdigger.com/RPC2
www.wasalive.com/ping/
xianguo.com/xmlrpc/ping.php
xping.pubsub.com/ping
xping.pubsub.com/ping/
wasalive.com/ping/
rpc.weblogs.com/RPC2
rpc.icerocket.com:10080/
pinger.blogflux.com/rpc
ping.weblogalot.com/rpc.php
ping.syndic8.com/xmlrpc.php
ping.feedburner.com
blogpeople.net/servlet/weblogUpdates
api.moreover.com/RPC2
www.xianguo.com/xmlrpc/ping.php
www.feedsky.com/api/RPC2
www.blogpeople.net/servlet/weblogUpdates
rpc.reader.livedoor.com/ping
ping.namaan.net/rpc
ping.kutsulog.net
ping.fc2.com
ping.blogoon.net
rpc.pingomatic.com
ping.weblogs.se/
blogmatcher.com/u.php
coreblog.org/ping/
bulkfeeds.net/rpc
ping.myblog.jp
ping.bitacoras.com
ping.bloggers.jp/rpc/
ping.blogmura.jp/rpc/
— это список для wordpress движка.
я так понимаю там все это через XML сделано.
вставить в header.tpl, например, после
З.Ы. для тех кто не понял что произошло и хочет разобраться — ютуб не добавляет параметр wmode=transparent для ембед кода видео (который само собой находится внутри ифрейма, в странице) и поэтому даже установка значения z-index заоблачных высот не спасает ситуацию — в ФФ все ок, а хром прячет все попапы под флеш.
Но ютуб позволяет устанавливать в ссылке с ифрейм кодом дополнительные параметры к коду видео, и это именно здесь и происходит: выбираем все видео на странице в ифреймах с ютуба, проверяем есть ли там уже какие-то параметры и добавляем в зависимости от этого либо ?wmode=transparent либо &wmode=transparent.
как я и сказал — метод не ахти — видео предзагружаются два раза с ютуба, но по-другому — никак. разве что на сервере все это парсить, так уж лучше браузер этим займется.
Заменить на
лишнее равно там было.
Основные методы, такие как ls.ajax, описаны в main.js.
В этот объект через closures подключаются дополнительные модули (talk, comments,...), которые лежат в отдельных файлах.
Если хотите дополнить модуль чем-то своим без вреда, используйте конструкцию:
Данный код дополняет функцию toggle формы комментария, добавляя после вашу функцию.