Примитивный импорт информационных элементов из CSV

#
Примитивный импорт информационных элементов из CSV
В структуре сайта создаем новый раздел, тип раздела "Динамическая страница", вставляем следующий код в поле "Динамическая страница":

<?php
   $csv = new CSV($_SERVER['DOCUMENT_ROOT']."/333.csv"); //Открываем наш csv
  $get_csv = $csv->getCSV();
   $s=0;
   $goroda=array();
   foreach ($get_csv as $value) {
      if ($s>0){
         
         $oInformationsystem_Item = Core_Entity::factory('Informationsystem_Item');
         $oInformationsystem_Item->informationsystem_id =1;
         $oInformationsystem_Item->informationsystem_group_id =0;
         $oInformationsystem_Item->name = $value[1];
         $oInformationsystem_Item->datetime = $oInformationsystem_Item->start_datetime = $value[0];
         $oInformationsystem_Item->shortcut_id = 0;
         $oInformationsystem_Item->user_id = 19;
         $oInformationsystem_Item->description=$value[2];
         $oInformationsystem_Item->text=$value[3];
         $oInformationsystem_Item->active=1;
         $oInformationsystem_Item->indexing=1;
         $oInformationsystem_Item->siteuser_group_id=-1;
         $oInformationsystem_Item->user_id=19;
         $oInformationsystem_Item->deleted=0;
         $oInformationsystem_Item->save();


      }
      $s++;
   }
?>


в настройки динамической страницы:
<?php
class CSV {

    private $_csv_file = null;

    /**
     * @param string $csv_file  - путь до csv-файла
     */
    public function __construct($csv_file) {
            $this->_csv_file = $csv_file; //Записываем путь к файлу в переменную
    }


    /**
     * Метод для чтения из csv-файла. Возвращает массив с данными из csv
     * @return array;
     */
    public function getCSV() {
        $handle = fopen($this->_csv_file, "r"); //Открываем csv для чтения

        $array_line_full = array(); //Массив будет хранить данные из csv
        //Проходим весь csv-файл, и читаем построчно. 3-ий параметр разделитель поля
        while (($line = fgetcsv($handle, 0, ";")) !== FALSE) {
            $array_line_full[] = $line; //Записываем строчки в массив
        }
        fclose($handle); //Закрываем файл
        return $array_line_full; //Возвращаем прочтенные данные
    }
}
?>


код является примитивным и при желании может быть скорректирован под нужную задачу.
Разработка модулей для Hostcms
Авторизация