Только что отвечал на другом форуме (без обработки ошибок)
<?php $data = array( "email" => "мыло", "pass" => "пароль", "save" => "on" ) $curl_setopt = array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_FOLLOWLOCATION => 1, CURLOPT_USERAGENT => "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.6) Gecko/20040113", CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $data, CURLOPT_COOKIESESSION => true, CURLOPT_COOKIEJAR => dirname (__FILE__)."/cookie.txt", CURLOPT_COOKIEFILE => dirname (__FILE__)."/cookie.txt", CURLOPT_REFERER => "http://сайт.ru/", // или какая там страница где есть форма авторизации CURLOPT_TIMEOUT => 10, ); $ch = curl_init("http://сайт.ru/login/"); curl_setopt_array($ch, $curl_setopt); $result = curl_exec($ch); curl_close($ch); ?>
Усё. cookie сохранены в файл (впрочем можно было и не сохранять).
Дальше идём куда надо.
UP. Ах да, в случае необнодимости curl_setopt ($ch, CURLOPT_HTTPHEADER, .......);
curl_setopt ($ch, CURLOPT_PROXY, "......");
И может понадобиться что нибуть ещё. Зависит от конкретного сайта.
http://javascript.ru/start/dom
http://politeraser.ru/dom/default.htm
Вот. Решил размяться. Тем кто не любит сторонних библиотек.
Правда как следует не тестировал. Закачал на сервер, в тех обозревателях что у меня есть, всё ОК.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title></title> </head> <body> <script type="text/javascript"> // функции SetCookie и GetCookie можно использовать свои, если они у вас уже есть. var shag = 2; // шаг var time = 15; // Скорость раскрытия скрытия var time_cookie = 365; // дней (cookie) var arr_height_menu = {}; function SetCookie(name, value, expires, path, domain, secure){ expires = expires * 60*60*24*1000; var today = new Date(); var expires_date = new Date(today.getTime() + (expires)); var cookieString = name + "=" + escape(value) + ((expires) ? ";expires=" + expires_date.toGMTString() : "") + ((path) ? ";path=" + path : "") + ((domain) ? ";domain=" + domain : "") + ((secure) ? ";secure" : ""); document.cookie = cookieString; } function GetCookie(name){ var start = document.cookie.indexOf(name + "="); var len = start + name.length + 1; if ((!start) && (name != document.cookie.substring(0, name.length))) return null; if (start == -1) return null; var end = document.cookie.indexOf(";", len); if (end == -1) end = document.cookie.length; return unescape(document.cookie.substring(len, end)); } function unitBl(id){ arr_height_menu[id] = document.getElementById("bl_" + id).offsetHeight; var bl = GetCookie("bl_" + id); if(bl == 1){ document.getElementById("bl_" + id).style.height = "0px"; document.getElementById("linc_" + id).innerHTML = "Показать блок"; }else{ SetCookie("bl_" + id, 0, time_cookie); } } function clickBl(id){ he = document.getElementById("bl_" + id).offsetHeight; if(he < arr_height_menu[id]) showBl(id, arr_height_menu[id]); else closeBl(id, arr_height_menu[id]); } function showBl(id, height){ he += shag; document.getElementById("bl_" + id).style.height = he + "px"; height = arr_height_menu[id]; if(he < height) setTimeout("showBl('"+id+"', "+height+")", time); if(he >= height){ document.getElementById("bl_" + id).style.height = height + "px"; document.getElementById("linc_" + id).innerHTML = "Скрыть блок"; SetCookie("bl_" + id, 0, time_cookie); } } function closeBl(id, height){ he -= shag; if(he < 0) he = 0; if(he < shag){ document.getElementById("bl_" + id).style.height = "0px"; document.getElementById("linc_" + id).innerHTML = "Показать блок"; SetCookie("bl_" + id, 1, time_cookie); } document.getElementById("bl_" + id).style.height = he + "px"; height = arr_height_menu[id]; if(he > 0) setTimeout("closeBl('"+id+"', "+height+")", time); } </script> <div style="text-align:center;"> <div id="bl_1" style="overflow:hidden; text-align:center; background-color:#9999FF;">11111111<br />11111111</div> <a href="#" id="linc_1" onclick="clickBl('1'); return false;">Скрыть блок</a></div> <script type="text/javascript"> unitBl('1'); </script> <br /> <br /> <br /> <div style="text-align:center;"> <div id="bl_4" style="overflow:hidden; background-color:#993399; text-align:center;">2222222<br />2222222222<br />22222222</div> <a href="#" id="linc_4" onclick="clickBl('4'); return false;">Скрыть блок</a></div> <script type="text/javascript"> unitBl('4'); </script> <br /> <br /> <br /> <div style="text-align:center;"> <div id="bl_mmm" style="overflow:hidden; background-color:#33CC99; text-align:center;">Блок mmm<br />hjtrhyt<br />fghdfdf<br />ghdjhdfhj<br />ghgsdfhdf</div> <a href="#" id="linc_mmm" onclick="clickBl('mmm'); return false;">Скрыть блок</a></div> <script type="text/javascript"> unitBl('mmm'); </script> </body> </html>
Оценку переделать на ajax.
Если javascript отключен, то по ссылке через GET.
Оценку показывать картинкой (как в DLE), впрочем, не обязательно. Можно и через CSS красиво сделать.
Количество сайтов в категории сделать на одной строчке с названием категории. И шрифтом потемнее, а то приглядываться приходится.
Хосты Хиты Визиты Оценка, сделать без переноса.
Т.е, что бы везде было
Общей оценки давать не буду.
Да.. переделать "Панель управления"
Во всяком случае, до авторизации. Как то по-другому расположить то что внутри блока.
UP. Упрощённо.. Что бы вы поняли о чём я
<form name="top_auth" method="POST" action="/index.php"> <table> <tr> <td>логин:</td> <td style="padding-left:6px; text-align:right;"><input type="text" class="login" name="login" /></td> </tr> <tr> <td>пароль:</td> <td style="padding-left:6px; text-align:right;"><input type="password" class="login" name="pass" /></td> </tr> <tr> <td colspan="2"><a href="pass.php">вспомнить пароль</a></td> </tr> <tr> <td colspan="2"><table width="100%"> <tr> <td><strong><a href="reg.php">регистрация</a></strong></td> <td style="padding-left:6px; text-align:right;"><input name="submit_login" type="submit" value="Войти" class=input1></td> </tr> </table></td> </tr> </table> </form>
При рабочей почте можно The Bat! UnPass, сам как то узнавал свои пароли.
Попробуйте, может получится. http://www.uralprint.ru/download/
Вообще то title, у разных новостей, может быть и одинаковым.
Если всё ещё интересно, то чуть позже составлю запрос.
Сложного ничего нет. Только перекушу, а то всё остынет)))
UP. А перекусывать я буду минимум час))), люблю я это дело)))
UP. Упустил из вида что по одной новости всё таки надо оставить.
Скриптик придётся писать, простенький.
А может и нет, посмотрим что скажут другие.
Только для IE. Оно вам надо.
Хотя пару лет его как забросил..
Ну загляните вы в админу..
Всё делается штатными средствами :)
А ещё есть хелп к нему.. очень понятный..
UP. В админку.
Никого не обижая..
Ну научитесь вы правильно задавать вопросы..
С удовольствием бы помог, но нет желания по сто раз переписывать то что надо..
Вспоминая себя, когда не соображал, умные люди подсказали что в правильно заданом вопросе, будет содержаться ответ..
ТС.. Ещё раз, без обид. Вам очень легко помочь, особенно когда знаешь что и как..
PS. Никого не хотел обидеть.. Сижу отпуск обмываю)))
Следил за развитием DLE почти с момента его создания..
Пару лет как забил на него.. но тем не менее.. Если не шарите, это то что вам надо.
PS. Надеюсь как найти бесплатную версию вас учить не надо..
PS.PS. Моралистам.. Пусть чел попробует.. Глядишь, купит лицензию... Или раскрутится до личного программиста)))
UP. Если не себе, тем более за деньги.. не делайте того что я написал.
Неминуемо столкнётесь с тем что движёк обновляется.. со всеми вытекающимися.
Впрочем, если заказчик будет в курсе что и как, то ваша совесть чиста.