Esempio n. 1
0
function afficher_form_fichier($erreurs, $fichiers, $what)
{
    // ajout d’un fichier
    $max_file_size = taille_formate(min(return_bytes(ini_get('upload_max_filesize')), return_bytes(ini_get('post_max_size'))));
    $max_file_nb = ini_get('max_file_uploads');
    if ($erreurs) {
        echo erreurs($erreurs);
    }
    $form = '<form id="form-image" class="bordered-formbloc" enctype="multipart/form-data" method="post" action="' . basename($_SERVER['PHP_SELF']) . '" onsubmit="submitdnd(event);">' . "\n";
    if (empty($fichiers)) {
        // si PAS fichier donnée : formulaire nouvel envoi.
        $form .= '<fieldset class="pref" >' . "\n";
        $form .= '<div id="form-dragndrop">' . "\n";
        $form .= '<div id="dragndrop-area" ondragover="event.preventDefault();" ondrop="handleDrop(event);" >' . "\n";
        $form .= "\t" . '<div id="dragndrop-title">' . "\n";
        $form .= "\t\t" . $GLOBALS['lang']['img_drop_files_here'] . "\n";
        $form .= "\t\t" . '<div class="upload-info">(' . $GLOBALS['lang']['label_jusqua'] . $max_file_size . $GLOBALS['lang']['label_parfichier'] . ')</div>' . "\n";
        $form .= "\t" . '</div>' . "\n";
        $form .= "\t" . '<div id="file-input-wrapper"><input name="fichier" id="fichier" type="file" required="" /></div>' . "\n";
        $form .= "\t" . '<button type="button" class="specify-link white-square" id="click-change-form" onclick="return switchUploadForm();" data-lang-url="' . $GLOBALS['lang']['img_specifier_url'] . '" data-lang-file="' . $GLOBALS['lang']['img_upload_un_fichier'] . '">' . $GLOBALS['lang']['img_specifier_url'] . '</button>' . "\n";
        $form .= '</div>' . "\n";
        $form .= '<div id="count"></div>' . "\n";
        $form .= '<div id="result"></div>' . "\n";
        $form .= '</div>' . "\n";
        $form .= '<div id="img-others-infos">' . "\n";
        $form .= "\t" . '<p><label for="nom_entree">' . $GLOBALS['lang']['label_dp_nom'] . '</label><input type="text" id="nom_entree" name="nom_entree" placeholder="' . $GLOBALS['lang']['placeholder_nom_fichier'] . '" value="" size="60" class="text" /></p>' . "\n";
        $form .= "\t" . '<p><label for="description">' . $GLOBALS['lang']['label_dp_description'] . '</label><textarea class="text" id="description" name="description" cols="60" rows="5" placeholder="' . $GLOBALS['lang']['placeholder_description'] . '" ></textarea></p>' . "\n";
        $form .= "\t" . '<p><label for="dossier">' . $GLOBALS['lang']['label_dp_dossier'] . '</label><input type="text" id="dossier" name="dossier" placeholder="' . $GLOBALS['lang']['placeholder_folder'] . '" value="" size="60" class="text" /></p>' . "\n";
        $form .= "\t" . '<p><label for="statut">' . $GLOBALS['lang']['label_file_priv'] . '<input type="checkbox" id="statut" name="statut"/></label></p>';
        $form .= hidden_input('token', new_token(), 'id');
        $form .= hidden_input('_verif_envoi', '1');
        $form .= "\t" . '<p class="submit-bttns"><input class="submit blue-square" type="submit" name="upload" value="' . $GLOBALS['lang']['img_upload'] . '" /></p>' . "\n";
        $form .= '</div>' . "\n";
        $form .= '</fieldset>' . "\n";
    } elseif (!empty($fichiers) and isset($_GET['file_id']) and preg_match('/\\d{14}/', $_GET['file_id'])) {
        $myfile = $fichiers[0];
        if ($myfile['bt_type'] == 'image') {
            $dossier = $GLOBALS['racine'] . $GLOBALS['dossier_images'] . $myfile['bt_path'];
        } else {
            $dossier = $GLOBALS['racine'] . $GLOBALS['dossier_fichiers'];
        }
        $form .= '<div class="edit-fichier">' . "\n";
        // codes d’intégrations pour les médias
        // Video
        if ($myfile['bt_type'] == 'video') {
            $form .= '<div class="display-media"><video class="media" src="' . $dossier . '/' . $myfile['bt_filename'] . '" type="video/' . $myfile['bt_fileext'] . '" load controls="controls"></video></div>' . "\n";
        }
        // image
        if ($myfile['bt_type'] == 'image') {
            $form .= '<div class="display-media"><a href="' . $dossier . '/' . $myfile['bt_filename'] . '"><img class="media" src="' . $dossier . '/' . $myfile['bt_filename'] . '" alt="' . $myfile['bt_filename'] . '" width="' . $myfile['bt_dim_w'] . '" height="' . $myfile['bt_dim_h'] . '" /></a></div>' . "\n";
        }
        // audio
        if ($myfile['bt_type'] == 'music') {
            $form .= '<div class="display-media"><audio class="media" src="' . $dossier . '/' . $myfile['bt_filename'] . '" type="audio/' . $myfile['bt_fileext'] . '" load controls="controls"></audio></div>' . "\n";
        }
        // la partie listant les infos du fichier.
        $form .= '<ul id="fichier-meta-info">' . "\n";
        $form .= "\t" . '<li><b>' . $GLOBALS['lang']['label_dp_nom'] . '</b> ' . $myfile['bt_filename'] . '</li>' . "\n";
        $form .= "\t" . '<li><b>' . $GLOBALS['lang']['label_dp_type'] . '</b> ' . $myfile['bt_type'] . ' (.' . $myfile['bt_fileext'] . ')</li>' . "\n";
        if ($myfile['bt_type'] == 'image') {
            // si le fichier est une image, on ajout ses dimensions en pixels
            $form .= "\t" . '<li><b>' . $GLOBALS['lang']['label_dp_dimensions'] . '</b> ' . $myfile['bt_dim_w'] . 'px × ' . $myfile['bt_dim_h'] . 'px' . '</li>' . "\n";
        }
        $form .= "\t" . '<li><b>' . $GLOBALS['lang']['label_dp_date'] . '</b>' . date_formate($myfile['bt_id']) . ', ' . heure_formate($myfile['bt_id']) . '</li>' . "\n";
        $form .= "\t" . '<li><b>' . $GLOBALS['lang']['label_dp_poids'] . '</b>' . taille_formate($myfile['bt_filesize']) . '</li>' . "\n";
        $form .= "\t" . '<li><b>' . $GLOBALS['lang']['label_dp_checksum'] . '</b>' . $myfile['bt_checksum'] . '</li>' . "\n";
        $form .= "\t" . '<li><b>' . $GLOBALS['lang']['label_dp_visibilite'] . '</b>' . ($myfile['bt_statut'] == 1 ? 'Publique' : 'Privée') . '</li>' . "\n";
        $form .= '</ul>' . "\n";
        // la partie des codes d’intégration (bbcode, etc.)
        $form .= '<div id="interg-codes">' . "\n";
        $form .= '<p><strong>' . ucfirst('codes d’intégration :') . '</strong></p>' . "\n";
        $form .= '<input onfocus="this.select()" class="text" type="text" value=\'' . $dossier . '/' . $myfile['bt_filename'] . '\' />' . "\n";
        if ($myfile['bt_type'] == 'image') {
            // si le fichier est une image, on ajout BBCode pour [IMG] et le code en <img/>
            $form .= '<input onfocus="this.select()" class="text" type="text" value=\'<img src="' . $dossier . '/' . $myfile['bt_filename'] . '" alt="i" width="' . $myfile['bt_dim_w'] . '" height="' . $myfile['bt_dim_h'] . '" style="max-width: 100%; height: auto;" />\' />' . "\n";
            $form .= '<input onfocus="this.select()" class="text" type="text" value=\'<img src="/' . $GLOBALS['dossier_images'] . $myfile['bt_path'] . '/' . $myfile['bt_filename'] . '" alt="i" width="' . $myfile['bt_dim_w'] . '" height="' . $myfile['bt_dim_h'] . '" style="max-width: 100%; height: auto;" />\' />' . "\n";
            $form .= '<input onfocus="this.select()" class="text" type="text" value=\'<img src="' . $GLOBALS['dossier_images'] . $myfile['bt_path'] . '/' . $myfile['bt_filename'] . '" alt="i" width="' . $myfile['bt_dim_w'] . '" height="' . $myfile['bt_dim_h'] . '" style="max-width: 100%; height: auto;" />\' />' . "\n";
            $form .= '<input onfocus="this.select()" class="text" type="text" value=\'[img]' . $dossier . '/' . $myfile['bt_filename'] . '[/img]\' />' . "\n";
            $form .= '<input onfocus="this.select()" class="text" type="text" value=\'[spoiler][img]' . $dossier . '/' . $myfile['bt_filename'] . '[/img][/spoiler]\' />' . "\n";
        } else {
            $form .= '<input onfocus="this.select()" class="text" type="text" value=\'<a href="' . $dossier . '/' . $myfile['bt_filename'] . '" />' . $myfile['bt_filename'] . '</a>\' />' . "\n";
            $form .= '<input onfocus="this.select()" class="text" type="text" value=\'[url]' . $dossier . '/' . $myfile['bt_filename'] . '[/url]\' />' . "\n";
        }
        $form .= '</div>' . "\n";
        // la partie avec l’édition du contenu.
        $form .= '<div id="img-others-infos">' . "\n";
        $form .= "\t" . '<p><label for="nom_entree">' . ucfirst($GLOBALS['lang']['label_dp_nom']) . '</label><input type="text" id="nom_entree" name="nom_entree" placeholder="" value="' . pathinfo($myfile['bt_filename'], PATHINFO_FILENAME) . '" size="60" class="text" /></p>' . "\n";
        $form .= "\t" . '<p><label for="description">' . $GLOBALS['lang']['label_dp_description'] . '</label><textarea class="text" name="description" id="description" cols="60" rows="5" placeholder="' . $GLOBALS['lang']['placeholder_description'] . '" >' . $myfile['bt_wiki_content'] . '</textarea></p>' . "\n";
        $form .= "\t" . '<p><label for="dossier">' . $GLOBALS['lang']['label_dp_dossier'] . '</label><input type="text" name="dossier" placeholder="' . $GLOBALS['lang']['placeholder_folder'] . '" value="' . (!empty($myfile['bt_dossier']) ? $myfile['bt_dossier'] : '') . '" size="60" class="text" /></p>' . "\n";
        $checked = $myfile['bt_statut'] == 0 ? 'checked ' : '';
        $form .= "\t" . '<p><label for="statut">' . $GLOBALS['lang']['label_file_priv'] . '<input type="checkbox" id="statut" name="statut" ' . $checked . '/></label></p>';
        $form .= "\t" . '<p class="submit-bttns">' . "\n";
        $form .= "\t\t" . '<input class="submit red-square" type="button" name="supprimer" value="' . $GLOBALS['lang']['supprimer'] . '" onclick="rmFichier(this)" />' . "\n";
        $form .= "\t\t" . '<button class="submit white-square" type="button" onclick="annuler(\'fichiers.php\');">' . $GLOBALS['lang']['annuler'] . '</button>' . "\n";
        $form .= "\t\t" . '<input class="submit blue-square" type="submit" name="editer" value="' . $GLOBALS['lang']['envoyer'] . '" />' . "\n";
        $form .= "\t" . '</p>' . "\n";
        $form .= '</div>' . "\n";
        $form .= hidden_input('_verif_envoi', '1');
        $form .= hidden_input('is_it_edit', 'yes');
        $form .= hidden_input('file_id', $myfile['bt_id']);
        $form .= hidden_input('filename', $myfile['bt_filename']);
        $form .= hidden_input('sha1_file', $myfile['bt_checksum']);
        $form .= hidden_input('path', $myfile['bt_path']);
        $form .= hidden_input('filesize', $myfile['bt_filesize']);
        $form .= hidden_input('token', new_token());
        $form .= '</div>';
    }
    $form .= '</form>' . "\n";
    echo $form;
}
Esempio n. 2
0
$liste_fileid = array();
$GLOBALS['liste_fichiers'] = open_serialzd_file($GLOBALS['fichier_liste_fichiers']);
foreach ($GLOBALS['liste_fichiers'] as $key => $file) {
    $liste_fileid[] = $file['bt_id'];
}
if (isset($_FILES['fichier'])) {
    $time = time();
    $fichier = init_post_fichier();
    // avoid ID collisions
    while (in_array($fichier['bt_id'], $liste_fileid)) {
        $time--;
        $fichier['bt_id'] = date('YmdHis', $time);
    }
    $erreurs = valider_form_fichier($fichier);
    if (empty($erreurs)) {
        $new_fichier = bdd_fichier($fichier, 'ajout-nouveau', 'upload', $_FILES['fichier']);
        $fichier = is_null($new_fichier) ? $fichier : $new_fichier;
        echo '
		<div class="success">
			<p>
				Your file: <a class="lien lien-edit" href="fichiers.php?file_id=' . $fichier['bt_id'] . '&amp;edit">' . $fichier['bt_filename'] . '</a> (' . $fichier['bt_type'] . ', ' . taille_formate($fichier['bt_filesize']) . ') has been successfully received.
				<button class="nodisplay" id="token" value="' . new_token() . '"></button>
			</p>
		</div>';
    } else {
        echo '<div class="failure">' . erreurs($erreurs) . '</div>' . "\n";
    }
    exit;
} else {
    echo '<div class="failure">No file</div>' . "\n";
}