Помощник
Дата поста: | В теме: | За сообщение: | Поблагодарили: | ||
---|---|---|---|---|---|
22.4.2014, 18:11 |
Подскажиет с JS |
||||
22.4.2014, 17:37 |
Подскажиет с JS |
Код <script> var n = 4; // на сколько делим // или так onload = function(){ s = document.getElementsByTagName('span'); for(i = 0, l = s.length; i < l; i++){ if(s[i].className != 'price') continue; x = s[i].innerHTML / n; // тут если надо округляем s[i].innerHTML = x; } } // или так $(document).ready(function(){ $('.price').each(function(){ x = $(this).html() / n; // тут если надо округляем $(this).html(x); }); }); </script> <span class="price">1.01</span> <span class="price">2.2</span> <span class="price">3.33</span> <span class="price2">10</span> |
|||
20.4.2014, 19:52 |
Как на страницу профиля встроить pm Dle |
Как следует не проверял, но на первый взгляд всё работает как надо. В конце файла engine/engine.php добавить строчку Код if($subaction == 'userinfo' and $member_id['name'] == $user){ include ENGINE_DIR . '/modules/pm.php'; } Возможно будет интересно. На странице с профилем выводит сколько новых персональных сообщений и ссылку на них Писал на скорую руку. Но всё должно работать нормально. Для версии 10.2 В файле engine/modules/profile.php после или до кода Код if( $row['icq'] ) { $tpl->set( '[icq]', "" ); $tpl->set( '[/icq]', "" ); $tpl->set( '{icq}', stripslashes( $row['icq'] ) ); $tpl->set_block( "'\\[not-icq\\](.*?)\\[/not-icq\\]'si", "" ); } else { $tpl->set_block( "'\\[icq\\](.*?)\\[/icq\\]'si", "" ); $tpl->set( '{icq}', "" ); $tpl->set( '[not-icq]', "" ); $tpl->set( '[/not-icq]', "" ); } Вставить Код if($member_id['name'] == $user and $member_id['pm_unread']){ $tpl->set( '[pm_unread]', "" ); $tpl->set( '[/pm_unread]', "" ); $tpl->set( '{pm_unread}', intval( $member_id['pm_unread'] ) ); $tpl->set( '[inbox]', "<a href=\"$PHP_SELF?do=pm\">" ); $tpl->set( '[/inbox]', "</a>" ); } else { $tpl->set_block( "'\\[pm_unread\\](.*?)\\[/pm_unread\\]'si", "" ); $tpl->set( '{pm_unread}', "" ); } В в шаблоне по дефолту userinfo.tpl Вставляем перед <li><span class="grey">ICQ:</span> <b>{icq}</b></li> или в другом месте, но соответственно отредактировав [pm_unread]<li><span class="grey">Новых персональных сообщений:</span> <b>[inbox]{pm_unread}[/inbox]</b></li>[/pm_unread] |
|||
23.3.2014, 19:06 |
Помогите составить редирект |
сам не силён... но по идеи сначала редирект - потом Ваш дефолтный сценарий Тут немного не так. Правила обрабатываются до тех пор, пока что либо подпадает под правила. Т.е, не будет редиректа. В любом случае дошло бы до той строки. Не так выразился, не сработал бы RewriteRule . /index.php [L], в любом случае дошло бы до ewriteRule ^(.*)\.html$ /$1/ [R=301,L] Уработался)) Короче дошло бы до него)) ЗЫ. Сам не силён, но вроде так)) И к слову у меня работает всё. Ждём ТС. Пусть прояснит, какая главная, что надо редиректить, а что нет))) |
|||
23.3.2014, 0:48 |
Помогите составить редирект |
RewriteEngine On #RewriteBase / пробуй RewriteRule ^(.*)\.html$ /$1/ [R=301,L] или RewriteRule ^([^/]*)\.html$ /$1/ [R=301,L] |
|||
12.9.2013, 15:26 |
cURL парсинг статистики с авторизацией (не HTTP) |
n1tr1k, ясно. Сейчас кофейку и другой вариант кину. Будем брать урл из заголовков. function get_loadpays($url, $postdata = ''){ $max_redirect = 7; $result = ''; $ch = curl_init(); for(; $max_redirect >= 0; $max_redirect--){ curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, 1); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, MY_ROOT."/cookie.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE, MY_ROOT."/cookie.txt"); if($postdata){ curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt($ch, CURLOPT_POST, 1); } $result = curl_exec($ch); if(curl_errno($ch)){ die(curl_errno($ch).', '.curl_error($ch)); } $temp = explode("\r\n\r\n", $result); $header = array_shift($temp); $result = implode("\r\n\r\n", $temp); if(preg_match('/Location:(.*?)\n/', $header, $matches)){ $postdata = ''; $parse_url = parse_url($url); $url = $parse_url['scheme'].'://'.$parse_url['host'].trim($matches[1]); } else break; } curl_close($ch); return $result; } echo get_loadpays('http://loadpays.com/?p=login', 'login=zzz&password=xxx'); |
|||
12.9.2013, 8:42 |
cURL парсинг статистики с авторизацией (не HTTP) |
Держи, на тот случай если CURLOPT_FOLLOWLOCATION не работает Написал ещё с мультикурлом, но где используется один поток и подгружается ещё, если идёт перенаправление, но решил что будет перебор)) <?php function get_curl($url, $postdata = '', $max_redirect = 7){ if(!$max_redirect) return; $max_redirect--; $ch = curl_init($url); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, MY_ROOT."/cookie.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE, MY_ROOT."/cookie.txt"); if($postdata){ curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt($ch, CURLOPT_POST, 1); } $result = curl_exec($ch); if(curl_errno($ch)){ die(curl_errno($ch).', '.curl_error($ch)); } $info = curl_getinfo($ch); curl_close($ch); if($info['redirect_url']) return get_curl($info['redirect_url'], null, $max_redirect); return $result; } echo get_curl('http://loadpays.com/?p=login', 'login=xxx&password=yyy', 7); function get_loadpays($url, $postdata = ''){ $max_redirect = 7; $result = ''; for(; $max_redirect >= 0; $max_redirect--){ $ch = curl_init($url); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, MY_ROOT."/cookie.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE, MY_ROOT."/cookie.txt"); if($postdata){ curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt($ch, CURLOPT_POST, 1); } $result = curl_exec($ch); if(curl_errno($ch)){ die(curl_errno($ch).', '.curl_error($ch)); } $info = curl_getinfo($ch); if(!$info['redirect_url']) break; $url = $info['redirect_url']; $postdata = ''; } curl_close($ch); return $result; } echo get_loadpays('http://loadpays.com/?p=login', 'login=xxx&password=yyy'); ?> Если захочешь сжатые страницы принимать, то дополнишь сам, выше есть как. |
|||
12.9.2013, 6:10 |
cURL парсинг статистики с авторизацией (не HTTP) |
n1tr1k, К сожалению к тому моменту лёг спать. Сейчас решил зарегаться. Пока регался, так до конца регистрацию и не прошёл. Пустая страница. Разок промелькнуло что логин или почта занята. Начал авторизироваться, так и не смог. То пустая страница, то ошибка базы данных. Это всё через браузер. В общем чуть позже попробую. Глючный сервис какой то. <?php error_reporting(E_ALL | E_STRICT); ini_set('display_errors', true); define('MY_ROOT', str_replace('\\', '/', dirname(__FILE__))); $httpheader = array( 'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1', 'User-Agent: Opera/9.80', 'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8', 'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1', 'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0', 'Referer: http://loadpays.com/', 'TE: deflate, gzip, chunked, identity, trailers', ); $ch = curl_init("http://loadpays.com/?p=login"); curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader); curl_setopt($ch, CURLOPT_TIMEOUT, 60); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, MY_ROOT."/cookie.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE, MY_ROOT."/cookie.txt"); curl_setopt($ch, CURLOPT_POSTFIELDS, "login=xxx&password=yyy"); curl_setopt($ch, CURLOPT_POST, 1); $result = curl_exec($ch); if(curl_errno($ch)){ die(curl_errno($ch).', '.curl_error($ch)); } curl_close($ch); if($temp = @gzinflate(substr($result, 10))) $result = $temp; echo $result; ?> Работает всё. Может у них глючило. Собственно работал и простой код, без заголовков, но только с cookie. |
|||
11.9.2013, 22:03 |
cURL парсинг статистики с авторизацией (не HTTP) |
n1tr1k, 1. Включить вывод ошибок. error_reporting(E_ALL | E_STRICT); ini_set('display_errors', true); 2. Для cookie.txt указать полный путь. 3. CURLOPT_FOLLOWLOCATION может не работать. 4. заголовки $httpheader = array( 'Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1', 'User-Agent: Opera/9.80', 'Accept-Language: ru-RU,ru;q=0.9,en;q=0.8', 'Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1', 'Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0', // если это, то потом if($temp = @gzinflate(substr($result, 10))) $result = $temp; 'Referer: '.$referer, 'TE: deflate, gzip, chunked, identity, trailers', ); curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader); 5. curl_setopt ($ch, CURLOPT_POSTFIELDS, array('login' => 'test', 'pass' => 'test')); // всегда так делаю. 6. POST надо отправлять в нужной кодировке. Если к примеру логин на русском. Но тогда бы хоть что то вывело.. 7. if(curl_errno($ch)){ echo curl_errno($ch).', '.curl_error($ch); } Исправляй, а там посмотрим))) Можно не всё сразу)) Просто привык на верочку уже))) В общем вывод ошибок и пункт 7. |
|||
Текстовая версия | Сейчас: 19.4.2024, 10:56 |