gestion des médias sans fichier, gestion des panier et divers fix
This commit is contained in:
parent
ca99267b1a
commit
212ca42f8c
23 changed files with 1669 additions and 156 deletions
|
|
@ -83,12 +83,12 @@ class ImportMedia extends Command
|
|||
$record->version = 1;
|
||||
}
|
||||
|
||||
if($row->typemedia_id != ""){
|
||||
if($row->codeTypeMedia != ""){
|
||||
$record->typemedia_id = $row->codeTypeMedia;
|
||||
}else{
|
||||
$record->typemedia_id = 1;
|
||||
}
|
||||
if($row->typevue_id != ""){
|
||||
if($row->codeTypeVue != ""){
|
||||
$record->typevue_id = $row->codeTypeVue;
|
||||
}
|
||||
$record->commentaire = $row->commentaire;
|
||||
|
|
@ -119,46 +119,40 @@ class ImportMedia extends Command
|
|||
}
|
||||
$record->statut = config('services.statut.public_etendu');
|
||||
|
||||
// Affectation d'un dossier et d'un uid
|
||||
$destinationPath = $this->get_mediaFolder()."/";
|
||||
$record->folder = $destinationPath;
|
||||
$record->uid = sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0x0fff) | 0x4000, mt_rand(0, 0x3fff) | 0x8000, mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff));
|
||||
|
||||
|
||||
$mediaFile = "/images/".$record->arcadia_id.".".$record->extension;
|
||||
$fileExists = Storage::disk('arcadia')->exists($mediaFile);
|
||||
if($fileExists){
|
||||
// déplacement du média et renommage du fichier
|
||||
$file = Storage::disk('arcadia')->get($mediaFile);
|
||||
|
||||
// Affectation d'un dossier et d'un uid
|
||||
$destinationPath = $this->get_mediaFolder()."/";
|
||||
$record->folder = $destinationPath;
|
||||
$record->uid = sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
|
||||
// 32 bits for "time_low"
|
||||
mt_rand(0, 0xffff), mt_rand(0, 0xffff),
|
||||
// 16 bits for "time_mid"
|
||||
mt_rand(0, 0xffff),
|
||||
// 16 bits for "time_hi_and_version",
|
||||
// four most significant bits holds version number 4
|
||||
mt_rand(0, 0x0fff) | 0x4000,
|
||||
// 16 bits, 8 bits for "clk_seq_hi_res",
|
||||
// 8 bits for "clk_seq_low",
|
||||
// two most significant bits holds zero and one for variant DCE1.1
|
||||
mt_rand(0, 0x3fff) | 0x8000,
|
||||
// 48 bits for "node"
|
||||
mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
|
||||
);
|
||||
|
||||
// déplacement du média et renommage du fichier
|
||||
$full_path_source = Storage::disk('arcadia')->getDriver()->getAdapter()->applyPathPrefix($mediaFile);
|
||||
$full_path_dest = Storage::disk('local')->getDriver()->getAdapter()->applyPathPrefix($destinationPath.$record->uid. '.' .$record->extension);
|
||||
File::move($full_path_source, $full_path_dest);
|
||||
|
||||
// calcul de la taille du média et durée
|
||||
$record->taille = $this->formatBytes($this->get_file_size($full_path_dest));
|
||||
$record->save();
|
||||
// calcul de la taille du média
|
||||
$record->taille = $this->formatBytes($this->get_file_size($full_path_dest));
|
||||
|
||||
// ---- Creation des vignettes de base
|
||||
$this->create_sys_thumb($record);
|
||||
// ---- Creation des vignettes en lien avec le sujet du média
|
||||
$this->create_thumb($record);
|
||||
}else{
|
||||
$this->line("DAM_MEDIA_VISUEL : le visuel du media n°".$row->code. " n'a pas été trouvé");
|
||||
// on applique une image par défaut
|
||||
$record->extension = "jpg";
|
||||
Storage::disk('local')->copy("images/default.jpg", $destinationPath.$record->uid. '.' .$record->extension);
|
||||
|
||||
// calcul de la taille du média
|
||||
$record->taille = $this->formatBytes($this->get_file_size("public/".$destinationPath.$record->uid. '.' .$record->extension));
|
||||
}
|
||||
|
||||
|
||||
$record->save();
|
||||
|
||||
// ---- Creation des vignettes de base
|
||||
$this->create_sys_thumb($record);
|
||||
// ---- Creation des vignettes en lien avec le sujet du média
|
||||
$this->create_thumb($record);
|
||||
}else{
|
||||
$this->line("DAM_MEDIA_VISUEL : le media n°".$row->code. " existe déjà en base");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -353,9 +353,7 @@ class MediaController extends Controller
|
|||
$media->langue_id = $mediaUpdate->langue_id;
|
||||
$media->commentaire = $mediaUpdate->commentaire;
|
||||
$media->version = $mediaUpdate->version;
|
||||
if( ($mediaUpdate->statut == config('services.statut.public') || $mediaUpdate->statut == config('services.statut.public_etendu')) && $media->statut == config('services.statut.brouillon')){
|
||||
$media->published_at = date("Y-m-d H:i:s");
|
||||
}
|
||||
$media->published_at = $mediaUpdate->published_at;
|
||||
$media->statut = $mediaUpdate->statut;
|
||||
$media->copyright_id = $mediaUpdate->copyright_id;
|
||||
|
||||
|
|
@ -651,4 +649,73 @@ class MediaController extends Controller
|
|||
return json_encode($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un média sans fichier
|
||||
*
|
||||
*/
|
||||
public function addMedia(Request $request)
|
||||
{
|
||||
$response = false;
|
||||
$sujet_id = $request->input('sujet_id');
|
||||
$dossier_id = $request->input('dossier_id');
|
||||
if($dossier_id == 0) $dossier_id = NULL;
|
||||
|
||||
// On déplace le média par défaut dans le répertoire des médias
|
||||
$destinationPath = $this->get_mediaFolder()."/";
|
||||
$uid = sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0x0fff) | 0x4000, mt_rand(0, 0x3fff) | 0x8000, mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff));
|
||||
$filename = $uid.".jpg";
|
||||
Storage::copy("images/default.jpg", $destinationPath.$filename);
|
||||
|
||||
|
||||
// on créé un média en bdd
|
||||
$media = new Media();
|
||||
$media->dossier_id = $dossier_id;
|
||||
$media->sujet_id = $sujet_id;
|
||||
$media->libelle = "Nouveau média";
|
||||
$media->folder = $destinationPath;
|
||||
$media->taille = $this->formatBytes($this->get_file_size($destinationPath.$filename));
|
||||
if($user = Auth::user()){
|
||||
$media->created_by= $user->id;
|
||||
}
|
||||
$media->uid = $uid;
|
||||
$media->extension = "jpg";
|
||||
$media->typemedia_id = 1;
|
||||
$im = new \imagick($destinationPath.$filename);
|
||||
$resolutions = $im->getImageResolution();
|
||||
$media->resolution = round($resolutions['x'] * 2.54, 2);
|
||||
$imageprops = $im->getImageGeometry();
|
||||
$media->largeur = $imageprops['width'];
|
||||
$media->hauteur = $imageprops['height'];
|
||||
|
||||
if($media->resolution != 0){
|
||||
$media->largeur_mm = ceil(($media->largeur * 2.54 / $media->resolution)*10);
|
||||
$media->hauteur_mm = ceil(($media->hauteur * 2.54 / $media->resolution)*10);
|
||||
}else{
|
||||
$media->largeur_mm = "";
|
||||
$media->hauteur_mm = "";
|
||||
}
|
||||
$media->save();
|
||||
$response = $media;
|
||||
$im->destroy();
|
||||
|
||||
// ---- Creation des vignettes de base
|
||||
$this->create_sys_thumb($media);
|
||||
// ---- Creation des vignettes en lien avec le sujet du média
|
||||
if(isset($sujet_id) ){
|
||||
$this->create_thumb($media);
|
||||
}
|
||||
|
||||
// ---- Historique des actions
|
||||
$historique = new historique();
|
||||
if($user = Auth::user()){
|
||||
$historique->user_id = $user->id;
|
||||
}
|
||||
$historique->media_id = $media->id;
|
||||
$historique->type = "Création";
|
||||
$historique->description = "Média ajouté";
|
||||
$historique->save();
|
||||
|
||||
|
||||
return json_encode($response);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,23 +6,45 @@ use Illuminate\Http\Request;
|
|||
use Illuminate\Support\Facades\Auth;
|
||||
use App\Panier;
|
||||
use App\Media;
|
||||
use App\Format;
|
||||
|
||||
class PanierController extends Controller
|
||||
{
|
||||
/**
|
||||
* Pas principale des paniers
|
||||
* Page principale des paniers
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
$paniers = "";
|
||||
$paniers = Auth::user()->paniersOwner;
|
||||
return view('panier.index')->with([
|
||||
'paniers'=> $paniers,
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Page publique d'un panier
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function showBasket(Request $request)
|
||||
{
|
||||
$panier_uid = $request->basket_uid;
|
||||
$formats = Format::withoutGlobalScope('App\Scopes\SystemScope')->where('system', 1)->get();
|
||||
$panier = Panier::where('uid', $panier_uid)->first();
|
||||
if($panier && $panier->statut == 1){
|
||||
return view('panier.show')->with([
|
||||
'panier'=> $panier,
|
||||
'formats' => $formats,
|
||||
]);
|
||||
}else{
|
||||
abort(404, 'Page introuvable');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajout de média à un panier
|
||||
*/
|
||||
|
|
@ -69,6 +91,7 @@ class PanierController extends Controller
|
|||
public function addBasket(Request $request)
|
||||
{
|
||||
$response = false;
|
||||
$uid = sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x', mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0x0fff) | 0x4000, mt_rand(0, 0x3fff) | 0x8000, mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff));
|
||||
$title = $request->input('title');
|
||||
|
||||
if($title == ""){
|
||||
|
|
@ -78,6 +101,7 @@ class PanierController extends Controller
|
|||
$panier = new Panier();
|
||||
$panier->owner = Auth::user()->id;
|
||||
$panier->libelle = $title;
|
||||
$panier->uid = $uid;
|
||||
if($panier->save()){
|
||||
$response = $panier;
|
||||
}
|
||||
|
|
@ -86,13 +110,12 @@ class PanierController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* supprimer un panier
|
||||
* Supprimer un panier
|
||||
*
|
||||
*/
|
||||
public function removeBasket(Request $request)
|
||||
{
|
||||
$response = false;
|
||||
$user_id = Auth::user()->id;
|
||||
$basket_id = $request->input('basket_id');
|
||||
|
||||
|
||||
|
|
@ -104,6 +127,24 @@ class PanierController extends Controller
|
|||
return json_encode($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtenir un panier
|
||||
*
|
||||
*/
|
||||
public function getBasket(Request $request)
|
||||
{
|
||||
$response = false;
|
||||
$basket_id = $request->input('basket_id');
|
||||
$host = $request->getSchemeAndHttpHost();
|
||||
|
||||
$panier = Panier::where('id', $basket_id)->first();
|
||||
if($panier){
|
||||
$response['basket'] = $panier;
|
||||
$response['link'] = $host."/basket/".$panier->uid;
|
||||
}
|
||||
return json_encode($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* Charge un panier
|
||||
*/
|
||||
|
|
@ -119,4 +160,25 @@ class PanierController extends Controller
|
|||
|
||||
return json_encode($response);
|
||||
}
|
||||
|
||||
/**
|
||||
* enregistre les propriétés d'un panier
|
||||
*
|
||||
*/
|
||||
public function saveBasketProperty(Request $request)
|
||||
{
|
||||
$basket_id = $request->input('basket_id');
|
||||
$libelle = $request->input('libelle');
|
||||
$description = $request->input('description');
|
||||
$statut = $request->input('statut');
|
||||
|
||||
$panier = Panier::where('id', $basket_id)->first();
|
||||
if($panier){
|
||||
$panier->libelle = $libelle;
|
||||
$panier->description = $description;
|
||||
$panier->statut = $statut;
|
||||
$panier->save();
|
||||
}
|
||||
return json_encode(true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -31,6 +31,7 @@ class UploadController extends Controller {
|
|||
$uid = $request->input('uid');
|
||||
$sujet_id = $request->input('sujet_id');
|
||||
$dossier_id = $request->input('dossier_id');
|
||||
$replaceMediaId = $request->input('replaceMediaId');
|
||||
if($dossier_id == 0) $dossier_id = NULL;
|
||||
|
||||
$headers = $request->headers->all();
|
||||
|
|
@ -99,19 +100,36 @@ class UploadController extends Controller {
|
|||
// si c'est le dernier morceau d'un fichier ou que c'est un envoi simple
|
||||
if($is_last_chunk || !$is_chunked_upload ){
|
||||
|
||||
// On déplace le fichier dans le répertoire des médias
|
||||
$destinationPath = $this->get_mediaFolder()."/";
|
||||
Storage::move("uploads/".$filename, $destinationPath.$filename);
|
||||
|
||||
// on créé un média en bdd
|
||||
$media = new Media();
|
||||
$media->dossier_id = $dossier_id;
|
||||
$media->sujet_id = $sujet_id;
|
||||
$media->libelle = $originalName;
|
||||
// si on upload un média pour remplacer un fichier par un autre
|
||||
if($replaceMediaId != 0){
|
||||
// on récupère le média à modifier
|
||||
$media= Media::where('id', $replaceMediaId)->first();
|
||||
|
||||
// On déplace le fichier dans le répertoire des médias
|
||||
Storage::move("uploads/".$filename, $destinationPath.$filename);
|
||||
|
||||
// supprime les fichiers médias stockés sur disque
|
||||
$filesfF= Storage::files($media->folder."/");
|
||||
$filepath = preg_quote($media->folder.$media->uid, '/');
|
||||
$matchingFiles = preg_grep('/^'.$filepath.'/', $filesfF);
|
||||
Storage::delete($matchingFiles);
|
||||
}else{
|
||||
// On déplace le fichier dans le répertoire des médias
|
||||
Storage::move("uploads/".$filename, $destinationPath.$filename);
|
||||
|
||||
// on créé un média en bdd
|
||||
$media = new Media();
|
||||
$media->dossier_id = $dossier_id;
|
||||
$media->sujet_id = $sujet_id;
|
||||
}
|
||||
|
||||
$media->extension = $extension;
|
||||
$media->folder = $destinationPath;
|
||||
if($user = Auth::user()){
|
||||
$media->created_by= $user->id;
|
||||
if($replaceMediaId == 0){
|
||||
$media->libelle = $originalName;
|
||||
$media->created_by= Auth::user()->id;
|
||||
}
|
||||
$media->uid = $uid;
|
||||
$media->taille = $this->formatBytes($this->get_file_size($destinationPath.$filename));
|
||||
|
|
@ -188,8 +206,13 @@ class UploadController extends Controller {
|
|||
$historique->user_id = $user->id;
|
||||
}
|
||||
$historique->media_id = $media->id;
|
||||
$historique->type = "Création";
|
||||
$historique->description = "Média ajouté";
|
||||
if($replaceMediaId == 0){
|
||||
$historique->type = "Création";
|
||||
$historique->description = "Média ajouté";
|
||||
}else{
|
||||
$historique->type = "Modification";
|
||||
$historique->description = "Le média a été remplacé";
|
||||
}
|
||||
$historique->save();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ class Panier extends Model
|
|||
{
|
||||
use SoftDeletes;
|
||||
|
||||
protected $appends = array('mediacount', 'mediacover');
|
||||
|
||||
/**
|
||||
* Get the user that owns the panier.
|
||||
*/
|
||||
|
|
@ -33,4 +35,35 @@ class Panier extends Model
|
|||
return $this->belongsToMany('App\Media', 'paniers_medias', 'panier_id', 'media_id');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get media linked
|
||||
*/
|
||||
public function getMediacountAttribute()
|
||||
{
|
||||
return $this->medias()->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get media linked
|
||||
*/
|
||||
public function getMediacoverAttribute()
|
||||
{
|
||||
$cover = "";
|
||||
$media = $this->medias()->where('typemedia_id', 1)->first();
|
||||
if($media){
|
||||
switch ($media->typemedia_id) {
|
||||
case 1:
|
||||
if($media->extension == "pdf" || $media->extension == "ai" || $media->extension == "psd"){
|
||||
$cover = $media->folder.$media->uid."_thumb.png";
|
||||
}else{
|
||||
$cover = $media->folder.$media->uid."_thumb.".$media->extension;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
$cover = $media->folder.$media->uid."_thumb.".$media->extension;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return $cover;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
370
public/css/app.css
vendored
370
public/css/app.css
vendored
|
|
@ -13030,6 +13030,55 @@ readers do not read off random characters that represent icons */
|
|||
display: none;
|
||||
}
|
||||
|
||||
#form_basket_property {
|
||||
padding: 30px;
|
||||
min-width: 550px;
|
||||
}
|
||||
|
||||
#form_basket_property h3 {
|
||||
font-size: 14px;
|
||||
margin-bottom: 12px;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#form_basket_property hr {
|
||||
color: #24272e;
|
||||
border-bottom: 1px solid #2c2f36;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#form_basket_property p.button_bar {
|
||||
text-align: right;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#form_basket_property select,
|
||||
#form_basket_property input,
|
||||
#form_basket_property textarea {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#form_basket_property textarea {
|
||||
min-height: 200px;
|
||||
}
|
||||
|
||||
#form_basket_property .btn {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
#form_basket_property .form_basket_save .fa-spinner-third {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#form_basket_property .form_basket_save.loading .fa-spinner-third {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#form_basket_property .form_basket_save.loading .fa-share {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#form_etiquette {
|
||||
padding: 30px;
|
||||
min-width: 340px;
|
||||
|
|
@ -13098,6 +13147,48 @@ readers do not read off random characters that represent icons */
|
|||
margin-bottom: 40px;
|
||||
}
|
||||
|
||||
#form_select_add_media {
|
||||
padding: 30px;
|
||||
min-width: 340px;
|
||||
}
|
||||
|
||||
#form_select_add_media h3 {
|
||||
font-size: 14px;
|
||||
margin-bottom: 12px;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#form_select_add_media hr {
|
||||
color: #24272e;
|
||||
border-bottom: 1px solid #2c2f36;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
#form_select_add_media .content {
|
||||
margin: 10px 0;
|
||||
}
|
||||
|
||||
#form_select_add_media .content a {
|
||||
display: block;
|
||||
color: #ffffff;
|
||||
border-radius: 5px;
|
||||
border: 1px solid #ffffff;
|
||||
padding: 15px 15px;
|
||||
margin-bottom: 5px;
|
||||
font-size: 15px;
|
||||
transition: background-color 200ms ease-in;
|
||||
}
|
||||
|
||||
#form_select_add_media .content a i {
|
||||
margin-right: 10px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
#form_select_add_media .content a:hover {
|
||||
background-color: #0a6fb7;
|
||||
}
|
||||
|
||||
/******************************************
|
||||
TEMPLATE
|
||||
******************************************/
|
||||
|
|
@ -13392,6 +13483,7 @@ p {
|
|||
input[type=text],
|
||||
input[type=number],
|
||||
input[type=password],
|
||||
input[type=date],
|
||||
input[type=email],
|
||||
input[type=url],
|
||||
select {
|
||||
|
|
@ -13403,6 +13495,7 @@ select {
|
|||
input[type=text].is-invalid,
|
||||
input[type=number].is-invalid,
|
||||
input[type=password].is-invalid,
|
||||
input[type=date].is-invalid,
|
||||
input[type=email].is-invalid,
|
||||
input[type=url].is-invalid,
|
||||
select.is-invalid {
|
||||
|
|
@ -13775,7 +13868,7 @@ table tfoot tr:hover {
|
|||
min-width: 163px;
|
||||
-webkit-transform: translateX(-50%);
|
||||
transform: translateX(-50%);
|
||||
z-index: 1;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.media_manager .main_content header .search_wrapper .search_filters > div .list.list_etiquette li label {
|
||||
|
|
@ -14383,7 +14476,7 @@ table tfoot tr:hover {
|
|||
position: absolute;
|
||||
display: none;
|
||||
background-color: #333333;
|
||||
z-index: 1;
|
||||
z-index: 2;
|
||||
right: 12px;
|
||||
top: 48px;
|
||||
}
|
||||
|
|
@ -14494,7 +14587,7 @@ table tfoot tr:hover {
|
|||
height: 100%;
|
||||
background-color: #333333;
|
||||
position: absolute;
|
||||
z-index: 99990;
|
||||
z-index: 99;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
|
|
@ -14553,17 +14646,21 @@ table tfoot tr:hover {
|
|||
z-index: 1;
|
||||
}
|
||||
|
||||
#form_media header .form_media_download {
|
||||
#form_media header .form_media_download,
|
||||
#form_media header .form_media_replace {
|
||||
float: right;
|
||||
font-size: 18px;
|
||||
font-size: 26px;
|
||||
margin-right: 5px;
|
||||
position: relative;
|
||||
padding: 12px;
|
||||
padding: 8px;
|
||||
border: none;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#form_media header .form_media_download:hover {
|
||||
#form_media header .form_media_download:hover,
|
||||
#form_media header .form_media_replace:hover {
|
||||
background-color: transparent;
|
||||
color: #ffffff;
|
||||
color: #aaaaaa;
|
||||
}
|
||||
|
||||
#form_media .main_content {
|
||||
|
|
@ -14706,6 +14803,263 @@ table tfoot tr:hover {
|
|||
color: #aaaaaa;
|
||||
}
|
||||
|
||||
/*********************
|
||||
Widget Panier
|
||||
**********************/
|
||||
|
||||
.panier_manager .side_menu header {
|
||||
padding: 13px;
|
||||
}
|
||||
|
||||
.panier_manager .side_menu header h1 {
|
||||
font-size: 18px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
|
||||
.panier_manager .side_menu header p {
|
||||
color: white;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.panier_manager .main_content .panier_list {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.panier_manager .main_content .panier_list .panier_item {
|
||||
display: inline-block;
|
||||
border: 1px solid grey;
|
||||
width: 202px;
|
||||
margin: 8px 10px;
|
||||
background-color: #333333;
|
||||
transition: 0.3s ease-in-out;
|
||||
position: relative;
|
||||
padding-bottom: 25px;
|
||||
height: 200px;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.panier_manager .main_content .panier_list .panier_item::before {
|
||||
content: "";
|
||||
background-color: rgba(255, 255, 255, 0.6);
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 3px;
|
||||
top: 3px;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
.panier_manager .main_content .panier_list .panier_item::after {
|
||||
content: "";
|
||||
background-color: rgba(255, 255, 255, 0.3);
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.panier_manager .main_content .panier_list .panier_item .title {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 2;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.panier_manager .main_content .panier_list .panier_item .title i {
|
||||
color: #ffed4a;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.panier_manager .main_content .panier_list .panier_item .title p {
|
||||
margin: 0;
|
||||
color: black;
|
||||
}
|
||||
|
||||
.panier_manager .main_content .panier_list .panier_item .bar {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
padding: 4px;
|
||||
font-size: 11px;
|
||||
z-index: 2;
|
||||
text-align: right;
|
||||
width: 100%;
|
||||
padding: 3px 8px;
|
||||
}
|
||||
|
||||
.panier_manager .main_content .panier_list .panier_item .bar .action_delete_basket {
|
||||
color: black;
|
||||
margin-right: 6px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.panier_manager .main_content .panier_list .panier_item .bar .count {
|
||||
background-color: #FFAB57;
|
||||
color: #ffffff;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
padding: 5px 6px;
|
||||
border-radius: 10px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/********************************
|
||||
Page publique d'un panier
|
||||
*********************************/
|
||||
|
||||
.public_basket {
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.public_basket .main_content {
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.public_basket .main_content header {
|
||||
height: 48px;
|
||||
background-color: #3b3b3b;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.public_basket .main_content header .basket_title {
|
||||
margin-left: 10px;
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.public_basket .main_content header .basket_Info {
|
||||
margin-right: 10px;
|
||||
font-size: 27px;
|
||||
}
|
||||
|
||||
.public_basket .main_content header .basket_Info a {
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container {
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
scrollbar-color: #272626 #1a1a1a;
|
||||
position: relative;
|
||||
height: calc(100% - 48px);
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper .imageItem {
|
||||
display: inline-block;
|
||||
border: 1px solid grey;
|
||||
width: 202px;
|
||||
margin: 8px 10px;
|
||||
background-color: #333333;
|
||||
transition: 0.3s ease-in-out;
|
||||
position: relative;
|
||||
padding-bottom: 25px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper .imageItem .media {
|
||||
height: 200px;
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper .imageItem .media::before {
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%);
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
text-align: center;
|
||||
text-indent: 0;
|
||||
color: #ffffff;
|
||||
font-size: 59px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper .imageItem .media.video::before {
|
||||
content: "\F167";
|
||||
font-family: "Font Awesome 5 Brands";
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper .imageItem .media.son::before {
|
||||
content: "\F58F";
|
||||
font-family: "Font Awesome 5 Pro";
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper .imageItem .media.doc::before {
|
||||
content: "\F15C";
|
||||
font-family: "Font Awesome 5 Pro";
|
||||
font-weight: 900;
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper .imageItem .libelle {
|
||||
padding: 4px;
|
||||
text-align: center;
|
||||
color: #ffffff;
|
||||
margin: 0;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper .imageItem .info {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
padding: 4px;
|
||||
font-size: 11px;
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper .imageItem .info i {
|
||||
margin-right: 7px;
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper .imageItem[aria-grabbed=true]::before {
|
||||
content: "\F058";
|
||||
font-family: "Font Awesome 5 Pro";
|
||||
font-weight: 900;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 5px;
|
||||
top: 5px;
|
||||
text-align: center;
|
||||
text-indent: 0;
|
||||
color: #2489D1;
|
||||
font-size: 25px;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper .imageItem[aria-grabbed=true]::after {
|
||||
content: "";
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.public_basket .main_content .media_container .wrapper .imageItem:hover {
|
||||
background-color: #3b3b3b;
|
||||
}
|
||||
|
||||
/******************************************
|
||||
PAGE LOGIN
|
||||
******************************************/
|
||||
|
|
|
|||
BIN
public/images/default.jpg
Normal file
BIN
public/images/default.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
316
public/js/app.js
vendored
316
public/js/app.js
vendored
|
|
@ -10986,23 +10986,27 @@ $(".userbar").on('click', function (event) {
|
|||
$(".submenu").toggle();
|
||||
});
|
||||
$(document).mouseup(function (e) {
|
||||
// ---- Masque le menu utilisateur
|
||||
var container = $(".userbar");
|
||||
|
||||
if (!container.is(e.target) && container.has(e.target).length === 0) {
|
||||
$(".submenu").hide();
|
||||
}
|
||||
} // ---- Masque le menu contextuel des dossiers
|
||||
|
||||
|
||||
var menuContextuel = $(".folder_container .folder_menu");
|
||||
|
||||
if (!menuContextuel.is(e.target) && menuContextuel.has(e.target).length === 0) {
|
||||
menuContextuel.hide();
|
||||
}
|
||||
} // ---- Masque le menu des paniers
|
||||
|
||||
|
||||
var cartMenu = $(".panier_side_menu .panier_menu");
|
||||
|
||||
if (!cartMenu.is(e.target) && cartMenu.has(e.target).length === 0 && $("#menu_panier").has(e.target).length === 0) {
|
||||
cartMenu.hide();
|
||||
}
|
||||
} // ---- Masque les filtres de la bar de recherche
|
||||
|
||||
|
||||
var filter_list = $(".filter_selector");
|
||||
|
||||
|
|
@ -11011,7 +11015,9 @@ $(document).mouseup(function (e) {
|
|||
} // ---- déselectionne les éléments si on clique en dehors
|
||||
|
||||
|
||||
if ($(e.target).hasClass('media_container') || $(e.target).hasClass('wrapper')) {
|
||||
var parentOffset = $('.media_container').parent().offset();
|
||||
|
||||
if ($(e.target).hasClass('media_container') && event.pageX - parentOffset.left < $('.media_container')[0]['clientWidth'] || $(e.target).hasClass('wrapper')) {
|
||||
$(".imageItem").attr("aria-grabbed", "false");
|
||||
$(".imageItem").removeClass('flip');
|
||||
}
|
||||
|
|
@ -11602,6 +11608,17 @@ $(document).ready(function () {
|
|||
var dossier_id = $("#form_folder_property").attr("data-id");
|
||||
var libelle = $(".form_folder_libelle").val();
|
||||
var description = $(".form_folder_description").val();
|
||||
|
||||
if (libelle == "") {
|
||||
$.fancyMessage({
|
||||
title: "Propriétés d'un dossier",
|
||||
message: "Vous devez indiquer un nom de dossier.",
|
||||
type: "error"
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
$(".form_folder_save").addClass('loading');
|
||||
$.ajax({
|
||||
url: '/ajax/save-folder-property',
|
||||
method: 'POST',
|
||||
|
|
@ -11612,10 +11629,12 @@ $(document).ready(function () {
|
|||
description: description
|
||||
},
|
||||
success: function success(result) {
|
||||
$(".form_folder_save").removeClass('loading');
|
||||
$(".folder_container .dd3-item[data-id='" + dossier_id + "'] > .dd3-content span").html(libelle);
|
||||
$.fancybox.close();
|
||||
},
|
||||
error: function error(jqXHR, textStatus, errorThrown) {
|
||||
$(".form_folder_save").removeClass('loading');
|
||||
$.fancybox.close();
|
||||
$.fancyMessage({
|
||||
title: "Attention",
|
||||
|
|
@ -11834,7 +11853,7 @@ $(document).ready(function () {
|
|||
}
|
||||
}); // ---- Gestion de l'infinite scroll
|
||||
|
||||
$(".main_content .media_container").on("scroll resize", function () {
|
||||
$(".media_manager .media_container").on("scroll resize", function () {
|
||||
if ($(window).data('ajaxready') == false) return;
|
||||
if ($(window).data('noMedia') == true) return;
|
||||
|
||||
|
|
@ -11980,7 +11999,7 @@ $(document).ready(function () {
|
|||
|
||||
var mediaId = $(window).data('current_edit_media');
|
||||
var $media = $(".media_container .imageItem[data-id='" + mediaId + "'] .media");
|
||||
var mediaBg = $media.css('background-image', 'url(' + result.folder + result.uid + "." + result.extension + '?t=' + new Date().getTime() + ')');
|
||||
var mediaBg = $media.css('background-image', 'url(' + result.folder + result.uid + "_thumb." + result.extension + '?t=' + new Date().getTime() + ')');
|
||||
},
|
||||
error: function error(jqXHR, textStatus, errorThrown) {
|
||||
$.fancybox.close();
|
||||
|
|
@ -12402,6 +12421,13 @@ $(document).ready(function () {
|
|||
}
|
||||
}).trigger("click");
|
||||
}
|
||||
}); // ---- Bouton pour remplacer un média par un autre
|
||||
|
||||
$('.form_media_replace').on('click', function (event) {
|
||||
event.preventDefault();
|
||||
$('.upload_container').show("fast");
|
||||
maxFiles = 1;
|
||||
replaceMediaId = $(window).data('current_edit_media');
|
||||
}); // ---- Bouton pour lancer le téléchargement d'un ou plusieurs médias
|
||||
|
||||
$('#form_download .btn_form_download').on('click', function (event) {
|
||||
|
|
@ -12481,7 +12507,8 @@ $(document).ready(function () {
|
|||
tags: $('#tag-editor').tagEditor('getTags')[0].tags,
|
||||
sites: $(".tab_edit .selector_sites .selector_dataValues").val(),
|
||||
marques: $(".tab_edit .selector_marques .selector_dataValues").val(),
|
||||
articles: $(".tab_edit #articles").val()
|
||||
articles: $(".tab_edit #articles").val(),
|
||||
published_at: $(".tab_edit #published_at").val()
|
||||
};
|
||||
$.ajax({
|
||||
url: '/ajax/save-media',
|
||||
|
|
@ -12525,13 +12552,19 @@ $(document).ready(function () {
|
|||
$('#close_upload_form').on('click', function (event) {
|
||||
event.preventDefault();
|
||||
$('.upload_container').hide("fast");
|
||||
}); // ---- Ouvrir la popup d'upload
|
||||
}); // ---- Ouvrir la popup de mode d'ajout
|
||||
|
||||
$('.action_add_media').on('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
if ($(window).data('currentFolder') >= 0) {
|
||||
$('.upload_container').show("fast");
|
||||
$("#form_select_add_media").fancybox({
|
||||
type: 'inline',
|
||||
opts: {
|
||||
animationDuration: 350,
|
||||
animationEffect: 'material'
|
||||
}
|
||||
}).trigger("click");
|
||||
} else {
|
||||
$.fancyMessage({
|
||||
title: "Ajout de média",
|
||||
|
|
@ -12539,6 +12572,49 @@ $(document).ready(function () {
|
|||
type: "error"
|
||||
});
|
||||
}
|
||||
}); // ---- Ouvrir la popup d'upload
|
||||
|
||||
$('.add_media_by_upload').on('click', function (event) {
|
||||
event.preventDefault();
|
||||
$.fancybox.close();
|
||||
$('.upload_container').show("fast");
|
||||
maxFiles = 100;
|
||||
replaceMediaId = 0;
|
||||
}); // ---- Ajoute un élément sans média
|
||||
|
||||
$('.add_media_without_file').on('click', function (event) {
|
||||
event.preventDefault();
|
||||
$.fancybox.close();
|
||||
$.ajax({
|
||||
url: '/ajax/add-media',
|
||||
method: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
dossier_id: $(window).data('currentFolder'),
|
||||
sujet_id: $("#sujet_selector").val()
|
||||
},
|
||||
success: function success(result) {
|
||||
//---- Chargement des médias
|
||||
var currentFolder = $(window).data('currentFolder');
|
||||
|
||||
if (currentFolder == 0 || currentFolder == "") {
|
||||
var count = $(".folder_container .root_folder .count");
|
||||
} else {
|
||||
var count = $(".folder_container .dd3-item[data-id='" + currentFolder + "'] > .dd3-content .count");
|
||||
}
|
||||
|
||||
count.html(parseInt(count.html()) + 1);
|
||||
$(".reinit_search_btn").trigger("click");
|
||||
},
|
||||
error: function error(jqXHR, textStatus, errorThrown) {
|
||||
$(".folder_container .loader").hide();
|
||||
$.fancyMessage({
|
||||
title: "Attention",
|
||||
message: "Erreur lors de la création du média. Merci d'actualiser la page.",
|
||||
type: "error"
|
||||
});
|
||||
}
|
||||
});
|
||||
}); // ---- Initialisation du module d'upload
|
||||
|
||||
if ($('#fileupload').length) {
|
||||
|
|
@ -12561,6 +12637,10 @@ $(document).ready(function () {
|
|||
return false;
|
||||
}
|
||||
|
||||
if (counter == 0) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$("#submit").html('<i class="fal fa-circle-notch fa-spin"></i> Transférer');
|
||||
$("#submit").css("pointer-events", "none");
|
||||
$("#upload_errors").html("");
|
||||
|
|
@ -12578,6 +12658,7 @@ $(document).ready(function () {
|
|||
var currentfiles = [];
|
||||
var maxFiles = 100;
|
||||
var counter = 0;
|
||||
var replaceMediaId = 0;
|
||||
$('#fileupload').fileupload({
|
||||
url: "/ajax/upload-media",
|
||||
dataType: 'json',
|
||||
|
|
@ -12593,7 +12674,7 @@ $(document).ready(function () {
|
|||
} else {
|
||||
$.fancyMessage({
|
||||
title: "Attention",
|
||||
message: "Vous ne pouvez pas ajouter plus de " + maxFiles + " fichiers",
|
||||
message: "Vous ne pouvez pas ajouter plus de " + maxFiles + " fichier(s)",
|
||||
type: "info"
|
||||
});
|
||||
return false;
|
||||
|
|
@ -12641,7 +12722,8 @@ $(document).ready(function () {
|
|||
data.formData = {
|
||||
uid: create_UUID(),
|
||||
sujet_id: $("#sujet_selector").val(),
|
||||
dossier_id: $(window).data('currentFolder')
|
||||
dossier_id: $(window).data('currentFolder'),
|
||||
replaceMediaId: replaceMediaId
|
||||
};
|
||||
data.submit();
|
||||
});
|
||||
|
|
@ -12683,6 +12765,11 @@ $(document).ready(function () {
|
|||
$(".reinit_search_btn").trigger("click");
|
||||
$("#submit").html('Transférer');
|
||||
$("#submit").css("pointer-events", "auto");
|
||||
|
||||
if (replaceMediaId != 0) {
|
||||
// Fermeture de la popin d'édition de média
|
||||
$(".form_media_close, .btn_tab_edit_cancel").trigger('click');
|
||||
}
|
||||
},
|
||||
fail: function fail(e, data) {
|
||||
$.each(data.files, function (index, file) {
|
||||
|
|
@ -13182,6 +13269,9 @@ window.create_UUID = function () {
|
|||
/***/ (function(module, exports) {
|
||||
|
||||
$(document).ready(function () {
|
||||
/***************************
|
||||
Widget panier
|
||||
*****************************/
|
||||
if ($(".panier_side_menu").length) {
|
||||
// ---- collapse/expand panier side menu
|
||||
$("#menu_panier").on('click', function (event) {
|
||||
|
|
@ -13241,12 +13331,151 @@ $(document).ready(function () {
|
|||
});
|
||||
}
|
||||
});
|
||||
}); // ---- Ajout un nouveau panier
|
||||
}); // ---- Aller au panier
|
||||
|
||||
$('.panier_side_menu .goto_panier').on('click', function (event) {
|
||||
event.preventDefault();
|
||||
$(".panier_side_menu .panier_menu").hide();
|
||||
window.location.href = $(this).attr("data-url") + "?p=" + $(window).data('currentBasket');
|
||||
}); // ---- Supprimer le panier
|
||||
|
||||
$('.panier_side_menu .remove_panier').on('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
if ($(window).data('currentBasket') == 0) {
|
||||
$.fancyMessage({
|
||||
title: "Suppression de panier",
|
||||
message: "Veuillez sélectionner un panier à supprimer.",
|
||||
type: "info"
|
||||
});
|
||||
}
|
||||
|
||||
$.fancyConfirm({
|
||||
title: "Suppression de panier",
|
||||
message: "Êtes-vous sûr de vouloir supprimer ce panier ?",
|
||||
okButton: 'Supprimer',
|
||||
noButton: 'Annuler',
|
||||
callback: function callback(value) {
|
||||
if (value) {
|
||||
// sauvegarde de l'image en base
|
||||
$.ajax({
|
||||
url: '/ajax/remove-basket',
|
||||
method: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
basket_id: $(window).data('currentBasket')
|
||||
},
|
||||
success: function success(result) {
|
||||
$("#panier_selector option[value='" + $(window).data('currentBasket') + "']").remove();
|
||||
$("#panier_selector").val($("#panier_selector option:first").val());
|
||||
$("#panier_selector").trigger("change");
|
||||
},
|
||||
error: function error(jqXHR, textStatus, errorThrown) {
|
||||
$.fancybox.close();
|
||||
$.fancyMessage({
|
||||
title: "Suppression de panier",
|
||||
message: "Erreur lors de la suppression, merci d'actualiser la page.",
|
||||
type: "error"
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}); // ---- Propriétés d'un panier
|
||||
|
||||
$('.panier_side_menu .info_panier').on('click', function (event) {
|
||||
event.preventDefault();
|
||||
|
||||
if ($(window).data('currentBasket') == 0) {
|
||||
$.fancyMessage({
|
||||
title: "Propriétés du panier",
|
||||
message: "Veuillez sélectionner un panier.",
|
||||
type: "info"
|
||||
});
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: '/ajax/get-basket',
|
||||
method: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
basket_id: $(window).data('currentBasket')
|
||||
},
|
||||
success: function success(result) {
|
||||
if (result) {
|
||||
var basket = result.basket;
|
||||
$.fancybox.open({
|
||||
src: '#form_basket_property',
|
||||
type: 'inline',
|
||||
opts: {
|
||||
animationDuration: 350,
|
||||
animationEffect: 'material',
|
||||
beforeShow: function beforeShow(instance, current) {
|
||||
var date = new Date(basket.created_at);
|
||||
$(".form_basket_datecreate").html(date.toLocaleDateString('fr-FR', {
|
||||
'hour': '2-digit',
|
||||
'minute': '2-digit'
|
||||
}));
|
||||
$(".form_basket_libelle").val(basket.libelle);
|
||||
$(".form_basket_description").val(basket.description);
|
||||
$(".form_basket_statut").val(basket.statut);
|
||||
$(".form_basket_link").val(result.link);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
error: function error(jqXHR, textStatus, errorThrown) {
|
||||
$.fancybox.close();
|
||||
$.fancyMessage({
|
||||
title: "Attention",
|
||||
message: "Erreur lors de la suppression du média, merci d'actualiser la page.",
|
||||
type: "error"
|
||||
});
|
||||
}
|
||||
});
|
||||
}); // ---- enregistre les propriétés d'un panier
|
||||
|
||||
$("html").on('click', '.form_basket_save', function (event) {
|
||||
event.preventDefault();
|
||||
var libelle = $(".form_basket_libelle").val();
|
||||
|
||||
if (libelle == "") {
|
||||
$.fancyMessage({
|
||||
title: "Propriétés d'un dossier",
|
||||
message: "Vous devez indiquer un nom de panier.",
|
||||
type: "error"
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
$(".form_basket_save").addClass('loading');
|
||||
$.ajax({
|
||||
url: '/ajax/save-basket-property',
|
||||
method: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
basket_id: $(window).data('currentBasket'),
|
||||
libelle: libelle,
|
||||
description: $(".form_basket_description").val(),
|
||||
statut: $(".form_basket_statut").val()
|
||||
},
|
||||
success: function success(result) {
|
||||
$(".form_basket_save").removeClass('loading');
|
||||
$("#panier_selector option[value='" + $(window).data('currentBasket') + "']").text(result.libelle);
|
||||
$.fancybox.close();
|
||||
},
|
||||
error: function error(jqXHR, textStatus, errorThrown) {
|
||||
$(".form_basket_save").removeClass('loading');
|
||||
$.fancybox.close();
|
||||
$.fancyMessage({
|
||||
title: "Attention",
|
||||
message: "Erreur lors de l'édition du panier, merci d'actualiser la page.",
|
||||
type: "error"
|
||||
});
|
||||
}
|
||||
});
|
||||
}); // ---- Supprimer un média du panier
|
||||
|
||||
$('.panier_content').on('click', ".imageItem .media_remove_basket", function (event) {
|
||||
|
|
@ -13340,6 +13569,69 @@ $(document).ready(function () {
|
|||
}
|
||||
});
|
||||
}
|
||||
/****************************************
|
||||
Page publique des paniers
|
||||
*****************************************/
|
||||
|
||||
|
||||
if ($(".public_basket").length) {
|
||||
// ---- Aperçu des médias du panier
|
||||
$(".public_basket ").on("dblclick", '.imageItem', function (event) {
|
||||
var imgPreview = $(this).attr('data-preview') + '?t=' + new Date().getTime();
|
||||
|
||||
if ($(this).attr('data-typemedia') == 1 || $(this).attr('data-typemedia') == 2) {
|
||||
// image
|
||||
$.fancybox.open('<img style="width: 640px; height:auto;" src="' + imgPreview + '" alt="" />');
|
||||
} else if ($(this).attr('data-typemedia') == 3) {
|
||||
// vidéo
|
||||
$.fancybox.open('<video src="' + $(this).attr('data-src') + '" controls></video>');
|
||||
} else if ($(this).attr('data-typemedia') == 4) {
|
||||
// Audio
|
||||
$.fancybox.open('<audio controls src="' + $(this).attr('data-src') + '"></audio>');
|
||||
}
|
||||
}); // ---- Propriétés d'un panier
|
||||
|
||||
$('.public_basket .btn_basket_Info').on('click', function (event) {
|
||||
event.preventDefault();
|
||||
$.fancybox.open({
|
||||
src: '#form_basket_property',
|
||||
type: 'inline',
|
||||
opts: {
|
||||
animationDuration: 350,
|
||||
animationEffect: 'material'
|
||||
}
|
||||
});
|
||||
}); // ---- Popup pour télécharger des médias en masse
|
||||
|
||||
$('.public_basket .btn_basket_download').on('click', function (event) {
|
||||
event.preventDefault();
|
||||
var medias = [];
|
||||
$('.media_container .imageItem').each(function (index) {
|
||||
if ($(this).attr("aria-grabbed") == "true") {
|
||||
medias.push($(this).attr("data-id"));
|
||||
}
|
||||
});
|
||||
|
||||
if (medias.length == 0) {
|
||||
$.fancyMessage({
|
||||
title: "Télécharger des médias",
|
||||
message: "Veuillez sélectionner au moins un média.",
|
||||
type: "info"
|
||||
});
|
||||
} else {
|
||||
$("#form_download").fancybox({
|
||||
type: 'inline',
|
||||
opts: {
|
||||
animationDuration: 350,
|
||||
animationEffect: 'material'
|
||||
},
|
||||
beforeShow: function beforeShow() {
|
||||
$("#form_download .medias").val(medias.join());
|
||||
}
|
||||
}).trigger("click");
|
||||
}
|
||||
});
|
||||
}
|
||||
}); // ---- Ajout de médias au panier
|
||||
|
||||
window.addMediasBasket = function (medias) {
|
||||
|
|
|
|||
8
resources/js/app.js
vendored
8
resources/js/app.js
vendored
|
|
@ -113,21 +113,26 @@ $(".userbar").on('click',function(event) {
|
|||
});
|
||||
|
||||
$(document).mouseup(function(e) {
|
||||
|
||||
// ---- Masque le menu utilisateur
|
||||
var container = $(".userbar");
|
||||
if (!container.is(e.target) && container.has(e.target).length === 0) {
|
||||
$(".submenu").hide();
|
||||
}
|
||||
|
||||
// ---- Masque le menu contextuel des dossiers
|
||||
var menuContextuel = $(".folder_container .folder_menu");
|
||||
if (!menuContextuel.is(e.target) && menuContextuel.has(e.target).length === 0) {
|
||||
menuContextuel.hide();
|
||||
}
|
||||
|
||||
// ---- Masque le menu des paniers
|
||||
var cartMenu = $(".panier_side_menu .panier_menu");
|
||||
if (!cartMenu.is(e.target) && cartMenu.has(e.target).length === 0 && $("#menu_panier").has(e.target).length === 0) {
|
||||
cartMenu.hide();
|
||||
}
|
||||
|
||||
// ---- Masque les filtres de la bar de recherche
|
||||
var filter_list = $(".filter_selector");
|
||||
if (!filter_list.is(e.target) && filter_list.has(e.target).length === 0) {
|
||||
$(".filter_selector .list").hide();
|
||||
|
|
@ -135,7 +140,8 @@ $(document).mouseup(function(e) {
|
|||
|
||||
|
||||
// ---- déselectionne les éléments si on clique en dehors
|
||||
if ($(e.target).hasClass('media_container') || $(e.target).hasClass('wrapper')) {
|
||||
var parentOffset = $('.media_container').parent().offset();
|
||||
if ( ($(e.target).hasClass('media_container') && event.pageX- parentOffset.left < $('.media_container')[0]['clientWidth'] ) || $(e.target).hasClass('wrapper')) {
|
||||
$(".imageItem").attr("aria-grabbed", "false");
|
||||
$(".imageItem").removeClass('flip');
|
||||
}
|
||||
|
|
|
|||
79
resources/js/media.js
vendored
79
resources/js/media.js
vendored
|
|
@ -294,11 +294,16 @@ $(document).ready(function() {
|
|||
// ---- enregistre les propriétés d'un dossier
|
||||
$("html").on('click', '.form_folder_save', function(event) {
|
||||
event.preventDefault();
|
||||
|
||||
var dossier_id = $("#form_folder_property").attr("data-id");
|
||||
var libelle = $(".form_folder_libelle").val();
|
||||
var description = $(".form_folder_description").val();
|
||||
|
||||
if(libelle == ""){
|
||||
$.fancyMessage({title : "Propriétés d'un dossier", message : "Vous devez indiquer un nom de dossier.", type : "error"});
|
||||
return false;
|
||||
}
|
||||
$(".form_folder_save").addClass('loading');
|
||||
|
||||
$.ajax({
|
||||
url: '/ajax/save-folder-property',
|
||||
method: 'POST',
|
||||
|
|
@ -309,10 +314,12 @@ $(document).ready(function() {
|
|||
description: description,
|
||||
},
|
||||
success: function(result){
|
||||
$(".form_folder_save").removeClass('loading');
|
||||
$(".folder_container .dd3-item[data-id='"+dossier_id+"'] > .dd3-content span").html(libelle);
|
||||
$.fancybox.close();
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
$(".form_folder_save").removeClass('loading');
|
||||
$.fancybox.close();
|
||||
$.fancyMessage({title : "Attention", message : "Erreur lors de l'édition du dossier, merci d'actualiser la page.", type : "error"});
|
||||
}
|
||||
|
|
@ -515,7 +522,7 @@ $(document).ready(function() {
|
|||
});
|
||||
|
||||
// ---- Gestion de l'infinite scroll
|
||||
$(".main_content .media_container").on("scroll resize", function() {
|
||||
$(".media_manager .media_container").on("scroll resize", function() {
|
||||
if ($(window).data('ajaxready') == false) return;
|
||||
if ($(window).data('noMedia') == true) return;
|
||||
|
||||
|
|
@ -661,7 +668,7 @@ $(document).ready(function() {
|
|||
// MAJ du visuel dans la Liste
|
||||
var mediaId = $(window).data('current_edit_media')
|
||||
var $media = $(".media_container .imageItem[data-id='"+mediaId+"'] .media");
|
||||
var mediaBg = $media.css('background-image', 'url('+result.folder+result.uid+"."+result.extension+'?t='+ new Date().getTime()+')');
|
||||
var mediaBg = $media.css('background-image', 'url('+result.folder+result.uid+"_thumb."+result.extension+'?t='+ new Date().getTime()+')');
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
$.fancybox.close();
|
||||
|
|
@ -1033,6 +1040,14 @@ $(document).ready(function() {
|
|||
}
|
||||
});
|
||||
|
||||
// ---- Bouton pour remplacer un média par un autre
|
||||
$('.form_media_replace').on('click',function(event){
|
||||
event.preventDefault();
|
||||
$('.upload_container').show("fast");
|
||||
maxFiles = 1;
|
||||
replaceMediaId =$(window).data('current_edit_media');
|
||||
});
|
||||
|
||||
// ---- Bouton pour lancer le téléchargement d'un ou plusieurs médias
|
||||
$('#form_download .btn_form_download').on('click',function(event){
|
||||
event.preventDefault();
|
||||
|
|
@ -1111,6 +1126,7 @@ $(document).ready(function() {
|
|||
sites : $(".tab_edit .selector_sites .selector_dataValues").val(),
|
||||
marques : $(".tab_edit .selector_marques .selector_dataValues").val(),
|
||||
articles : $(".tab_edit #articles").val(),
|
||||
published_at : $(".tab_edit #published_at").val(),
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
|
|
@ -1151,16 +1167,57 @@ $(document).ready(function() {
|
|||
$('.upload_container').hide("fast");
|
||||
});
|
||||
|
||||
// ---- Ouvrir la popup d'upload
|
||||
// ---- Ouvrir la popup de mode d'ajout
|
||||
$('.action_add_media').on('click',function(event){
|
||||
event.preventDefault();
|
||||
if($(window).data('currentFolder') >=0){
|
||||
$('.upload_container').show("fast");
|
||||
$("#form_select_add_media").fancybox({type : 'inline', opts : { animationDuration : 350, animationEffect : 'material'}}).trigger("click");
|
||||
|
||||
}else{
|
||||
$.fancyMessage({title : "Ajout de média", message : "Pour ajouter des médias, veuillez d'abord sélectionner un dossier de destination.", type : "error"});
|
||||
}
|
||||
});
|
||||
|
||||
// ---- Ouvrir la popup d'upload
|
||||
$('.add_media_by_upload').on('click',function(event){
|
||||
event.preventDefault();
|
||||
$.fancybox.close();
|
||||
$('.upload_container').show("fast");
|
||||
maxFiles = 100;
|
||||
replaceMediaId = 0;
|
||||
});
|
||||
|
||||
// ---- Ajoute un élément sans média
|
||||
$('.add_media_without_file').on('click',function(event){
|
||||
event.preventDefault();
|
||||
$.fancybox.close();
|
||||
$.ajax({
|
||||
url: '/ajax/add-media',
|
||||
method: 'POST',
|
||||
dataType : 'json',
|
||||
data: {
|
||||
dossier_id : $(window).data('currentFolder'),
|
||||
sujet_id: $("#sujet_selector").val(),
|
||||
},
|
||||
success: function(result){
|
||||
//---- Chargement des médias
|
||||
var currentFolder = $(window).data('currentFolder');
|
||||
if(currentFolder == 0 || currentFolder == ""){
|
||||
var count = $(".folder_container .root_folder .count");
|
||||
}else{
|
||||
var count = $(".folder_container .dd3-item[data-id='"+currentFolder+"'] > .dd3-content .count");
|
||||
}
|
||||
count.html(parseInt(count.html())+1);
|
||||
|
||||
$(".reinit_search_btn").trigger("click");
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
$(".folder_container .loader").hide();
|
||||
$.fancyMessage({title : "Attention", message : "Erreur lors de la création du média. Merci d'actualiser la page.", type : "error"});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// ---- Initialisation du module d'upload
|
||||
if($('#fileupload').length){
|
||||
$.ajaxSetup({
|
||||
|
|
@ -1182,6 +1239,9 @@ $(document).ready(function() {
|
|||
$.fancyMessage({title : "Ajout de média", message : "Pour ajouter des médias, veuillez d'abord sélectionner un dossier de destination.", type : "error"});
|
||||
return false;
|
||||
}
|
||||
if(counter ==0){
|
||||
return false;
|
||||
}
|
||||
$("#submit").html('<i class="fal fa-circle-notch fa-spin"></i> Transférer');
|
||||
$("#submit").css("pointer-events", "none");
|
||||
$("#upload_errors").html("");
|
||||
|
|
@ -1200,6 +1260,7 @@ $(document).ready(function() {
|
|||
var currentfiles = [];
|
||||
var maxFiles = 100;
|
||||
var counter = 0;
|
||||
var replaceMediaId = 0;
|
||||
$('#fileupload').fileupload({
|
||||
url: "/ajax/upload-media",
|
||||
dataType: 'json',
|
||||
|
|
@ -1214,7 +1275,7 @@ $(document).ready(function() {
|
|||
if(counter < maxFiles){
|
||||
counter++;
|
||||
}else{
|
||||
$.fancyMessage({title : "Attention", message : "Vous ne pouvez pas ajouter plus de "+maxFiles+" fichiers", type : "info"});
|
||||
$.fancyMessage({title : "Attention", message : "Vous ne pouvez pas ajouter plus de "+maxFiles+" fichier(s)", type : "info"});
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
@ -1256,6 +1317,7 @@ $(document).ready(function() {
|
|||
uid: create_UUID(),
|
||||
sujet_id: $("#sujet_selector").val(),
|
||||
dossier_id: $(window).data('currentFolder'),
|
||||
replaceMediaId: replaceMediaId,
|
||||
};
|
||||
data.submit();
|
||||
})
|
||||
|
|
@ -1296,6 +1358,11 @@ $(document).ready(function() {
|
|||
$(".reinit_search_btn").trigger("click");
|
||||
$("#submit").html('Transférer');
|
||||
$("#submit").css("pointer-events", "auto");
|
||||
|
||||
if(replaceMediaId != 0){
|
||||
// Fermeture de la popin d'édition de média
|
||||
$(".form_media_close, .btn_tab_edit_cancel").trigger('click');
|
||||
}
|
||||
},
|
||||
fail: function (e, data) {
|
||||
$.each(data.files, function (index, file) {
|
||||
|
|
|
|||
177
resources/js/panier.js
vendored
177
resources/js/panier.js
vendored
|
|
@ -1,5 +1,8 @@
|
|||
$(document).ready(function() {
|
||||
|
||||
/***************************
|
||||
Widget panier
|
||||
*****************************/
|
||||
if ( $( ".panier_side_menu" ).length ) {
|
||||
|
||||
// ---- collapse/expand panier side menu
|
||||
|
|
@ -63,13 +66,126 @@ $(document).ready(function() {
|
|||
|
||||
});
|
||||
|
||||
// ---- Ajout un nouveau panier
|
||||
// ---- Aller au panier
|
||||
$('.panier_side_menu .goto_panier').on('click',function(event){
|
||||
event.preventDefault();
|
||||
$(".panier_side_menu .panier_menu").hide();
|
||||
window.location.href = $(this).attr("data-url")+"?p="+$(window).data('currentBasket');
|
||||
});
|
||||
|
||||
// ---- Supprimer le panier
|
||||
$('.panier_side_menu .remove_panier').on('click',function(event){
|
||||
event.preventDefault();
|
||||
if($(window).data('currentBasket') == 0){
|
||||
$.fancyMessage({title : "Suppression de panier", message : "Veuillez sélectionner un panier à supprimer.", type : "info"});
|
||||
}
|
||||
|
||||
$.fancyConfirm({
|
||||
title : "Suppression de panier",
|
||||
message : "Êtes-vous sûr de vouloir supprimer ce panier ?",
|
||||
okButton : 'Supprimer',
|
||||
noButton : 'Annuler',
|
||||
callback : function (value) {
|
||||
if (value) {
|
||||
// sauvegarde de l'image en base
|
||||
$.ajax({
|
||||
url: '/ajax/remove-basket',
|
||||
method: 'POST',
|
||||
dataType : 'json',
|
||||
data: {
|
||||
basket_id: $(window).data('currentBasket'),
|
||||
},
|
||||
success: function(result){
|
||||
$("#panier_selector option[value='"+$(window).data('currentBasket')+"']").remove();
|
||||
$("#panier_selector").val($("#panier_selector option:first").val());
|
||||
$("#panier_selector").trigger("change");
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
$.fancybox.close();
|
||||
$.fancyMessage({title : "Suppression de panier", message : "Erreur lors de la suppression, merci d'actualiser la page.", type : "error"});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// ---- Propriétés d'un panier
|
||||
$('.panier_side_menu .info_panier').on('click',function(event){
|
||||
event.preventDefault();
|
||||
|
||||
if($(window).data('currentBasket') == 0){
|
||||
$.fancyMessage({title : "Propriétés du panier", message : "Veuillez sélectionner un panier.", type : "info"});
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url: '/ajax/get-basket',
|
||||
method: 'POST',
|
||||
dataType : 'json',
|
||||
data: {
|
||||
basket_id : $(window).data('currentBasket'),
|
||||
},
|
||||
success: function(result){
|
||||
if(result){
|
||||
var basket = result.basket;
|
||||
$.fancybox.open({
|
||||
src : '#form_basket_property',
|
||||
type : 'inline',
|
||||
opts : {
|
||||
animationDuration : 350,
|
||||
animationEffect : 'material',
|
||||
beforeShow : function( instance, current ) {
|
||||
var date = new Date(basket.created_at);
|
||||
$(".form_basket_datecreate").html(date.toLocaleDateString('fr-FR', {'hour': '2-digit', 'minute': '2-digit'} ));
|
||||
$(".form_basket_libelle").val(basket.libelle);
|
||||
$(".form_basket_description").val(basket.description);
|
||||
$(".form_basket_statut").val(basket.statut);
|
||||
$(".form_basket_link").val(result.link);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
$.fancybox.close();
|
||||
$.fancyMessage({title : "Attention", message : "Erreur lors de la suppression du média, merci d'actualiser la page.", type : "error"});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// ---- enregistre les propriétés d'un panier
|
||||
$("html").on('click', '.form_basket_save', function(event) {
|
||||
event.preventDefault();
|
||||
var libelle = $(".form_basket_libelle").val();
|
||||
if(libelle == ""){
|
||||
$.fancyMessage({title : "Propriétés d'un dossier", message : "Vous devez indiquer un nom de panier.", type : "error"});
|
||||
return false;
|
||||
}
|
||||
|
||||
$(".form_basket_save").addClass('loading');
|
||||
$.ajax({
|
||||
url: '/ajax/save-basket-property',
|
||||
method: 'POST',
|
||||
dataType : 'json',
|
||||
data: {
|
||||
basket_id: $(window).data('currentBasket'),
|
||||
libelle: libelle,
|
||||
description: $(".form_basket_description").val(),
|
||||
statut: $(".form_basket_statut").val(),
|
||||
},
|
||||
success: function(result){
|
||||
$(".form_basket_save").removeClass('loading');
|
||||
$("#panier_selector option[value='"+$(window).data('currentBasket')+"']").text(result.libelle);
|
||||
$.fancybox.close();
|
||||
},
|
||||
error: function(jqXHR, textStatus, errorThrown) {
|
||||
$(".form_basket_save").removeClass('loading');
|
||||
$.fancybox.close();
|
||||
$.fancyMessage({title : "Attention", message : "Erreur lors de l'édition du panier, merci d'actualiser la page.", type : "error"});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// ---- Supprimer un média du panier
|
||||
$('.panier_content').on('click', ".imageItem .media_remove_basket",function(event){
|
||||
event.preventDefault();
|
||||
|
|
@ -160,6 +276,65 @@ $(document).ready(function() {
|
|||
|
||||
|
||||
}
|
||||
|
||||
/****************************************
|
||||
Page publique des paniers
|
||||
*****************************************/
|
||||
if ( $( ".public_basket" ).length ) {
|
||||
|
||||
|
||||
// ---- Aperçu des médias du panier
|
||||
$(".public_basket ").on("dblclick", '.imageItem' , function(event) {
|
||||
var imgPreview = $(this).attr('data-preview')+'?t='+ new Date().getTime();
|
||||
|
||||
if($(this).attr('data-typemedia') == 1|| $(this).attr('data-typemedia') == 2){ // image
|
||||
$.fancybox.open('<img style="width: 640px; height:auto;" src="'+imgPreview+'" alt="" />');
|
||||
}else if ($(this).attr('data-typemedia') == 3) { // vidéo
|
||||
$.fancybox.open('<video src="'+$(this).attr('data-src')+'" controls></video>');
|
||||
}else if ($(this).attr('data-typemedia') == 4) { // Audio
|
||||
$.fancybox.open('<audio controls src="'+$(this).attr('data-src')+'"></audio>');
|
||||
}
|
||||
});
|
||||
|
||||
// ---- Propriétés d'un panier
|
||||
$('.public_basket .btn_basket_Info').on('click',function(event){
|
||||
event.preventDefault();
|
||||
$.fancybox.open({
|
||||
src : '#form_basket_property',
|
||||
type : 'inline',
|
||||
opts : {
|
||||
animationDuration : 350,
|
||||
animationEffect : 'material',
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// ---- Popup pour télécharger des médias en masse
|
||||
$('.public_basket .btn_basket_download').on('click',function(event){
|
||||
event.preventDefault();
|
||||
var medias = [];
|
||||
$('.media_container .imageItem').each(function (index) {
|
||||
if( $(this ).attr("aria-grabbed") == "true" ){
|
||||
medias.push($(this ).attr("data-id"));
|
||||
}
|
||||
});
|
||||
|
||||
if(medias.length == 0){
|
||||
$.fancyMessage({title : "Télécharger des médias", message : "Veuillez sélectionner au moins un média.", type : "info"});
|
||||
}else{
|
||||
$("#form_download").fancybox({
|
||||
type : 'inline',
|
||||
opts : {
|
||||
animationDuration : 350,
|
||||
animationEffect : 'material',
|
||||
},
|
||||
beforeShow : function() {
|
||||
$("#form_download .medias").val(medias.join());
|
||||
}
|
||||
}).trigger("click");
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
|
|
|||
1
resources/sass/app.scss
vendored
1
resources/sass/app.scss
vendored
|
|
@ -15,4 +15,5 @@
|
|||
'partials/common.scss',
|
||||
'partials/form.scss',
|
||||
'partials/media.scss',
|
||||
'partials/panier.scss',
|
||||
'partials/user.scss';
|
||||
|
|
|
|||
83
resources/sass/partials/common.scss
vendored
83
resources/sass/partials/common.scss
vendored
|
|
@ -268,6 +268,49 @@
|
|||
}
|
||||
}
|
||||
|
||||
#form_basket_property{
|
||||
padding: 30px;
|
||||
min-width: 550px;
|
||||
|
||||
h3{
|
||||
font-size: 14px;
|
||||
margin-bottom: 12px;
|
||||
font-weight: bold;
|
||||
color: $white;
|
||||
}
|
||||
hr{
|
||||
color: #24272e;
|
||||
border-bottom: 1px solid #2c2f36;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
p.button_bar{
|
||||
text-align: right;
|
||||
margin: 0;
|
||||
}
|
||||
select, input, textarea{
|
||||
width: 100%;
|
||||
}
|
||||
textarea{
|
||||
min-height: 200px;
|
||||
}
|
||||
.btn{
|
||||
margin-right: 10px;
|
||||
}
|
||||
.form_basket_save {
|
||||
.fa-spinner-third{
|
||||
display: none;
|
||||
}
|
||||
&.loading{
|
||||
.fa-spinner-third{
|
||||
display: inline-block;
|
||||
}
|
||||
.fa-share{
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#form_etiquette{
|
||||
padding: 30px;
|
||||
min-width: 340px;
|
||||
|
|
@ -333,6 +376,46 @@
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
#form_select_add_media{
|
||||
padding: 30px;
|
||||
min-width: 340px;
|
||||
|
||||
h3{
|
||||
font-size: 14px;
|
||||
margin-bottom: 12px;
|
||||
font-weight: bold;
|
||||
color: $white;
|
||||
}
|
||||
hr{
|
||||
color: #24272e;
|
||||
border-bottom: 1px solid #2c2f36;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.content{
|
||||
margin: 10px 0;
|
||||
|
||||
a{
|
||||
display: block;
|
||||
color: $white;
|
||||
border-radius: 5px;
|
||||
border: 1px solid $white;
|
||||
padding: 15px 15px;
|
||||
margin-bottom: 5px;
|
||||
font-size: 15px;
|
||||
transition: background-color 200ms ease-in;
|
||||
|
||||
i{
|
||||
margin-right: 10px;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
&:hover{
|
||||
background-color: $blue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/******************************************
|
||||
TEMPLATE
|
||||
******************************************/
|
||||
|
|
|
|||
2
resources/sass/partials/form.scss
vendored
2
resources/sass/partials/form.scss
vendored
|
|
@ -7,7 +7,7 @@ p{
|
|||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
input[type="text"], input[type="number"], input[type="password"], , input[type="email"], input[type="url"], select{
|
||||
input[type="text"], input[type="number"], input[type="password"], input[type="date"] , input[type="email"], input[type="url"], select{
|
||||
border-radius: 3px;
|
||||
padding: 5px 10px;
|
||||
border: none;
|
||||
|
|
|
|||
16
resources/sass/partials/media.scss
vendored
16
resources/sass/partials/media.scss
vendored
|
|
@ -44,7 +44,7 @@
|
|||
padding: 9px;
|
||||
min-width: 163px;
|
||||
transform: translateX(-50%);
|
||||
z-index: 1;
|
||||
z-index: 2;
|
||||
|
||||
&.list_etiquette li label{
|
||||
color: $white;
|
||||
|
|
@ -617,7 +617,7 @@
|
|||
position: absolute;
|
||||
display: none;
|
||||
background-color: $grey3;
|
||||
z-index: 1;
|
||||
z-index: 2;
|
||||
right: 12px;
|
||||
top: 48px;
|
||||
|
||||
|
|
@ -740,7 +740,7 @@
|
|||
height: 100%;
|
||||
background-color: $grey3;
|
||||
position: absolute;
|
||||
z-index: 99990;
|
||||
z-index: 99;
|
||||
left: 0;
|
||||
top: 0;
|
||||
|
||||
|
|
@ -793,16 +793,18 @@
|
|||
z-index: 1;
|
||||
}
|
||||
}
|
||||
.form_media_download{
|
||||
.form_media_download, .form_media_replace{
|
||||
float: right;
|
||||
font-size: 18px;
|
||||
font-size: 26px;
|
||||
margin-right: 5px;
|
||||
position: relative;
|
||||
padding: 12px;
|
||||
padding: 8px;
|
||||
border: none;
|
||||
color: $white;
|
||||
|
||||
&:hover{
|
||||
background-color: transparent;
|
||||
color: $white;
|
||||
color: $grey2;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
262
resources/sass/partials/panier.scss
vendored
Normal file
262
resources/sass/partials/panier.scss
vendored
Normal file
|
|
@ -0,0 +1,262 @@
|
|||
/*********************
|
||||
Widget Panier
|
||||
**********************/
|
||||
|
||||
.panier_manager{
|
||||
.side_menu{
|
||||
header{
|
||||
padding: 13px;
|
||||
|
||||
h1{
|
||||
font-size: 18px;
|
||||
margin: 20px 0;
|
||||
}
|
||||
p{
|
||||
color: white;
|
||||
font-size: 14px;
|
||||
}
|
||||
}
|
||||
.form_search_basket{
|
||||
|
||||
}
|
||||
}
|
||||
.main_content{
|
||||
|
||||
.panier_list{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.panier_item{
|
||||
display: inline-block;
|
||||
border: 1px solid grey;
|
||||
width: 202px;
|
||||
margin: 8px 10px;
|
||||
background-color: $grey3;
|
||||
transition: 0.3s ease-in-out;
|
||||
position: relative;
|
||||
padding-bottom: 25px;
|
||||
height: 200px;
|
||||
background-size: cover;
|
||||
background-position: center;
|
||||
cursor: pointer;
|
||||
|
||||
&::before{
|
||||
content: '';
|
||||
background-color: rgba(255,255,255,0.6);
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
left: 3px;
|
||||
top: 3px;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
&::after{
|
||||
content: '';
|
||||
background-color: rgba(255,255,255,0.3);
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.title{
|
||||
position: absolute;
|
||||
top: 0;
|
||||
z-index: 2;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 5px;
|
||||
|
||||
i{
|
||||
color: $yellow;
|
||||
margin-right: 10px;
|
||||
}
|
||||
p{
|
||||
margin: 0;
|
||||
color: black;
|
||||
}
|
||||
}
|
||||
.bar{
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
padding: 4px;
|
||||
font-size: 11px;
|
||||
z-index: 2;
|
||||
text-align: right;
|
||||
width: 100%;
|
||||
padding: 3px 8px;
|
||||
|
||||
.action_delete_basket{
|
||||
color: black;
|
||||
margin-right: 6px;
|
||||
font-size: 16px;
|
||||
}
|
||||
.count{
|
||||
background-color: $lightorange;
|
||||
color: $white;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
padding: 5px 6px;
|
||||
border-radius: 10px;
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/********************************
|
||||
Page publique d'un panier
|
||||
*********************************/
|
||||
|
||||
.public_basket{
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
|
||||
.main_content{
|
||||
height: 100%;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
|
||||
header{
|
||||
height: 48px;
|
||||
background-color: $grey;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
|
||||
.basket_title{
|
||||
margin-left: 10px;
|
||||
font-size: 17px;
|
||||
}
|
||||
.basket_Info{
|
||||
margin-right: 10px;
|
||||
font-size: 27px;
|
||||
|
||||
a{
|
||||
margin-right: 5px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.media_container{
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
scrollbar-color: #272626 #1a1a1a;
|
||||
position: relative;
|
||||
height: calc(100% - 48px);
|
||||
|
||||
.wrapper{
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
|
||||
.imageItem{
|
||||
display: inline-block;
|
||||
border: 1px solid grey;
|
||||
width: 202px;
|
||||
margin: 8px 10px;
|
||||
background-color: $grey3;
|
||||
transition: 0.3s ease-in-out;
|
||||
position: relative;
|
||||
padding-bottom: 25px;
|
||||
cursor: pointer;
|
||||
|
||||
.media{
|
||||
height: 200px;
|
||||
background-size: contain;
|
||||
background-repeat: no-repeat;
|
||||
background-position: center;
|
||||
position: relative;
|
||||
|
||||
&::before {
|
||||
transform: translate(-50%,-50%);
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
text-align: center;
|
||||
text-indent: 0;
|
||||
color: $white;
|
||||
font-size: 59px;
|
||||
z-index: 1;
|
||||
}
|
||||
&.video{
|
||||
&::before {
|
||||
content: "\f167";
|
||||
font-family: "Font Awesome 5 Brands";
|
||||
|
||||
}
|
||||
}
|
||||
&.son{
|
||||
&::before {
|
||||
content: "\f58f";
|
||||
font-family: "Font Awesome 5 Pro";
|
||||
font-weight: 900;
|
||||
|
||||
}
|
||||
}
|
||||
&.doc{
|
||||
&::before {
|
||||
content: "\f15c";
|
||||
font-family: "Font Awesome 5 Pro";
|
||||
font-weight: 900;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
.libelle{
|
||||
padding: 4px;
|
||||
text-align: center;
|
||||
color: $white;
|
||||
margin: 0;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
.info{
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
padding: 4px;
|
||||
font-size: 11px;
|
||||
i{
|
||||
margin-right: 7px;
|
||||
}
|
||||
}
|
||||
|
||||
&[aria-grabbed="true"] {
|
||||
&::before {
|
||||
content: "\f058";
|
||||
font-family: "Font Awesome 5 Pro";
|
||||
font-weight: 900;
|
||||
display: block;
|
||||
position: absolute;
|
||||
left: 5px;
|
||||
top: 5px;
|
||||
text-align: center;
|
||||
text-indent: 0;
|
||||
color: $lightblue;
|
||||
font-size: 25px;
|
||||
z-index: 2;
|
||||
}
|
||||
&::after {
|
||||
content: "";
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0,0,0,0.5);
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
&:hover{
|
||||
background-color: $grey;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -37,6 +37,7 @@
|
|||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
<!--
|
||||
<div class="item">
|
||||
<header>
|
||||
Mes paniers favoris
|
||||
|
|
@ -47,6 +48,7 @@
|
|||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
</main>
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<i class="fas fa-home"></i>
|
||||
</a>
|
||||
<a href="{{ route('media_manager') }}" class="{{(Route::currentRouteName() == 'media_manager') ? 'active' : '' }}">
|
||||
<i class="fas fa-images"></i> Gestion des média
|
||||
<i class="fas fa-images"></i> Gestion des médias
|
||||
</a>
|
||||
<!--
|
||||
<a href="{{ route('paniers') }}" class="{{(Route::currentRouteName() == 'paniers') ? 'active' : '' }}">
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@
|
|||
<a href="#" class="tabbtn form_media_history" data-tab="4">Historique</a>
|
||||
|
||||
<a href="#" class="form_media_close"><i class="fal fa-times"></i></a>
|
||||
<a href="#" class="form_media_download" title="Télécharger ce média"><i class="fas fa-arrow-circle-down"></i></a>
|
||||
<a href="#" class="form_media_download" title="Téléchargez ce média"><i class="fas fa-arrow-circle-down"></i></a>
|
||||
<a href="#" class="form_media_replace" title="Chargez un autre média"><i class="fas fa-file-upload"></i></a>
|
||||
</header>
|
||||
<div class="main_content">
|
||||
<div class="tab tab_preview active"></div>
|
||||
|
|
@ -82,7 +83,7 @@
|
|||
</div>
|
||||
<div class="row">
|
||||
<label for="published_at">Date de publication</label>
|
||||
<input type="text" id="published_at" name="published_at" readonly >
|
||||
<input type="date" id="published_at" name="published_at" >
|
||||
</div>
|
||||
<div class="row">
|
||||
<label for="statut">Statut</label>
|
||||
|
|
|
|||
|
|
@ -132,8 +132,13 @@
|
|||
<a id="menu_panier" href="#" class="btn btn-square"><i class="far fa-bars"></i></a>
|
||||
<div class="panier_menu">
|
||||
<ul class="menu-options">
|
||||
<!--
|
||||
<li class="menu-option goto_panier" data-url="{{ route('paniers') }}">Aller au panier</li>
|
||||
-->
|
||||
<li class="menu-option add_panier" >Nouveau panier</li>
|
||||
<li class="menu-option info_panier" >Propiétés du panier</li>
|
||||
<li class="menu-option remove_panier" >Supprimer ce panier</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</header>
|
||||
|
|
@ -143,7 +148,7 @@
|
|||
</div>
|
||||
</main>
|
||||
|
||||
<div id="form_folder_property" style="display: none;" data-id="" >
|
||||
<div id="form_folder_property" style="display: none;">
|
||||
<h3>Propriétés du dossier</h3>
|
||||
<hr/>
|
||||
<p><input required type="text" class="form_folder_libelle" value="" maxlength="100" minlength="4" placeholder="Libellé du dossier" /></p>
|
||||
|
|
@ -155,6 +160,27 @@
|
|||
</p>
|
||||
</div>
|
||||
|
||||
<div id="form_basket_property" style="display: none;" data-id="" >
|
||||
<h3>Propriétés du panier</h3>
|
||||
<hr/>
|
||||
<p><input required type="text" class="form_basket_libelle" value="" maxlength="100" minlength="4" placeholder="Libellé du panier" /></p>
|
||||
<p><textarea class="form_basket_description" placeholder="Description du panier"></textarea></p>
|
||||
<p>Lien direct vers le panier : </p>
|
||||
<p><input required type="text" class="form_basket_link" value="" readonly /></p>
|
||||
<p>Ce lien est public. Toute personne disposant de ce lien pourra accéder au panier.</p>
|
||||
<p>Statut :</p>
|
||||
<p><select class="form_basket_statut" name="">
|
||||
<option value="0">Désactivé</option>
|
||||
<option value="1">Activé</option>
|
||||
</select>
|
||||
</p>
|
||||
<p>Créé le : <span class="form_basket_datecreate"></span></p>
|
||||
<hr/>
|
||||
<p class="button_bar">
|
||||
<a href="#" class="btn form_basket_save btn-square"><i class="fal fa-spinner-third fa-spin"></i><i class="fas fa-share"></i> Enregistrer</a><a href="#" class="btn close_popup btn-black btn-square">Fermer</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="form_etiquette" style="display: none;" data-id="" >
|
||||
<h3>Appliquez une étiquette</h3>
|
||||
<hr/>
|
||||
|
|
@ -165,6 +191,19 @@
|
|||
</ul>
|
||||
</div>
|
||||
|
||||
<div id="form_select_add_media" style="display: none;" >
|
||||
<h3>Ajouter des médias</h3>
|
||||
<hr/>
|
||||
<div class="content">
|
||||
<a class="add_media_by_upload" href="#"><i class="fas fa-file-upload"></i> Téléversez des éléments</a>
|
||||
<a class="add_media_without_file" href="#"><i class="fas fa-file"></i> Ajouter un élément sans média</a>
|
||||
</div>
|
||||
<hr/>
|
||||
<p class="button_bar">
|
||||
<a href="#" class="btn close_popup btn-black btn-square">Fermer</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div id="form_download" style="display: none;" data-id="" >
|
||||
<h3>Téléchargez</h3>
|
||||
<hr/>
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
@extends('layouts.app')
|
||||
@include('layouts.header')
|
||||
@section('content')
|
||||
<main class="paniers template_2col">
|
||||
<main class="panier_manager template_2col">
|
||||
<div class="side_menu">
|
||||
<header>
|
||||
<h1><i class="fas fa-shopping-cart"></i> Gestion des paniers</h1>
|
||||
<p>Créez des sélections d'éléments et partagez les avec d'autres utilisateurs.</p>
|
||||
<hr>
|
||||
</header>
|
||||
<hr>
|
||||
<form class="form_search_basket" action="#" method="post">
|
||||
<div class="row">
|
||||
<label for="recherche">Recherche</label>
|
||||
|
|
@ -41,72 +41,18 @@
|
|||
<hr>
|
||||
</div>
|
||||
<div class="panier_list">
|
||||
<div class="panier_item">
|
||||
<div class="title">
|
||||
<i class="fas fa-star"></i>
|
||||
<p>Panier du 29/07/2019</p>
|
||||
@foreach ($paniers as $panier)
|
||||
<div class="panier_item" data-id="{{$panier->id}}" style="background-image:url({{$panier->mediacover}})">
|
||||
<div class="title">
|
||||
<i class="fas fa-star"></i>
|
||||
<p>{{$panier->libelle}}</p>
|
||||
</div>
|
||||
<div class="bar">
|
||||
<a href="#" class="action_delete_basket" alt="Supprimez ce panier"><i class="fas fa-trash-alt"></i></a>
|
||||
<span class="count">{{$panier->mediacount}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="media" style="background-image:url(medias/5d2f2559ed5df/a3e47a74-f34b-4ed7-b26b-51282bf2c2db_thumb.png)"></div>
|
||||
<div class="bar">
|
||||
<a href="#" class="action_delete_basket"><i class="fas fa-trash-alt"></i></a>
|
||||
<span class="count"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panier_item">
|
||||
<div class="title">
|
||||
<i class="fas fa-star"></i>
|
||||
<p>Panier du 29/07/2019</p>
|
||||
</div>
|
||||
<div class="media" style="background-image:url(medias/5d2f2559ed5df/a3e47a74-f34b-4ed7-b26b-51282bf2c2db_thumb.png)"></div>
|
||||
<div class="bar">
|
||||
<a href="#" class="action_delete_basket"><i class="fas fa-trash-alt"></i></a>
|
||||
<span class="count"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panier_item">
|
||||
<div class="title">
|
||||
<i class="fas fa-star"></i>
|
||||
<p>Panier du 29/07/2019</p>
|
||||
</div>
|
||||
<div class="media" style="background-image:url(medias/5d2f2559ed5df/a3e47a74-f34b-4ed7-b26b-51282bf2c2db_thumb.png)"></div>
|
||||
<div class="bar">
|
||||
<a href="#" class="action_delete_basket"><i class="fas fa-trash-alt"></i></a>
|
||||
<span class="count"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panier_item">
|
||||
<div class="title">
|
||||
<i class="fas fa-star"></i>
|
||||
<p>Panier du 29/07/2019</p>
|
||||
</div>
|
||||
<div class="media" style="background-image:url(medias/5d2f2559ed5df/a3e47a74-f34b-4ed7-b26b-51282bf2c2db_thumb.png)"></div>
|
||||
<div class="bar">
|
||||
<a href="#" class="action_delete_basket"><i class="fas fa-trash-alt"></i></a>
|
||||
<span class="count"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panier_item">
|
||||
<div class="title">
|
||||
<i class="fas fa-star"></i>
|
||||
<p>Panier du 29/07/2019</p>
|
||||
</div>
|
||||
<div class="media" style="background-image:url(medias/5d2f2559ed5df/a3e47a74-f34b-4ed7-b26b-51282bf2c2db_thumb.png)"></div>
|
||||
<div class="bar">
|
||||
<a href="#" class="action_delete_basket"><i class="fas fa-trash-alt"></i></a>
|
||||
<span class="count"></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="panier_item">
|
||||
<div class="title">
|
||||
<i class="fas fa-star"></i>
|
||||
<p>Panier du 29/07/2019</p>
|
||||
</div>
|
||||
<div class="media" style="background-image:url(medias/5d2f2559ed5df/a3e47a74-f34b-4ed7-b26b-51282bf2c2db_thumb.png)"></div>
|
||||
<div class="bar">
|
||||
<a href="#" class="action_delete_basket"><i class="fas fa-trash-alt"></i></a>
|
||||
<span class="count"></span>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
|
|
|||
97
resources/views/panier/show.blade.php
Normal file
97
resources/views/panier/show.blade.php
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
@extends('layouts.app')
|
||||
|
||||
@section('content')
|
||||
<main class="public_basket ">
|
||||
<div class="main_content">
|
||||
<header>
|
||||
<div class="basket_title">
|
||||
{{ $panier->libelle }}
|
||||
</div>
|
||||
<div class="basket_Info">
|
||||
<a href="#" class="btn_basket_download" title="Téléchargez des médias"><i class="fas fa-arrow-circle-down"></i></a>
|
||||
<a class="btn_basket_Info"title="Informations sur ce panier" href="#"><i class="fas fa-info-circle"></i></a>
|
||||
</div>
|
||||
</header>
|
||||
<div class="media_container">
|
||||
<div class="wrapper">
|
||||
@foreach ($panier->medias as $media )
|
||||
@php
|
||||
$ico = "";
|
||||
$detail = "";
|
||||
$statut = "";
|
||||
$itemClass = "";
|
||||
$thumb = "";
|
||||
$preview = "";
|
||||
switch ($media->typemedia_id) {
|
||||
case 1:
|
||||
$ico = '<i class="fas fa-file-image"></i>';
|
||||
$detail = " - ".$media->largeur."x".$media->hauteur."px";
|
||||
if($media->extension == "pdf" || $media->extension == "ai" || $media->extension == "psd"){
|
||||
$thumb = "/".$media->folder.$media->uid."_thumb.png";
|
||||
$preview = "/".$media->folder.$media->uid."_preview.png";
|
||||
}else{
|
||||
$thumb = "/".$media->folder.$media->uid."_thumb.".$media->extension;
|
||||
$preview = "/".$media->folder.$media->uid."_preview.".$media->extension;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
$ico = '<i class="fas fa-file-image"></i>';
|
||||
$thumb = "/".$media->folder+$media->uid.".".$media->extension;
|
||||
$preview = "/".$media->folder+$media->uid.".".$media->extension;
|
||||
break;
|
||||
case 3:
|
||||
$ico = '<i class="fas fa-file-video"></i>';
|
||||
$detail = " - durée ".$media->duree;
|
||||
$itemClass = "video";
|
||||
break;
|
||||
case 4:
|
||||
$ico = '<i class="fas fa-file-audio"></i>';
|
||||
$detail = " - durée ".$media->duree;
|
||||
$itemClass = "son";
|
||||
break;
|
||||
default:
|
||||
}
|
||||
@endphp
|
||||
<div class="imageItem" data-id="{{ $media->id }}" data-ext="{{ $media->extension }}" data-typemedia="{{ $media->typemedia_id }}" data-preview="{{$preview}}" data-src="{{ "/".$media->folder.$media->uid.".".$media->extension }}" draggable="false" aria-grabbed="false">
|
||||
<div class="media {{ $itemClass }}" style="background-image:url({{ $thumb }})"></div>
|
||||
<p class="libelle ">{{ $media->libelle }}</p>
|
||||
<div class="info">{!! $ico !!}{{ $media->extension." - ".$media->taille.$detail." - v".$media->version }}</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
|
||||
|
||||
<div id="form_download" style="display: none;" data-id="" >
|
||||
<h3>Téléchargez</h3>
|
||||
<hr/>
|
||||
<p>Sélectionnez l'un des formats ci-dessous pour télécharger votre sélection.</p>
|
||||
<form id="the_form_download" target="_blank" action="{{ route('downloadMedia') }}" method="post">
|
||||
{{csrf_field()}}
|
||||
<select class="download_format" name="format">$formats
|
||||
<option value="0">Format original</option>
|
||||
@foreach ($formats as $format)
|
||||
<option value="{{$format->id }}">{{"Vignette ".$format->extension." ".strtoupper($format->libelle)." (".$format->largeur."px)" }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<input class="medias" type="hidden" name="medias" value="">
|
||||
<button type="submit" class="btn btn_form_download ml-10"><i class="fas fa-arrow-circle-down"></i> Télécharger</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="form_basket_property" style="display: none;" data-id="" >
|
||||
<h3>Informations sur ce panier</h3>
|
||||
<hr/>
|
||||
<p>Libellé : {{ $panier->libelle }}</p>
|
||||
<p>Description :</p>
|
||||
<p>{{ $panier->description }}</p>
|
||||
<p>Créé le : {{ $panier->created_at }}</p>
|
||||
<hr/>
|
||||
<p class="button_bar">
|
||||
<a href="#" class="btn close_popup btn-black btn-square">Fermer</a>
|
||||
</p>
|
||||
</div>
|
||||
@endsection
|
||||
|
|
@ -42,6 +42,7 @@ Route::group(['middleware' => ['auth']], function(){
|
|||
Route::post('/ajax/get-article', 'MediaController@getArticle');
|
||||
Route::post('/ajax/download-media', 'MediaController@downloadMedia')->name('downloadMedia');
|
||||
Route::post('/ajax/get-media-history', 'MediaController@getMediaHistory');
|
||||
Route::post('/ajax/add-media', 'MediaController@addMedia');
|
||||
|
||||
// Ajax pour la gestion des panier
|
||||
Route::post('/ajax/add-media-basket', 'PanierController@addMediasBasket');
|
||||
|
|
@ -49,6 +50,9 @@ Route::group(['middleware' => ['auth']], function(){
|
|||
Route::post('/ajax/load-basket', 'PanierController@loadBasket');
|
||||
Route::post('/ajax/add-basket', 'PanierController@addBasket');
|
||||
Route::post('/ajax/favoris-basket', 'UserController@favorisBasket');
|
||||
Route::post('/ajax/remove-basket', 'PanierController@removeBasket');
|
||||
Route::post('/ajax/get-basket', 'PanierController@getBasket');
|
||||
Route::post('/ajax/save-basket-property', 'PanierController@saveBasketProperty');
|
||||
|
||||
// Back office
|
||||
Route::resource('user', 'UserController');
|
||||
|
|
@ -70,3 +74,6 @@ Auth::routes([
|
|||
|
||||
// Ajax pour la gestion de l'upload de média
|
||||
Route::post('/ajax/upload-media', 'UploadController@storeMedia');
|
||||
|
||||
// Les pages Front panier public
|
||||
Route::get('/basket/{basket_uid}', 'PanierController@showBasket');
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue