Skip to content
Extraits de code Groupes Projets

Comparer les révisions

Les modifications sont affichées comme si la révision source était fusionnée avec la révision cible. En savoir plus sur la comparaison des révisions.

Source

Sélectionner le projet cible
No results found

Cible

Sélectionner le projet cible
  • spip/medias
  • pierre.laszczak/medias
  • cy.altern/medias
  • MathieuAlphamosa/medias
  • taffit/medias
  • RealET/medias
  • johan/medias
  • Yohooo/medias
  • pierretux/medias
  • placido/medias
  • JLuc/medias
11 résultats
Afficher les modifications
Affichage de
avec 772 ajouts et 1052 suppressions
<?php
/**
* Tache de nettoyages du répertoire tmp/upload
*
* @plugin Medias
* @licence GNU/GPL
* @package SPIP\Medias\Genie
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Enlève les fichiers trop vieux du répertoire tmp/upload
*
* @param int $last
* @return int
**/
function genie_medias_nettoyer_repertoire_upload_dist($last) {
include_spip('inc/invalideur');
purger_repertoire(_DIR_TMP . 'upload', [
'mtime' => time() - 180 * 24 * 3600,
'subdir' => true,
]);
return 1;
}
<?php
/**
* SPIP, Système de publication pour l'internet
*
* Copyright © avec tendresse depuis 2001
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
*
* Ce programme est un logiciel libre distribué sous licence GNU/GPL.
*/
/**
* Gestion des modes de documents
*
* @package SPIP\Medias\Mime_type
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
function inc_calculer_mime_type_application_mp4_dist(int $id_document, string $extension, string $mime_type) {
$media = sql_getfetsel('media', 'spip_documents', 'id_document=' . intval($id_document));
if (in_array($media, ['audio', 'video'])) {
$mime_type = str_replace('application/', $media . '/', $mime_type);
return $mime_type;
}
return null;
}
<?php
/**
* SPIP, Système de publication pour l'internet
*
* Copyright © avec tendresse depuis 2001
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
*
* Ce programme est un logiciel libre distribué sous licence GNU/GPL.
*/
/**
* Recherche de logo
*
* @package SPIP\Core\Logos
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
/**
* Cherche le logo d'un élément d'objet
*
* @param int $id
* Identifiant de l'objet
* @param string $_id_objet
* Nom de la clé primaire de l'objet
* @param string $mode
* Mode de survol du logo désiré (on ou off)
* @param bool $compat_old_logos (unused) @deprecated 5.0
* @return array
* - Liste (chemin complet du fichier, répertoire de logos, nom du logo, extension du logo, date de modification[, doc])
* - array vide aucun logo trouvé.
*/
function inc_chercher_logo_dist(
int $id,
string $_id_objet,
string $mode = 'on',
bool $compat_old_logos = false
): array {
$mode = preg_replace(',\W,', '', $mode);
if ($mode) {
// chercher dans la base
$mode_document = 'logo' . $mode;
$objet = objet_type($_id_objet);
$doc = sql_fetsel(
'D.*',
'spip_documents AS D JOIN spip_documents_liens AS L ON L.id_document=D.id_document',
'D.mode=' . sql_quote($mode_document) . ' AND L.objet=' . sql_quote($objet) . ' AND id_objet=' . $id
);
if ($doc) {
include_spip('inc/documents');
$d = get_spip_doc($doc['fichier']);
return [$d, _DIR_IMG, basename($d), $doc['extension'], @filemtime($d), $doc];
}
}
# coherence de type pour servir comme filtre (formulaire_login)
return [];
}
<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
* Copyright © avec tendresse depuis 2001 *
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
* Pour plus de détails voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* SPIP, Système de publication pour l'internet
*
* Copyright © avec tendresse depuis 2001
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
*
* Ce programme est un logiciel libre distribué sous licence GNU/GPL.
*/
/**
* Gestion des modes de documents
......@@ -34,16 +33,15 @@ if (!defined('_ECRIRE_INC_VERSION')) {
function inc_choisir_mode_document($infos, $type_inclus_image, $objet) {
// si ce n'est pas une image, c'est forcement un document
if (!$infos['type_image'] or !$type_inclus_image) {
if (!$infos['type_image'] || !$type_inclus_image) {
return 'document';
}
// si on a pas le droit d'ajouter de document a l'objet, c'est donc un mode image
if ($objet and isset($GLOBALS['meta']["documents_$objet"]) and ($GLOBALS['meta']["documents_$objet"] == 'non')) {
if ($objet && isset($GLOBALS['meta']["documents_$objet"]) && $GLOBALS['meta']["documents_$objet"] == 'non') {
return 'image';
}
// _INTERFACE_DOCUMENTS
// en fonction de la taille de l'image
// par defaut l'affectation en fonction de la largeur de l'image
......@@ -57,11 +55,11 @@ function inc_choisir_mode_document($infos, $type_inclus_image, $objet) {
return 'image';
}
if ($infos['largeur'] > 0
and $infos['largeur'] < _LARGEUR_MODE_IMAGE
if (
$infos['largeur'] > 0 && $infos['largeur'] < _LARGEUR_MODE_IMAGE
) {
return 'image';
} else {
return 'document';
}
return 'document';
}
<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
* Copyright © avec tendresse depuis 2001 *
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
* Pour plus de détails voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* SPIP, Système de publication pour l'internet
*
* Copyright © avec tendresse depuis 2001
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
*
* Ce programme est un logiciel libre distribué sous licence GNU/GPL.
*/
/**
* Gestion des modes de documents
......@@ -42,34 +41,32 @@ function inc_determiner_statut_document($id_document, $statut_ancien, $date_publ
while ($row = sql_fetch($res)) {
if (
// si ce n'est pas un logo
!in_array($row['mode'], array('logoon','logooff'))
and (
// cas particulier des rubriques qui sont publiees des qu'elles contiennent un document !
$row['objet'] == 'rubrique'
// ou si objet publie selon sa declaration
or objet_test_si_publie($row['objet'], $row['id_objet'])
)
!in_array($row['mode'], ['logoon', 'logooff']) && ($row['objet'] == 'rubrique' || objet_test_si_publie(
$row['objet'],
$row['id_objet']
))
) {
$statut = 'publie';
$date_publication = 0;
continue;
} // si pas publie, et article, il faut checker la date de post-publi eventuelle
elseif ($row['objet'] == 'article'
and $row2 = sql_fetsel(
elseif (
$row['objet'] == 'article'
&& ($row2 = sql_fetsel(
'date',
'spip_articles',
'id_article=' . intval($row['id_objet']) . " AND statut='publie'"
)
))
) {
$statut = 'publie';
$date_publication = min($date_publication, strtotime($row2['date']));
$date_publication = min($date_publication, strtotime((string) $row2['date']));
}
}
$date_publication = date('Y-m-d H:i:s', $date_publication);
if ($statut == 'publie' and $statut_ancien == 'publie' and $date_publication == $date_publication_ancienne) {
if ($statut == 'publie' && $statut_ancien == 'publie' && $date_publication == $date_publication_ancienne) {
return false;
}
if ($statut != 'publie' and $statut_ancien != 'publie' and $statut_ancien != '0') {
if ($statut != 'publie' && $statut_ancien != 'publie' && $statut_ancien != '0') {
return false;
}
......
<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
* Copyright © avec tendresse depuis 2001 *
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
* Pour plus de détails voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* SPIP, Système de publication pour l'internet
*
* Copyright © avec tendresse depuis 2001
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
*
* Ce programme est un logiciel libre distribué sous licence GNU/GPL.
*/
/**
* Calcul du portfolio / liste de documents de l'espace privé
*
* @package SPIP\Medias\Fonctions
**/
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
}
......@@ -31,7 +29,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* @param int $id Identifiant de l'objet
* @param string $type Type d'objet
* @return string code HTML
**/
*/
function inc_documenter_objet_dist($id, $type) {
$serveur = '';
......@@ -39,12 +37,16 @@ function inc_documenter_objet_dist($id, $type) {
$spip_table_objet = table_objet_sql($type);
$table_objet = table_objet($type);
$id_table_objet = id_table_objet($type, $serveur);
$champs = sql_fetsel('*', $spip_table_objet, addslashes($id_table_objet) . '=' . intval($id));
$champs = sql_fetsel('*', $spip_table_objet, addslashes((string) $id_table_objet) . '=' . intval($id));
$marquer_doublons_doc = charger_fonction('marquer_doublons_doc', 'inc');
$marquer_doublons_doc($champs, $id, $type, $id_table_objet, $table_objet, $spip_table_objet, '', $serveur);
$contexte = array('objet' => $type, 'id_objet' => $id);
$contexte = [
'objet' => $type,
'id_objet' => $id,
'espace_prive' => test_espace_prive(),
];
return recuperer_fond('prive/objets/contenu/portfolio_document', array_merge($_GET, $contexte));
}
<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
* Copyright © avec tendresse depuis 2001 *
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
* Pour plus de détails voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* SPIP, Système de publication pour l'internet
*
* Copyright © avec tendresse depuis 2001
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
*
* Ce programme est un logiciel libre distribué sous licence GNU/GPL.
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
......@@ -25,10 +24,137 @@ if (!defined('CHARSET_JOINT')) {
define('CHARSET_JOINT', 'iso-8859-1');
}
/**
* Donne le chemin du fichier relatif à `_DIR_IMG`
* pour stockage 'tel quel' dans la base de données
*
* @uses _DIR_IMG
*/
function set_spip_doc(?string $fichier): string {
if ($fichier && str_starts_with($fichier, (string) _DIR_IMG)) {
return substr($fichier, strlen((string) _DIR_IMG));
}
// ex: fichier distant
return $fichier ?? '';
}
/**
* Donne le chemin complet du fichier
*
* @uses _DIR_IMG
*
* @return bool|string
*/
function get_spip_doc(?string $fichier) {
$fichier_demande = $fichier;
if ($fichier === null) {
return false;
}
// fichier distant
if (tester_url_absolue($fichier)) {
return $fichier;
}
// gestion d'erreurs, fichier=''
if (!strlen($fichier)) {
return false;
}
if (!str_starts_with($fichier, (string) _DIR_IMG)) {
$fichier = _DIR_IMG . $fichier;
}
$fichier = pipeline('get_spip_doc', [
'args' => [
'fichier' => $fichier_demande,
],
'data' => $fichier,
]);
// fichier normal
return $fichier;
}
/**
* Copier un document `$source`
* dans un dossier `IMG/$ext/$orig.$ext` ou `IMG/$subdir/$orig.$ext` si `$subdir` est fourni
* en numérotant éventuellement si un fichier de même nom existe déjà
*
* @param string $ext
* @param string $orig
* @param string $source
* @param string $subdir
* @return bool|mixed|string
*/
function copier_document($ext, $orig, $source, $subdir = null) {
$orig = preg_replace(',\.\.+,', '.', $orig); // pas de .. dans le nom du doc
$dir = creer_repertoire_documents($subdir ?: $ext);
$dest = preg_replace('/<[^>]*>/', '', basename($orig));
$dest = preg_replace('/\.([^.]+)$/', '', $dest);
$dest = translitteration($dest);
$dest = preg_replace('/[^.=\w-]+/', '_', (string) $dest);
// ne pas accepter de noms de la forme -r90.jpg qui sont reserves
// pour les images transformees par rotation (action/documenter)
$dest = preg_replace(',-r(90|180|270)$,', '', $dest);
while (preg_match(',\.(\w+)$,', $dest, $m)) {
if (
!function_exists('verifier_upload_autorise')
|| !($r = verifier_upload_autorise($dest))
|| !empty($r['autozip'])
) {
$dest = substr($dest, 0, -strlen($m[0])) . '_' . $m[1];
break;
}
$dest = substr($dest, 0, -strlen($m[0]));
$ext = $m[1] . '.' . $ext;
}
// Si le document "source" est deja au bon endroit, ne rien faire
if ($source == ($dir . $dest . '.' . $ext)) {
return $source;
}
// sinon tourner jusqu'a trouver un numero correct
$n = 0;
while (@file_exists($newFile = $dir . $dest . ($n++ ? ('-' . $n) : '') . '.' . $ext)) {
}
return deplacer_fichier_upload($source, $newFile);
}
/**
* Efface le répertoire de manière récursive !
*
* @param string $nom
*/
function effacer_repertoire_temporaire($nom) {
if ($d = opendir($nom)) {
while (($f = readdir($d)) !== false) {
if (is_file("$nom/$f")) {
spip_unlink("$nom/$f");
} else {
if ($f != '.' && $f != '..' && is_dir("$nom/$f")) {
effacer_repertoire_temporaire("$nom/$f");
}
}
}
}
closedir($d);
@rmdir($nom);
}
// Filtre pour #FICHIER permettant d'incruster le contenu d'un document
// Si 2e arg fourni, conversion dans le charset du site si possible
// https://code.spip.net/@contenu_document
function contenu_document($arg, $charset = '') {
include_spip('inc/distant');
if (is_numeric($arg)) {
......@@ -53,7 +179,7 @@ function contenu_document($arg, $charset = '') {
include_spip('inc/charsets');
if ($charset !== 'auto') {
$r = importer_charset($r, $charset);
} elseif ($GLOBALS['meta']['charset'] == 'utf-8' and !is_utf8($r)) {
} elseif ($GLOBALS['meta']['charset'] == 'utf-8' && !is_utf8($r)) {
$r = importer_charset($r, CHARSET_JOINT);
}
}
......@@ -61,11 +187,11 @@ function contenu_document($arg, $charset = '') {
return $r;
}
// https://code.spip.net/@generer_url_document_dist
function generer_url_document_dist($id_document, $args = '', $ancre = '') {
include_spip('inc/autoriser');
if (!autoriser('voir', 'document', $id_document)) {
// si on a pas le droit de voir le document, meme via le htaccess
if (!autoriser('voir', 'document', $id_document, null, ['htaccess' => true])) {
return '';
}
......@@ -81,10 +207,9 @@ function generer_url_document_dist($id_document, $args = '', $ancre = '') {
return $f;
}
// Si droit de voir tous les docs, pas seulement celui-ci
// Si droit de voir tous les docs, sans htaccess, pas seulement celui-ci
// il est inutilement couteux de rajouter une protection
$r = (autoriser('voir', 'document'));
if (($r and $r !== 'htaccess')) {
if (autoriser('voir', 'document')) {
return get_spip_doc($f);
}
......@@ -97,7 +222,7 @@ function generer_url_document_dist($id_document, $args = '', $ancre = '') {
. 'arg=' . $id_document
. ($ancre ? "&ancre=$ancre" : '')
. '&cle=' . calculer_cle_action($id_document . ',' . $f)
. '&file=' . rawurlencode($f),
. '&file=' . rawurlencode((string) $f),
true,
true
);
......@@ -116,38 +241,32 @@ function vignette_automatique($img, $doc, $lien, $x = 0, $y = 0, $align = '', $c
include_spip('inc/distant');
include_spip('inc/texte');
include_spip('inc/filtres_images_mini');
if (is_null($class)) {
if ($class === null) {
$class = 'spip_logo spip_logos';
}
$e = $doc['extension'];
$e = $doc['extension'] ?? null;
if (!$img) {
if ($img = image_du_document($doc, $connect)) {
if (!$x and !$y) {
// eviter une double reduction
$img = image_reduire($img);
}
} else {
$f = charger_fonction('vignette', 'inc');
$img = $f($e, false);
$size = @spip_getimagesize($img);
$img = "<img src='$img' " . $size[3] . ' />';
$class .= " spip_document_icone";
}
} else {
$size = @spip_getimagesize($img);
$img = "<img src='$img' " . $size[3] . ' />';
$img = image_du_document($doc, $connect);
}
if (!$img) {
$f = charger_fonction('vignette', 'inc');
$img = $f($e, $doc['media'] ?? '');
$class .= ' spip_document_icone';
}
$size = @spip_getimagesize($img);
$img = "<img src='$img' " . ($size[3] ?? '') . ' />';
// on appelle image_reduire independamment de la presence ou non
// des librairies graphiques
// la fonction sait se debrouiller et faire de son mieux dans tous les cas
if ($x or $y) {
if ($x || $y) {
$img = image_reduire($img, $x, $y);
}
$img = inserer_attribut($img, 'alt', '');
$img = inserer_attribut($img, 'class', trim($class));
if ($align) {
$img = inserer_attribut($img, 'align', $align);
$class .= " spip_logo_$align";
}
$img = inserer_attribut($img, 'class', trim((string) $class));
if (!$lien) {
return $img;
......@@ -180,12 +299,13 @@ function vignette_automatique($img, $doc, $lien, $x = 0, $y = 0, $align = '', $c
* @return string Chemin de l’image
*/
function image_du_document($document, $connect = null) {
if ($e = $document['extension']
and in_array($e, formats_image_acceptables())
and (!test_espace_prive() or $GLOBALS['meta']['creer_preview'] == 'oui')
and $document['fichier']
if (
($e = $document['extension'] ?? null)
&& in_array($e, formats_image_acceptables())
&& (!test_espace_prive() || $GLOBALS['meta']['creer_preview'] == 'oui')
&& $document['fichier']
) {
include_spip('inc/quete');
include_spip('public/quete_document');
if ($document['distant'] == 'oui') {
$image = _DIR_RACINE . copie_locale($document['fichier']);
} elseif ($image = document_spip_externe($document['fichier'], $connect)) {
......@@ -218,27 +338,27 @@ function image_du_document($document, $connect = null) {
*
* @return string
* Texte du raccourcis
**/
*/
function affiche_raccourci_doc($doc, $id, $align = '', $short = false) {
$pipe = '';
if ($align) {
$pipe = "|$align";
}
}
$model = "&lt;$doc$id$pipe&gt;";
$text = $model;
if ($short) {
$text = $align ? $align : $model;
$text = $align ?: $model;
}
$classes = "btn btn_link btn_mini";
$classes = 'btn btn_link btn_mini';
$classes = " class=\"$classes\"";
$styles = '';
if ($align && !$short) {
// a priori ne sert plus de toutes façons…
$styles = "text-align: " . ($align ?: 'center') . ";";
// a priori ne sert plus de toutes façons…
$styles = 'text-align: ' . ($align ?: 'center') . ';';
$styles = " style=\"$styles\"";
}
......@@ -247,6 +367,6 @@ function affiche_raccourci_doc($doc, $id, $align = '', $short = false) {
$title = attribut_html(_T('medias:inserer_raccourci'));
$title = " title=\"$title\"";
return "\n<button{$classes}{$styles}{$js}{$title}>$text</button>\n";
}
<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
* Copyright © avec tendresse depuis 2001 *
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
* Pour plus de détails voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* SPIP, Système de publication pour l'internet
*
* Copyright © avec tendresse depuis 2001
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
*
* Ce programme est un logiciel libre distribué sous licence GNU/GPL.
*/
/**
* Gère un cas d'upload trop gros
......@@ -17,7 +16,7 @@
* Mais fonction utilisée encore dans medias_detecter_fond_par_defaut()
*
* @package SPIP\Medias\Upload
**/
*/
#
# Fichier obsolete, a supprimer
......@@ -32,7 +31,6 @@ include_once _DIR_RESTREINT . 'inc/documents.php';
include_spip('inc/minipres');
/**
* Traite l'erreur d'un upload trop gros
*
......@@ -40,8 +38,8 @@ include_spip('inc/minipres');
* et affiche un minipres avec la taille limite de documents possibles
*
* @see minipres()
**/
function erreur_upload_trop_gros() {
*/
function erreur_upload_trop_gros(): never {
include_spip('inc/filtres');
$msg = '<p>'
......@@ -49,7 +47,7 @@ function erreur_upload_trop_gros() {
. '<br />'
. _T(
'medias:upload_limit',
array('max' => ini_get('upload_max_filesize'))
['max' => ini_get('upload_max_filesize')]
)
. '</p>';
......
Ce diff est replié.
Ce diff est replié.
Ce diff est replié.
<?php
/***************************************************************************\
* SPIP, Système de publication pour l'internet *
* *
* Copyright © avec tendresse depuis 2001 *
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribué sous licence GNU/GPL. *
* Pour plus de détails voir le fichier COPYING.txt ou l'aide en ligne. *
\***************************************************************************/
/**
* SPIP, Système de publication pour l'internet
*
* Copyright © avec tendresse depuis 2001
* Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James
*
* Ce programme est un logiciel libre distribué sous licence GNU/GPL.
*/
if (!defined('_ECRIRE_INC_VERSION')) {
return;
......@@ -17,12 +17,12 @@ function inc_verifier_document_mode_image_dist($infos) {
// Si on veut uploader une image, il faut qu'elle ait ete bien lue
if ($infos['inclus'] != 'image') {
return _T('medias:erreur_format_fichier_image', array('nom' => $infos['fichier']));
return _T('medias:erreur_format_fichier_image', ['nom' => $infos['fichier']]);
}
if (isset($infos['largeur']) and isset($infos['hauteur'])) {
if (!($infos['largeur'] or $infos['hauteur'])) {
return _T('medias:erreur_upload_vignette', array('nom' => $infos['fichier']));
if (isset($infos['largeur']) && isset($infos['hauteur'])) {
if (!($infos['largeur'] || $infos['hauteur'])) {
return _T('medias:erreur_upload_vignette', ['nom' => $infos['fichier']]);
}
}
......
Ce diff est replié.
Ce diff est replié.
function editbox_init(){
jQuery('a.editbox:not(.nobox)')
.attr("onclick","").addClass('nobox').click(function(){
var casedoc = jQuery(this).parents('div.item').eq(0);
jQuery(casedoc).animateLoading();
jQuery.modalboxload(parametre_url(parametre_url(jQuery(this).attr('href'),'popin','oui'),'var_zajax','contenu'),{
onClose: function (dialog) {jQuery(casedoc).ajaxReload();}
});
return false;
});
}
var editbox_initialized;
if (!editbox_initialized){
if (window.jQuery){
editbox_initialized = true;
(function($){if(typeof onAjaxLoad == "function") onAjaxLoad(editbox_init);
$(editbox_init);
})(jQuery);
}
}
\ No newline at end of file
Ce diff est replié.
Ce diff est replié.
Ce diff est replié.