Anons79 Mini Shell

Directory : /home/aplikasiposinfo/www/e-tepian.aplikasipos.info/app/Imports/
Upload File :
Current File : /home/aplikasiposinfo/www/e-tepian.aplikasipos.info/app/Imports/TestImport.php

<?php

namespace App\Imports;

use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\ToCollection;

class TestImport implements ToCollection
{
    /**
    * @param Collection $collection
    */
    public function collection(Collection $row)
    {
        

        $data = [];
        $sub_data[] = [];
        $key_val = collect();
        foreach ($row as $key => $value) {
            $val = collect($value);
            $key_val->push([$value[0]=>$value[1]]);
        }

        $number = -1;
        $item = -1;
        $index_sub = -1;
        $sub_item = -1;
        $active_keys = null;
        foreach ($key_val as $key => $value) {
            $value = collect($value);
            if ($value->keys()->first() == 'type' and $value->values()->first() == 'start') {
                $semi_var = [];
                $index_sub = -1;  
                $number++;
            }elseif($value->keys()->first() == 'type' and $value->values()->first() != 'start'){
                $active_keys = $value->values()->first();
                if($value->keys()->first() == 'type' and $value->values()->first() == 'sub5'){
                    $index_sub++;
                }
            }else{
                if ($index_sub > -1) {
                    if ($active_keys == 'sub5') {
                        $semi_var[$active_keys][$index_sub][$value->keys()->first()] = $value->values()->first();
                        $item = -1;
                        $sub_item = -1;
                    }
                    if ($active_keys == 'item') {
                        if ($value->keys()->first() == 'uraian') {
                            $sub_item++;
                        }
                        $semi_var['sub5'][$index_sub]['item'][$sub_item][$value->keys()->first()] = $value->values()->first();
                    }
                }else{
                    $semi_var[$active_keys][$value->keys()->first()] = $value->values()->first();
                }
            }
            $arr = ['opd','program','kegiatan','kpa','ppt','sub_kegiatan'];
            if (in_array($active_keys,$arr)) {
                
            }else{
                $data[$number] = $semi_var;
            }
            
        }
        dd($data);

    }
}

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]