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');