/**
     * Process datatables ajax request.
     * Used by 'admin.sitemap.menuIndex' via 'this.getMenuIndex()'
     * @return \Illuminate\Http\JsonResponse
     */
    public function indexAllData(Request $request, $sitemap_parent_id = 0)
    {
        /*
         * get sitemap with urlpath etc
         * */
        /*sitemap_category*/
        $sitemaps = Sitemap::leftJoin('sitemap_category as sc', 'sc.sitemap_id', '=', 'sitemaps.id')->leftJoin('sitemaps as sctest', 'sc.sitemap_category_id', '=', 'sctest.id')->leftJoin('sitemaptranslations as sctest_st', 'sctest.id', '=', 'sctest_st.sitemap_id')->join('sitemaptranslations as st', 'st.sitemap_id', '= ', 'sitemaps.id')->join('templates as t', 't.id', '=', 'sitemaps.template_id')->join('users as u', 'u.id', '=', 'sitemaps.updated_by_user_id')->leftJoin('sitemaps as down1', 'down1.id', '=', 'sitemaps.parent_id')->leftJoin('sitemaptranslations as st1', 'st1.sitemap_id', '=', 'down1.id')->leftJoin('sitemaps as down2', 'down2.id', '=', 'down1.parent_id')->leftJoin('sitemaptranslations as st2', 'st2.sitemap_id', '=', 'down2.id')->leftJoin('sitemaps as down3', 'down3.id', '=', 'down2.parent_id')->leftJoin('sitemaptranslations as st3', 'st3.sitemap_id', '=', 'down3.id');
        /**Locale*/
        $sitemaps->where('st.locale_id', 1)->whereRaw('(st1.locale_id = 1 OR st1.locale_id IS NULL)')->whereRaw('(st2.locale_id = 1 OR st2.locale_id IS NULL)')->whereRaw('(st3.locale_id = 1 OR st3.locale_id IS NULL)')->whereRaw('(sctest_st.locale_id = 1  OR sctest_st.locale_id IS null)');
        #AND t.type != 'post'
        $sitemaps->groupBy('sitemaps.id');
        if ($sitemap_parent_id != 0) {
            $sitemaps->where('sitemaps.parent_id', $sitemap_parent_id);
        }
        /*order by*/
        //$sitemaps->orderBy('path');
        //uit
        if ($path = $request->get('path')) {
            //app('debugbar')->warning($locaties);
            //$sitemaps->orderBy('ABS(path)'); // additional users.name search
        }
        $sitemaps->select(['sitemaps.id', DB::raw('CONCAT(\'{"id":\',sitemaps.id,\',\',\'"order_by_number":\',sitemaps.order_by_number,\'}\') as reorderData_id_AND_order_by_number'), 'sitemaps.created_at', 'sitemaps.updated_at', 'sitemaps.status', 'sitemaps.order_by_number', 't.name as templateName', 'u.name as usersname', 'sitemaps.depth', DB::raw('GROUP_CONCAT(DISTINCT(`st`.`name`)) as `testname` ,
                    GROUP_CONCAT(`sctest_st`.`name`) as `tName` ,
                    GROUP_CONCAT(`sctest_st`.`slug`) as `tSlug`'), DB::raw('CONCAT(\'0\',
                IF (down3.order_by_number IS NULL,\'\',CONCAT(\'.\',down3.order_by_number)),
                IF (down2.order_by_number IS NULL,\'\',CONCAT(\'.\',down2.order_by_number)),
                IF (down1.order_by_number IS NULL,\'\',CONCAT(\'.\',down1.order_by_number)),
                IF (sitemaps.order_by_number IS NULL,\'\',CONCAT(\'.\',sitemaps.order_by_number))
                ) as path'), DB::raw("CONCAT('0',\n                IF (down3.order_by_number IS NOT NULL AND down3.order_by_number < 10 ,CONCAT('.',down3.order_by_number),''),\n                IF (down3.order_by_number IS NOT NULL AND down3.order_by_number > 9 ,CONCAT('.9.',down3.order_by_number),''),\n\n                IF (down2.order_by_number IS NOT NULL AND down2.order_by_number < 10 ,CONCAT('.',down2.order_by_number),''),\n                IF (down2.order_by_number IS NOT NULL AND down2.order_by_number > 9 ,CONCAT('.9.',down2.order_by_number),''),\n\n                IF (down1.order_by_number IS NOT NULL AND down1.order_by_number < 10 ,CONCAT('.',down1.order_by_number),''),\n                IF (down1.order_by_number IS NOT NULL AND down1.order_by_number > 9 ,CONCAT('.9.',down1.order_by_number),''),\n\n                IF (sitemaps.order_by_number IS NOT NULL AND sitemaps.order_by_number < 10 ,CONCAT('.',sitemaps.order_by_number),''),\n                IF (sitemaps.order_by_number IS NOT NULL AND sitemaps.order_by_number > 9 ,CONCAT('.9.',sitemaps.order_by_number),'')\n                ) as path1\n            "), DB::raw('CONCAT(
                IF (st3.slug IS NULL OR st3.slug = \'\' ,\'\',CONCAT(\'/\',st3.slug,\'\')),
                IF (st2.slug IS NULL OR st2.slug = \'\',\'\',CONCAT(\'/\',st2.slug,\'\')),
                IF (st1.slug IS NULL OR st1.slug = \'\',\'\',CONCAT(\'/\',st1.slug,\'\')),
                IF (t.name = \'Nieuwsbericht\',
	                IF (sitemaps.depth = 2 AND sctest_st.slug IS NOT NULL,CONCAT(\'/\',sctest_st.slug),\'\')
,               \'\'),
                IF (st.slug IS NULL OR st.slug = \'\',\'/\',CONCAT(\'/\',st.slug,\'\'))
                ) as urlPath')]);
        //dc($sitemaps->get());
        //return "view";
        //dc($sitemaps->get());
        //dc($sitemaps->pluck('testname')->all());
        //return "view";
        $datatable = Datatables::of($sitemaps);
        $datatable->setRowId('sortable_' . '{{$id}}');
        //$datatable->orderColumn('path');
        // $datatable->orderColumn('path', 'email $1');
        //kanweg
        $datatable->addColumn('action', function ($sitemap) {
            $r = "<a class=\"btn btn-success btn-labeled-x\" href=\"" . route('admin::sitemap.edit', ['id' => $sitemap->id]) . "\" >\n                    <i class=\"fa fa-pencil fa-1x\"></i> editxxx</a> <br>";
            $r .= "<a class=\"btn btn-primary btn-labeled-x setTable\" onclick=\"wiLoad(" . $sitemap->id . ")\">\n                    <i class=\"fa fa-level-down fa-1x\"></i>  sub pagins's</a> <br>";
            $r .= "<a class=\"btn btn-warning btn-labeled-x setTable\" onclick=\"wiDuplicate(" . $sitemap->id . ")\">\n                    <i class=\"fa fa-copy fa-1x\"></i> copy</a> <br>";
            $r .= "<a class=\"btn btn-danger btn-labeled-x setTable\" onclick=\"wiDelete(" . $sitemap->id . ")\">\n                    <i class=\"fa fa-trash fa-1x\"></i> delete</a> <br>";
            $r .= "<a class=\"btn btn-default btn-md btn-labeled-x\" href=\"" . $sitemap->urlPath . "\" target=\"_blank\">\n                    <i class=\"fa fa-search fa-1x\"></i> preview</a>";
            return $r;
        });
        /*$datatable->editColumn('path', function ($test) {
        		return $test->path;
        	});
        */
        $datatable->editColumn('testname', function ($test) {
            $r = "<div class=\"extraData\" style='display:none;'>";
            //$r .= "<span class='pulxl-right'>".$test->urlPath."</span><br>";
            $r .= "<a class=\"btn btn-success btn-labeled-x\" href=\"" . route('admin::sitemap.edit', ['id' => $test->id]) . "\" >\n                    <i class=\"fa fa-pencil fa-1x\"></i> edit</a> ";
            $r .= "<a class=\"btn btn-primary btn-labeled-x setTable\" onclick=\"wiLoad(" . $test->id . ")\">\n                    <i class=\"fa fa-level-down fa-1x\"></i>  sub pagins's</a> ";
            $r .= "<a class=\"btn btn-warning btn-labeled-x setTable\" onclick=\"wiDuplicate(" . $test->id . ")\">\n                    <i class=\"fa fa-copy fa-1x\"></i> copy</a> ";
            $r .= "<a class=\"btn btn-danger btn-labeled-x setTable\" onclick=\"wiDeleteSitemap(" . $test->id . ")\">\n                    <i class=\"fa fa-trash fa-1x\"></i> deleteX</a> ";
            $r .= "<a class=\"btn btn-default btn-md btn-labeled-x\" href=\"" . $test->urlPath . "\" target=\"_blank\">\n                    <i class=\"fa fa-search fa-1x\"></i> preview</a> ";
            //$r .= "<a class=\"btn btn-default btn-md btn-labeled-x\" href=\"".$test->urlPath."\" target=\"_blank\"
            //        data-placement=\"right\" data-toggle=\"tooltip\" data-original-title=\"".$test->urlPath."\">
            //        <i class=\"fa fa-info fa-1x\"></i> info</a> ";
            $r .= "</div>";
            /*
            				  $urlString = str_replace('/',' » ',$test->urlPath);
            				  $urlString = htmlentities($urlString, ENT_QUOTES);
            
            				  $pos = strrpos($urlString, "»");
            				  if ($pos === false) { // note: three equal signs
            					  // not found...
            					  $pos1 = 'asdf';
            				  }
            				  else{
            					  $pos1 = ($pos+1);
            					  //$pos++;
            					  $urlString = substr_replace($urlString, '<strong>', ($pos1), 0);
            
            				  }
            				  //unset($pos);
            */
            $urlStringStart = str_replace('/', ' » ', str_limit($test->urlPath, strrpos($test->urlPath, "/"), ' » '));
            return "" . $urlStringStart . "<strong>" . $test->testname . "</strong><br><br>" . $r . " ";
        });
        $datatable->editColumn('status', function ($test) use($sitemap_parent_id) {
            $statusValue = $test->status;
            if ($test->status == 'pending_review') {
                $statusValue = 'pending';
            }
            return "<span class=\"labelx badge label-table label-" . $test->status . "\">" . $statusValue . "</span>";
        });
        $datatable->editColumn('created_at', function ($test) {
            //$retval .= $test->created_at ? with(new Carbon($test->created_at))->format('l jS \\of F Y h:i:s A') : '';
            //Carbon::setLocale('fr');
            //$retval .= $test->created_at->formatLocalized('%l %jS \\of %F %Y h:i:s %A')."<br>";
            $retval = $test->created_at ? with(new Carbon($test->created_at))->diffForHumans() : '';
            $retval .= "<div class=\"extraData\" style='display:none;'>";
            $retval .= "<br><date><i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i> ";
            $retval .= $test->created_at->formatLocalized('%a %d %B');
            $retval .= $test->created_at->format(', h:i');
            $retval .= "</date>";
            $retval .= "</div>";
            return $retval;
        });
        $datatable->editColumn('updated_at', function ($test) {
            $retval = $test->updated_at ? with(new Carbon($test->updated_at))->diffForHumans() : '';
            $retval .= "<div class=\"extraData\" style='display:none;'>";
            $retval .= "<br><date><i class=\"fa fa-clock-o\" aria-hidden=\"true\"></i> ";
            $retval .= $test->updated_at->formatLocalized('%a %d %B');
            $retval .= $test->updated_at->format(', h:i');
            $retval .= "</date>";
            $retval .= "</div>";
            return $retval;
        });
        if ($status = $request->get('status')) {
            app('debugbar')->warning($status);
            //console.info('zoeke status');
            //$datatable->where('sitemaps.status', 'like', "%{$status}%"); // additional users.name search
        }
        if ($status = $request->get('pathxx')) {
            //app('debugbar')->warning($locaties);
            //$datatable->orderBy('ABS(path)'); // additional users.name search
        }
        $datatable->orderColumn('path', 'path1 $1');
        //$datatable->orderColumn();
        return $datatable->make(true);
    }