Skip to content

Instantly share code, notes, and snippets.

View eduPHP's full-sized avatar
🥱

Eduardo Dalla Vecchia eduPHP

🥱
  • end of internet
View GitHub Profile
@eduPHP
eduPHP / HttpClientStub.php
Created February 24, 2022 19:47
Guzzle Stub for testing
<?php
namespace Tests\stubs;
use GuzzleHttp\Client;
class HttpClientStub extends Client
{
static $options = [];
static $uri = [];
@eduPHP
eduPHP / MocksGuzzle.php
Last active March 29, 2022 19:02
Trait for testing with guzzle requests, use with https://gist.github.com/eduPHP/089ad67aa5980722c6cddd6353d0cf43
<?php
namespace Tests;
use GuzzleHttp\Client;
use GuzzleHttp\Handler\MockHandler;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Psr7\Response as GuzzleResponse;
use Illuminate\Support\Arr;
use Tests\stubs\HttpClientStub;
<?php
namespace App;
use Illuminate\Support\Str;
trait Filterable
{
public function scopeFiltered($query, array $allowed)
{
<?php
namespace App\Observers;
use Dotenv\Exception\InvalidFileException;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Facades\Storage;
use Illuminate\Support\Str;
class UploadedImagesObserver
<?php
namespace App;
use App\Observers\UploadedImagesObserver;
use Illuminate\Http\UploadedFile;
trait SavesImages
{
private $uploadedImage;
<template>
<div role="button" class="flex flex-col justify-center text-center" id="image-div">
<label class="cursor-pointer relative">
<input v-if="!message" type="file" @change="inputImage" class="absolute invisible h-full left-0 top-0 w-full z-20" ref="input" accept="image/*">
<img ref="preview" class="object-cover h-64 w-full" :src="resultImage">
<span class="absolute bottom-0 left-0 mb-4 py-1 text-center text-over text-white w-full z-30">{{trans('dashboard.product-create-image-label')}}</span>
<button v-if="enableDelete" :title="originalImage ? 'Restore Original Image' : 'Remove Image'" @click.prevent="doDelete" class="absolute bg-red-500 m-1 right-0 rounded-full text-white top-0">
<svg class="w-5 h-5 fill-current" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
<path d="M512.003 64C264.5703 64 64 264.5702 64 511.9918 64 759.4267 264.5702 960 512.003 960 759.4237 960 960 759.4267 960 511.9918 960 264.5702 759.4236 64 512.003 64zm0 836.2662c-214.0
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\File;
use Illuminate\Support\Str;
@eduPHP
eduPHP / Paginator.vue
Created December 7, 2017 22:31
Paginator component Vue.js
<template>
<nav class="pagination" role="navigation" aria-label="pagination" v-if="lastPage>1">
<a class="pagination-previous" title="This is the first page" disabled v-if="page===1">Anterior</a>
<a @click="page--" rel="prev" class="pagination-previous" v-else>Anterior</a>
<a @click="page++" rel="next" class="pagination-next" v-if="page < lastPage">Próxima</a>
<a class="pagination-next" title="This is the last page" disabled v-else>Próxima</a>
<ul class="pagination-list">
<li v-for="pg in pages">
<span class="pagination-ellipsis" v-if="pg === '...'">&hellip;</span>
<a class="pagination-link is-current" v-if="pg === page" aria-current="page">{{ pg }}</a>
@eduPHP
eduPHP / exemplo.blade.php
Created November 23, 2017 21:50
Logout laravel
<a href="{{ route('logout') }}" class="dropdown-item"
onclick="event.preventDefault();document.getElementById('logout-form').submit();">
Logout
</a>
<form id="logout-form" action="/auth/logout" method="POST"
style="display: none;">
{{ csrf_field() }}
</form>
@eduPHP
eduPHP / MembersController.php
Created October 28, 2017 02:26
MembersController.php
<?php
namespace Rede\Controllers;
use Illuminate\Http\Request;
use Rede\Jobs\EmailInvite;
use Rede\Models\Eloquent\Invite;
use Rede\Models\Eloquent\Time;
use Rede\Models\Eloquent\User;
use Rede\Requests\InviteRequest;