День добрый. Третий день мучаюсь с кодом, на одном месте застопорился. Попросили помочь установить скрипт Букса (там были сплошные ошибки и недочёты в коде). Заинтересовался и влился в это дело, очень многое исправил, но вот застопорился на одном месте. Там есть возможность сделать ссылку Vip ("Выделить ссылку"), т.е. выделить её другим цветом (смена изображения) и поместить сверху остальных ссылок. Вот как раз наверх такие ссылки никак не хотят лезть, а отображаются в задании по очереди их размещения. Может, кто-нибудь сможет разобраться, в чём причина? Вот полный код в файле добавления ссылки (adv.php) Код (PHP): <? require_once('zsecurity.php'); session_start(); $vipmest=$vipmest1+$vipmest2; require('moneyfortimer.php'); $dyn=$hits; $ds=$dopsec; $vipprice=$vipblock; $p=$sitepurse; $vn=$sitevalname; if (isset($_POST["url"])) { function limpiarez($mess) { $mess=str_replace(";"," ",$mess); $mess=str_replace("$"," ",$mess); $mess=str_replace("'"," ",$mess); $mess=strip_tags($mess); return $mess; } $url1=limpiarez($_POST["url"]); /// function getHost($Address) { $parseUrl = parse_url(trim($Address)); return trim($parseUrl[host] ? $parseUrl[host] : array_shift(explode('/', $parseUrl[path], 2))); } $site=getHost($url1); $site=str_ireplace("www.","",$site); $bll=mysql_query("SELECT * FROM seo_blacklist WHERE site='$site'"); if(mysql_num_rows($bll)>0) { $res34=mysql_fetch_array($bll); echo "$infstart Ваш сайт находится в чёрном списке.Причина: $res34[reason] $infend"; include('footer.php'); exit; } /// $description=check_text($_POST["description"]); $texto=check_text($_POST[texto]); $highlight=$_POST["highlight"]; if ($highlight!="1" or $highlight!="0") { $_POST["highlight"]="0"; } $highlight=str_replace("'","",$highlight); $highlight=str_replace('"',"",$highlight); $highlight=str_replace("$","",$highlight); $timer=$_POST["timer"]; if ($timer!='1' and $timer!='2' and $timer!='3' and $timer!='4' and $timer!='0') { echo "$infstart Ошибка ввода!!! $infend"; include('footer.php'); exit(); } $timer1=20+$timer*10; $obper=$_POST["obper"]; if($obper!=1 and $obper!=0) $obper=0; $url1=htmlspecialchars($url1); $description=htmlspecialchars($description, null, "windows-1251"); $texto=htmlspecialchars($texto, null, "windows-1251"); if ($url1==""){echo "$infstart Указаны не все параметры $infend"; include('footer.php'); exit();} if ($description==""){echo "$infstart Указаны не все параметры $infend"; include('footer.php'); exit();} if ($texto==""){echo "$infstart Указаны не все параметры $infend"; include('footer.php'); exit();} $precio=$hits+$timer*$timer5+$hldyn*$highlight+$obper*$obperehod; require('moneyfortimer.php'); if($timer==0) $payforad=$payfor20; if($timer==1) $payforad=$payfor30; if($timer==2) $payforad=$payfor40; if($timer==3) $payforad=$payfor50; if($timer==4) $payforad=$payfor60; if(!isset($_GET[edit])) { $nowtime=time(); $totit=limpiarez($_POST[url]); mysql_query("InSERT InTO tb_allhistory (idus,data,doing,title) values ('$_SESSION[iduser]','$nowtime','2','$totit')"); mysql_query("insert into tb_ads (url,description,timer,obper,texto,highlight,price,fromus,payforad) values ('$url1','$description','$timer','$obper','$texto','$highlight','$precio','$_SESSION[iduser]','$payforad')") or die(mysql_error()); }else{ $ident=intval($_GET[edit]); $sql=mysql_query("SELECT * FROM tb_ads WHERE paused=1 and fromus='$_SESSION[iduser]' and id='$ident'") or die(mysql_error()); if(mysql_num_rows($sql)!=0) { $res=mysql_fetch_assoc($sql); // mysql_query("INSERT INTO tb_ads (url) values ('bgg')") or die(mysql_error()); $id=mysql_result(mysql_query("SELECT id FROM tb_ads ORDER by id DESC LIMIT 1"),0); $modernow=mysql_result(mysql_query("SELECT modered FROM tb_ads WHERE id='$id'"),0); mysql_query("DELETE FROM tb_ads WHERE id='$id'"); mysql_query("UPDATE tb_ads SET url='$url1',description='$description',timer='$timer',obper='$obper',texto='$texto',highlight='$highlight',price='$precio',payforad='$payforad' where id='$ident'") or die(mysql_error()); if($res[description]!=$description OR $res[url]!=$url1 OR $res[texto]!=$texto) mysql_query("UPDATE tb_ads SET modered='$modernow' where id='$ident'") or die(mysql_error()); } } ?> <script type="text/javascript"> location.replace("advmanager.php?adv=dyn"); </script> <noscript> <meta http-equiv="refresh" content="0; url=advmanager.php?adv=dyn"> </noscript> <? } ?> <h3>Сёрфинг-реклама на <?=$sitename ?> <? if(isset($_GET[edit])) echo "(Редактирование)"; ?></h3> <? if(isset($_GET[edit])) { ?> Здесь вы можете изменить рекламный текст и прочие параметры рекламной площадки. В случае изменения заголовка, описания или url-адреса, площадка будет направлена на проверку. После прохождения проверки, реклама будет снова доступна к запуску. <h3>Форма редактирования рекламной площадки</h3><? }else{ ?> Доступная, эффективная и недорогая реклама на <span class='seosprint'><?=$sitename ?></span> — прекрасная возможность привлечения целевой аудитории на ваш интернет-ресурс. Тысячи потенциальных потребителей смогут в полной мере ознакомиться с вашей продукцией или услугами. Серфинг гарантирует уникальные посещения рекламируемого сайта в течение 24 часов. Кроме того, вы можете максимально точно сформировать поток именно тех посетителей, для которых ваш сайт будет наиболее интересен. <h3>Форма для размещения рекламы в серфинг</h3> <? } if(isset($_GET[edit])) { $ident=intval($_GET[edit]); $sql=mysql_query("SELECT * FROM tb_ads WHERE paused=1 and fromus='$_SESSION[iduser]' and id='$ident'") or die(mysql_error()); if(mysql_num_rows($sql)==0) { echo "$infstart Перед редактированием необходимо приостановить рекламную кампанию $infend"; include('footer.php'); exit; } $res=mysql_fetch_assoc($sql); } ?> <script type="text/javascript" language="JavaScript"> var serf_price = <?=$hits ?>; var serf_price_timer = <?=$timer5 ?>; var serf_price_move = <?=$obperehod ?>; var serf_price_high = <?=$hldyn ?>; $(document).ready(function(){ $("#hint1").simpletip({ fixed: true, position: ["-502", "-20"], focus: false, content: '<b>Заголовок ссылки</b> - максимум 55 символов.<br />Заголовок должен быть коротким и понятным.<br />Соблюдайте грамматику. Небрежное написание оттолкнёт посетителей.<br />Не пишите всё ЗАГЛАВНЫМИ БУКВАМИ, не ставьте множество однотипных<br />знаков типа: !!!!!! и т.д. После запятой правильно ставить знак пробела.' }); $("#hint2").simpletip({ fixed: true, position: ["-502", "-20"], focus: false, content: '<b>Краткое описание ссылки</b> - максимум 55 символов.<br />Краткое описание должно быть информативным и понятным.<br />Соблюдайте грамматику. Небрежное написание оттолкнёт посетителей.<br />Не пишите всё ЗАГЛАВНЫМИ БУКВАМИ, не ставьте множество однотипных<br />знаков типа: !!!!!! и т.д. После запятой правильно ставить знак пробела.' }); $("#hint3").simpletip({ fixed: true, position: ["-502", "-20"], focus: false, content: '<b>URL-адрес</b> ссылки должен начинаться с http:// или https://<br />и содержать не более 300 символов. Не используйте HTML-теги и Java-скрипты.<br />За попытки взлома системы, наказание - удаление аккаунта' }); $("#hint4").simpletip({ fixed: true, position: ["-502", "-20"], focus: false, content: 'Стандартное время просмотра ссылки - 20 секунд. Можно увеличить<br />за дополнительную плату' }); $("#hint5").simpletip({ fixed: true, position: ["-502", "-20"], focus: false, content: 'После стандартного просмотра ссылки в серфинге производится прямой<br />переход на рекламируемый ресурс. За дополнительную плату.' }); $("#hint6").simpletip({ fixed: true, position: ["-502", "-20"], focus: false, content: 'Если рекламируемый вами ресурс по каким-либо причинам будет недоступен,<br />система не будет учитывать холостые просмотры и сэкономит ваш бюджет.<br />Эта опция платная.' }); $("#hint7").simpletip({ fixed: true, position: ["-502", "-20"], focus: false, content: 'Можно указать возрастной диапазон вашей аудитории. Например:<br /><b>"от 20 лет" — "до 55 лет"<br />"от малышей" — "до 25 лет"<br />"от 47 лет" — "до стариков"</b>' }); $("#hint8").simpletip({ fixed: true, position: ["-502", "-20"], focus: false, content: 'Ваша ссылка будет в верхней части списка и выделена особым цветом.<br />За дополнительную плату.</b>' }); }) function targetopen() { document.getElementById('targetblockopen').style.display = 'none'; document.getElementById('targetblock').style.display = ''; } function targetclose() { document.getElementById('targetblock').style.display = 'none'; document.getElementById('targetblockopen').style.display = ''; } function SbmForm() { if (document.forms['surforder'].texto.value == '') { alert('Вы не указали заголовок ссылки'); document.forms['surforder'].texto.focus(); return false; } if (document.forms['surforder'].description.value == '') { alert('Вы не указали краткое описание ссылки'); document.forms['surforder'].ask_description.focus(); return false; } if ((document.forms['surforder'].url.value == '')|(document.forms['surforder'].url.value == 'http://')) { alert('Вы не указали URL-адрес ссылки'); document.forms['surforder'].url.focus(); return false; } if (document.forms['surforder'].tosaccept.checked == false) { alert('Если вы прочитали правила, с ними нужно согласиться'); return false; } document.forms['surforder'].submit(); return true; } function ClearForm() { var advedit = 0; if (advedit == 0) { document.forms['surforder'].texto.value = ''; document.forms['surforder'].description.value = ''; document.forms['surforder'].url.value = 'http://'; } else { document.getElementById('targetblock').style.display = ''; document.getElementById('targetblockopen').style.display = 'none'; } document.forms['surforder'].timer.value = 20; document.forms['surforder'].highlight.value = 0; PlanChange(document.forms['surforder']); } function PlanChange(frm) { lprice = serf_price; if(frm.timer.value == 0) { lprice = serf_price; } else if (frm.timer.value == 1) { lprice += serf_price_timer; } else if (frm.timer.value == 2) { lprice += (serf_price_timer*2); } else if (frm.timer.value == 3) { lprice += (serf_price_timer*3); } else if (frm.timer.value == 4) { lprice += (serf_price_timer*4); } if (frm.highlight.value == 1) { lprice += serf_price_high; } if (frm.obper.value == 1) { lprice += serf_price_move; } frm.linkprice.value = number_format(lprice, 3, '.', ''); } function number_format(number, decimals, dec_point, thousands_sep) { var i, j, kw, kd, km; if (isNaN(decimals = Math.abs(decimals))) { decimals = 2; } if (dec_point == undefined) { dec_point = ","; } if (thousands_sep == undefined) { thousands_sep = "."; } i = parseInt(number = (+number || 0).toFixed(decimals)) + ""; if ((j = i.length) > 3) { j = j % 3; } else { j = 0; } km = (j ? i.substr(0, j) + thousands_sep : ""); kw = i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + thousands_sep); kd = (decimals ? dec_point + Math.abs(number - i).toFixed(decimals).replace(/-/, 0).slice(2) : ""); return km + kw + kd; } </script> <form name="surforder" method="post" action="" onsubmit="return SbmForm(); return false;"> <table class='profile' width='100%' border='0' cellpadding='0' cellspacing='0' style='margin-bottom: 0;'> <thead> <tr> <th align='center' width='42%' nowrap='nowrap'>Параметр</th> <th align='center' nowrap='nowrap'>Значение</th> <th></th> </tr> </thead> <tbody> <tr> <td><b>Заголовок ссылки</b></td> <td class="value"><input class="val" type="text" name="description" maxlength="55" value="<?=$res[description]; ?>" /></td> <td class="service"><span id="hint1" class="hint-quest"></span></td> </tr> <tr> <td><b>Краткое описание ссылки</b></td> <td class="value"><input class="val" type="text" name="texto" maxlength="55" value="<?=$res[texto]; ?>" /></td> <td class="service"><span id="hint2" class="hint-quest"></span></td> </tr> <tr> <td><b>URL сайта</b> (включая http://)</td> <td class="value"><input class="val" type="text" name="url" maxlength="300" value="<? if(isset($_GET[edit])) { echo $res[url]; }else{ echo "http://"; } ?>" /></td> <td class="service"><span id="hint3" class="hint-quest"></span></td> </tr> <tr> <td>Время просмотра ссылки</td> <td class="value"> <select class="val" name="timer" onChange="PlanChange(this.form); return false;"> <option value="0" <? if($res[timer]==0) echo "selected"; ?>>20 секунд</option> <option value="1" <? if($res[timer]==1) echo "selected"; ?>>30 секунд (+ <?=$timer5?> <?=$sitevalname ?>)</option> <option value="2" <? if($res[timer]==2) echo "selected"; ?>>40 секунд (+ <?=$timer5*2 ?> <?=$sitevalname ?>)</option> <option value="3" <? if($res[timer]==3) echo "selected"; ?>>50 секунд (+ <?=$timer5*3 ?> <?=$sitevalname ?>)</option> <option value="4" <? if($res[timer]==4) echo "selected"; ?>>60 секунд (+ <?=$timer5*4 ?> <?=$sitevalname ?>)</option> </select> </td> <td class="service"><span id="hint4" class="hint-quest"></span></td> </tr> <tr> <td>Выделить ссылку</td> <td class="value"> <select class="val" name="highlight" onChange="PlanChange(this.form); return false;"> <option value="0" <? if($res[highlight]==0) echo "selected"; ?>>Нет</option> <option value="1" <? if($res[highlight]==1) echo "selected"; ?>>Да (+ <?=$hldyn ?> <?=$sitevalname ?>)</option> </select> </td> <td class="service"><span id="hint8" class="hint-quest"></span></td> </tr> <tr> <td>Последующий переход на сайт</td> <td class="value"> <select class="val" name="obper" onChange="PlanChange(this.form); return false;"> <option value="0" <? if($res[obper]==0) echo "selected"; ?>>Нет</option> <option value="1" <? if($res[obper]==1) echo "selected"; ?>>Да (+ <?=$obperehod ?> <?=$siteval ?>)</option> </select> </td> <td class="service"><span id="hint5" class="hint-quest"></span></td> </tr> <tr> <td>Стоимость одного просмотра</td> <td class="price" colspan="3"> <input type="text" name="linkprice" maxlength="5" value="<?if($res[price]!='') { echo $res[price]; }else{ echo $hits; } ?>" readonly="readonly" /><?=$sitevalname ?> </td> </tr> </tbody> </table> <div class='centerbtn'> <p>[url="/rules.html"]Прочтите правила (ссылка откроется в новом окне)[/url]<br /> <input type="checkbox" name="tosaccept" value="1" />Я согласен(на) с правилами размещения рекламы на <?=$sitename ?> </p> <input type='submit' class='btn-blue' name='submitall' value='Сохранить' /> </div> </form> И полный код в файле вывода блока ссылок (sites.php): Код (PHP): <? include('header.php'); ?> <? include('spblock.php'); ?> <script type="text/javascript" language="JavaScript"> var elem = null; var oldelem = null; function hideserfcompblock(bid) { elem = document.getElementById('comp'+bid); if (elem.style.display == 'none') { document.forms['comp'].compadsid.value = bid; elem.style.display = ''; if (oldelem != null) { oldelem.style.display = 'none'; } oldelem = elem; } else { elem.style.display = 'none'; oldelem = null; } return false; } function goserf(eid) { document.cookie="viewserf="+eid; document.getElementById("adstatus"+eid).className = 'serfimggo'; return false; } </script> <h1>Здесь зарабатывают на просмотре сайтов</h1> На <span class="seosprint"><?=$sitename ?></span> есть много чего, за что платят реальные деньги: просмотр рекламных сайтов, чтение писем, участие в тестах и опросах, а так же выполнение несложных заданий. Работа не пыльная и интересная. А вместе с рефераллами - ещё и весьма доходная! <table border="0" align="center" style="margin: 10px auto -10px;"> <tr> <td> [url="/viewads.html"]<img src="images/advmode/serf.png" width="16" height="16" border="0" alt="" />[/url] [url="/readmails.php"]<img src="images/advmode/mails.png" width="16" height="16" border="0" alt="" />[/url] [url="/tasks.php"]<img src="images/advmode/task.png" width="16" height="16" border="0" alt="" />[/url] </td> </tr> </table> <div id='rollbaner'> <? include('rotator.php'); ?></div> <? if(isset($_POST[abuse]) and isset($_SESSION[iduser])) { $ident=intval($_POST[ident]); if(mysql_num_rows(mysql_query("SELECT * FROM user_zal WHERE link_id='$ident' And user='$_SESSION[iduser]'"))==0) { $abuse=check_text($_POST[abuse]); $nowtime=time(); mysql_query("Insert into user_zal (link_id,user,date,text) values ('$ident','$_SESSION[iduser]','$nowtime','$abuse')") or die(mysql_error()); mysql_query("UPDATE tb_ads set all_zh=all_zh+1 where id='$ident'"); mysql_query("UPDATE tb_ads SET modered=2 WHERE all_zh>5"); } } require('moneyfortimer.php'); if(isset($_SESSION["username"]) && isset($_SESSION["password"])) { $tit=""; }else{ $tit="1"; } $sql = "SELECT * FROM tb_ads WHERE paused=0 and balance>payforad and modered=1"; $rs = mysql_query($sql, $con);$allsqls++; if(mysql_num_rows($rs)>0) { ?> <h2>Зарабатывай, просматривая сайты рекламодателей</h2> <table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'> <? while($row = mysql_fetch_array($rs)) { $highlight=$row["highlight"]; $id=$row["id"]; $description=$row["description"]; $plan=$row["plan"]; $elprecio=round($row[payforad],3); $balance=$row[balance]; $total=$members+$outside; $ostatok=intval($balance/$row[price]); if($ostatok==0) mysql_query("UPDATE tb_ads set balance=0,paused=1 where id='$id'") or die(mysql_error()); require_once('config.php'); $last=$_SESSION["iduser"]; $sqle = "SELECT * FROM tb_visits WHERE idus='$last' and ident='$id'";$allsqls++; $resulte = mysql_query($sqle); $myrow = mysql_fetch_array($resulte); $time=$myrow['data']; $urldyn=$row["url"]; $highlight=$row[highlight]; $abs1 = $row["all_zh"]; $crok1 = date(time()); $crok2 = date($time + (24 * 60 * 60)); $cr=date("H:i",$crok2); $os=$crok2 - $crok1 - (3 * 60 * 60); $ost=date("H:i:s",$os); if($crok1 >= $crok2) { $block=0; }else{ $block=1; } if($block!=1) { $symbolsdesc=strlen($description); if($symbolsdesc>25) { $sdesc=$symbolsdesc-5; $startbut=rand(5,$sdesc); }else{ $sdesc=$symbolsdesc-3; $startbut=rand(0,$sdesc); } $newdesc=substr($description,0,$startbut); $newdesc.="<a class='serfgo' href='/adview-$row[id].html' target='_blank' onclick=\"javascript:goserf($row[id]);\">"; $endbut=$startbut+3; $frees=substr($description,$startbut,3); $other=substr($description,$endbut); $newdesc.="$frees</a>$other"; }else{ $newdesc=$description; } ?> <? if($block!=0) {} else { ?> <form name='comp' method='post' action=''> <input type='hidden' name='compadsid' value='0'> <input type='hidden' name='abuseid' value='<?=$row[id]; ?>'> <tr> <td class='normal' width='40' valign='top'> <span id='adstatus<?=$row[id] ?>' <? if($block==1) { echo "class='serfimgmultiip'"; }else{ ?> class='serfimg<? if($highlight==1) echo "high"; ?>' <? } ?>> </span> </td> <td class='normal' valign='top'> <?=$newdesc ?> <br /> <span class='desctext'> <? if($block==0) { ?> <?=$row[texto]?> <?}else{ echo "<font color='red'>До просмотра ссылки осталось $ost</font>"; } ?> </span> <? if(mysql_num_rows(mysql_query("SELECT * FROM user_zal WHERE link_id='$row[id]' and user='$_SESSION[iduser]'"))==0 and isset($_SESSION[iduser])) { ?> <div id='comp<?=$row[id] ?>' class='addcomplaintblock' style='display: none;'> Что не так в этой ссылке? Вирусы? Порнография? Разрушение таймера? <br /> <input type='hidden' name='ident' value='<?=$row[id] ?>'> <input type='text' name='abuse' maxlength='80' value='' /> <input class='complaintbutton' type='submit' value='Отправить' /> </div><? } ?> </td> <td class='normal' nowrap='nowrap' valign='top' style='width: 60px; text-align: right; padding-right: 10px;'> <span class='smoolgray' title='Осталось визитов'>(<?=$ostatok ?>)</span> <span class='clickprice'><?=$elprecio ?> <?=$sitevalname ?></span> <a class='workcomp' href='#top' title='Пожаловаться на рекламу' onclick="javascript:hideserfcompblock(<?=$row[id];?>);"></a> <a class='workvir' href='http://online.us.drweb.com/result/?url=<?=$row[url] ?>' title='Проверить ссылку на вирусы' target='_blank'></a> </td></tr> </form> <? } ?> <? }?> </table><? } ?> <? require_once('config.php'); $sql = "SELECT * FROM tb_psevdolinks ORDER BY id DESC"; $allsqls++; $rs = mysql_query($sql, $con); if(mysql_num_rows($rs)>0) { ?> <h2>Служебные ссылки (не оплачиваются)</h2> <table class='work-serf' width='100%' border='0' cellpadding='0' cellspacing='0'> <? while($row = mysql_fetch_assoc($rs)) { $id=$row["id"]; $urllink=$row["url"]; $description=$row["description"]; $numdays=$row["numdays"]; $members=$row["members"]; $outside=$row["outside"]; $total=$members+$outside; ?> <tr><td class='normal' width='40' valign='top'> <span class='serfimgsys'></span> </td><td class='normal' valign='top' colspan='2'> <a href='<?=$row[url] ?>' target='_blank'> <?=$description ?> <br /> <span class='desctext'> <?=$row[texto] ?> </span></a></td></tr> <? }?> </table><? } ?> <? include('footer.php'); ?> PHP, JavaScript, SQL и другой код пишите внутри тегов Код ( (Unknown Language)): [b]php][/b]Тут код[b][/[/b][b]code][/b][/color]
А как сам пытался сделать? как сортируешь? Добавлено спустя 8 минут 11 секунд: сначала вытяни vip ссылки, а потом вытяни остальные.
Да в том-то и дело, что скрипт не мой, и я сам толком понять не могу, как именно тут данная функция реализована, и реализована ли она вообще... То ли что-то изменить нужно, то ли что-то добавить в код (что вполне вероятно, т.к. и так уже много чего переделывать и своего добавлять во всём скрипте пришлось). Не совсем ясно, как именно тут Vip-ссылки определить, и как именно их отдельно вывести.