Архив Январь, 2012

[Bitrix] Многоуровневое меню в Bitrix

Author admin    Category Bitrix     Tags ,


Стандартный модуль вывода меню в Битриксе поддерживает максимальный уровень вложенности – 4. А что делать, если клиента такой уровень вложенности не устраивает. Из данной ситуации есть 2 выхода: Первое – доработать стандартный модуль вывода меню, да это можно сделать, но если групп и подгрупп очень много, будет выглядеть не как меню, а как «солянка» Второй метод – перед списком товара будут выводиться подгруппы они будут исполнять навигационное меню. данный метод мы сегодня с вами и разберем.

Для создания многоуровневого меню, нам необходимо отредактировать шаблон Каталога товаров под названием Элементы раздела (bitrix:catalog.section)

<?php
$OUT="";

// выводим разделы
$IBLOCK_ID = $arParams['IBLOCK_ID'];
$ID = $arParams["SECTION_ID"];
if(CModule::IncludeModule("iblock")){
  // выборка только активных разделов из инфоблока $IBLOCK_ID, $ID - раздел-родителя
  $arFilter = Array('IBLOCK_ID'=>$IBLOCK_ID, 'GLOBAL_ACTIVE'=>'Y', 'SECTION_ID'=>$ID);
  $db_list = CIBlockSection::GetList(Array("NAME"=>"ASC"), $arFilter, true,$arSelect = array( "UF_*"));
  while($ar_result = $db_list->GetNext())
  {

   $OUT.="<li><a href=\"/catalog/goods/$ar_result[ID]/\">$ar_result[NAME] ($ar_result[ELEMENT_CNT])</a></li>";

  }
}

?>

В результате переменная $OUT будет содержать список разделов.
далее

Янв
22

[Скрипт XHE] Массовая смена почты в ЖЖ

Author admin    Category Human Emulator     Tags

С помощью скрипта можно массово сменить почтовые адреса для пачки ЖЖ блогов. скрипт раотает через программный крон, т.е. автоматически будет запускаться через определенный промежуток времени, о данном методе я уже писал и использую его в большинстве своих скриптов.На самом деле HumanEmulator очень гибкий продукт и с его помощью можно без труда написать парсер картинок или  спарсить фото со всей сети по запросу фото мазда 3. Кстати, через вашего покорного слугу вы можете приобрести XHE с 10% скидкой. Перейдем к разработке нашего скрипта. Для корректной работы скрипта необходимы следующие файлы:

i.txt – счетчик ЖЖ блогов
m.txt – счетчик почтовых аккуантов
jjlist.txt – список ЖЖ блогов, структура списка должна быть следующей
http://blog.livejournal.com;blog;password
mails.txt – список почтовых аккуантов, структура списка должна быть следующей
azaldseasce@mail.ru:sstvrewwxxy
newjj.txt – список готовых ЖЖ блогов
BadLj.txt – список блогов для которых процесс смены почты завершился неудачей

<?php

$xhe_host ="127.0.0.1:7012";

// The following code is required to properly run XWeb Human Emulator
require("C:\Program Files (x86)\XWeb\Human Emulator\Templates\xweb_human_emulator.php");
//Считаем ЖЖ
$i = file_get_contents("i.txt");
// Считаем почту
$m = file_get_contents("m.txt");

// Получаем лист ЖЖ аккуантов
$jjlist = file("jjlist.txt");
// Получаем почту
$mails = file("mails.txt");

list($ljurl,$login,$password) = @split(";",$jjlist[$i]);
list($MailLogin,$MailPassword) = @split(":",trim($mails[$m]));

$ljurl = trim($ljurl);
$login = trim($login);
$password = trim($password);

$MailLogin = trim($MailLogin);
$MailPassword = trim($MailPassword);

$browser->navigate('http://www.livejournal.com/');
$browser->wait_for(60,1);

$input->set_value_by_name('user',$login);
$browser->wait_for(60,1);

$input->set_value_by_name('password',$password);
$browser->wait_for(60,1);

$button->click_by_name('_submit');
$browser->wait_for(60,1);

 $urls  = $anchor->get_all_urls();

$array = explode("<br>",$urls);
$array = array_map("trim",$array);

if (in_array($ljurl."/profile",$array)){

        echo "<br>Работаем дальше";

		$browser->navigate('https://www.livejournal.com/changeemail.bml');
		$browser->wait_for(60,1);

		$input->set_value_by_name('email',$MailLogin);
		$browser->wait_for(60,1);

		$input->set_value_by_name('password',$password);
		$browser->wait_for(60,1);

		$button->click_by_number(0);
		$browser->wait_for(60,1);

		        $browser->navigate('http://www.livejournal.com/');
				$browser->wait_for(60,1);

				$button->click_by_name('_submit');
				$browser->wait_for(60,1);

				$fp = fopen ("newjj.txt", "a+");
                 fwrite ($fp, trim($jjlist[$i]).";$MailLogin;$MailPassword\r\n");
                 fclose ($fp);

                 $wri = $i+1;

                 $fp = fopen ("i.txt", "w+");
                 fwrite ($fp, $wri);
                 fclose ($fp);

                   $wrm = $m+1;

                 $fp = fopen ("m.txt", "w+");
                 fwrite ($fp, $wrm);
                 fclose ($fp);

}else{

  echo "Не работаем, проверка не прошла";

 $fp = fopen ("BadLj.txt", "a+");
 fwrite ($fp, trim($jjlist[$i])."/r/n");
 fclose ($fp);

  $wri = $i+1;

   $fp = fopen ("i.txt", "w+");
   fwrite ($fp, $wri);
   fclose ($fp);

 }

// Quit
$app->quit();
?>
Янв
22

[Скрипт XHE] Чеккер mail.ru аккуантов + чистка

Author admin    Category Human Emulator     Tags

Иногда купив или зарегистрировав большую пачку почтовых аккуантов mail.ru встает задача в проверке их на валидность. Для этих целей написал быстро скриптик под Human Emulator который через imap подключается к почтовому аккуанту и если там есть письма удаляет их и записывает данные строчкой в файл CleanMails.txt если не удалось авторизироваться, данные записываются в файл BadMails.txt Список проверяемых акков должен быть формата zircool@mail.ru:password

<?php

$xhe_host ="127.0.0.1:7012";

// The following code is required to properly run XWeb Human Emulator
require("../Templates/xweb_human_emulator.php");

// счетчик
$a=file_get_contents("a.txt");

// берем лист с аккуантами

$ListAccs = file("accs.txt");

list($mail,$pass) = @split(":",$ListAccs[$a]);

 $mail = trim($mail);
 $pass = trim($pass);

 $mbox = @imap_open("{pop.mail.ru/pop3:110}",$mail, $pass);

 if($mbox){

		// количество пием на ящике
		 $list = imap_num_msg($mbox);

		  for($i=0;$i<=$list;$i++){

		   // помечаем на удаление
		  $del = imap_delete($mbox, $i);

		  }

		 $clear = imap_expunge($mbox);

		  echo "Аккуант $mail очищен<br>";

		 $fp = fopen ("CleanMails.txt", "a+");
         fwrite ($fp, "$mail:$pass\r\n");
         fclose ($fp);

  }else {

         echo "Аккуант $mail нерабочий<br>";

         $fp = fopen ("BadMails.txt", "a+");
         fwrite ($fp, "$mail:$pass\r\n");
         fclose ($fp);

}

 $wr = $a+1;

 $fp = fopen ("a.txt", "w+");
 fwrite ($fp, $wr);
 fclose ($fp);

// Quit
$app->quit();
?>

далее

Янв
2

Подключаем смс оплату к CMS TestMaker

Author admin    Category CMS, PHP     Tags ,


Спонсор статьи – доска объявлений от qwef.ru Купи участок в подмосковье.

Здравствуйте в этой статье мы рассмотрим пример подключения шлюза smsdostup.ru к движку для создания онлайн тестирований CMS TestMaker .
Итак поэтапно распишем, что нужно сделать что бы подключить смс оплату:

1. Регистрируемся на сайте СМС Доступ.
2. После регистрации добавляем новый проект. Для тестирования движка, я зарегистрировал домен myiq.su . Процесс добавления проекта достаточно прост, не буду его описывать. После, система пришлет на ваш почтовый адрес хэш код созданного проекта. Этот код будет использоваться в обработчике.
далее

Янв
1

[PHP] Скрипт YouTube парсер

Author admin    Category PHP     Tags , ,

Медиаконтент занимает немаловажное значение в создании белых сайтов или так называемых ГС. Возможно вы обращали внимание, многие блогеры вставляют интересное видео в конце своих записей, для чего это делается? Кто-то говорит что это основной инструмент для привлечения дополнительного траффика с Поисковых систем, кто-то утверждает что это придает трастовость площадке, поисковые системы анализируют время присутствия пользователей на отдельных страницах, и чем дольше пользователь находится на странице, тем она интереснее, значит там располагается интересный контент. Это основные предположения к которым я прислушиваюсь и они имеют аргументированное обоснование и примеры.

Для удобства парсинга видео, написал скрипт, который парсит с YouTube ссылки на видео, по заданным ключевым словам.

Преимущества скрипта:
- неограниченное количество ключевых слов
- возможность задавать количество страниц парсинга
- имя для файла с результатом (ссылками) задается вручную
- скрипт распространяется бесплатно

далее