diff --git a/ClassCache.php b/ClassCache.php
new file mode 100644
index 0000000..6a78708
--- /dev/null
+++ b/ClassCache.php
@@ -0,0 +1,63 @@
+cache= new CPHPCache();
+ $this->cache_time = $cache_time;
+ $this->cache_path = $cache_path;
+ }
+
+ private function getElementList($arOrder=array("SORT"=>"ASC"), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array('ID','NAME')){
+ CModule::IncludeModule('iblock');
+ $res = CIBlockElement::GetList($arOrder, $arFilter, $arGroupBy, $arNavStartParams, $arSelectFields);
+ $arResult = array();
+ while($rec = $res->fetch()){
+ $arResult[] = $rec;
+ }
+ return $arResult;
+ }
+
+ public function getCachedElementList($arOrder=array("SORT"=>"ASC"), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array('ID','NAME')){
+ $arParams = array('arOrder'=>$arOrder, 'arFilter'=>$arFilter, 'arGroupBy'=>$arGroupBy, 'arNavStartParams'=>$arNavStartParams, 'arSelectFields'=>$arSelectFields);
+
+ $cache_id=md5(serialize($arParams));
+ $arResult = false;
+
+ if ($this->cache_time > 0 && $this->cache->InitCache($this->cache_time, $cache_id, $this->cache_path)){
+ $cache_res = $this->cache->GetVars();
+ if (is_array($cache_res["arResult"]) && (count($cache_res["arResult"]) > 0)){
+ $arResult = $cache_res["arResult"];
+ }
+ }else{
+ $this->clearCache();
+ }
+
+ if(!$arResult){
+ $arResult = $this->getElementList($arOrder, $arFilter, $arGroupBy, $arNavStartParams, $arSelectFields);
+ if ($this->cache_time > 0)
+ {
+ $this->cache->StartDataCache($this->cache_time, $cache_id, $this->cache_path);
+ $this->cache->EndDataCache(array("arResult"=>$arResult));
+ }
+ }
+ return $arResult;
+ }
+
+ private function clearCache(){
+ $this->cache->CleanDir( $this->cache_path );
+ }
+}
+
+//Непосредственно Usage
+$testing = new iElemsCached(300);
+$testing_glist = $testing->getCachedElementList(array("SORT"=>"ASC"), array("IBLOCK_ID"=>"1"));
+echo "
";
+var_dump($testing_glist);
+echo"
";
\ No newline at end of file
diff --git a/README.md b/README.md
index 1b297da..fd48c41 100644
--- a/README.md
+++ b/README.md
@@ -1,29 +1,29 @@
-# Тестовое задание для разработчика
-
- - Форкнуть текущий репозиторий.
- - Создать ветку test-#ФАМИЛИЯ_ЛАТИНИЦЕЙ#.
- - Реализовать в репозитории следующий функционал
-
- - Создать php класс по работе с инфоблоками, в котором будет реализован кешированный метод получения списка элементов инфоблока. Метод должен быть гибким (возможность задать сортировку, фильтр, список выбираемых полей при вызове метода)
- -
- Новостной сайт Lenta.ru отдает список новостей в формате rss по адресу https://lenta.ru/rss. Необходимо создать скрипт getLastNews.php, который при запуске из командной строки выведет последние 5 новостей в формате
-
- -
- Название
-
- -
- Ссылка на новость
-
- -
- Анонс
-
-
-
-
-
- -
- Закрепить реализованный функционал коммитом и отправить коммит в репозиторий
-
-
-
-По результатам работы отписаться на адреса su@p-w-d.ru, a@p-w-d.ru, e@p-w-d.ru. и прикрепить в письмо архив с выполненным функционалом и ссылку на резюме.
+# Тестовое задание для разработчика
+
+ - Форкнуть текущий репозиторий.
+ - Создать ветку test-#ФАМИЛИЯ_ЛАТИНИЦЕЙ#.
+ - Реализовать в репозитории следующий функционал
+
+ - Создать php класс по работе с инфоблоками, в котором будет реализован кешированный метод получения списка элементов инфоблока. Метод должен быть гибким (возможность задать сортировку, фильтр, список выбираемых полей при вызове метода)
+ -
+ Новостной сайт Lenta.ru отдает список новостей в формате rss по адресу https://lenta.ru/rss. Необходимо создать скрипт getLastNews.php, который при запуске из командной строки выведет последние 5 новостей в формате
+
+ -
+ Название
+
+ -
+ Ссылка на новость
+
+ -
+ Анонс
+
+
+
+
+
+ -
+ Закрепить реализованный функционал коммитом и отправить коммит в репозиторий
+
+
+
+По результатам работы отписаться на адреса su@p-w-d.ru, a@p-w-d.ru, e@p-w-d.ru. и прикрепить в письмо архив с выполненным функционалом и ссылку на резюме.
diff --git a/Rss.php b/Rss.php
new file mode 100644
index 0000000..cb8dfd7
--- /dev/null
+++ b/Rss.php
@@ -0,0 +1,15 @@
+channel->item as $item){
+ if(count($items) < $count){
+ $items[] = array('title'=>$item->title->__toString(), 'link'=>$item->link->__toString(), 'description'=>$item->description->__toString());
+ }
+}
+foreach ($items as $item){
+ print $item['title'].' '.$item['link'].' '.$item['description'].'/n';
+}
\ No newline at end of file