PHP code example of msx-developer / portal

1. Go to this page and download the library: Download msx-developer/portal library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

msx-developer / portal example snippets


$portal = new \Msx\Portal\Controllers\PortalController();
$map = $portal->getMaterias([1159146]);

$cod_site = 278;
$portal = new \Msx\Portal\Controllers\PortalController();
$dados_site = $portal->getSites($cod_site);
$secoes_site = $portal->getSecoes($cod_site);
foreach ($secoes_site as $key => $value) 
    $secoes_site[$key]['noticias'] = $portal->getMateriasSesit($value['cd_sesit']);

{!! $fivelive::fivelive($noticia) !!} 

{!! $fivelive::fivelive($noticia, "ds_matia_titlo") !!} 

{{ $fivelive::getMidia($midia['cd_midia'], $midias, ($noticia['cd_publi'] ?? null) ) }} 

<div class="rounded overflow-hidden shadow-lg flex flex-col w-80 mx-8" data-mode="load">    
{!! $fivelive::fivelive($noticia) !!}
    <div class="relative"> 
        <a href="http://dev.news.local:81/noticia/{{ $noticia['cd_matia'] }}">
        @if($noticia['cd_midia'] != "" && isset($noticia['midmas'][$noticia['cd_midia']]))
        @php 
            $midias = $noticia['midmas'][$noticia['cd_midia']]['midias']; 
            $midia = isset($midias['480x320']) ? $midias['480x320'] : end($midias);
        @endphp
           
            <img class="w-full" src="{{ $midia['ds_midia_link'] }}" alt="{{ $midia['ds_midia'] }}" {{ $fivelive::getMidia($midia['cd_midia'], $midias, ($noticia['cd_publi'] ?? null) ) }}>
        @endif
        </a>
        <a href="http://dev.news.local:81/noticia/{{ $noticia['cd_matia'] }}">
            <div class="text-xs absolute top-0 left-0 bg-indigo-600 px-4 py-2 text-white mt-3 mr-3 hover:bg-white hover:text-indigo-600 transition duration-500 ease-in-out">
            {!! $fivelive::fivelive($noticia, "ds_matia_assun") !!}
            </div>
        </a>
    </div>
    <div class="px-6 py-4 mb-auto">
        <a href="http://dev.news.local:81/noticia/{{ $noticia['cd_matia'] }}" class="font-medium text-lg inline-block hover:text-indigo-600 transition duration-500 ease-in-out inline-block mb-2">
            {!! $fivelive::fivelive($noticia, "ds_matia_titlo") !!}
        </a>
        <p class="text-gray-500"> {!! $fivelive::fivelive($noticia, "ds_matia_chape") !!} </p>
    </div>
    <div class="px-6 py-3 flex flex-row items-center justify-between bg-gray-100">
        <span href="#" class="py-1 text-xs font-regular text-gray-900 mr-1 flex flex-row items-center">
            <svg height="13px" width="13px" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="enable-background:new 0 0 512 512;" xml:space="preserve">
                <g>
                    <g>
                        <path d="M256,0C114.837,0,0,114.837,0,256s114.837,256,256,256s256-114.837,256-256S397.163,0,256,0z M277.333,256 c0,11.797-9.536,21.333-21.333,21.333h-85.333c-11.797,0-21.333-9.536-21.333-21.333s9.536-21.333,21.333-21.333h64v-128 c0-11.797,9.536-21.333,21.333-21.333s21.333,9.536,21.333,21.333V256z">
                        </path>
                    </g>
                </g>
            </svg>
            <span class="ml-1">{{ date('d/m/Y H:i', strtotime($noticia['dt_matia_publi'])) }}</span>
        </span>
    </div>
