if($new_id = $el->Add($arLoadProductArray))
{
$sect2 = GetIBlockSection($_REQUEST['podr_'.$_REQUEST['rubrika']]);
$sect1 = GetIBlockSection($_REQUEST['rubrika']);
echo "Ваше объявление успешно принято и будет рассмотрено модератором";
$domen = "http://www.auto-city.ru/";
$mail_body = 'Добавлено новое объявление "'.$_REQUEST['text'].'" в рубрике "'.$sect1['NAME'].'"->"'.$sect2['NAME'].'" и ожидает модерации: <a href="'.$domen.'bitrix/admin/iblock_element_edit.php?ID='.$new_id.'&type=obyav&IBLOCK_ID=47">'.$domen.'bitrix/admin/iblock_element_edit.php?ID='.$new_id.'&type=obyav&IBLOCK_ID=47</a>';
email('in@elonika.ru', 'robot@autocity.ru', 'Робот АвтоCity', 'Новое объявление на сайте', $mail_body);
}
else
echo "Возникла ошибка при добавлении, обратитесь к слежбе поддержки";
?> <?endif?> <?elseif($_REQUEST['act']=="add"):?> <?if(!$_REQUEST['from']):?>
<div class="red"><b>Заполните все поля!</b></div>
<?else:?> <b>Пожалуйста, укажите подрубрику и введите код подтверждения</b> <?endif?> <?$err=1;?> <?endif?> <?if($err || $err==-1):?>
<script language="JavaScript">
lastKey = 0;
function ch_r(obj)
{
document.getElementById('r_'+obj.value).style.display = 'block';
document.getElementById('r_'+lastrid).style.display = 'none';
lastrid = obj.value;
}
function checkForm(obj)
{
/*
var str = obj.phone.value;
var re = /[^\d ()-+]+/;
for(i=0;i<1000;i++)
obj.phone.value = obj.phone.value.replace(re, "");
if(obj.phone.value!=str){
alert('В поле "Номер телефона" необходимо вводить только цифры!');
return false;
}
*/
if(!obj.text.value || !obj.captcha.value)
{
alert('Заполните все поля!');
return false;
}
}
/*
function checkChar2(){
var re = /[^\d ()-+]+/;
for(i=0;i<1000;i++)
obj.phone.value = obj.phone.value.replace(re, "");
}
function checkChar()
{
key = event.keyCode;
if(key<48 || key>57)
-cRow-, зря здесь написали, за это карточку можете получить. Как нужно попробовать сделать уже отписал в той теме. Если не поможет, свяжитесь с хостингом сайта и попросите файлы за вчерашний день. Дамп за прошлые дни. Если хостер хороший, должны делать дампы и предоставить по просьбе клиента.
Collapse, когда обновлением порадуете? :) Над кодировкой работаете?
А вы разве пользователь программы чтобы так утверждать?
По функционалу:
С чего вдруг решили что он скуднее?
Минусы SPoster по сравнению с Scuttle постер:
1) Нет возможности применять конструкцию {|} в названии, описании и метках.
2) Есть проблема с кодировкой UTF-8
3) Софт платный, зато можно с полным правом просить ввод новых функций в программе. А что программисты бесплатно работать должны??
Плюсы SPoster по сравнению с Scuttle Poster:
1) Многопоточность. Программа действительно очень быстрая.
2) Больше закладок, это дело наживное, но всёже.
3) Консольная программа. Возможность запуска из скриптов с необходимыми параметрами. Скоро будет массовое обновление с консольной версией.
4) Автор всегда на связи и готов внедрять дополнительный функционал.
Я пользовался Scuttle Poster и считаю что SPoster стоит 20$, а если ещё покроет минусы, ценник нужно поднимать :2cents: Программисты тоже люди и кушать им нужно. 🍿
chakki-chakki: сколько реально пробивается закладок из базы? отпищите в ЛС
Прогонял по базе, которую предоставил ТС. Программа пробила 95 закладок. На некоторых из них нет активной ссылки. Где-то около 70 закладок точно с активной прямой ссылкой, что не мешает в получении необходимого результата - индексации. Никто не мешает напарсить собственную базу Scuttle закладок.
Программу тестировал в бою, кроме как прогонов программой ничего не делал. Прогонял 50 разных страниц каждого дора. Результат - индекс гугла и яндекса, а что ещё нужно? :) Программа выполняет свои функции. В Яндексе доры уже полностью проиндексированы. В первый АП влетела главная и пару десятков страниц, которые были прогнаны по закладкам, на следующий АП выдачи полный индекс. В гугл примерно за неделю после прогона почти полностью залетел.
Очень рад приобретению программы. Спасибо автору, что развивает программу. Я уже получил консольную версию софта, так как просил внедрить этот функционал с самой покупки программы. Консольная версия работает также быстро и без нареканий. Уже внедрил консольную программу куда нужно. Советую купить софт пока не подорожал ☝
ТС обещал сделать скоро массовый апдейт, как ещё чуть допилит функционал программы.
Collapse, спасибо. Я рад что купил программу и не ошибся в выборе.
Вот чуть изменил код, больше не вижу как оптимизировать ещё можно, медленно очень работает :(
Fearful, такой код можно ещё лучше оптимизировать?
Вот:
GizmoKoenig, mysql не вариант :(
Исполнителям тоже инвайт нужен? :) Балончик и маркеры выдаёте? 😂
Там скриптом проверяется если пустой телефон, то не даст отправить данные. Это нужно учитывать.
Но похоже сами запросы к БД были задеты.
Чуть ошибся с комментированием кода, так попробуйте:
<?$APPLICATION->IncludeFile('/inc/mail.php')?> <?$err=-1;?> <?if($_REQUEST['act']=="add" && $_REQUEST['text'] $_REQUEST['captcha'] && !isset($_REQUEST['from'])):?> <?$err=0;?> <?if($_SESSION['pass']!=$_REQUEST['captcha']):?>
<div class="red"><b>Неверно введен код подтверждения!</b></div>
<?$err=1;?> <?else:?> <?
$el = new CIBlockElement;
$PROP = array();
$PROP['phone'] = $_REQUEST['phone'];
$arLoadProductArray = Array(
"IBLOCK_SECTION" => $_REQUEST['podr_'.$_REQUEST['rubrika']],
"IBLOCK_ID" => 47,
"PROPERTY_VALUES"=> $PROP,
"NAME" => $_REQUEST['text'],
"ACTIVE" => "N",
);
if($new_id = $el->Add($arLoadProductArray))
{
$sect2 = GetIBlockSection($_REQUEST['podr_'.$_REQUEST['rubrika']]);
$sect1 = GetIBlockSection($_REQUEST['rubrika']);
echo "Ваше объявление успешно принято и будет рассмотрено модератором";
$domen = "http://www.auto-city.ru/";
$mail_body = 'Добавлено новое объявление "'.$_REQUEST['text'].'" в рубрике "'.$sect1['NAME'].'"->"'.$sect2['NAME'].'" и ожидает модерации: <a href="'.$domen.'bitrix/admin/iblock_element_edit.php?ID='.$new_id.'&type=obyav&IBLOCK_ID=47">'.$domen.'bitrix/admin/iblock_element_edit.php?ID='.$new_id.'&type=obyav&IBLOCK_ID=47</a>';
email('in@elonika.ru', 'robot@autocity.ru', 'Робот АвтоCity', 'Новое объявление на сайте', $mail_body);
}
else
echo "Возникла ошибка при добавлении, обратитесь к слежбе поддержки";
?> <?endif?> <?elseif($_REQUEST['act']=="add"):?> <?if(!$_REQUEST['from']):?>
<div class="red"><b>Заполните все поля!</b></div>
<?else:?> <b>Пожалуйста, укажите подрубрику и введите код подтверждения</b> <?endif?> <?$err=1;?> <?endif?> <?if($err || $err==-1):?>
<script language="JavaScript">
lastKey = 0;
function ch_r(obj)
{
document.getElementById('r_'+obj.value).style.display = 'block';
document.getElementById('r_'+lastrid).style.display = 'none';
lastrid = obj.value;
}
function checkForm(obj)
{
/*
var str = obj.phone.value;
var re = /[^\d ()-+]+/;
for(i=0;i<1000;i++)
obj.phone.value = obj.phone.value.replace(re, "");
if(obj.phone.value!=str){
alert('В поле "Номер телефона" необходимо вводить только цифры!');
return false;
}
*/
if(!obj.text.value || !obj.captcha.value)
{
alert('Заполните все поля!');
return false;
}
}
/*
function checkChar2(){
var re = /[^\d ()-+]+/;
for(i=0;i<1000;i++)
obj.phone.value = obj.phone.value.replace(re, "");
}
function checkChar()
{
key = event.keyCode;
if(key<48 || key>57)
// || key==109 || key==46 || key==16 || key==8 || key==32 || key==37 || key==39 || key==36 || key==35 || (key==57 || key==48 || key==107 || key==36 || key==35 || key==37 || key==39 || key==51 || key==56))
{
alert(key);
lastKey = key;
return false;
}
lastKey = key;
return true;
}*/
</script>
<form name="iblock_add" method="post" onSubmit="return checkForm(this)">
<table class="tabs" style="width:100%" id="give_obyav">
<tr>
<td>
Текст объявления:
</td>
<td style="width:250px">
<textarea maxlength="200" size="20" rows="5" cols="25" name="text" style="width:100%"></textarea>
</td>
</tr>
<tr>
<td>
Рубрика:
</td>
<td>
<?$l1 = GetIBlockSectionList(47,0,Array("SORT"=>"ASC"))?> <select name="rubrika" onchange="ch_r(this);" style="width: 100%;"> </select>
</td>
</tr>
<tr>
<td>
Подрубрика:
</td>
<td>
<?$l1 = GetIBlockSectionList(47,0,Array("SORT"=>"ASC"))?> <?$i=0;?> <?while($s_l1 = $l1->GetNext()):?> <?if($i==0):?>
<script language="JavaScript">
var lastrid = <img src="/bitrix/images/fileman/htmledit2/php.gif" border="0" __bxtagname="php" __bxcontainer="{'code': '<?=(!$_REQUEST[\'rubrika\'])?$s_l1[\'ID\']:$_REQUEST[\'rubrika\']?>'}" />;
</script>
<?endif?> <?=$s_l1['ID']?> <?$i++;?> <?endwhile?>
</td>
</tr>
<tr>
<td>
Код подтверждения:
</td>
<td>
<img src="/captcha/captcha_image.php">
</td>
</tr>
<tr>
<td>
Введите код:
</td>
<td>
<input type="text" style="width:100%" name="captcha">
</td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="act" value="add">
<input type="submit" name="iblock_submit" value="Подать" class="btn" style="width:50%">
<input type="reset" value="Отмена" class="btn" style="width:49%">
</td>
</tr>
</table>
</form> <?endif?>
-cRow-, зря здесь написали, за это карточку можете получить. Как нужно попробовать сделать уже отписал в той теме. Если не поможет, свяжитесь с хостингом сайта и попросите файлы за вчерашний день. Дамп за прошлые дни. Если хостер хороший, должны делать дампы и предоставить по просьбе клиента.
Collapse, когда обновлением порадуете? :) Над кодировкой работаете?
Зачем лезть туда, с чем плохо знакомы?
Сам плохо ориентируюсь в вашем коде и не знаю что именно вы изменили.
Только когда будете изменять index.php сохраните код.
Поробуйте так:
<?$APPLICATION->IncludeFile('/inc/mail.php')?> <?$err=-1;?> <?if($_REQUEST['act']=="add" && $_REQUEST['text'] $_REQUEST['captcha'] && !isset($_REQUEST['from'])):?> <?$err=0;?> <?if($_SESSION['pass']!=$_REQUEST['captcha']):?>
<div class="red"><b>Неверно введен код подтверждения!</b></div>
<?$err=1;?> <?else:?> <?
$el = new CIBlockElement;
$PROP = array();
//$PROP['phone'] = $_REQUEST['phone'];
$arLoadProductArray = Array(
"IBLOCK_SECTION" => $_REQUEST['podr_'.$_REQUEST['rubrika']],
"IBLOCK_ID" => 47,
"PROPERTY_VALUES"=> $PROP,
"NAME" => $_REQUEST['text'],
"ACTIVE" => "N",
);
if($new_id = $el->Add($arLoadProductArray))
{
$sect2 = GetIBlockSection($_REQUEST['podr_'.$_REQUEST['rubrika']]);
$sect1 = GetIBlockSection($_REQUEST['rubrika']);
echo "Ваше объявление успешно принято и будет рассмотрено модератором";
$domen = "http://www.auto-city.ru/";
$mail_body = 'Добавлено новое объявление "'.$_REQUEST['text'].'" в рубрике "'.$sect1['NAME'].'"->"'.$sect2['NAME'].'" и ожидает модерации: <a href="'.$domen.'bitrix/admin/iblock_element_edit.php?ID='.$new_id.'&type=obyav&IBLOCK_ID=47">'.$domen.'bitrix/admin/iblock_element_edit.php?ID='.$new_id.'&type=obyav&IBLOCK_ID=47</a>';
email('in@elonika.ru', 'robot@autocity.ru', 'Робот АвтоCity', 'Новое объявление на сайте', $mail_body);
}
else
echo "Возникла ошибка при добавлении, обратитесь к слежбе поддержки";
?> <?endif?> <?elseif($_REQUEST['act']=="add"):?> <?if(!$_REQUEST['from']):?>
<div class="red"><b>Заполните все поля!</b></div>
<?else:?> <b>Пожалуйста, укажите подрубрику и введите код подтверждения</b> <?endif?> <?$err=1;?> <?endif?> <?if($err || $err==-1):?>
<script language="JavaScript">
lastKey = 0;
function ch_r(obj)
{
document.getElementById('r_'+obj.value).style.display = 'block';
document.getElementById('r_'+lastrid).style.display = 'none';
lastrid = obj.value;
}
/*
function checkForm(obj)
{
var str = obj.phone.value;
var re = /[^\d ()-+]+/;
for(i=0;i<1000;i++)
obj.phone.value = obj.phone.value.replace(re, "");
if(obj.phone.value!=str){
alert('В поле "Номер телефона" необходимо вводить только цифры!');
return false;
}
*/
if(!obj.text.value || !obj.captcha.value)
{
alert('Заполните все поля!');
return false;
}
}
/*
function checkChar2(){
var re = /[^\d ()-+]+/;
for(i=0;i<1000;i++)
obj.phone.value = obj.phone.value.replace(re, "");
}
function checkChar()
{
key = event.keyCode;
if(key<48 || key>57)
// || key==109 || key==46 || key==16 || key==8 || key==32 || key==37 || key==39 || key==36 || key==35 || (key==57 || key==48 || key==107 || key==36 || key==35 || key==37 || key==39 || key==51 || key==56))
{
alert(key);
lastKey = key;
return false;
}
lastKey = key;
return true;
}*/
</script>
<form name="iblock_add" method="post" onSubmit="return checkForm(this)">
<table class="tabs" style="width:100%" id="give_obyav">
<tr>
<td>
Текст объявления:
</td>
<td style="width:250px">
<textarea maxlength="200" size="20" rows="5" cols="25" name="text" style="width:100%"></textarea>
</td>
</tr>
<tr>
<td>
Рубрика:
</td>
<td>
<?$l1 = GetIBlockSectionList(47,0,Array("SORT"=>"ASC"))?> <select name="rubrika" onchange="ch_r(this);" style="width: 100%;"> </select>
</td>
</tr>
<tr>
<td>
Подрубрика:
</td>
<td>
<?$l1 = GetIBlockSectionList(47,0,Array("SORT"=>"ASC"))?> <?$i=0;?> <?while($s_l1 = $l1->GetNext()):?> <?if($i==0):?>
<script language="JavaScript">
var lastrid = <img src="/bitrix/images/fileman/htmledit2/php.gif" border="0" __bxtagname="php" __bxcontainer="{'code': '<?=(!$_REQUEST[\'rubrika\'])?$s_l1[\'ID\']:$_REQUEST[\'rubrika\']?>'}" />;
</script>
<?endif?> <?=$s_l1['ID']?> <?$i++;?> <?endwhile?>
</td>
</tr>
<tr>
<td>
Код подтверждения:
</td>
<td>
<img src="/captcha/captcha_image.php">
</td>
</tr>
<tr>
<td>
Введите код:
</td>
<td>
<input type="text" style="width:100%" name="captcha">
</td>
</tr>
<tr>
<td colspan="2">
<input type="hidden" name="act" value="add">
<input type="submit" name="iblock_submit" value="Подать" class="btn" style="width:50%">
<input type="reset" value="Отмена" class="btn" style="width:49%">
</td>
</tr>
</table>
</form> <?endif?>
з.ы. Не стоит пока программа 20 у.е.
А вы разве пользователь программы чтобы так утверждать?
По функционалу:
С чего вдруг решили что он скуднее?
Минусы SPoster по сравнению с Scuttle постер:
1) Нет возможности применять конструкцию {|} в названии, описании и метках.
2) Есть проблема с кодировкой UTF-8
3) Софт платный, зато можно с полным правом просить ввод новых функций в программе. А что программисты бесплатно работать должны??
Плюсы SPoster по сравнению с Scuttle Poster:
1) Многопоточность. Программа действительно очень быстрая.
2) Больше закладок, это дело наживное, но всёже.
3) Консольная программа. Возможность запуска из скриптов с необходимыми параметрами. Скоро будет массовое обновление с консольной версией.
4) Автор всегда на связи и готов внедрять дополнительный функционал.
Я пользовался Scuttle Poster и считаю что SPoster стоит 20$, а если ещё покроет минусы, ценник нужно поднимать :2cents: Программисты тоже люди и кушать им нужно. 🍿
сколько реально пробивается закладок из базы? отпищите в ЛС
Прогонял по базе, которую предоставил ТС. Программа пробила 95 закладок. На некоторых из них нет активной ссылки. Где-то около 70 закладок точно с активной прямой ссылкой, что не мешает в получении необходимого результата - индексации. Никто не мешает напарсить собственную базу Scuttle закладок.
Программу тестировал в бою, кроме как прогонов программой ничего не делал. Прогонял 50 разных страниц каждого дора. Результат - индекс гугла и яндекса, а что ещё нужно? :) Программа выполняет свои функции. В Яндексе доры уже полностью проиндексированы. В первый АП влетела главная и пару десятков страниц, которые были прогнаны по закладкам, на следующий АП выдачи полный индекс. В гугл примерно за неделю после прогона почти полностью залетел.
Очень рад приобретению программы. Спасибо автору, что развивает программу. Я уже получил консольную версию софта, так как просил внедрить этот функционал с самой покупки программы. Консольная версия работает также быстро и без нареканий. Уже внедрил консольную программу куда нужно. Советую купить софт пока не подорожал ☝
ТС обещал сделать скоро массовый апдейт, как ещё чуть допилит функционал программы.
Collapse, спасибо. Я рад что купил программу и не ошибся в выборе.
Можно вообще сразу базу состаить ключ - релевантная страница.
А затем туда перенаправлять с рефкой.
Но смысла заморачиваться так совсем мало.
Только если для шопов, когда ищут определённый товар... Но там и по другому делать можно :)
ksylite, хех, это наверное очень великие дорвейщики :)
Collapse, зря конечно нет привязки :(
По программе - давно искал подобную программу. Спасибо автору, программа шустрая и работает как надо. Спасибо за обновления и советы по прогону.
Не жалейте денег, программы такого рода окупают себя с лихвой.
Купил базу. База удобно разделена по категориям. Как разделена можно увидеть ещё до покупки, скачав архивы.
Вот например сравнение top.mail.ru рейтинга Авто/Мото с содержимым архива Авто/Мото:
Т.е. ТС действительно собирал базу из top.mail.ru (поисковые запросы). Смотрел там поисковые запросы и все запросы находились в базе.
Покупкой доволен. Надеюсь что база будет обновляться и автор не забудет о своих клиентах 🚬