</div>


    {!! $site['fivelive']['scriptTop'] !!}
    

    {!! $site['fivelive']['scriptBottom'] !!}
    

    //site.blade.php
    @extends('layout.news')

    @section('content') 

    @if( isset($secoes) && is_array($secoes) && count($secoes) > 0)
        @foreach($secoes as $secao){{dd($secao);}}
    <section class="p-4 lg:p-8 dark:bg-gray-100 dark:text-gray-800">
        @if(isset($fivelive))
        {!! $fivelive::fivelive($secao) !!}
        @endif
        <h4 class="text-2xl font-bold text-gray-800 text-center p-3 text-uppercase border-blueGray-300">{{$secao['nm_sesit']}}</h4>        
    </section>
        @endforeach
    @endif

    @endsection

    @section('scriptTop')
    @if(isset($site) && isset($site['fivelive']))
    {!! $site['fivelive']['scriptTop'] !!}
    @endif
    @endsection

    @section('scriptBottom')
    @if(isset($site) && isset($site['fivelive']))
    {!! $site['fivelive']['scriptBottom'] !!}
    @endif
    @endsection
    

    <!--layout/news.blade.php -->
    <!DOCTYPE html>
    <html>

    <head lang="{{ str_replace('_', '-', app()->getLocale()) }}">
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>{{ config('app.name') }}</title>
        <meta name="description" content="">
        <meta name="author" content="name">
        <meta name="keywords" content="keywords,here">
        <script src="https://cdn.tailwindcss.com"></script>
        <link rel="stylesheet" href="">
        @yield('scriptTop')
    </head> 

    <body class="bg-gray-200 font-sans leading-normal tracking-normal">
        @yield('content')
        @yield('scriptBottom')
    </body>
    </html>
    

    use Msx\Portal\Controllers\SearchController;
    $search = new SearchController();
    
    // termo buscado
    $texto = $request->input('q');
    $parametros = ['q' => $texto];
    $materias = $search->busca($parametros);

    

    use Msx\Portal\Controllers\SearchController;
    $search = new SearchController();
    
    //texto contendo as tags divididas por ','
    $tags = $request->input('tags');
    $parametros = ['q' => $tags];
    $materias = $search->tags($parametros);

    

    use Msx\Portal\Controllers\SearchController;
    $search = new SearchController();
    
    //texto contendo os autores divididos por ','
    $autores = $request->input('autores');
    $parametros = ['q' => $autores];
    $materias = $search->autor($parametros);

    

    use Msx\Portal\Controllers\SearchController;
    $search = new SearchController();
    
    //texto contendo as tags da matéria divididas por ','
    $tags = $request->input('tags');
    //identificador da matéria
    $id = $request->input('id');
    $parametros = ['q' => $autores, 'cd_matia' => $id];
    $materias = $search->related($parametros);

    

    //Nome do site
    $site = $request->input('site');
    //Identidicador do site
    $idSite = $request->input('id');
    //Número da página
    $page = $request->input('page');
    //Quantidade de itens por página
    $site = $request->input('size');

    $parametros = [
        'ds_site' => $site,
        'cd_site' => $cd_site,
        'qtd' => $size,
        'page' => $page
    ];
    

    use Msx\Portal\Controllers\SearchController;
    $search = new SearchController();

    $size = 30; //padrão 10
    $requestData = $request->all();

    $q = $requestData['q'];
    $cd_site = $requestData['site'] ?? null;
    $page = $requestData['page'] ?? 1;
    $cd_matia = $requestData['id'] ?? null;

    $parametros = compact('q', 'cd_site', 'page', 'cd_matia');
    
    $materias = [];

    if ($request->is('search/*')) {
        $materias = $search->busca($parametros);
    }

    if ($request->is('tags/*')) {
        $materias = $search->tags($parametros);
    }

    if ($request->is('autor/*')) {
        $materias = $search->autor($parametros);
    }

    if ($request->is('related/*')) {
        $materias = $search->related($parametros);
    }    
    

    use Msx\Portal\Controllers\SearchController;
    $search = new SearchController();
    
    // id da pasta de mídias 
    $id = $request->input('id');
    $charges = $search->midia(['cd_fldmd' => $id]);

    

    Route::get('sitemap.xml', function (Request $request) {
        $type = $request->input('type');
        $params = ['type' => $type ?? 'sitemap'];
        $xmlContent = (new \Msx\Portal\Controllers\SitemapController())->sitemap($params);
        return response($xmlContent, 200)->header('Content-Type', 'application/xml; charset=utf-8');  
    })->name('sitemap');

    

    Route::get('sitemap-news.xml', function (Request $request) {
        $type = $request->input('type');
        $params = ['type' => $type ?? 'googlenews'];
        $xmlContent = (new \Msx\Portal\Controllers\SitemapController())->sitemap($params);
        return response($xmlContent, 200)->header('Content-Type', 'application/xml; charset=utf-8');  
    })->name('googlenews');

    

    Route::get('sitemap-rss.xml', function (Request $request) {
        $type = $request->input('type');
        $params = ['type' => $type ?? 'rss'];
        $xmlContent = (new \Msx\Portal\Controllers\SitemapController())->sitemap($params);
        return response($xmlContent, 200)->header('Content-Type', 'application/xml; charset=utf-8');  
    })->name('rss');

    

    Route::get('sitemap-index.xml', function (Request $request) {
        $type = $request->input('type');
        $params = ['type' => $type ?? 'index'];
        $xmlContent = (new \Msx\Portal\Controllers\SitemapController())->sitemap($params);
        return response($xmlContent, 200)->header('Content-Type', 'application/xml; charset=utf-8');  
    })->name('index');

    

    Route::get('/sitemap/map/{page}.xml', function (Request $request) {
        $type = $request->input('type');
        $params = ['type' => $type ?? 'index'];
        $xmlContent = (new \Msx\Portal\Controllers\SitemapController())->sitemap($params);
        return response($xmlContent, 200)->header('Content-Type', 'application/xml; charset=utf-8');  
    })->where('page', '[0-9]+')->name('indexmap');

    

    Route::get('/{site}/sitemap.xml', function (Request $request) {
        $type = $request->input('type');
        $params = ['type' => 'sitemap', 'site' => $site];
        $xmlContent = (new \Msx\Portal\Controllers\SitemapController())->sitemap($params);
        return response($xmlContent, 200)->header('Content-Type', 'application/xml; charset=utf-8');  
    })->where('site', '.+')->name('sitemapSite');

    

    Route::get('sitemap-day.xml', function (Request $request) {
        $type = $request->input('type');
        $params = ['type' => 'sitemap', 'date' => 'today'];
        $xmlContent = (new \Msx\Portal\Controllers\SitemapController())->sitemap($params);
        return response($xmlContent, 200)->header('Content-Type', 'application/xml; charset=utf-8');  
    })->name('sitemapDay');

    

    Route::get('sitemap-yesterday.xml', function (Request $request) {
        $type = $request->input('type');
        $params = ['type' => 'sitemap', 'date' => 'yesterday'];
        $xmlContent = (new \Msx\Portal\Controllers\SitemapController())->sitemap($params);
        return response($xmlContent, 200)->header('Content-Type', 'application/xml; charset=utf-8');  
    })->name('sitemapYesterday');